/* Shared readable type scale. Supporting copy never shrinks on mobile.
   Existing component styles retain the large display headings. */
:root{--copy-size:1.0625rem;--control-size:1rem;--caption-size:.875rem;--muted:#525d4d}
body{font-size:var(--copy-size);line-height:1.7}
.eyebrow{font-size:var(--caption-size);letter-spacing:.08em;line-height:1.65}
.preview{padding-block:10px;gap:20px;line-height:1.5}
.preview>span{letter-spacing:.06em;white-space:normal}
.preview>a{white-space:normal}
.breadcrumb{line-height:1.7}
.button,.button.small,.text-link,.filter,.menu-toggle{font-size:var(--control-size);line-height:1.5}
.button{gap:18px;min-height:54px;white-space:normal;text-align:left}
.text-link{line-height:1.6;gap:14px;white-space:normal}
.header nav{gap:22px;font-size:var(--control-size)}
.header nav a,.services-toggle{font-size:var(--control-size)}
.header nav .tools-nav{padding-left:20px}
.header nav .mega-group li>a,.header nav .mega-top>a,.header nav .mega-retained>a{font-size:var(--control-size);line-height:1.6}
.mega-top{gap:28px;align-items:center}
.mega-top .eyebrow{line-height:1.6}
.mega-grid{gap:32px}
.mega-retained{gap:30px;align-items:center}
.mega-retained>div strong{font-size:var(--control-size)}
.mega-retained>div>span{font-size:var(--caption-size);line-height:1.7}
.mega-group li>a{min-height:48px}
.header nav .mega-group h2>a{font-size:inherit}
.stage-intro{font-size:1.125rem;line-height:1.7;max-width:500px}
.stage-eyebrow{font-size:var(--caption-size);letter-spacing:.08em;line-height:1.7}
.stage-actions .button,.stage-explore{font-size:var(--control-size)}
.stage-base{font-size:var(--caption-size);letter-spacing:.06em;padding-block:18px}
.stage-base>a{font-size:var(--control-size)}
.image-credit{font-size:var(--caption-size);letter-spacing:0;max-width:40%;text-align:right;line-height:1.5}
.manifesto-copy>p:not(.large-copy),.support-intro>p:not(.eyebrow),.acc-body p,.work-heading>p,.project-copy>p:not(.eyebrow),.experience-copy>p:not(.eyebrow):not(.experience-footnote),.people-copy>p:not(.eyebrow):not(.large-copy),.service p,.support-list p,.story p:not(.eyebrow),.brand-links p,.steps p,.section-heading>p,.contact-inner p:last-child{font-size:var(--copy-size);line-height:1.75}
.support-contact,.support-contact a,.person-intro strong,.acc-body ul,.acc-body a,.project-tabs>button,.project-copy>.button,.dashboard-peek strong,.certify-actions .button,.certify-actions .text-link,.hr-band>div>b,.approach-steps b,.home-faq summary,.contact-bottom p,.contact-bottom a,.service .text-link,.service .secondary-link{font-size:var(--control-size);line-height:1.65}
.person-intro small,.project-copy>small,.project-tags>span,.feature-chips>span,.course-topics span,.dashboard-peek small,.learning-label small,.hr-band>div>span,.approach-steps small,.person-caption>span,.trial-caption{font-size:var(--caption-size);line-height:1.65;letter-spacing:0}
.experience-copy .experience-footnote{font-size:var(--caption-size)!important;line-height:1.75;color:#c1d7c9!important}
.experience-copy .eyebrow{opacity:1}
.project-image-label{font-size:var(--caption-size);letter-spacing:.06em;line-height:1.5;right:20px;width:fit-content;max-width:calc(100% - 40px)}
.dashboard-peek{gap:16px;align-items:center}
.dashboard-peek>div,.learning-label>div{min-width:0}
.dashboard-peek>img{flex-shrink:0}
.dashboard-peek>b{padding-inline:4px}
.learning-label small{color:#4e6073}
.learning-check{flex-shrink:0}
.hr-band{gap:28px}
.hr-band>div{min-width:0}
.contact-disc>small{font-size:var(--caption-size);letter-spacing:.03em;text-align:center}
.contact-bottom a{overflow-wrap:anywhere}
footer{font-size:var(--control-size);line-height:1.75}
.footer-base{font-size:var(--caption-size);line-height:1.7;gap:20px;flex-wrap:wrap}
.footer-grid{gap:50px}
.footer-grid a{overflow-wrap:anywhere}
.contact-options small{font-size:var(--control-size);overflow-wrap:anywhere}
.scope-panel li,.scope-panel small,details p,.article-sidebar>a,.sidebar-service p,.sidebar-service .text-link,.notes p,.notes li{font-size:var(--control-size);line-height:1.8}
.reading>p{font-size:1.125rem;line-height:1.85}
.reading>.preview-note,.preview-note{font-size:var(--caption-size);line-height:1.8}
.article-meta,.article-figure figcaption{font-size:var(--caption-size);line-height:1.7}
.article-meta{flex-wrap:wrap}
table{font-size:var(--control-size);line-height:1.7}
.client-ribbon-heading p:last-child{font-size:var(--copy-size)}
.client-ribbon-heading .text-link{font-size:var(--control-size)}
.client-ribbon-item>span{font-size:var(--caption-size);line-height:1.6}
.client-ribbon-grid{align-items:stretch}
.directory-heading>p,.client-profile p,.client-next p,.project-experience p,.client-story-links p,.retained-feature p:last-child,.service-group-intro p,.service-entry p{font-size:var(--copy-size);line-height:1.75}
.client-relationship,.service-jump a,.retained-feature .button,.service-entry .text-link,.page-service .retained-clients-link,.amazon-project .text-link{font-size:var(--control-size);line-height:1.6}
.relationship-tag{font-size:var(--caption-size);letter-spacing:.06em}
.service-group-intro>.eyebrow{font-size:var(--caption-size)}
.client-profile-copy,.service-entry{min-width:0}
.client-profile p{overflow-wrap:anywhere}
.client-story-links>a>span,.amazon-project>span{letter-spacing:.07em}
/* Pricing: the estimate is a readable document, not fine print. */
.pricing-hero .eyebrow{font-size:var(--caption-size);letter-spacing:.08em}
.pricing-lead{font-size:1.125rem;line-height:1.75}
.pricing-hero .button,.price-hero-link{font-size:var(--control-size)}
.price-hero-link{margin:22px 0 0;display:block;width:fit-content}
.price-opening-top{font-size:var(--caption-size);letter-spacing:.06em;gap:16px;line-height:1.6}
.price-opening li,.price-from{font-size:var(--control-size);line-height:1.7}
.price-opening-vat,.price-opening-small{font-size:var(--caption-size);line-height:1.7;max-width:none}
.price-opening-bottom{font-size:var(--caption-size);letter-spacing:.02em;gap:20px;line-height:1.6}
.price-opening-amount span,.estimate-amount span{font-size:var(--control-size)}
.price-principles{font-size:var(--control-size);line-height:1.7;align-items:start}
.price-principles>span{flex:1;min-width:0}
.pricing-preview-note{font-size:var(--caption-size);line-height:1.75;padding-block:18px}
.pricing-preview-note strong{white-space:normal;flex:0 0 200px;font-size:var(--caption-size)}
.pricing-section-heading>p,.pricing-other p:not(.eyebrow){font-size:var(--copy-size);line-height:1.75;max-width:410px}
.price-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
.price-presets>span{grid-column:1/-1;padding:14px 22px;border-bottom:1px solid #cbd2c0;font-size:var(--caption-size);letter-spacing:.06em}
.price-presets>button{font-size:var(--control-size);line-height:1.6;padding:20px 22px}
.price-presets>button:first-of-type{border-left:0}
.price-presets>button b{font-size:var(--control-size);line-height:1.7}
.price-example-note,.price-field-help{font-size:var(--caption-size);line-height:1.75;color:#4c5941}
.estimate-layout{grid-template-columns:1.16fr 1fr;gap:5%}
.price-label,.pricing-form select,.risk-options b,.price-options summary{font-size:var(--control-size);line-height:1.6}
.pricing-form select{height:58px;padding-inline:12px;text-overflow:ellipsis}
.risk-options small{font-size:var(--caption-size);line-height:1.65;color:#4b5940}
.risk-options label{padding:17px 18px}
.price-field-pair{grid-template-columns:1fr}
.price-field-pair .price-label{margin-top:4px}
.price-person p,.price-person a{font-size:var(--caption-size);line-height:1.75}
.price-person img{flex-shrink:0}
.price-jump{font-size:var(--control-size)}
.estimate-card{padding:30px;position:static}
.estimate-card-heading{flex-wrap:wrap;gap:12px;line-height:1.6}
.estimate-card-heading .eyebrow,.estimate-live{font-size:var(--caption-size);letter-spacing:.04em}
.estimate-live{white-space:normal}
.estimate-from,.estimate-vat{font-size:var(--control-size);line-height:1.7}
.estimate-breakdown>div{font-size:var(--control-size);line-height:1.65;margin:14px 0;gap:20px}
.estimate-breakdown dt{color:#455139}
.estimate-breakdown dd{flex-shrink:0}
.estimate-setup{font-size:var(--control-size);line-height:1.7;gap:20px}
.estimate-annual>div{font-size:var(--control-size);line-height:1.7;gap:20px;margin:9px 0}
.estimate-annual strong{font-size:1.125rem}
.estimate-annual b{white-space:nowrap}
.estimate-annual p,.estimate-assumptions,.estimate-terms{font-size:var(--caption-size);line-height:1.75;color:#4c5940}
.estimate-assumptions{margin:22px 0}
.estimate-card>.button,.price-copy{font-size:var(--control-size);line-height:1.6}
.price-copy{gap:18px;min-height:54px;text-align:left}
.copy-status,#estimate-text{font-size:var(--caption-size);line-height:1.75}
.estimate-message,.scope-grid li,.scope-grid a,.pricing-other .text-link,.pricing-faq summary,.pricing-faq details p{font-size:var(--control-size);line-height:1.75}
.scope-grid li{margin:16px 0}
.scope-grid p{font-size:var(--control-size);line-height:1.75}
.scope-number{font-size:var(--caption-size);letter-spacing:.06em;line-height:1.7}
.price-opening-bottom>span{flex-shrink:0}
@media(max-width:1200px){
 .header nav{gap:14px}.header nav .tools-nav{padding-left:14px}.header nav a,.services-toggle{font-size:.9375rem}.header nav>.button.small{padding-inline:15px;font-size:.9375rem}
 .stage-base{letter-spacing:.02em}.stage-base>a{gap:14px}
 .pricing-hero-grid{grid-template-columns:1.1fr 1fr;gap:5%}.pricing-hero h1{font-size:7vw}
}
@media(max-width:1040px){
 .header nav#main-nav>a,.header nav#main-nav>.button,.services-toggle,.menu-toggle{font-size:var(--control-size)}
 .header nav .mega-top>a,.header nav .mega-group li>a,.header nav .mega-retained>a{font-size:var(--control-size)}
 .mega-top .eyebrow{font-size:var(--caption-size)}
 .mega-retained>div strong{font-size:var(--control-size)}
 .mega-retained>div>span{font-size:var(--caption-size)}
 .mega-menu{max-height:none}.mega-top,.mega-retained{flex-wrap:wrap;gap:18px}
 .stage-base{align-items:start;gap:18px}.image-credit{bottom:125px}
 .pricing-hero-grid{grid-template-columns:1fr 1fr;gap:30px}.pricing-hero h1{font-size:6.7vw}
 .estimate-layout{grid-template-columns:1fr 1fr;gap:30px}.estimate-card{padding:24px}
 .estimate-card-heading{display:block}.estimate-live{display:block;margin-top:8px}
 .estimate-breakdown>div,.estimate-setup,.estimate-annual>div{gap:14px}
 .estimate-breakdown>div{flex-wrap:wrap;row-gap:3px}.estimate-breakdown dd{margin-left:auto}
 .pricing-section-heading{gap:30px}.pricing-section-heading>p{max-width:45%}
}
@media(max-width:800px){
 .stage-eyebrow{max-width:600px}.stage-base>a{display:none}.image-credit{bottom:115px;max-width:60%}
 .project-tabs>button{padding:18px 12px;gap:10px;flex-wrap:wrap}.project-tabs>button>b{display:none}
 .project-copy>.button{font-size:var(--control-size)}
 .project-copy{min-height:0}
 .experience-copy>p:not(.eyebrow):not(.experience-footnote){max-width:none}
 .hr-band{flex-wrap:wrap}.hr-band>div{max-width:100%}
 .pricing-hero-grid{grid-template-columns:1fr}.pricing-hero h1{font-size:clamp(66px,11vw,86px)}
 .price-opening{max-width:600px;margin:5px 10px 0 0}.price-opening-amount{font-size:98px}
 .pricing-section-heading{display:block}.pricing-section-heading>p{max-width:600px;margin-top:24px}
 .estimate-layout{grid-template-columns:1fr;gap:35px}.price-jump{display:inline-block;margin-top:25px;border-bottom:1px solid #768265;padding-bottom:6px}
 .price-field-pair{grid-template-columns:1fr 1fr}.estimate-card-heading{display:flex}.estimate-live{margin-top:0}
 .estimate-breakdown>div{flex-wrap:nowrap}.estimate-card{padding:30px}.estimate-amount{font-size:83px}
 .scope-grid{grid-template-columns:1fr;gap:28px}.scope-grid article+article{border-top:1px solid #5e6b4d66;padding-top:28px}
 .scope-grid h3{font-size:24px;margin-bottom:22px}
 .price-principles{flex-direction:column;gap:12px}
 .pricing-preview-note .wrap{display:block}.pricing-preview-note strong{display:block;margin-bottom:7px}
 .pricing-other{grid-template-columns:1fr;gap:32px}
 .pricing-faq .faq-layout{grid-template-columns:1fr;gap:32px}
 .client-ribbon-heading{flex-wrap:wrap;gap:20px}.service-jump{flex-wrap:wrap}
}
@media(max-width:580px){
 :root{--copy-size:1rem}
 .preview{padding:10px 20px;display:block}.preview>span,.preview>a{font-size:var(--caption-size);line-height:1.6;white-space:normal}.preview>a{display:inline-block;margin-top:3px}
 .header nav#main-nav>a,.header nav#main-nav>.button,.services-toggle{font-size:var(--control-size)}
 .mega-grid{gap:26px}.mega-top{display:block}.header nav .mega-top>a{margin-top:16px;font-size:var(--control-size)}
 .header nav .mega-group li>a{font-size:var(--control-size)}
 .hero-stage{min-height:860px}.stage-content{padding-bottom:160px}.stage-eyebrow{font-size:var(--caption-size);letter-spacing:.04em;align-items:start}.stage-eyebrow .signal-dot{margin-top:9px}
 .stage-intro{font-size:1.0625rem;line-height:1.75}.stage-actions .button{font-size:var(--control-size);padding:17px 18px;gap:16px}
 .stage-base{font-size:var(--caption-size);line-height:1.65;min-height:100px;letter-spacing:0}.image-credit{bottom:115px;max-width:calc(100% - 40px);font-size:var(--caption-size);line-height:1.5}
 .support-contact,.support-contact a,.acc-body a{font-size:var(--control-size)}
 .project-tabs>button{font-size:var(--control-size);line-height:1.5;overflow-wrap:anywhere;min-height:80px}.project-tabs>button>span{font-size:var(--caption-size)}
 .project-image-label{font-size:var(--caption-size);letter-spacing:0}
 .project-copy{padding:30px 24px}.project-copy>small{margin-bottom:25px}
 .feature-chips>span,.course-topics span{font-size:var(--caption-size);line-height:1.6}
 .dashboard-peek{padding:17px;gap:12px}.dashboard-peek>img{display:none}.dashboard-peek small{font-size:var(--caption-size);letter-spacing:0}.dashboard-peek strong{font-size:var(--control-size)}
 .trial-caption{font-size:var(--caption-size);line-height:1.5;bottom:9px;padding-inline:8px}.dashboard-peek{bottom:70px}.lone-product-visual{min-height:535px}
 .learning-label{padding:18px 14px;gap:12px}.learning-label strong{font-size:18px}.learning-label small{font-size:var(--caption-size);letter-spacing:0}.learning-label>b{display:none}
 .learning-check{width:32px;height:32px}.certify-actions{flex-wrap:wrap;gap:18px}
 .hr-band>div{width:100%;max-width:none}.hr-band>div>b{font-size:var(--control-size)}.hr-band>div>span{font-size:var(--caption-size)}
 .approach-steps{gap:18px;grid-template-columns:1fr}.approach-steps>div{display:grid;grid-template-columns:30px 1fr;gap:2px 12px}.approach-steps span{grid-row:1/3;margin:0}.approach-steps small{grid-column:2;margin-top:3px}
 .contact-top>.eyebrow{font-size:var(--caption-size);max-width:100%;letter-spacing:.04em}.contact-top{gap:20px}
 .contact-bottom p{font-size:var(--control-size)}.contact-bottom a{font-size:var(--control-size)}
 .footer-grid{gap:32px}.footer-base{font-size:var(--caption-size)}.footer-base>div{flex-wrap:wrap;gap:12px 20px}
 .mobile-contact-bar{min-height:62px}.mobile-contact-bar a{font-size:var(--caption-size);padding:13px 12px;line-height:1.5;white-space:normal}.mobile-contact-bar>a:last-child{flex:1}
 body{padding-bottom:75px}.reading>p{font-size:var(--copy-size)}
 .client-ribbon-heading .eyebrow{font-size:var(--caption-size)}.client-ribbon-heading p:last-child{font-size:var(--copy-size)}.client-ribbon-heading .text-link{font-size:var(--control-size)}
 .client-ribbon-item>span{font-size:var(--caption-size)}.service-jump a{font-size:var(--control-size)}
 .relationship-tag{white-space:normal;line-height:1.6}
 .pricing-hero .eyebrow{font-size:var(--caption-size);letter-spacing:.06em;line-height:1.7}.pricing-hero h1{font-size:clamp(43px,14.7vw,88px)}
 .pricing-lead{font-size:var(--copy-size)}.pricing-hero .button,.price-hero-link{font-size:var(--control-size)}
 .price-hero-link{display:block;margin:20px 0 0}
 .price-opening{padding:26px 24px 0}.price-opening-amount{font-size:84px}.price-opening-top{font-size:var(--caption-size)}
 .price-opening-bottom{flex-wrap:wrap;gap:12px}.price-opening-bottom>span{margin-left:auto}
 .price-principles{font-size:var(--control-size)}.pricing-preview-note strong{font-size:var(--caption-size)}
 .price-presets{grid-template-columns:1fr}.price-presets>button{display:block;font-size:var(--control-size);border-left:0;padding:18px 20px}.price-presets>button b{font-size:var(--control-size);margin-top:5px;white-space:normal}
 .price-label,.pricing-form select,.price-options summary{font-size:var(--control-size)}
 .price-field-pair{grid-template-columns:1fr}.risk-options label{padding:17px 14px}.risk-options small{font-size:var(--caption-size)}
 .price-step legend{font-size:20px;line-height:1.5}.price-step legend>span{font-size:24px}
 .estimate-card{padding:26px 20px}.estimate-card-heading{display:block}.estimate-live{margin-top:8px}
 .estimate-amount{font-size:76px}.estimate-word{font-size:43px}
 .estimate-breakdown>div{font-size:var(--control-size);flex-wrap:wrap;row-gap:3px;gap:8px 15px}
 .estimate-setup,.estimate-annual>div{font-size:var(--control-size);flex-wrap:wrap;gap:6px 14px}
 .estimate-setup strong,.estimate-annual b,.estimate-annual strong{margin-left:auto}
 .estimate-annual strong{font-size:18px}
 .estimate-card>.button{font-size:var(--control-size);padding:17px}
 .pricing-faq summary,.pricing-faq details p{font-size:var(--control-size)}
}

.footer-grid h3{font-size:1rem;line-height:1.6;letter-spacing:.04em}
