:root{
  --black:#101010;
  --ink:#181818;
  --coal:#232323;
  --panel:#1b1b1b;
  --paper:#f6f6f2;
  --white:#ffffff;
  --line:rgba(16,16,16,.14);
  --dark-line:rgba(255,255,255,.14);
  --muted:#686868;
  --yellow:#ffd400;
  --yellow2:#ffe76a;
  --grey:#e8e8e1;
  --soft:#f0f0ea;
  --shadow:0 24px 70px rgba(0,0,0,.18);
  --shadow2:0 16px 42px rgba(0,0,0,.12);
  --max:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);overflow-x:hidden}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.ambient span{position:absolute;width:260px;height:260px;border:1px solid rgba(255,212,0,.18);opacity:.35;filter:blur(.2px);animation:float 14s var(--ease) infinite alternate}
.ambient span:nth-child(1){top:12%;left:-90px}.ambient span:nth-child(2){right:-120px;top:42%;animation-delay:-6s}.ambient span:nth-child(3){left:42%;bottom:-140px;animation-delay:-10s}
@keyframes float{to{transform:translate3d(28px,-30px,0) rotate(8deg)}}
.site-header{position:sticky;top:0;z-index:80;background:rgba(246,246,242,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:14px max(24px,calc((100vw - var(--max))/2 + 24px));transition:box-shadow .35s var(--ease),padding .35s var(--ease)}
.site-header.scrolled{box-shadow:0 14px 35px rgba(0,0,0,.08);padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{width:48px;height:48px;background:var(--black);color:var(--yellow);display:grid;place-items:center;font-weight:900;letter-spacing:-.06em;border:2px solid var(--yellow);box-shadow:7px 7px 0 var(--yellow)}
.brand strong{display:block;font-weight:900;letter-spacing:-.04em;line-height:1.05}.brand small{display:block;color:var(--muted);font-weight:700;font-size:12px;margin-top:3px}
.site-nav{display:flex;justify-content:center;gap:6px}.site-nav a{padding:10px 12px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#323232;transition:background .25s var(--ease),color .25s var(--ease)}.site-nav a:hover{background:var(--black);color:var(--yellow)}
.header-call{background:var(--yellow);color:var(--black);padding:10px 14px;border:2px solid var(--black);box-shadow:6px 6px 0 var(--black);display:grid;line-height:1.05;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease)}.header-call:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--black);background:var(--yellow2)}.header-call span{font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.1em}.header-call strong{font-size:16px;font-weight:900}
.menu-btn{display:none;background:var(--black);color:var(--yellow);border:0;padding:12px 14px;font-weight:900;text-transform:uppercase}
.hero{position:relative;min-height:720px;background:var(--black);color:#fff;overflow:hidden;display:grid;align-items:center}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.04);transform:scale(1.03);animation:heroDrift 16s var(--ease) infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,16,.94) 0%,rgba(16,16,16,.78) 42%,rgba(16,16,16,.32) 100%),linear-gradient(180deg,rgba(16,16,16,.1),rgba(16,16,16,.78))}@keyframes heroDrift{to{transform:scale(1.08) translateX(18px)}}
.spark{position:absolute;height:2px;width:34%;background:linear-gradient(90deg,transparent,var(--yellow),transparent);box-shadow:0 0 22px rgba(255,212,0,.7);opacity:.75;animation:spark 7s linear infinite}.spark-one{top:22%;left:-35%}.spark-two{bottom:26%;left:-45%;animation-delay:2.6s;width:24%}@keyframes spark{to{transform:translateX(540%)}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) 390px;gap:44px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.12em;color:var(--yellow);margin-bottom:16px}.eyebrow:before{content:"";width:42px;height:2px;background:currentColor}.eyebrow.dark{color:var(--black)}
h1,h2,h3,p{margin:0}h1{font-size:clamp(42px,6.4vw,82px);line-height:1.02;letter-spacing:-.065em;max-width:850px}h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.055em}h3{font-size:22px;line-height:1.15;letter-spacing:-.035em}.lead{font-size:19px;color:#eeeeee;max-width:700px;margin:20px 0 28px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--black);padding:14px 18px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:13px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-120%);transition:transform .6s var(--ease)}.btn:hover:before{transform:translateX(120%)}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--yellow);color:var(--black);box-shadow:7px 7px 0 rgba(255,255,255,.18)}.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}.btn-secondary:hover{background:#fff;color:var(--black)}.btn-panel{background:#fff;color:var(--black);width:100%;box-shadow:6px 6px 0 rgba(255,212,0,.55)}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.trust-row span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:9px 11px;font-size:12px;font-weight:800;color:#fff}
.hero-panel{background:rgba(20,20,20,.88);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);padding:26px;backdrop-filter:blur(16px)}.panel-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--dark-line);padding-bottom:16px}.live-dot{width:10px;height:10px;background:var(--yellow);box-shadow:0 0 18px var(--yellow);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.35}}.panel-price{padding:20px 0;border-bottom:1px solid var(--dark-line)}.panel-price span,.panel-price small{display:block;color:#bdbdbd;font-weight:700}.panel-price strong{font-size:58px;line-height:1;color:var(--yellow);letter-spacing:-.07em}.quick-list{padding:0;margin:20px 0;display:grid;gap:10px}.quick-list li{list-style:none;color:#eee;padding-left:24px;position:relative}.quick-list li:before{content:"";position:absolute;left:0;top:.65em;width:9px;height:9px;background:var(--yellow)}
.emergency-strip{background:var(--yellow);color:var(--black);overflow:hidden;border-block:2px solid var(--black)}.strip-track{display:flex;gap:36px;white-space:nowrap;padding:13px 0;animation:marquee 26s linear infinite;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.strip-track span:after{content:"/";margin-left:36px}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:92px 0;position:relative}.section-head{max-width:780px;margin-bottom:34px}.section-head p{color:var(--muted);font-size:17px;margin-top:12px}.section-head.light h2,.section-head.light p{color:#fff}.services-section,.gallery-section,.reviews-section{background:var(--black);color:#fff}.issue-grid,.service-grid,.price-grid,.project-gallery,.timeline{display:grid;gap:18px}.issue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.issue{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow2);padding:22px;text-align:left;min-height:145px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}.issue:hover,.issue.active{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--black);background:var(--yellow)}.issue strong{display:block;font-size:19px;letter-spacing:-.035em;margin-bottom:8px}.issue span{color:#555;font-weight:600}
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{background:#1a1a1a;border:1px solid rgba(255,255,255,.12);padding:24px;min-height:310px;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}.service-card:hover{transform:translateY(-8px);box-shadow:0 28px 80px rgba(0,0,0,.28);border-color:rgba(255,212,0,.65)}.service-card span{color:var(--yellow);font-weight:900;margin-bottom:auto}.service-card h3{margin:22px 0 10px;color:#fff}.service-card p,.service-card li{color:#cfcfcf}.service-card ul{padding:0;margin:18px 0 0;display:grid;gap:8px}.service-card li{list-style:none;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.service-card li:before{content:"+";color:var(--yellow);font-weight:900;margin-right:8px}
.photo-band{background:var(--grey)}.photo-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-stack img{height:480px;width:100%;object-fit:cover;box-shadow:var(--shadow)}.photo-stack img:nth-child(2){margin-top:58px;height:390px}.photo-copy p{color:#555;font-size:17px;margin:18px 0}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--black);margin-top:28px}.proof-grid div{background:#fff;padding:20px}.proof-grid strong{display:block;font-size:30px;letter-spacing:-.05em}.proof-grid span{font-size:12px;text-transform:uppercase;font-weight:900;color:#666}
.price-grid{grid-template-columns:1.2fr repeat(3,1fr)}.price-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow2);padding:24px;min-height:250px}.price-card.feature{background:var(--black);color:#fff;border-color:var(--black)}.price-card h3{margin-bottom:16px}.price-card strong{display:block;font-size:38px;letter-spacing:-.06em;color:var(--yellow)}.price-card:not(.feature) strong{color:var(--black)}.price-card p{color:#555}.price-card.feature p{color:#ddd}.price-card a{display:inline-flex;margin-top:20px;background:var(--yellow);padding:11px 14px;font-weight:900;text-transform:uppercase;color:var(--black)}
.project-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.project-gallery article{position:relative;min-height:360px;overflow:hidden;background:#111;box-shadow:var(--shadow)}.project-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .7s var(--ease),opacity .7s var(--ease)}.project-gallery article:hover img{transform:scale(1.06);opacity:.9}.project-gallery article:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.86))}.project-gallery div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:22px}.project-gallery strong{display:block;color:#fff;font-size:18px}.project-gallery span{color:#ddd;font-size:14px}
.timeline{grid-template-columns:repeat(4,1fr)}.timeline div{background:#fff;border:1px solid var(--line);padding:24px;min-height:230px;box-shadow:var(--shadow2)}.timeline span{display:block;color:var(--yellow);font-size:46px;font-weight:900;letter-spacing:-.08em;text-shadow:1px 1px 0 var(--black)}.timeline h3{margin:14px 0 8px}.timeline p{color:#555}
.coverage-section{background:var(--grey)}.coverage-layout{display:grid;grid-template-columns:1fr 390px;gap:34px;align-items:start}.area-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.area-tags span{background:#fff;border:1px solid var(--line);padding:10px 13px;font-weight:900}.coverage-copy p{color:#555;font-size:17px;margin-top:14px}.coverage-card{background:var(--black);color:#fff;padding:28px;box-shadow:var(--shadow)}.coverage-card ul{padding:0;margin:18px 0 0;display:grid;gap:12px}.coverage-card li{list-style:none;border-top:1px solid var(--dark-line);padding-top:12px;color:#ddd}.coverage-card li:before{content:"✓";color:var(--yellow);font-weight:900;margin-right:9px}
.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.review-box{background:#1a1a1a;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);padding:22px;overflow:hidden}.review-title{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--dark-line);padding-bottom:14px;margin-bottom:18px}.review-title strong{color:#fff}.review-title span{color:var(--yellow);font-weight:900}.review-window{overflow:hidden}.review-track{display:flex;transition:transform .6s var(--ease)}.review-card{min-width:100%;padding:4px}.review-card .stars{color:var(--yellow);letter-spacing:2px;font-size:18px}.review-card p{color:#e2e2e2;margin:14px 0;font-size:17px}.review-card footer{color:#aaa;font-size:13px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.review-controls{display:flex;gap:10px;margin-top:18px}.review-controls button{background:var(--yellow);border:0;color:var(--black);font-weight:900;padding:10px 13px;text-transform:uppercase;transition:transform .25s var(--ease),background .25s var(--ease)}.review-controls button:hover{transform:translateY(-2px);background:var(--yellow2)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}.faq-list{display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow2);padding:18px}.faq-list summary{font-weight:900;cursor:pointer}.faq-list p{color:#555;margin-top:12px}
.contact-section{background:var(--black);color:#fff}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start}.contact-copy p{color:#ddd;margin:16px 0}.phone-card{display:block;background:var(--yellow);color:var(--black);padding:22px;margin-top:24px;border:2px solid #fff;box-shadow:8px 8px 0 rgba(255,255,255,.2);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.phone-card:hover{transform:translate(-2px,-2px);box-shadow:12px 12px 0 rgba(255,255,255,.25)}.phone-card span{display:block;font-size:12px;text-transform:uppercase;font-weight:900}.phone-card strong{font-size:34px;letter-spacing:-.05em}.contact-form{background:#fff;color:var(--black);padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #cfcfc8;background:#fafafa;padding:13px;color:var(--black);outline:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--black);box-shadow:0 0 0 3px rgba(255,212,0,.4)}.full-btn{width:100%;margin-top:18px}.form-status{margin-top:12px;font-weight:800;color:#333}
.footer{background:#0f0f0f;color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:56px 24px}.footer p,.footer a{color:#cfcfcf}.footer a{display:block;margin:8px 0;transition:color .25s var(--ease),transform .25s var(--ease)}.footer a:hover{color:var(--yellow);transform:translateX(3px)}.footer h3{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:var(--yellow);margin:0 0 12px}.footer-brand{margin-bottom:16px}.footer-bottom{border-top:1px solid var(--dark-line);padding:18px 24px;max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#aaa;font-size:13px}.cookie{position:fixed;left:18px;bottom:18px;z-index:90;background:#fff;border:2px solid var(--black);box-shadow:var(--shadow);padding:14px;display:none;gap:16px;align-items:center;max-width:560px}.cookie.show{display:flex}.cookie p{margin:0;color:#333}.cookie button{background:var(--black);color:var(--yellow);border:0;padding:10px 13px;font-weight:900}.mobile-cta{display:none}
@media(max-width:980px){.site-header{grid-template-columns:auto auto;justify-content:space-between}.menu-btn{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none;grid-template-columns:1fr;padding:10px 24px}.site-nav.open{display:grid}.site-nav a{padding:14px}.header-call{display:none}.hero{min-height:auto;padding:90px 0}.hero-grid,.photo-layout,.coverage-layout,.faq-layout,.contact-layout{grid-template-columns:1fr}.hero-panel{max-width:520px}.issue-grid,.service-grid,.price-grid,.project-gallery,.timeline,.review-columns{grid-template-columns:1fr 1fr}.photo-stack img{height:360px}.photo-stack img:nth-child(2){height:320px}.proof-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container{padding:0 18px}.brand small{display:none}.brand-mark{width:42px;height:42px}.site-header{padding:10px 18px}.hero{padding:70px 0}.hero-bg img{object-position:center}.hero-overlay{background:linear-gradient(180deg,rgba(16,16,16,.88),rgba(16,16,16,.76))}h1{font-size:40px;letter-spacing:-.055em}.lead{font-size:16px}.hero-actions .btn{width:100%}.trust-row{display:grid;grid-template-columns:1fr}.section{padding:62px 0}.issue-grid,.service-grid,.price-grid,.project-gallery,.timeline,.review-columns,.form-grid,.footer-grid{grid-template-columns:1fr}.photo-stack{grid-template-columns:1fr}.photo-stack img,.photo-stack img:nth-child(2){height:280px;margin-top:0}.proof-grid{grid-template-columns:1fr 1fr}.coverage-card,.contact-form{padding:22px}.footer-bottom{padding-bottom:86px}.cookie{left:12px;right:12px;bottom:76px;max-width:none;align-items:flex-start}.mobile-cta{position:fixed;z-index:95;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr}.mobile-cta a{background:var(--yellow);color:var(--black);padding:14px;text-align:center;font-weight:900;text-transform:uppercase;border-top:2px solid var(--black)}.mobile-cta a:first-child{background:var(--black);color:var(--yellow)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* v6 refinement: professional depth, softer shadows, client ribbon, footer logo */
:root{
  --soft-shadow:0 18px 45px rgba(0,0,0,.14);
  --soft-shadow-strong:0 28px 80px rgba(0,0,0,.22);
}

body{
  background:linear-gradient(180deg,#f6f6f2 0%,#eeeeea 48%,#f7f7f3 100%);
}

.site-header{
  box-shadow:0 8px 30px rgba(0,0,0,.05);
}
.site-header.scrolled{
  box-shadow:0 14px 38px rgba(0,0,0,.10);
}
.brand-mark{
  box-shadow:none !important;
  border:2px solid var(--yellow);
  background:linear-gradient(145deg,#101010,#242424);
  position:relative;
  overflow:hidden;
}
.brand-mark:after{
  content:"";
  position:absolute;
  inset:-40% auto auto -70%;
  width:120%;
  height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:rotate(24deg);
  transition:transform .7s var(--ease);
}
.brand:hover .brand-mark:after,
.footer-logo:hover .brand-mark:after{transform:translateX(115%) rotate(24deg)}

.header-call{
  box-shadow:0 10px 24px rgba(255,212,0,.22),0 10px 24px rgba(0,0,0,.12) !important;
  border:1px solid rgba(0,0,0,.85);
  transform:translateY(0);
}
.header-call:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(255,212,0,.30),0 16px 34px rgba(0,0,0,.16) !important;
}

.btn,
.price-card a,
.review-controls button,
.cookie button,
.mobile-cta a{
  box-shadow:none !important;
  border-width:1px;
  transition:transform .38s var(--ease),box-shadow .38s var(--ease),background .38s var(--ease),color .38s var(--ease),border-color .38s var(--ease) !important;
}
.btn-primary,
.btn-panel,
.price-card a{
  box-shadow:0 14px 34px rgba(255,212,0,.20),0 13px 28px rgba(0,0,0,.12) !important;
}
.btn:hover,
.price-card a:hover,
.review-controls button:hover,
.cookie button:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.16),0 12px 26px rgba(255,212,0,.22) !important;
}
.btn-secondary:hover{box-shadow:0 18px 44px rgba(0,0,0,.22) !important}

.hero{
  box-shadow:inset 0 -90px 110px rgba(0,0,0,.35);
}
.hero-panel{
  border-color:rgba(255,255,255,.14);
  box-shadow:0 26px 70px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.05) inset;
  background:linear-gradient(180deg,rgba(25,25,25,.90),rgba(10,10,10,.88));
}

.review-ribbon{
  background:#111;
  border-block:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.review-ribbon:before,
.review-ribbon:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}
.review-ribbon:before{left:0;background:linear-gradient(90deg,#111,transparent)}
.review-ribbon:after{right:0;background:linear-gradient(270deg,#111,transparent)}
.mini-review-track{
  display:flex;
  gap:18px;
  width:max-content;
  padding:18px 0;
  animation:reviewMarquee 34s linear infinite;
}
.review-ribbon:hover .mini-review-track{animation-play-state:paused}
.mini-review{
  width:360px;
  display:grid;
  grid-template-columns:54px 1fr;
  gap:13px;
  align-items:center;
  background:linear-gradient(180deg,#1b1b1b,#151515);
  border:1px solid rgba(255,255,255,.10);
  padding:14px;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.mini-review img{
  width:54px;
  height:54px;
  object-fit:cover;
  border:2px solid var(--yellow);
  background:#333;
}
.mini-review strong{
  color:var(--yellow);
  letter-spacing:1px;
  font-size:13px;
}
.mini-review p{
  color:#fff;
  font-size:14px;
  margin:3px 0 4px;
  line-height:1.28;
}
.mini-review span{
  color:#a8a8a8;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
@keyframes reviewMarquee{to{transform:translateX(-50%)}}

.issue,
.service-card,
.price-card,
.timeline div,
.coverage-card,
.review-box,
.faq-list details,
.contact-form,
.phone-card,
.project-gallery article,
.photo-stack img{
  box-shadow:var(--soft-shadow) !important;
}
.issue:hover,.issue.active,
.service-card:hover,
.project-gallery article:hover,
.price-card:hover{
  box-shadow:var(--soft-shadow-strong) !important;
}
.service-card,
.review-box,
.coverage-card,
.contact-form{
  background-image:radial-gradient(circle at 90% 0%,rgba(255,212,0,.07),transparent 36%);
}
.issue,
.price-card,
.timeline div,
.faq-list details{
  background-image:linear-gradient(180deg,#fff,#fafaf7);
}
.issue:hover,.issue.active{background:linear-gradient(180deg,var(--yellow),#ffe871)}

.review-card{
  display:grid;
  gap:10px;
}
.review-person{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.review-person img{
  width:46px;
  height:46px;
  object-fit:cover;
  border:2px solid rgba(255,212,0,.85);
}
.review-person footer{
  color:#aaa;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.review-person small{
  display:block;
  color:#777;
  margin-top:2px;
  font-size:11px;
  text-transform:none;
  letter-spacing:0;
  font-weight:700;
}

.footer{
  background:linear-gradient(180deg,#111,#090909);
  box-shadow:0 -25px 70px rgba(0,0,0,.18);
}
.footer-intro p{max-width:420px;margin-top:14px;line-height:1.65}
.footer-logo{
  display:flex !important;
  align-items:center;
  gap:12px;
  margin:0 0 16px !important;
  color:#fff !important;
  transform:none !important;
}
.footer-logo .brand-mark{
  flex:0 0 48px;
  width:48px;
  height:48px;
}
.footer-logo strong{display:block;color:#fff;line-height:1.05}
.footer-logo small{display:block;color:#b9b9b9;margin-top:3px;font-size:12px}
.footer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.footer-badges span{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#e9e9e9;padding:7px 9px;font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}

@media(max-width:640px){
  .mini-review-track{animation:none;width:auto;display:grid;grid-template-columns:1fr;padding:18px}
  .mini-review{width:100%}
  .review-ribbon:before,.review-ribbon:after{display:none}
  .footer-logo .brand-mark{width:44px;height:44px;flex-basis:44px}
}


/* v7: professional trade refinement - depth, header, buttons, review proof */
:root{
  --yellow:#ffd400;
  --yellow-2:#ffe974;
  --ink:#111111;
  --paper:#f4f4ef;
  --muted-bg:#e9e9e2;
  --card:#ffffff;
  --line-soft:rgba(0,0,0,.11);
  --depth-sm:0 10px 28px rgba(17,17,17,.08);
  --depth-md:0 18px 45px rgba(17,17,17,.12);
  --depth-lg:0 34px 90px rgba(17,17,17,.18);
  --depth-dark:0 32px 90px rgba(0,0,0,.38);
}
body{background:linear-gradient(180deg,#f7f7f2 0%,#efefea 42%,#f8f8f3 100%);color:var(--ink)}
.site-header{min-height:86px;padding:14px 6vw;background:rgba(250,250,246,.94);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}
.brand{gap:14px}.brand-mark{width:54px;height:54px;border:0;background:linear-gradient(145deg,#141414,#2a2a2a);color:var(--yellow);box-shadow:0 12px 30px rgba(0,0,0,.18), inset 0 0 0 2px var(--yellow)!important}.brand strong{font-size:18px;letter-spacing:-.03em}.brand small{font-size:13px;color:#5f5f5a}.site-nav{gap:8px}.site-nav a{padding:11px 13px;border:1px solid transparent;transition:background .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease),color .28s var(--ease)}.site-nav a:hover{background:#fff;border-color:rgba(0,0,0,.1);transform:translateY(-1px)}
.header-call{display:inline-flex;align-items:center;justify-content:center;min-width:176px;padding:12px 18px;background:linear-gradient(135deg,#ffd400,#ffb800);border:0!important;color:#101010;text-align:center;box-shadow:0 15px 36px rgba(255,212,0,.24),0 14px 28px rgba(0,0,0,.12)!important;position:relative;overflow:hidden}.header-call:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.45) 42%,transparent 58%);transform:translateX(-120%);transition:transform .7s var(--ease)}.header-call:hover:before{transform:translateX(120%)}.header-call span{font-size:10px;letter-spacing:.12em}.header-call strong{font-size:18px;line-height:1;white-space:nowrap}.menu-btn{background:#fff;border:1px solid rgba(0,0,0,.13);box-shadow:var(--depth-sm)}
.hero{min-height:760px}.hero-bg img{filter:saturate(.85) contrast(1.08)}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.28) 100%)}h1{font-size:clamp(52px,6.1vw,88px);line-height:.95;letter-spacing:-.07em}.lead{font-size:20px;line-height:1.55}.hero-panel{background:linear-gradient(180deg,rgba(26,26,26,.86),rgba(8,8,8,.92));border:1px solid rgba(255,255,255,.12);box-shadow:var(--depth-dark),inset 0 1px 0 rgba(255,255,255,.08)}.panel-price{background:linear-gradient(180deg,rgba(255,212,0,.08),rgba(255,212,0,0));padding:20px;border-block:1px solid rgba(255,255,255,.12)}
.btn,.price-card a,.review-controls button,.cookie button{border:0;box-shadow:var(--depth-sm)!important;transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .32s var(--ease),color .32s var(--ease),filter .32s var(--ease)!important;position:relative;overflow:hidden}.btn:before,.price-card a:before,.review-controls button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-130%);transition:transform .65s var(--ease)}.btn:hover:before,.price-card a:hover:before,.review-controls button:hover:before{transform:translateX(130%)}.btn:hover,.price-card a:hover,.review-controls button:hover{transform:translateY(-2px)!important;box-shadow:var(--depth-md)!important}.btn-primary,.btn-panel,.price-card a{background:linear-gradient(135deg,#ffd400,#ffc107);color:#111}.btn-secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);color:#fff}.trust-row span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.section{position:relative}.section:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent);pointer-events:none}.section-head h2{max-width:860px}.section-head p{max-width:820px}.eyebrow:before{height:2px}.phone-card{background:linear-gradient(135deg,#ffd400 0%,#ffe476 55%,#ffc400 100%);color:#111;border:0;box-shadow:0 24px 60px rgba(255,212,0,.25),0 24px 54px rgba(0,0,0,.18)!important;position:relative;overflow:hidden}.phone-card:after{content:"24/7";position:absolute;right:22px;top:18px;font-weight:900;font-size:42px;color:rgba(17,17,17,.08)}.phone-card span,.phone-card strong{position:relative;z-index:1}
.photo-band{background:#e8e8e1}.photo-stack img{box-shadow:var(--depth-lg)!important}.proof-grid{box-shadow:var(--depth-md);background:#fff}.proof-grid div{background:linear-gradient(180deg,#fff,#f8f8f4);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.proof-grid div:hover{transform:translateY(-4px);box-shadow:inset 0 -4px 0 var(--yellow)}
.issue,.service-card,.price-card,.timeline div,.coverage-card,.review-box,.faq-list details,.contact-form,.project-gallery article{border:1px solid var(--line-soft);background:linear-gradient(180deg,#fff,#fbfbf7);box-shadow:var(--depth-sm)!important;transition:transform .34s var(--ease),box-shadow .34s var(--ease),border-color .34s var(--ease),background .34s var(--ease)}.issue:hover,.service-card:hover,.price-card:hover,.timeline div:hover,.project-gallery article:hover{transform:translateY(-5px);box-shadow:var(--depth-md)!important;border-color:rgba(255,212,0,.72)}.issue{position:relative;min-height:150px}.issue:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--yellow);opacity:0;transition:opacity .25s var(--ease)}.issue:hover:before,.issue.active:before{opacity:1}.issue.active{background:linear-gradient(135deg,#ffd400,#ffea74);box-shadow:0 24px 64px rgba(255,212,0,.22),var(--depth-sm)!important}.service-card span{background:#111;color:var(--yellow);display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:22px}.price-card.feature{background:linear-gradient(135deg,#111 0%,#242424 100%);color:#fff}.price-card.feature h3,.price-card.feature p{color:#fff}.price-card.feature strong{color:var(--yellow)}.project-gallery article{overflow:hidden}.project-gallery article img{transition:transform .65s var(--ease),filter .65s var(--ease)}.project-gallery article:hover img{transform:scale(1.045);filter:saturate(1.05)}
.review-proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}.review-proof-strip div{background:#fff;border:1px solid var(--line-soft);box-shadow:var(--depth-sm);padding:20px}.review-proof-strip strong{display:block;font-size:34px;line-height:1;letter-spacing:-.05em}.review-proof-strip span{display:block;margin-top:7px;text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:900;color:#6b6b66}.review-title{background:linear-gradient(135deg,#141414,#242424);color:#fff;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.10)}.review-title strong{font-size:18px}.review-title span{background:var(--yellow);color:#111;padding:6px 9px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}.review-window{background:linear-gradient(180deg,#171717,#111)}.review-card{background:transparent;color:#fff;min-height:280px}.review-card p{color:#eee;font-size:17px;line-height:1.55}.review-person img{box-shadow:0 9px 20px rgba(0,0,0,.24)}.review-controls{background:#111;border-top:1px solid rgba(255,255,255,.1);padding:14px}.review-controls button{background:#fff;color:#111;margin-right:8px;padding:11px 14px}
.footer{background:radial-gradient(circle at 12% 0%,rgba(255,212,0,.13),transparent 26%),linear-gradient(180deg,#151515,#090909);box-shadow:0 -32px 100px rgba(0,0,0,.2)}.footer-grid{gap:36px}.footer-logo{display:flex!important;align-items:center;gap:14px}.footer-logo .brand-mark{width:56px;height:56px;min-width:56px}.footer-intro{padding-right:24px}.footer-badges span{background:rgba(255,212,0,.1);border-color:rgba(255,212,0,.35);color:#fff}.footer a:hover{color:var(--yellow);transform:translateX(4px)}
@media(max-width:980px){.site-header{min-height:72px}.header-call{display:none}.hero{min-height:auto}.review-proof-strip{grid-template-columns:1fr 1fr}.site-nav{border-top:1px solid rgba(0,0,0,.08)}}
@media(max-width:640px){h1{font-size:42px}.hero{padding:72px 0}.lead{font-size:16px}.review-proof-strip{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr}.phone-card strong{font-size:28px}.phone-card:after{font-size:30px}.site-header{padding:10px 16px}.brand strong{font-size:15px}.footer-logo .brand-mark{width:48px;height:48px;min-width:48px}}

/* v8: colour/readability repair - excludes hero */
:root{
  --yellow:#ffd400;
  --yellow-soft:#fff3a6;
  --charcoal:#111213;
  --charcoal-2:#181a1c;
  --off:#f4f4ef;
  --soft-shadow:0 18px 48px rgba(16,16,16,.12);
  --soft-shadow-lg:0 28px 80px rgba(16,16,16,.18);
}

/* Keep captions readable and stop accidental pale text on pale cards */
.section-head .eyebrow,
.eyebrow{color:var(--yellow);}
.section-head:not(.light) .eyebrow,
.eyebrow.dark{color:#141414;}
.section-head:not(.light) .eyebrow:before,
.eyebrow.dark:before{background:#141414;}
.section-head.light h2,
.section-head.light p,
.services-section .section-head h2,
.services-section .section-head p,
.gallery-section .section-head h2,
.gallery-section .section-head p,
.reviews-section .section-head h2,
.reviews-section .section-head p,
.contact-section .section-head h2,
.contact-section .section-head p{color:#fff !important;}
.services-section .section-head p,
.gallery-section .section-head p,
.reviews-section .section-head p,
.contact-section .section-head p{color:#d8d8d2 !important;}

/* Buttons: softer depth, consistent colour, no harsh flat rectangle look */
.btn,
.price-card a,
.review-controls button,
.cookie button,
.header-call{
  border-radius:0 !important;
  box-shadow:0 14px 34px rgba(17,17,17,.12),0 2px 0 rgba(255,255,255,.18) inset !important;
  transform:translateY(0);
}
.btn:hover,
.price-card a:hover,
.review-controls button:hover,
.cookie button:hover,
.header-call:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 52px rgba(17,17,17,.18),0 2px 0 rgba(255,255,255,.28) inset !important;
}
.btn-primary,
.btn-panel,
.price-card a,
.header-call{
  background:linear-gradient(135deg,#ffd400 0%,#ffcf22 48%,#ffb700 100%) !important;
  color:#111 !important;
}
.btn-secondary{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.32) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.18) !important;
}

/* Phone block: strong but not flat */
.phone-card{
  border:1px solid rgba(255,212,0,.55) !important;
  background:linear-gradient(135deg,#ffd400 0%,#fff0a3 46%,#ffc400 100%) !important;
  box-shadow:0 24px 70px rgba(255,212,0,.20),0 26px 62px rgba(0,0,0,.22) !important;
}
.phone-card:after{opacity:.7;}

/* Issue selector: more modern contrast and less washed-out text */
.issue{
  background:linear-gradient(180deg,#fff,#f7f7f2) !important;
  color:#111 !important;
  border-color:rgba(0,0,0,.12) !important;
  box-shadow:0 18px 48px rgba(20,20,20,.09) !important;
}
.issue strong{color:#111 !important;}
.issue span{color:#515151 !important;line-height:1.55;}
.issue.active,
.issue:hover{
  background:linear-gradient(135deg,#ffd400,#ffe97c) !important;
  border-color:rgba(17,17,17,.4) !important;
  box-shadow:0 24px 65px rgba(255,212,0,.25),0 16px 45px rgba(0,0,0,.10) !important;
}
.issue.active span,
.issue:hover span{color:#242424 !important;}

/* Services section: fix pale captions by using dark premium cards on dark background */
.services-section{background:linear-gradient(180deg,#111 0%,#151515 54%,#101010 100%) !important;}
.services-section .service-card{
  background:linear-gradient(180deg,#202225,#151719) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  box-shadow:0 22px 58px rgba(0,0,0,.24) !important;
}
.services-section .service-card:hover{
  border-color:rgba(255,212,0,.68) !important;
  box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 0 1px rgba(255,212,0,.12) inset !important;
}
.services-section .service-card span{
  background:var(--yellow) !important;
  color:#111 !important;
  box-shadow:0 14px 30px rgba(255,212,0,.20);
}
.services-section .service-card h3{color:#fff !important;}
.services-section .service-card p,
.services-section .service-card li{color:#d7d7d1 !important;}
.services-section .service-card li{border-top-color:rgba(255,255,255,.12) !important;}

/* Price and project cards: readable text and softer depth */
.price-card,
.project-gallery article,
.timeline div,
.faq-list details,
.contact-form{
  box-shadow:0 18px 48px rgba(20,20,20,.10) !important;
}
.price-card p,
.project-gallery p,
.timeline p,
.faq-list p{color:#555 !important;}
.price-card.feature p{color:#e4e4de !important;}

/* Reviews: fix mixed colour states and make proof/review panels more polished */
.reviews-section{
  background:linear-gradient(180deg,#101010 0%,#151515 100%) !important;
}
.review-proof-strip div{
  background:linear-gradient(180deg,#fff,#f4f4ef) !important;
  border:1px solid rgba(255,255,255,.05) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.24) !important;
}
.review-proof-strip strong{color:#111 !important;}
.review-proof-strip span{color:#555 !important;}
.review-box{
  background:linear-gradient(180deg,#1d1f21,#121314) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 26px 76px rgba(0,0,0,.34) !important;
  padding:0 !important;
}
.review-title{
  background:linear-gradient(135deg,#242628,#161719) !important;
  color:#fff !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
}
.review-title strong{color:#fff !important;}
.review-title span{
  background:rgba(255,212,0,.14) !important;
  color:var(--yellow) !important;
  border:1px solid rgba(255,212,0,.38);
}
.review-window{background:linear-gradient(180deg,#17191b,#111213) !important;}
.review-card{color:#fff !important;padding:22px !important;}
.review-card .stars{color:var(--yellow) !important;}
.review-card p{color:#efefea !important;}
.review-card footer,
.review-person footer{color:#c7c7bf !important;}
.review-person small{color:#92928b !important;}
.review-controls{
  background:#0f1011 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}
.review-controls button{
  background:#fff !important;
  color:#111 !important;
}
.review-controls button:hover{background:var(--yellow) !important;}

/* Footer logo and footer contrast */
.footer-logo,
.footer-logo:hover{transform:none !important;color:#fff !important;}
.footer-logo .brand-mark{
  display:grid !important;
  place-items:center !important;
  background:linear-gradient(145deg,#171717,#2a2a2a) !important;
  color:var(--yellow) !important;
  box-shadow:inset 0 0 0 2px var(--yellow),0 14px 34px rgba(0,0,0,.28) !important;
}
.footer-logo strong{color:#fff !important;}
.footer-logo small{color:#bdbdb5 !important;}
.footer p,.footer a{color:#d0d0ca !important;}
.footer a:hover{color:var(--yellow) !important;}

@media(max-width:980px){
  .review-proof-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .review-proof-strip{grid-template-columns:1fr;}
  .review-card{padding:18px !important;}
  .review-title{display:grid;gap:10px;align-items:start;}
  .phone-card{padding:20px !important;}
}


/* v10 image/caption fixes */
.photo-layout{grid-template-columns:.92fr 1.08fr;gap:46px;align-items:center}
.photo-stack{grid-template-columns:.95fr 1.05fr;gap:16px;align-items:start}
.photo-stack img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center center;background:#d9d9d2;box-shadow:0 24px 50px rgba(0,0,0,.12)!important}
.photo-stack img:nth-child(2){aspect-ratio:1/1.2;margin-top:54px;object-position:center top}
.photo-copy p{max-width:38rem;color:#4f4f48}
.proof-grid{margin-top:26px;border:1px solid rgba(0,0,0,.08)}
.proof-grid div{padding:22px 20px}

.project-gallery{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.project-gallery article{min-height:380px;background:#111;border:1px solid rgba(255,212,0,.35)!important;box-shadow:0 22px 46px rgba(0,0,0,.14)!important}
.project-gallery article img{opacity:.82;object-position:center center;filter:saturate(.92) contrast(1.03)}
.project-gallery article:after{background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.28) 42%,rgba(0,0,0,.88) 100%)}
.project-gallery article div{padding:24px}
.project-gallery strong{font-size:17px;line-height:1.2;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.26)}
.project-gallery span{display:block;color:rgba(255,255,255,.92);line-height:1.55;max-width:18ch}

.coverage-card{background:linear-gradient(180deg,#171717 0%,#111111 100%)!important;color:#ffffff !important;border:1px solid rgba(255,212,0,.20)!important;box-shadow:0 22px 48px rgba(0,0,0,.14)!important}
.coverage-card h3{color:#fff !important;font-size:22px;line-height:1.18;margin:0 0 8px}
.coverage-card ul{gap:14px}
.coverage-card li{color:rgba(255,255,255,.92)!important;border-top:1px solid rgba(255,255,255,.10)!important;font-size:16px;line-height:1.45;padding-top:14px}
.coverage-card li:first-child{border-top:0;padding-top:0}
.coverage-card li:before{display:inline-block;min-width:18px}

@media(max-width:980px){
  .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-layout{grid-template-columns:1fr;gap:30px}
  .photo-copy p{max-width:none}
}
@media(max-width:640px){
  .photo-stack{grid-template-columns:1fr 1fr;gap:12px}
  .photo-stack img{aspect-ratio:3/4;height:auto}
  .photo-stack img:nth-child(2){margin-top:28px;aspect-ratio:3/4}
  .project-gallery{grid-template-columns:1fr}
  .project-gallery article{min-height:320px}
  .coverage-card li{font-size:15px}
}


/* v11 user image set + header spacing refinement */
.site-header{
  display:grid;
  grid-template-columns:minmax(260px,auto) 1fr auto;
  gap:24px;
  align-items:center;
  padding:14px clamp(22px,4vw,58px);
}
.brand{gap:14px;min-width:0;}
.brand span:last-child{display:grid;gap:4px;min-width:0;}
.brand strong{line-height:1.05;}
.brand small{line-height:1.2;}
.site-nav{justify-content:center;gap:clamp(20px,2.2vw,36px);}
.site-nav a{padding:10px 0;line-height:1;white-space:nowrap;}
.header-call{
  min-width:210px !important;
  padding:13px 22px !important;
  gap:7px;
  display:inline-flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1.05;
}
.header-call span{display:block;line-height:1.05;margin-bottom:2px;white-space:nowrap;}
.header-call strong{display:block;line-height:1.05;white-space:nowrap;}

.photo-stack img{object-position:center center;filter:saturate(.96) contrast(1.02);}
.photo-stack img:nth-child(1){object-position:center center;}
.photo-stack img:nth-child(2){object-position:center center;}
.project-gallery article img{object-position:center center;filter:saturate(.96) contrast(1.04);}
.project-gallery article:nth-child(1) img{object-position:center center;}
.project-gallery article:nth-child(2) img{object-position:center center;}
.project-gallery article:nth-child(3) img{object-position:center center;}
.project-gallery article:nth-child(4) img{object-position:center center;}
.project-gallery article:after{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,.86) 100%) !important;}

@media(max-width:1100px){
  .site-header{grid-template-columns:auto auto;justify-content:space-between;gap:16px;}
  .header-call{display:none !important;}
}
@media(max-width:640px){
  .site-header{padding:11px 18px;}
  .brand{gap:10px;}
  .brand span:last-child{gap:2px;}
}

/* v12: hero height, issue-card actions, gallery expansion and button hover fix */
.hero{min-height:620px !important;}
.hero-grid{gap:clamp(28px,4vw,56px) !important;}
.hero-copy h1{font-size:clamp(48px,5vw,76px) !important;line-height:.98 !important;max-width:780px;}
.hero .lead{max-width:720px;}
.hero .btn-secondary:hover,
.hero .btn-secondary:focus-visible{background:rgba(255,255,255,.12) !important;color:#fff !important;border-color:var(--yellow) !important;box-shadow:0 18px 44px rgba(0,0,0,.24) !important;}
.review-ribbon{margin-top:0;}
.issue{display:flex !important;flex-direction:column;justify-content:space-between;gap:16px;cursor:pointer;}
.issue > span{display:block;}
.issue-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:8px;}
.issue-actions button,
.issue-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:10px 12px;border:0;background:#111;color:#fff;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em;box-shadow:0 10px 22px rgba(0,0,0,.14);transition:transform .28s var(--ease),background .28s var(--ease),color .28s var(--ease),box-shadow .28s var(--ease);}
.issue-actions a{background:var(--yellow);color:#111;}
.issue-actions button:hover,
.issue-actions a:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(0,0,0,.18);}
.issue.active .issue-actions button{background:#fff;color:#111;}
.issue.active .issue-actions a{background:#111;color:#fff;}
.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:20px !important;}
.project-gallery article{min-height:360px !important;border:1px solid rgba(255,255,255,.12) !important;box-shadow:0 22px 46px rgba(0,0,0,.18) !important;}
.project-gallery article img{object-fit:cover !important;object-position:center center !important;filter:saturate(.98) contrast(1.04) !important;}
.project-gallery article:nth-child(2) img{object-position:center 42% !important;}
.project-gallery article:nth-child(3) img{object-position:center 48% !important;}
.project-gallery article:nth-child(5) img{object-position:center 45% !important;}
.project-gallery article:after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28) 46%,rgba(0,0,0,.90)) !important;}
.project-gallery strong{font-size:18px !important;}
.project-gallery span{max-width:24ch !important;}
@media(max-width:1180px){
  .hero{min-height:auto !important;padding:86px 0 56px !important;}
  .hero-copy h1{font-size:clamp(44px,7vw,68px) !important;}
  .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  .hero{padding:58px 0 38px !important;}
  .hero-copy h1{font-size:38px !important;line-height:1.04 !important;}
  .hero-panel{padding:20px !important;}
  .project-gallery{grid-template-columns:1fr !important;}
  .project-gallery article{min-height:315px !important;}
  .issue-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .issue-actions button,.issue-actions a{width:100%;}
}


/* v8.2 mobile footer, privacy modal and cookie consent fixes */
.footer{
  position:relative;
  z-index:2;
  margin-top:0 !important;
  padding-top:0 !important;
  background:linear-gradient(180deg,#111,#090909) !important;
  overflow:hidden;
}
.footer-grid{
  padding-top:44px !important;
  padding-bottom:34px !important;
}
.footer-bottom{
  align-items:center;
}
.footer-legal{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.footer-legal button{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#f2f2f2;
  padding:9px 12px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease);
}
.footer-legal button:hover{
  background:var(--yellow);
  color:#101010;
  border-color:var(--yellow);
  transform:translateY(-2px);
}
.cookie{display:none !important;}
.cookie-consent{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:120;
  width:min(560px,calc(100vw - 36px));
  background:#fff;
  color:#111;
  border:2px solid var(--black);
  box-shadow:var(--shadow);
  padding:16px;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  transform:translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.cookie-consent.is-visible{opacity:1;transform:none;pointer-events:auto;}
.cookie-consent.is-hidden{display:none;}
.cookie-consent strong{display:block;margin-bottom:4px;letter-spacing:-.02em;}
.cookie-consent p{margin:0;color:#333;font-size:14px;line-height:1.45;}
.cookie-actions{display:flex;gap:10px;align-items:center;flex:0 0 auto;}
.cookie-actions button{
  border:0;
  padding:11px 14px;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.05em;
}
.text-cookie{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(0,0,0,.18) !important;
}
.cookie-accept{
  background:var(--black);
  color:var(--yellow);
}
.modal{
  position:fixed;
  inset:0;
  z-index:130;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.modal.is-open{display:flex;}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);
}
.modal-panel{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(86vh,760px);
  overflow:auto;
  background:#fff;
  color:#111;
  border:2px solid var(--black);
  box-shadow:var(--shadow);
  padding:32px;
}
.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  background:var(--black);
  color:var(--yellow);
  font-size:24px;
  line-height:1;
  font-weight:900;
}
.modal-eyebrow{
  margin:0 0 10px;
  color:#6a5a00;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.modal-panel h2{margin:0 46px 18px 0;color:#111;}
.policy-copy{display:grid;gap:12px;color:#333;}
.policy-copy h3{font-size:18px;margin:8px 0 0;color:#111;}
.policy-copy p{margin:0;color:#444;line-height:1.6;}
@media(max-width:640px){
  .footer{margin-top:0 !important;padding-top:0 !important;}
  .footer-grid{
    padding:30px 18px 18px !important;
    gap:22px !important;
  }
  .footer-intro p{margin-top:10px !important;}
  .footer-badges{margin-top:12px !important;}
  .footer-bottom{
    padding:16px 18px 92px !important;
    display:grid !important;
    gap:12px !important;
  }
  .footer-legal{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .footer-legal button{width:100%;text-align:center;}
  .cookie-consent{
    left:12px;
    right:12px;
    bottom:76px;
    width:auto;
    display:grid;
    gap:12px;
  }
  .cookie-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .modal{padding:14px;}
  .modal-panel{padding:24px 18px 20px;}
  .modal-panel h2{font-size:28px;margin-right:42px;}
}
