.page-hero{background:var(--ink); color:var(--cream); padding:clamp(72px,9vw,120px) 0 clamp(40px,5vw,64px);}
.page-hero .eyebrow{color:var(--olive-2);} .page-hero .eyebrow::before{background:var(--olive-2);}
.page-hero h1{color:var(--cream); margin:20px 0 16px;}
.page-hero .lede{color:var(--cream-soft); max-width:640px;}
.crumb{font-size:.85rem; color:var(--cream-soft); margin-bottom:8px;} .crumb a{color:var(--cream-soft); text-decoration:underline;}
.pgroup{margin-bottom:clamp(36px,5vw,56px);}
.pgroup h2{margin-bottom:18px;}
.feat{display:grid; grid-template-columns:1.05fr 1fr; gap:0; background:var(--card,#fff); border:1px solid rgba(33,31,26,.10); border-radius:16px; overflow:hidden; text-decoration:none; color:inherit; transition:box-shadow .3s ease, transform .3s ease;}
.feat:hover{box-shadow:0 18px 40px rgba(33,31,26,.13); transform:translateY(-2px);}
.feat-img{position:relative; min-height:320px; overflow:hidden;}
.feat-img img{width:100%; height:100%; object-fit:cover; display:block;}
.feat-body{padding:clamp(24px,3vw,38px); display:flex; flex-direction:column; justify-content:center;}
.feat-body h3{font-size:clamp(24px,2.6vw,32px); line-height:1.18; margin:6px 0 12px; color:var(--olive-deep,#36451F);}
.feat-body p{color:var(--ink2,#5A554A); line-height:1.65;}
.feat-stats{display:flex; flex-wrap:wrap; gap:22px; margin:20px 0 18px; padding-top:18px; border-top:1px solid rgba(33,31,26,.10);}
.feat-stats div{display:flex; flex-direction:column;}
.feat-stats strong{font-family:var(--serif,Georgia,serif); font-size:20px; color:var(--olive,#44562C); line-height:1.2;}
.feat-stats span{font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink2,#5A554A); margin-top:3px;}
@media (max-width:820px){ .feat{grid-template-columns:1fr;} .feat-img{min-height:230px;} }
.pcards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.pcard{display:block; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; transition:transform .35s var(--ease), box-shadow .35s var(--ease);}
.pcard:hover{box-shadow:0 30px 60px -42px rgba(40,36,28,.55);}
.pcard img,.pcard video{width:100%; aspect-ratio:16/10; object-fit:cover; display:block; background:var(--paper-3);}
.pcard .pc-body{padding:16px 18px 18px;}
.pcard h3{font-size:1.05rem; margin-bottom:4px; color:var(--ink);}
.pcard p{font-size:.86rem; color:var(--ink-2);}
.pcard .pc-tag{display:inline-block; margin-top:10px; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--olive);}
.badge-soon{display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:var(--paper-2); border:1px solid var(--line); border-radius:999px; padding:4px 10px; color:var(--ink-2); margin-left:8px;}
.cs-meta{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:34px 0;}
.cs-meta b{display:block; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:5px;}
.cs-meta span{font-weight:600; color:var(--ink);}
.cs-body h2{margin:34px 0 12px;} .cs-body p{max-width:70ch; color:var(--ink-2); margin-bottom:14px;}
.slot{border:1.5px dashed var(--line-2); border-radius:12px; background:var(--paper-2); padding:26px; text-align:center; color:var(--ink-2); font-size:.9rem; margin:18px 0;}
.slot b{display:block; color:var(--ink); margin-bottom:4px;}
.safe-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px;}
.safe-card{border:1px solid var(--line); border-radius:12px; padding:22px; background:#fff;}
.safe-card h3{font-size:1.02rem; margin:10px 0 6px;} .safe-card p{font-size:.88rem; color:var(--ink-2);}
.safe-card svg{width:26px; height:26px; color:var(--olive);}
@media (max-width:1000px){ .pcards{grid-template-columns:repeat(2,1fr);} .safe-grid{grid-template-columns:repeat(2,1fr);} .cs-meta{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .pcards,.safe-grid{grid-template-columns:1fr;} }
/* --- projects page base overrides (kept here so projects.html
   can share the base stylesheet without visual regressions) --- */
.tb-right a{display:inline-flex; align-items:center; gap:6px;}
.cta-direct a{display:inline-flex; align-items:center; gap:10px; color:var(--cream); padding:4px 0;}
.clients-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper-2);}
.clients-strip .wrap{display:flex; align-items:center; gap:32px; padding-top:22px; padding-bottom:22px; flex-wrap:wrap;}
.clients-strip .cs-label{font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap;}
.clients-strip ul{display:flex; gap:30px; flex-wrap:wrap; align-items:center; flex:1;}
.clients-strip li{font-weight:700; font-size:1.02rem; color:var(--ink-2); opacity:.78; transition:opacity .2s var(--ease), color .2s var(--ease);}
.clients-strip li:hover{opacity:1; color:var(--ink);}
