/* UPKEEP — shared design tokens & base styles */
:root{
  --orange:#F58220;
  --orange-2:#d96f13;
  --black:#111111;
  --charcoal:#252525;
  --charcoal-2:#1b1b1b;
  --white:#FFFFFF;
  --grey:#F2F2F2;
  --ink-2:#5B5B5B;
  --ink-3:#8a8a8a;
  --rule:#E4E4E4;
  --display:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --body:'Inter', 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--white); color:var(--black); font-family:var(--body); font-size:16px; line-height:1.6; overflow-x:hidden}
img{max-width:100%; display:block}
a{color:inherit}
.gutter{max-width:1160px; margin-inline:auto; padding-inline:24px}
.band{padding-block:clamp(2.6rem,5.5vw,4.8rem)}
.band.dark{background:var(--black); color:var(--white)}
.band.grey{background:var(--grey)}
h1,h2,h3,h4{font-family:var(--display); font-weight:800; line-height:1.15; margin:0; text-wrap:balance}
p{margin:0}
.eyebrow{font-family:var(--display); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--orange); font-weight:700; display:flex; align-items:center; gap:.5rem; margin-bottom:.8rem}
.eyebrow::before{content:""; width:16px; height:2px; background:var(--orange); display:inline-block}
.lede{font-size:16.5px; color:var(--ink-2); max-width:62ch; margin-top:1rem; line-height:1.75}
.band.dark .lede{color:#c7c7c7}
.skip{position:absolute; left:-999px; top:0; background:var(--orange); color:var(--black); padding:.8rem 1.2rem; font-weight:700; z-index:999}
.skip:focus{left:12px; top:12px}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--display); font-weight:800; font-size:14px; letter-spacing:.01em; padding:.95rem 1.7rem; border-radius:999px; text-decoration:none; border:2px solid transparent; cursor:pointer; transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease, background .18s, border-color .18s, color .18s}
.btn:active{transform:scale(.97)}
.btn-solid{background:var(--orange); color:var(--black); box-shadow:0 10px 24px -10px rgba(245,130,32,.55)}
.btn-solid:hover{background:var(--orange-2); transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(245,130,32,.6)}
.btn-line{background:transparent; border-color:currentColor; color:inherit}
.btn-line:hover{background:rgba(0,0,0,.06); transform:translateY(-2px)}
.band.dark .btn-line:hover{background:rgba(255,255,255,.1)}
.btn-white{background:var(--white); color:var(--black)}
.btn-white:hover{background:var(--grey); transform:translateY(-2px)}
.btn-whatsapp{background:#25D366; color:#04160c; box-shadow:0 10px 24px -10px rgba(37,211,102,.5)}
.btn-whatsapp:hover{background:#1fbd5a; transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(37,211,102,.55)}
.btn-whatsapp svg{width:18px; height:18px}

/* Topbar / nav */
.topbar{position:sticky; top:0; z-index:100; background:var(--black); box-shadow:0 1px 0 rgba(255,255,255,.08), 0 12px 30px -18px rgba(0,0,0,.7)}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; gap:2.4rem; padding-block:1.15rem}
.brand{display:flex; align-items:center; gap:.65rem; text-decoration:none; color:var(--white); flex:none}
.brand img{height:36px; width:36px; border-radius:8px}
.brand span{font-family:var(--display); font-weight:800; font-size:1.15rem; letter-spacing:.03em}
.topnav{display:flex; align-items:center; gap:2.1rem; flex:1; justify-content:center}
.topnav a{position:relative; color:#c9c9c9; text-decoration:none; font-size:13.5px; font-weight:600; letter-spacing:.01em; white-space:nowrap; padding-block:.3rem; transition:color .15s}
.topnav a:hover{color:var(--white)}
.topnav > a::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--orange); transform:scaleX(0); transition:transform .2s ease; transform-origin:center}
.topnav > a:hover::after{transform:scaleX(1)}
.nav-drop{position:relative}
.nav-drop__trigger{position:relative; display:inline-flex; align-items:center; gap:.4rem; color:#c9c9c9; font-size:13.5px; font-weight:600; letter-spacing:.01em; padding-block:.3rem; cursor:pointer; transition:color .15s}
.nav-drop:hover .nav-drop__trigger{color:var(--white)}
.nav-drop__trigger::before{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--orange); transform:scaleX(0); transition:transform .2s ease}
.nav-drop:hover .nav-drop__trigger::before{transform:scaleX(1)}
.nav-drop__trigger::after{content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; transition:transform .2s}
.nav-drop:hover .nav-drop__trigger::after{transform:rotate(225deg); margin-top:2px}
.nav-drop__panel{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px); background:var(--charcoal); border:1px solid #333; border-radius:18px; padding:.9rem; width:320px; opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease; z-index:70; box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}
.nav-drop:hover .nav-drop__panel, .nav-drop:focus-within .nav-drop__panel{opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px)}
.nav-mega{display:flex; flex-direction:column; gap:.15rem}
.nav-mega__item{display:flex; align-items:center; gap:1rem; padding:.85rem .9rem; border-radius:12px; font-size:14px; font-weight:600; color:#dcdcdc; text-decoration:none; transition:background .15s, color .15s}
.nav-mega__item:hover{background:#302f2f; color:var(--white)}
.nav-mega__icon{width:36px; height:36px; border-radius:9px; background:#2f2e2e; display:flex; align-items:center; justify-content:center; flex:none}
.nav-mega__icon svg{width:17px; height:17px; color:var(--orange)}
.nav-mega__foot{display:flex; align-items:center; justify-content:space-between; margin-top:.5rem; padding:.9rem .9rem .3rem; border-top:1px solid #383838; font-family:var(--display); font-size:12.5px; font-weight:800; letter-spacing:.03em; color:var(--orange); text-decoration:none}
.nav-mega__foot svg{width:15px; height:15px}
.cta-slot{display:flex; align-items:center; gap:.8rem; flex:none}
.cta-slot .btn{padding:.75rem 1.4rem; font-size:12.5px}
.navtoggle{display:none; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:none; color:var(--white); cursor:pointer; padding:0}
.navtoggle svg{width:26px; height:26px; display:block}
.navdrawer{display:none; flex-direction:column; gap:1px; background:var(--charcoal); margin:0 16px 12px; border-radius:12px; overflow:hidden}
.navdrawer a{color:#e2e2e2; text-decoration:none; padding:.9rem 1rem; font-size:14.5px; font-weight:600; border-top:1px solid #333}
.navdrawer a:first-child{border-top:none}
.navdrawer__cta{background:var(--orange); color:var(--black)!important; text-align:center; font-family:var(--display); font-weight:800; letter-spacing:.01em; padding:1.05rem 1rem!important}
@media(max-width:920px){
  .topnav{display:none}
  .cta-slot .btn{display:none}
  .navtoggle{display:flex}
  .navdrawer.is-open{display:flex}
}

/* Footer */
footer{background:var(--black); color:#bdbdbd; padding-block:3rem 2rem}
.ft__top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.4rem}
@media(max-width:820px){.ft__top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft__top{grid-template-columns:1fr}}
.ft__brand{display:flex; align-items:center; gap:.6rem}
.ft__brand img{height:34px; width:34px; border-radius:8px}
.ft__brand span{font-family:var(--display); font-weight:800; font-size:1.1rem; color:var(--white)}
.ft__tag{font-size:13.5px; margin-top:.9rem; max-width:32ch; line-height:1.6}
.ft__col h4{color:var(--white); font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1rem}
.ft__col nav{display:flex; flex-direction:column; gap:.6rem}
.ft__col a{color:#bdbdbd; text-decoration:none; font-size:13.5px}
.ft__col a:hover{color:var(--white)}
.ft__bottom{border-top:1px solid #2a2a2a; margin-top:2.4rem; padding-top:1.4rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; font-size:12.5px}
.ft__social{display:flex; gap:1rem}
.ft__social a{color:#bdbdbd; text-decoration:none}
.ft__social a:hover{color:var(--orange)}

/* Scroll reveal */
[data-reveal]{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
[data-reveal].is-in{opacity:1; transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1; transform:none; transition:none}}

/* Trust bar */
.trustbar{display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-top:1.6rem}
.trustbar span{font-family:var(--display); font-size:11.5px; font-weight:700; letter-spacing:.03em; padding:.55rem 1.1rem; border-radius:999px; background:rgba(255,255,255,.08); color:var(--white); white-space:nowrap}
.band:not(.dark) .trustbar span{background:var(--grey); color:var(--black); border:1px solid var(--rule)}

/* Service category cards */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2.2rem}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}
.svc-card{background:var(--white); border:1px solid var(--rule); border-radius:16px; padding:1.7rem; text-decoration:none; color:var(--black); box-shadow:0 2px 10px -6px rgba(0,0,0,.08); transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s}
.svc-card:hover{transform:translateY(-5px); box-shadow:0 26px 40px -22px rgba(0,0,0,.28); border-color:var(--orange)}
.svc-card__icon{width:46px; height:46px; border-radius:12px; background:var(--grey); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem}
.svc-card__icon svg{width:24px; height:24px; color:var(--orange)}
.svc-card h3{font-size:1.05rem}
.svc-card p{font-size:13.5px; color:var(--ink-2); margin-top:.5rem; line-height:1.6}
.svc-card__arrow{margin-top:1rem; display:inline-flex; align-items:center; gap:.4rem; font-family:var(--display); font-size:12.5px; font-weight:800; color:var(--orange)}

/* Care plan cards */
.care-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; margin-top:2.2rem}
@media(max-width:980px){.care-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.care-grid{grid-template-columns:1fr}}
.care-card{background:var(--charcoal); border-radius:16px; padding:1.7rem; display:flex; flex-direction:column; box-shadow:0 20px 40px -28px rgba(0,0,0,.6); transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.care-card:hover{transform:translateY(-4px)}
.care-card h3{color:var(--white); font-size:1.05rem}
.care-card p{color:#bdbdbd; font-size:13.5px; margin-top:.6rem; flex:1; line-height:1.6}
.care-card .btn{margin-top:1.3rem}

/* Steps / how it works */
.steps{display:flex; flex-wrap:wrap; justify-content:center; gap:2rem 1.4rem; margin-top:2.4rem; counter-reset:step}
.step{position:relative; padding-top:3.4rem; flex:1 1 180px; max-width:220px}
@media(max-width:560px){.step{flex-basis:100%; max-width:340px}}
.step::before{counter-increment:step; content:counter(step); font-family:var(--display); font-weight:800; font-size:1.2rem; width:44px; height:44px; border-radius:50%; background:var(--orange); color:var(--black); display:flex; align-items:center; justify-content:center; position:absolute; top:0; left:0}
.step h4{font-size:.95rem; margin-top:0}
.step p{font-size:13px; color:var(--ink-2); margin-top:.5rem; line-height:1.55}
.band.dark .step p{color:#bdbdbd}

/* Before/After gallery */
.baf-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:1.6rem; margin-top:2.2rem}
.baf-card{background:var(--charcoal); border-radius:18px; overflow:hidden}
.baf-card__pair{display:grid; grid-template-columns:1fr 1fr}
.baf-slot{position:relative; aspect-ratio:4/3; overflow:hidden; background:#1a1a1a}
.baf-slot img{width:100%; height:100%; object-fit:cover; display:block}
.baf-slot__label{position:absolute; top:10px; left:10px; font-family:var(--display); font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; color:var(--white); background:rgba(0,0,0,.55); padding:.35rem .7rem; border-radius:999px}
.baf-slot.is-empty{display:flex; align-items:center; justify-content:center; flex-direction:column; gap:.5rem; color:#8a8a8a; border:1px dashed #3d3d3d}
.baf-slot.is-empty svg{width:28px; height:28px; opacity:.6}
.baf-slot.is-empty span{font-size:12px; text-align:center; padding:0 1rem; font-weight:600}
.baf-card__body{padding:1.2rem 1.3rem 1.4rem}
.baf-card__body h3{color:var(--white); font-size:1.05rem}
.baf-card__body p{color:#b7b7b7; font-size:13.5px; margin:.4rem 0 0}
.baf-card__tag{display:inline-block; font-family:var(--display); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:800; color:var(--orange); margin-top:.7rem}

/* Draggable before/after slider (real photo pairs) */
.baf-slider{position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:14px; -webkit-user-select:none; user-select:none; touch-action:none}
.baf-slider img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.baf-slider__after{clip-path:inset(0 0 0 var(--pos, 50%))}
.baf-slider__handle{position:absolute; top:0; bottom:0; left:var(--pos, 50%); width:3px; background:var(--white); transform:translateX(-50%); box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.baf-slider__handle::after{content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:42px; height:42px; border-radius:50%; background:var(--white); box-shadow:0 6px 16px rgba(0,0,0,.35)}
.baf-slider__handle svg{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:18px; height:18px; color:var(--black); z-index:1}
.baf-slider__tag{position:absolute; top:10px; font-family:var(--display); font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; color:var(--white); background:rgba(0,0,0,.55); padding:.35rem .7rem; border-radius:999px; pointer-events:none}
.baf-slider__tag.before{left:10px}
.baf-slider__tag.after{right:10px}
.baf-slider input[type=range]{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize}

/* Interactive calculator/matcher components */
.calc{background:var(--charcoal); border-radius:20px; padding:clamp(1.6rem,3vw,2.2rem); box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.calc h3{color:var(--white); font-size:1.2rem}
.calc__row{margin-top:1.4rem}
.calc__row label{display:flex; justify-content:space-between; font-family:var(--display); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:#bdbdbd; margin-bottom:.6rem}
.calc__row label b{color:var(--orange); font-family:var(--body); text-transform:none; letter-spacing:0; font-weight:700}
.calc input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; background:linear-gradient(90deg, var(--orange) 0%, var(--orange) var(--fill,50%), #3d3d3d var(--fill,50%), #3d3d3d 100%); cursor:pointer}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--white); border:4px solid var(--orange); cursor:pointer}
.calc input[type=range]::-moz-range-thumb{width:24px; height:24px; border-radius:50%; background:var(--white); border:4px solid var(--orange); cursor:pointer}
.calc__result{margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid #3a3a3a; display:flex; flex-wrap:wrap; gap:1.6rem}
.calc__result div b{display:block; font-family:var(--display); font-weight:800; font-size:1.5rem; color:var(--white)}
.calc__result div span{font-size:11.5px; color:#9d9d9d; text-transform:uppercase; letter-spacing:.05em}

/* Chip toggles — used in plan builder */
.chiprow{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.8rem}
.chip{font-family:var(--display); font-size:12.5px; font-weight:700; padding:.8rem 1.1rem; min-height:44px; border-radius:999px; border:1.5px solid #444; background:transparent; color:#d9d9d9; cursor:pointer; transition:all .15s}
.chip.is-on{background:var(--orange); border-color:var(--orange); color:var(--black)}
.band:not(.dark) .chip{border-color:var(--rule); color:var(--ink-2)}
.band:not(.dark) .chip.is-on{background:var(--orange); border-color:var(--orange); color:var(--black)}

/* Customer-type selector cards (contact form) */
.whorow{display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem}
@media(max-width:640px){.whorow{grid-template-columns:1fr}}
.who-card{display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; text-align:left; padding:1.2rem 1.1rem; border-radius:14px; border:1.5px solid var(--rule); background:var(--white); color:var(--black); font-family:var(--display); font-size:13.5px; font-weight:700; line-height:1.3; cursor:pointer; transition:transform .18s cubic-bezier(.2,.8,.2,1), border-color .18s, background .18s, box-shadow .18s}
.who-card:hover{transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(0,0,0,.25)}
.who-card__icon{width:38px; height:38px; border-radius:10px; background:var(--grey); display:flex; align-items:center; justify-content:center; flex:none}
.who-card__icon svg{width:19px; height:19px; color:var(--orange)}
.who-card.is-on{background:var(--black); border-color:var(--black); color:var(--white)}
.who-card.is-on .who-card__icon{background:rgba(255,255,255,.12)}
.who-card.is-on .who-card__icon svg{color:var(--orange)}
.band.dark .who-card{background:var(--charcoal-2); border-color:#3a3a3a; color:var(--white)}
.band.dark .who-card__icon{background:#2f2f2f}
.band.dark .who-card.is-on{background:var(--orange); border-color:var(--orange); color:var(--black)}
.band.dark .who-card.is-on .who-card__icon{background:rgba(4,16,28,.15)}
.band.dark .who-card.is-on .who-card__icon svg{color:var(--black)}

/* Forms */
.form-panel{background:var(--grey); border-radius:20px; padding:clamp(1.6rem,3vw,2.2rem); box-shadow:0 24px 50px -32px rgba(0,0,0,.18)}
.band.dark .form-panel{background:var(--charcoal); box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.f-row{display:grid; gap:1.1rem}
.f-row.two{grid-template-columns:1fr 1fr}
@media(max-width:560px){.f-row.two{grid-template-columns:1fr}}
.f-field{display:grid; gap:.4rem}
.f-field label{font-family:var(--display); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2); font-weight:700}
.band.dark .f-field label{color:#bdbdbd}
.f-field input, .f-field select, .f-field textarea{font-family:var(--body); font-size:.95rem; padding:.85rem .9rem; border-radius:10px; border:1.5px solid var(--rule); background:var(--white); color:var(--black); width:100%}
.band.dark .f-field input, .band.dark .f-field select, .band.dark .f-field textarea{background:#1b1b1b; border-color:#3a3a3a; color:var(--white)}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus{outline:2px solid var(--orange); outline-offset:1px}
.f-field textarea{resize:vertical; min-height:100px}
.f-status{font-size:.85rem; margin:0; min-height:1.2em; color:var(--ink-2)}
.band.dark .f-status{color:#bdbdbd}
.f-hint{font-size:11.5px; color:var(--ink-3); line-height:1.5}
.upload-drop{border:2px dashed var(--rule); border-radius:12px; padding:1.4rem; text-align:center; font-size:13px; color:var(--ink-2); cursor:pointer}
.band.dark .upload-drop{border-color:#3a3a3a; color:#bdbdbd}
.upload-drop.is-over{border-color:var(--orange); color:var(--orange)}
.upload-drop input{display:none}
.upload-drop svg{width:22px; height:22px; margin-bottom:.5rem}
.upload-list{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem}
.upload-list span{font-size:11.5px; background:var(--white); border:1px solid var(--rule); padding:.3rem .7rem; border-radius:999px}
.band.dark .upload-list span{background:#1b1b1b; border-color:#3a3a3a}

/* Sector / audience grid */
.coverage-list{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem}
.coverage-list span{font-size:13px; font-weight:700; padding:.5rem 1rem; border-radius:999px; background:var(--grey)}
.band.dark .coverage-list span{background:var(--charcoal); color:var(--white)}

.sector-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2.2rem}
@media(max-width:900px){.sector-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sector-grid{grid-template-columns:1fr}}
.sector{background:var(--white); border:1px solid var(--rule); border-radius:14px; padding:1.3rem; font-size:13.5px; font-weight:700; display:flex; align-items:center; gap:.7rem}
.sector svg{width:20px; height:20px; color:var(--orange); flex:none}

/* Cookie consent */
.cookie-banner{position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:200; background:var(--charcoal); color:var(--white); border-radius:16px; padding:1.2rem 1.4rem; display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; box-shadow:0 20px 50px -15px rgba(0,0,0,.5); max-width:920px; margin-inline:auto}
.cookie-banner p{font-size:13px; color:#d9d9d9; margin:0; max-width:56ch}
.cookie-banner a{color:var(--orange); text-decoration:underline}
.cookie-banner__actions{display:flex; gap:.7rem; flex-wrap:wrap}
.cookie-banner__actions button{font-family:var(--display); font-size:12.5px; font-weight:700; padding:.8rem 1.2rem; min-height:44px; border-radius:999px; border:1.5px solid #444; background:transparent; color:var(--white); cursor:pointer}
.cookie-banner__actions .cb-accept{background:var(--orange); border-color:var(--orange); color:var(--black)}

/* Data-backed stat cards — every figure here must trace to a real,
   named source; never an invented or illustrative number. */
.stat-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:1.2rem; margin-top:2.2rem}
.stat-card{background:var(--charcoal); border-radius:18px; padding:1.8rem; flex:1 1 260px; max-width:320px; box-shadow:0 20px 40px -28px rgba(0,0,0,.6)}
.stat-card .n{font-family:var(--display); font-weight:800; font-size:2.6rem; color:var(--orange); line-height:1}
.stat-card p{color:#d9d9d9; font-size:14px; margin-top:.8rem; line-height:1.6}
.stat-card cite{display:block; font-style:normal; font-size:11px; color:#8f8f8f; margin-top:.9rem; padding-top:.8rem; border-top:1px solid #383838}
.stat-card cite a{color:#a8a8a8; text-decoration:underline}
.stat-card cite a:hover{color:var(--orange)}

/* Featured project photo — full-bleed hero-style showcase image */
.featured-photo{position:relative; border-radius:22px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.featured-photo img{width:100%; height:clamp(320px,55vw,560px); object-fit:cover; display:block}
.featured-photo__caption{position:absolute; left:0; right:0; bottom:0; padding:2.2rem 1.8rem 1.6rem; background:linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 45%, transparent 100%)}
.featured-photo__tag{display:inline-block; font-family:var(--display); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; color:var(--black); background:var(--orange); padding:.35rem .8rem; border-radius:999px}
.featured-photo__caption h3{color:var(--white); font-size:clamp(1.2rem,2.6vw,1.6rem); margin-top:.7rem}
.featured-photo__loc{display:inline-flex; align-items:center; gap:.4rem; color:#d9d9d9; font-size:12.5px; font-weight:600; margin-top:.5rem}
.featured-photo__loc svg{width:14px; height:14px; color:var(--orange)}

/* Testimonial / coverage placeholders (never fabricated) */
.pending-note{display:flex; gap:.9rem; align-items:flex-start; background:#fff4e8; border:1px solid #ffd9ac; border-radius:14px; padding:1.1rem 1.3rem; font-size:13.5px; color:#7a4a12; margin-top:1.6rem}
.pending-note svg{width:18px; height:18px; flex:none; margin-top:1px; color:var(--orange)}
