/* Whole-site layout and reading scale. Shared by home and every inner page. */
body.site-fluid{
 --page-gutter:clamp(32px,4vw,160px);
 --text-body:clamp(24px,calc(.7vw + 12px),34px);
 --text-small:clamp(20px,calc(.4vw + 13px),28px);
 --text-ui:clamp(20px,calc(.4vw + 13px),30px);
 --title-section:clamp(36px,2.6vw,88px);
 --title-card:clamp(25px,1.5vw,44px);
 --title-sub:clamp(21px,1.1vw,32px);
 --layout-gap:clamp(36px,4vw,120px);
 --site-header-space:136px;
 font-size:var(--text-body);line-height:1.7;
}
/* Every screen shares the same outside edge, including lower content and footer. */
body.site-fluid .wrap,body.site-fluid.site-secondary .wrap{
 width:calc(100% - var(--page-gutter)*2);max-width:none;margin-inline:auto;
}
body.site-fluid .site-header{padding-inline:var(--page-gutter);height:clamp(92px,4vw,136px)}
body.site-fluid .site-header nav{gap:clamp(16px,1.05vw,38px);line-height:1.4}
body.site-fluid .site-header nav>a{font-size:var(--text-ui)}
body.site-fluid .site-header nav>a.nav-cta{font-size:var(--text-ui);padding:16px 20px;white-space:nowrap}
body.site-fluid .brand img{width:clamp(164px,7vw,240px);height:auto}
body.site-fluid .utility-inner{min-height:44px;padding-block:8px;gap:24px}
body.site-fluid .utility-contacts{font-size:var(--text-small);gap:24px}
body.site-fluid .utility-location{font-size:var(--text-small);letter-spacing:.07em}
body.site-fluid .section,body.site-fluid .applications-settings{padding-block:clamp(48px,3.5vw,88px)}
body.site-fluid .company-service{padding-block:clamp(48px,3.5vw,88px)}
body.site-fluid .contact{padding-block:clamp(48px,3.2vw,80px)}
body.site-fluid :is(.custom-scope-grid,.custom-process-grid,.custom-questions-grid,.company-profile-grid,.company-service-grid,.engineering-grid,.about-grid,.inner-context-grid,.project-story,.contact-grid){gap:var(--layout-gap)}
body.site-fluid :is(.project-grid,.catalog-grid,.motion-grid,.company-evidence-grid,.custom-proof-grid,.applications-setting-grid,.learn-path-grid,.exhibit-grid,.delivery-evidence){gap:clamp(28px,2.4vw,80px)}
body.site-fluid :is(.audience-grid,.purchase-grid,.spec-grid){column-gap:clamp(32px,3vw,100px)}
body.site-fluid :is(.section,.about,.support,.company-service,.contact) h2,
body.site-fluid .applications-settings-heading h2,
body.site-fluid .gallery-list-title{font-size:var(--title-section);line-height:1.14;max-width:25ch}
body.site-fluid :is(.catalog-card,.motion-card,.learn-path-grid article,.reading-list article,.article-row,.audience-grid article) h2,
body.site-fluid .learn-reading .reading-list h2{font-size:var(--title-card);line-height:1.2;max-width:28ch}
body.site-fluid :is(.exhibit-card,.project-meta,.company-evidence-grid,.custom-proof-grid,.applications-setting-body) h3{font-size:var(--title-card);line-height:1.2}
body.site-fluid :is(.support-list,.support-promise,.custom-start-note,.purchase-grid,.custom-support-promise,.company-service-promise) h3,
body.site-fluid .custom-scope-list dt{font-size:var(--title-sub);line-height:1.35}
body.site-fluid :is(.text-link,.product-detail-link,.motion-watch-link,.learn-secondary-link,.watch-return){font-size:var(--text-ui);line-height:1.65}
body.site-fluid .button{font-size:var(--text-ui);min-height:60px;padding:20px 26px}
body.site-fluid :is(.eyebrow,.micro,.media-badge,.motion-duration,.breadcrumbs,.article-category){font-size:var(--text-small);line-height:1.65;letter-spacing:.075em}
body.site-fluid :is(figcaption,figcaption span,figcaption small,.retouch-note,.image-footnote,.section-note,.scope-caption,.custom-review,.form-note){font-size:var(--text-small);line-height:1.75}
body.site-fluid :is(.section-heading,.section-tail,.catalog-next){gap:clamp(24px,3vw,90px)}
body.site-fluid .section-heading{margin-bottom:36px}
body.site-fluid .delivery-evidence{margin-top:36px}
body.site-fluid .section-lead{font-size:var(--text-body);max-width:34em;line-height:1.8}
body.site-fluid :is(.about-lead,.dialog-lead){font-size:var(--text-body);line-height:1.8}
body.site-fluid :is(.company-hero-media,.custom-hero-media,.inner-hero-media,.applications-hero-photo,.watch-player) figcaption,
body.site-fluid .section-note,body.site-fluid .image-footnote{font-weight:400}
body.site-fluid.site-secondary :is(.inner-hero-media,.company-hero-media,.custom-hero-media,.applications-hero-photo,.watch-player) figcaption,
body.site-fluid .delivery-evidence figcaption{color:#465a48}
body.site-fluid .footer-brand>span,body.site-fluid .footer-bottom{color:#bac7b2}
body.site-fluid :is(.detail-copy,.custom-section-copy,.company-hero-copy,.custom-hero-copy,.applications-hero-copy,.inner-hero-copy){min-width:0}
body.site-fluid :is(.custom-section-copy>p:not(.eyebrow),.company-profile-grid>div>p:not(.eyebrow),.custom-scope-list dd,.custom-proof-grid figcaption p,.company-evidence-grid p,.catalog-card>p:not(.micro),.motion-card-copy>p,.learn-path-grid article>p:not(.micro),.reading-list p:not(.micro),.audience-grid article>p:not(.eyebrow),.article-row p,.support-list p,.support-promise p,.custom-support-promise p,.company-service-promise p){
 font-size:var(--text-body);max-width:40em;line-height:1.8;
}
body.site-fluid :is(.custom-start-note,.about h2,.about .about-lead,.company-service-promise,.custom-support-promise){max-width:none}
body.site-fluid .custom-step-body .custom-review{font-size:var(--text-small)}
body.site-fluid .support-content{padding:clamp(48px,4vw,120px) var(--page-gutter) clamp(48px,4vw,120px) clamp(36px,4vw,120px)}
body.site-fluid .support-promise{gap:clamp(24px,2.2vw,70px)}
body.site-fluid .support-promise>div:first-child>strong,
body.site-fluid .custom-support-promise>strong,
body.site-fluid .company-service-promise>strong{font-size:clamp(76px,6vw,180px)}
body.site-fluid .service-strip>.wrap{gap:24px;padding-block:30px;font-size:var(--text-small)}
body.site-fluid .custom-route li{font-size:var(--text-ui);line-height:1.6}
body.site-fluid .custom-route span{font-size:var(--text-small)}
body.site-fluid .company-facts>div{grid-template-columns:minmax(110px,.32fr) 1fr;font-size:var(--text-body);gap:24px;line-height:1.7}
body.site-fluid .spec-grid>div{grid-template-columns:minmax(130px,.3fr) 1fr;gap:24px}
body.site-fluid .spec-grid :is(dt,dd){font-size:var(--text-body);line-height:1.75;min-width:0}
/* Reading pages use the available width with two readable columns. */
body.site-fluid .article-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,120px);align-items:start}
body.site-fluid .article-body>:is(.article-byline,.article-next,a){grid-column:1/-1}
body.site-fluid .article-body p{font-size:var(--text-body);line-height:1.85;max-width:65ch}
body.site-fluid .article-body h2{font-size:var(--title-card);max-width:none}
body.site-fluid .article-body section{margin:0;min-width:0}
body.site-fluid .faq-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--layout-gap);align-items:start}
body.site-fluid .faq-wrap>:is(.eyebrow,h2,a){grid-column:1/-1}
body.site-fluid .faq-wrap h2{margin-bottom:35px}
body.site-fluid .faq-wrap summary{font-size:var(--title-sub);line-height:1.5}
body.site-fluid .faq-wrap details p{font-size:var(--text-body);max-width:65ch}
body.site-fluid .sitemap-grid>a{font-size:var(--text-body);padding-block:24px}
/* Contact and footer remain usable at wide sizes without tiny labels. */
body.site-fluid .contact-enquiry>.enquiry-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px var(--layout-gap);align-content:start;align-items:start}
body.site-fluid .contact-enquiry .enquiry-panel>h2{grid-column:1;grid-row:1;font-size:var(--title-section)}
body.site-fluid .contact-enquiry .enquiry-panel>.dialog-lead{grid-column:1;grid-row:2;max-width:35em;font-size:var(--text-body)}
body.site-fluid .contact-enquiry .enquiry-panel>:is(form,#brief-result){grid-column:2;grid-row:1/span 3}
body.site-fluid :is(input,textarea,select){font-size:var(--text-body);line-height:1.5;min-width:0}
body.site-fluid .enquiry-panel label,body.site-fluid #brief-form label{font-size:var(--text-ui);line-height:1.65}
body.site-fluid .contact-panel :is(p,.contact-location){font-size:var(--text-body)}
body.site-fluid .contact-panel .contact-links{font-size:var(--text-body)}
body.site-fluid .contact-panel h2{font-size:var(--title-card);max-width:none}
body.site-fluid .footer-grid{gap:clamp(32px,3vw,110px)}
body.site-fluid .footer-grid h2{font-size:var(--title-sub);line-height:1.35;margin-bottom:24px}
body.site-fluid .footer-grid a,body.site-fluid .footer-grid .contact-links{font-size:var(--text-ui);line-height:1.7}
body.site-fluid .footer-brand>p{font-size:var(--text-body);line-height:1.7}
body.site-fluid .footer-brand>span{max-width:28em;font-size:var(--text-small);line-height:1.8}
body.site-fluid .footer-bottom{font-size:var(--text-small);line-height:1.8}
/* Retain the accepted full-photo home; make its content scale with the screen. */
body.site-fluid .hero{height:auto;min-height:max(720px,calc(100svh - var(--site-header-space)));max-height:none;padding-bottom:220px}
body.site-fluid .hero-content{padding-top:clamp(64px,7vh,125px)}
body.site-fluid .hero h1{font-size:clamp(64px,6vw,144px);max-width:1500px}
body.site-fluid .hero .eyebrow{font-size:var(--text-small);max-width:65ch}
body.site-fluid .hero-description{font-size:var(--text-body);max-width:36em;line-height:1.8}
body.site-fluid .hero-bottom{font-size:var(--text-small);line-height:1.7;gap:30px}
body.site-fluid .hero-bottom>span:last-child,body.site-fluid .hero-bottom small{font-size:var(--text-small)}
body.site-fluid .carousel-controls button,body.site-fluid .carousel-count{font-size:var(--text-small)}
body.site-fluid .carousel-controls button{min-width:40px;height:42px}
@media(min-width:1101px){
 body.site-fluid main>:is(.section,.applications-settings,.company-service,.motion-collection){min-height:0;display:flex;flex-direction:column;justify-content:flex-start}
 body.site-fluid main>.support{min-height:0}
 body.site-fluid.site-secondary :is(.watch-subtitle,.watch-notes>p:not(.micro)){font-size:var(--text-body);line-height:1.8}
 body.site-fluid.site-secondary .watch-notes h2{font-size:var(--title-sub)}
}
@media(max-width:1500px){
 body.site-fluid .site-header{height:84px}
 body.site-fluid .menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;color:#f3f2ec;border:1px solid #697168;padding:12px 16px;font-size:var(--text-ui)}
 body.site-fluid .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101514;padding:24px var(--page-gutter);border-bottom:1px solid #ffffff26;box-shadow:0 15px 30px #0003}
 body.site-fluid .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:7px;max-height:calc(100svh - var(--site-header-space));overflow:auto}
 body.site-fluid .site-header nav>a{font-size:var(--text-ui);padding-block:10px}
 body.site-fluid .site-header nav>a.nav-cta{font-size:var(--text-ui);align-self:flex-start;margin-top:10px}
 body.site-fluid :is(.company-profile-grid,.custom-scope-grid,.custom-process-grid,.custom-questions-grid){gap:40px}
}
@media(min-width:851px){
 body.site-fluid.site-secondary :is(.inner-hero-copy,.company-hero-copy,.custom-hero-copy,.applications-hero-copy,.catalog-hero-copy,.contact-hero-copy,.watch-heading) h1{font-size:clamp(46px,4.1vw,120px);line-height:1.08;max-width:1000px}
 body.site-fluid.site-secondary :is(.inner-lead,.company-hero-copy>p:not(.eyebrow),.custom-lead,.applications-lead,.catalog-lead,.contact-hero-copy>p:not(.eyebrow)){font-size:var(--text-body);line-height:1.8;max-width:38em}
 body.site-fluid .project-wide img{width:100%;max-height:none;object-fit:contain}
 body.site-fluid .detail-image-grid img{width:100%;height:auto;max-height:65svh;object-fit:contain}
}
@media(max-width:1000px){
 body.site-fluid .contact-enquiry>.enquiry-panel{display:block}
 body.site-fluid .contact-enquiry .enquiry-panel>.dialog-lead{max-width:50em}
 body.site-fluid .article-body,body.site-fluid .faq-wrap{grid-template-columns:1fr;gap:30px}
 body.site-fluid .faq-wrap{gap:0}
}
@media(max-width:850px){
 body.site-fluid{--page-gutter:28px;--layout-gap:32px;--text-body:22px;--text-ui:20px;--text-small:18px;--title-section:38px;--title-card:28px;--title-sub:23px}
 body.site-fluid .utility-location{display:none}
 body.site-fluid .utility-contacts{gap:18px;flex-wrap:wrap;justify-content:space-between;width:100%}
 body.site-fluid :is(.section,.applications-settings,.company-service,.contact){padding-block:44px}
 body.site-fluid .section-heading{margin-bottom:28px}
 body.site-fluid .support{grid-template-columns:1fr}
 body.site-fluid .support-image{min-height:0;height:70vw;max-height:650px}
 body.site-fluid .support-content{padding:45px var(--page-gutter)}
 body.site-fluid .engineering-grid{grid-template-columns:1fr}
 body.site-fluid .workshop-figure{min-height:0;height:75vw;max-height:750px}
 body.site-fluid .section-heading{align-items:flex-start;flex-direction:column}
 body.site-fluid .section-heading .section-lead{max-width:40em}
 body.site-fluid .contact-action{align-items:flex-start}
 body.site-fluid .hero-content{padding-top:52px}
 body.site-fluid .hero h1{font-size:clamp(56px,8vw,86px)}
 body.site-fluid .hero-description{max-width:34em}
 body.site-fluid .hero-bottom>span:first-child{display:none}
}
@media(max-width:700px){
 body.site-fluid{--page-gutter:20px;--layout-gap:30px;--text-body:20px;--text-ui:20px;--text-small:18px;--title-section:36px;--title-card:27px;--title-sub:22px}
 body.site-fluid .site-header{height:78px}
 body.site-fluid .utility-inner{min-height:44px;padding-block:8px;line-height:1.5}
 body.site-fluid .utility-contacts{gap:8px 16px}
 body.site-fluid .utility-contacts a:nth-child(2){font-size:0}
 body.site-fluid .utility-contacts a>span:first-child,body.site-fluid .utility-contacts .email-placeholder>span{font-size:var(--text-small)}
 body.site-fluid .utility-contacts a:nth-child(2)>span{font-size:var(--text-small)}
 body.site-fluid :is(.section,.applications-settings,.company-service,.contact){padding-block:48px}
 body.site-fluid :is(.article-body,.spec-grid,.purchase-grid,.learn-path-grid,.applications-setting-grid){grid-template-columns:1fr}
 body.site-fluid .company-facts>div,body.site-fluid .spec-grid>div{grid-template-columns:95px 1fr;gap:16px}
 body.site-fluid .company-signature{display:none}
 body.site-fluid .footer-grid{grid-template-columns:1fr;gap:36px}
 body.site-fluid .footer-brand,body.site-fluid .footer-contact{grid-column:auto}
 body.site-fluid .footer-bottom>div{flex-wrap:wrap;gap:12px 22px}
 body.site-fluid .section-tail,body.site-fluid .catalog-next{align-items:flex-start;flex-direction:column;gap:18px}
 body.site-fluid .custom-route{gap:22px 15px}
 body.site-fluid .custom-route li{font-size:var(--text-small)}
 body.site-fluid .company-hero-media figcaption{display:block}
 body.site-fluid .company-hero-media figcaption>span,body.site-fluid .company-hero-media figcaption>small{display:block;margin-top:6px}
 body.site-fluid .hero{height:auto;min-height:calc(100svh - var(--site-header-space));padding-bottom:205px}
 body.site-fluid .hero-content{padding-top:46px}
 body.site-fluid .hero h1{font-size:clamp(54px,12.5vw,78px);max-width:100%}
 body.site-fluid .hero-description{max-width:100%;font-size:var(--text-body);margin-top:24px}
 body.site-fluid .hero-actions{align-items:flex-start;flex-direction:column;gap:12px;margin-top:24px}
 body.site-fluid .hero-bottom{bottom:22px;display:block;line-height:1.6}
 body.site-fluid .carousel-control-wrap{bottom:105px}
 body.site-fluid .carousel-controls{gap:5px;padding:7px 9px}
 body.site-fluid .carousel-controls button{min-width:28px;height:36px}
 body.site-fluid .carousel-count{font-size:var(--text-small)}
 body.site-fluid .service-strip>.wrap{grid-template-columns:1fr 1fr;padding-block:25px;font-size:var(--text-small)}
}
