/* V19 design-system consolidation. Last stylesheet, shared across all 15 pages. */
:root{
 --qc-bg:#08090a;--qc-panel:#111316;--qc-panel-alt:#171a1e;
 --qc-text:#f6f6f5;--qc-muted:#b6b9bd;--qc-border:#34383d;
 --qc-edge:clamp(20px,5vw,100px);
 --qc-section:clamp(72px,8vw,142px);
 --qc-card:clamp(25px,3vw,54px);
 --qc-body:clamp(16px,1.13vw,19px);
 --qc-h2:clamp(35px,4.2vw,76px);
 --qc-h3:clamp(23px,2.2vw,38px);
 --qc-line:1.6;
 color-scheme:dark;
}
html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--qc-bg)}
body{background:var(--qc-bg)!important;color:var(--qc-text)!important;font-family:"DM Sans",sans-serif!important}
body :is(h1,h2,h3,h4,h5,h6,p,span,small,li,blockquote,a,button,label,input,select,textarea){
 font-family:"DM Sans",sans-serif!important;
}
body :is(.wordmark,.ht-logo,.footer-logo,.ht-footer-logo){
 font-family:"Poiret One",sans-serif!important;font-weight:400!important;
 font-synthesis:none!important;text-transform:lowercase!important;letter-spacing:.065em!important;
}
body :is(p,li,.v9-copy,.v9-lead,.lead,.intro){line-height:var(--qc-line)}
body :is(p,.lead,.intro,.v9-copy,.v9-lead,.v9-subtitle,.hero-sub){max-width:min(70ch,100%)!important}
body :is(.v9-section h2,.v9-next h2,.v11-booking h2,.v11-client-actions h2){max-width:20ch!important}
body :is(.section-pad,.v9-section,.v9-next,.v9-outcome,.v11-upload-info,.v11-client-actions,.v11-booking){
 padding-block:var(--qc-section);
}
body :is(.v9-section,.v9-next,.v9-outcome,.v11-booking,.v11-client-actions){box-sizing:border-box}
body :is(.v9-section,.v9-next,.v9-outcome) :is(.v9-wrap,.v9-content,.v9-inner){box-sizing:border-box}
body :is(.model-card,.project-card,.estimate-card,.approach-card,.v9-summary,.v9-card,.service-panel .detail,.service-panel .visual,.advantage-item){
 box-sizing:border-box;
}
body :is(.v9-summary,.model-card,.advantage-item,.approach-card,.estimate-card,.service-panel .detail){
 padding:var(--qc-card)!important;
}
body .service-panel :is(.detail,.service-description,.detail p){overflow-wrap:break-word}
body .service-panel .detail{min-width:0}
body .service-panel .detail :is(h2,h3){line-height:1.12!important;margin-block:0 clamp(15px,2vw,30px)!important}
body .service-panel .detail p{margin-block:0 clamp(18px,2vw,32px)!important}
body .service-panel .detail :is(.tags,.meta,.detail-footer){margin-top:clamp(18px,2vw,32px)!important}
body .v9-hero h1{line-height:1.07!important}
body .v9-section h2{line-height:1.13!important}
body :is(.v9-section,.v9-next,.v11-booking,.v11-upload-info) :is(p,li){font-size:var(--qc-body)}
/* Full-bleed chrome and a consistent brand lockup. */
body .site-header,body .ht-header{
 width:100%!important;max-width:none!important;
 left:0!important;right:0!important;
 box-sizing:border-box!important;
}
body .site-header .header-inner,body .ht-header .ht-inner{
 width:100%!important;max-width:none!important;
 margin:0!important;padding-inline:clamp(18px,2.25vw,48px)!important;
 box-sizing:border-box!important;
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr)!important;
 align-items:center!important;min-height:84px!important;
}
body .site-header .header-inner>.wordmark,body .ht-header .ht-inner>.ht-logo{
 justify-self:start!important;text-align:left!important;
 font-family:"Poiret One",sans-serif!important;
}
body .site-header .header-inner>.header-center,body .ht-header .ht-inner>.ht-center{
 justify-self:center!important;text-align:center!important;
 font-family:"DM Sans",sans-serif!important;
 font-size:clamp(12.8px,1.32vw,21.6px)!important;
 font-weight:900!important;font-synthesis:weight!important;
 letter-spacing:.005em!important;line-height:1.16!important;
 -webkit-text-stroke:.45px currentColor!important;
 color:#fff!important;max-width:100%;
}
body .site-header .header-inner>.header-menu-wrap,body .ht-header .ht-inner>.ht-wrap{
 justify-self:end!important;min-width:0!important;
}
body :is(.menu-toggle,.ht-toggle){font-size:0!important}
body :is(.menu-glyph i,.ht-lines i){width:33px!important;height:2px!important}
body .hero-foot.shell{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:center!important}
body .hero-foot.shell> :nth-child(2){justify-self:center!important;text-align:center!important}
body .hero-foot.shell> :last-child{justify-self:end!important}
body .ht-footer{
 width:100%!important;max-width:none!important;margin:0!important;
 padding:0 clamp(18px,2.25vw,48px)!important;
 background:var(--qc-bg)!important;border-top:1px solid var(--qc-border)!important;
 box-sizing:border-box!important;
}
body .ht-footer-inner{
 width:100%;max-width:none;margin:0;
 display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;
 align-items:center;min-height:116px;
}
body .ht-footer-logo{font-size:clamp(27px,2.8vw,40px)!important;color:var(--qc-text);text-decoration:none}
body .ht-footer-copy{color:var(--qc-muted);font-size:13px;justify-self:center;text-align:center}
body .ht-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 25px}
body .ht-footer-links a{font-size:13px!important;color:var(--qc-text);text-decoration:none;white-space:nowrap}
body .ht-footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
body :is(.shell,.container,.v9-wrap,.v11-reading,.hero-content,.manifesto,.capabilities,.estimate,.approach){box-sizing:border-box}
body :is(.v9-grid,.v9-columns,.capabilities-layout,.manifesto-grid,.estimate-grid,.work-grid,.models-grid,.service-panel){min-width:0}
body :is(.v9-grid,.v9-columns,.capabilities-layout,.manifesto-grid,.estimate-grid,.work-grid,.models-grid,.service-panel)>*{min-width:0}
/* Preserve all the source video pixels, using a blurred copy for the excess space. */
body .hero-media{overflow:hidden!important}
body .hero-media #hero-video{object-fit:contain!important}
body .hero-media .hero-video-fill{object-fit:cover!important}
/* Prevent text and buttons touching sharp panel boundaries. */
body :is(.capability-detail,.capability-preview,.service-detail,.service-preview,.detail-panel,.panel-content){
 box-sizing:border-box;
}
body :is(.capability-detail,.capability-preview,.service-detail,.service-preview,.detail-panel,.panel-content)>:first-child{margin-top:0}
body :is(.capability-detail,.capability-preview,.service-detail,.service-preview,.detail-panel,.panel-content)>:last-child{margin-bottom:0}
@media(max-width:900px){
 body .ht-footer-inner{grid-template-columns:1fr 1fr;gap:14px;padding-block:24px}
 body .ht-footer-copy{justify-self:end}
 body .ht-footer-links{grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:600px){
 body .site-header .header-inner,body .ht-header .ht-inner{
  grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) minmax(0,.5fr)!important;
  padding-inline:16px!important;min-height:74px!important;
 }
 body .site-header .header-inner>.header-center,body .ht-header .ht-inner>.ht-center{
  font-size:clamp(9px,2.4vw,12px)!important;line-height:1.15!important;
  white-space:normal!important;-webkit-text-stroke:.2px currentColor!important;
 }
 body .hero-foot.shell{grid-template-columns:1fr!important;gap:8px!important}
 body .hero-foot.shell>:first-child,body .hero-foot.shell>:last-child{display:none!important}
 body .hero-foot.shell>:nth-child(2){justify-self:center!important}
 body .ht-footer-inner{grid-template-columns:1fr;gap:14px;padding-block:28px}
 body .ht-footer-copy{justify-self:start}
 body .ht-footer-links{grid-column:auto;justify-content:flex-start}
 body :is(.v9-section,.v9-next,.v9-outcome,.v11-upload-info,.v11-client-actions,.v11-booking){padding-block:clamp(65px,12vw,90px)}
}
