/* Comfortable reading sizes for the agency site. The demo documents retain their own identities. */
:root{--body:#405968;--muted:#5c7381}
body{font-size:17px}
.eyebrow,.hero .eyebrow,.closing .eyebrow,.demo-story .eyebrow,.outcome-grid .eyebrow,.result-copy>.eyebrow{font-size:12px;line-height:1.65;letter-spacing:.1em}
.brand small{font-size:10px;letter-spacing:.18em}
.desktop-nav{font-size:15px;gap:26px}
.nav-cta{font-size:15px;min-height:46px}
.hero-description{font-size:18px;line-height:1.75;max-width:480px}
.hero-detail{font-size:14px;line-height:1.8;color:#b1c8d5;max-width:500px}
.button,.hero-actions .button,.result-copy .button,.brief-controls .button{font-size:15px;min-height:52px;line-height:1.5}
.text-button,.hero-actions .text-button,.demo-detail .underlink,.underlink{font-size:15px;line-height:1.6}
.hero-actions{gap:18px 24px;flex-wrap:wrap}
.hero-actions .button{padding:15px 20px;gap:20px}
.hero-actions .text-button{gap:12px}
.hero-bottom{font-size:12px;line-height:1.7;letter-spacing:.06em}
.hero-bottom>a{font-size:14px;line-height:1.7}
.hero-tag{font-size:12px}
.mini-browser-bar{font-size:9px;letter-spacing:.06em}
.composition-caption{font-size:11px;letter-spacing:.06em}
.principle-strip{font-size:16px;line-height:1.6;color:#4e6673}
.section-note{font-size:12px;line-height:1.6;letter-spacing:.06em;color:#5d7482;max-width:360px;text-align:right}
.section-heading>p,.thinking .section-heading>p,.fit-intro>p:not(.eyebrow),.result-copy>p:not(.eyebrow),.scope-intro>p,.scope-list p,.approach-head>p,.process-grid p,.about p:not(.eyebrow),details>p,.closing-bottom p,.demo-story p:not(.eyebrow),.demo-proof p,.scope-boundaries article>p,.fit-boundary>p{font-size:16px;line-height:1.75}
.section-heading>p,.thinking .section-heading>p{max-width:390px}
.fit-choices button{font-size:16px;line-height:1.6;min-height:64px;gap:14px}
.fit-choices button>span:nth-child(2){flex:1;min-width:0}
.choice-number{font-size:12px;color:#627e8e}
.choice-arrow{flex-shrink:0}
.fit-note,.scope-note p,.concept-disclosure p{font-size:14px;line-height:1.75;color:#56717f}
.result-visual>span:not(.result-icon){font-size:12px;line-height:1.5;letter-spacing:.08em;max-width:calc(100% - 90px)}
.discovery-question>span,.priority-measure>span,.detail-label,.demo-proof article>span,.scope-boundaries article>span,.measurement-agreement>span{font-size:12px;line-height:1.6;letter-spacing:.07em;color:#4e6e80}
.discovery-question p,.priority-measure>p{font-size:16px;line-height:1.75}
.result-copy .button{margin-top:26px;padding:14px 17px;gap:18px;white-space:normal;text-align:left}
.demo-toolbar{flex-wrap:wrap;row-gap:12px}
.demo-tabs button{font-size:15px;min-height:44px;padding:10px 15px;gap:10px}
.demo-tools{margin-left:auto}
.device-switch button{font-size:14px;min-height:36px;line-height:1.4}
.expand-demo{min-width:40px;min-height:40px;justify-content:center}
.browser-address{font-size:12px;line-height:1.6;height:auto;min-height:44px;gap:12px;flex-wrap:wrap;padding:10px 16px;letter-spacing:.04em;color:#4b6879}
.browser-address .browser-dots{display:none}
.live-badge{font-size:12px;letter-spacing:.04em}
.demo-status{font-size:14px;line-height:1.6;align-items:flex-start;flex-wrap:wrap;gap:10px 20px;color:#536f7e}
.demo-status button{font-size:14px;line-height:1.6;padding:3px 0}
.demo-story{align-items:flex-start;gap:32px}
.demo-story>div:first-child{flex:1;min-width:0}
.demo-story h3{line-height:1.25}
.demo-detail{min-width:210px;max-width:300px;flex-shrink:1;gap:16px}
.demo-detail .feature-link{font-size:16px;line-height:1.6;white-space:normal}
.demo-detail .underlink{font-size:15px;line-height:1.6}
.demo-proof{gap:28px}
.demo-proof article+article{padding-left:28px}
.demo-proof article>span{display:block}
.concept-disclosure{gap:14px}
.disclosure-mark{margin-top:5px;width:18px;height:18px;font-size:12px}
.frame-loading p{font-size:16px}
.thinking .eyebrow{color:#b4cfde}
.thinking .section-note{color:#b4cbd8}
.outcome-grid p:not(.eyebrow){font-size:16px;line-height:1.8;color:#b9cedb}
.measurement-agreement>span{color:#b8d2e1}
.measurement-agreement>small{font-size:14px;line-height:1.8;color:#b2cad8}
.thinking-foot p{font-size:15px;line-height:1.75;max-width:740px}
.thinking-foot>button{font-size:15px;line-height:1.6;white-space:normal;text-align:left;flex-shrink:0;max-width:230px}
.scope-list article>span{font-size:12px;color:#627e8e}
.process-number{font-size:15px}
.process-grid small{font-size:12px;line-height:1.6;letter-spacing:.05em;color:#567384}
summary,.faq summary{font-size:16px;line-height:1.65;padding:23px 0}
.closing .eyebrow{color:#b7d0df}
.closing-bottom p{color:#bfd1dc}
.preview-caption{font-size:12px;line-height:1.7;letter-spacing:.06em;color:#afc9d9}
.footer-main{flex-wrap:wrap}
.footer-main p{font-size:15px;line-height:1.75;color:#b7cdd9;max-width:340px;margin-left:35px}
.footer-main>a:last-child{font-size:15px;line-height:1.6}
.footer-bottom{font-size:13px;line-height:1.7;flex-wrap:wrap;color:#b1c8d7}
.footer-bottom>span:nth-child(2){font-size:12px;line-height:1.7;letter-spacing:.04em}
.footer-bottom button{font-size:13px;line-height:1.7}
.expanded-note{font-size:13px;line-height:1.6;height:auto;min-height:50px;flex-wrap:wrap;padding:10px 20px}
.expanded-note button{font-size:14px;line-height:1.6}
.expanded-frame-wrap{height:calc(100% - 120px)}
.brief-brand{font-size:12px;line-height:1.5;letter-spacing:.06em}
.brief-step-label{font-size:12px;line-height:1.6;letter-spacing:.07em}
.brief-intro,.brief-result-note,.brief-recommendation>p,.brief-measure>p,.brief-agenda ol,.brief-agenda>p,.privacy-dialog p:not(.eyebrow){font-size:16px;line-height:1.75}
.brief-option{font-size:16px;line-height:1.6;gap:16px;padding:15px}
.brief-option>span{flex-shrink:0}
.brief-controls .underlink,.brief-download{font-size:15px;line-height:1.6}
.brief-preview-note{font-size:12px;line-height:1.75;letter-spacing:.05em;color:#56717f}
.brief-summary>div{font-size:15px;line-height:1.7;grid-template-columns:115px 1fr}
.brief-summary dt{color:#587280}
.brief-context summary,.brief-agenda summary{font-size:15px;line-height:1.6}
.brief-context-fields label{font-size:14px;line-height:1.6}
.brief-context-fields select{font-size:16px;line-height:1.5;padding:13px 11px}
.brief-measure>small{font-size:14px;line-height:1.7;color:#547383}
@media(max-width:1100px){
 .section-heading{flex-wrap:wrap;align-items:flex-start}.section-heading>p,.thinking .section-heading>p{max-width:600px}
 .thinking-foot{flex-wrap:wrap}.thinking-foot>button{margin-left:59px}
 .principle-strip{padding-left:7%;padding-right:7%;gap:20px}.principle-strip span+span{padding-left:5%}
}
@media(max-width:960px){
 .desktop-nav{display:none}.menu-toggle{display:block}.nav-cta{margin-left:auto}
}
@media(max-width:760px){
 .nav-cta{font-size:14px;min-height:44px;padding:9px 13px;gap:16px}
 .hero .eyebrow{font-size:12px}.hero-description{font-size:17px}.hero-detail{font-size:14px}
 .hero-actions{flex-wrap:wrap;gap:16px 22px}.hero-actions .button{font-size:15px;padding:15px 20px}.hero-actions .text-button{font-size:15px}
 .hero-bottom{flex-wrap:wrap;gap:12px}.hero-bottom>span{font-size:12px;max-width:none}.hero-bottom>a{font-size:14px;max-width:none}
 .composition-caption{display:none}
 .principle-strip{font-size:14px;gap:14px}.principle-strip span{max-width:150px}.principle-strip span+span{padding-left:5%}
 .section-heading>p,.thinking .section-heading>p,.approach-head>p{font-size:16px;line-height:1.75}
 .demo-tabs button{font-size:15px;padding:10px 13px}
 .demo-detail{min-width:0;max-width:none;gap:18px}.demo-detail .feature-link{font-size:16px}.demo-detail .underlink{font-size:15px}
 .demo-proof article+article{padding-left:0}
 .thinking-foot p{font-size:15px;max-width:calc(100% - 60px)}.thinking-foot>button{font-size:15px;margin-left:56px}
 .result-copy .button{font-size:15px;width:100%}
 .footer-main p{font-size:15px;max-width:290px;margin-left:0}.footer-main>a:last-child{font-size:15px}
 .footer-bottom{font-size:13px;gap:16px 20px}.footer-bottom>span:nth-child(2){font-size:12px;margin-left:0}.footer-bottom button{font-size:13px}
 .brief-summary>div{font-size:15px;grid-template-columns:98px 1fr;gap:14px}
 .privacy-dialog p:not(.eyebrow){font-size:16px}
 .expanded-note{font-size:12px;padding:10px 15px}.expanded-note button{font-size:14px}.expanded-frame-wrap{height:calc(100% - 150px)}
}
@media(max-width:430px){
 .nav-wrap{gap:10px}.brand small{font-size:10px}.nav-cta{font-size:14px;padding:9px 10px;gap:12px}
 .hero-tag{top:260px;font-size:12px;padding:10px 13px}
 .hero-actions .button{font-size:15px}.hero-actions .text-button{font-size:15px;gap:12px}
 .principle-strip{font-size:14px;gap:10px}.principle-strip span+span{padding-left:4%}
 .fit-choices button{font-size:16px;gap:12px}
 .demo-toolbar{padding:12px;gap:10px}.demo-tabs{width:100%;gap:4px}.demo-tabs button{flex:1;justify-content:center;font-size:15px;padding:10px 8px}
 .demo-tools{gap:12px}.device-switch button{font-size:14px;padding:8px 10px;gap:7px}.device-switch button span{display:inline}
 .demo-status>span{flex-basis:100%;max-width:none}.demo-status button{font-size:14px}
 .brief-controls .button{font-size:15px;padding:13px 17px}.brief-preview-note{font-size:12px}
 .brief-summary>div{font-size:15px;grid-template-columns:82px 1fr;gap:12px}
}
.nav-cta{white-space:nowrap}@media(max-width:360px){.nav-cta{display:none}.menu-toggle{margin-left:auto;min-width:40px;min-height:44px}}
.demo-story .eyebrow,.result-copy>.eyebrow{color:#4e6e80}.device-switch button,.demo-tabs button{color:#4e6b7b}.live-badge{color:#39634d}.result-visual::after{content:"";position:absolute;inset:35% 0 0;pointer-events:none;background:linear-gradient(transparent,#102a3bcc)}.result-visual>span{z-index:1}
