/* A v17: refinement of the accepted v16 composition, not a new layout. */
:root{--editorial:Newsreader,Georgia,serif;--title-light:#fff1da;--glass-line:rgba(246,220,179,.23)}
.interior .site-header{justify-content:flex-end;min-height:84px;padding-block:16px}
.interior .site-header>nav{margin-left:auto}
.interior .opening-copy{padding-top:12px;padding-bottom:6px}
.interior .opening-copy h1{font-family:var(--editorial);font-weight:500;font-size:clamp(44px,4.5vw,66px);line-height:1.04;letter-spacing:-.025em;color:var(--title-light);max-width:20ch;text-shadow:0 2px 18px #03111ed9}
.interior .page-opening{padding-bottom:44px}
.interior .opening-lead{color:#f1ece3}
.interior .opening-copy:not(:has(.opening-lead)){grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}
.interior .opening-copy:not(:has(.opening-lead)) h1{max-width:26ch}
.hero h1{font-family:var(--editorial);font-weight:500;font-size:clamp(58px,5.2vw,78px);line-height:1.02;letter-spacing:-.035em;color:var(--title-light);text-shadow:0 2px 22px rgba(0,10,20,.75)}
.hero h1>span{color:#ffc68a}
.hero-copy>p{color:#f0eeea;text-shadow:0 2px 8px #00101f}
.hero .site-header nav{filter:drop-shadow(0 1px 4px #00111f)}
.service-grid h2,.interior .section-heading h2,.our-solutions .solution-copy h2{font-family:var(--editorial);font-weight:500;letter-spacing:-.018em;color:var(--title-light);line-height:1.1}
.service-grid h2{font-size:clamp(34px,3vw,44px);max-width:23ch}
.interior .section-heading h2{font-size:clamp(36px,3.4vw,49px)}
.our-solutions .solution-copy h2{font-size:clamp(38px,3.5vw,50px);max-width:23ch}
.interior .section-heading:has(>h2:only-child){display:block}
.interior .problem-row h3,.interior .capabilities h3{font-family:var(--editorial);font-size:clamp(29px,2.6vw,37px);font-weight:500;letter-spacing:-.015em;line-height:1.15;color:var(--title-light)}
.our-solutions .opening-lead{font-family:var(--editorial);font-size:clamp(24px,2.2vw,31px);line-height:1.36;font-weight:450;letter-spacing:-.01em;position:relative;padding:5px 0 5px 27px;border-left:1px solid rgba(255,190,120,.55);max-width:38ch}
.our-solutions .opening-lead:before{content:'“';position:absolute;left:-13px;top:-14px;font:400 65px/1 var(--editorial);color:var(--accent);text-shadow:0 2px 8px var(--base)}

/* One quiet glass sheet per text group. Keeps artwork visible; no tile grid. */
.service-grid,.case-layout,.work-steps,.interior .automation-pairs,.interior .capabilities,.our-solutions .solution-copy,.interior .opening-copy{position:relative;isolation:isolate}
.service-grid:before,.case-layout:before,.work-steps:before,.interior .automation-pairs:before,.interior .capabilities:before,.our-solutions .solution-copy:before,.interior .opening-copy:before{content:'';position:absolute;inset:-18px -22px;z-index:-1;border:1px solid var(--glass-line);border-radius:4px;background:linear-gradient(115deg,rgba(8,24,35,.66),rgba(11,29,42,.39));backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:inset 0 1px rgba(255,239,214,.07),0 8px 30px rgba(0,0,0,.08);pointer-events:none}
.interior .opening-copy:before{inset:0 -22px -10px;background:linear-gradient(110deg,rgba(8,24,35,.48),rgba(11,29,42,.3));border-color:rgba(246,220,179,.16)}
.interior .opening-copy{padding-block:18px}
.interior.faq .opening-copy:before,.interior.blog .opening-copy:before,.interior.blog-article .opening-copy:before,.interior.about .opening-copy:before{display:none}
.service-description p,.case-copy p,.interior .problem-row p,.interior .capabilities p,.our-solutions .solution-copy p,.work-steps p{color:#f0ece5;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.service-section{padding-top:40px}
.service-section .expertise{margin-bottom:32px}
.interior .automation-pairs,.interior .capabilities{margin-block:24px 12px}
.interior .problem-row{padding-block:24px}
.our-solutions .solution-item:nth-child(n){padding-block:48px}
.our-solutions .solution-copy{text-shadow:none}
.work h2{margin-bottom:38px}
.work{padding-bottom:50px}
.interior .quiet-statement p,.interior .system-case-head p{color:#f0ece5}
.closing-world .footer-contact-title{color:#fff2d7;font-weight:500;text-shadow:0 1px 3px #000,0 0 9px rgba(255,183,100,.5),0 0 22px rgba(255,155,69,.23);letter-spacing:-.025em}
.closing-world .footer-contact-title:hover{color:#fffaf0;text-shadow:0 1px 3px #000,0 0 12px rgba(255,183,100,.7)}
.closing-world .footer-nav a{text-shadow:0 1px 4px #000,0 0 10px #061725}
@supports not (backdrop-filter:blur(5px)){
 .service-grid:before,.case-layout:before,.work-steps:before,.interior .automation-pairs:before,.interior .capabilities:before,.our-solutions .solution-copy:before,.interior .opening-copy:before{background:rgba(6,23,37,.8)}
}
@media(max-width:1100px) and (min-width:761px){
 .hero h1{font-size:64px;max-width:15ch}.hero-copy>p{max-width:52ch}
 .interior .opening-copy h1{font-size:49px}.our-solutions .opening-lead{font-size:27px}
 .our-solutions .solution-copy h2{font-size:40px}
}
@media(max-width:760px){
 .interior .site-header{min-height:66px;padding:12px 6%}.interior .mobile-menu{margin-left:auto}
 .interior .page-opening{padding-bottom:34px}.interior .opening-copy{padding-top:16px}
 .interior .opening-copy h1{font-size:42px;line-height:1.07;max-width:21ch}.interior .opening-copy:not(:has(.opening-lead)) h1{max-width:21ch}
 .hero h1{font-size:clamp(43px,10.8vw,62px);line-height:1.04;max-width:17ch}
 .hero-copy>p{font-size:17px;line-height:1.6}
 .service-grid h2{font-size:35px;line-height:1.12}.service-section{padding-top:36px}
 .service-grid:before,.case-layout:before,.work-steps:before,.interior .automation-pairs:before,.interior .capabilities:before,.our-solutions .solution-copy:before{inset:-14px -11px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:rgba(6,23,37,.65)}
 .interior .opening-copy:before{inset:0 -11px -8px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
 .our-solutions .opening-lead{font-size:25px;line-height:1.4;padding-left:24px;margin-top:28px}
 .our-solutions .solution-copy h2{font-size:38px;line-height:1.1}
 .our-solutions .solution-item:nth-child(n){padding-block:38px;gap:34px}
 .interior .section-heading h2{font-size:38px}.interior .problem-row h3,.interior .capabilities h3{font-size:30px}
 .interior .capabilities{margin-top:18px}.work{padding-bottom:40px}
 .closing-world .footer-contact-title{font-size:23px;line-height:1.4}
}
@media(max-width:360px){.hero h1{font-size:37px;letter-spacing:-.035em}.hero h1>span{white-space:normal}}
