/* Responsive layout contract. Content reflows; it is never scaled as a page. */
body[data-page]{
 --max:clamp(1200px,92vw,1600px)!important;
 --gut:clamp(16px,2.2vw,36px)!important;
}
body[data-page] :is(.hero-grid,.group-main,.group-stage,.card-grid,.wizard-choice-grid,.calc-form-grid,.value-card-grid)>*{min-width:0}
body:is([data-page="features"],[data-page="use-cases"],[data-page="pricing"]) .hero{
 min-height:0!important;padding-block:clamp(40px,6vw,100px)!important;
}
body[data-page] .hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(24px,4vw,72px)!important;align-items:center!important}
body[data-page] .hero-copy h1{max-width:12ch!important;overflow-wrap:normal}
body[data-page] .hero-grid :is(.journey-scene,.journey-board,.constellation){width:100%!important;max-width:100%!important;min-width:0!important}
body[data-page] .hero-grid :is(.journey-scene,.journey-board){min-height:clamp(440px,38vw,640px)!important}
body[data-page] .card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))!important;gap:clamp(14px,1.5vw,24px)!important}
body[data-page] :is(.cap-card,.usecase-tile){height:auto!important;min-height:220px!important;padding:clamp(20px,2vw,30px)!important}
body[data-page] .group-intro{padding:clamp(20px,3vw,36px)!important}
body[data-page] .group-intro h2{max-width:24ch!important;font-size:clamp(1.8rem,3.5vw,3.5rem)!important;line-height:1.08!important}
body[data-page] .group-intro p{font-size:1rem!important;line-height:1.6!important}
body[data-page] .group-rail-wrap{top:var(--site-header-space)!important}
body[data-page] .group-rail{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important}
body[data-page] .group-tab{min-width:0!important;min-height:90px!important;height:auto!important;padding:12px!important;white-space:normal!important}
body[data-page] .group-tab b{font-size:.875rem!important;line-height:1.35!important;overflow-wrap:anywhere}
body[data-page] .group-tab em{font-size:.75rem!important;line-height:1.4!important;max-width:none!important}
body[data-page] .group-tab small{font-size:.75rem!important}
body[data-page] :is(.btnrow,.btn-row,.wizard-step-actions){flex-wrap:wrap!important}
body[data-page] :is(.wizard-choice-grid,.calc-form-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}
body[data-page] .value-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important}
body[data-page] .value-card{min-height:0!important;height:auto!important;padding:clamp(18px,2vw,28px)!important}
body[data-page] .value-card p{font-size:.875rem!important;line-height:1.55!important}
body[data-page] :is(.calc-result-grid,.calc-grand-total){grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))!important}
body[data-page] :is(.calc-result-grid,.calc-grand-total) strong{overflow-wrap:anywhere}
body[data-page] :is(.savings-tabs,.category-tabs){display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
body[data-page] :is(.savings-tabs,.category-tabs)>button{flex:1 1 140px!important;min-width:0!important;min-height:44px!important;white-space:normal!important;font-size:.875rem!important}
body[data-page] :is(.feature-modal-frame,.savings-calculator){max-width:100%!important;max-height:calc(100dvh - 24px)!important}
body[data-page] :is(.feature-modal-scroll,.savings-calc-body){min-height:0;overscroll-behavior:contain}
body[data-page] .feature-modal-bottom-actions{display:flex!important;flex-wrap:wrap!important}
body[data-page] .feature-modal-bottom-actions>*{flex:1 1 180px!important;min-width:0!important}
body[data-page] :is(input,select,textarea){max-width:100%;min-width:0}
body[data-page] .boq-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
@media(max-width:1150px){
 body[data-page] .group-rail{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 /* Two header rows plus a two-row category rail would consume most of a tablet. */
 body[data-page] .group-rail-wrap{position:relative!important;top:auto!important}
}
@media(max-width:980px){
 body[data-page] .hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:36px!important}
 body[data-page] .hero-copy h1{max-width:16ch!important}
 body[data-page] .hero-grid>:last-child{width:100%!important;max-width:680px!important;justify-self:center!important}
 body[data-page] .hero-grid :is(.journey-scene,.journey-board){min-height:0!important}
 body[data-page] .detail-experience{grid-template-columns:minmax(0,1fr)!important}
 body[data-page] .detail-experience>*{min-width:0!important;max-width:100%!important}
}
@media(max-width:600px){
 body[data-page] .hero-copy h1{max-width:100%!important}
 body[data-page] :is(.hero .btnrow,.hero .btn-row,.wizard-step-actions){display:flex!important;gap:10px!important}
 body[data-page] :is(.hero .btnrow,.hero .btn-row,.wizard-step-actions)>.btn{flex:1 1 230px!important;width:auto!important}
 body[data-page] .group-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px!important}
 body[data-page] .group-tab{min-height:80px!important}
 body[data-page] .group-tab em{display:none!important}
 body[data-page] .card-grid{grid-template-columns:minmax(0,1fr)!important}
 body[data-page] :is(.final-config,.final-config--simple,.result-comparison-metrics,.software-savings-summary){grid-template-columns:minmax(0,1fr)!important}
 body[data-page] :is(.feature-modal,.savings-calculator){inset:0!important}
 body[data-page] :is(.feature-modal-frame,.savings-calculator){width:100%!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
 body[data-page] :is(.feature-guide-drawer){max-height:calc(100dvh - 100px)!important;overflow-y:auto!important;overscroll-behavior:contain}
 body[data-page] :is(.detail-head,.detail-outcomes,.detail-together){padding:20px!important}
 body[data-page] .detail-head h3{font-size:clamp(1.8rem,7vw,2.6rem)!important;line-height:1.1!important;overflow-wrap:anywhere}
 body[data-page] .detail-together{grid-template-columns:minmax(0,1fr)!important}
 body[data-page] :is(.hero-entry-card,.team-card,.graph-card){padding:20px!important}
 body[data-page] :is(.calc-form-grid label span,.calc-result-grid small,.calc-grand-total small){font-size:.75rem!important;line-height:1.4!important}
}
@media(max-height:600px) and (min-width:601px){
 body[data-page] .hero{min-height:0!important;padding-block:32px!important}
 body[data-page] .group-rail-wrap{position:relative!important;top:auto!important}
 body[data-page] .feature-guide-drawer{max-height:calc(100dvh - 36px)!important;overflow-y:auto!important}
}

body[data-page] .savings-calculator{max-height:100dvh!important}
body[data-page] .savings-calculator .savings-calc-body{flex:1 1 auto;min-height:0;overflow-y:auto}
body[data-page] .savings-calculator :is(.savings-calc-head,.savings-tabs){flex-shrink:0}

/* Home uses the same outer shell and column geometry as the product pages.
   Prose retains a reading measure inside the column. */
@media(min-width:981px){
 body[data-page="home"] :is(.story__grid,.story__grid--reverse){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(24px,4vw,72px)!important}
 body[data-page="home"] .story__copy{width:100%!important;max-width:650px!important}
}

/* The bottom orbit label occupied the same space as the Control node. */
body[data-page="features"] .space-caption{display:none!important}

/* One dialog shell across the two explorers. */
@media(min-width:701px){
 body[data-page] .feature-modal{inset:clamp(16px,3vw,34px)!important}
 body[data-page] .feature-modal-frame{width:min(1100px,100%)!important;height:min(92dvh,900px)!important}
}
html[data-theme="light"] body[data-page] .feature-modal-frame{background:var(--bg-2)!important}
html.motion-paused .speech-lines span{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.speech-lines span{opacity:1!important;transform:none!important}}
