/* Interior pages share the approved landing CSS and the six locked brand colors. */
.detail-main{background:var(--ivory)}
.detail-main .page-hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line);background:var(--ivory)}
.detail-main .page-hero:before{content:"";position:absolute;inset:0 0 0 auto;width:65%;z-index:-1;background:url('technical/hydraulic-system-plan.png') center/cover no-repeat;opacity:.12}
.detail-main .page-hero>.site-shell{padding-block:clamp(70px,7vw,120px)}
.detail-main .page-hero h1{font-size:clamp(48px,5vw,98px);line-height:1.02;letter-spacing:-.055em;max-width:1150px;margin:0 0 24px}
.detail-main .page-hero p:not(.eyebrow){font-size:clamp(18px,1.3vw,27px);color:var(--slate);max-width:920px;line-height:1.5}
.detail-main .section-pad{padding-block:clamp(58px,5vw,100px);border-bottom:1px solid var(--line)}
.detail-main .section-pad.services,.detail-main .section-stone{background:var(--stone)}
.detail-main .section-head{max-width:1120px;margin-bottom:42px}
.detail-main .section-head h2,.detail-main .two-col h2{font-size:clamp(36px,3.5vw,70px);line-height:1.08;letter-spacing:-.05em;margin-bottom:18px}
.detail-main .section-head p:not(.eyebrow){color:var(--slate);font-size:clamp(17px,1.12vw,23px);line-height:1.5}
.detail-main .two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,105px);align-items:start}
.detail-main .service-detail{padding-block:clamp(35px,4vw,82px);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header) + 20px)}
.detail-main .service-detail:first-child{padding-top:0}.detail-main .service-detail:last-of-type{border:0}
.detail-main .service-detail h2{font-size:clamp(30px,2.8vw,58px);margin:14px 0 20px;line-height:1.12}
.detail-main .service-detail p,.detail-main .body-copy p{color:var(--slate);font-size:clamp(16px,1.08vw,21px);line-height:1.65}
.detail-main .service-detail-photo{width:100%;max-height:380px;object-fit:cover;border-radius:4px;margin-top:26px}
.detail-main .feature-list{padding-top:12px}
.detail-main .feature-item{border-bottom:1px solid var(--line);padding:18px 4px 18px 30px;position:relative;font-size:clamp(16px,1vw,20px);line-height:1.45}
.detail-main .feature-item:before{content:"→";position:absolute;left:0;color:var(--red);font-weight:800}
.detail-main .note{background:var(--stone);border-left:3px solid var(--red);padding:27px 30px;font-size:clamp(14px,.87vw,18px);color:var(--slate);line-height:1.65}
.detail-main .intro-split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(34px,5vw,110px)}
.detail-main .intro-lead{font-size:clamp(27px,2.8vw,51px);font-weight:760;letter-spacing:-.04em;line-height:1.2}
.detail-main .path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.detail-main .path-step,.detail-main .principle{padding:clamp(25px,2.3vw,48px);border:1px solid var(--line);background:var(--ivory)}
.detail-main .path-step>span,.detail-main .principle .index{color:var(--red);font-weight:850;letter-spacing:.13em;font-size:14px}
.detail-main .path-step h3,.detail-main .principle h3{font-size:clamp(24px,1.6vw,35px);line-height:1.15;letter-spacing:-.035em;margin:24px 0 14px}
.detail-main .path-step p,.detail-main .principle p{color:var(--slate);font-size:clamp(16px,1vw,20px);line-height:1.55}
.detail-main .principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.detail-main .banner-quote{font-size:clamp(32px,3.3vw,75px);font-weight:750;letter-spacing:-.04em;line-height:1.16;max-width:1400px}
.detail-main .check-list{color:var(--slate);font-size:clamp(16px,1vw,22px);line-height:1.65;padding-left:24px}
.detail-main .check-list li{margin-bottom:12px}.detail-main .check-list li::marker{color:var(--red)}
.detail-main .muted-note{font-size:14px;color:var(--slate);line-height:1.6}
.detail-main .cta-panel{display:flex;justify-content:space-between;align-items:center;gap:32px;border:1px solid var(--line);background:var(--stone);padding:clamp(32px,3.4vw,68px)}
.detail-main .cta-panel h2{font-size:clamp(34px,3vw,65px);margin:0 0 14px}
.detail-main .cta-panel p:not(.eyebrow){color:var(--slate);font-size:clamp(17px,1.1vw,23px);line-height:1.5}
.detail-main .cta-panel .button,.detail-main .button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:var(--ivory);padding:14px 25px;border:1px solid var(--red);border-radius:3px;font-weight:700;white-space:nowrap}
.detail-main .resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.detail-main .resource-card{display:flex;flex-direction:column;padding:clamp(25px,2.2vw,50px);border:1px solid var(--line);background:var(--stone)}
.detail-main .resource-card h3{font-size:clamp(24px,1.7vw,36px);line-height:1.15;letter-spacing:-.04em;margin:4px 0 16px}
.detail-main .resource-card p{color:var(--slate);font-size:clamp(16px,1vw,21px);line-height:1.5;margin-bottom:28px}
.detail-main .detail-text-link{margin-top:auto;color:var(--red);font-weight:800}
.detail-main .detail-preface{padding-top:44px}.detail-main .detail-preface .eyebrow{margin-bottom:6px}
.detail-main .detail-preface-copy{color:var(--slate);font-size:clamp(15px,1vw,20px);line-height:1.55;max-width:1150px;margin-bottom:0}
.detail-main .contact{border-bottom:1px solid var(--line)}
.detail-footer{background:var(--stone);border-top:1px solid var(--line);padding:64px 0 28px}
.detail-footer-grid{display:grid;grid-template-columns:1.55fr .8fr .8fr;gap:clamp(35px,5vw,115px)}
.detail-footer-grid p{margin:20px 0 0;color:var(--slate);font-size:16px;line-height:1.6;max-width:500px}
.detail-footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin:4px 0 20px}
.detail-footer-grid>div:not(:first-child)>a{display:block;font-weight:650;margin-bottom:14px}
.detail-footer-small{border-top:1px solid var(--line);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:22px;color:var(--slate);font-size:12px;line-height:1.5}
@media(max-width:760px){
.detail-main .two-col,.detail-main .intro-split,.detail-main .path-grid,.detail-main .principles,.detail-main .resource-grid,.detail-footer-grid{grid-template-columns:1fr}
.detail-main .page-hero>.site-shell{padding-block:64px}.detail-main .page-hero h1{font-size:clamp(41px,9vw,60px)}.detail-main .page-hero:before{width:100%;opacity:.08}
.detail-main .section-pad{padding-block:54px}.detail-main .section-head{margin-bottom:27px}
.detail-main .service-detail{padding-block:40px}.detail-main .feature-list{padding-top:0}
.detail-main .cta-panel{display:block}.detail-main .cta-panel .button,.detail-main .cta-panel .btn{margin-top:18px}
.detail-main .detail-preface{padding-top:30px}.detail-footer-grid{gap:35px}.detail-footer-small{flex-direction:column}
}

/* Privacy notice: inherits the approved interior design and palette. */
.privacy-article{max-width:920px}
.privacy-article h2{font-size:clamp(24px,2vw,36px);line-height:1.2;letter-spacing:-.035em;margin:38px 0 14px}
.privacy-article h2:first-child{margin-top:0}
.privacy-article p,.privacy-article li{font-size:clamp(15px,1vw,19px);line-height:1.65;color:var(--slate)}
.privacy-article ul{padding-left:26px;margin-bottom:20px}
.privacy-article li{padding-left:2px;margin:6px 0}
.privacy-article a,.detail-footer-small a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
