/* FLOW — editorial type, warm surfaces, controlled motion. */
:root{--ink:#181916;--ink-2:#242622;--paper:#f5f3ec;--paper-2:#e9e6dc;--blue:#ed503b;--blue-deep:#a93022;--blue-soft:#f4ded5;--muted:#64645e;--line:rgba(24,25,22,.18);--pad:clamp(24px,5vw,80px);--nav:78px}
html{scroll-padding-top:100px}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{overflow-wrap:break-word}
.hero h1,.hero h1 em,.display,.display .soft,.level-card h3{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:-.035em;line-height:1.08}
.hero h1{font-size:clamp(64px,8.8vw,132px);margin:32px 0 40px;max-width:1050px;text-transform:none}
.hero h1 em{display:inline-block;font-weight:400;font-style:italic;text-transform:none;letter-spacing:-.025em;color:#f6f0e5}
.hero h1 em:after{content:"";display:block;width:100%;height:4px;background:var(--blue);margin-top:9px;transform-origin:left;animation:draw-line 1.2s var(--ease) both}
.hero{min-height:100svh}
.hero-inner{padding-top:calc(var(--nav) + 80px);padding-bottom:110px}
.hero:after{background:linear-gradient(90deg,rgba(10,14,12,.84),rgba(10,14,12,.45) 65%,rgba(10,14,12,.2)),linear-gradient(0deg,rgba(10,14,12,.55),transparent 70%)}
.hero .kicker{color:#f6eee0!important}
.hero-copy{font-size:clamp(17px,1.4vw,21px);line-height:1.65;max-width:570px;color:#e2e2dc;letter-spacing:0}
.hero-row{gap:48px}.hero-actions{gap:12px}
.display{font-size:clamp(44px,5.7vw,86px)}
.display .soft{font-style:italic;color:var(--blue-deep)}
.kicker{font-size:11px;line-height:1.5;letter-spacing:.16em;font-weight:600;margin-bottom:24px}
.lead{font-size:clamp(17px,1.5vw,22px);line-height:1.65;letter-spacing:0}
.section{padding:clamp(88px,9vw,144px) 0;scroll-margin-top:0}
.section-paper{background:var(--paper)}.section-paper2{background:var(--paper-2)}
.section-dark .display .soft,.section-portfolio .display .soft{color:#efa18c}
.section-dark .kicker,.section-portfolio .kicker{color:#efa18c}
.nav.scrolled{background:rgba(245,243,236,.96);color:var(--ink)}
.navlinks{font-size:11px;letter-spacing:.09em}.navlinks a{opacity:.9}
.btn,.nav-cta{border-radius:2px;font-weight:500;letter-spacing:.1em;min-height:48px}
.btn{padding:0 23px}.btn.primary{color:#fff}.btn:hover{transform:translateY(-2px)}
.flow-strip{background:var(--blue);border:0}.flow-strip span{font-family:inherit;font-weight:400;letter-spacing:.04em;font-size:clamp(15px,1.7vw,24px);padding:24px 28px;color:#fff}.flow-strip b{color:#fff;font-weight:300;opacity:.65}
.flow-strip:hover .flow-strip-track{animation-play-state:paused}
.manifesto strong,.module h3,.service-btn h3,.process-nav strong,.level-buttons strong{font-weight:500;letter-spacing:-.015em;line-height:1.25}
.manifesto-card h3,.system-detail h3,.fit-stage h3,.service-detail h3,.process-panel h3,.mobile-inline h4{font-family:inherit;font-weight:400;line-height:1.15;letter-spacing:-.025em}
.manifesto-card h3,.system-detail h3,.service-detail h3{font-size:clamp(32px,3.6vw,52px)}
.fit-stage h3,.process-panel h3{font-size:clamp(38px,4.4vw,66px)}
.manifesto-card,.system-detail,.fit-stage,.service-detail,.process-panel,.level-card,.form{border-radius:4px;box-shadow:none;padding:clamp(28px,3.6vw,52px)}
.manifesto-card{background:#252c26;min-height:440px}.manifesto-card:after{opacity:.25}
.manifesto-card .mini{margin-bottom:56px}
.manifesto button{padding:20px 0}.manifesto{margin-top:36px}
.system-head,.services-head,.portfolio-head{gap:60px;margin-bottom:52px}
.system-head>div,.services-head>div,.portfolio-head>div{flex:1;min-width:0}
.system-head>p,.services-head>p,.portfolio-head>p{flex:0 1 400px}
#system{background:#e4e5dc;color:var(--ink)}
#system .module{background:transparent;border-color:#b7b9ad;border-radius:4px;padding:24px;min-height:180px}
#system .module:hover,#system .module.active{background:#f7f5ef;border-color:var(--blue-deep);box-shadow:none}
#system .system-detail{background:#293a30}
.module h3{margin-top:30px}.module p{font-size:14px;padding-right:20px}.module-icon{border-radius:50%}
.fit-stage{background:#faf8f1;min-height:510px}.fit-stage:before{background:radial-gradient(circle at 95% 0%,#e4c4a455,transparent 55%)}
.fit-switch button,.process-nav button,.level-buttons button{border-radius:2px;padding:19px 20px}
.fit-path span{border-radius:2px;font-size:10px}
.service-stack{grid-template-columns:repeat(5,minmax(0,1fr));background:transparent}
.service-btn,.service-btn:last-child{min-height:340px;padding:24px 18px}
.service-btn h3{font-size:24px;margin-top:35px;line-height:1.2}.service-btn p{line-height:1.6;font-size:14px}
.service-btn:hover,.service-btn.active{background:#ebd9cb}
.service-detail{background:#363c31;padding:40px;margin-top:20px}.service-chips span{border-radius:2px;line-height:1.5}
.section-portfolio{background:#282d27}.portfolio-card{border-radius:3px}.portfolio-card img{filter:saturate(.85)}
#process{background:#18281f}.process-panel{background:#25382c;min-height:470px}.process-nav button.active,.process-nav button:hover{color:#fff}
.process-output{gap:18px}.process-output span,.detail-box span{color:#b9c6bc;line-height:1.5}
#levels{background:#ead9c5}.level-card{background:#f8f3e9;min-height:580px}.level-card h3{font-size:clamp(44px,5.4vw,80px)}
.level-card-top{flex-wrap:wrap;gap:20px}.level-price{font-weight:400;font-size:clamp(30px,3.2vw,44px);letter-spacing:-.02em;line-height:1.2}
.level-card:after{opacity:.12}.level-includes div{font-size:14px;line-height:1.6;padding:12px 0}.level-facts{gap:18px}.level-fact span{line-height:1.5}
#contact{background:#b93928;color:#fff}#contact .kicker,#contact .soft{color:#ffe1c5}.form{color:var(--ink);background:#fbf7ef}.form h3{font-weight:400;line-height:1.2;letter-spacing:-.02em}.field{margin-bottom:22px}.field label{font-size:11px;line-height:1.5}.field input,.field select,.field textarea{padding:14px 0}.footer{background:#171e18}
.scroll-invitation{position:absolute;bottom:30px;left:var(--pad);right:var(--pad);z-index:3;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#f7f3ea}
.scroll-invitation a{display:flex;align-items:center;gap:16px}.scroll-invitation a span{display:inline-block;font-size:22px;animation:nudge 2s ease-in-out infinite}
.motion-toggle{background:transparent;color:inherit;border:1px solid #ffffff55;padding:9px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.chapter-stamp{position:absolute;right:var(--pad);top:28px;font-size:11px;letter-spacing:.12em;opacity:.5;pointer-events:none}
.reveal-enter{animation:arrive .8s var(--ease) both}.section .shell{position:relative;z-index:1}
@keyframes arrive{from{opacity:.2;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes draw-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nudge{50%{transform:translateY(5px)}}
@media(min-width:821px){
 #philosophy{padding-top:130px}.intro-grid{grid-template-columns:1.05fr .95fr;gap:70px}.fit-grid{grid-template-columns:.9fr 1.1fr;gap:65px}.levels-layout{grid-template-columns:.8fr 1.2fr;gap:65px}
 .portfolio-card:nth-child(3n+2){transform:translateY(var(--drift,0px))}.portfolio-grid{gap:24px;padding-bottom:28px}
}
@media(min-width:821px) and (max-width:1100px){.service-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.service-btn:last-child{grid-column:1/-1}.hero-row{align-items:start;flex-direction:column;gap:20px}.intro-grid,.fit-grid,.levels-layout{gap:35px}.display{font-size:54px}}
@media(max-width:820px){
 :root{--nav:66px;--pad:24px;--blue:#c96b53;--blue-deep:#99442f;--blue-soft:#f0e1d8}
 .hero-inner{padding:150px var(--pad) 150px}.hero h1{font-size:clamp(54px,11.8vw,90px);line-height:1.12;margin:26px 0 30px;letter-spacing:-.03em}.hero h1 em{line-height:1.12}.hero h1 em:after{height:2px}
 .hero-row{display:block}.hero-copy{font-size:17px;line-height:1.65;max-width:500px}.hero-actions{margin-top:28px;gap:10px}.btn{font-size:10px;padding:0 16px;min-height:48px}
 .hero{min-height:100svh}.display{font-size:clamp(40px,8vw,62px);line-height:1.13;letter-spacing:-.025em}.kicker{font-size:10px;margin-bottom:20px}
 .section,#philosophy{padding:80px 0}.section:before{opacity:.4}.lead{font-size:17px;line-height:1.65}
 #system{background:#e9ece5}#levels{background:#eee6d9}#contact{background:#e6d5c5;color:var(--ink)}#contact .kicker,#contact .soft{color:var(--blue-deep)}
 .navlinks{background:#f5f3ec;max-height:calc(100dvh - 66px);overflow:auto}.navlinks a{padding:13px 0}.nav-cta{padding:14px!important}.menu-open .nav{background:#f5f3ec;color:var(--ink)}
 .service-stack{grid-template-columns:1fr}.service-btn,.service-btn:last-child{min-height:0;padding:24px;grid-column:auto}.service-btn h3{font-size:24px;margin:24px 0 12px}.service-btn .svc-icon{margin-top:18px}
 .system-head,.services-head,.portfolio-head{display:block;margin-bottom:32px}.system-head p,.services-head p{margin-top:24px}
 .module-grid{gap:12px}#system .module{padding:20px;min-height:175px}.module h3{font-size:23px}.module p{font-size:13px}.module-bars{display:none}
 .mobile-inline{padding:24px;animation:none}.mobile-inline h4{font-size:26px;line-height:1.2;letter-spacing:-.02em}.mobile-inline p{font-size:15px;line-height:1.65}.mobile-inline .inline-list div{font-size:13px;line-height:1.6}.mobile-inline .inline-grid strong{font-size:13px}.mobile-inline .inline-grid span{font-size:10px;line-height:1.5;opacity:.75}
 .portfolio-grid{gap:16px}.portfolio-card{transform:none}.form{padding:26px}.contact-grid{gap:32px}.chapter-stamp{display:none}.scroll-invitation{bottom:24px;font-size:9px}.flow-strip span{padding:20px 24px;font-size:15px}.reveal-enter{animation-duration:.5s}
}
@media(max-width:380px){:root{--pad:20px}.hero h1{font-size:50px}.hero-actions{flex-direction:column}.module-grid{grid-template-columns:1fr}}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important}.motion-paused .portfolio-card{transform:none!important}.motion-paused .reveal-enter{animation:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-enter{animation:none}.portfolio-card{transform:none!important}}
/* Review corrections: slim ticker, quiet symbols, consistent film grid. */
.flow-strip span{padding:12px 24px;font-size:16px;line-height:1.4;font-weight:400}.flow-strip b{margin-left:22px}
.module-bars{display:none!important}
#system .module-icon,.service-btn .svc-icon{border:0;background:none;border-radius:0;width:24px;height:24px}
.module-icon svg,.service-btn .svc-icon svg{width:22px;height:22px;stroke-width:1.2}
#system .module{padding:26px;min-height:184px;transform:none}.system-board{gap:24px}.module-grid{gap:16px}.module h3{margin-top:28px;margin-bottom:10px}
.detail-grid{gap:24px;margin-top:44px}.detail-box strong{font-weight:400;line-height:1.6}.system-detail p{line-height:1.7}
.fit-switch strong{font-weight:500}.fit-path span.on{background:#e4e3d6;border-color:#c7c9b9}.fit-stage{min-height:0;padding:48px}.fit-path{margin-top:36px}
.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;padding:0}
.portfolio-card,.portfolio-card--feature,.portfolio-card--wide{grid-column:auto;grid-row:auto;aspect-ratio:16/10;min-height:0;transform:none!important}
.portfolio-card--feature{grid-column:1/-1;aspect-ratio:21/9}.portfolio-head{margin-bottom:44px}.portfolio-card img{object-position:center}.portfolio-meta{bottom:22px;left:24px}.portfolio-meta strong{font-weight:400}
#philosophy:before,#fit:before,#services:before,#levels:before,#contact:before,.section-portfolio:before{display:none}
@media(max-width:820px){.flow-strip span{font-size:13px;padding:11px 20px}.system-board{gap:0}#system .module{padding:20px}.portfolio-grid{gap:16px}.portfolio-card--feature{aspect-ratio:16/10}.fit-stage{padding:28px}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card--feature{grid-column:auto}}
/* FLOW logo palette — blue, charcoal, white. */
:root{--ink:#11181c;--ink-2:#202b30;--paper:#f6f8f9;--paper-2:#eaf0f3;--blue:#92c8d6;--blue-deep:#376f7f;--blue-soft:#e0edf1;--muted:#566970;--line:rgba(17,24,28,.16)}
.hero h1 em{color:#92c8d6}.hero .kicker{color:#b9dce5!important}.hero-copy{color:#e3eaed}.hero h1 em:after{background:#92c8d6}
.nav.scrolled,.menu-open .nav{background:rgba(246,248,249,.96)}
.flow-strip{background:#c6e1e8}.flow-strip span{color:#172b34}.flow-strip b{color:#497c8b}
.btn.primary{color:#14282f}.section-paper{background:#f6f8f9}.section-paper2{background:#eaf0f3}
.manifesto-card{background:#16242b}.manifesto-card:after{background:#92c8d6}
#system{background:#e7eff2}#system .module{border-color:#b8cbd2}#system .module:hover,#system .module.active{background:#fff;border-color:#639baa}#system .system-detail{background:#162830}
.fit-stage{background:#fff}.fit-stage:before{background:none}.fit-path span.on{background:#dbeaf0;border-color:#b7d1da}
.service-btn:hover,.service-btn.active{background:#dfedf2}.service-detail{background:#172930}
.section-portfolio{background:#111b21}#process{background:#15242b}.process-panel{background:#1c3039}.process-nav button.active,.process-nav button:hover{color:#13272f}
.section-dark .display .soft,.section-portfolio .display .soft,.section-dark .kicker,.section-portfolio .kicker{color:#92c8d6}
.detail-box span,.process-output span{color:#b2c9d2}
#levels{background:#e8f0f3}.level-card{background:#fff}
#contact{background:#c6dfe7;color:#14262e}#contact .kicker,#contact .soft{color:#376f7f}.form{background:#fff}.footer{background:#101c22}
.scroll-invitation{color:#e7f0f3}
@media(max-width:820px){:root{--blue:#92c8d6;--blue-deep:#376f7f;--blue-soft:#e0edf1}.navlinks{background:#f6f8f9}#system{background:#edf3f5}#levels{background:#edf3f5}#contact{background:#dbeaf0;color:#14262e}#contact .kicker,#contact .soft{color:#376f7f}}
@media(max-width:820px){.intro-grid,.fit-grid,.levels-layout,.contact-grid{grid-template-columns:minmax(0,1fr);gap:32px}.intro-grid>*{min-width:0}.mobile-inline{width:100%}.hero-inner{margin:0 auto}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.module-grid{grid-template-columns:1fr}}
#system .system-detail{border-radius:4px;box-shadow:none}
/* Keep the philosophy card free of decorative shapes. */
.manifesto-card:after{display:none}
/* Philosophy: shared heading, aligned interaction row, compact detail. */
#philosophy{padding:96px 0}
#philosophy .intro-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:48px;row-gap:40px;align-items:stretch}
.philosophy-heading{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;column-gap:72px;align-items:end}
.philosophy-heading .kicker{grid-column:1/-1;margin:0 0 20px}
.philosophy-heading .display{font-size:clamp(44px,4.5vw,68px);line-height:1.08}
.philosophy-heading .lead{font-size:18px;line-height:1.6;margin:0 0 4px;max-width:430px}
#philosophy .manifesto{margin:0}
#philosophy .manifesto button{padding:17px 0;min-height:64px;grid-template-columns:32px 1fr auto;gap:16px}
#philosophy .manifesto button:hover,#philosophy .manifesto button.active{padding-left:0}
#philosophy .manifesto strong{font-size:23px;font-weight:400}
#philosophy .manifesto .status{width:7px;height:7px}
#philosophy .manifesto button.active .status{box-shadow:none}
#philosophy .manifesto-card{position:relative;top:auto;min-height:0;padding:32px 36px;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start}
#philosophy .manifesto-card .mini{margin:0 0 26px;font-size:10px;line-height:1.4}
#philosophy .manifesto-card h3{font-size:clamp(30px,3vw,44px);line-height:1.15;margin:0 0 16px}
#philosophy .manifesto-card p{font-size:16px;line-height:1.65;margin:0;max-width:52ch}
#philosophy .manifesto-data{margin-top:28px;gap:8px}
#philosophy .pill{font-size:10px;padding:7px 10px;border-radius:2px;line-height:1.4}
@media(max-width:820px){
 #philosophy{padding:72px 0}
 #philosophy .intro-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .philosophy-heading{display:block}.philosophy-heading .kicker{margin-bottom:16px}
 .philosophy-heading .display{font-size:clamp(40px,8vw,58px)}
 .philosophy-heading .lead{font-size:17px;margin-top:22px;max-width:100%}
 #philosophy .manifesto-card{display:none}
 #philosophy .manifesto button{min-height:62px;padding:16px 0}
}
/* Navigation: consistent alignment and FLOW-blue interaction. */
.navlinks{gap:28px;align-items:center}
.navlinks .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;line-height:1.2;margin-left:8px;transition:background .25s ease,color .25s ease,border-color .25s ease}
.navlinks .nav-cta:hover,.nav.scrolled .navlinks .nav-cta:hover,.navlinks .nav-cta:focus-visible,.nav.scrolled .navlinks .nav-cta:focus-visible,.navlinks .nav-cta:active{background:#92c8d6;border-color:#92c8d6;color:#11181c;opacity:1}
.hero-actions a[href="#contact"]:hover,.hero-actions a[href="#contact"]:focus-visible,.hero-actions a[href="#contact"]:active{background:#92c8d6;border-color:#92c8d6;color:#11181c}
@media(max-width:1080px) and (min-width:821px){.navlinks{gap:20px}.navlinks .nav-cta{margin-left:4px;padding:0 16px}}
@media(max-width:820px){.navlinks{gap:8px}.navlinks .nav-cta{margin:8px 0 0;min-height:48px;padding:14px 20px!important}}
/* Two modes: equal columns, shared edges and a consistent spacing scale. */
#fit{padding:96px 0}
#fit .fit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;align-items:stretch}
#fit .fit-kicker{grid-column:1/-1;margin:0}
.fit-copy{display:flex;flex-direction:column;min-width:0}
#fit .display{font-size:clamp(44px,4.5vw,68px);line-height:1.08;margin:0}
#fit .lead{font-size:18px;line-height:1.6;margin:24px 0 32px;max-width:48ch}
#fit .fit-switch{margin-top:auto;gap:12px}
#fit .fit-switch button{padding:20px 24px;min-height:84px}
#fit .fit-switch strong{font-size:18px;line-height:1.3;margin-bottom:6px}
#fit .fit-switch span{font-size:14px;line-height:1.4}
#fit .fit-stage{padding:36px;min-height:0;display:flex;flex-direction:column;border-radius:4px}
#fit .fit-stage h3{font-size:clamp(32px,3.2vw,46px);line-height:1.15;letter-spacing:-.025em;margin:0;max-width:19ch}
#fit .fit-stage p{font-size:16px;line-height:1.65;margin:24px 0 32px;max-width:48ch}
#fit .fit-path{margin-top:auto;padding-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#fit .fit-path span{min-height:46px;display:flex;align-items:center;justify-content:center;padding:12px;font-size:10px;line-height:1.4}
@media(max-width:820px){#fit{padding:72px 0}#fit .fit-grid{grid-template-columns:minmax(0,1fr);gap:20px}#fit .fit-stage{display:none}#fit .display{font-size:clamp(40px,8vw,58px)}#fit .lead{font-size:17px;margin:22px 0 28px}#fit .fit-switch button{padding:18px 20px}}
/* Capability selections share the same title, copy and chip tracks. */
@media(min-width:821px){
 .service-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding:36px;align-items:center;min-height:336px}
 .service-detail>div:first-child{display:grid;grid-template-rows:auto minmax(102px,auto) minmax(78px,auto);align-content:start}
 .service-detail .kicker{margin:0 0 20px;line-height:1.5}
 .service-detail h3{font-size:42px;line-height:1.18;margin:0;max-width:19ch}
 .service-detail p{font-size:16px;line-height:1.6;margin:12px 0 0;max-width:52ch}
 .service-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .service-chips span{min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:10px;line-height:1.5}
}
/* Process: balanced introduction, aligned tracks and useful context. */
#process{padding:96px 0}
.process-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;align-items:end}
.process-heading>.kicker{grid-column:1/-1;margin:0}
.process-heading .display{font-size:clamp(44px,4.5vw,68px);line-height:1.08}
.process-intro{max-width:500px}
.process-intro .lead{font-size:22px;line-height:1.4;color:#fff;margin:0 0 14px}
.process-intro>p:not(.lead){font-size:16px;line-height:1.65;color:#becbd1;margin:0 0 16px}
.process-intro>span{font-size:12px;line-height:1.5;color:#92c8d6}
.process-console{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;margin-top:40px;align-items:stretch}
.process-nav{gap:10px;grid-template-rows:repeat(5,minmax(64px,1fr))}
.process-nav button{padding:18px 24px;grid-template-columns:28px 1fr;gap:16px;min-height:64px}
.process-nav strong{font-size:20px;font-weight:400}
.process-panel{padding:32px 36px;min-height:360px;display:flex;flex-direction:column}
.process-panel:after{display:none}
.process-panel .stage-label{line-height:1.5;margin-bottom:22px}
.process-panel h3{font-size:clamp(30px,3vw,44px);line-height:1.15;margin:0 0 18px}
.process-panel .stage-copy{font-size:16px;line-height:1.65;margin:0 0 28px;max-width:52ch}
.process-output{margin-top:auto;gap:20px;padding-top:12px}
.process-output span{font-size:10px;margin-bottom:8px}.process-output strong{font-size:14px;font-weight:400;line-height:1.5}
@media(max-width:820px){#process{padding:72px 0}.process-heading{grid-template-columns:minmax(0,1fr);gap:20px}.process-heading .display{font-size:clamp(40px,8vw,58px)}.process-intro .lead{font-size:20px}.process-console{grid-template-columns:minmax(0,1fr);gap:0;margin-top:28px}.process-panel{display:none}.process-nav{grid-template-rows:none}.process-nav button{min-height:62px;padding:18px 20px}}
/* Levels: equal-width columns and aligned content edges. */
#levels{padding:96px 0}
#levels .levels-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:stretch}
.level-picker{position:static;display:flex;flex-direction:column;min-width:0}
#levels .kicker{margin:0 0 20px}
#levels .display{font-size:clamp(44px,4.5vw,68px);line-height:1.08}
#levels .lead{font-size:18px;line-height:1.6;margin:24px 0 32px;max-width:45ch}
.level-buttons{margin-top:auto;gap:10px}
.level-buttons button{padding:18px 24px;min-height:64px;grid-template-columns:16px minmax(0,1fr) auto;gap:16px}
.level-buttons strong{font-size:20px;font-weight:400}.level-buttons em{font-size:13px;opacity:.8}.level-buttons .lv-dot{width:8px;height:8px}
.level-card{padding:36px;min-height:0;border-radius:4px;display:flex;flex-direction:column}
.level-card:after{display:none}
.level-card-top{align-items:baseline;flex-wrap:nowrap;gap:16px}.level-card h3{font-size:clamp(34px,3.5vw,48px);line-height:1.15;letter-spacing:-.025em}.level-price{font-size:clamp(24px,2.5vw,34px);line-height:1.2}
.level-note{font-size:16px;line-height:1.6;margin:22px 0 24px;min-height:52px}
.level-meter{margin-bottom:24px;gap:8px}.level-meter i{height:4px;border-radius:0}
.level-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-bottom:24px}
.level-fact{padding-top:12px}.level-fact span{font-size:10px;margin-bottom:8px}.level-fact strong{font-size:14px;font-weight:500;line-height:1.5}
.level-includes{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:auto}
.level-includes div{font-size:13px;line-height:1.6;padding:12px 0;display:flex;align-items:center;min-height:46px}
.level-includes div:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:820px){#levels{padding:72px 0}#levels .levels-layout{grid-template-columns:minmax(0,1fr);gap:28px}#levels .display{font-size:clamp(40px,8vw,58px)}#levels .lead{font-size:17px;margin:22px 0 28px}.level-card{display:none}.level-buttons button{padding:18px 20px}}
.footer .shell{flex-wrap:wrap;gap:24px;align-items:center}
.footer-social{display:flex;align-items:center;gap:20px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#c4d1d7;transition:color .2s ease}
.footer-social svg{width:20px;height:20px;flex:none}
.footer-social a:hover,.footer-social a:focus-visible{color:#92c8d6}
@media(max-width:820px){.footer .shell{align-items:flex-start;gap:16px}.footer-social{gap:24px}}
/* Header geometry: one centerline and equal spacing between every link. */
@media(min-width:821px){
 .nav{height:80px;display:flex;align-items:center;padding-top:0;padding-bottom:0}
 .navlinks{display:flex;align-items:center;gap:28px;height:48px}
 .navlinks>a{display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:48px;margin:0;padding:0;line-height:1;font-size:11px;letter-spacing:.09em}
 .navlinks>a.nav-cta{box-sizing:border-box;width:180px;height:48px;min-height:48px;margin:0;padding:0 18px;line-height:1;flex:none;text-align:center}
}
@media(min-width:821px) and (max-width:1080px){.navlinks{gap:22px}.navlinks>a.nav-cta{width:168px}}
/* Self-hosted Manrope: confident weight with open, legible spacing. */
@font-face{font-family:Manrope;src:url('manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
body{font-family:Manrope,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.hero h1,.hero h1 em,.display,.display .soft,.level-card h3{font-family:Manrope,"Helvetica Neue",Arial,sans-serif;font-weight:550;font-style:normal;letter-spacing:-.035em;line-height:1.12}
.hero h1{font-size:clamp(60px,8.1vw,122px)}.hero h1 em{font-weight:550;letter-spacing:-.03em}
.manifesto-card h3,.system-detail h3,.fit-stage h3,.service-detail h3,.process-panel h3,.mobile-inline h4,.form h3{font-family:Manrope,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.025em;line-height:1.2}
.manifesto strong,.module h3,.service-btn h3,.process-nav strong,.level-buttons strong,.fit-switch strong{font-weight:550!important;letter-spacing:-.02em}
.navlinks>a{font-weight:500}.navlinks>a.nav-cta{font-weight:600;font-size:10px;letter-spacing:.08em}
.btn{font-weight:600}.flow-strip span{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:.025em}
#philosophy .manifesto-card h3,#process .process-panel h3{font-weight:500}.level-price{font-family:Manrope,sans-serif;font-weight:500;font-size:clamp(23px,2.3vw,32px)}
@media(max-width:820px){.hero h1{font-size:clamp(48px,10.8vw,82px);line-height:1.14}.hero h1 em{line-height:1.14}.display,.display .soft{letter-spacing:-.03em}}
.process-heading{align-items:start;row-gap:18px}
.process-heading .display{align-self:start}
.process-intro{align-self:start;padding-top:0}
.process-intro .lead{margin-top:0;font-size:20px;line-height:1.45}
.process-intro>p:not(.lead){margin-bottom:16px}
#process{padding-top:80px;padding-bottom:80px}
@media(max-width:820px){#process{padding:64px 0}.process-heading{gap:18px}}
@media(min-width:821px){
 .level-buttons{flex:none;grid-auto-rows:64px}
 .level-buttons button{height:64px;min-height:64px;transition:background .2s ease,color .2s ease,border-color .2s ease;transform:none}
 .level-card-top{min-height:56px}
 .level-note{min-height:78px}
 .level-facts{grid-auto-rows:minmax(72px,auto)}
 .level-includes{margin-top:0;grid-auto-rows:minmax(64px,auto)}
}
/* Blue typography consistently carries the FLOW italic accent. */
.hero h1 em,.display .soft,.kicker,.manifesto-card .mini,.system-detail small,.process-panel .stage-label,.process-intro>span,.portfolio-meta b{font-style:italic}
.hero h1 em{padding-right:.06em}
.navlinks>a.active:not(.nav-cta),.navlinks>a:hover:not(.nav-cta),.footer-social a:hover,.footer-social a:focus-visible{font-style:italic}
/* Transfer the hero's primary emphasis to the project action. */
.hero-actions:has(a[href="#contact"]:hover) .btn.primary,
.hero-actions:has(a[href="#contact"]:focus-visible) .btn.primary,
.hero-actions:has(a[href="#contact"]:active) .btn.primary{background:transparent;border-color:#fff;color:#fff}
/* Compact packages: horizontal selector and a wide two-column detail. */
@media(min-width:821px){
 #levels{padding:80px 0}
 #levels .levels-layout{display:block}
 .level-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;align-items:start}
 #levels .level-picker>.kicker{grid-column:1/-1;margin:0}
 #levels .display{font-size:clamp(40px,4vw,58px);line-height:1.12}
 #levels .level-picker>.lead{margin:0;align-self:center;font-size:18px;max-width:42ch}
 .level-buttons{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:12px;margin:12px 0 0}
 .level-buttons button{height:82px;min-height:82px;display:grid;grid-template-columns:10px 1fr;grid-template-rows:auto auto;gap:5px 10px;padding:16px 18px;align-content:center}
 .level-buttons .lv-dot{grid-column:1;grid-row:1}.level-buttons strong{grid-column:2;grid-row:1;font-size:17px;line-height:1.3}.level-buttons em{grid-column:2;grid-row:2;font-size:12px;line-height:1.4}
 .level-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;padding:32px;margin-top:20px;align-items:start}
 .level-summary,.level-scope{min-width:0}
 .level-card-top{min-height:0;align-items:baseline;gap:16px}
 .level-card h3{font-size:36px;line-height:1.2}.level-price{font-size:27px;line-height:1.2}
 .level-note{font-size:15px;line-height:1.6;margin:18px 0 20px;min-height:48px}
 .level-meter{margin-bottom:24px}
 .level-facts{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(60px,auto);gap:18px 24px;margin-bottom:0}
 .level-fact span{font-size:10px}.level-fact strong{font-size:13px;line-height:1.5}
 .level-scope{border-left:1px solid var(--line);padding-left:36px}
 .scope-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px;line-height:1.5;color:var(--muted)}
 .level-includes{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(44px,auto);gap:0 20px;margin:0}
 .level-includes div{font-size:12px;line-height:1.5;padding:10px 0;min-height:44px}
}
@media(min-width:821px) and (max-width:1000px){.level-card{gap:24px;padding:28px}.level-scope{padding-left:24px}.level-buttons button{padding:14px 12px}.level-card h3{font-size:30px}.level-price{font-size:23px}}
/* Contact uses a quiet dark surface, consistent with the FLOW detail panels. */
#contact .form{background:#172930;color:#edf4f6;border:1px solid #29434e;box-shadow:none}
#contact .form h3{color:#f4f8fa}
#contact .field label{color:#a8c7d2}
#contact .field input,#contact .field textarea,#contact .field select{color:#edf4f6;border-color:#526b76;color-scheme:dark}
#contact .field select option{background:#172930;color:#edf4f6}
#contact .form .btn{background:#92c8d6;border-color:#92c8d6;color:#11181c}
#contact .form .btn:hover{background:#b3dbe5;border-color:#b3dbe5}
/* Mobile philosophy is a single editorial accordion, not a card inside a list. */
@media(max-width:820px){
 #philosophy .manifesto{border-top:1px solid var(--line)}
 #philosophy .manifesto button{padding:20px 16px;grid-template-columns:26px 1fr 18px;gap:12px;border-bottom:1px solid var(--line);transition:background .2s,color .2s}
 #philosophy .manifesto button:hover{padding-left:16px}
 #philosophy .manifesto button.active{padding-left:16px;background:#172930;color:#f1f6f8;border-bottom-color:transparent}
 #philosophy .manifesto button.active .verb-no{color:#92c8d6}
 #philosophy .manifesto strong{font-size:22px;font-weight:500!important}
 #philosophy .manifesto .status{width:16px;height:16px;border:0;border-radius:0;background:none;position:relative;box-shadow:none}
 #philosophy .manifesto .status:before,#philosophy .manifesto .status:after{content:"";position:absolute;background:currentColor;left:2px;right:2px;height:1px;top:7px}
 #philosophy .manifesto .status:after{transform:rotate(90deg);transition:transform .2s}
 #philosophy .manifesto button.active .status{background:none;color:#92c8d6;box-shadow:none}
 #philosophy .manifesto button.active .status:after{transform:rotate(0deg)}
 #philosophy .mobile-inline{margin:0;padding:0 20px 26px 54px;background:#172930;color:#edf4f6;border:0;border-radius:0;border-bottom:1px solid #38525e}
 #philosophy .mobile-inline>small{display:none}
 #philosophy .mobile-inline h4{font-size:23px;font-weight:500;line-height:1.3;margin:0 0 14px;color:#92c8d6;font-style:italic}
 #philosophy .mobile-inline p{font-size:15px;line-height:1.7;color:#c8d6dc;opacity:1;margin:0;max-width:54ch}
 #philosophy .mobile-inline .inline-chips{gap:8px 16px;margin-top:20px;padding-top:16px;border-top:1px solid #ffffff25}
 #philosophy .mobile-inline .inline-chips span{padding:0;border:0;border-radius:0;font-size:9px;line-height:1.6;letter-spacing:.08em;color:#a7c5d0;opacity:1}
}
@media(max-width:380px){#philosophy .mobile-inline{padding-left:20px}.hero-actions .btn{width:100%}.hero-inner{padding-top:120px}}
/* Each marquee half fills the viewport and has an identical seamless copy. */
.flow-strip-track{display:flex;width:max-content;animation:strip var(--strip-duration,32s) linear infinite}
.flow-strip-group{display:flex;flex:0 0 auto;white-space:nowrap}
.flow-strip-group>span{display:block;flex:0 0 auto;white-space:nowrap}
.flow-strip:hover .flow-strip-track{animation-play-state:running}
/* Reserve each process text track for the longest stage at this width. */
@media(min-width:821px){
 .process-panel h3{min-height:var(--process-title-height,0px);flex-shrink:0}
 .process-panel .stage-copy{min-height:var(--process-copy-height,0px);flex-shrink:0}
 .process-panel .process-output{min-height:var(--process-output-height,0px);flex-shrink:0}
 .process-nav button{transform:none;transition:background .2s,color .2s,border-color .2s}
}
@media(min-width:821px){.portfolio-card:last-child:nth-child(even){grid-column:1/-1;aspect-ratio:21/9}}

/* Final refinement: calm interactions, compact contact and discreet pricing. */
.btn:hover{transform:none}
.service-btn .svc-icon{margin-top:0}
.service-btn h3{margin:32px 0 10px}
.level-price{max-width:210px;display:inline-block;white-space:normal;text-align:right;font-size:16px!important;line-height:1.4;letter-spacing:0;color:var(--blue-deep);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;cursor:pointer;transition:color .2s ease,background .2s ease}
.level-price:hover,.level-price:focus-visible{color:var(--ink);background:var(--blue-soft)}
.play-mark svg{display:block;width:16px;height:16px;fill:currentColor}
.level-buttons em{font-size:10px!important;line-height:1.35;letter-spacing:0}
#contact{padding:72px 0}
#contact .contact-grid{grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:clamp(48px,6vw,88px);align-items:center}
#contact .display{font-size:clamp(42px,4.8vw,72px)}
#contact .lead{margin:24px 0 0;max-width:38ch}
#contact .contact-meta{margin-top:22px;gap:2px;font-size:15px}
#contact .form{padding:30px 34px}
#contact .form h3{font-size:28px;margin:0 0 18px}
#contact .field{margin-bottom:14px}
#contact .field textarea{min-height:72px}
#contact .form .btn{min-height:44px;padding:0 28px}
@media(min-width:821px) and (hover:hover) and (pointer:fine){
 #manifesto button,#moduleGrid .module,.fit-switch button,#serviceStack .service-btn,#processNav button,#levelButtons button{cursor:default}
}
@media(max-width:820px){
 .service-btn h3{margin:0}
 .level-price{max-width:none;text-align:left;font-size:15px!important}
 #contact{padding:56px 0}
 #contact .contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 #contact .lead{margin-top:20px}
 #contact .form{padding:24px}
 #contact .form h3{font-size:25px;margin-bottom:18px}
 #contact .field{margin-bottom:16px}
 #contact .field textarea{min-height:84px}
}
