.page-hero-media{position:relative; min-height:clamp(340px,42vw,460px); display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);}
.page-hero-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55;}
.page-hero-media::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 160px 30px rgba(10,8,5,.65); background:linear-gradient(to top,rgba(20,17,11,.9),rgba(20,17,11,.25));}
.page-hero-media .wrap{position:relative; z-index:2; padding-top:60px; padding-bottom:48px;}
.page-hero-media .eyebrow{color:var(--olive-2);} .page-hero-media h1{color:var(--cream); margin:16px 0 14px; max-width:16ch;}
.page-hero-media .lede{color:var(--cream-soft); max-width:640px;}
.crumb{font-size:.85rem; color:var(--cream-soft);} .crumb a{color:var(--cream-soft); text-decoration:underline;}
.safe-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:8px;}
.safe-card{border:1px solid var(--line); border-radius:14px; padding:24px; background:#fff; transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.safe-card:hover{transform:translateY(-3px); box-shadow:0 24px 44px -32px rgba(30,26,18,.5);}
.safe-card .ic-wrap{width:46px; height:46px; border-radius:11px; background:var(--paper-2); display:grid; place-items:center; color:var(--olive); margin-bottom:14px;}
.safe-card h3{font-size:1.06rem; margin:0 0 7px; color:var(--ink);} .safe-card p{font-size:.9rem; color:var(--ink-2); line-height:1.55;}
.photo-strip{display:grid; grid-template-columns:2fr 1fr; gap:14px; margin:8px 0;}
.photo-strip .ps-col{display:grid; gap:14px;}
.photo-tile{position:relative; overflow:hidden; border-radius:14px; background:var(--paper-3); box-shadow:0 22px 48px -32px rgba(30,26,18,.5);}
.photo-tile::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none; box-shadow:inset 0 0 70px 10px rgba(20,17,11,.34); border-radius:inherit; mix-blend-mode:multiply;}
.photo-tile img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05) contrast(1.03);}
.photo-tile.tall img{aspect-ratio:3/4;} .photo-tile.wide img{aspect-ratio:16/10;}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:34px 0;}
.stat-box{border:1px solid var(--line); border-radius:14px; padding:24px; background:var(--paper-2); text-align:center;}
.stat-box b{display:block; font-family:'Fraunces',serif; font-size:2.2rem; color:var(--olive-deep); line-height:1;}
.stat-box span{display:block; font-size:.86rem; color:var(--ink-2); margin-top:8px;}
.hl-list{list-style:none; padding:0; margin:14px 0; display:grid; gap:12px;}
.hl-list li{display:flex; gap:12px; align-items:flex-start; font-size:.98rem; color:var(--ink-2); line-height:1.5;}
.hl-list li svg{color:var(--olive); flex:none; margin-top:2px;}
.perf-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:14px 0;}
.perf-box{border:1px solid var(--line); border-left:3px solid var(--olive); border-radius:10px; padding:16px 18px; background:#fff; font-size:.92rem; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:10px;}
.perf-box svg{color:var(--olive); flex:none;}
.two-col{display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:start;}
.mini-head{font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--olive); margin-bottom:12px;}
@media (max-width:1000px){ .safe-grid,.stat-row,.perf-grid{grid-template-columns:1fr 1fr;} .two-col,.photo-strip{grid-template-columns:1fr;} }
@media (max-width:620px){ .safe-grid,.stat-row,.perf-grid{grid-template-columns:1fr;} }

/* case-study meta strip + service page rhythm */
.cs-meta{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0 0 34px;}
.cs-meta b{display:block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px;}
.cs-meta span{font-weight:600; color:var(--ink); font-size:1.02rem;}
@media (max-width:1000px){ .cs-meta{grid-template-columns:repeat(2,1fr);} }
.svc-body{max-width:70ch; color:var(--ink-2); margin-bottom:14px;}
.svc-h2{margin-top:44px;}
.svc-q{margin-top:22px;}
