/* Shared layout constraints, from small phones through wide desktops. */
:root{--page-gutter:clamp(20px,4vw,64px);--content-width:1240px;--muted:#506777}
html{scroll-padding-top:24px}
body{overflow-wrap:break-word}
main,section,article,aside,nav,footer,header{min-width:0}
h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;overflow-wrap:normal}
h1{font-size:clamp(2.25rem,4.8vw,4.5rem)}
h2{font-size:clamp(2rem,3.5vw,3.25rem)}
p{font-size:1rem;line-height:1.75}
.section,header,footer,.topline,.breadcrumbs,.page-channels{padding-left:max(var(--page-gutter),calc((100% - var(--content-width))/2));padding-right:max(var(--page-gutter),calc((100% - var(--content-width))/2))}
.section{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
header{gap:24px;padding-top:8px;padding-bottom:8px;position:relative;z-index:20}
.brand-logo,.footer-main>.brand-logo{width:190px;height:83px;flex:0 0 auto}
.brand-logo img{width:190px;height:190px;top:-50px}
.topline{font-size:12px;letter-spacing:.07em}
nav{display:flex;position:static;padding:0;box-shadow:none;gap:20px;align-items:center;font-size:14px;background:white}
nav>a{white-space:nowrap}
nav .button{padding:12px 17px;gap:14px}
.menu{display:none;min-width:76px;min-height:44px;cursor:pointer}
.button{min-height:48px;max-width:100%;gap:20px;line-height:1.45;text-align:left;border-radius:4px}
.button span{flex-shrink:0}
.text-link{min-height:44px;line-height:1.5}
.hero{max-width:calc(var(--content-width) + 2 * var(--page-gutter));padding:48px var(--page-gutter);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:center}
.hero h1{font-size:clamp(2.5rem,4.7vw,4.5rem)}
.hero-copy{padding:0}.hero-copy>p{font-size:18px}
.hero-art{height:480px;min-height:0;border-radius:6px}
.hero-foot{flex-direction:row;flex-wrap:wrap;gap:12px 24px;font-size:14px}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.1em;margin-bottom:20px}
.platforms{margin:0 max(var(--page-gutter),calc((100% - var(--content-width))/2));gap:32px}
.platforms>div{flex-wrap:wrap;gap:16px 28px;font-size:21px;justify-content:space-between}
.platforms>div>span{white-space:nowrap}
.section-head{gap:36px;align-items:start;margin-bottom:36px}
.section-head>div{min-width:0}.section-head>p{flex:0 1 385px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service,.service:last-child:nth-child(3n + 1){min-height:0;padding:28px}
.service h3{font-size:24px}.service p,.steps p,.offers p,details p{font-size:16px}
.service-link{padding-top:24px;min-height:44px;line-height:1.5}
.tags span,.about-values{font-size:14px}
.detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px}
.detail-copy h2{font-size:clamp(1.875rem,3vw,2.625rem)}
.detail-copy p{font-size:17px;max-width:65ch}
.partnership,.about,.faq,.home-about,.ai-feature,.clarity,.contact-options{gap:48px;grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.page-hero{padding-top:40px;padding-bottom:32px}
.page-hero h1{font-size:clamp(2.25rem,4.6vw,4rem);max-width:1000px}
.page-hero>p{font-size:18px;max-width:70ch;margin-top:22px}
.page-channels{padding-bottom:32px}.breadcrumbs{font-size:14px}
.scope{padding:28px}.scope h3{line-height:1.4}
.platform-guide{padding-top:48px}.platform-content{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:36px}
.platform-name{min-width:180px}.platform-angle{line-height:1.5}
.platform-panel .platform-sources{font-size:14px;overflow-wrap:anywhere}
.contact>div:last-child{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}
.contact h2{font-size:clamp(2.5rem,5vw,4.5rem)}
.footer-main{display:grid;grid-template-columns:.9fr 1fr 1.2fr;gap:40px}
.footer-links a{min-height:36px;display:flex;align-items:center}
.footer-bottom{font-size:14px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.booking-card{padding:32px}.booking-card h2{font-size:clamp(1.875rem,3vw,2.5rem)}
.service-hub{padding-top:8px}.related{padding-top:32px;padding-bottom:32px}
@media(max-width:1199px){
 header{flex-wrap:wrap;gap:0;justify-content:space-between}
 .menu{display:block}
 nav{display:none;width:100%;padding:12px 0 20px;grid-template-columns:1fr 1fr;gap:4px 24px;border-top:1px solid var(--line)}
 nav.open{display:grid;position:static;gap:4px 24px}
 nav>a{white-space:normal;padding:12px 0;min-height:48px}
 nav .button{margin-top:8px;justify-content:center}
 .hero{gap:32px}.hero-art{height:420px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service:last-child:nth-child(3n + 1){grid-column:auto}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .hero{grid-template-columns:1fr;padding-top:32px;gap:30px}
 .hero h1{font-size:clamp(2.5rem,7vw,3.5rem);max-width:650px}
 .hero-copy>p{max-width:65ch}
 .hero-art{height:320px}.hero-art>img{object-position:50% 60%}
 .platforms{display:block}.platforms>p{margin-bottom:18px}.platforms>div{justify-content:flex-start}
 .detail-layout,.partnership,.about,.faq,.home-about,.ai-feature,.clarity,.contact-options,.contact>div:last-child{grid-template-columns:1fr;gap:30px}
 .section-head{display:block}.section-head>p{margin-top:20px;max-width:65ch}.section-head>.text-link{margin-top:20px}
 .page-hero{padding-top:28px;padding-bottom:28px}
 .platform-content{grid-template-columns:1fr;gap:28px;padding:24px}
 .platform-panel>summary{display:block;padding:22px 50px 22px 22px}
 .platform-name,.platform-angle{display:block;min-width:0}.platform-angle{margin-top:8px}
 .footer-main{grid-template-columns:1fr 1fr;gap:24px 32px}.footer-main>.brand-logo{grid-column:1/-1}
 .footer-bottom{flex-direction:column;gap:8px}.footer-bottom>div{flex-wrap:wrap;gap:8px 20px}
 .contact-details{padding-top:0}
}
@media(max-width:600px){
 .service-grid,.steps,.footer-main{grid-template-columns:1fr}
 .service,.service:last-child:nth-child(3n + 1){min-height:0;padding:24px}
 .service-number{margin-bottom:16px}.service h3{font-size:24px}
 .topline{font-size:12px}.topline span:last-child{display:none}
 .hero-copy>p,.page-hero>p,.detail-copy p,.home-about p{font-size:16px}
 .hero h1,.page-hero h1{font-size:clamp(2.125rem,8.5vw,3rem);line-height:1.15}
 .hero h1 br{display:none}
 .hero-art{height:260px}.art-top{left:20px;top:20px;font-size:12px}.art-bottom{left:20px;right:20px}
 .actions{align-items:stretch;gap:12px;margin-top:24px}.actions .button{width:100%}
 .hero-foot{margin-top:24px;font-size:14px;gap:8px 20px}
 .platforms>div{font-size:19px;gap:14px 24px}
 .platform-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .platform-links .platform-jump{justify-content:space-between;font-size:14px;padding:12px;line-height:1.4}
 .platform-content{padding:20px}.scope,.booking-card{padding:24px}
 .contact h2{font-size:clamp(2.25rem,10vw,3.25rem)}
 .related>a{font-size:20px;line-height:1.5;gap:16px}
 nav,nav.open{grid-template-columns:1fr}
 .footer-main>.brand-logo{width:190px;height:83px;flex-basis:auto}
}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

/* Contrast the booking action against the blue contact section. */
.contact .button{background:#fff;color:var(--navy);border:1px solid #fff;border-radius:6px;padding:16px 24px;min-height:52px;justify-content:center;font-size:16px;font-weight:700;box-shadow:0 3px 8px #08233720}
.contact .button:hover{background:#e8f1ff;border-color:#e8f1ff;color:#082337;box-shadow:0 5px 12px #08233730}
.contact .button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.contact .button:active{transform:translateY(0);box-shadow:none}

/* Visual refresh responsive rules. */
@media(max-width:1100px){
 .hero{grid-template-columns:1fr 1fr;min-height:0}.hero-dashboard{min-height:470px}
 .dashboard-main{left:8%;right:8%}.signal-strip{border-radius:24px;flex-wrap:wrap;justify-content:flex-start}
 .page-hero{grid-template-columns:1fr 220px}.page-orbit{width:210px;height:210px}.page-orbit:before{inset:40px}
}
@media(max-width:800px){
 header{position:sticky}.hero{grid-template-columns:1fr;padding-top:45px}.hero h1{font-size:clamp(3rem,10vw,4.8rem)}
 .hero-dashboard{min-height:440px}.signal-strip{margin-top:8px}.home-platforms{margin-top:40px;padding:26px}
 .feature-pair,.story-grid{grid-template-columns:1fr}.feature-card{min-height:390px}.story-visual{height:420px;order:2}
 .page-hero{grid-template-columns:1fr;min-height:0;margin-top:18px}.page-orbit{position:absolute;right:-70px;bottom:-95px;opacity:.45}.page-hero-copy{max-width:85%}
 .contact{margin-bottom:45px}
}
@media(max-width:600px){
 .hero{padding-top:34px;padding-bottom:45px}.hero h1{font-size:clamp(2.75rem,13vw,4rem);line-height:1}.hero-copy>p{font-size:18px}
 .hero-dashboard{min-height:370px;border-radius:26px}.dashboard-main{top:15%;bottom:12%;padding:25px}.dashboard-main strong{font-size:26px}.chart-bars{height:112px;gap:8px}.dashboard-float{min-width:0;padding:13px 15px}.dashboard-float-one{left:3%;top:3%}.dashboard-float-two{right:3%;bottom:3%}.dashboard-float strong{font-size:12px}.dashboard-float span{font-size:9px;margin-bottom:6px}
 .signal-strip{padding:18px 20px;gap:15px;font-size:12px}.signal-strip span{width:100%}
 .home-platforms{margin-left:var(--page-gutter);margin-right:var(--page-gutter);padding:22px;border-radius:22px}.home-platform-detail{padding:22px 18px}
 .service{border-radius:20px}.feature-card{min-height:380px;border-radius:24px;padding:30px 24px}.feature-card p{font-size:16px}.mini-waterfall b{display:none}
 .story-visual{height:330px;border-radius:24px}.story-visual span{left:24px;bottom:22px;font-size:19px}.story-copy p{font-size:16px}
 .contact{margin-left:var(--page-gutter);margin-right:var(--page-gutter);border-radius:25px}.contact h2{font-size:clamp(2.5rem,12vw,3.5rem)}
 .page-hero{margin-left:var(--page-gutter);margin-right:var(--page-gutter);border-radius:25px;padding:38px 24px!important}.page-hero-copy{max-width:100%}.page-orbit{display:none}
 .approach,.about{margin-left:var(--page-gutter);margin-right:var(--page-gutter);border-radius:24px}
}
