/* Opening composition: original portrait, editorial type and lime orbital lines. */
.home-page .header{max-width:none;height:88px;padding-inline:4.8vw;background:#050602;border-color:#b0c48320}
.hero-strategy{--hero-bg:#050602;--hero-lime:#b3d522;position:relative;isolation:isolate;overflow:clip;display:grid;grid-template-columns:56% 44%;gap:0;align-items:center;width:100%;max-width:none;min-height:max(720px,calc(100svh - 88px));margin:0;padding:42px 4.8vw 0;background:var(--hero-bg)}
.hero-atmosphere{position:absolute;z-index:-1;inset:0;pointer-events:none;background:none}
.hero-strategy .strategy-copy{position:relative;z-index:3;grid-column:1;align-self:center;min-width:0;padding:0 0 32px}
.hero-kicker{display:flex;align-items:center;gap:14px;color:#c6c9b9;font-size:10px;line-height:1.5;letter-spacing:1.8px}
.hero-kicker .dot{width:7px;height:7px;flex:none;margin:0;background:var(--hero-lime);box-shadow:0 0 0 6px #b3d5220b}
.hero-strategy h1{width:100%;max-width:none;padding:0;margin:32px 0 0;font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(116px,13vw,248px);font-weight:700;line-height:1;letter-spacing:-.055em}
.hero-strategy h1>.hero-title-line{display:block;width:max-content;max-width:100%;color:#f4f5ee;white-space:nowrap}
.hero-strategy h1>.hero-title-lime{color:var(--lime)}
.hero-role{max-width:600px;margin:24px 0 0;font-size:clamp(13px,1.2vw,20px);line-height:1.6;font-weight:600;color:#f1f3e9}
.hero-role strong{font-weight:700}
.hero-intro{max-width:600px;margin:8px 0 0;font-size:clamp(12px,.98vw,16px);line-height:1.85;font-weight:600;color:#b7bbad}
.hero-intro strong{color:#f1f3e9;font-weight:600}
.hero-project-link{display:inline-flex;align-items:center;gap:18px;margin-top:27px;min-height:48px;font-size:12px;line-height:1.3;color:#f0f2e8}
.hero-project-arrow{display:grid;place-items:center;width:48px;height:48px;background:var(--hero-lime);color:#101604;font-size:27px;transition:background .2s,transform .3s}
.hero-project-link:hover .hero-project-arrow{background:#c9eb43;transform:translate(3px,3px)}
.hero-strategy .strategy-portrait{position:absolute;z-index:1;inset:0 0 0 auto;width:47%;height:100%;padding:0;align-self:stretch;overflow:visible}
.hero-strategy .avatar-scene{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto;perspective:1400px}
.hero-strategy .avatar-stage{inset:0}
.hero-strategy .avatar-frame{z-index:1;inset:9% 4% 0;border:0;border-radius:0;background:transparent;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 96%,transparent)}
.hero-strategy .avatar-image{top:0;left:-7%;width:114%;height:120%;max-width:none;object-fit:cover;object-position:50% 10%;transform-origin:50% 32%}
.avatar-filter-defs{position:absolute;pointer-events:none}
/* The ring belongs to the original photograph. Float that composition gently,
   with a separate color-keyed glow, without changing its crop or parallax. */
.avatar-photo-float{position:absolute;inset:0;--float-x:5px;--float-y:6px;animation:avatar-photo-drift 12s ease-in-out infinite;animation-play-state:paused}
.hero-strategy .avatar-ring-glow{filter:url("#avatar-lime-glow");opacity:.3;animation:avatar-ring-breathe 3.4s ease-in-out infinite;animation-play-state:paused}
.avatar-ambient-running .avatar-photo-float,.avatar-ambient-running .avatar-ring-glow{animation-play-state:running}
.avatar-ambient-running .avatar-photo-float{will-change:transform}
.avatar-ambient-running .avatar-ring-glow{will-change:opacity}
.avatar-static .avatar-photo-float{animation:none;transform:none}
.avatar-static .avatar-ring-glow{animation:none;opacity:.3}
@keyframes avatar-photo-drift{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(var(--float-x),calc(-1 * var(--float-y)),0)}55%{transform:translate3d(calc(-1 * var(--float-x)),calc(-.5 * var(--float-y)),0)}80%{transform:translate3d(calc(-.4 * var(--float-x)),calc(.6 * var(--float-y)),0)}}
@keyframes avatar-ring-breathe{0%,100%{opacity:.16}40%{opacity:1}60%{opacity:.38}78%{opacity:.85}}
.hero-strategy .avatar-shade{background:linear-gradient(0deg,var(--hero-bg),#05060200 30%,#05060200 83%,var(--hero-bg)),linear-gradient(90deg,#05060266,transparent 25%,transparent 92%,#05060288)}
.hero-strategy .avatar-shine{opacity:.2}
.hero-strategy .avatar-halo{inset:-8% -15%;background:none}
.hero-portrait-grid{position:absolute;inset:0 10% 25% -12%;opacity:.2;background:linear-gradient(#c6df5b1a 1px,transparent 1px),linear-gradient(90deg,#c6df5b1a 1px,transparent 1px);background-size:50px 50px;mask-image:linear-gradient(#000,transparent 65%);transform:translate3d(var(--back-x),var(--back-y),-80px);pointer-events:none}
.hero-strategy .avatar-orbit{z-index:0;inset:-6% 7% 3% -8%;border-radius:50%;border-width:1.5px;border-color:#b3d52260;transform:translate3d(var(--back-x),var(--back-y),-45px) rotate(var(--orbit-angle));pointer-events:none}
.hero-strategy .avatar-orbit::after{inset:-18px;border:1.5px dashed #b3d52230}
.hero-strategy .avatar-orbit i{top:50%;right:auto;left:2%;width:6px;height:6px;background:var(--hero-lime)}
.hero-orbit-cross{position:absolute;z-index:0;inset:-16% 30% -10% 21%;border:1.5px solid #b3d52275;border-radius:50%;transform:translate3d(var(--back-x),var(--back-y),-60px) rotate(calc(var(--orbit-angle) + 42deg));pointer-events:none}
.hero-orbit-cross::after{content:'';position:absolute;inset:23% -60% 25%;border:1.5px solid #b3d52260;border-radius:50%;transform:rotate(-72deg)}
.hero-frame-corners{position:absolute;z-index:3;inset:12% 3% 20% 12%;pointer-events:none;transform:translate3d(var(--front-x),var(--front-y),15px)}
.hero-frame-corners::before,.hero-frame-corners::after{content:'';position:absolute;width:27px;height:27px;border-color:#b3d52285;border-style:solid}
.hero-frame-corners::before{top:0;right:0;border-width:1px 1px 0 0}
.hero-frame-corners::after{bottom:0;left:0;border-width:0 0 1px 1px}
.hero-frame-corners>span{position:absolute;top:7%;left:2%;color:#b3d522aa;font-size:20px;font-weight:600}
.hero-strategy .hero-nameplate{z-index:4;left:auto;right:6%;bottom:17%;display:flex;align-items:center;gap:24px;width:auto;padding:18px 20px;border:1px solid #b3d52238;border-left:2px solid var(--hero-lime);background:#111706ed;color:#e7eadc;box-shadow:none;transform:translate3d(var(--front-x),var(--front-y),48px);pointer-events:none}
.hero-strategy .hero-identity{font-size:10px;line-height:1.5;letter-spacing:1.3px}
.hero-identity-name{display:flex;align-items:center;gap:10px}
.hero-identity-name i{height:4px;width:4px;border-radius:50%;background:var(--hero-lime)}
.hero-strategy .hero-nameplate small{display:block;margin:7px 0 0 14px;font-size:9px;line-height:1.8;letter-spacing:0;color:#a6b18f}
.hero-identity-star{width:22px;height:22px;color:var(--hero-lime);flex:none}
.hero-strategy .hero-motion-control{position:absolute;right:5.5%;bottom:81px;z-index:6;min-height:0}
.hero-strategy .avatar-motion-toggle{gap:6px;margin:0;padding:6px;color:#a6b18f;font-size:8px;min-height:36px}
.hero-strategy .motion-icon{width:22px;height:22px;border-color:#9cb65c55}
.hero-footer{position:relative;z-index:5;grid-column:1/-1;align-self:end;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:70px;border-top:1px solid #b2c08833;color:#b8bfaa;font-size:8px;letter-spacing:1.4px;pointer-events:none}
.hero-footer a{pointer-events:auto;min-height:44px;display:inline-flex;align-items:center}
.hero-scroll-cue{justify-self:center;gap:20px;font-size:8px;letter-spacing:1.1px}
.hero-scroll-cue>span:last-child{color:var(--hero-lime);font-size:24px;transition:transform .3s}
.hero-scroll-cue:hover>span:last-child{transform:translateY(4px)}
.hero-cv-link{justify-self:end;gap:9px;font-size:10px;letter-spacing:0}
.hero-footer a:hover{color:var(--hero-lime)}
@media(min-width:1800px){.hero-strategy{padding-top:55px}.hero-strategy .strategy-copy{padding-bottom:40px}.hero-project-link{margin-top:28px}}
@media(min-width:801px) and (max-width:1100px){.hero-strategy{min-height:650px;padding-top:38px}.hero-strategy h1{font-size:13vw}.hero-kicker{font-size:8px;letter-spacing:1.2px;gap:10px}.hero-intro{font-size:12px;max-width:330px}.hero-copy-break{display:none}.hero-strategy .hero-nameplate{right:5%;gap:15px;padding:14px 13px}.hero-strategy .hero-nameplate small{font-size:8px}.hero-strategy .hero-identity{font-size:9px}.hero-identity-star{width:18px}.hero-location{font-size:7px;letter-spacing:1px}}
@media(max-width:800px){
 .home-page .header{height:78px;padding-inline:24px}
 .hero-strategy{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:35px 24px 0;gap:0}
 .hero-strategy .strategy-copy{width:100%;padding:0;align-self:auto}
 .hero-kicker{font-size:9px;letter-spacing:1.5px;gap:12px}
 .hero-strategy h1{font-size:clamp(88px,28vw,212px);margin-top:26px}
 .hero-role{font-size:14px;margin-top:20px;max-width:440px}
 .hero-intro{font-size:13px;line-height:1.8;margin-top:8px;max-width:440px}
 .hero-copy-break{display:none}
 .hero-project-link{margin-top:23px;font-size:12px;gap:16px}
 .hero-project-arrow{width:44px;height:44px;font-size:25px}
 .hero-strategy .strategy-portrait{position:relative;inset:auto;align-self:center;width:min(100% + 48px,620px);height:auto;aspect-ratio:1 / 1.12;margin-top:10px}
 .hero-strategy .avatar-scene{position:absolute;inset:0;width:100%;height:100%;margin:0}
 .hero-strategy .avatar-frame{inset:5% 3% 0}
 .hero-strategy .avatar-image{left:0;width:100%;height:118%;object-position:50% 0}
 .avatar-photo-float{--float-x:3px;--float-y:4px}
 .hero-strategy .avatar-shade{background:linear-gradient(0deg,var(--hero-bg),#05060200 25%,#05060200 84%,var(--hero-bg))}
 .hero-strategy .avatar-orbit{inset:0 6% 0 0}
 .hero-orbit-cross{inset:-5% 29% -2% 22%}
 .hero-frame-corners{inset:12% 9% 17% 8%}
 .hero-strategy .hero-nameplate{right:8%;bottom:17%;padding:14px 16px;gap:18px}
 .hero-strategy .hero-nameplate small{font-size:9px;margin-top:6px}
 .hero-strategy .hero-identity{font-size:9px}
 .hero-identity-star{width:20px;height:20px}
 .hero-strategy .hero-motion-control{right:8%;bottom:18px}
 .hero-strategy .avatar-motion-toggle{font-size:8px;min-height:44px}
 .hero-footer{grid-template-columns:1fr auto;min-height:84px;gap:0 12px;flex:none}
 .hero-location{grid-row:1;grid-column:1;font-size:7px;letter-spacing:1px;align-self:end}
 .hero-scroll-cue{grid-row:2;grid-column:1;justify-self:start;gap:12px;font-size:7px}
 .hero-scroll-cue>span:last-child{font-size:20px}
 .hero-cv-link{grid-column:2;grid-row:1/3;font-size:10px}
}
@media(max-width:374px){.home-page .header{padding-inline:20px}.hero-strategy{padding-inline:20px}.hero-strategy h1{font-size:28vw}.hero-kicker{font-size:8px;letter-spacing:1px}.hero-role{font-size:13px}.hero-intro{font-size:12px}.hero-strategy .strategy-portrait{width:calc(100% + 40px)}.hero-strategy .hero-nameplate{padding:12px;gap:14px}}
@media(prefers-reduced-motion:reduce){.hero-strategy .hero-nameplate,.hero-strategy .hero-portrait-grid,.hero-strategy .hero-frame-corners{transform:none!important}.hero-orbit-cross{transform:rotate(30deg)!important}.hero-project-link:hover .hero-project-arrow{transform:none}.avatar-photo-float{animation:none!important;transform:none!important}.hero-strategy .avatar-ring-glow{animation:none!important;opacity:.3}}
