:root{--body-size:clamp(18px,1.4vw,20px);--section-size:clamp(44px,3.9vw,56px);--muted:#485c69;--space:8px}
body{font-size:var(--body-size);line-height:1.55}
.wrap{width:min(1320px,calc(100% - 80px))}
p{max-width:62ch;text-wrap:pretty}
.section{padding-block:clamp(64px,5.5vw,88px)}
h2,.contact h2{font-size:var(--section-size);line-height:1.12;letter-spacing:-1.9px;margin-bottom:24px}
h3{line-height:1.25}
.eyebrow{font-size:14px;line-height:1.45;letter-spacing:.7px;margin-bottom:20px}
.header{height:88px;gap:24px}
.brand{width:64px;height:70px;flex-shrink:0}
.brand img{width:115px;height:115px;left:-25px;top:-24px;max-width:none;object-fit:contain}
.header nav{font-size:17px;gap:28px}
.nav-cta{font-size:17px;min-height:44px;padding:9px 17px}
.nav-cta span{margin-left:14px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;padding-block:40px 48px;align-items:center}
.hero-copy{max-width:none;min-width:0}
h1{font-size:clamp(72px,5.6vw,88px);line-height:1.05;letter-spacing:-3.3px;margin-bottom:24px}
h1 .last-line{font-size:1em;line-height:1.05;letter-spacing:inherit;margin-top:0}
h1>.headline-line{padding-bottom:.13em;margin-bottom:-.13em}
h1 em::after{height:2px;bottom:2px}
.intro,.section-intro>p:last-child,.section-copy{font-size:var(--body-size);line-height:1.55;max-width:58ch}
.intro{margin-top:0;margin-bottom:24px;max-width:49ch}
.actions{gap:16px 20px;margin-top:0;align-items:center;flex-wrap:wrap}
.button{font-size:17px;line-height:1.35;padding:13px 18px;min-height:48px;gap:12px;max-width:100%;white-space:normal;text-align:center}
.text-link{font-size:17px;line-height:1.4;padding:8px 0}
.text-link span{margin-left:8px}
.hero-foot,.hero-foot span{font-size:14px;line-height:1.5;letter-spacing:0}
.hero-foot{margin-top:24px;gap:8px 16px;flex-wrap:wrap}
.hero-visual{padding-top:0;margin:0;min-width:0}
.hero-visual::before{width:100px;height:100px;top:-8px;right:-8px}
.orbit-label{font-size:14px;line-height:1.4;letter-spacing:.5px;margin:0 0 12px}
.orbit-label span{font-size:22px;margin-left:8px}
.scene-top{font-size:14px;line-height:1.4;padding:12px 16px;gap:12px}
.scene-dots{font-size:8px}
.scene-heading{padding:16px 18px 12px}
.scene-heading>span{font-size:22px;line-height:1.25}
.scene-heading small{font-size:14px;line-height:1.4;margin-top:4px;display:block}
.scene-board{display:grid;gap:10px;height:auto;min-height:0;padding:12px 20px 20px;position:relative}
.task,.organized .task{position:relative;top:auto;left:auto;width:100%;height:auto;min-height:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;transition:transform 760ms cubic-bezier(.22,.75,.2,1),box-shadow 350ms,border-color 350ms}
.task-icon{width:28px;height:32px;font-size:20px;grid-row:auto}
.task>div{min-width:0}
.task small{font-size:14px;line-height:1.35;letter-spacing:0}
.task strong{font-size:18px;line-height:1.3;margin:3px 0}
.task-next,.organized .task-next{font-size:14px;line-height:1.35;margin-top:2px}
.task-status,.organized .task-status{font-size:14px;line-height:1.3;max-width:86px;padding:4px 6px;margin:0;white-space:normal;grid-column:auto}
.task-one{transform:translate(-3px,0) rotate(-4deg)}
.task-two{transform:translate(5px,0) rotate(3deg)}
.task-three{transform:translate(-3px,0) rotate(-3deg)}
.organized .task-one,.organized .task-two,.organized .task-three{top:auto;transform:translate(0,0)}
.loose-file{font-size:14px;top:36%;left:0;pointer-events:none}
.loose-note{font-size:14px;right:12px;bottom:5px;pointer-events:none}
.scene-bottom{padding:12px 16px;gap:12px;flex-wrap:wrap;align-items:center}
.scene-bottom>span{font-size:14px;line-height:1.4;max-width:none;flex:1 1 190px}
.scene-bottom .button,.organized .scene-bottom .button{font-size:17px;line-height:1.35;padding:10px 14px;min-height:44px;gap:8px}
.visual-caption{font-size:14px;line-height:1.4;margin:12px 0 0;gap:10px}
.fiction,.hero-visual>.fiction{font-size:14px;line-height:1.5;margin:8px 0 0;max-width:62ch}
.strip{font-size:15px;padding-block:16px}
.strip .wrap{align-items:center;flex-wrap:wrap;gap:8px 24px}
.strip i{margin-inline:8px}
.solutions{display:block}
.section-intro{position:static;display:grid;grid-template-columns:1.1fr 1fr;gap:0 56px;align-items:center;margin-bottom:32px}
.section-intro .eyebrow{grid-column:1/-1}
.section-intro h2{margin-bottom:0}
.section-intro>p:last-child{max-width:48ch;margin-bottom:0}

.solution-example{background:#f1f7f5;border-left:3px solid var(--teal);padding:12px 16px;margin-bottom:12px}
.solution-example>span{display:block;font-size:14px;color:var(--muted);line-height:1.4;margin-bottom:4px}
.solution-example>strong{display:block;font-size:18px;font-weight:500;line-height:1.45}
.solution-details{padding:0;border:0}
.solution-details summary{font-size:16px;line-height:1.5;cursor:pointer;color:var(--teal);padding-block:4px}
.calculator{grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.calculator-controls{max-width:560px;margin-top:24px}
.calculator-controls>label{font-size:18px;line-height:1.5;gap:12px;align-items:start}
.calculator-controls output{font-size:20px;white-space:nowrap}
input[type=range]{min-height:44px;margin-block:12px 4px}
.range-labels{font-size:14px;line-height:1.5}
fieldset{margin-top:24px}
legend{font-size:18px;line-height:1.5;margin-bottom:12px}
.percentages span{font-size:18px;padding:10px}
.calculator-result{border:0;background:#eff7f4;padding:24px 28px;min-height:0;border-radius:6px;overflow:hidden}
.calculator-result>p:first-of-type{font-size:14px;line-height:1.5;letter-spacing:0;max-width:30ch;margin-bottom:0}
.big-result{font-size:clamp(100px,8.5vw,132px);line-height:1.15;letter-spacing:-6px;margin:18px 0 12px}
.big-result span{font-size:48px;letter-spacing:-2px;margin-left:10px}
.calculator-result h3{font-size:28px;line-height:1.25;margin-bottom:18px}
.calculator-result #formula{font-size:18px;line-height:1.5;padding-top:14px;margin-bottom:10px}
.calculator-result small{font-size:15px;line-height:1.5;max-width:55ch}
.result-star{top:54px;right:24px;width:54px;height:40px}
.process-section{border:0;background:var(--soft)}
.process-heading{display:flex;align-items:center;gap:24px}
.process-heading h2{margin-bottom:0;max-width:none}
.process-heading>p{font-size:18px;line-height:1.5;max-width:26ch;margin-bottom:0}
.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:32px;position:relative}
.process::before{content:'';display:block;position:absolute;top:22px;left:22px;right:22px;height:1px;background:#91bbb6;transform:none}
.process article:nth-child(n){display:block;position:relative;border:0;padding:0;margin:0;min-width:0}
.process article>span{width:44px;height:44px;font-size:18px;letter-spacing:0;border:1px solid #91bbb6;background:var(--soft);position:relative;display:grid;place-items:center;border-radius:50%}
.process h3{font-size:26px;line-height:1.3;margin:16px 0 10px;letter-spacing:-.7px}
.process p{font-size:18px;line-height:1.5;max-width:30ch;margin:0}
.team{grid-template-columns:1.4fr 1fr;gap:64px;border:0;align-items:center}
.founders{font-size:22px;line-height:1.4;gap:16px 24px;margin-top:24px}
.founders span{border:0;padding:0;font-weight:500;color:var(--navy)}
.identity{padding:8px 0;max-width:440px;width:100%}
.logo-crop{width:200px;max-width:100%;margin-bottom:12px}
.logo-toggle{padding:8px 0}
.logo-instruction{font-size:16px;line-height:1.5}
.logo-open .piece-al{transform:translate(8px,-8px)}
.logo-open .piece-lo{transform:translate(-9px,3px)}
.logo-open .piece-t{transform:translate(7px,9px)}
.logo-names{gap:8px;flex-wrap:wrap;padding-bottom:12px}
.logo-names>span{font-size:15px;padding:6px 10px}
.identity summary{font-size:16px;line-height:1.5}
.identity details p{font-size:18px;line-height:1.5;max-width:55ch}
.contact{padding-block:64px;background:#eef7f4}
.contact .eyebrow{margin-bottom:16px}
.contact h2{margin-bottom:20px;padding:0}
.contact-bottom{align-items:center;gap:24px;flex-wrap:wrap}
.contact-bottom p{font-size:18px;line-height:1.5;max-width:48ch;margin:0}
.message-box{margin-top:24px;max-width:700px}
.message-box label{font-size:15px;margin-bottom:8px}
textarea{font-size:18px;line-height:1.5;padding:12px 14px;min-height:100px}
.message-box p{font-size:15px;line-height:1.5;margin-top:8px}
footer{font-size:14px;line-height:1.5;padding-block:24px;flex-wrap:wrap}
@media(max-width:1100px){.hero{gap:28px;grid-template-columns:1.25fr 1fr}
h1{font-size:clamp(58px,5.6vw,72px)}
.section-intro{gap:32px}
.calculator{gap:40px}
.process{gap:20px}
.process h3{font-size:24px}
.team{gap:40px}
}
@media(max-width:950px){.hero{grid-template-columns:1fr;gap:28px}
.hero-copy{max-width:740px}
.hero-visual{width:100%;max-width:680px;margin-inline:auto}
h1{font-size:clamp(60px,8vw,76px)}
.process-heading{display:block}
.process-heading>p{max-width:55ch;margin-top:14px}
.process{grid-template-columns:1fr 1fr;gap:24px}
.process::before{display:none}
.process article:nth-child(n){display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 16px}
.process article>span{grid-row:1/3}
.process h3{margin:0}
.process p{grid-column:2;max-width:38ch}
.team{grid-template-columns:1.2fr 1fr;gap:32px}
}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}
.section{padding-block:56px}
:root{--section-size:clamp(36px,6.3vw,44px)}
.header{height:80px}
.header nav{display:none}
.hero{padding-block:28px 32px}
.hero-copy .eyebrow{max-width:32ch}
.section-intro{grid-template-columns:1fr;gap:18px;margin-bottom:24px}
.section-intro .eyebrow{margin-bottom:0}
.section-intro>p:last-child{max-width:58ch}
.calculator{grid-template-columns:1fr;gap:28px}
.process{grid-template-columns:1fr;gap:24px;margin-top:24px}
.process::before{display:block;top:22px;bottom:22px;left:21px;right:auto;width:1px;height:auto}
.process article:nth-child(n){grid-template-columns:44px minmax(0,1fr)}
.process h3{font-size:26px}
.process p{max-width:50ch}
.team{grid-template-columns:1fr;gap:24px}
.identity{max-width:480px;justify-self:center;margin:0}
.contact-bottom{flex-direction:column;align-items:start;gap:20px}
.contact{padding-block:48px}
.contact-bottom p br{display:none}
}
@media(max-width:480px){:root{--body-size:18px;--section-size:clamp(34px,9.5vw,42px)}
.section{padding-block:48px}
h1{font-size:clamp(40px,10.6vw,51px);line-height:1.08;letter-spacing:-1.8px}
h1 .last-line{font-size:1em;line-height:1.08;letter-spacing:inherit}
h2,.contact h2{letter-spacing:-1.3px}
.hero{gap:24px}
.actions{gap:12px}
.actions .button{width:100%}
.intro{font-size:18px;line-height:1.55;max-width:55ch}
.eyebrow{font-size:14px;letter-spacing:.3px}
.hero-foot{margin-top:18px}
.orbit-label{font-size:14px;max-width:none;text-align:left}
.hero-visual::before{display:none}
.scene-top{padding:10px 12px;gap:8px}
.scene-top>span:last-child{display:none}
.scene-heading{padding:14px 14px 8px}
.scene-heading>span{font-size:22px}
.scene-board{padding:10px 14px 18px;gap:10px}
.task,.organized .task{grid-template-columns:24px minmax(0,1fr);gap:4px 8px;padding:10px;min-height:0}
.task-icon{width:24px;height:28px;grid-row:1/3}
.task strong{font-size:18px}
.task-status,.organized .task-status{grid-column:2;justify-self:start;max-width:none;margin-top:4px;font-size:14px}
.task-next,.organized .task-next{font-size:14px}
.scene-bottom{padding:12px;flex-direction:row;align-items:center;gap:10px}
.scene-bottom>span{flex:1 1 155px;font-size:14px}
.scene-bottom .button,.organized .scene-bottom .button{font-size:17px}
.visual-caption{font-size:14px}
.loose-file{font-size:14px;top:36%;left:0}
.loose-note{font-size:14px}
.strip{font-size:14px;line-height:1.6}
.strip i{margin-inline:4px}
.solution-example{padding:10px 12px}
.solution-example>strong{font-size:18px}
.calculator-controls>label{font-size:18px}
.calculator-controls output{font-size:18px}
legend{font-size:18px}
.percentages span{font-size:17px}
.calculator-result{padding:20px}
.big-result{font-size:clamp(96px,26vw,120px);margin:14px 0 12px}
.big-result span{font-size:44px}
.calculator-result h3{font-size:26px}
.calculator-result #formula{font-size:18px}
.calculator-result small{font-size:15px}
.result-star{width:44px;height:32px;top:72px;right:18px}
.process p{font-size:18px}
.founders{font-size:22px;gap:12px 20px}
.logo-crop{width:164px}
.logo-instruction{font-size:16px}
.logo-names>span{font-size:15px}
.identity summary{font-size:16px}
.identity details p{font-size:18px}
.contact h2{padding:0;margin-bottom:18px}
.contact-bottom .button{width:100%}
.message-box{margin-top:20px}
.message-box label{font-size:15px}
textarea{font-size:18px;min-height:110px}
.message-box p{font-size:14px}
footer{font-size:14px}
}
@media(max-width:360px){h1{font-size:36px;letter-spacing:-1.5px}
.calculator-result{padding:16px}
.big-result{font-size:92px}
}
@media(prefers-reduced-motion:reduce){.task,.organized .task,.logo-piece{transition:none!important}
}

