/* APLENIX · Launch polish. Designed for the approved visual language.
   Narrower measure, editorial density and restrained motion. */
:root{--container:1200px;--radius:14px}
body{overflow-x:clip}
.container{width:min(var(--container),calc(100% - 72px))}
.site-header{height:74px;transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{background:rgba(253,253,251,.95);box-shadow:0 8px 24px rgba(12,25,58,.045)}
.header-inner{max-width:var(--container);gap:22px}
.nav-links{gap:26px}
.nav-links>a:not(.button){position:relative}
.nav-links>a:not(.button)::after{position:absolute;content:"";height:2px;width:0;bottom:-8px;left:0;background:var(--blue);transition:width .24s ease}
.nav-links>a:not(.button):hover::after,.nav-links>a[aria-current="page"]:not(.button)::after{width:100%}
.button{transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s,box-shadow .28s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}
.button:active{transform:translateY(0) scale(.98)}
.button-primary:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(16,44,189,.18)}
.button-primary::before{content:"";position:absolute;inset:0;transform:translateX(-130%) skewX(-25deg);width:45%;background:linear-gradient(90deg,transparent,#ffffff29,transparent);transition:transform .7s ease;pointer-events:none}
.button-primary:hover::before{transform:translateX(370%) skewX(-25deg)}
.hero-grid{min-height:0;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:32px;padding-top:48px;padding-bottom:44px}
.hero h1{font-size:clamp(53px,4.75vw,76px);line-height:1.02;letter-spacing:-.073em;white-space:normal;margin:22px 0 22px}
.hero-description{font-size:16px;line-height:1.62;max-width:545px;margin-bottom:23px}
.hero-description .hero-break{display:none}
.hero-actions{margin-bottom:23px}
.hero-actions .button{min-height:54px;font-size:13px;padding-inline:19px}
.hero-points{font-size:12px;gap:14px}
.hero-points span+span{padding-left:14px}
.hero-visual{width:100%;max-width:100%;transform:none;position:relative;isolation:isolate}
.hero-visual img{width:100%;height:auto;mix-blend-mode:normal;filter:drop-shadow(0 18px 18px rgba(17,49,105,.05));animation:hero-rise 1s cubic-bezier(.16,1,.3,1) both,hero-drift 8s ease-in-out 1s infinite}
.hero-copy{animation:hero-rise .9s cubic-bezier(.16,1,.3,1) both}
.hero-copy .eyebrow{animation:hero-rise .7s cubic-bezier(.16,1,.3,1) both}
.hero h1 span{background-size:190% auto;animation:grad-shift 7s ease-in-out infinite alternate}
@keyframes hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes grad-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
.expertise-section{padding:26px 0 66px}
.expertise-section .section-heading-line h2,.section-heading-line h2{font-size:clamp(32px,3.15vw,46px);line-height:1.14}
.expertise-section .section-heading-line p,.section-heading-line p{font-size:14px;max-width:400px;line-height:1.65}
.section-heading-line{gap:34px;margin:11px 0 25px}
.expertise-grid{margin-inline:0;gap:12px}
.expertise-card{gap:10px;padding:16px 14px;min-height:133px;box-shadow:0 6px 15px rgba(14,35,89,.025);border-radius:13px;transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s,border-color .34s}
.expertise-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px rgba(13,37,105,.095)}
.icon-shell{width:57px;height:57px;flex:0 0 57px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.expertise-card:hover .icon-shell{transform:scale(1.08) rotate(-3deg)}
.icon-shell img{width:34px}
.expertise-card-copy{max-width:calc(100% - 67px);padding-top:3px}
.expertise-card strong{font-size:14px;line-height:1.32;margin-bottom:9px;padding-right:16px}
.expertise-card small{font-size:12px;line-height:1.48}
.round-arrow{top:12px;right:10px;width:27px;height:27px;transition:transform .25s,background .25s,color .25s}
.expertise-card:hover .round-arrow{transform:translateX(3px);background:var(--blue);color:#fff}
/* More deliberate rhythm — not acres of whitespace */
.story-section,.method-section,.challenge-section,.difference-section,.engage-section,.home-faq-section,.insight-section,.closing-section,.service-benefits,.service-fit,.service-process,.service-related,.about-philosophy,.about-grounding,.thinking-topics,.contact-next,.inner-intro-section,.capabilities-section,.outcome-section,.faq-section,.company-section,.thinking-section{padding-top:72px;padding-bottom:72px}
.story-grid,.difference-layout,.engage-layout,.fit-layout,.about-philosophy-grid{gap:6%}
.story-copy h2,.insight-grid h2,.challenge-header h2,.difference-heading h2,.engage-text h2,.home-faq-intro h2,.fit-heading h2,.about-philosophy h2,.about-grounding h2{font-size:clamp(36px,3.7vw,52px);line-height:1.12;margin:15px 0 19px}
.story-copy p,.insight-right p,.challenge-header p,.difference-heading>p,.engage-text>p,.home-faq-intro>p,.fit-heading>p,.about-philosophy p,.about-grounding p{font-size:14px;line-height:1.75}
.story-feature{min-height:345px;padding:33px}
.feature-title{font-size:clamp(33px,3.2vw,45px)}
.method-grid{gap:24px;margin-top:24px}.method-grid>div{padding-top:20px}.method-grid h3{font-size:clamp(21px,2vw,27px);margin:18px 0 11px}.method-grid p{line-height:1.7}
.challenge-header{gap:6%;margin-bottom:25px}.challenge-card{min-height:310px;padding:25px 24px}
.challenge-mini-icon{margin:16px 0 14px;width:46px;height:46px}
.challenge-card h3{font-size:22px}.challenge-card p,.benefit-card p{line-height:1.7}
.difference-points>div{padding:16px 0}.difference-points h3,.fit-row h3{font-size:19px}
.engage-visual{min-height:470px;padding:32px;border-radius:18px}.engage-mark img{max-width:240px}
.engage-option{margin-top:13px;padding-top:13px}.engage-option h3{font-size:18px}.engage-option p{line-height:1.55;margin:0}
.faq-list details{padding:19px 4px}.faq-list summary{font-size:15px;align-items:center}
.insight-grid{gap:6%;grid-template-columns:1fr .85fr}.email-bridge{padding:25px 0}.email-bridge-inner{padding:26px 30px}
.closing-card{padding:40px 44px;border-radius:16px}.closing-layout h2{font-size:clamp(36px,3.5vw,52px)}
.site-footer{padding-top:56px}.footer-grid{gap:25px}.footer-base{margin-top:38px}
/* Inner pages: stronger layout, tighter top fold */
.pagehero{padding:43px 0 60px}.pagehero-contact{padding-bottom:55px}.pagehero h1{font-size:clamp(50px,5.2vw,73px);max-width:850px;margin:19px 0 17px}.pagehero p{font-size:16px;max-width:640px}.crumb{margin-bottom:25px}
.inner-intro-grid{gap:6%}.inner-intro-grid h2,.company-details h2{font-size:clamp(35px,3.5vw,51px)}.inner-intro-grid p{font-size:15px;line-height:1.75}
.capability-grid{gap:13px;margin-top:25px}.capability-card{min-height:182px;padding:28px;transition:transform .35s ease,box-shadow .35s ease}.capability-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(14,34,84,.07)}.capability-card h3{font-size:25px;margin:18px 0 9px}.capability-card p{line-height:1.68}
.outcome-inner h2{font-size:clamp(40px,4vw,60px)}.benefit-grid{gap:13px;margin-top:25px}.benefit-card{min-height:230px;padding:25px}.benefit-tick{margin-bottom:17px}.benefit-card h3{font-size:22px}
.service-process-grid{gap:13px;margin-top:20px}.service-process-grid article{padding:25px}.service-process-grid h3{font-size:21px}
.contact-section{padding:65px 0}.contact-grid{gap:6%}.aside-card{padding:30px}.contact-form-wrap h2{font-size:40px}
.field input,.field textarea,.field select{transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#8498ed;box-shadow:0 0 0 4px #e9eeff}
.thinking-grid article{padding:25px 0 43px}.thinking-grid h2{font-size:clamp(32px,3.2vw,47px)}
/* Scroll movement with safe default: content is always visible if JS is absent. */
.js-motion [data-reveal].reveal-pending{opacity:0;transform:translateY(24px)}
.js-motion [data-reveal].reveal-active{opacity:1;transform:translateY(0);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.js-motion [data-reveal].reveal-active[data-stagger="1"]{transition-delay:70ms}
.js-motion [data-reveal].reveal-active[data-stagger="2"]{transition-delay:135ms}
.js-motion [data-reveal].reveal-active[data-stagger="3"]{transition-delay:195ms}
/* Fine visual detail: a precise rule and a visible interactive response. */
.method-grid>div,.difference-points>div,.engage-option,.fit-row{transition:border-color .25s ease,background-color .25s ease}
.method-grid>div:hover{border-top-color:var(--gold)}
.faq-list summary span{display:grid;place-items:center;transition:transform .3s ease,color .3s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.wa-float{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}
.wa-float:hover{transform:translateY(-5px);box-shadow:0 13px 28px #164e2a50}
@media(max-width:1250px){
 .hero h1{font-size:clamp(49px,5vw,66px)}
 .nav-links{gap:19px}
 .expertise-card{padding:14px 10px;gap:9px}
 .icon-shell{width:52px;height:52px;flex-basis:52px}.expertise-card-copy{max-width:calc(100% - 59px)}
 .expertise-card strong{font-size:13px}.expertise-card small{font-size:11.5px}
}
@media(max-width:1050px){
 .container{width:min(100% - 56px,840px)}
 .hero-grid{grid-template-columns:1fr;gap:24px;padding-top:48px}
 .hero-copy{max-width:735px}.hero h1{font-size:clamp(52px,7vw,74px)}
 .hero-visual{max-width:730px;justify-self:center}
 .expertise-grid{grid-template-columns:repeat(2,1fr)}
 .expertise-card strong{font-size:16px}.expertise-card small{font-size:13px}
 .expertise-card{min-height:120px;padding:18px}.icon-shell{width:64px;height:64px;flex-basis:64px}
 .expertise-card-copy{max-width:calc(100% - 76px)}
 .story-grid,.engage-layout,.difference-layout,.fit-layout,.about-philosophy-grid{gap:5%}
 .engage-visual{min-height:425px}
}
@media(max-width:790px){
 .container{width:calc(100% - 40px)}
 .hero-grid{padding-top:42px;padding-bottom:38px}.hero h1{font-size:clamp(47px,8vw,65px)}
 .hero-points{font-size:11.5px}.hero-points span+span{padding-left:10px}
 .story-section,.method-section,.challenge-section,.difference-section,.engage-section,.home-faq-section,.insight-section,.closing-section,.service-benefits,.service-fit,.service-process,.service-related,.about-philosophy,.about-grounding,.thinking-topics,.contact-next,.inner-intro-section,.capabilities-section,.outcome-section,.faq-section,.company-section,.thinking-section{padding-top:54px;padding-bottom:54px}
 .story-grid,.engage-layout,.difference-layout,.fit-layout,.about-philosophy-grid,.home-faq-section .container{grid-template-columns:1fr;gap:25px}
 .story-feature{min-height:300px}.engage-visual{min-height:355px;order:2}.engage-text{order:1}
 .challenge-grid,.benefit-grid,.thinking-topic-grid,.service-process-grid{grid-template-columns:1fr}
 .challenge-grid>*:last-child,.benefit-grid>*:last-child,.thinking-topic-grid>*:last-child{grid-column:auto}
 .challenge-card{min-height:auto}.challenge-header{grid-template-columns:1fr}
 .difference-heading,.fit-heading{position:static}
 .pagehero{padding:34px 0 49px}.pagehero h1{font-size:clamp(42px,8vw,60px)}
 .section-heading-line{align-items:flex-start}
}
@media(max-width:560px){
 .container{width:calc(100% - 36px)}
 .site-header{height:68px}
 .hero h1{font-size:clamp(42px,10.3vw,56px);letter-spacing:-.07em}
 .hero-description{font-size:14.5px}
 .hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{font-size:13px;width:100%;min-height:51px}
 .hero-points{gap:8px 10px}.hero-points span+span{border:0;padding-left:0}
 .expertise-section{padding:35px 0 48px}.expertise-grid{grid-template-columns:1fr}
 .expertise-card{min-height:115px}.expertise-card strong{font-size:15px}.expertise-card small{font-size:12.5px}
 .section-heading-line{flex-direction:column;gap:10px}.section-heading-line h2,.expertise-section .section-heading-line h2{font-size:35px}
 .story-copy h2,.insight-grid h2,.challenge-header h2,.difference-heading h2,.engage-text h2,.home-faq-intro h2,.fit-heading h2{font-size:38px}
 .closing-card{padding:31px 24px}.closing-layout h2{font-size:38px}
 .contact-form-wrap h2{font-size:34px}.pagehero h1{font-size:45px}
 .footer-grid{gap:25px}.email-bridge-inner{padding:25px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .js-motion [data-reveal].reveal-pending,.js-motion [data-reveal].reveal-active{opacity:1!important;transform:none!important}
}
