/* Phase 12: CSP-friendly project detail spacing (moved out of inline style attributes). */
.case-stage--detail{margin-top:42px}.inner-section-head--project{margin-top:70px}
/* Phase 12: classic-menu output keeps footer legal links readable without hardcoded separators. */
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:260px}
.footer-legal a{display:inline-flex;align-items:center}

/* Phase 12.14.1 — Refined editorial typography scale.
 * Keeps the approved layouts and spacing, while reducing oversized display type
 * across home, inner pages, landing pages, cards, navigation and conversion UI.
 */
:root{--font-body-size:15px}

/* Global primitives */
.eyebrow{font-size:11px}
.display{font-size:clamp(46px,6.4vw,102px);line-height:.92}
.display--medium{font-size:clamp(39px,4.9vw,72px);line-height:.97}
.display--small{font-size:clamp(32px,3.8vw,56px);line-height:1}
.lede{font-size:clamp(16px,1.35vw,21px);line-height:1.6}
.btn{min-height:54px;padding-inline:22px;font-size:12px}
.site-header .nav-links{font-size:12px;gap:27px}
.nav-cta{height:48px;font-size:12px;padding-inline:19px}
.brand{font-size:26px}
.mobile-menu a{font-size:clamp(36px,9vw,62px)}
.loader-word{font-size:clamp(52px,9vw,138px)}

/* Legacy/common hero and cards */
.hero-title{font-size:clamp(58px,10.6vw,166px);line-height:.82}
.hero-copy{font-size:15px}
.hero-stat strong{font-size:25px}
.marquee-item{font-size:clamp(16px,1.55vw,22px)}
.service-title{font-size:clamp(24px,3.15vw,46px)}
.project-meta h3{font-size:clamp(27px,2.6vw,39px)}

/* Homepage v2 */
.home-v2 .v2-hero-word{font-size:clamp(84px,18.2vw,278px);line-height:.72}
.home-v2 .v2-hero-dot{font-size:clamp(78px,13.8vw,210px);line-height:.62}
.v2-hero-bottom>p{font-size:clamp(15px,1.1vw,18px)}
.manifesto-title{font-size:clamp(36px,4.15vw,66px);line-height:1.04}
.v2-service h3{font-size:clamp(22px,2vw,32px)}
.case-copy h3{font-size:clamp(34px,3.55vw,56px);line-height:.98}
.process-v2-item h3{font-size:clamp(24px,2.35vw,36px)}
.proof-statement{font-size:clamp(38px,4.75vw,72px);line-height:.98}
.quote-mark{font-size:78px;height:58px}
.quote-v2 blockquote{font-size:clamp(34px,4.15vw,60px);line-height:1.07}
.v2-cta-panel h2{font-size:clamp(46px,6.25vw,94px);line-height:.92}
.home-structure-head h2{font-size:clamp(36px,4.8vw,70px);line-height:.98}
.home-tech-item strong{font-size:21px}
.home-insight-card h3{font-size:clamp(22px,2.05vw,31px)}

/* Inner-page hierarchy */
.inner-title{font-size:clamp(50px,8.7vw,134px);line-height:.87}
.inner-title--sm{font-size:clamp(44px,6.9vw,104px);line-height:.9}
.inner-title--article{font-size:clamp(40px,6.2vw,88px);line-height:.96}
.inner-section-head h2{font-size:clamp(36px,4.9vw,72px);line-height:1}
.cap-name{font-size:clamp(24px,2.4vw,38px)}
.service-v3-lockup h1{font-size:clamp(48px,7vw,106px);line-height:.9}
.service-intro-copy h2{font-size:clamp(35px,4.6vw,68px);line-height:1}
.service-intro-body>p{font-size:clamp(16px,1.55vw,21px)}
.service-deliverable h3{font-size:24px}
.service-step h3{font-size:clamp(22px,2.35vw,33px)}
.work-v3-head h2{font-size:clamp(40px,5.35vw,82px);line-height:.94}
.case-v3-title{font-size:clamp(48px,7.2vw,108px);line-height:.9}
.project-testimonial-shell blockquote{font-size:clamp(34px,4.4vw,62px)}
.article-v3-body>p:first-child{font-size:clamp(19px,1.8vw,25px)}
.article-v3-body h2{font-size:clamp(29px,3.1vw,44px)}
.article-v3-body h3{font-size:24px}
.article-v3-body p,.article-v3-body li{font-size:16px}
.contact-v3-copy h2{font-size:clamp(32px,4vw,56px)}
.state-v3 h1,.state-v3 h2{font-size:clamp(36px,4.8vw,66px)}
.inner-cta-box h2{font-size:clamp(44px,6.2vw,92px);line-height:.92}
.next-project-link strong{font-size:clamp(32px,4vw,56px)}
.brand-board strong{font-size:clamp(58px,8vw,118px)}
.atlas-ui>strong{font-size:clamp(32px,4vw,58px)}

/* Marketing landing pages */
.landing-h1{font-size:clamp(50px,6.35vw,98px);line-height:.93}
.landing-lede{font-size:clamp(15px,1.25vw,19px)}
.landing-section-head h2{font-size:clamp(36px,4.45vw,66px);line-height:.99}
.landing-visual-panel strong{font-size:clamp(23px,2.75vw,40px)}
.landing-card h3{font-size:clamp(21px,1.8vw,29px)}
.landing-capability h3{font-size:clamp(21px,2vw,31px)}
.landing-process-step h3{font-size:clamp(22px,2vw,31px)}
.landing-use-card h3{font-size:clamp(22px,2.1vw,32px)}
.landing-engagement-card h3{font-size:clamp(23px,2.2vw,34px)}
.landing-final-panel h2{font-size:clamp(44px,6.3vw,88px);line-height:.93}
.landing-final-panel p{font-size:15px}

/* Footer */
.footer-brand{font-size:clamp(56px,8vw,116px)}

@media(max-width:980px){
  .home-v2 .v2-hero-word{font-size:18.2vw}
  .home-v2 .v2-hero-dot{font-size:15.8vw}
  .inner-title{font-size:clamp(46px,12.5vw,72px)}
  .inner-title--sm{font-size:clamp(42px,11vw,66px)}
  .inner-title--article{font-size:clamp(38px,10vw,60px)}
  .service-v3-lockup h1{font-size:clamp(44px,9.5vw,82px)}
}

@media(max-width:640px){
  :root{--font-body-size:14px}
  .brand{font-size:22px}
  .eyebrow{font-size:10px}
  .btn{font-size:11px;min-height:50px}
  .home-v2 .v2-hero-word{font-size:17.4vw;line-height:.76}
  .home-v2 .v2-hero-dot{font-size:16vw}
  .manifesto-title{font-size:clamp(32px,9.5vw,48px)}
  .v2-service h3{font-size:22px}
  .case-copy h3{font-size:clamp(34px,10vw,46px)}
  .proof-statement{font-size:clamp(34px,9.5vw,50px)}
  .quote-v2 blockquote{font-size:clamp(31px,9vw,46px)}
  .v2-cta-panel h2{font-size:clamp(42px,12.5vw,66px)}
  .home-structure-head h2{font-size:clamp(34px,10vw,50px)}
  .inner-title{font-size:clamp(42px,12.5vw,60px)}
  .inner-title--sm{font-size:clamp(38px,11vw,54px)}
  .inner-title--article{font-size:clamp(34px,9.5vw,50px)}
  .inner-section-head h2{font-size:clamp(32px,9vw,48px)}
  .service-v3-lockup h1{font-size:clamp(40px,11vw,58px)}
  .service-intro-copy h2{font-size:clamp(32px,9vw,46px)}
  .work-v3-head h2{font-size:clamp(34px,10vw,50px)}
  .case-v3-title{font-size:clamp(40px,11vw,58px)}
  .inner-cta-box h2{font-size:clamp(40px,11.5vw,58px)}
  .landing-h1{font-size:clamp(42px,11.5vw,62px)}
  .landing-section-head h2{font-size:clamp(32px,9vw,48px)}
  .landing-final-panel h2{font-size:clamp(40px,11vw,58px)}
  .footer-brand{font-size:clamp(52px,16vw,76px)}
}
