/* Roboto typography: one working family, clear editorial roles. */
@font-face{font-family:Roboto;src:url('assets/Roboto-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-body:Roboto,Arial,sans-serif;--font-display:Roboto,Arial,sans-serif;--font-mono:Roboto,Arial,sans-serif;--text-body:1rem;--text-small:.875rem;--text-caption:.75rem}
body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.65}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:550;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}
.hero h1{font-size:clamp(3.5rem,6.8vw,6rem);font-weight:550;letter-spacing:-.035em;line-height:1.05;max-width:17ch}
.hero-meta{font-size:var(--text-caption);letter-spacing:.02em;text-transform:none;margin-bottom:32px}
.hero-meta>span{max-width:none}
.rec{font-family:var(--font-mono);font-size:.6875rem}
.lede{font-size:1.0625rem;line-height:1.65;max-width:49ch;margin-top:28px}
.navlinks{font-size:var(--text-small);gap:32px}
.btn,.btn.lg{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:0}
.btn{gap:24px}.btn.lg{padding:16px 22px}
.trust-badge{font-size:.6875rem}
.clients .label,.client-result{font-family:var(--font-body);font-size:.6875rem;letter-spacing:.015em;text-transform:none}
.clients .label{margin-bottom:4px}
.client-result{line-height:1.4}
.metric .n{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em;font-variant-numeric:lining-nums}
.metric .l{font-size:var(--text-caption);line-height:1.5;max-width:24ch}
.sec-head{max-width:680px}
.sec-head h2{font-size:clamp(2rem,3.8vw,3rem);margin-top:0;max-width:22ch}
.sec-head p,.founder p{font-size:var(--text-body);line-height:1.65;max-width:65ch;margin-top:18px}
.meta h3{font-size:1.125rem;font-weight:600;letter-spacing:-.015em;line-height:1.4;text-wrap:pretty}
.meta p{font-size:var(--text-small);margin-top:5px}
.views{font-family:var(--font-body);font-size:var(--text-caption)}
.portfolio-row-head h3{font:500 1rem/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:#c8d5cd;flex-shrink:1}
.portfolio-mini-copy h4{font:550 .875rem/1.4 var(--font-body);letter-spacing:-.01em;min-height:0}
.portfolio-mini-copy p{font-size:var(--text-caption);color:#a5b4aa;line-height:1.5;margin-bottom:14px}
.portfolio-watch{font:500 .75rem/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:#b5c7bb;padding-block:5px}
.portfolio-mini-copy{padding:13px 9px 9px}
.portfolio-preview-empty{font-family:var(--font-body);letter-spacing:-.02em}
.tier-heading{min-height:54px}
.tier h3{font-size:1.5rem;font-weight:550;letter-spacing:-.02em;line-height:1.18;text-wrap:pretty}
.tier-summary{font-size:var(--text-small);line-height:1.6;min-height:3.2em}
.tier-ribbon,.price-label,.includes-label{font:500 .75rem/1.4 var(--font-body);letter-spacing:0;text-transform:none}
.tier-ribbon{padding-bottom:17px;margin-bottom:24px}
.price-panel{padding:22px 0;background:none;border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--surface-border)}
.tier .price{font:500 3.5rem/1.1 var(--font-display);letter-spacing:-.035em;margin:9px 0 10px;font-variant-numeric:lining-nums}
.tier.feat .price{font-size:4.25rem}
.price-caption{font-size:var(--text-caption);line-height:1.5}
.tier-detail,.tier li{font-size:var(--text-small);line-height:1.5}
.tier li{padding-left:22px}
.tier li:before{content:'';width:12px;height:12px;top:4px;border-radius:0;background:currentColor;color:#a7cfb2;mask:url('assets/check.svg') center/contain no-repeat}
.feat li:before{background:currentColor;color:#c4ddcd}
.founder .role{font:500 var(--text-small)/1.5 var(--font-body);text-transform:none;letter-spacing:0;margin-bottom:14px}
.founder h2{font-size:clamp(2rem,3.8vw,3rem);margin-bottom:24px}
.quote p{font-size:1.125rem;line-height:1.65}.quote .who{font-size:var(--text-small)}
.q button{font-family:var(--font-body);font-size:1.125rem;font-weight:500;line-height:1.45;letter-spacing:-.01em}
.q .a p{font-size:var(--text-body);line-height:1.65;max-width:70ch}
.launch-copy h2{font-family:var(--font-display);font-weight:550;font-size:clamp(2rem,3.7vw,3rem);line-height:1.12;letter-spacing:-.025em}
.launch-copy p{font-size:var(--text-body);line-height:1.65;max-width:46ch}
.foot{font-size:var(--text-small)}
@media(max-width:1060px){.navlinks{gap:24px}.tier h3{font-size:1.375rem}.tier .price{font-size:3rem}.tier.feat .price{font-size:3.625rem}}
@media(max-width:860px){.navlinks{gap:0}.navcta .btn{font-size:.8125rem}.tier h3{font-size:1.5rem}.hero h1{font-size:clamp(3rem,8vw,4.5rem)}.hero-meta{margin-bottom:28px}.launch-copy p{font-size:var(--text-body)}}
@media(max-width:560px){.navcta .btn{font-size:.75rem;gap:10px;padding:11px 12px}.hero h1{font-size:clamp(2.5rem,10.5vw,3.5rem);letter-spacing:-.03em}.lede{font-size:var(--text-body)}.hero-meta{font-size:.6875rem}.portfolio-row-head h3{font-size:.875rem}.portfolio-mini-copy h4{font-size:.875rem}.client-result{font-size:.6875rem}.btn.lg{font-size:.8125rem;padding:15px 16px;gap:14px}.metric .n{font-size:2rem}.metric .l{font-size:.75rem}.launch-copy h2{font-size:2.25rem}.launch-copy p{font-size:var(--text-body)}.q button{font-size:1rem}}
/* Let enlarged text reflow metrics rather than forcing wide grid tracks. */
@media(max-width:860px){.metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}.metric{min-width:0}.metric .n{overflow-wrap:anywhere}}

/* Keep supporting site labels in the same family; client wordmarks retain their identities. */
.brand-name,.brand-studio,.metric-label,.metric-client,.mono,.eyebrow,.label,.tag,.hero-caption,.hero-index,.section-index,.motion-toggle,.tier-symbol,.portfolio-row-controls button{font-family:var(--font-body)}
