:root{--paper:#f3f4f6;--surface:#fff;--ink:#17191d;--muted:#616873;--line:#d4d8df;--blue:#244ec9;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{position:fixed;top:1rem;left:1rem;z-index:30;background:var(--ink);color:#fff;padding:.75rem 1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-nav{height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(243,244,246,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.wordmark{font-size:.78rem;font-weight:750}.site-nav nav{display:flex;gap:1.75rem;font-size:.86rem}.nav-actions{justify-self:end;display:flex;align-items:center;gap:1.1rem}.nav-contact{font-size:.86rem;font-weight:700}.site-nav a:hover{color:var(--blue)}
.language-switcher{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem;border:1px solid rgba(36,78,201,.16);border-radius:999px;background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 .3rem .9rem rgba(36,78,201,.06);font-size:.68rem;font-weight:800;letter-spacing:.04em;color:var(--muted)}.language-option{appearance:none;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;line-height:1;padding:.35rem .45rem;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.language-option:hover{color:var(--blue)}.language-option.is-active{background:var(--ink);color:#fff;box-shadow:0 .15rem .4rem rgba(23,25,29,.2)}.language-option:active{transform:scale(.94)}
.hero{min-height:calc(100dvh - 66px);padding:clamp(3rem,7vh,5.5rem) clamp(1.25rem,5vw,5rem) 0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);grid-template-rows:1fr auto;column-gap:clamp(3rem,8vw,9rem)}.eyebrow,.mini-title{display:flex;align-items:center;gap:.65rem;font-size:.78rem;font-weight:700;color:var(--muted)}.micro-mark{width:10px;height:10px;background:var(--blue);display:inline-block;flex:0 0 auto}.micro-mark.light{background:#fff}.hero h1{font-size:clamp(3.7rem,6.7vw,7.2rem);line-height:.82;letter-spacing:-.075em;margin:clamp(2.8rem,7vh,5rem) 0 2.4rem;font-weight:760}.positioning{font-size:clamp(1.7rem,2.6vw,2.8rem);line-height:1.08;letter-spacing:-.04em;max-width:22ch;margin:0;color:var(--blue)}.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:2.4rem}.button{display:inline-flex;padding:.82rem 1.05rem;border:1px solid var(--ink);font-size:.9rem;font-weight:700;white-space:nowrap}.button.primary{background:var(--ink);color:#fff}.button:hover{background:var(--blue);border-color:var(--blue);color:#fff}.hero-results{border-top:1px solid var(--ink);align-self:center}.hero-results>div{display:grid;grid-template-columns:8rem 1fr;align-items:baseline;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.hero-results strong{font-size:clamp(2rem,3vw,3.25rem);line-height:1;letter-spacing:-.05em}.hero-results span{font-size:.92rem;color:var(--muted)}.hero-meta{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:1.5rem;border-top:1px solid var(--ink);padding:1.25rem 0 1.5rem;margin-top:3rem}.hero-meta p{margin:0;font-size:.82rem;color:var(--muted)}
.section{padding:clamp(6rem,10vw,10rem) clamp(1.25rem,5vw,5rem)}.section-title{display:grid;grid-template-columns:12px 12rem 1fr;gap:1rem;align-items:start;margin-bottom:clamp(3rem,7vw,6rem)}.section-title p{margin:0;font-size:.82rem;font-weight:700}.section-title h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.94;letter-spacing:-.055em;margin:0;font-weight:600}.section-title.compact h2{font-size:clamp(2.8rem,4.3vw,4.6rem)}
.cases{background:var(--surface)}.cases-heading-core{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr);gap:clamp(2.5rem,6vw,7rem);align-items:center}.system-field{position:relative;min-height:20rem;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.system-field-labels{position:absolute;inset:1rem 0 auto;display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.system-particles,.system-bonds{position:absolute;inset:0}.system-particle{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--blue);opacity:.42;will-change:transform,opacity}.system-particle:nth-child(5n+1){width:12px;height:12px;left:-6px;top:-6px}.system-particle:nth-child(7n+2){width:5px;height:5px;left:-2.5px;top:-2.5px;background:var(--ink)}.system-bond{position:absolute;left:0;top:0;height:1px;background:var(--blue);opacity:0;transform-origin:left center;will-change:transform,opacity}.case{display:grid;grid-template-columns:4rem minmax(0,1.05fr) minmax(300px,.75fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--ink)}.case:last-child{border-bottom:1px solid var(--ink)}.case-number{font-size:1rem;color:var(--blue);font-weight:700}.case-intro>p:first-child{font-size:.84rem;color:var(--muted);margin:0 0 1rem}.case-intro h3{font-size:clamp(2rem,3vw,3.35rem);line-height:1;letter-spacing:-.045em;max-width:18ch;margin:0 0 1.8rem}.case-intro p:last-child{max-width:32rem;font-size:.9rem}.case-outcome{padding-left:clamp(1.2rem,2.5vw,2.5rem);border-left:2px solid var(--blue)}.case-outcome h4{font-size:.82rem;margin:0 0 1rem}.case-outcome p{font-size:.96rem;margin:0}.case-details{grid-column:2/-1;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}details{background:var(--paper);padding:1.1rem 1.25rem}summary{cursor:pointer;font-size:.9rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:1.3rem;font-weight:400;color:var(--blue)}details[open] summary:after{content:"−"}details p{margin:1.25rem 0 0;font-size:.94rem;color:var(--muted)}
.proof{background:var(--paper)}.lead-counter{position:relative;isolation:isolate;overflow:hidden;margin:0 0 3.5rem calc(12rem + 2rem);min-height:clamp(24rem,43vw,35rem);padding:clamp(1.7rem,4vw,3.4rem);display:grid;grid-template-rows:1fr auto;align-items:center;background:#111319;color:#f7f8fb;border:1px solid rgba(255,255,255,.15);border-radius:clamp(2rem,5vw,4.75rem);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.08),0 1.8rem 4.5rem rgba(25,40,80,.15)}.lead-counter:after{content:"";position:absolute;z-index:3;inset:1px;border:1px solid rgba(255,255,255,.08);border-radius:inherit;pointer-events:none}.lead-counter-fill{position:absolute;z-index:-1;inset:-1px;background:linear-gradient(180deg,#315ce2 0%,var(--blue) 58%,#1d42b8 100%);transform:scaleY(.18);transform-origin:center bottom;will-change:transform;transition:transform 1.6s linear;box-shadow:0 -1.2rem 3.5rem rgba(55,101,255,.48)}.lead-counter-fill:before{content:"";position:absolute;top:0;left:5%;right:5%;height:2px;background:rgba(215,227,255,.92);box-shadow:0 0 1.1rem .35rem rgba(74,122,255,.72)}.lead-counter strong{position:relative;z-index:1;align-self:center;justify-self:center;font-size:clamp(5rem,12vw,12.5rem);font-weight:700;line-height:.78;letter-spacing:-.085em;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 .08em .3em rgba(5,9,20,.24)}.lead-counter p{position:relative;z-index:1;align-self:end;margin:0;max-width:23rem;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:520;line-height:1.12;letter-spacing:-.03em}.metric-list{margin-left:calc(12rem + 2rem);display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.metric{display:grid;grid-template-columns:10rem 1fr;gap:1rem;align-items:start;padding:2rem 1.5rem 2rem 0;border-bottom:1px solid var(--line)}.metric:nth-child(odd){border-right:1px solid var(--line)}.metric:nth-child(even){padding-left:1.5rem}.metric strong{font-size:clamp(2.7rem,4vw,4.6rem);line-height:.9;letter-spacing:-.055em;color:var(--blue)}.metric p{max-width:25rem;margin:0;font-size:.94rem}
.profile{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,11rem)}.summary>p{font-size:clamp(1.25rem,1.75vw,1.75rem);line-height:1.35;letter-spacing:-.02em;max-width:29em;margin:2.5rem 0 0}.summary>p+ p{font-size:1rem;line-height:1.6;letter-spacing:0;color:var(--muted);margin-top:1.5rem}.capabilities .mini-title{margin-bottom:1.5rem}.capability{padding:1.25rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.capability:last-child{border-bottom:1px solid var(--line)}.capability h3{font-size:1.02rem;margin:0}.capability p{font-size:.9rem;color:var(--muted);margin:0}
.experience{background:var(--paper)}.timeline{margin-left:calc(12rem + 2rem);border-top:1px solid var(--ink)}.job{display:grid;grid-template-columns:10rem 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.job time{color:var(--blue);font-weight:700}.job h3{font-size:clamp(1.45rem,2vw,2.1rem);line-height:1;margin:0 0 .65rem;letter-spacing:-.035em}.job p{max-width:53rem;margin:.45rem 0;color:var(--muted)}.job strong{color:var(--ink)}
.work-samples{background:var(--surface);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,8rem);align-items:start}.samples-heading{position:sticky;top:8rem}.samples-heading h2{font-size:clamp(3.4rem,6.4vw,7rem);line-height:.85;letter-spacing:-.065em;margin:2.4rem 0;font-weight:650}.samples-heading>p{max-width:31rem;color:var(--muted);font-size:1rem}.sample-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.sample-card{min-height:17rem;padding:1.4rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:background-color .2s ease,color .2s ease}.sample-card:hover,.sample-card:focus-visible{background:var(--blue);color:#fff}.sample-index,.sample-type{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.sample-type{text-align:right;color:var(--muted)}.sample-card:hover .sample-type,.sample-card:focus-visible .sample-type{color:#fff}.sample-card strong{grid-column:1/-1;align-self:end;max-width:13ch;font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.03;letter-spacing:-.04em}.sample-arrow{grid-column:2;justify-self:end;font-size:1.6rem;line-height:1}.sample-card-dark{background:var(--ink);color:#fff}.sample-card-dark .sample-type{color:#b8bec7}
.sample-grid>.sample-card:last-child:nth-child(odd){grid-column:1/-1;min-height:14rem}.sample-grid>.sample-card:last-child:nth-child(odd) strong{max-width:20ch}
.contact{background:var(--ink);color:#fff;min-height:68dvh;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(4rem,10vw,11rem);align-items:end}.contact h2{font-size:clamp(3.2rem,6vw,6.6rem);line-height:.93;letter-spacing:-.06em;max-width:10ch;margin:2.4rem 0}.contact-main>p{font-size:1.1rem;color:#b8bec7}.contact-side>p{color:#c9ced5}.contact-links{display:grid;gap:.65rem;margin-top:2rem}.contact-links a{padding:.85rem 1rem;border:1px solid #fff;text-align:center;font-weight:700}.contact-links a:hover{background:#fff;color:var(--ink)}
.reveal{opacity:1;transform:none}
@media(max-width:900px){.site-nav{grid-template-columns:1fr auto}.site-nav nav{display:none}.hero{grid-template-columns:1fr;grid-template-rows:auto}.hero-results{margin-top:4rem}.hero-meta{grid-template-columns:1fr 1fr}.section-title{grid-template-columns:12px 7rem 1fr}.cases-heading-core{grid-template-columns:1fr}.system-field{min-height:17rem;max-width:38rem}.case{grid-template-columns:3rem 1fr}.case-outcome{grid-column:2}.case-details{grid-column:2}.lead-counter,.metric-list,.timeline{margin-left:0}.lead-counter{min-height:26rem}.metric{grid-template-columns:8rem 1fr}.profile,.contact{grid-template-columns:1fr}.contact{min-height:auto}}
@media(max-width:620px){.site-nav{height:60px;padding:0 1rem}.nav-actions{gap:.55rem}.nav-contact{display:none}.wordmark{font-size:.7rem}.hero{padding:2.5rem 1rem 0}.hero h1{font-size:clamp(3.2rem,16vw,4.4rem);margin:2.5rem 0 2rem}.positioning{font-size:1.55rem}.hero-actions{display:grid}.button{justify-content:center}.hero-results>div{grid-template-columns:7rem 1fr}.hero-meta{grid-template-columns:1fr;gap:.65rem}.section{padding:5rem 1rem}.section-title{grid-template-columns:10px 1fr;gap:.7rem}.section-title h2{grid-column:2;font-size:2.8rem}.cases-heading-core{grid-column:2}.cases-heading-core h2{grid-column:auto}.system-field{min-height:14rem}.case{grid-template-columns:2rem 1fr;gap:1rem}.case-intro h3{font-size:2rem}.case-outcome{padding-left:1rem}.case-details{grid-template-columns:1fr}.lead-counter{min-height:22rem;margin-bottom:2.5rem;padding:1.5rem;border-radius:2.25rem}.lead-counter strong{font-size:clamp(4rem,20vw,6rem);letter-spacing:-.075em}.lead-counter p{font-size:1.1rem}.metric-list{grid-template-columns:1fr}.metric{grid-template-columns:7rem 1fr;padding:1.5rem 0;border-right:0!important}.metric:nth-child(even){padding-left:0}.capability{grid-template-columns:1fr;gap:.45rem}.job{grid-template-columns:1fr;gap:.5rem}.contact h2{font-size:3.4rem}.contact-links a{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.system-particle,.system-bond,.lead-counter-fill{will-change:auto}.lead-counter-fill{transition:none}}
html{scroll-behavior:auto}
@media(max-width:620px){.site-nav{grid-template-columns:1fr}.nav-contact{display:none}.hero h1{font-size:13.2vw;max-width:100%;letter-spacing:-.065em}}
@media(min-width:901px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{max-width:62rem}}
.lead-counter-fill{z-index:0}

/* Reflective material accents: the page structure stays editorial and light. */
.button,.contact-links a{position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;border-radius:999px;transition:transform .28s cubic-bezier(.23,1,.32,1),box-shadow .28s cubic-bezier(.23,1,.32,1),color .2s ease}.button{background:linear-gradient(115deg,rgba(252,253,255,.98),rgba(221,234,255,.92) 38%,rgba(243,235,255,.94) 68%,rgba(215,249,246,.94)) padding-box,linear-gradient(115deg,#83c8ff,#7e6bff,#9de8df) border-box;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 .65rem 1.8rem rgba(36,78,201,.13)}.button.primary{background:linear-gradient(120deg,#10151f,#183b83 52%,#2555d7) padding-box,linear-gradient(115deg,#8edfff,#7875ff,#ca8fff) border-box;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 .75rem 2rem rgba(36,78,201,.28)}.button span,.contact-links a span{position:relative;z-index:2}.button:before,.contact-links a:before{content:"";position:absolute;z-index:1;inset:-180% -55%;pointer-events:none;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.08) 45%,rgba(255,255,255,.78) 50%,rgba(173,220,255,.34) 55%,transparent 62%);transform:translate3d(-34%,0,0) rotate(10deg);opacity:.72}.button:hover,.button:focus-visible{transform:translateY(-2px);background:linear-gradient(115deg,rgba(252,253,255,.98),rgba(221,234,255,.92) 38%,rgba(243,235,255,.94) 68%,rgba(215,249,246,.94)) padding-box,linear-gradient(115deg,#83c8ff,#7e6bff,#9de8df) border-box;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1rem 2.4rem rgba(36,78,201,.2)}.button.primary:hover,.button.primary:focus-visible{background:linear-gradient(120deg,#10151f,#183b83 52%,#2555d7) padding-box,linear-gradient(115deg,#8edfff,#7875ff,#ca8fff) border-box;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 1rem 2.6rem rgba(36,78,201,.38)}.button:active,.contact-links a:active{transform:translateY(1px) scale(.99)}
.contact-links a{background:linear-gradient(110deg,rgba(24,29,40,.96),rgba(31,62,129,.72),rgba(38,29,76,.75)) padding-box,linear-gradient(115deg,#72dfff,#6678ff,#ce8cff) border-box;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 .8rem 2.2rem rgba(18,49,139,.2)}.contact-links a:hover,.contact-links a:focus-visible{background:linear-gradient(110deg,rgba(28,35,49,.98),rgba(37,79,171,.78),rgba(50,36,103,.8)) padding-box,linear-gradient(115deg,#72dfff,#6678ff,#ce8cff) border-box;color:#fff;transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 1rem 2.8rem rgba(37,84,215,.32)}
.lead-counter:before{content:"";position:absolute;z-index:1;inset:-58% -35%;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.04) 45%,rgba(255,255,255,.32) 50%,rgba(132,190,255,.14) 56%,transparent 63%);transform:translate3d(-42%,0,0) rotate(7deg);opacity:.58}.lead-counter strong,.lead-counter p{z-index:2}
.sample-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(235,241,255,.66));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.sample-card:before{content:"";position:absolute;z-index:0;inset:-110% -55%;pointer-events:none;background:linear-gradient(105deg,transparent 41%,rgba(255,255,255,.05) 46%,rgba(255,255,255,.82) 50%,rgba(134,188,255,.2) 55%,transparent 60%);transform:translate3d(-38%,0,0) rotate(8deg);opacity:0}.sample-card>*{position:relative;z-index:1}.sample-card-dark{background:linear-gradient(145deg,#11151e,#172b5a 58%,#25204a);box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
@media(prefers-reduced-motion:no-preference){.button:before,.contact-links a:before{animation:mirror-sweep 7.5s cubic-bezier(.77,0,.175,1) infinite}.lead-counter:before{animation:mirror-sweep-card 9s cubic-bezier(.77,0,.175,1) infinite}.sample-card:hover:before,.sample-card:focus-visible:before{animation:mirror-sweep-hover 1.1s cubic-bezier(.23,1,.32,1) both}@keyframes mirror-sweep{0%,18%{transform:translate3d(-42%,0,0) rotate(10deg);opacity:0}27%{opacity:.72}48%,100%{transform:translate3d(42%,0,0) rotate(10deg);opacity:0}}@keyframes mirror-sweep-card{0%,28%{transform:translate3d(-42%,0,0) rotate(7deg);opacity:0}36%{opacity:.58}58%,100%{transform:translate3d(42%,0,0) rotate(7deg);opacity:0}}@keyframes mirror-sweep-hover{0%{transform:translate3d(-42%,0,0) rotate(8deg);opacity:0}35%{opacity:.72}100%{transform:translate3d(42%,0,0) rotate(8deg);opacity:0}}}
@media(prefers-reduced-transparency:reduce){.button,.contact-links a,.sample-card{backdrop-filter:none}}
.system-field{border-top:0;border-bottom:0}

/* Compact lead plaque: soft illuminated fill, composed like the supplied reference. */
.lead-counter{width:min(100%,34rem);aspect-ratio:1.05/1;min-height:0;margin-right:auto;padding:clamp(1.5rem,3vw,2.5rem);grid-template-rows:1fr auto;align-items:end;background:radial-gradient(ellipse at 50% 112%,rgba(52,96,229,.2) 0%,rgba(17,19,25,0) 48%),linear-gradient(180deg,#11141b 0%,#101219 100%);border-radius:clamp(2.5rem,7vw,5.25rem);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(255,255,255,.12),0 1.5rem 4rem rgba(25,40,80,.16)}.lead-counter-fill{background:linear-gradient(180deg,rgba(74,118,245,0) 0%,rgba(57,101,230,.34) 28%,#315fe0 64%,#2148bf 100%);transform:scaleY(.14);box-shadow:none}.lead-counter-fill:before{display:none}.lead-counter p{grid-row:1;align-self:end;justify-self:center;margin:0 0 clamp(.85rem,2vw,1.25rem);max-width:21rem;text-align:center;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:560;line-height:1.16;letter-spacing:-.025em}.lead-counter strong{grid-row:2;align-self:end;justify-self:center;padding-bottom:clamp(.2rem,1vw,.7rem);font-size:clamp(4rem,14vw,7.75rem);line-height:.78;letter-spacing:-.075em;text-shadow:0 .08em .35em rgba(5,9,20,.3)}
@media(max-width:900px){.lead-counter{width:min(100%,32rem);min-height:0}}
@media(max-width:620px){.lead-counter{width:100%;min-height:0;aspect-ratio:1.04/1;padding:1.35rem;border-radius:2.75rem}.lead-counter strong{font-size:clamp(4rem,19vw,5.5rem)}.lead-counter p{max-width:18rem;font-size:1rem}}
.lead-counter{width:min(88vw,32rem);margin-left:auto;margin-right:auto}

/* Cinematic attention cues inspired by the reference's pacing, using the existing palette. */
.site-nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left center;pointer-events:none}.hero{position:relative;isolation:isolate;overflow:hidden}.hero:before{content:"";position:absolute;z-index:0;right:-18%;top:3%;width:min(72vw,62rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(36,78,201,.12) 0%,rgba(36,78,201,.055) 34%,rgba(36,78,201,0) 69%);pointer-events:none}.hero-copy,.hero-meta{position:relative;z-index:2}.hero-signal{position:absolute;z-index:1;right:clamp(1rem,5vw,6rem);top:47%;width:clamp(22rem,38vw,34rem);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;filter:drop-shadow(0 2.5rem 3.5rem rgba(36,78,201,.18))}.signal-orbit{position:absolute;inset:8%;border:1px solid rgba(36,78,201,.42);border-radius:50%;box-shadow:inset 0 0 2rem rgba(36,78,201,.06)}.signal-orbit:after{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 1.4rem .35rem rgba(36,78,201,.32)}.signal-orbit-a{transform:rotate(33deg) scaleY(.58)}.signal-orbit-b{transform:rotate(-33deg) scaleY(.58)}.signal-core{position:absolute;inset:29%;border-radius:50%;border:1px solid rgba(255,255,255,.72);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.96),rgba(214,228,255,.82) 25%,rgba(36,78,201,.78) 62%,#163693 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),inset -1rem -1.4rem 2.8rem rgba(13,31,91,.42),0 0 0 1px rgba(36,78,201,.2),0 1.6rem 4rem rgba(36,78,201,.25)}.signal-core:before{content:"";position:absolute;inset:13%;border-radius:50%;background-image:radial-gradient(circle,rgba(255,255,255,.48) 1px,transparent 1.5px);background-size:14px 14px;opacity:.5;mask-image:linear-gradient(135deg,#000,transparent 72%)}
.hero-copy.reveal h1,.section-title.reveal h2,.samples-heading.reveal h2{opacity:0;transform:translate3d(0,1.4rem,0);transition:opacity .75s cubic-bezier(.23,1,.32,1),transform .75s cubic-bezier(.23,1,.32,1)}.hero-copy.reveal.is-visible h1,.section-title.reveal.is-visible h2,.samples-heading.reveal.is-visible h2{opacity:1;transform:translate3d(0,0,0)}.section-title.reveal .micro-mark,.samples-heading.reveal .micro-mark{opacity:.2;transform:scale(.35) rotate(-45deg);transition:opacity .55s ease,transform .7s cubic-bezier(.23,1,.32,1)}.section-title.reveal.is-visible .micro-mark,.samples-heading.reveal.is-visible .micro-mark{opacity:1;transform:scale(1) rotate(0)}
.timeline{position:relative}.timeline:before,.timeline:after{content:"";position:absolute;top:0;bottom:0;left:-1.25rem;width:2px;pointer-events:none}.timeline:before{background:linear-gradient(180deg,var(--line),rgba(212,216,223,0))}.timeline:after{background:linear-gradient(180deg,var(--blue),rgba(36,78,201,.18));transform:scaleY(0);transform-origin:top center}.job{position:relative}.job:before{content:"";position:absolute;left:-1.48rem;top:2.2rem;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid var(--blue);box-shadow:0 0 0 5px rgba(36,78,201,.08)}
@supports(animation-timeline:scroll()){.site-nav:after{animation:page-progress linear both;animation-timeline:scroll(root block)}.timeline:after{animation:timeline-progress linear both;animation-timeline:view(block);animation-range:entry 10% cover 82%}@keyframes page-progress{to{transform:scaleX(1)}}@keyframes timeline-progress{to{transform:scaleY(1)}}}
@media(prefers-reduced-motion:no-preference){.signal-orbit-a{animation:orbit-a 18s cubic-bezier(.77,0,.175,1) infinite alternate}.signal-orbit-b{animation:orbit-b 22s cubic-bezier(.77,0,.175,1) infinite alternate}.signal-core{animation:signal-breathe 6s cubic-bezier(.77,0,.175,1) infinite alternate}@keyframes orbit-a{to{transform:rotate(213deg) scaleY(.58)}}@keyframes orbit-b{to{transform:rotate(-213deg) scaleY(.58)}}@keyframes signal-breathe{to{transform:scale(1.055);filter:saturate(1.12)}}}
@media(max-width:900px){.hero-signal{right:-12rem;top:31%;width:30rem;opacity:.42}.hero:before{right:-45%;top:0}.timeline:before,.timeline:after{left:-.65rem}.job:before{left:-.88rem}}
@media(max-width:620px){.hero-signal{right:-14rem;top:26%;width:27rem;opacity:.32}.hero:before{right:-68%;width:38rem}.timeline{padding-left:.55rem}.timeline:before,.timeline:after{left:0}.job:before{left:-.24rem;top:1.85rem;width:7px;height:7px}.hero-copy.reveal h1,.section-title.reveal h2,.samples-heading.reveal h2{transform:translate3d(0,1rem,0)}}
@media(prefers-reduced-motion:reduce){.hero-copy.reveal h1,.section-title.reveal h2,.samples-heading.reveal h2,.section-title.reveal .micro-mark,.samples-heading.reveal .micro-mark{opacity:1;transform:none;transition:none}.hero-signal *{animation:none!important}.site-nav:after,.timeline:after{display:none}}
@media(max-width:620px){.timeline{padding-left:1.5rem}.job:before{left:-1.8rem}}

/* Open section rhythm: remove horizontal rules while preserving interactive contours. */
.site-nav,.hero-results,.hero-results>div,.hero-meta,.case,.case:last-child,.metric-list,.metric,.capability,.capability:last-child,.timeline,.job,.sample-grid{border-top:0;border-bottom:0}.site-nav:after{display:none}
.sample-grid{gap:.75rem;border-left:0;background:transparent}.sample-card{border-right:0;border-bottom:0;border-radius:1.25rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 .7rem 2rem rgba(36,78,201,.07)}
.case-details{gap:.75rem;background:transparent;border:0}.case-details details{border-radius:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 .5rem 1.6rem rgba(36,78,201,.05)}

/* Funnel hero visual, replacing the orbital object. */
.hero-signal{display:none}.hero-funnel{position:absolute;z-index:1;right:clamp(1rem,5vw,6rem);top:48%;width:clamp(22rem,36vw,32rem);height:clamp(21rem,38vw,31rem);transform:translateY(-50%);pointer-events:none;filter:drop-shadow(0 2rem 3.2rem rgba(36,78,201,.2))}.funnel-cone{position:absolute;z-index:0;inset:13% 8% 6%;clip-path:polygon(3% 0,97% 0,64% 100%,36% 100%);background:linear-gradient(90deg,rgba(36,78,201,0),rgba(36,78,201,.08) 32%,rgba(178,207,255,.2) 50%,rgba(36,78,201,.08) 68%,rgba(36,78,201,0));filter:blur(1px)}.funnel-beam{position:absolute;z-index:1;left:50%;top:11%;bottom:4%;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(82,130,255,.9) 48%,rgba(36,78,201,.12));box-shadow:0 0 1rem .18rem rgba(57,101,230,.3)}.funnel-ring{position:absolute;z-index:2;left:50%;height:17%;transform:translateX(-50%);border:1px solid rgba(105,149,255,.64);border-radius:50%;background:radial-gradient(ellipse,rgba(36,78,201,.13),rgba(36,78,201,0) 68%);box-shadow:inset 0 0 1.8rem rgba(36,78,201,.13),0 0 1.3rem rgba(36,78,201,.14)}.funnel-ring:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border-top:3px solid rgba(119,169,255,.88);border-right:1px solid rgba(255,255,255,.6);filter:drop-shadow(0 0 .6rem rgba(52,103,242,.7))}.funnel-ring-top{top:7%;width:94%}.funnel-ring-middle{top:39%;width:61%}.funnel-ring-lower{top:64%;width:40%}.funnel-ring-exit{top:84%;width:25%;height:12%}

/* Mirrored accordion controls. */
.case-details details{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,rgba(252,253,255,.96),rgba(225,236,255,.82) 44%,rgba(240,247,255,.9) 72%,rgba(213,248,246,.82));border:1px solid rgba(36,78,201,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 .8rem 2.2rem rgba(36,78,201,.09);transition:transform .28s cubic-bezier(.23,1,.32,1),box-shadow .28s cubic-bezier(.23,1,.32,1)}.case-details details:before{content:"";position:absolute;z-index:0;inset:-180% -45%;pointer-events:none;background:linear-gradient(100deg,transparent 39%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.9) 50%,rgba(143,195,255,.24) 55%,transparent 62%);transform:translate3d(-40%,0,0) rotate(9deg);opacity:0}.case-details details>*{position:relative;z-index:1}.case-details details:hover,.case-details details:focus-within{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 1rem 2.8rem rgba(36,78,201,.15)}.case-details summary:after{width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(205,225,255,.9));border:1px solid rgba(36,78,201,.2);box-shadow:inset 0 1px 0 #fff,0 .35rem 1rem rgba(36,78,201,.13);color:var(--blue);line-height:1}.case-details details[open] summary:after{background:linear-gradient(135deg,#183a83,#315fe0);border-color:rgba(255,255,255,.35);color:#fff}

/* Compact lead plaque. */
.lead-counter{width:min(78vw,27rem)}.lead-counter strong{font-size:clamp(3.6rem,13vw,6.5rem)}

/* Competency constellation: a central system connected to six mirrored modules. */
.capabilities{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(7.5rem,9rem) minmax(0,1fr);grid-template-rows:auto repeat(3,minmax(7.4rem,auto));gap:1rem 2.5rem;padding:clamp(1.4rem,3vw,2.2rem);background:radial-gradient(circle at 50% 52%,rgba(36,78,201,.34),rgba(17,25,46,.96) 32%,#0d1424 72%);border-radius:2rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 1.5rem 4rem rgba(20,35,78,.18)}.capabilities:before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(circle,rgba(127,164,255,.18) 1px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.capabilities .mini-title{grid-column:1/-1;margin:0;color:#f2f5ff}.capability-core{grid-column:2;grid-row:2/5;align-self:center;justify-self:center;position:relative;width:8.2rem;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 27%,#f6fbff 0%,#b9d3ff 12%,#3b72f0 44%,#173a9c 70%,#091735 100%);border:1px solid rgba(199,220,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset -1.2rem -1.4rem 2.4rem rgba(3,12,39,.42),0 0 0 1px rgba(67,116,245,.3),0 0 2.8rem .6rem rgba(49,95,224,.42)}.capability-core:before,.capability-core:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(102,149,255,.55)}.capability-core:before{inset:-18%;transform:rotate(26deg) scaleY(.62)}.capability-core:after{inset:-31%;transform:rotate(-28deg) scaleY(.56);opacity:.62}.capability-core span{position:absolute;left:50%;top:-1.7rem;width:8px;height:8px;border-radius:50%;background:#9cc7ff;box-shadow:0 0 1.1rem .35rem rgba(80,135,255,.7)}.capabilities>.capability{position:relative;display:block;padding:1rem 1.05rem;border:1px solid rgba(151,183,255,.18);border-radius:1.15rem;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(59,102,205,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 .8rem 2rem rgba(1,8,27,.18);backdrop-filter:blur(12px)}.capabilities>.capability h3{margin:0 0 .45rem;color:#fff;font-size:.96rem;line-height:1.15}.capabilities>.capability p{margin:0;color:#aebbd4;font-size:.78rem;line-height:1.35}.capabilities>.capability:nth-child(3){grid-column:1;grid-row:2}.capabilities>.capability:nth-child(4){grid-column:3;grid-row:2}.capabilities>.capability:nth-child(5){grid-column:1;grid-row:3}.capabilities>.capability:nth-child(6){grid-column:3;grid-row:3}.capabilities>.capability:nth-child(7){grid-column:1;grid-row:4}.capabilities>.capability:nth-child(8){grid-column:3;grid-row:4}.capabilities>.capability:nth-child(odd):after,.capabilities>.capability:nth-child(even):before{content:"";position:absolute;top:50%;width:2.5rem;height:2px;background:linear-gradient(90deg,rgba(69,121,255,.2),#4a7dfa);box-shadow:0 0 .65rem rgba(62,116,255,.5)}.capabilities>.capability:nth-child(odd):after{right:-2.5rem}.capabilities>.capability:nth-child(even):before{left:-2.5rem;transform:scaleX(-1)}

@media(prefers-reduced-motion:no-preference){.hero-funnel{animation:funnel-float 6s cubic-bezier(.77,0,.175,1) infinite alternate}.funnel-ring{animation:funnel-pulse 5.4s cubic-bezier(.77,0,.175,1) infinite alternate}.funnel-ring-middle{animation-delay:-1.2s}.funnel-ring-lower{animation-delay:-2.4s}.funnel-ring-exit{animation-delay:-3.5s}.funnel-beam{animation:funnel-beam 2.8s ease-in-out infinite alternate}.case-details details:before{animation:details-mirror 8.5s cubic-bezier(.77,0,.175,1) infinite}.capability-core:before{animation:core-orbit-a 12s linear infinite}.capability-core:after{animation:core-orbit-b 15s linear infinite reverse}.capability-core span{animation:core-dot 4.5s ease-in-out infinite alternate}@keyframes funnel-float{to{transform:translateY(-53%)}}@keyframes funnel-pulse{to{transform:translateX(-50%) scale(.955);filter:brightness(1.12)}}@keyframes funnel-beam{to{opacity:.48;transform:translateX(-50%) scaleY(.93)}}@keyframes details-mirror{0%,24%{transform:translate3d(-42%,0,0) rotate(9deg);opacity:0}32%{opacity:.7}52%,100%{transform:translate3d(42%,0,0) rotate(9deg);opacity:0}}@keyframes core-orbit-a{to{transform:rotate(386deg) scaleY(.62)}}@keyframes core-orbit-b{to{transform:rotate(332deg) scaleY(.56)}}@keyframes core-dot{to{transform:translateY(3.4rem);opacity:.42}}}
@media(max-width:900px){.hero-funnel{right:-9rem;top:31%;width:27rem;height:25rem;opacity:.5}.capabilities{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:.85rem}.capability-core{grid-column:1/-1;grid-row:auto;margin:1rem 0 1.5rem}.capabilities>.capability{grid-column:auto!important;grid-row:auto!important}.capabilities>.capability:before,.capabilities>.capability:after{display:none}}
@media(max-width:620px){.hero-funnel{right:-11.5rem;top:27%;width:24rem;height:22rem;opacity:.42}.capabilities{grid-template-columns:1fr;padding:1.15rem;border-radius:1.5rem}.capabilities .mini-title,.capability-core{grid-column:1}.capability-core{width:7.25rem}.case-details summary:after{width:1.9rem;height:1.9rem}.lead-counter{width:min(76vw,23rem)}}
@media(prefers-reduced-motion:reduce){.hero-funnel,.hero-funnel *,.capability-core:before,.capability-core:after,.capability-core span,.case-details details:before{animation:none!important}}
.profile{grid-template-columns:minmax(18rem,.72fr) minmax(32rem,1.28fr);gap:clamp(3rem,6vw,7rem)}
@media(max-width:900px){.profile{grid-template-columns:1fr}}
@media(max-width:620px){.hero-funnel{right:-8rem;top:29%;width:22rem;height:20rem;opacity:.58}}
.metric strong{display:block;font-variant-numeric:tabular-nums}.metric .metric-value-wide{font-size:clamp(2.15rem,3vw,2.65rem);white-space:nowrap}
@media(max-width:620px){.metric{grid-template-columns:8.5rem minmax(0,1fr)}.metric strong{font-size:clamp(2.25rem,9.5vw,2.5rem);white-space:nowrap}.metric .metric-value-wide{font-size:clamp(1.9rem,8.2vw,2.1rem)}}
.experience .section-title{margin-bottom:2.5rem}
@media(max-width:620px){.experience .section-title{margin-bottom:2rem}}
@media(max-width:620px){.contact h2{font-size:clamp(2.7rem,11vw,3.15rem);max-width:100%}}
.job-letter{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:.65rem;margin-top:1rem;padding:.62rem .85rem;border:1px solid transparent;border-radius:999px;background:linear-gradient(115deg,rgba(250,252,255,.94),rgba(222,234,255,.86) 45%,rgba(236,229,255,.88) 74%,rgba(214,248,245,.9)) padding-box,linear-gradient(115deg,rgba(84,166,255,.7),rgba(126,107,255,.65),rgba(123,221,210,.7)) border-box;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 .5rem 1.5rem rgba(36,78,201,.1);font-size:.8rem;font-weight:700;line-height:1.1;transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s ease}.job-letter:before{content:"";position:absolute;z-index:-1;inset:-220% -55%;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.12) 46%,rgba(255,255,255,.94) 50%,rgba(135,190,255,.2) 55%,transparent 62%);transform:translate3d(-40%,0,0) rotate(9deg);opacity:.7}.job-letter:hover,.job-letter:focus-visible{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 .8rem 2rem rgba(36,78,201,.18)}.job-letter-arrow{font-size:1rem;line-height:1;color:var(--blue)}
@media(prefers-reduced-motion:no-preference){.job-letter:before{animation:mirror-sweep 7.5s cubic-bezier(.77,0,.175,1) infinite}}
@media(max-width:620px){.job-letter{font-size:.78rem}}
@media(max-width:900px){.work-samples{grid-template-columns:1fr}.samples-heading{position:static}.samples-heading h2{font-size:clamp(3.8rem,11vw,6rem)}.samples-heading>p{max-width:40rem}}
@media(max-width:620px){.sample-grid{grid-template-columns:1fr}.sample-card{min-height:13rem;padding:1.15rem}.sample-card strong{font-size:1.6rem}.samples-heading h2{font-size:clamp(3.3rem,15vw,4.4rem)}}

/* Funnel assembly: separate levels lock into one system before the subtle idle drift begins. */
@media(prefers-reduced-motion:no-preference){
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-ring,
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-cone,
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-beam{opacity:0}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-top{animation:funnel-assemble-top 1.05s cubic-bezier(.23,1,.32,1) .05s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-middle{animation:funnel-assemble-middle 1.05s cubic-bezier(.23,1,.32,1) .18s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-lower{animation:funnel-assemble-lower 1.05s cubic-bezier(.23,1,.32,1) .31s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-exit{animation:funnel-assemble-exit 1.05s cubic-bezier(.23,1,.32,1) .44s both}
  .hero-copy.is-visible+.hero-funnel .funnel-cone{transform-origin:50% 100%;animation:funnel-assemble-cone .9s cubic-bezier(.23,1,.32,1) .62s both}
  .hero-copy.is-visible+.hero-funnel .funnel-beam{transform-origin:50% 100%;animation:funnel-assemble-beam .72s cubic-bezier(.23,1,.32,1) .82s both}
  @keyframes funnel-assemble-top{0%{opacity:0;transform:translate3d(calc(-50% - 4.5rem),-4.5rem,0) scale(.58);filter:blur(10px)}72%{opacity:1;transform:translate3d(calc(-50% + .4rem),.2rem,0) scale(1.025);filter:blur(0)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1);filter:blur(0)}}
  @keyframes funnel-assemble-middle{0%{opacity:0;transform:translate3d(calc(-50% + 5rem),-1.6rem,0) scale(.48);filter:blur(9px)}72%{opacity:1;transform:translate3d(calc(-50% - .35rem),.15rem,0) scale(1.03);filter:blur(0)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1);filter:blur(0)}}
  @keyframes funnel-assemble-lower{0%{opacity:0;transform:translate3d(calc(-50% - 4rem),2.2rem,0) scale(.38);filter:blur(8px)}72%{opacity:1;transform:translate3d(calc(-50% + .3rem),-.1rem,0) scale(1.035);filter:blur(0)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1);filter:blur(0)}}
  @keyframes funnel-assemble-exit{0%{opacity:0;transform:translate3d(calc(-50% + 2.8rem),4.8rem,0) scale(.2);filter:blur(7px)}72%{opacity:1;transform:translate3d(calc(-50% - .2rem),-.12rem,0) scale(1.04);filter:blur(0)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1);filter:blur(0)}}
  @keyframes funnel-assemble-cone{0%{opacity:0;transform:scaleY(.06);filter:blur(8px)}100%{opacity:1;transform:scaleY(1);filter:blur(1px)}}
  @keyframes funnel-assemble-beam{0%{opacity:0;transform:translateX(-50%) scaleY(0)}55%{opacity:1}100%{opacity:1;transform:translateX(-50%) scaleY(1)}}
}
@media(prefers-reduced-motion:reduce){.funnel-cone,.funnel-ring,.funnel-beam{opacity:1}.funnel-ring{transform:translateX(-50%)}.funnel-beam{transform:translateX(-50%)}}

/* Geometrically centred accordion symbols, independent of font metrics. */
.case-details summary:after{content:"";flex:0 0 2.15rem;background:linear-gradient(var(--blue),var(--blue)) center/.76rem 1.5px no-repeat,linear-gradient(var(--blue),var(--blue)) center/1.5px .76rem no-repeat,linear-gradient(135deg,rgba(255,255,255,.98),rgba(205,225,255,.9))}
.case-details details[open] summary:after{content:"";background:linear-gradient(#fff,#fff) center/.76rem 1.5px no-repeat,linear-gradient(135deg,#183a83,#315fe0)}
@media(max-width:620px){.case-details summary:after{flex-basis:1.9rem}}

/* Owner-side inline text editing for this static prototype. */
.text-editor{position:fixed;z-index:40;right:1rem;bottom:1rem;display:grid;justify-items:end;gap:.55rem;max-width:calc(100vw - 2rem);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.text-editor button{min-height:2.9rem;padding:.72rem 1rem;border:1px solid rgba(118,157,255,.4);border-radius:999px;background:linear-gradient(120deg,rgba(18,24,36,.97),rgba(35,72,163,.94) 58%,rgba(57,38,105,.94));color:#fff;font:700 .82rem/1 inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 .75rem 2rem rgba(36,78,201,.25);cursor:pointer}.text-editor button:hover,.text-editor button:focus-visible{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 1rem 2.5rem rgba(36,78,201,.34)}.text-editor button:focus-visible{outline:3px solid rgba(104,150,255,.5);outline-offset:3px}.text-editor-actions{display:flex;align-items:center;gap:.5rem;padding:.48rem;border:1px solid rgba(93,137,247,.28);border-radius:999px;background:rgba(245,248,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1rem 3rem rgba(26,49,110,.18);backdrop-filter:blur(18px)}.text-editor-actions[hidden]{display:none}.text-editor-actions>span{padding:0 .65rem;color:#3c4657;font-size:.76rem;font-weight:650;white-space:nowrap}.text-editor .text-editor-save{background:linear-gradient(120deg,#111722,#183b83 55%,#2555d7)}.text-editor .text-editor-cancel{background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(218,231,255,.95));color:var(--ink)}.text-editor-status{margin:0;padding:.55rem .8rem;border-radius:.75rem;background:rgba(17,19,25,.92);color:#fff;font-size:.76rem;line-height:1.25;box-shadow:0 .7rem 1.8rem rgba(18,35,82,.2)}.text-editor-status:empty{display:none}.text-editing [contenteditable="true"]{cursor:text;border-radius:.22em;outline:1px dashed rgba(36,78,201,.5);outline-offset:.18em;background:rgba(231,239,255,.72)}.text-editing [contenteditable="true"]:hover,.text-editing [contenteditable="true"]:focus{outline:2px solid rgba(36,78,201,.72);background:rgba(220,233,255,.9)}.text-editing .contact [contenteditable="true"],.text-editing .capabilities [contenteditable="true"],.text-editing .sample-card-dark [contenteditable="true"]{background:rgba(114,157,255,.2);outline-color:rgba(173,201,255,.72)}
@media(max-width:620px){.text-editor{right:.65rem;bottom:.65rem;left:.65rem;justify-items:stretch}.text-editor-toggle{justify-self:end}.text-editor-actions{display:grid;grid-template-columns:1fr 1fr;border-radius:1.35rem}.text-editor-actions>span{grid-column:1/-1;padding:.2rem .55rem;text-align:center;white-space:normal}.text-editor button{min-height:2.75rem}.text-editor-status{justify-self:end}}
@media(prefers-reduced-transparency:reduce){.text-editor-actions{background:#f3f4f6;backdrop-filter:none}}
@media print{.text-editor{display:none}}
.text-editor button{font-family:inherit;font-size:.82rem;font-weight:700;line-height:1}
.text-editor[hidden]{display:none}

/* Hero v28: responsive funnel composition and a clear assemble-then-intake motion story. */
.hero-funnel{animation:none}
.funnel-ring{animation:none}
.funnel-atoms{position:absolute;z-index:4;inset:-8%;pointer-events:none;transform-origin:50% 50%}
.funnel-atom{position:absolute;width:1.45rem;height:.72rem;border:1px solid rgba(57,105,224,.58);border-radius:50%;opacity:0;will-change:transform,opacity}
.funnel-atom:before{content:"";position:absolute;left:50%;top:50%;width:.32rem;height:.32rem;border-radius:50%;background:#315fe0;box-shadow:0 0 .8rem .16rem rgba(49,95,224,.5);transform:translate3d(-50%,-50%,0)}
.funnel-atom:after,.funnel-atom i{content:"";position:absolute;inset:-1px;border:1px solid rgba(109,153,255,.48);border-radius:50%}
.funnel-atom:after{transform:rotate(60deg)}
.funnel-atom i{display:block;transform:rotate(-60deg)}
.funnel-atom:nth-child(1){left:2%;top:8%;--x1:15rem;--y1:1rem;--x2:15rem;--y2:9rem;--x3:15rem;--y3:22rem;--delay:0s}
.funnel-atom:nth-child(2){right:2%;top:13%;--x1:-14rem;--y1:-.5rem;--x2:-14rem;--y2:7.5rem;--x3:-14rem;--y3:20.5rem;--delay:.74s}
.funnel-atom:nth-child(3){left:-1%;top:38%;--x1:16rem;--y1:-8rem;--x2:16rem;--y2:0rem;--x3:16rem;--y3:13rem;--delay:1.48s}
.funnel-atom:nth-child(4){right:-2%;top:42%;--x1:-16rem;--y1:-9.5rem;--x2:-16rem;--y2:-1.5rem;--x3:-16rem;--y3:11.5rem;--delay:2.22s}
.funnel-atom:nth-child(5){left:9%;top:66%;--x1:12.5rem;--y1:-16.5rem;--x2:12.5rem;--y2:-8.5rem;--x3:12.5rem;--y3:4.5rem;--delay:2.96s}
.funnel-atom:nth-child(6){right:8%;top:70%;--x1:-12.5rem;--y1:-18rem;--x2:-12.5rem;--y2:-10rem;--x3:-12.5rem;--y3:3rem;--delay:3.7s}
.funnel-atom:nth-child(7){left:28%;top:-1%;--x1:7rem;--y1:4rem;--x2:7rem;--y2:12rem;--x3:7rem;--y3:25rem;--delay:4.44s}
.funnel-atom:nth-child(8){right:26%;top:1%;--x1:-7.5rem;--y1:3rem;--x2:-7.5rem;--y2:11rem;--x3:-7.5rem;--y3:24rem;--delay:5.18s}
.hero-funnel .funnel-ring:after{display:none}

@media(min-width:901px){
  .hero{min-height:calc(100svh - 66px);padding:clamp(2rem,4.5vh,3.5rem) clamp(1.25rem,5vw,5rem) clamp(1.4rem,2.8vh,2.35rem);grid-template-columns:minmax(0,1.08fr) minmax(25rem,.92fr);grid-template-rows:minmax(0,1fr) auto;column-gap:clamp(2rem,5vw,6rem);row-gap:clamp(1.25rem,2.8vh,2.25rem)}
  .hero-copy{grid-column:1;grid-row:1;align-self:center;max-width:54rem}
  .hero h1{margin:clamp(1.8rem,4.5vh,3.25rem) 0 clamp(1.35rem,2.8vh,2.2rem)}
  .hero-actions{margin-top:clamp(1.4rem,2.8vh,2rem)}
  .hero-funnel{position:relative;grid-column:2;grid-row:1;right:auto;top:auto;align-self:center;justify-self:end;width:min(100%,36rem);height:auto;aspect-ratio:1.08/1;transform:none;opacity:1}
  .hero-meta{grid-column:1/-1;grid-row:2;margin-top:0;padding:0;align-items:start}
}

@media(min-width:901px) and (max-height:820px){
  .hero{padding-top:1.6rem;padding-bottom:1.25rem;row-gap:1rem}
  .hero h1{font-size:clamp(3.5rem,6.1vw,5.7rem);margin:1.45rem 0 1.15rem}
  .positioning{font-size:clamp(1.55rem,2.25vw,2.3rem)}
  .hero-actions{margin-top:1.25rem}
  .hero-funnel{width:min(100%,31rem)}
  .hero-meta p{font-size:.78rem;line-height:1.45}
}

@media(max-width:900px){
  .hero{min-height:auto;padding:clamp(2.6rem,7vw,4.5rem) clamp(1.25rem,5vw,3.2rem) 2rem;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;row-gap:1.25rem}
  .hero-copy{grid-column:1;grid-row:1}
  .hero-funnel{position:relative;grid-column:1;grid-row:2;right:auto;top:auto;justify-self:center;width:min(82vw,27rem);height:auto;aspect-ratio:1.08/1;margin:.5rem auto 0;transform:none;opacity:1}
  .funnel-atoms{transform:scale(.78)}
  .hero-meta{grid-column:1;grid-row:3;grid-template-columns:1fr 1fr;margin-top:.75rem;padding:1.25rem 0 0;gap:1rem 2rem}
}

@media(max-width:620px){
  .hero{padding-top:2.2rem}
  .hero-funnel{width:min(88vw,23rem);margin-top:.25rem}
  .funnel-atoms{transform:scale(.64)}
  .hero-meta{grid-template-columns:1fr;gap:.7rem;padding-top:1rem}
  .hero-meta p{font-size:.8rem}
}

@media(prefers-reduced-motion:no-preference){
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-ring,
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-cone,
  .hero-copy:not(.is-visible)+.hero-funnel .funnel-beam{opacity:0}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-top{animation:funnel-lock-top .92s cubic-bezier(.23,1,.32,1) .12s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-middle{animation:funnel-lock-middle .92s cubic-bezier(.23,1,.32,1) .28s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-lower{animation:funnel-lock-lower .92s cubic-bezier(.23,1,.32,1) .44s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring-exit{animation:funnel-lock-exit .92s cubic-bezier(.23,1,.32,1) .6s both}
  .hero-copy.is-visible+.hero-funnel .funnel-cone{transform-origin:50% 100%;animation:funnel-lock-cone .82s cubic-bezier(.23,1,.32,1) .8s both}
  .hero-copy.is-visible+.hero-funnel .funnel-beam{transform-origin:50% 100%;animation:funnel-lock-beam .7s cubic-bezier(.23,1,.32,1) 1.02s both}
  .hero-copy.is-visible+.hero-funnel .funnel-ring:after{animation:none}
  .hero-copy.is-visible+.hero-funnel .funnel-atom{animation:funnel-atom-intake 6.1s cubic-bezier(.77,0,.175,1) calc(1.55s + var(--delay)) infinite}
  @keyframes funnel-lock-top{0%{opacity:0;transform:translate3d(calc(-50% - 5rem),-4.25rem,0) scale(.72)}72%{opacity:1;transform:translate3d(calc(-50% + .35rem),.18rem,0) scale(1.025)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}
  @keyframes funnel-lock-middle{0%{opacity:0;transform:translate3d(calc(-50% + 5.25rem),-1.5rem,0) scale(.68)}72%{opacity:1;transform:translate3d(calc(-50% - .3rem),.12rem,0) scale(1.025)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}
  @keyframes funnel-lock-lower{0%{opacity:0;transform:translate3d(calc(-50% - 4.25rem),2.4rem,0) scale(.62)}72%{opacity:1;transform:translate3d(calc(-50% + .25rem),-.1rem,0) scale(1.03)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}
  @keyframes funnel-lock-exit{0%{opacity:0;transform:translate3d(calc(-50% + 3.2rem),4.8rem,0) scale(.58)}72%{opacity:1;transform:translate3d(calc(-50% - .2rem),-.1rem,0) scale(1.035)}100%{opacity:1;transform:translate3d(-50%,0,0) scale(1)}}
  @keyframes funnel-lock-cone{0%{opacity:0;transform:scaleY(.08)}100%{opacity:1;transform:scaleY(1)}}
  @keyframes funnel-lock-beam{0%{opacity:0;transform:translate3d(-50%,10%,0) scaleY(.08)}100%{opacity:1;transform:translate3d(-50%,0,0) scaleY(1)}}
  @keyframes funnel-atom-intake{
    0%,7%{opacity:0;transform:translate3d(0,0,0) scale(.9)}
    13%{opacity:.9;transform:translate3d(0,0,0) scale(1)}
    38%{opacity:.92;transform:translate3d(var(--x1),var(--y1),0) scale(.86)}
    61%{opacity:.72;transform:translate3d(var(--x2),var(--y2),0) scale(.68)}
    78%{opacity:0;transform:translate3d(var(--x3),var(--y3),0) scale(.35)}
    100%{opacity:0;transform:translate3d(var(--x3),var(--y3),0) scale(.35)}
  }
}

@media(prefers-reduced-motion:reduce){
  .hero-funnel,.funnel-atoms{transform:none}
  .funnel-atom{display:none}
  .funnel-cone,.funnel-ring,.funnel-beam{opacity:1;animation:none}
  .funnel-ring{transform:translate3d(-50%,0,0)}
  .funnel-beam{transform:translate3d(-50%,0,0)}
}

/* Cases v30: editorial desktop composition with less dead space. */
@media(min-width:901px){
  .cases{padding-top:clamp(4.25rem,7vw,6.5rem);padding-bottom:clamp(5rem,8vw,8rem)}
  .cases>.section-title{grid-template-columns:12px minmax(0,1fr);grid-template-rows:auto auto;column-gap:1rem;row-gap:clamp(1.8rem,3vw,2.8rem);margin-bottom:clamp(1.5rem,3vw,2.75rem)}
  .cases>.section-title>.micro-mark{grid-column:1;grid-row:1;margin-top:.24rem}
  .cases>.section-title>p{grid-column:2;grid-row:1;font-size:.84rem}
  .cases-heading-core{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(23rem,.84fr) minmax(28rem,1.16fr);gap:clamp(2.75rem,5vw,6rem);align-items:center}
  .cases .cases-heading-core h2{max-width:7.3ch;font-size:clamp(4.25rem,5.65vw,6.2rem);line-height:.86;letter-spacing:-.065em}
  .cases .system-field{min-height:clamp(15.5rem,21vw,18.5rem)}
  .cases .system-field-labels{inset:.3rem 0 auto;font-size:.72rem}
}

@media(min-width:901px) and (max-width:1100px){
  .cases-heading-core{grid-template-columns:minmax(20rem,.86fr) minmax(25rem,1.14fr);gap:2.5rem}
  .cases .cases-heading-core h2{font-size:clamp(3.8rem,6.2vw,4.6rem)}
}

/* v31: clearer desktop case hierarchy and a compact results composition. */
@media(min-width:901px){
  .case{position:relative;grid-template-columns:4.5rem minmax(22rem,.92fr) minmax(23rem,1.08fr);gap:clamp(1.5rem,3.4vw,3.75rem);padding:clamp(3.25rem,5vw,4.75rem) 0;border-top:0}
  .case+.case{margin-top:1.25rem}
  .case:last-child{border-bottom:0}
  .case-number{display:grid;place-items:center;width:3.35rem;height:3.35rem;border:1px solid rgba(36,78,201,.24);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(229,238,255,.76));box-shadow:inset 0 1px 0 #fff,0 .85rem 2.4rem rgba(36,78,201,.1);font-size:.84rem}
  .case-intro{align-self:center;padding-right:clamp(.5rem,2vw,2rem)}
  .case-intro>p:first-child{margin-bottom:1.2rem;font-size:.78rem;font-weight:700;color:var(--blue)}
  .case-intro h3{max-width:20ch;margin-bottom:1.5rem;font-size:clamp(2.2rem,3.25vw,3.8rem);line-height:.94}
  .case-intro p:last-child{font-size:.92rem;line-height:1.5}
  .case-outcome{align-self:stretch;padding:clamp(1.5rem,2.8vw,2.5rem);border:1px solid rgba(36,78,201,.16);border-radius:1.5rem;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(232,240,255,.78) 58%,rgba(224,249,247,.62));box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 1.1rem 3rem rgba(36,78,201,.1)}
  .case-outcome h4{margin-bottom:1.1rem;color:var(--blue);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
  .case-outcome p{font-size:.96rem;line-height:1.55}
  .case-details{grid-column:2/-1;gap:.75rem;border:0;background:transparent}
  .case-details details{padding:1rem 1.15rem;border:1px solid rgba(36,78,201,.17);border-radius:1rem;background:linear-gradient(115deg,rgba(255,255,255,.9),rgba(233,241,255,.68),rgba(226,249,247,.55));box-shadow:inset 0 1px 0 #fff,0 .65rem 1.8rem rgba(36,78,201,.06)}
  .case-details summary{min-height:2.5rem}

  .proof{display:grid;grid-template-columns:minmax(19rem,1fr) 16rem;grid-template-areas:"heading counter" "metrics metrics";gap:clamp(3rem,6vw,6.5rem);align-items:center;padding-top:clamp(5rem,8vw,7.5rem);padding-bottom:clamp(5rem,8vw,7.5rem)}
  .proof>.section-title{grid-area:heading;display:grid;grid-template-columns:12px 1fr;gap:.9rem;margin:0;align-content:center}
  .proof>.section-title h2{grid-column:1/-1;margin-top:1.5rem;font-size:clamp(4.2rem,6vw,6.7rem);line-height:.86}
  .proof>.lead-counter{grid-area:counter;justify-self:end;width:16rem;min-height:0;aspect-ratio:1/1;margin:0;padding:1rem;border-radius:2rem}
  .proof>.lead-counter strong{font-size:clamp(3.75rem,4.2vw,4.75rem)}
  .proof>.lead-counter p{max-width:14rem;font-size:.8rem}
  .proof>.metric-list{grid-area:metrics;margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;border:0}
  .proof .metric{min-height:12rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:1.4rem;border:1px solid rgba(36,78,201,.14)!important;border-radius:1.15rem;background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 #fff}
  .proof .metric:nth-child(even){padding-left:1.4rem}
  .proof .metric strong{font-size:clamp(2.7rem,3.8vw,4.3rem)}
  .proof .metric p{font-size:.91rem;line-height:1.45}
}

@media(min-width:901px) and (max-width:1120px){
  .case{grid-template-columns:3.75rem minmax(19rem,.95fr) minmax(20rem,1.05fr);gap:1.75rem}
  .case-intro h3{font-size:clamp(2rem,3.3vw,2.8rem)}
  .proof{grid-template-columns:minmax(17rem,1fr) 15rem;gap:3.25rem}
  .proof>.lead-counter{width:15rem}
  .proof>.metric-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  .case-outcome{border-left:0;border:1px solid rgba(36,78,201,.16);border-radius:1.25rem;padding:1.4rem;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(232,240,255,.76),rgba(224,249,247,.54))}
  .case-details{gap:.65rem;border:0;background:transparent}
  .case-details details{border:1px solid rgba(36,78,201,.16);border-radius:1rem}
}
