/* Shared ESSMOR identity: golden-ratio grid and golden spiral ending in a focal point.
   The grid takes the surrounding text colour; spiral and focus take --essmor-mark-accent. */
.essmor-infinity{display:block;flex:none;overflow:visible;color:inherit;pointer-events:none}
.essmor-infinity .brand-spiral{stroke:var(--essmor-mark-accent,#d8b878)}
.essmor-infinity .brand-focus{fill:var(--essmor-mark-accent,#d8b878)}
.top .brand-mark.essmor-infinity{width:44px;height:44px}
.footer .brand-mark.essmor-infinity{width:40px;height:40px}
.dialog-brand>.brand-mark.essmor-infinity{width:36px;height:36px}
.method-signature .brand-mark.essmor-infinity{width:40px;height:40px;color:#ece5d6}
.essmor-suite .essmor-brand .essmor-infinity{width:30px;height:30px;display:block}
.mark .essmor-infinity{width:34px;height:34px;color:#ece5d6}
.ia-brand .essmor-infinity{width:40px;height:40px}
.tb-brand .essmor-infinity{width:30px;height:30px}

/* Profile tile: the construction at display size. */
.profile-monogram.profile-brand{background:#0f2128;border:0;color:#ece5d6}
.profile-monogram.profile-brand::before{background:radial-gradient(ellipse at 50% 55%,#d8b87814,transparent 62%),linear-gradient(160deg,#14303a,#0b1a23)}
.profile-brand-mark{width:210px;height:210px}

/* One authored moment: the grid assembles cell by cell, the spiral is drawn inward and, when it reaches
   the centre, the focal point glows softly gold for one second and fades. Hovering the brand replays it. */
@media (prefers-reduced-motion:no-preference){
 .top .essmor-infinity .brand-cell,.reveal.in .profile-brand-mark .brand-cell{transform-box:fill-box;transform-origin:center;animation:essmor-cell-in .6s calc(var(--i) * 84ms) cubic-bezier(.23,1,.32,1) both}
 .top .essmor-infinity .brand-spiral,.reveal.in .profile-brand-mark .brand-spiral{stroke-dasharray:var(--len) var(--len);animation:essmor-spiral-draw 1.5s .36s cubic-bezier(.65,0,.35,1) both}
 .top .essmor-infinity .brand-focus,.reveal.in .profile-brand-mark .brand-focus{transform-box:fill-box;transform-origin:center;animation:essmor-focus-in .54s 1.86s cubic-bezier(.23,1,.32,1) both,essmor-focus-glow 1s 1.86s ease-in-out both}
 .profile-brand-mark .brand-cell,.profile-brand-mark .brand-focus{opacity:0}
 .profile-brand-mark .brand-spiral{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}
 .reveal.in .profile-brand-mark .brand-cell,.reveal.in .profile-brand-mark .brand-focus{opacity:1}
 .reveal.in .profile-brand-mark .brand-spiral{stroke-dashoffset:0}
}
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .top .brand:hover .essmor-infinity .brand-spiral,.top .brand:focus-visible .essmor-infinity .brand-spiral{stroke-dasharray:var(--len) var(--len);animation:essmor-spiral-redraw .96s cubic-bezier(.65,0,.35,1) both}
 .top .brand:hover .essmor-infinity .brand-focus,.top .brand:focus-visible .essmor-infinity .brand-focus{animation:essmor-focus-pulse .96s cubic-bezier(.23,1,.32,1) both,essmor-focus-glow 1s .96s ease-in-out both}
}
@keyframes essmor-cell-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes essmor-spiral-draw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
@keyframes essmor-spiral-redraw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
@keyframes essmor-focus-in{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@keyframes essmor-focus-glow{0%,100%{fill:var(--essmor-mark-accent,#d8b878);filter:drop-shadow(0 0 0 #f7dfa300)}40%{fill:#fbe9bf;filter:drop-shadow(0 0 2.5px #f7dfa3) drop-shadow(0 0 6px #f7dfa399)}}
@keyframes essmor-focus-pulse{0%,60%{transform:scale(.4)}100%{transform:none}}
html[data-motion="paused"] .essmor-infinity,html[data-motion="paused"] .essmor-infinity *,html.motion-paused .essmor-infinity *,body.essmor-suspended .essmor-infinity *{animation:none!important;stroke-dashoffset:0!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.essmor-infinity *{animation:none!important;transition:none!important}}
@media(max-width:760px){.top .brand-mark.essmor-infinity{width:36px;height:36px}.dialog-brand>.brand-mark.essmor-infinity{width:30px;height:30px}.mark .essmor-infinity{width:28px;height:28px}.essmor-suite .essmor-brand .essmor-infinity{width:26px;height:26px}.profile-brand-mark{width:150px;height:150px}}
@media(max-width:390px){.essmor-suite .essmor-brand .essmor-infinity{width:24px;height:24px}.essmor-suite .essmor-brand{gap:0}.essmor-suite .essmor-brand>span{display:none}.essmor-suite nav a{padding-inline:6px}.mark .essmor-infinity{width:24px;height:24px}}
@media(max-height:480px) and (orientation:landscape){.mark .essmor-infinity{width:20px;height:20px}}
@media print{.essmor-infinity *{animation:none!important}}
