/* Shared visual scale: restrained headings, compact sections, readable controls. */
:root{--heading-lg:clamp(34px,3.75vw,48px);--heading-sm:clamp(24px,2.25vw,28px)}
.wrap{width:min(1120px,calc(100% - 80px))}
.section{padding-block:72px}
.closing{padding-block:64px}
.closing h2{font-size:clamp(40px,4.5vw,58px);line-height:1.1}
.section-heading{margin-bottom:32px}
.header,.header.is-scrolled{max-width:1160px}
.sales-home h2,.sales-home .section h2{font-size:var(--heading-lg);line-height:1.1}
.sales-home .sales-heading{margin-bottom:32px}
.sales-home .section-label{font-size:12px;margin-bottom:18px}
.sales-home .sales-primary{min-height:46px;min-width:160px;padding:12px 22px;font-size:13px;border-radius:8px}
.sales-loop,.sales-stack,.sales-cases,.sales-difference,.sales-software{padding-block:60px}
.sales-home .phone-home .hero-layout{min-height:510px;padding-block:22px 24px;gap:36px}
.sales-home .phone-home .hero-message h1{font-size:clamp(44px,4.55vw,60px);line-height:1.06}
.sales-home .phone-home .phone-stage{height:450px}
.sales-home .phone-home .phone-object{width:215px}
.sales-home .phone-home .hero-message>p:not(.hero-eyebrow){margin-top:20px}
.sales-home .phone-home .hero-actions{margin-top:22px}
.sales-home .phone-home .brand-vignette{height:70px}
.nb-reel-section .nb-reel-intro h2,.sales-home .nb-reel-section h2{font-size:clamp(30px,3.1vw,40px)}
.sales-home .nb-reel{max-width:960px}
.sales-home .difference-grid{gap:36px}
.sales-home .difference-grid img{width:76px;height:90px;margin-bottom:18px}
.sales-home .difference-grid h3{font-size:26px;line-height:1.2;margin-bottom:14px}
.sales-home .difference-grid p{font-size:14px;line-height:1.75}
.sales-home .software-body>img{height:230px}
.sales-home .software-preview header{padding:16px 20px}
.sales-home .home-faq{padding-block:56px}
.sales-home .home-faq summary{padding-block:18px}
.editorial-pages .home-section-heading h2,.editorial-pages .section-heading h2{font-size:var(--heading-lg);line-height:1.1}
.page-intro{padding-top:64px;padding-bottom:52px;gap:36px}
.page-intro h1{font-size:clamp(40px,4.5vw,60px);line-height:1.08;margin-block:16px 22px}
.page-intro .intro-art{width:140px;height:160px}
.platform-responsibilities{padding-block:68px;gap:60px}
.platform-responsibilities h2,.page-invitation h2{font-size:var(--heading-lg)}
.page-invitation{padding-block:52px 64px}
.page-invitation h2{margin-block:18px 26px}
.journal-card h2{font-size:32px}
.article-hero h1{font-size:clamp(40px,4.5vw,60px)}
.booking-masthead{padding-block:22px}
.booking-masthead .brand{font-size:27px}
.booking-masthead .brand img{width:29px;height:29px}
.booking-flow{padding-top:32px}
.booking-card{max-width:780px;padding:38px 48px}
.booking-intro h1,.booking-outcome h1{font-size:42px;margin-bottom:16px}
.booking-intro{margin-bottom:28px}
.booking-field input,.booking-field select{min-height:48px}
.booking-next{min-height:48px}
@media(max-width:1000px) and (min-width:701px){
 .sales-home .phone-home .hero-layout{min-height:470px;gap:24px}
 .sales-home .phone-home .phone-stage{height:410px}
 .sales-home .phone-home .phone-object{width:195px}
 .sales-home .difference-grid{gap:24px}
 .sales-home .difference-grid h3{font-size:24px}
}
@media(max-width:700px){
 :root{--heading-lg:32px;--heading-sm:24px}
 .wrap,.sales-home .wrap{width:calc(100% - 40px)}
 .closing{padding-block:44px}
 .closing h2{font-size:36px}
 .section,.sales-loop,.sales-stack,.sales-cases,.sales-difference,.sales-software{padding-block:40px}
 .header,.header.is-scrolled{height:60px}
 .header .brand{font-size:23px}
 .header .brand img{width:25px;height:25px}
 .sales-home .section-label{font-size:11px;margin-bottom:15px}
 .sales-home .sales-heading{margin-bottom:25px}
 .sales-home .phone-home .hero-layout{min-height:0;padding-block:24px 18px;gap:2px}
 .sales-home .phone-home .hero-message h1{font-size:clamp(36px,7.4vw,44px);line-height:1.08}
 .sales-home .phone-home .hero-message>p:not(.hero-eyebrow){font-size:15px;line-height:1.65;margin-top:20px}
 .sales-home .phone-home .phone-stage{height:350px}
 .sales-home .phone-home .phone-object{width:168px}
 .nb-reel-section .nb-reel-intro h2,.sales-home .nb-reel-section h2{font-size:30px}
 .sales-home .difference-grid{gap:26px}
 .sales-home .difference-grid article{grid-template-columns:52px 1fr;gap:0 16px}
 .sales-home .difference-grid img{width:52px;height:70px;margin:0}
 .sales-home .difference-grid h3{font-size:23px;margin-bottom:10px}
 .sales-home .difference-grid p{font-size:13px}
 .sales-home .home-faq{padding-block:40px}
 .sales-home .software-body>img{height:200px}
 .page-intro{padding-block:38px 36px;gap:22px}
 .page-intro h1{font-size:36px;margin-block:15px 20px}
 .platform-responsibilities{padding-block:42px;gap:32px}
 .platform-responsibilities h2,.page-invitation h2{font-size:32px}
 .page-invitation{padding-block:38px 48px}
 .journal-card h2{font-size:28px}
 .article-hero h1{font-size:36px}
 .booking-masthead{padding-block:18px}
 .booking-flow{padding:24px 16px 36px}
 .booking-card{padding:26px 20px}
 .booking-intro h1,.booking-outcome h1{font-size:32px}
 .booking-field input,.booking-field select{font-size:16px;min-height:48px}
}

/* Keep the complete story and centered captions within a normal viewing height. */
.nb-reel-section{scroll-margin-top:0}
.nb-reel-intro{margin-bottom:18px}
.nb-reel-toolbar{padding:8px 20px 4px;gap:18px}
.nb-live .nb-reel-top{padding:8px 20px}
.nb-live .live-workspace{padding:0 20px 10px;gap:16px;grid-template-columns:112px minmax(0,1fr)}
.nb-live .live-editor-bar{height:26px}
.nb-live .live-canvas{height:clamp(170px,calc(100svh - 540px),260px)}
.nb-live .live-context{padding-top:8px;padding-right:12px}
.nb-live .live-context-list{gap:9px;margin-top:16px;margin-bottom:12px}
.nb-live .live-persona{margin-top:16px}
.nb-live .live-asset-bank{margin-top:14px;height:50px}
.nb-live .live-opening-copy strong{font-size:clamp(22px,2.1vw,28px);margin-top:10px}
.nb-live .live-insights{padding:12px}
.nb-live .live-report-metrics{gap:5px;margin-top:8px;line-height:1.4}
.nb-live .live-insights svg{height:36px;display:block}
.nb-live .live-feedback-slot{height:40px}
.nb-live .live-feedback-slot .live-response{top:6px;padding:5px 9px}
.nb-live .live-feedback-slot .live-response>p{font-size:10px}
.nb-live .live-storyboard{height:50px;margin-top:2px}
.nb-live:not(.has-board) .live-storyboard{display:block;visibility:hidden}
.nb-live .live-shot img{height:35px}
.nb-live .live-conversation{min-height:60px;padding:8px 20px}
.nb-live .live-caption p{font-size:19px;line-height:1.5;min-height:1.5em}
.nb-live .nb-reel-footer{padding:4px 0 6px;margin-inline:20px}
.nb-reel-disclosure{margin-top:10px}
@media(max-width:760px){
 .nb-reel-section{scroll-margin-top:0}
 .nb-reel-toolbar{padding:6px 12px 4px;gap:8px}
 .nb-live .nb-reel-top{padding:6px 12px}
 .nb-live .live-workspace{padding:0 12px 8px;gap:6px}
 .nb-live .live-context{padding:0;min-height:30px}
 .nb-live .live-context-list{margin:0}
 .nb-live .live-canvas{height:clamp(160px,calc(100svh - 560px),240px)}
 .nb-live .live-persona{margin:0}
 .nb-live .live-opening-copy strong{font-size:21px}
 .nb-live .live-insights{padding:9px}
 .nb-live .live-insights>small{font-size:9px}
 .nb-live .live-report-metrics{font-size:8px;gap:5px;margin-top:8px}
 .nb-live .live-insights svg{height:35px}
 .nb-live .live-insights>p{font-size:7px}
 .nb-live .live-feedback-slot .live-response>p{font-size:9px}
 .nb-live .live-conversation{min-height:64px;padding:7px 12px}
 .nb-live .live-caption p{font-size:17px;min-height:3em;line-height:1.5}
 .nb-live .nb-reel-footer{margin-inline:12px;gap:8px}
}
.nb-live.has-experiment .live-palette{bottom:6%}

.pricing-direct .plan-intro h2{margin-bottom:10px}
.pricing-direct .plan-fit{font:400 13px/1.6 var(--sans);color:var(--blue);margin:0 0 20px;max-width:28ch}
@media(max-width:700px){.pricing-direct .plan-fit{font-size:11px;min-height:53px;margin-bottom:14px}}

/* Keep the creative wall a compact showcase rather than a full-screen section. */
.creative-wall{--wall-scale:.76;padding-bottom:40px}
.creative-wall-track{padding-block:18px 28px}
.wall-card-headline{font-size:16px}
@media(max-width:1100px){.creative-wall{--wall-scale:.7}}
@media(max-height:740px) and (min-width:701px){.creative-wall{--wall-scale:.62}}
@media(max-width:700px){.creative-wall{--wall-scale:.58;padding-bottom:28px}.creative-wall-track{padding-block:14px 24px}.wall-card-headline{font-size:13px}}

/* Footer navigation shares the navbar links and order. */
.footer.footer-simple{grid-template-columns:2fr 1fr 1.2fr}
@media(max-width:900px){.footer.footer-simple{grid-template-columns:1fr 1fr}.footer.footer-simple>div:first-child{grid-column:1/-1}}

/* Keep the birds in the sky above the closing copy, independent of landscape cropping. */
.finale-birds{position:absolute;top:12px;right:14%;width:140px;height:32px;object-fit:contain}
@media(max-width:700px){.finale-birds{top:8px;right:8%;width:110px;height:25px}}

/* Keep the desktop enquiry form compact without shrinking mobile controls. */
@media(min-width:701px){
 .booking-flow:has(#fit-form){padding-top:20px}
 .booking-flow:has(#fit-form) .booking-step{margin-bottom:18px;padding:8px 16px}
 .booking-card:has(#fit-form){max-width:760px;padding:28px 32px}
 .booking-card:has(#fit-form) .booking-intro{margin-bottom:22px}
 .booking-card:has(#fit-form) .booking-intro h1{font-size:36px;margin-bottom:12px}
 .booking-card:has(#fit-form) .booking-intro p{font-size:14px;line-height:1.6}
 #fit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
 #fit-form .booking-field{display:block;margin:0}
 #fit-form .booking-field>label{display:block;padding:0;margin-bottom:6px;font-size:13px}
 #fit-form .booking-field:nth-child(7),#fit-form .booking-field:has(textarea),#fit-verification,#fit-form>.booking-next,#fit-form>.booking-note{grid-column:1/-1}
 #fit-form .booking-field input,#fit-form .booking-field select{min-height:44px;padding:10px 12px}
 #fit-form .booking-field textarea{height:92px;min-height:92px;padding:12px;font-size:14px}
 #fit-form .booking-field small{margin-top:6px;font-size:11px}
 #fit-verification:empty{display:none}
 #fit-form>.booking-next{margin-top:0;min-height:46px;padding:11px 20px}
 #fit-form>.booking-note{margin:0;font-size:11px;line-height:1.6}
}
