/* Shared sizing for desktop, tablet and phone. Motion timings stay in motion.js. */
.nav { max-width: 1488px; margin-inline: auto; }
.nav__links a, .footer__col a, .footer__bottom a, .footer__bottom button { min-height: 44px; display: inline-flex; align-items: center; }
.nav__links { white-space: nowrap; }
.hero.hero--studio { min-height: min(900px,100svh); padding-block: 140px 72px; }
.hero__layout { grid-template-columns: minmax(0,1.25fr) minmax(0,.9fr); gap: clamp(32px,4vw,72px); }
.hero--studio .hero__handle { display: block; margin-bottom: 24px; font-size: 15px; }
.hero--studio .hero__title { font-size: clamp(64px,7.15vw,112px); line-height: .98; }
.hero--studio .hero__text { margin-top: 28px; max-width: 490px; font-size: 19px; line-height: 1.55; }
.hero--studio .hero__btns { margin-top: 28px; gap: 12px; }
.hero__btns .btn { min-height: 50px; justify-content: center; line-height: 1.25; text-align: center; }
.hero__note { max-width: 440px; line-height: 1.65; margin-top: 22px; }
.hero-demo { max-width: 410px; justify-self: end; }
.hero-demo figcaption { max-width: none; line-height: 1.5; }
.amb-chat__head { padding: 20px; }
.amb-chat__body { padding: 18px; gap: 12px; }
.amb-chat__pin, .amb-chat__message { padding: 16px; }
.amb-chat__foot { padding: 13px; }
.paths, .process { padding-block: clamp(72px,7vw,112px); }
.paths .sec-head { margin-bottom: 40px; }
.paths__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.path { min-width: 0; min-height: 490px; padding: clamp(24px,2.4vw,38px); }
.path h3 { font-size: clamp(27px,2.5vw,40px); margin-top: 76px; margin-bottom: 18px; }
.path .muted { line-height: 1.55; }
.path ul { margin-block: 24px 28px; }
.path li { padding-block: 11px; line-height: 1.4; }
.path .btn { min-height: 48px; max-width: 100%; justify-content: center; }
.ambassador, .faq { gap: clamp(32px,6vw,96px); padding-block: clamp(64px,7vw,112px); }
.ambassador > *, .faq > *, .footer__grid > * { min-width: 0; }
.ambassador .h2 { font-size: clamp(36px,5vw,76px); }
.ambassador__intro .muted { margin-block: 24px 0; font-size: 18px; line-height: 1.6; }
.deliverables { padding-top: 0; }
.deliverables > h3 { font-size: 18px; margin-bottom: 24px; }
.deliverables article { padding-block: 24px; }
.deliverables h4 { font-size: clamp(24px,2.4vw,32px); line-height: 1.15; }
.deliverables p { line-height: 1.6; }
.manifesto { padding-block: clamp(64px,8vw,128px); }
.manifesto p { max-width: 1200px; }
.faq summary { font-size: clamp(20px,1.8vw,26px); line-height: 1.3; }
.faq details { padding-block: 22px; }
.faq details p { line-height: 1.65; }
.cta__inner { width: 100%; padding: 80px var(--gutter); }
.cta__title { max-width: 1200px; font-size: clamp(40px,6.8vw,104px); line-height: 1.02; }
.cta p { font-size: 18px; }
.footer__grid { gap: 32px; }
.footer__col { gap: 4px; }
.footer__col h3 { margin-bottom: 12px; }
.footer__col a { line-height: 1.4; padding-block: 7px; }
.footer__bottom { align-items: center; }
.menu { height: 100dvh; padding-bottom: max(24px,env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; justify-content: center; }
.menu nav { gap: 12px; }
.menu nav a { min-height: 44px; font-size: clamp(30px,7.6vw,64px); line-height: 1.1; padding-block: 4px; }

@media (max-width: 1100px) {
  .hero.hero--studio { min-height: 0; padding-block: 132px 64px; }
  .hero--studio .hero__title { font-size: 7vw; }
  .hero__layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; }
  .hero--studio .hero__text { font-size: 18px; }
  .hero__btns .btn { padding-inline: 20px; font-size: 14px; }
  .amb-chat__head { padding: 17px; gap: 10px; }
  .amb-chat__head h2 { font-size: 16px; }
  .amb-chat__body { padding: 14px; }
  .path h3 { font-size: 28px; }
  .path { padding: 24px; }
}
@media (max-width: 979px) {
  .hero__layout { grid-template-columns: 1fr; gap: 44px; }
  .hero__copy { width: 100%; max-width: 720px; }
  .hero--studio .hero__title { font-size: clamp(48px,9vw,80px); }
  .hero--studio .hero__text { max-width: 560px; }
  .hero-demo { justify-self: center; max-width: 440px; }
  .paths__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .path { min-height: 440px; padding: 30px; }
  .path--primary { grid-column: 1/-1; min-height: 0; }
  .path h3 { font-size: 36px; margin-top: 56px; }
  .path--primary .muted { max-width: 430px; }
  .ambassador, .faq { grid-template-columns: 1fr; gap: 36px; }
  .ambassador .h2 { font-size: clamp(40px,6vw,60px); }
  .ambassador__intro .muted { max-width: 640px; }
  .footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer__brand { grid-column: 1/-1; }
}
@media (max-width: 600px) {
  :root { --gutter: 20px; --radius: 22px; }
  .nav { top: max(10px,env(safe-area-inset-top)); padding-left: 12px; }
  .hero.hero--studio { padding-block: 116px 48px; }
  .hero--studio .hero__handle { font-size: 14px; margin-bottom: 22px; }
  .hero--studio .hero__title { font-size: clamp(38px,11.6vw,68px); letter-spacing: -.05em; }
  .hero--studio .hero__text { margin-top: 24px; font-size: 17px; line-height: 1.6; max-width: 36ch; }
  .hero--studio .hero__btns { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 10px; margin-top: 24px; }
  .hero__btns .btn { width: 100%; min-height: 50px; padding: 14px 10px; font-size: 13px; }
  .hero__note { font-size: 13px; line-height: 1.7; margin-top: 18px; }
  .hero__layout { gap: 32px; }
  .amb-chat { border-radius: 20px; }
  .amb-chat__head { padding: 16px; }
  .amb-chat__avatar { width: 40px; height: 40px; }
  .amb-chat__body { padding: 14px; gap: 10px; }
  .amb-chat__pin, .amb-chat__message { padding: 14px; }
  .amb-chat__pin ul { grid-template-columns: repeat(2,minmax(0,1fr)); font-size: 12px; gap: 10px; margin-top: 12px; }
  .amb-chat__pin li { line-height: 1.45; }
  .amb-chat__message p, .amb-chat__reply p { font-size: 12px; }
  .amb-chat__reply { max-width: 90%; padding: 10px 12px; }
  .amb-chat__foot { font-size: 10px; padding: 12px; }
  .paths, .ambassador, .process, .faq { padding-block: 60px; }
  .paths .sec-head { margin-bottom: 28px; }
  .sec-head { gap: 20px; }
  .h2, .ambassador .h2 { font-size: clamp(34px,8.6vw,48px); line-height: 1.02; }
  .paths__grid { grid-template-columns: 1fr; gap: 16px; }
  .path { padding: 26px; min-height: 0; }
  .path h3 { font-size: clamp(28px,8vw,38px); margin-block: 48px 16px; }
  .path__wave { width: 190px; top: 20px; }
  .path ul { margin-block: 20px 24px; }
  .path li { padding-block: 10px; font-size: 15px; }
  .path .btn { width: 100%; }
  .ambassador, .faq { gap: 28px; }
  .ambassador__intro .muted { font-size: 17px; margin-top: 20px; }
  .deliverables > h3 { margin-bottom: 20px; }
  .deliverables article { padding-block: 20px; }
  .deliverables h4 { font-size: 25px; }
  .deliverables p { font-size: 16px; }
  .manifesto { padding-block: 56px; }
  .manifesto p { font-size: clamp(30px,8vw,42px); line-height: 1.15; }
  .formats--scroll .formats__pin { gap: 24px; padding-block: 80px 36px; }
  .formats--scroll .format { width: min(82vw,380px); }
  .formats--scroll .format-art { height: clamp(160px,29svh,240px); }
  .formats--scroll .format h3 { font-size: 25px; margin-block: 18px 10px; }
  .formats--scroll .format p { font-size: 15px; line-height: 1.5; min-height: 0; }
  .formats--scroll .formats__more { font-size: 13px; line-height: 1.5; }
  .process .h2 { margin-bottom: 32px; }
  .motion-enabled .process .step { min-height: 280px; padding: 28px; gap: 20px; }
  .motion-enabled .process .step__n { font-size: 76px; }
  .motion-enabled .process .step h3 { font-size: 29px; line-height: 1.1; }
  .process__guar { gap: 24px; margin-top: 32px; }
  .guar h4 { font-size: 21px; }
  .faq summary { font-size: 20px; padding-right: 30px; }
  .faq details { padding-block: 20px; }
  .cta__title { font-size: clamp(36px,9.2vw,56px); overflow-wrap: anywhere; }
  .cta__inner { padding-block: 64px; gap: 24px; }
  .cta p { font-size: 16px; }
  .footer { padding-top: 48px; }
  .footer__grid { gap: 28px 20px; }
  .footer__col { font-size: 14px; }
  .footer__col:last-child { grid-column: 1/-1; }
  .footer__col h3 { margin-bottom: 8px; }
  .footer__giant { margin-top: 48px; }
  .footer__bottom { gap: 8px 20px; font-size: 13px; padding-bottom: max(20px,env(safe-area-inset-bottom)); }
  .footer__bottom > span { width: 100%; }
  .cookie { left: 12px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100vw - 24px); padding: 18px; border-radius: 18px; }
  .page-hero { padding-top: 128px; }
  .legal-draft { font-size: 14px; padding: 12px 16px; }
}
@media (max-width: 359px) {
  :root { --gutter: 16px; }
  .hero--studio .hero__btns { grid-template-columns: 1fr; }
  .hero__btns .btn { font-size: 14px; }
  .amb-chat__pin ul { grid-template-columns: 1fr; }
}
@media (max-height: 560px) and (max-width: 1100px) {
  .menu { padding-top: 88px; }
  .menu nav { gap: 4px; }
  .menu nav a { font-size: 26px; min-height: 36px; }
  .formats--scroll .formats__pin { padding-block: 56px 28px; }
  .motion-enabled .process .step:nth-child(n) { position: relative; top: auto; min-height: 0; grid-template-columns: 76px minmax(0,1fr); padding: 24px; gap: 24px; }
  .motion-enabled .process .step__n { font-size: 72px; }
  .motion-enabled .process .step h3 { font-size: 26px; }
}
