:root{
  --black:#070808;
  --ink:#0d0f0f;
  --panel:#151818;
  --panel-2:#1d2020;
  --cream:#eee8dc;
  --orange:#e6a017;
  --orange-light:#f0b22c;
  --white:#f8f7f3;
  --muted:#aeb2ad;
  --border:rgba(255,255,255,.14);
  --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
h1,h2,h3,p{margin-top:0}

.site-header{
  position:absolute;z-index:100;top:0;left:0;right:0;height:92px;
  display:grid;grid-template-columns:120px 1fr 170px;align-items:center;
  padding:0 44px;border-bottom:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg,rgba(5,6,6,.96),rgba(5,6,6,.48));
  backdrop-filter:blur(10px)
}
.brand img{width:84px;height:84px;object-fit:contain}
.site-nav{display:flex;justify-content:center;gap:38px}
.site-nav a{position:relative;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--orange);transition:.25s}
.site-nav a:hover:after{right:0}
.estimate-link{height:44px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:var(--orange);color:#111;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nav-toggle{display:none}

.hero{position:relative;min-height:880px;overflow:hidden;background:#090a0a}
.hero-image{position:absolute;inset:0;background:url("assets/hero.jpg") center/cover no-repeat;filter:saturate(.82) contrast(1.06)}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,8,.98),rgba(7,8,8,.86) 38%,rgba(7,8,8,.34) 72%,rgba(7,8,8,.12)),linear-gradient(0deg,rgba(7,8,8,.93),transparent 55%)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 74% 36%,rgba(230,160,23,.08),transparent 30%)}
.hero-content{position:relative;z-index:2;width:min(calc(100% - 110px),var(--max));margin:auto;padding-top:190px}
.hero-overline{display:flex;align-items:center;gap:14px;color:#d5d7d3;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.hero-overline i{width:40px;height:1px;background:var(--orange)}
.hero h1{max-width:980px;margin:30px 0 30px;font:900 clamp(84px,9vw,148px)/.79 "Barlow Condensed";letter-spacing:-.045em;text-transform:uppercase}
.hero h1 em{display:block;color:var(--orange);font-style:normal}
.hero-content>p{max-width:710px;color:#d1d3cf;font-size:18px;line-height:1.65}
.hero-actions{display:flex;gap:14px;margin-top:36px}
.button{height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid transparent;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.button-solid{background:var(--orange);color:#111}
.button-line{border-color:rgba(255,255,255,.38);background:rgba(0,0,0,.2)}
.hero-stat{position:absolute;z-index:3;right:max(55px,calc((100vw - var(--max))/2));bottom:140px;width:300px;padding:28px;border:1px solid rgba(255,255,255,.18);background:rgba(12,14,14,.72);backdrop-filter:blur(12px)}
.hero-stat span{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-stat strong{display:block;margin:8px 0;font:800 44px "Barlow Condensed";text-transform:uppercase}
.hero-stat p{margin:0;color:#aaafa9;font-size:12px;line-height:1.5}
.hero-rail{position:absolute;z-index:3;left:0;right:0;bottom:0;height:68px;display:flex;align-items:center;justify-content:space-around;background:var(--orange);color:#111}
.hero-rail span{font:800 24px "Barlow Condensed";letter-spacing:.05em;text-transform:uppercase}

.company{width:min(calc(100% - 110px),var(--max));margin:auto;padding:140px 0 120px;display:grid;grid-template-columns:100px 1.1fr .9fr;gap:42px}
.company-label{color:var(--orange);font:800 18px "Barlow Condensed"}
.eyebrow{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.company h2,.services h2,.projects h2,.service-area h2,.process h2,.contact h2{margin-bottom:0;font:800 clamp(54px,6vw,92px)/.88 "Barlow Condensed";letter-spacing:-.035em;text-transform:uppercase}
.company-copy{padding-top:34px}
.company-copy>p{color:#b8bcb7;font-size:17px;line-height:1.7}
.company-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.company-badges span{padding:9px 12px;border:1px solid var(--border);color:#d8dad6;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.company-image{grid-column:2/4;position:relative;margin:34px 0 0}
.company-image img{width:100%;height:520px;object-fit:cover;filter:saturate(.8)}
.company-image figcaption{position:absolute;left:26px;bottom:22px;padding:11px 14px;background:#0d0f0f;font:600 15px "Barlow Condensed";text-transform:uppercase}

.services{padding:125px 55px;background:var(--cream);color:#111}
.services-head{width:min(100%,var(--max));margin:0 auto 55px;display:flex;align-items:end;justify-content:space-between;gap:50px}
.services-head>p{max-width:430px;color:#5a5e5a;line-height:1.7}
.service-list{width:min(100%,var(--max));margin:auto;border-top:1px solid rgba(0,0,0,.25)}
.service-row{display:grid;grid-template-columns:55px 70px 1fr 260px 40px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(0,0,0,.22)}
.service-num{font:700 14px "Barlow Condensed";color:#7e7d76}
.service-row>img{width:58px;height:58px;object-fit:contain}
.service-row h3{margin-bottom:5px;font:700 34px "Barlow Condensed";text-transform:uppercase}
.service-row p{margin:0;color:#5c605c;font-size:13px;line-height:1.5}
.service-row figure{margin:0;overflow:hidden}
.service-row figure img{width:100%;height:110px;object-fit:cover;transition:.4s}
.service-row:hover figure img{transform:scale(1.06)}
.service-row>a{font-size:24px}

.projects{padding:135px 55px;background:#0b0d0d}
.projects-head{width:min(100%,var(--max));margin:0 auto 50px;display:flex;align-items:end;justify-content:space-between;gap:50px}
.projects-head>p{max-width:420px;color:#aeb2ad;line-height:1.7}
.projects-feature{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1.25fr .75fr;background:#151818}
.comparison{position:relative;min-height:560px;overflow:hidden;touch-action:none}
.comparison img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.comparison-before{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  clip-path:inset(0 50% 0 0);
}

.comparison-before img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

/* Only zoom out Project 1's before image */
.comparison-project-1 .comparison-before img{
  transform:scale(1);
  transform-origin:center center;
  background:#111;
}

.comparison button{position:absolute;z-index:5;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:var(--orange);font-weight:900;cursor:ew-resize}
.comparison button:before{content:"";position:absolute;left:50%;top:-300px;width:2px;height:600px;background:var(--orange);z-index:-1}
.tag{position:absolute;z-index:4;top:18px;padding:8px 11px;background:#0c0e0e;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tag-before{left:18px}.tag-after{right:18px;background:var(--orange);color:#111}
.project-note{padding:55px 48px;display:flex;flex-direction:column;justify-content:center}
.project-note>p{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.project-note h3{margin:16px 0 24px;font:700 54px/.92 "Barlow Condensed";text-transform:uppercase}
.project-note ul{margin:0;padding:0;list-style:none}
.project-note li{padding:13px 0;border-top:1px solid var(--border);color:#b7bbb6;font-size:13px}
.project-grid{width:min(100%,var(--max));margin:16px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-card{position:relative;height:360px;overflow:hidden}
.project-card img{width:100%;height:100%;object-fit:cover;transition:.5s}
.project-card:hover img{transform:scale(1.05)}
.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,6,.92),transparent 65%)}
.project-card div{position:absolute;z-index:2;left:24px;bottom:22px}
.project-card span{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.project-card h3{margin:7px 0 0;font:700 30px "Barlow Condensed";text-transform:uppercase}

.service-area{padding:130px 55px;background:#171a1a;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.service-area-copy{padding-left:max(0px,calc((100vw - var(--max))/2))}
.service-area-copy>p:not(.eyebrow){max-width:620px;color:#afb3ae;line-height:1.7}
.area-list{margin-top:30px}
.area-list div{display:grid;grid-template-columns:145px 1fr;padding:14px 0;border-top:1px solid var(--border)}
.area-list span{color:#777d78;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.area-list strong{font-size:13px}
.area-button{display:inline-flex;gap:20px;margin-top:28px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.map-panel{padding:30px;background:#0d0f0f;border:1px solid rgba(255,255,255,.14)}
.map-title{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}
.map-title span{font:700 22px "Barlow Condensed";text-transform:uppercase}
.map-title b{color:var(--orange);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ct-map{width:100%;height:auto;background:#111414}
.map-pins circle{fill:#111;stroke:#fff;stroke-width:4}
.map-region{font:700 24px "Barlow Condensed";text-transform:uppercase}
.map-region.west{fill:#878d88}
.map-region.east{fill:#111}
.map-sub{fill:#111;font-size:14px;font-weight:700}
.map-legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px;color:#aeb2ad;font-size:11px}
.map-legend span{display:flex;align-items:center;gap:8px}
.map-legend i{width:14px;height:14px;display:inline-block}
.legend-primary{background:var(--orange)}
.legend-review{background:#1a1d1d;border:1px solid #aaa}

.process{padding:120px 55px;background:var(--orange);color:#111;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.process ol{margin:0;padding:0;list-style:none}
.process li{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:26px 0;border-top:1px solid rgba(0,0,0,.28)}
.process li>span{font:800 18px "Barlow Condensed"}
.process h3{margin-bottom:6px;font:700 31px "Barlow Condensed";text-transform:uppercase}
.process p{margin:0;color:#443c2d;line-height:1.6}

.contact{padding:130px 55px;background:#080909;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.contact-copy>p:not(.eyebrow){max-width:500px;color:#aeb2ad;line-height:1.7}
.contact-info{display:flex;flex-direction:column;gap:8px;margin-top:28px}
.contact-info a{font:700 23px "Barlow Condensed"}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.contact-form label{display:flex;flex-direction:column;gap:8px}
.contact-form label span{color:#888e89;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;outline:none}
.contact-form select option{color:#111}
.contact-form .wide{grid-column:1/-1}
.contact-form button{grid-column:1/-1;height:58px;margin-top:8px;padding:0 22px;border:0;background:var(--orange);display:flex;align-items:center;justify-content:space-between;color:#111;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}

.site-footer{padding:60px 55px 24px;background:#030404}
.footer-top{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}
.footer-top img{width:145px}
.footer-top div{display:flex;flex-direction:column;gap:8px}
.footer-top span{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.footer-top p,.footer-top a{margin:0;color:#b9bcb8;font-size:13px;line-height:1.5}
.footer-bottom{width:min(100%,var(--max));margin:50px auto 0;padding-top:17px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:#707570;font-size:11px}

.reveal{opacity:0;transform:translateY(26px);transition:.65s}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1100px){
  .site-header{grid-template-columns:100px 1fr auto;padding:0 24px}
  .site-nav{gap:22px}
  .company{grid-template-columns:70px 1fr 340px;width:min(calc(100% - 60px),var(--max))}
  .service-area{grid-template-columns:1fr;padding:100px 55px}
  .service-area-copy{padding-left:0}
  .process,.contact{grid-template-columns:1fr}
}
@media(max-width:760px){
  .site-header{height:76px;display:flex;justify-content:space-between;padding:0 18px}
  .brand img{width:64px;height:64px}
  .estimate-link{display:none}
  .nav-toggle{display:block;width:44px;height:40px;border:1px solid rgba(255,255,255,.3);background:transparent}
  .nav-toggle span{display:block;width:22px;height:2px;margin:6px auto;background:#fff}
  .site-nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;padding:14px 20px;background:#0b0d0d}
  .site-nav.open{display:flex}
  .site-nav a{padding:13px 0}
  .hero{min-height:850px}
  .hero-content{width:min(calc(100% - 36px),var(--max));padding-top:140px}
  .hero h1{font-size:70px}
  .hero-content>p{font-size:15px}
  .hero-actions{flex-direction:column}
  .button{width:100%}
  .hero-stat{display:none}
  .hero-rail{height:58px;overflow:hidden;justify-content:flex-start;gap:30px;padding:0 20px}
  .hero-rail span{white-space:nowrap;font-size:20px}
  .company{width:min(calc(100% - 36px),var(--max));padding:90px 0;grid-template-columns:1fr}
  .company-label{display:none}
  .company-image{grid-column:auto}
  .company-image img{height:350px}
  .services{padding:90px 18px}
  .services-head,.projects-head{align-items:flex-start;flex-direction:column}
  .service-row{grid-template-columns:40px 55px 1fr 34px}
  .service-row figure{display:none}
  .projects{padding:90px 18px}
  .projects-feature{grid-template-columns:1fr}
  .comparison{min-height:410px}
  .project-note{padding:35px 24px}
  .project-note h3{font-size:42px}
  .project-grid{grid-template-columns:1fr}
  .service-area{padding:90px 18px;gap:45px}
  .map-title{flex-direction:column}
  .process,.contact{padding:90px 20px;gap:45px}
  .contact-form{grid-template-columns:1fr}
  .contact-form .wide,.contact-form button{grid-column:auto}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .hero h1{font-size:58px}
  .service-row{grid-template-columns:38px 48px 1fr}
  .service-row>a{display:none}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
}


/* Real Connecticut boundary map */
.ct-map{
  width:100%;
  height:auto;
  overflow:visible;
  background:#111414;
}
.ct-base{fill:#1a1d1d}
.ct-east{fill:var(--orange)}
.ct-split{
  stroke:#f6d071;
  stroke-width:3;
  stroke-dasharray:10 9;
}
.ct-outline{
  fill:none;
  stroke:#f3eee5;
  stroke-width:7;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.service-pin circle:first-child{
  fill:#0c0e0e;
  stroke:#fff;
  stroke-width:3;
}
.service-pin circle:nth-child(2){fill:var(--orange)}
.service-pin text{
  fill:#f7f4ed;
  font:700 13px Inter,Arial,sans-serif;
  paint-order:stroke;
  stroke:#111;
  stroke-width:4px;
  stroke-linejoin:round;
}
.map-region{
  font:700 21px "Barlow Condensed",sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.map-region.west{fill:#858b86}
.map-region.east{fill:#111}
.map-sub{
  fill:#111;
  font:700 13px Inter,Arial,sans-serif;
}


/* =========================================================
   INTERACTIVE COLCHESTER SERVICE-AREA SECTION
   ========================================================= */
.service-area-pro{
  width:100%;
  padding:110px max(30px,calc((100vw - 1480px)/2));
  display:grid;
  grid-template-columns:390px minmax(0,1fr);
  gap:34px;
  align-items:start;
  background:
    radial-gradient(circle at 78% 42%,rgba(230,160,23,.08),transparent 30%),
    linear-gradient(180deg,#0b0d0d,#080909);
}
.service-area-sidebar{padding-top:15px}
.service-area-sidebar .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
  color:var(--orange);
  font-size:11px;
}
.service-area-sidebar .eyebrow:before{
  content:"";
  width:44px;
  height:2px;
  background:var(--orange);
}
.service-area-sidebar h2{
  margin:0 0 18px;
  color:#f7f4ed;
  font:800 63px/.9 "Barlow Condensed",sans-serif;
  letter-spacing:-.035em;
  text-transform:none;
}
.service-area-sidebar h2 span{
  display:block;
  color:var(--orange);
}
.service-area-intro{
  max-width:360px;
  margin-bottom:26px;
  color:#c5c8c3!important;
  font-size:14px;
  line-height:1.7!important;
}
.service-town-card{
  overflow:hidden;
  border:1px solid rgba(230,160,23,.58);
  border-radius:9px;
  background:rgba(13,15,15,.91);
  box-shadow:0 22px 60px rgba(0,0,0,.34);
}
.town-group{padding:23px 24px}
.town-group+ .town-group{border-top:1px solid rgba(230,160,23,.42)}
.town-group h3{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 17px;
  color:var(--orange);
  font:700 20px "Barlow Condensed",sans-serif;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.town-group h3 i{
  width:17px;
  height:17px;
  flex:0 0 auto;
  border-radius:50%;
}

.primary-group h3 i{
  background:var(--orange);
  box-shadow:0 0 14px rgba(230,160,23,.5);
}

.extended-group h3 i{border:2px solid var(--orange)
}

.town-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
}
.town-columns ul{
  margin:0;
  padding:0;
  list-style:none;
}
.town-columns li{
  position:relative;
  padding:4px 0 4px 16px;
  color:#e5e6e3;
  font-size:11px;
  line-height:1.3;
}
.town-columns li:before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--orange);
}
.extended-group .town-columns li:before{
  background:transparent;
  border:1px solid var(--orange);
}
.statewide-row{
  display:grid;
  grid-template-columns:45px 1fr;
  gap:13px;
  align-items:center;
  padding:19px 24px 21px;
  border-top:1px solid rgba(230,160,23,.42);
}
.truck-icon{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:1px solid var(--orange);
  color:var(--orange);
}
.statewide-row h3{
  margin:0 0 3px;
  color:var(--orange);
  font:700 18px "Barlow Condensed";
  text-transform:uppercase;
}
.statewide-row p{
  margin:0;
  color:#d1d3cf;
  font-size:11px;
  line-height:1.5;
}
.interactive-map-card{
  overflow:hidden;
  border:1px solid rgba(230,160,23,.65);
  border-radius:9px;
  background:#101313;
  box-shadow:0 30px 85px rgba(0,0,0,.45);
}
.map-toolbar{
  min-height:68px;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid rgba(230,160,23,.28);
}
.map-toolbar>div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.map-toolbar>div:first-child span{
  color:#f1eee7;
  font:700 18px "Barlow Condensed";
  text-transform:uppercase;
}
.map-toolbar>div:first-child strong{
  color:#7f8580;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.map-key{
  display:flex;
  gap:17px;
  flex-wrap:wrap;
}
.map-key span{
  display:flex;
  align-items:center;
  gap:7px;
  color:#b4b8b3;
  font-size:9px;
  text-transform:uppercase;
}
.map-key i{
  width:11px;
  height:11px;
  display:inline-block;
}
.key-hq{
  background:var(--orange);
  transform:rotate(45deg);
}
.key-primary{
  border-radius:50%;
  background:var(--orange);
}
.key-extended{
  border-radius:50%;
  border:1px solid var(--orange);
}
.map-stage{
  position:relative;
  min-height:610px;
  overflow:hidden;
  background:
    radial-gradient(circle at 48% 48%,rgba(230,160,23,.08),transparent 34%),
    linear-gradient(180deg,#131716,#0c0f0f);
}
.ct-service-map{
  width:100%;
  height:100%;
  min-height:610px;
  display:block;
}
.ct-state-fill{fill:#171d1a}
.ct-state-grid{fill:url(#roadGrid);opacity:.6}
.ct-state-outline{
  fill:none;
  stroke:#d99b1d;
  stroke-width:3;
  filter:drop-shadow(0 0 8px rgba(230,160,23,.32));
}
.coverage-ring{
  fill:none;
  stroke:#d99b1d;
  transform-origin:center;
}
.coverage-ring-inner{
  stroke-width:1.5;
  opacity:.48;
}
.coverage-ring-outer{
  stroke-width:1.5;
  stroke-dasharray:11 9;
  opacity:.65;
}
.hq-glow{fill:url(#hqGlow)}
.map-road{
  fill:none;
  stroke:rgba(230,160,23,.22);
  stroke-width:1.4;
}
.town-marker{
  cursor:pointer;
  transition:opacity .2s ease;
}
.town-marker circle{
  transition:r .18s ease,fill .18s ease,stroke .18s ease,filter .18s ease;
}
.town-marker text{
  fill:#ecece8;
  font:600 12px Inter,Arial,sans-serif;
  paint-order:stroke;
  stroke:#111;
  stroke-width:4px;
  stroke-linejoin:round;
  pointer-events:none;
}
.town-marker.primary circle{
  fill:var(--orange);
  stroke:rgba(255,255,255,.2);
  stroke-width:1;
}
.town-marker.extended circle{
  fill:#111;
  stroke:var(--orange);
  stroke-width:2;
}
.town-marker:hover circle,
.town-marker.active circle{
  r:11;
  fill:#fff;
  stroke:var(--orange);
  stroke-width:3;
  filter:url(#softGlow);
}
.headquarters{cursor:pointer}
.hq-marker-ring{
  fill:rgba(230,160,23,.14);
  stroke:var(--orange);
  stroke-width:2;
}
.hq-pin{
  fill:var(--orange);
  stroke:#111;
  stroke-width:2;
}
.hq-star{fill:#111}
.hq-label{
  fill:#f7f4ed;
  font:800 19px "Barlow Condensed";
  letter-spacing:.03em;
}
.hq-sub{
  fill:var(--orange);
  font:700 12px "Barlow Condensed";
  letter-spacing:.07em;
}
.map-compass text{
  fill:var(--orange);
  font:700 12px Inter;
}
.map-compass path{fill:var(--orange)}
.map-compass circle{
  fill:none;
  stroke:rgba(230,160,23,.58);
  stroke-width:1;
}
.town-popup{
  position:absolute;
  right:20px;
  top:92px;
  width:270px;
  padding:22px;
  border:1px solid var(--orange);
  border-radius:8px;
  background:rgba(9,11,11,.96);
  box-shadow:0 24px 65px rgba(0,0,0,.58);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
}
.town-popup.open{
  opacity:1;
  visibility:visible;
  transform:none;
}
.popup-close{
  position:absolute;
  top:9px;
  right:11px;
  padding:2px;
  border:0;
  background:none;
  color:var(--orange);
  font-size:23px;
  cursor:pointer;
}
.popup-type{
  color:var(--orange);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.popup-town{
  margin:7px 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(230,160,23,.4);
  color:#f6f2e8;
  font:700 29px "Barlow Condensed";
  text-transform:uppercase;
}
.town-popup>p{
  margin-bottom:9px;
  color:#aeb2ad;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.popup-services{
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.popup-services li{
  position:relative;
  padding:5px 0 5px 22px;
  color:#e4e5e2;
  font-size:12px;
}
.popup-services li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--orange);
  font-weight:900;
}
.town-popup>a{
  height:40px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--orange);
  color:#111;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.map-bottom-bar{
  min-height:68px;
  padding:13px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(230,160,23,.35);
  background:#0c0e0e;
}
.map-bottom-bar>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.location-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--orange);
  color:var(--orange);
}
.map-bottom-bar p{
  margin:0;
  color:#aeb2ad;
  font-size:10px;
  line-height:1.5;
}
.map-bottom-bar p strong{
  display:block;
  color:#f0eee8;
  font-size:11px;
  text-transform:uppercase;
}
.map-bottom-bar>a{
  min-width:230px;
  height:42px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--orange);
  color:#111;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media(max-width:1150px){
  .service-area-pro{
    grid-template-columns:1fr;
  }
  .service-area-sidebar{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:30px;
    align-items:start;
  }
  .service-town-card{grid-column:2}
}
@media(max-width:760px){
  .service-area-pro{
    padding:85px 18px;
  }
  .service-area-sidebar{display:block}
  .service-area-sidebar h2{font-size:52px}
  .town-columns{grid-template-columns:repeat(2,1fr)}
  .service-town-card{margin-top:28px}
  .map-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .map-stage{min-height:500px}
  .ct-service-map{
    min-height:500px;
    width:760px;
    transform:translateX(-80px);
  }
  .town-popup{
    left:14px;
    right:14px;
    top:auto;
    bottom:14px;
    width:auto;
  }
  .map-bottom-bar{
    align-items:stretch;
    flex-direction:column;
  }
  .map-bottom-bar>a{width:100%}
}
@media(max-width:480px){
  .town-columns{grid-template-columns:1fr 1fr}
  .town-columns ul:nth-child(3){grid-column:1/-1}
  .map-key{gap:9px}
}


/* True Connecticut outline correction */
.ct-state-outline{
  fill:none;
  stroke:#d99b1d;
  stroke-width:3;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 8px rgba(230,160,23,.32));
}
.ct-state-fill{fill:#171d1a}
.ct-state-grid{fill:url(#roadGrid);opacity:.58}


/* =========================================================
   OFFICIAL CONNECTICUT OPEN DATA — MUNICIPAL BOUNDARIES
   ========================================================= */
.map-loading text:first-child{
  fill:#e8e7e2;
  font:700 18px "Barlow Condensed",sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.map-loading text:last-child{
  fill:#777d78;
  font:600 10px Inter,Arial,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ct-town-shape{
  stroke:rgba(239,235,226,.36);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
  cursor:pointer;
  transition:
    fill .18s ease,
    stroke .18s ease,
    opacity .18s ease,
    filter .18s ease;
}
.ct-town-shape.outside{
  fill:#171c19;
}
.ct-town-shape.primary{
  fill:rgba(230,160,23,.70);
  stroke:rgba(255,231,176,.78);
}
.ct-town-shape.extended{
  fill:rgba(230,160,23,.12);
  stroke:rgba(230,160,23,.82);
  stroke-width:1.4;
}
.ct-town-shape.headquarters{
  fill:#f0ad20;
  stroke:#fff0c9;
  stroke-width:2.4;
  filter:url(#townGlow);
}
.ct-town-shape:hover,
.ct-town-shape.active{
  fill:#f4b42a;
  stroke:#fff;
  stroke-width:2.2;
  filter:url(#townGlow);
}
.ct-town-label{
  fill:#f3f1eb;
  font:600 9px Inter,Arial,sans-serif;
  text-anchor:middle;
  dominant-baseline:middle;
  pointer-events:none;
  paint-order:stroke;
  stroke:#0b0d0d;
  stroke-width:3.2px;
  stroke-linejoin:round;
}
.ct-town-label.outside{
  fill:#828882;
}
.ct-town-label.headquarters{
  fill:#111;
  font-weight:900;
  font-size:11px;
  stroke:#f0ad20;
  stroke-width:5px;
}
.ct-radius-ring{
  fill:none;
  stroke:#f0ad20;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
}
.ct-radius-ring.primary{
  stroke-width:1.8;
  opacity:.63;
}
.ct-radius-ring.extended{
  stroke-width:1.5;
  stroke-dasharray:10 8;
  opacity:.62;
}
.ct-hq-pulse{
  fill:none;
  stroke:#fff1c8;
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  animation:hq-map-pulse 2.4s ease-out infinite;
}
@keyframes hq-map-pulse{
  0%{opacity:.9;transform:scale(.55)}
  75%,100%{opacity:0;transform:scale(1.8)}
}
.ct-hq-star{
  fill:#111;
  stroke:#f7e6b6;
  stroke-width:2;
}
.ct-hq-text{
  fill:#f6f3eb;
  font:800 15px "Barlow Condensed",sans-serif;
  paint-order:stroke;
  stroke:#0b0d0d;
  stroke-width:5px;
}
.ct-hq-subtext{
  fill:#f0ad20;
  font:700 10px Inter,Arial,sans-serif;
  letter-spacing:.08em;
  paint-order:stroke;
  stroke:#0b0d0d;
  stroke-width:4px;
}
.official-map-source{
  padding:8px 18px;
  border-top:1px solid rgba(230,160,23,.18);
  background:#0b0d0d;
  color:#696f6a;
  font-size:9px;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-align:right;
}
.map-error{
  fill:#e6a017;
  font:700 15px "Barlow Condensed",sans-serif;
  text-anchor:middle;
}


/* =========================================================
   MAP ZOOM, PAN, AND DRAGGABLE TOWN PANEL
   ========================================================= */
.map-stage{
  cursor:grab;
  user-select:none;
  touch-action:none;
}
.map-stage.is-panning{cursor:grabbing}
.ct-service-map{touch-action:none}
.ct-map-viewport{
  transform-box:view-box;
  transform-origin:0 0;
  will-change:transform;
}
.map-controls{
  position:absolute;
  z-index:16;
  left:16px;
  top:16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.map-controls button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(230,160,23,.72);
  border-radius:5px;
  background:rgba(8,10,10,.94);
  color:#f0ad20;
  font:700 21px Inter,Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
}
.map-controls button:hover{
  background:#e6a017;
  color:#111;
}
.map-controls button:last-child{font-size:17px}
.town-popup{
  touch-action:none;
  will-change:left,top,transform;
}
.town-popup.drag-positioned{
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
}
.popup-drag-handle{
  height:31px;
  margin:-22px -22px 15px;
  padding:0 40px 0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(230,160,23,.28);
  background:rgba(230,160,23,.07);
  color:#8d928d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:move;
}
.popup-drag-handle i{
  color:#e6a017;
  font-style:normal;
  font-size:15px;
  letter-spacing:-3px;
}
.town-popup.is-dragging{
  cursor:move;
  box-shadow:0 30px 80px rgba(0,0,0,.72);
}
.map-zoom-readout{
  position:absolute;
  z-index:15;
  left:64px;
  top:22px;
  min-width:52px;
  padding:5px 8px;
  border:1px solid rgba(230,160,23,.28);
  border-radius:4px;
  background:rgba(8,10,10,.84);
  color:#c2c6c1;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
}
@media(max-width:760px){
  .map-controls{
    left:10px;
    top:10px;
    flex-direction:row;
  }
  .map-controls button{
    width:35px;
    height:35px;
  }
  .popup-drag-handle{
    cursor:default;
  }
}

.map-error-detail{
  fill:#858b86;
  font:600 11px Inter,Arial,sans-serif;
  text-anchor:middle;
  letter-spacing:.04em;
}


/* Distance-based service-area lists */
.town-group h3 small{
  margin-left:auto;
  color:#8c928d;
  font:700 10px Inter,Arial,sans-serif;
  letter-spacing:.08em;
}
.distance-rule{
  margin:-8px 0 14px;
  color:#858b86;
  font-size:9px;
  line-height:1.45;
}
.dynamic-town-list{
  align-items:start;
}
.dynamic-town-list li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  min-width:0;
}
.dynamic-town-list li span{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.dynamic-town-list li small{
  color:#7d837e;
  font-size:8px;
  white-space:nowrap;
  text-align:right;
  padding-top:2px;
}
.extended-town-scroll{
  max-height:250px;
  padding-right:8px;
  overflow-y:auto;
  scrollbar-color:#e6a017 #171a1a;
  scrollbar-width:thin;
}
.extended-town-scroll::-webkit-scrollbar{width:6px}
.extended-town-scroll::-webkit-scrollbar-track{background:#171a1a}
.extended-town-scroll::-webkit-scrollbar-thumb{
  border-radius:10px;
  background:#e6a017;
}
.town-list-loading{
  grid-column:1/-1;
  margin:0;
  color:#858b86;
  font-size:10px;
}
.radius-label{
  fill:#f4c45b;
  font:800 10px Inter,Arial,sans-serif;
  letter-spacing:.09em;
  paint-order:stroke;
  stroke:#0b0d0d;
  stroke-width:4px;
}


/* =========================================================
   GIS-STYLE MAP REFINEMENTS
   ========================================================= */
.ct-map-viewport{
  transform-origin:0 0;
  transition:none;
}
.ct-map-viewport.is-animating{
  transition:transform 260ms cubic-bezier(.22,.75,.25,1);
}
.ct-town-shape{
  transition:
    fill 160ms ease,
    stroke 160ms ease,
    opacity 160ms ease,
    filter 160ms ease;
}
.ct-town-shape.primary{
  fill:rgba(230,160,23,.58);
  stroke:rgba(255,232,181,.68);
}
.ct-town-shape.extended{
  fill:rgba(230,160,23,.055);
  stroke:rgba(230,160,23,.72);
}
.ct-town-shape.outside{opacity:.82}
.ct-town-shape.hovered,
.ct-town-shape:hover,
.ct-town-shape.active{
  fill:#f2ae22;
  stroke:#fff6df;
  stroke-width:2.1;
  opacity:1;
  filter:url(#townGlow);
}
.ct-town-label{
  font-size:8.5px;
  letter-spacing:-.01em;
}
.ct-town-label.primary{fill:#fff7e5}
.ct-town-label.extended{fill:#c7cbc6}
.ct-hq-pulse{
  stroke:#fff0c5;
  stroke-width:1.5;
}
.ct-hq-dot{
  fill:#f0ad20;
  stroke:#fff5dc;
  stroke-width:1.6;
  vector-effect:non-scaling-stroke;
}
.ct-hq-text{
  fill:#f0ad20;
  font:800 10px Inter,Arial,sans-serif;
  letter-spacing:.08em;
  paint-order:stroke;
  stroke:#0b0d0d;
  stroke-width:3px;
}
.ct-hq-subtext,
.ct-hq-star{display:none}
.town-popup{
  width:255px;
  padding:20px;
}
.popup-drag-handle{
  margin:-20px -20px 14px;
}
.popup-town{
  font-size:25px;
}
.map-stage{
  background:
    radial-gradient(circle at 48% 48%,rgba(230,160,23,.06),transparent 34%),
    linear-gradient(180deg,#121615,#0a0d0c);
}




/* Service-radius legend */
.map-key{
  align-items:center;
}
.map-key span{
  white-space:nowrap;
}
.map-key .key-primary{
  position:relative;
  border-radius:50%;
  background:#e6a017;
}
.map-key .key-primary::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(230,160,23,.65);
  border-radius:50%;
}
.map-key .key-extended{
  border:1.5px dashed #e6a017;
  border-radius:50%;
  background:transparent;
}


/* 35-mile extended service-area update */
.map-key .key-outside{
  border:1px solid #737975;
  border-radius:50%;
  background:#171c19;
}
.ct-radius-ring.primary{
  stroke:#f0ad20;
  stroke-width:1.9;
  opacity:.78;
}
.ct-radius-ring.extended{
  stroke:#d08b13;
  stroke-width:1.5;
  stroke-dasharray:10 8;
  opacity:.68;
}
.ct-town-shape.outside{
  fill:#171c19;
  stroke:rgba(220,222,216,.30);
  opacity:.72;
}
.ct-town-shape.outside:hover,
.ct-town-shape.outside.active{
  fill:#8b6321;
  stroke:#f0ad20;
  opacity:1;
}


/* Outside standard service-area popup */
.popup-outside-message{
  margin:0 0 18px;
  padding:14px 15px;
  border:1px solid rgba(230,160,23,.45);
  background:rgba(230,160,23,.07);
}
.popup-outside-message[hidden],
.popup-services[hidden],
.popup-services-label[hidden]{
  display:none;
}
.popup-outside-message strong{
  display:block;
  margin-bottom:6px;
  color:#f0ad20;
  font:700 17px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.popup-outside-message span{
  display:block;
  color:#d2d5d0;
  font-size:11px;
  line-height:1.55;
}


/* =========================================================
   PREMIUM FLOATING TOWN PANEL
   ========================================================= */
.town-popup{
  width:292px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(230,160,23,.72);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(18,21,20,.98),rgba(9,11,11,.985));
  box-shadow:
    0 28px 80px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.025) inset;
}
.popup-drag-handle{
  height:42px;
  margin:0;
  padding:0 42px 0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(230,160,23,.24);
  background:
    linear-gradient(90deg,rgba(230,160,23,.11),rgba(230,160,23,.025));
  color:#a8ada8;
  cursor:move;
}
.popup-drag-title{
  display:flex;
  align-items:center;
  gap:9px;
}
.popup-drag-title>span:last-child{
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.popup-drag-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#e6a017;
  box-shadow:0 0 12px rgba(230,160,23,.7);
}
.popup-drag-handle i{
  color:#e6a017;
  font-style:normal;
  font-size:16px;
  letter-spacing:-4px;
}
.popup-close{
  top:8px;
  right:10px;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(230,160,23,.35);
  border-radius:50%;
  background:rgba(9,11,11,.72);
  color:#e6a017;
  font-size:17px;
  line-height:1;
}
.popup-close:hover{
  background:#e6a017;
  color:#111;
}
.popup-heading{
  padding:18px 18px 15px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.popup-type{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border:1px solid rgba(230,160,23,.42);
  border-radius:999px;
  background:rgba(230,160,23,.08);
  color:#f0ad20;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.popup-town{
  margin:12px 0 13px;
  padding:0;
  border:0;
  color:#f7f4ed;
  font:800 32px/.94 "Barlow Condensed",sans-serif;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.popup-distance{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:15px;
}
.popup-distance span{
  max-width:120px;
  color:#737974;
  font-size:8px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.popup-distance strong{
  color:#d7dad6;
  font-size:11px;
  font-weight:700;
  text-align:right;
}
.popup-body{
  padding:15px 18px 17px;
}
.popup-services-label{
  margin:0 0 10px;
  color:#7f8580;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.popup-services{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 10px;
  margin:0;
}
.popup-services li{
  min-height:28px;
  display:flex;
  align-items:center;
  padding:5px 7px 5px 24px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:5px;
  background:rgba(255,255,255,.025);
  color:#e5e7e3;
  font-size:9px;
  line-height:1.25;
}
.popup-services li:before{
  left:8px;
  top:50%;
  transform:translateY(-50%);
  font-size:10px;
}
.popup-outside-message{
  margin:0;
  padding:14px;
  border:1px solid rgba(230,160,23,.42);
  border-radius:7px;
  background:rgba(230,160,23,.065);
}
.popup-outside-message strong{
  margin-bottom:7px;
  font-size:18px;
}
.popup-outside-message span{
  font-size:10px;
  line-height:1.6;
}
.popup-cta{
  height:50px;
  margin:0;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.07);
  background:linear-gradient(90deg,#d99612,#efad26);
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.popup-cta b{
  font-size:17px;
  transition:transform .18s ease;
}
.popup-cta:hover b{
  transform:translate(3px,-3px);
}
.town-popup.is-dragging{
  box-shadow:
    0 36px 95px rgba(0,0,0,.75),
    0 0 0 1px rgba(230,160,23,.2) inset;
}
@media(max-width:760px){
  .town-popup{
    width:auto;
    border-radius:10px;
  }
  .popup-services{
    grid-template-columns:1fr;
  }
  .popup-drag-handle{
    cursor:default;
  }
}


/* =========================================================
   SELECTED TOWN OUTLINE — ALWAYS VISIBLE
   ========================================================= */
.ct-selection-layer{
  pointer-events:none;
}
.ct-selection-outline{
  fill:rgba(255,255,255,.025);
  stroke:#fff8df;
  stroke-width:3.6;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  filter:
    drop-shadow(0 0 2px #e6a017)
    drop-shadow(0 0 7px rgba(230,160,23,.8));
  pointer-events:none;
}
.ct-town-shape.active{
  stroke:transparent!important;
}


/* =========================================================
   FLOATING TOWN BOX — KEEP FULLY VISIBLE
   ========================================================= */
.interactive-map-card{
  position:relative;
  overflow:visible;
  isolation:isolate;
}

.map-stage{
  position:relative;
  overflow:visible;
  isolation:isolate;
}

.ct-service-map{
  position:relative;
  z-index:1;
  overflow:hidden;
}

.map-controls{
  z-index:40;
}

.map-zoom-readout{
  z-index:39;
}

.town-popup{
  z-index:100!important;
  max-height:calc(100% - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
}

.town-popup.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}

.town-popup.drag-positioned{
  z-index:110!important;
}

.town-popup.is-dragging{
  z-index:120!important;
}

/* Keep the panel border and shadow from being visually cut off */
.town-popup::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.035);
  border-radius:inherit;
  pointer-events:none;
}

/* On smaller screens, keep the box inside the visible map area */
@media(max-width:760px){
  .interactive-map-card,
  .map-stage{
    overflow:hidden;
  }

  .town-popup{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    top:auto!important;
    max-height:70%;
  }
}


/* =========================================================
   HERO V2 — PREMIUM, HIGH-CONVERSION REDESIGN
   Everything below the hero remains unchanged.
   ========================================================= */
.hero-v2{
  position:relative;
  min-height:920px;
  overflow:hidden;
  background:#080909;
}
.hero-v2-image{
  position:absolute;
  inset:0;
  background:
    url("assets/hero.jpg")
    center 54% / cover no-repeat;
  filter:saturate(.82) contrast(1.08);
  transform:scale(1.015);
}
.hero-v2-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(5,6,6,.985) 0%,
      rgba(5,6,6,.93) 35%,
      rgba(5,6,6,.62) 58%,
      rgba(5,6,6,.22) 82%,
      rgba(5,6,6,.13) 100%
    ),
    linear-gradient(
      0deg,
      rgba(5,6,6,.98) 0%,
      rgba(5,6,6,.35) 34%,
      transparent 70%
    );
}
.hero-v2-grid{
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:90px 90px;
  mask-image:linear-gradient(90deg,#000,transparent 70%);
}
.hero-v2-inner{
  position:relative;
  z-index:3;
  width:min(calc(100% - 110px),var(--max));
  min-height:840px;
  margin:auto;
  padding:174px 0 120px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:75px;
  align-items:center;
}
.hero-v2-copy{
  max-width:910px;
}
.hero-v2-kicker{
  display:flex;
  align-items:center;
  gap:13px;
  color:#e7e3db;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-v2-kicker-line{
  width:48px;
  height:2px;
  background:var(--orange);
}
.hero-v2 h1{
  max-width:940px;
  margin:30px 0 27px;
  color:#f7f5ef;
  font:900 clamp(82px,8.8vw,145px)/.79 "Barlow Condensed",sans-serif;
  letter-spacing:-.046em;
  text-transform:uppercase;
}
.hero-v2 h1 em{
  display:block;
  color:var(--orange);
  font-style:normal;
}
.hero-v2-intro{
  max-width:730px;
  margin-bottom:0;
  color:#d0d3ce;
  font-size:17px;
  line-height:1.7;
}
.hero-v2-actions{
  display:flex;
  gap:13px;
  margin-top:34px;
}
.hero-v2-primary,
.hero-v2-secondary{
  min-width:245px;
  height:58px;
  padding:0 21px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease;
}
.hero-v2-primary{
  background:var(--orange);
  color:#111;
  border:1px solid var(--orange);
}
.hero-v2-secondary{
  color:#f4f2ec;
  border:1px solid rgba(255,255,255,.37);
  background:rgba(5,7,7,.34);
  backdrop-filter:blur(8px);
}
.hero-v2-primary:hover,
.hero-v2-secondary:hover{
  transform:translateY(-2px);
}
.hero-v2-secondary:hover{
  border-color:var(--orange);
  background:rgba(230,160,23,.09);
}
.hero-v2-primary b,
.hero-v2-secondary b{
  font-size:17px;
}
.hero-v2-trust{
  max-width:760px;
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
}
.hero-v2-trust article{
  padding:18px 23px;
  border-right:1px solid rgba(255,255,255,.14);
}
.hero-v2-trust article:first-child{padding-left:0}
.hero-v2-trust article:last-child{border-right:0}
.hero-v2-trust strong{
  display:block;
  margin-bottom:3px;
  color:#f7f5ef;
  font:700 21px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-v2-trust span{
  color:#969b96;
  font-size:10px;
  line-height:1.4;
}
.hero-v2-card{
  align-self:end;
  margin-bottom:45px;
  border:1px solid rgba(230,160,23,.62);
  background:
    linear-gradient(180deg,rgba(18,21,20,.91),rgba(8,10,10,.96));
  backdrop-filter:blur(14px);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
.hero-v2-card-head{
  padding:22px 24px 18px;
  border-bottom:1px solid rgba(230,160,23,.24);
}
.hero-v2-card-head span{
  display:block;
  margin-bottom:6px;
  color:var(--orange);
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.hero-v2-card-head strong{
  display:block;
  color:#f4f1e9;
  font:700 29px/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-v2-services{
  margin:0;
  padding:0 24px;
  list-style:none;
}
.hero-v2-services li{
  min-height:51px;
  display:grid;
  grid-template-columns:35px 1fr;
  gap:12px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.085);
}
.hero-v2-services li:last-child{
  border-bottom:0;
}
.hero-v2-services span{
  color:var(--orange);
  font-size:9px;
  font-weight:800;
}
.hero-v2-services b{
  color:#dfe1dd;
  font:600 17px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-v2-card-link{
  height:52px;
  padding:0 23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(230,160,23,.28);
  background:rgba(230,160,23,.08);
  color:var(--orange);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-v2-card-link:hover{
  background:var(--orange);
  color:#111;
}
.hero-v2-card-link b{
  font-size:17px;
}
.hero-v2-bottom{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  min-height:72px;
  padding:0 max(55px,calc((100vw - var(--max))/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-top:1px solid rgba(255,255,255,.13);
  background:rgba(6,7,7,.88);
  backdrop-filter:blur(10px);
}
.hero-v2-bottom>div{
  display:flex;
  align-items:center;
  gap:19px;
}
.hero-v2-bottom>div span{
  color:#bbbeba;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-v2-bottom>div i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--orange);
}
.hero-v2-bottom>a{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--orange);
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-v2-bottom>a b{
  font-size:15px;
  animation:hero-scroll-bounce 1.8s ease-in-out infinite;
}
@keyframes hero-scroll-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}
@media(max-width:1100px){
  .hero-v2-inner{
    width:min(calc(100% - 60px),var(--max));
    grid-template-columns:1fr;
    padding-top:155px;
  }
  .hero-v2-card{
    display:none;
  }
}
@media(max-width:760px){
  .hero-v2{
    min-height:900px;
  }
  .hero-v2-image{
    background-position:64% center;
  }
  .hero-v2-overlay{
    background:
      linear-gradient(90deg,rgba(5,6,6,.94),rgba(5,6,6,.72)),
      linear-gradient(0deg,rgba(5,6,6,.97),transparent 65%);
  }
  .hero-v2-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:125px 0 125px;
    align-items:start;
  }
  .hero-v2 h1{
    margin-top:23px;
    font-size:68px;
  }
  .hero-v2-intro{
    font-size:14px;
  }
  .hero-v2-actions{
    flex-direction:column;
  }
  .hero-v2-primary,
  .hero-v2-secondary{
    width:100%;
  }
  .hero-v2-trust{
    grid-template-columns:1fr;
    margin-top:34px;
  }
  .hero-v2-trust article{
    padding:14px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .hero-v2-trust article:last-child{
    border-bottom:0;
  }
  .hero-v2-bottom{
    min-height:62px;
    padding:0 18px;
  }
  .hero-v2-bottom>div{
    gap:10px;
  }
  .hero-v2-bottom>div span{
    font-size:8px;
  }
  .hero-v2-bottom>a span{
    display:none;
  }
}
@media(max-width:430px){
  .hero-v2 h1{
    font-size:57px;
  }
  .hero-v2-bottom>div span:nth-of-type(2),
  .hero-v2-bottom>div i:nth-of-type(2){
    display:none;
  }
}


/* Hero service checkmarks */
.hero-v2-service-checks{
  max-width:760px;
  margin:26px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px 22px;
  list-style:none;
}
.hero-v2-service-checks li{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f2f0ea;
  font:600 16px "Barlow Condensed",sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.hero-v2-service-checks li::before{
  content:"✓";
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(230,160,23,.62);
  border-radius:50%;
  background:rgba(230,160,23,.08);
  color:var(--orange);
  font:900 11px Inter,Arial,sans-serif;
}
@media(max-width:760px){
  .hero-v2-service-checks{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
  }
  .hero-v2-service-checks li{
    font-size:14px;
  }
}
@media(max-width:430px){
  .hero-v2-service-checks{
    grid-template-columns:1fr;
  }
}


/* Hero headline spacing refinement */
.hero-v2 h1{
  letter-spacing: 0.02em !important;
  line-height: 0.84 !important;
}

.hero-v2 h1 em{
  letter-spacing: 0.04em !important;
}

@media (max-width:760px){
  .hero-v2 h1{
    letter-spacing:0.015em !important;
    line-height:0.88 !important;
  }
}


/* =========================================================
   REFERENCE-STYLE HERO
   Matches the supplied C&S Land Services hero composition.
   ========================================================= */
.hero-reference{
  position:relative;
  min-height:760px;
  overflow:hidden;
  background:#090a09;
}
.hero-reference-image{
  position:absolute;
  inset:0;
  background:
    url("assets/hero.jpg")
    58% 48% / cover no-repeat;
  filter:
    saturate(.72)
    contrast(1.08)
    brightness(.82);
  transform:scale(1.015);
}
.hero-reference-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(7,8,8,.98) 0%,
      rgba(7,8,8,.90) 33%,
      rgba(7,8,8,.56) 57%,
      rgba(7,8,8,.22) 82%,
      rgba(7,8,8,.10) 100%
    ),
    linear-gradient(
      0deg,
      rgba(7,8,8,.91) 0%,
      rgba(7,8,8,.26) 43%,
      transparent 76%
    );
}
.hero-reference-inner{
  position:relative;
  z-index:3;
  width:min(calc(100% - 110px),var(--max));
  min-height:760px;
  margin:auto;
  padding:170px 0 95px;
  display:flex;
  align-items:center;
}
.hero-reference-copy{
  width:min(760px,62vw);
}
.hero-reference-eyebrow{
  margin:0 0 10px;
  color:var(--orange);
  font:700 17px "Barlow Condensed",sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero-reference-title{
  margin:0;
  font:900 clamp(86px,9.1vw,150px)/.77 "Barlow Condensed",sans-serif;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.hero-reference-title span{
  display:block;
}
.hero-reference-white{
  color:#f1f0eb;
  text-shadow:
    0 2px 0 rgba(0,0,0,.22),
    0 6px 22px rgba(0,0,0,.26);
}
.hero-reference-gold{
  color:#b59a63;
  text-shadow:
    0 2px 0 rgba(0,0,0,.25),
    0 6px 22px rgba(0,0,0,.28);
}
.hero-reference-tagline{
  margin:24px 0 20px;
  color:#f4f1ea;
  font:700 26px "Barlow Condensed",sans-serif;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.hero-reference-services{
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px 26px;
  list-style:none;
}
.hero-reference-services li{
  display:flex;
  align-items:center;
  gap:8px;
  color:#f2f0ea;
  font:700 15px "Barlow Condensed",sans-serif;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.hero-reference-services li::before{
  content:"✓";
  color:var(--orange);
  font:900 16px Inter,Arial,sans-serif;
}
.hero-reference-actions{
  display:flex;
  gap:14px;
  margin-top:28px;
}
.hero-reference-primary,
.hero-reference-secondary{
  min-width:220px;
  height:56px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}
.hero-reference-primary{
  background:var(--orange);
  border:1px solid var(--orange);
  color:#111;
}
.hero-reference-secondary{
  border:1px solid rgba(230,160,23,.8);
  background:rgba(8,10,10,.28);
  color:#f5f2ea;
  backdrop-filter:blur(7px);
}
.hero-reference-primary:hover,
.hero-reference-secondary:hover{
  transform:translateY(-2px);
}
.hero-reference-secondary:hover{
  background:var(--orange);
  color:#111;
}
.hero-reference-primary b,
.hero-reference-secondary b{
  font-size:17px;
}
.hero-reference-bottom-line{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(
    90deg,
    transparent,
    var(--orange) 17%,
    var(--orange) 83%,
    transparent
  );
  opacity:.9;
}

/* Hide old hero-v2 elements if legacy styles are still present */
.hero-reference .hero-v2-card,
.hero-reference .hero-v2-trust,
.hero-reference .hero-v2-bottom,
.hero-reference .hero-v2-service-checks{
  display:none!important;
}

@media(max-width:1050px){
  .hero-reference-copy{
    width:min(820px,78vw);
  }
}
@media(max-width:760px){
  .hero-reference{
    min-height:780px;
  }
  .hero-reference-image{
    background-position:68% center;
  }
  .hero-reference-overlay{
    background:
      linear-gradient(90deg,rgba(7,8,8,.95),rgba(7,8,8,.70)),
      linear-gradient(0deg,rgba(7,8,8,.95),transparent 68%);
  }
  .hero-reference-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:780px;
    padding:126px 0 78px;
    align-items:center;
  }
  .hero-reference-copy{
    width:100%;
  }
  .hero-reference-eyebrow{
    font-size:14px;
  }
  .hero-reference-title{
    font-size:70px;
    line-height:.79;
    letter-spacing:.01em;
  }
  .hero-reference-tagline{
    margin-top:20px;
    font-size:21px;
  }
  .hero-reference-services{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px 14px;
  }
  .hero-reference-services li{
    font-size:13px;
  }
  .hero-reference-actions{
    flex-direction:column;
  }
  .hero-reference-primary,
  .hero-reference-secondary{
    width:100%;
  }
}
@media(max-width:430px){
  .hero-reference-title{
    font-size:58px;
  }
  .hero-reference-services{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   HERO MOCKUP MATCH
   Recreates the previously shown premium hero concept.
   ========================================================= */
.hero-mockup{
  position:relative;
  min-height:980px;
  overflow:hidden;
  background:#060707;
}
.hero-mockup-image{
  position:absolute;
  inset:0;
  background:
    url("assets/hero.jpg")
    61% 47% / cover no-repeat;
  filter:
    saturate(.74)
    contrast(1.1)
    brightness(.73);
  transform:scale(1.02);
}
.hero-mockup-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 37%,rgba(230,160,23,.08),transparent 28%),
    linear-gradient(
      90deg,
      rgba(4,5,5,.98) 0%,
      rgba(4,5,5,.92) 31%,
      rgba(4,5,5,.52) 57%,
      rgba(4,5,5,.15) 82%,
      rgba(4,5,5,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(4,5,5,.98) 0%,
      rgba(4,5,5,.58) 26%,
      rgba(4,5,5,.08) 67%
    );
}
.hero-mockup-inner{
  position:relative;
  z-index:3;
  width:min(calc(100% - 110px),var(--max));
  min-height:980px;
  margin:auto;
  padding:205px 0 36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-mockup-copy{
  max-width:1020px;
  margin-bottom:50px;
}
.hero-mockup-eyebrow{
  margin:0 0 14px;
  color:var(--orange);
  font:700 19px "Barlow Condensed",sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero-mockup-title{
  margin:0;
  font:900 clamp(82px,8.7vw,146px)/.78 "Barlow Condensed",sans-serif;
  letter-spacing:.018em;
  text-transform:uppercase;
}
.hero-mockup-title span{
  display:block;
}
.hero-mockup-white{
  color:#f0efeb;
  text-shadow:
    0 2px 0 rgba(0,0,0,.3),
    0 9px 26px rgba(0,0,0,.3);
}
.hero-mockup-gold{
  color:#b99a5a;
  text-shadow:
    0 2px 0 rgba(0,0,0,.32),
    0 9px 26px rgba(0,0,0,.34);
}
.hero-mockup-services{
  margin:26px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:14px 25px;
  list-style:none;
}
.hero-mockup-services li{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f2f0ea;
  font:700 16px "Barlow Condensed",sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.hero-mockup-services li::before{
  content:"✓";
  color:var(--orange);
  font:900 17px Inter,Arial,sans-serif;
}
.hero-mockup-actions{
  display:flex;
  gap:16px;
  margin-top:34px;
}
.hero-mockup-primary,
.hero-mockup-secondary{
  min-width:270px;
  height:64px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}
.hero-mockup-primary{
  background:linear-gradient(90deg,#d99812,#e8aa25);
  border:1px solid var(--orange);
  color:#111;
}
.hero-mockup-secondary{
  color:#f4f1eb;
  border:1px solid rgba(255,255,255,.78);
  background:rgba(6,8,8,.42);
  backdrop-filter:blur(7px);
}
.hero-mockup-primary:hover,
.hero-mockup-secondary:hover{
  transform:translateY(-2px);
}
.hero-mockup-secondary:hover{
  background:var(--orange);
  color:#111;
  border-color:var(--orange);
}
.hero-mockup-primary b,
.hero-mockup-secondary b{
  font-size:18px;
}
.hero-mockup-trust{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid rgba(255,255,255,.24);
  background:rgba(5,7,7,.79);
  backdrop-filter:blur(13px);
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    0 0 0 1px rgba(230,160,23,.05) inset;
}
.hero-mockup-trust article{
  min-height:210px;
  padding:24px 22px 22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.17);
}
.hero-mockup-trust article:last-child{
  border-right:0;
}
.hero-mockup-icon{
  width:62px;
  height:62px;
  margin-bottom:15px;
  display:grid;
  place-items:center;
  color:var(--orange);
}
.hero-mockup-icon svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-mockup-trust h3{
  margin:0 0 9px;
  color:#f5f2ea;
  font:700 23px "Barlow Condensed",sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.hero-mockup-trust p{
  max-width:190px;
  margin:0;
  color:#b4b8b3;
  font-size:12px;
  line-height:1.55;
}
@media(max-width:1100px){
  .hero-mockup{
    min-height:1040px;
  }
  .hero-mockup-inner{
    width:min(calc(100% - 60px),var(--max));
    min-height:1040px;
    padding-top:175px;
  }
  .hero-mockup-trust{
    grid-template-columns:repeat(3,1fr);
  }
  .hero-mockup-trust article:nth-child(3){
    border-right:0;
  }
  .hero-mockup-trust article:nth-child(-n+3){
    border-bottom:1px solid rgba(255,255,255,.17);
  }
}
@media(max-width:760px){
  .hero-mockup{
    min-height:auto;
  }
  .hero-mockup-image{
    background-position:69% center;
  }
  .hero-mockup-overlay{
    background:
      linear-gradient(90deg,rgba(4,5,5,.94),rgba(4,5,5,.72)),
      linear-gradient(0deg,rgba(4,5,5,.98),rgba(4,5,5,.18) 72%);
  }
  .hero-mockup-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:132px 0 38px;
  }
  .hero-mockup-copy{
    margin-bottom:35px;
  }
  .hero-mockup-eyebrow{
    font-size:14px;
  }
  .hero-mockup-title{
    font-size:65px;
    line-height:.8;
  }
  .hero-mockup-services{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px 13px;
  }
  .hero-mockup-services li{
    font-size:13px;
  }
  .hero-mockup-actions{
    flex-direction:column;
  }
  .hero-mockup-primary,
  .hero-mockup-secondary{
    width:100%;
  }
  .hero-mockup-trust{
    grid-template-columns:1fr;
  }
  .hero-mockup-trust article{
    min-height:auto;
    padding:20px;
    display:grid;
    grid-template-columns:58px 1fr;
    gap:4px 15px;
    align-items:center;
    text-align:left;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.15);
  }
  .hero-mockup-trust article:last-child{
    border-bottom:0;
  }
  .hero-mockup-icon{
    grid-row:1/3;
    margin:0;
  }
  .hero-mockup-trust h3{
    margin:0;
    font-size:20px;
  }
  .hero-mockup-trust p{
    max-width:none;
    font-size:11px;
  }
}
@media(max-width:430px){
  .hero-mockup-title{
    font-size:54px;
  }
  .hero-mockup-services{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   LAND DEVELOPMENT / DONE RIGHT HERO
   ========================================================= */
:root{
  --cs-hero-white:#f3f1ec;
  --cs-hero-gold:#d89a18;
}

.hero-land-development{
  position:relative;
  min-height:980px;
  overflow:hidden;
  background:#070808;
}
.hero-land-image{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 61% 47% / cover no-repeat;
  filter:saturate(.78) contrast(1.08) brightness(.76);
  transform:scale(1.02);
}
.hero-land-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(4,5,5,.985) 0%,
      rgba(4,5,5,.92) 32%,
      rgba(4,5,5,.57) 57%,
      rgba(4,5,5,.19) 82%,
      rgba(4,5,5,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(4,5,5,.99) 0%,
      rgba(4,5,5,.57) 28%,
      rgba(4,5,5,.08) 67%
    );
}
.hero-land-glow{
  position:absolute;
  inset:0;
  background:radial-gradient(
    circle at 73% 42%,
    rgba(216,154,24,.13),
    transparent 26%
  );
  pointer-events:none;
}
.hero-land-inner{
  position:relative;
  z-index:3;
  width:min(calc(100% - 110px),var(--max));
  min-height:980px;
  margin:auto;
  padding:200px 0 78px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.hero-land-copy{
  max-width:1040px;
  margin-bottom:48px;
}
.hero-land-eyebrow{
  margin:0 0 16px;
  color:var(--cs-hero-gold);
  font:700 18px "Inter",Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-land-title{
  margin:0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(92px,9.4vw,154px);
  font-weight:400;
  line-height:.78;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.hero-land-title span{
  display:block;
}
.hero-land-white{
  color:var(--cs-hero-white);
  text-shadow:0 3px 8px rgba(0,0,0,.34);
}
.hero-land-gold{
  color:var(--cs-hero-gold);
  font-size:1.035em;
  letter-spacing:.05em;
  text-shadow:0 3px 8px rgba(0,0,0,.36);
}
.hero-land-intro{
  max-width:730px;
  margin:29px 0 0;
  color:#e4e2dc;
  font-size:17px;
  line-height:1.65;
}
.hero-land-services{
  margin:25px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:13px 25px;
  list-style:none;
}
.hero-land-services li{
  display:flex;
  align-items:center;
  gap:9px;
  color:#f3f1ec;
  font:600 16px "Inter",Arial,sans-serif;
}
.hero-land-services li::before{
  content:"✓";
  color:var(--cs-hero-gold);
  font-size:16px;
  font-weight:900;
}
.hero-land-actions{
  display:flex;
  gap:16px;
  margin-top:34px;
}
.hero-land-primary,
.hero-land-secondary{
  min-width:248px;
  height:62px;
  padding:0 23px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.hero-land-primary{
  background:var(--cs-hero-gold);
  border:1px solid var(--cs-hero-gold);
  color:#111;
}
.hero-land-secondary{
  color:#f4f2ed;
  border:1px solid rgba(216,154,24,.85);
  background:rgba(6,8,8,.44);
  backdrop-filter:blur(8px);
}
.hero-land-primary:hover,
.hero-land-secondary:hover{
  transform:translateY(-2px);
}
.hero-land-secondary:hover{
  background:var(--cs-hero-gold);
  color:#111;
}
.hero-land-primary b,
.hero-land-secondary b{
  font-size:18px;
}
.hero-land-trust{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid rgba(255,255,255,.2);
  background:rgba(5,7,7,.78);
  backdrop-filter:blur(13px);
}
.hero-land-trust article{
  min-height:155px;
  padding:21px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  border-right:1px solid rgba(255,255,255,.13);
}
.hero-land-trust article:last-child{border-right:0}
.hero-land-trust svg{
  width:44px;
  height:44px;
  flex:0 0 auto;
  fill:none;
  stroke:var(--cs-hero-gold);
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-land-trust strong{
  display:block;
  margin-bottom:5px;
  color:#f5f2ec;
  font:700 20px "Bebas Neue","Barlow Condensed",sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hero-land-trust span{
  display:block;
  color:#aeb2ad;
  font-size:10px;
  line-height:1.5;
}
.hero-terrain-divider{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:-1px;
  height:58px;
  pointer-events:none;
}
.hero-terrain-divider span{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
}
.terrain-back{
  height:44px;
  background:rgba(216,154,24,.75);
  clip-path:polygon(0 62%,14% 46%,30% 64%,47% 36%,63% 60%,81% 42%,100% 58%,100% 100%,0 100%);
}
.terrain-front{
  height:36px;
  background:#0d0f0f;
  clip-path:polygon(0 65%,16% 48%,33% 70%,50% 38%,66% 66%,82% 44%,100% 60%,100% 100%,0 100%);
}
@media(max-width:1100px){
  .hero-land-development,
  .hero-land-inner{min-height:1040px}
  .hero-land-inner{
    width:min(calc(100% - 60px),var(--max));
    padding-top:175px;
  }
  .hero-land-trust{grid-template-columns:repeat(3,1fr)}
  .hero-land-trust article:nth-child(3){border-right:0}
  .hero-land-trust article:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:760px){
  .hero-land-development{min-height:auto}
  .hero-land-image{background-position:70% center}
  .hero-land-overlay{
    background:
      linear-gradient(90deg,rgba(4,5,5,.95),rgba(4,5,5,.72)),
      linear-gradient(0deg,rgba(4,5,5,.98),rgba(4,5,5,.18) 72%);
  }
  .hero-land-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:132px 0 72px;
  }
  .hero-land-copy{margin-bottom:34px}
  .hero-land-eyebrow{font-size:12px}
  .hero-land-title{
    font-size:68px;
    line-height:.8;
    letter-spacing:.025em;
  }
  .hero-land-intro{font-size:14px}
  .hero-land-services{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 13px;
  }
  .hero-land-services li{font-size:13px}
  .hero-land-actions{flex-direction:column}
  .hero-land-primary,
  .hero-land-secondary{width:100%}
  .hero-land-trust{grid-template-columns:1fr}
  .hero-land-trust article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .hero-land-trust article:last-child{border-bottom:0}
}
@media(max-width:430px){
  .hero-land-title{font-size:56px}
  .hero-land-services{grid-template-columns:1fr}
}


/* =========================================================
   SIGNATURE HERO — EDITORIAL / HIGH-END CONTRACTOR DESIGN
   ========================================================= */
.hero-signature{
  position:relative;
  min-height:1080px;
  overflow:hidden;
  background:#060707;
}
.hero-signature-media{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 62% 50% / cover no-repeat;
  filter:saturate(.72) contrast(1.12) brightness(.72);
  transform:scale(1.03);
  transition:transform 1.4s cubic-bezier(.2,.75,.2,1);
}
.hero-signature:hover .hero-signature-media{
  transform:scale(1.045);
}
.hero-signature-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 37%,rgba(216,154,24,.15),transparent 24%),
    linear-gradient(90deg,rgba(3,4,4,.99) 0%,rgba(3,4,4,.94) 33%,rgba(3,4,4,.62) 57%,rgba(3,4,4,.16) 84%,rgba(3,4,4,.08) 100%),
    linear-gradient(0deg,rgba(3,4,4,.99) 0%,rgba(3,4,4,.56) 27%,transparent 68%);
}
.hero-signature-grid{
  position:absolute;
  inset:0;
  opacity:.10;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:96px 96px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.9) 40%,transparent 78%);
}
.hero-signature-rail{
  position:absolute;
  z-index:4;
  left:18px;
  top:145px;
  bottom:190px;
  width:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  color:#8e938e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.hero-signature-rail i{
  width:1px;
  flex:1;
  background:linear-gradient(180deg,transparent,rgba(216,154,24,.72),transparent);
}
.hero-signature-rail b{
  color:#d89a18;
  font-weight:800;
}
.hero-signature-inner{
  position:relative;
  z-index:3;
  width:min(calc(100% - 130px),var(--max));
  min-height:890px;
  margin:auto;
  padding:178px 0 90px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:88px;
  align-items:center;
}
.hero-signature-copy{
  max-width:980px;
}
.hero-signature-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#ddd9d0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-signature-kicker-mark{
  width:46px;
  height:2px;
  background:#d89a18;
}
.hero-signature-title{
  margin:31px 0 0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(100px,10.2vw,170px);
  font-weight:400;
  line-height:.75;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero-signature-title span{
  display:block;
}
.hero-signature-title-top{
  color:#f3f1ec;
  text-shadow:0 5px 24px rgba(0,0,0,.35);
}
.hero-signature-title-bottom{
  color:#d89a18;
  padding-left:.55em;
  text-shadow:0 5px 24px rgba(0,0,0,.42);
}
.hero-signature-summary{
  max-width:780px;
  margin-top:42px;
  padding-left:92px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:38px;
  align-items:end;
  border-left:1px solid rgba(216,154,24,.56);
}
.hero-signature-summary p{
  margin:0;
  color:#c7cac5;
  font-size:16px;
  line-height:1.75;
}
.hero-signature-actions{
  display:flex;
  flex-direction:column;
  gap:15px;
  min-width:235px;
}
.hero-signature-primary{
  min-height:58px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  background:#d89a18;
  color:#111;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:transform .2s ease,background .2s ease;
}
.hero-signature-primary:hover{
  transform:translateY(-3px);
  background:#e8aa2a;
}
.hero-signature-primary b{
  font-size:18px;
}
.hero-signature-text-link{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:0 2px 12px;
  border-bottom:1px solid rgba(255,255,255,.34);
  color:#f1efe9;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-signature-text-link:hover{
  color:#d89a18;
  border-color:#d89a18;
}
.hero-signature-panel{
  align-self:end;
  margin-bottom:22px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(8,10,10,.84);
  backdrop-filter:blur(16px);
  box-shadow:0 34px 90px rgba(0,0,0,.52);
}
.hero-signature-panel-top{
  padding:21px 22px 18px;
  border-bottom:1px solid rgba(216,154,24,.22);
}
.hero-signature-panel-top span{
  display:block;
  margin-bottom:6px;
  color:#d89a18;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-signature-panel-top strong{
  display:block;
  color:#f3f1ec;
  font:700 30px/.94 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-signature-panel-photo{
  position:relative;
  height:180px;
  overflow:hidden;
}
.hero-signature-panel-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(1.05);
}
.hero-signature-panel-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(7,8,8,.78),transparent 58%);
}
.hero-signature-panel-photo span{
  position:absolute;
  z-index:2;
  left:16px;
  bottom:13px;
  color:#eeeae1;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-signature-panel-list{
  padding:0 20px;
}
.hero-signature-panel-list div{
  min-height:48px;
  display:grid;
  grid-template-columns:35px 1fr;
  gap:10px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.hero-signature-panel-list div:last-child{
  border-bottom:0;
}
.hero-signature-panel-list span{
  color:#d89a18;
  font-size:8px;
  font-weight:800;
}
.hero-signature-panel-list b{
  color:#daddd8;
  font:600 17px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-signature-panel-footer{
  padding:15px 20px;
  border-top:1px solid rgba(216,154,24,.2);
  color:#7d837e;
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-signature-proof{
  position:relative;
  z-index:4;
  width:min(calc(100% - 130px),var(--max));
  margin:-32px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,7,7,.88);
  backdrop-filter:blur(14px);
}
.hero-signature-proof article{
  min-height:124px;
  padding:23px 26px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:16px;
  border-right:1px solid rgba(255,255,255,.10);
}
.hero-signature-proof article:last-child{
  border-right:0;
}
.hero-proof-number{
  color:#d89a18;
  font-size:10px;
  font-weight:900;
}
.hero-signature-proof strong{
  display:block;
  margin-bottom:5px;
  color:#f2f0eb;
  font:700 22px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-signature-proof p{
  margin:0;
  color:#909590;
  font-size:10px;
  line-height:1.55;
}
.hero-signature-marquee{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:0;
  height:62px;
  overflow:hidden;
  background:#d89a18;
  color:#111;
}
.hero-signature-marquee div{
  width:max-content;
  height:100%;
  display:flex;
  align-items:center;
  gap:28px;
  animation:hero-signature-scroll 32s linear infinite;
}
.hero-signature-marquee span{
  font:700 24px "Bebas Neue","Barlow Condensed",sans-serif;
  letter-spacing:.08em;
}
.hero-signature-marquee i{
  font-style:normal;
  font-size:12px;
}
@keyframes hero-signature-scroll{
  to{transform:translateX(-50%)}
}

@media(max-width:1160px){
  .hero-signature{
    min-height:1110px;
  }
  .hero-signature-inner{
    width:min(calc(100% - 70px),var(--max));
    grid-template-columns:1fr;
    gap:34px;
    padding-top:160px;
  }
  .hero-signature-panel{
    display:none;
  }
  .hero-signature-proof{
    width:min(calc(100% - 70px),var(--max));
  }
}
@media(max-width:760px){
  .hero-signature{
    min-height:auto;
    padding-bottom:62px;
  }
  .hero-signature-media{
    background-position:69% center;
  }
  .hero-signature-vignette{
    background:
      linear-gradient(90deg,rgba(3,4,4,.95),rgba(3,4,4,.72)),
      linear-gradient(0deg,rgba(3,4,4,.98),rgba(3,4,4,.18) 70%);
  }
  .hero-signature-rail{
    display:none;
  }
  .hero-signature-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:130px 0 50px;
  }
  .hero-signature-title{
    font-size:68px;
    line-height:.79;
    letter-spacing:.03em;
  }
  .hero-signature-title-bottom{
    padding-left:0;
  }
  .hero-signature-summary{
    margin-top:30px;
    padding-left:0;
    grid-template-columns:1fr;
    border-left:0;
  }
  .hero-signature-actions{
    min-width:0;
  }
  .hero-signature-proof{
    width:min(calc(100% - 36px),var(--max));
    margin:0 auto 24px;
    grid-template-columns:1fr;
  }
  .hero-signature-proof article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .hero-signature-proof article:last-child{
    border-bottom:0;
  }
}
@media(max-width:430px){
  .hero-signature-title{
    font-size:57px;
  }
}


/* =========================================================
   FLAGSHIP HERO — HIGH-END CONTRACTOR EXPERIENCE
   ========================================================= */
.hero-flagship{
  position:relative;
  min-height:1120px;
  overflow:hidden;
  background:#050606;
  color:#f3f1ec;
  isolation:isolate;
}
.hero-flagship-media{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 64% 50% / cover no-repeat;
  filter:saturate(.72) contrast(1.12) brightness(.72);
  transform:scale(1.035);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1);
}
.hero-flagship:hover .hero-flagship-media{
  transform:scale(1.055);
}
.hero-flagship-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 74% 36%,rgba(216,154,24,.16),transparent 24%),
    linear-gradient(90deg,rgba(3,4,4,.995) 0%,rgba(3,4,4,.95) 34%,rgba(3,4,4,.62) 58%,rgba(3,4,4,.16) 84%,rgba(3,4,4,.08) 100%),
    linear-gradient(0deg,rgba(3,4,4,.995) 0%,rgba(3,4,4,.64) 28%,rgba(3,4,4,.08) 67%);
}
.hero-flagship-grain{
  position:absolute;
  inset:0;
  opacity:.085;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-flagship-topline{
  position:absolute;
  z-index:4;
  top:118px;
  left:max(60px,calc((100vw - var(--max))/2));
  right:max(60px,calc((100vw - var(--max))/2));
  display:flex;
  align-items:center;
  gap:18px;
  color:#8f948f;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-flagship-topline i{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,rgba(216,154,24,.75),rgba(255,255,255,.08));
}
.hero-flagship-shell{
  position:relative;
  z-index:3;
  width:min(calc(100% - 120px),var(--max));
  min-height:920px;
  margin:auto;
  padding:185px 0 145px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 410px;
  gap:84px;
  align-items:center;
}
.hero-flagship-main{
  max-width:1020px;
}
.hero-flagship-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#d7dad5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-flagship-kicker-index{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,154,24,.55);
  color:#d89a18;
}
.hero-flagship-title{
  margin:34px 0 0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(104px,10.5vw,176px);
  font-weight:400;
  line-height:.73;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.hero-flagship-line{
  display:block;
}
.hero-flagship-line-light{
  color:#f3f1ec;
  text-shadow:0 6px 30px rgba(0,0,0,.38);
}
.hero-flagship-line-gold{
  padding-left:.58em;
  color:#d89a18;
  text-shadow:0 6px 30px rgba(0,0,0,.46);
}
.hero-flagship-copyrow{
  max-width:860px;
  margin-top:48px;
  padding-left:94px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:45px;
  align-items:end;
  border-left:1px solid rgba(216,154,24,.52);
}
.hero-flagship-copyrow p{
  margin:0;
  color:#c4c8c3;
  font-size:16px;
  line-height:1.75;
}
.hero-flagship-ctas{
  display:flex;
  flex-direction:column;
  gap:15px;
}
.hero-flagship-cta-primary{
  min-height:60px;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  background:#d89a18;
  color:#111;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:transform .2s ease,background .2s ease;
}
.hero-flagship-cta-primary:hover{
  transform:translateY(-3px);
  background:#e8ab2a;
}
.hero-flagship-cta-primary b{
  font-size:18px;
}
.hero-flagship-cta-secondary{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:0 2px 12px;
  border-bottom:1px solid rgba(255,255,255,.34);
  color:#eeece6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-flagship-cta-secondary:hover{
  color:#d89a18;
  border-color:#d89a18;
}
.hero-flagship-project{
  align-self:end;
  margin-bottom:58px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,10,10,.84);
  backdrop-filter:blur(18px);
  box-shadow:0 34px 95px rgba(0,0,0,.55);
}
.hero-flagship-project-meta{
  padding:22px 23px 19px;
  border-bottom:1px solid rgba(216,154,24,.22);
}
.hero-flagship-project-meta span{
  display:block;
  margin-bottom:7px;
  color:#d89a18;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-flagship-project-meta strong{
  color:#f3f1ec;
  font:700 31px/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-flagship-project-image{
  position:relative;
  height:220px;
  overflow:hidden;
}
.hero-flagship-project-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.76) contrast(1.06);
  transition:transform .6s ease;
}
.hero-flagship-project:hover .hero-flagship-project-image img{
  transform:scale(1.045);
}
.hero-flagship-project-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(7,8,8,.82),transparent 58%);
}
.hero-flagship-project-badge{
  position:absolute;
  z-index:2;
  left:17px;
  bottom:15px;
}
.hero-flagship-project-badge span{
  display:block;
  color:#a9ada8;
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-flagship-project-badge strong{
  display:block;
  color:#f0eee7;
  font:700 19px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-flagship-project-stats{
  padding:0 22px;
}
.hero-flagship-project-stats div{
  min-height:50px;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:15px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.hero-flagship-project-stats div:last-child{
  border-bottom:0;
}
.hero-flagship-project-stats span{
  color:#777d78;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-flagship-project-stats strong{
  color:#d9dcd7;
  font-size:11px;
}
.hero-flagship-bottom{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:64px;
}
.hero-flagship-services{
  width:min(calc(100% - 120px),var(--max));
  margin:auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,7,7,.88);
  backdrop-filter:blur(16px);
}
.hero-flagship-services article{
  min-height:74px;
  padding:16px 18px;
  border-right:1px solid rgba(255,255,255,.10);
}
.hero-flagship-services article:last-child{
  border-right:0;
}
.hero-flagship-services span{
  display:block;
  margin-bottom:5px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
}
.hero-flagship-services strong{
  color:#f0eee8;
  font:700 18px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-flagship-trust{
  width:min(calc(100% - 120px),var(--max));
  margin:0 auto;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  border-top:1px solid rgba(216,154,24,.32);
  color:#8d928d;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-flagship-trust span{
  position:relative;
}
.hero-flagship-trust span+span:before{
  content:"";
  position:absolute;
  left:-18px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d89a18;
  transform:translateY(-50%);
}
.hero-flagship-scroll{
  position:absolute;
  z-index:6;
  right:max(40px,calc((100vw - var(--max))/2));
  bottom:10px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-flagship-scroll b{
  font-size:14px;
  animation:flagship-bounce 1.8s ease-in-out infinite;
}
@keyframes flagship-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}

@media(max-width:1180px){
  .hero-flagship{
    min-height:1120px;
  }
  .hero-flagship-shell{
    width:min(calc(100% - 70px),var(--max));
    grid-template-columns:1fr;
    gap:30px;
    padding-top:170px;
  }
  .hero-flagship-project{
    display:none;
  }
  .hero-flagship-services,
  .hero-flagship-trust{
    width:min(calc(100% - 70px),var(--max));
  }
}
@media(max-width:760px){
  .hero-flagship{
    min-height:auto;
    padding-bottom:110px;
  }
  .hero-flagship-media{
    background-position:70% center;
  }
  .hero-flagship-overlay{
    background:
      linear-gradient(90deg,rgba(3,4,4,.96),rgba(3,4,4,.72)),
      linear-gradient(0deg,rgba(3,4,4,.99),rgba(3,4,4,.18) 70%);
  }
  .hero-flagship-topline{
    display:none;
  }
  .hero-flagship-shell{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:128px 0 54px;
  }
  .hero-flagship-title{
    font-size:68px;
    line-height:.79;
    letter-spacing:.03em;
  }
  .hero-flagship-line-gold{
    padding-left:0;
  }
  .hero-flagship-copyrow{
    margin-top:31px;
    padding-left:0;
    grid-template-columns:1fr;
    border-left:0;
  }
  .hero-flagship-bottom{
    position:relative;
    bottom:auto;
  }
  .hero-flagship-services{
    width:min(calc(100% - 36px),var(--max));
    grid-template-columns:repeat(2,1fr);
  }
  .hero-flagship-services article{
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .hero-flagship-trust{
    width:min(calc(100% - 36px),var(--max));
    padding:12px 0;
    flex-wrap:wrap;
    gap:12px 25px;
  }
  .hero-flagship-scroll{
    display:none;
  }
}
@media(max-width:430px){
  .hero-flagship-title{
    font-size:56px;
  }
}


/* =========================================================
   ATELIER HERO — ULTRA-PREMIUM CONTRACTOR EXPERIENCE
   ========================================================= */
.hero-atelier{
  position:relative;
  min-height:1180px;
  overflow:hidden;
  isolation:isolate;
  background:#050606;
  color:#f3f1ec;
}
.hero-atelier-media{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 64% 48% / cover no-repeat;
  filter:saturate(.68) contrast(1.15) brightness(.69);
  transform:scale(1.04);
  transition:transform 1.6s cubic-bezier(.2,.72,.2,1);
}
.hero-atelier:hover .hero-atelier-media{
  transform:scale(1.06);
}
.hero-atelier-shadow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 73% 35%,rgba(216,154,24,.17),transparent 23%),
    linear-gradient(90deg,rgba(2,3,3,.998) 0%,rgba(2,3,3,.955) 33%,rgba(2,3,3,.61) 58%,rgba(2,3,3,.15) 84%,rgba(2,3,3,.06) 100%),
    linear-gradient(0deg,rgba(2,3,3,.998) 0%,rgba(2,3,3,.68) 26%,rgba(2,3,3,.08) 68%);
}
.hero-atelier-noise{
  position:absolute;
  inset:0;
  opacity:.075;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.46'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-atelier-frame{
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
}
.hero-atelier-frame span{
  position:absolute;
  display:block;
  background:rgba(255,255,255,.10);
}
.hero-atelier-frame-top{
  top:118px;
  left:max(60px,calc((100vw - var(--max))/2));
  right:max(60px,calc((100vw - var(--max))/2));
  height:1px;
}
.hero-atelier-frame-left{
  top:118px;
  bottom:160px;
  left:max(60px,calc((100vw - var(--max))/2));
  width:1px;
}
.hero-atelier-frame-right{
  top:118px;
  bottom:160px;
  right:max(60px,calc((100vw - var(--max))/2));
  width:1px;
}
.hero-atelier-meta{
  position:absolute;
  z-index:4;
  top:88px;
  left:max(60px,calc((100vw - var(--max))/2));
  right:max(60px,calc((100vw - var(--max))/2));
  display:flex;
  align-items:center;
  gap:16px;
  color:#7f857f;
  font-size:8px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-atelier-meta i{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,rgba(216,154,24,.75),rgba(255,255,255,.05));
}
.hero-atelier-shell{
  position:relative;
  z-index:3;
  width:min(calc(100% - 150px),var(--max));
  min-height:960px;
  margin:auto;
  padding:175px 0 160px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:92px;
  align-items:center;
}
.hero-atelier-copy{
  max-width:1060px;
}
.hero-atelier-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#d6d9d4;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-atelier-kicker span{
  display:flex;
  align-items:center;
  gap:14px;
}
.hero-atelier-kicker span:before{
  content:"";
  width:48px;
  height:2px;
  background:#d89a18;
}
.hero-atelier-kicker b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,154,24,.50);
  color:#d89a18;
  font-size:8px;
}
.hero-atelier-title{
  margin:35px 0 0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(108px,10.9vw,182px);
  font-weight:400;
  line-height:.72;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero-atelier-title span{
  display:block;
}
.hero-atelier-title-light{
  color:#f3f1ec;
  text-shadow:0 8px 34px rgba(0,0,0,.40);
}
.hero-atelier-title-gold{
  padding-left:.62em;
  color:#d89a18;
  text-shadow:0 8px 34px rgba(0,0,0,.48);
}
.hero-atelier-body{
  max-width:900px;
  margin-top:50px;
  padding-left:96px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 255px;
  gap:48px;
  align-items:end;
  border-left:1px solid rgba(216,154,24,.50);
}
.hero-atelier-body p{
  margin:0;
  color:#c3c7c2;
  font-size:16px;
  line-height:1.78;
}
.hero-atelier-actions{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.hero-atelier-primary{
  min-height:62px;
  padding:0 21px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  background:#d89a18;
  color:#111;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:transform .22s ease,background .22s ease;
}
.hero-atelier-primary:hover{
  transform:translateY(-3px);
  background:#e7aa29;
}
.hero-atelier-primary b{
  font-size:18px;
}
.hero-atelier-secondary{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:0 2px 13px;
  border-bottom:1px solid rgba(255,255,255,.34);
  color:#efede7;
  font-size:9px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-atelier-secondary:hover{
  color:#d89a18;
  border-color:#d89a18;
}
.hero-atelier-story{
  align-self:end;
  margin-bottom:58px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(7,9,9,.86);
  backdrop-filter:blur(20px);
  box-shadow:0 36px 110px rgba(0,0,0,.58);
}
.hero-atelier-story-head{
  padding:23px 24px 20px;
  border-bottom:1px solid rgba(216,154,24,.22);
}
.hero-atelier-story-head span{
  display:block;
  margin-bottom:8px;
  color:#d89a18;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-atelier-story-head strong{
  color:#f3f1ec;
  font:700 31px/.95 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-atelier-story-image{
  position:relative;
  height:240px;
  overflow:hidden;
}
.hero-atelier-story-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(1.06);
  transition:transform .7s cubic-bezier(.2,.7,.2,1);
}
.hero-atelier-story:hover .hero-atelier-story-image img{
  transform:scale(1.05);
}
.hero-atelier-story-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(6,8,8,.84),transparent 60%);
}
.hero-atelier-story-mark{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:16px;
}
.hero-atelier-story-mark span{
  display:block;
  color:#a8aca7;
  font-size:7px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-atelier-story-mark b{
  display:block;
  margin-top:3px;
  color:#f0eee7;
  font:700 19px "Barlow Condensed",sans-serif;
}
.hero-atelier-story-footer{
  padding:0 22px;
}
.hero-atelier-story-footer div{
  min-height:52px;
  display:grid;
  grid-template-columns:95px 1fr;
  gap:14px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.hero-atelier-story-footer div:last-child{
  border-bottom:0;
}
.hero-atelier-story-footer span{
  color:#767c77;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-atelier-story-footer strong{
  color:#d9dcd7;
  font-size:11px;
}
.hero-atelier-navline{
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:62px;
}
.hero-atelier-service-index{
  width:min(calc(100% - 150px),var(--max));
  margin:auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border:1px solid rgba(255,255,255,.13);
  background:rgba(5,7,7,.90);
  backdrop-filter:blur(18px);
}
.hero-atelier-service-index article{
  min-height:78px;
  padding:17px 18px;
  border-right:1px solid rgba(255,255,255,.09);
}
.hero-atelier-service-index article:last-child{
  border-right:0;
}
.hero-atelier-service-index span{
  display:block;
  margin-bottom:6px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
}
.hero-atelier-service-index strong{
  color:#f0eee8;
  font:700 18px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-atelier-assurance{
  width:min(calc(100% - 150px),var(--max));
  min-height:42px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  border-top:1px solid rgba(216,154,24,.30);
  color:#8c918c;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-atelier-assurance span{
  position:relative;
}
.hero-atelier-assurance span+span:before{
  content:"";
  position:absolute;
  left:-18px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d89a18;
  transform:translateY(-50%);
}
.hero-atelier-progress{
  position:absolute;
  z-index:6;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:rgba(255,255,255,.06);
}
.hero-atelier-progress span{
  display:block;
  width:28%;
  height:100%;
  background:linear-gradient(90deg,#d89a18,#f1b634);
  animation:hero-atelier-progress 8s ease-in-out infinite alternate;
}
@keyframes hero-atelier-progress{
  from{width:18%}
  to{width:72%}
}
.hero-atelier-scroll{
  position:absolute;
  z-index:7;
  right:max(42px,calc((100vw - var(--max))/2));
  bottom:14px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-atelier-scroll b{
  font-size:14px;
  animation:hero-atelier-bounce 1.8s ease-in-out infinite;
}
@keyframes hero-atelier-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}

@media(max-width:1200px){
  .hero-atelier{
    min-height:1140px;
  }
  .hero-atelier-shell{
    width:min(calc(100% - 80px),var(--max));
    grid-template-columns:1fr;
    gap:34px;
    padding-top:165px;
  }
  .hero-atelier-story{
    display:none;
  }
  .hero-atelier-frame-left,
  .hero-atelier-frame-right{
    display:none;
  }
  .hero-atelier-service-index,
  .hero-atelier-assurance{
    width:min(calc(100% - 80px),var(--max));
  }
}
@media(max-width:760px){
  .hero-atelier{
    min-height:auto;
    padding-bottom:110px;
  }
  .hero-atelier-media{
    background-position:70% center;
  }
  .hero-atelier-shadow{
    background:
      linear-gradient(90deg,rgba(2,3,3,.96),rgba(2,3,3,.72)),
      linear-gradient(0deg,rgba(2,3,3,.99),rgba(2,3,3,.18) 70%);
  }
  .hero-atelier-meta,
  .hero-atelier-frame{
    display:none;
  }
  .hero-atelier-shell{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:128px 0 56px;
  }
  .hero-atelier-title{
    font-size:68px;
    line-height:.79;
    letter-spacing:.03em;
  }
  .hero-atelier-title-gold{
    padding-left:0;
  }
  .hero-atelier-body{
    margin-top:31px;
    padding-left:0;
    grid-template-columns:1fr;
    border-left:0;
  }
  .hero-atelier-navline{
    position:relative;
    bottom:auto;
  }
  .hero-atelier-service-index{
    width:min(calc(100% - 36px),var(--max));
    grid-template-columns:repeat(2,1fr);
  }
  .hero-atelier-service-index article{
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .hero-atelier-assurance{
    width:min(calc(100% - 36px),var(--max));
    padding:12px 0;
    flex-wrap:wrap;
    gap:12px 25px;
  }
  .hero-atelier-scroll{
    display:none;
  }
}
@media(max-width:430px){
  .hero-atelier-title{
    font-size:56px;
  }
}


/* =========================================================
   MONUMENT HERO — ULTRA-LUXURY CONTRACTOR ART DIRECTION
   ========================================================= */
.hero-monument{
  position:relative;
  min-height:1220px;
  overflow:hidden;
  isolation:isolate;
  background:#030404;
  color:#f3f1ec;
}
.hero-monument-media{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 66% 48% / cover no-repeat;
  filter:saturate(.65) contrast(1.18) brightness(.66);
  transform:scale(1.045);
  transition:transform 1.8s cubic-bezier(.2,.72,.2,1);
}
.hero-monument:hover .hero-monument-media{
  transform:scale(1.065);
}
.hero-monument-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 76% 33%,rgba(216,154,24,.18),transparent 22%),
    linear-gradient(90deg,rgba(1,2,2,.999) 0%,rgba(1,2,2,.965) 32%,rgba(1,2,2,.67) 58%,rgba(1,2,2,.17) 84%,rgba(1,2,2,.05) 100%),
    linear-gradient(0deg,rgba(1,2,2,.999) 0%,rgba(1,2,2,.73) 26%,rgba(1,2,2,.05) 68%);
}
.hero-monument-grain{
  position:absolute;
  inset:0;
  opacity:.065;
  mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.96' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-monument-headerline{
  position:absolute;
  z-index:5;
  top:96px;
  left:max(64px,calc((100vw - var(--max))/2));
  right:max(64px,calc((100vw - var(--max))/2));
  display:flex;
  align-items:center;
  gap:18px;
  color:#777d78;
  font-size:8px;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.hero-monument-headerline i{
  height:1px;
  flex:1;
  background:linear-gradient(90deg,rgba(216,154,24,.78),rgba(255,255,255,.04));
}
.hero-monument-shell{
  position:relative;
  z-index:4;
  width:min(calc(100% - 160px),var(--max));
  min-height:980px;
  margin:auto;
  padding:170px 0 170px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:100px;
  align-items:center;
}
.hero-monument-copy{
  max-width:1100px;
}
.hero-monument-kicker{
  display:flex;
  align-items:center;
  gap:14px;
  color:#d7dad5;
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-monument-kicker span{
  display:flex;
  align-items:center;
  gap:14px;
}
.hero-monument-kicker span:before{
  content:"";
  width:52px;
  height:2px;
  background:#d89a18;
}
.hero-monument-kicker b{
  color:#888e89;
  font-weight:800;
}
.hero-monument-title{
  margin:36px 0 0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(112px,11.4vw,190px);
  font-weight:400;
  line-height:.68;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.hero-monument-title span{
  display:block;
}
.hero-monument-line-light{
  color:#f3f1ec;
  text-shadow:0 10px 40px rgba(0,0,0,.44);
}
.hero-monument-line-gold{
  color:#d89a18;
  padding-left:.58em;
  text-shadow:0 10px 40px rgba(0,0,0,.52);
}
.hero-monument-bottomcopy{
  max-width:940px;
  margin-top:56px;
  padding-left:104px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:54px;
  align-items:end;
  border-left:1px solid rgba(216,154,24,.5);
}
.hero-monument-bottomcopy p{
  margin:0;
  color:#c2c6c1;
  font-size:16px;
  line-height:1.8;
}
.hero-monument-actions{
  display:flex;
  flex-direction:column;
  gap:17px;
}
.hero-monument-primary{
  min-height:64px;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:#d89a18;
  color:#111;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:transform .22s ease,background .22s ease;
}
.hero-monument-primary:hover{
  transform:translateY(-4px);
  background:#ecad2b;
}
.hero-monument-primary b{
  font-size:19px;
}
.hero-monument-secondary{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:0 2px 13px;
  border-bottom:1px solid rgba(255,255,255,.33);
  color:#efede7;
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-monument-secondary:hover{
  color:#d89a18;
  border-color:#d89a18;
}
.hero-monument-card{
  align-self:end;
  margin-bottom:68px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(6,8,8,.87);
  backdrop-filter:blur(22px);
  box-shadow:0 42px 120px rgba(0,0,0,.62);
  transition:transform .45s cubic-bezier(.2,.72,.2,1);
}
.hero-monument-card-image{
  position:relative;
  height:270px;
  overflow:hidden;
}
.hero-monument-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.68) contrast(1.08);
  transition:transform .75s cubic-bezier(.2,.72,.2,1);
}
.hero-monument-card:hover .hero-monument-card-image img{
  transform:scale(1.055);
}
.hero-monument-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,6,6,.86),transparent 58%);
}
.hero-monument-card-tag{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
}
.hero-monument-card-tag span{
  display:block;
  color:#9ea39e;
  font-size:7px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.hero-monument-card-tag strong{
  display:block;
  margin-top:4px;
  color:#f1efe8;
  font:700 25px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-monument-card-details{
  padding:0 22px;
}
.hero-monument-card-details div{
  min-height:52px;
  display:grid;
  grid-template-columns:35px 1fr;
  gap:12px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.hero-monument-card-details div:last-child{
  border-bottom:0;
}
.hero-monument-card-details span{
  color:#d89a18;
  font-size:8px;
  font-weight:900;
}
.hero-monument-card-details b{
  color:#d9dcd7;
  font:600 18px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-monument-card-footer{
  padding:15px 22px;
  border-top:1px solid rgba(216,154,24,.20);
  color:#747a75;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-monument-servicebar{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:84px;
  width:min(calc(100% - 160px),var(--max));
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border:1px solid rgba(255,255,255,.13);
  background:rgba(4,6,6,.92);
  backdrop-filter:blur(20px);
}
.hero-monument-servicebar article{
  min-height:82px;
  padding:18px 20px;
  border-right:1px solid rgba(255,255,255,.085);
}
.hero-monument-servicebar article:last-child{
  border-right:0;
}
.hero-monument-servicebar span{
  display:block;
  margin-bottom:7px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
}
.hero-monument-servicebar strong{
  color:#f0eee8;
  font:700 19px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-monument-status{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:40px;
  width:min(calc(100% - 160px),var(--max));
  min-height:42px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:36px;
  border-top:1px solid rgba(216,154,24,.28);
  color:#898f8a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-monument-status span{
  position:relative;
}
.hero-monument-status span+span:before{
  content:"";
  position:absolute;
  left:-19px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d89a18;
  transform:translateY(-50%);
}
.hero-monument-scroll{
  position:absolute;
  z-index:7;
  right:max(44px,calc((100vw - var(--max))/2));
  bottom:14px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-monument-scroll b{
  font-size:14px;
  animation:hero-monument-bounce 1.8s ease-in-out infinite;
}
@keyframes hero-monument-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}
.hero-monument-cursor{
  position:absolute;
  z-index:8;
  width:28px;
  height:28px;
  border:1px solid rgba(216,154,24,.65);
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%);
  transition:opacity .2s ease;
}
.hero-monument:hover .hero-monument-cursor{
  opacity:1;
}

@media(max-width:1220px){
  .hero-monument{
    min-height:1160px;
  }
  .hero-monument-shell{
    width:min(calc(100% - 80px),var(--max));
    grid-template-columns:1fr;
    gap:34px;
    padding-top:165px;
  }
  .hero-monument-card{
    display:none;
  }
  .hero-monument-servicebar,
  .hero-monument-status{
    width:min(calc(100% - 80px),var(--max));
  }
}
@media(max-width:760px){
  .hero-monument{
    min-height:auto;
    padding-bottom:116px;
  }
  .hero-monument-media{
    background-position:71% center;
  }
  .hero-monument-overlay{
    background:
      linear-gradient(90deg,rgba(1,2,2,.97),rgba(1,2,2,.72)),
      linear-gradient(0deg,rgba(1,2,2,.99),rgba(1,2,2,.18) 70%);
  }
  .hero-monument-headerline,
  .hero-monument-cursor{
    display:none;
  }
  .hero-monument-shell{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:128px 0 58px;
  }
  .hero-monument-title{
    font-size:68px;
    line-height:.77;
    letter-spacing:.035em;
  }
  .hero-monument-line-gold{
    padding-left:0;
  }
  .hero-monument-bottomcopy{
    margin-top:32px;
    padding-left:0;
    grid-template-columns:1fr;
    border-left:0;
  }
  .hero-monument-servicebar{
    position:relative;
    left:auto;
    bottom:auto;
    width:min(calc(100% - 36px),var(--max));
    margin:auto;
    transform:none;
    grid-template-columns:repeat(2,1fr);
  }
  .hero-monument-servicebar article{
    border-bottom:1px solid rgba(255,255,255,.085);
  }
  .hero-monument-status{
    position:relative;
    left:auto;
    bottom:auto;
    width:min(calc(100% - 36px),var(--max));
    margin:auto;
    padding:12px 0;
    transform:none;
    flex-wrap:wrap;
    gap:12px 25px;
  }
  .hero-monument-scroll{
    display:none;
  }
}
@media(max-width:430px){
  .hero-monument-title{
    font-size:56px;
  }
}


/* =========================================================
   QUIET LUXURY HERO — CLEAN, RESTRAINED, PREMIUM
   ========================================================= */
.hero-quiet-luxury{
  position:relative;
  min-height:920px;
  overflow:hidden;
  background:#050606;
  color:#f3f1ec;
}
.hero-quiet-luxury-media{
  position:absolute;
  inset:0;
  background:url("assets/hero.jpg") 64% 50% / cover no-repeat;
  filter:saturate(.72) contrast(1.1) brightness(.76);
  transform:scale(1.02);
}
.hero-quiet-luxury-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,4,4,.98) 0%,rgba(3,4,4,.93) 36%,rgba(3,4,4,.58) 60%,rgba(3,4,4,.16) 86%,rgba(3,4,4,.08) 100%),
    linear-gradient(0deg,rgba(3,4,4,.94) 0%,rgba(3,4,4,.25) 45%,transparent 75%);
}
.hero-quiet-luxury-inner{
  position:relative;
  z-index:2;
  width:min(calc(100% - 120px),var(--max));
  min-height:920px;
  margin:auto;
  padding:135px 0 38px;
  display:flex;
  flex-direction:column;
}
.hero-quiet-luxury-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.13);
  color:#858a85;
  font-size:8px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.hero-quiet-luxury-main{
  flex:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:90px;
  align-items:center;
}
.hero-quiet-luxury-copy{
  max-width:980px;
}
.hero-quiet-luxury-kicker{
  margin:0 0 24px;
  color:#d89a18;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero-quiet-luxury h1{
  margin:0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(96px,9.6vw,164px);
  font-weight:400;
  line-height:.78;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.hero-quiet-luxury h1 span,
.hero-quiet-luxury h1 em{
  display:block;
}
.hero-quiet-luxury h1 span{
  color:#f3f1ec;
}
.hero-quiet-luxury h1 em{
  color:#d89a18;
  font-style:normal;
}
.hero-quiet-luxury-intro{
  max-width:700px;
  margin:32px 0 0;
  color:#c9ccc7;
  font-size:16px;
  line-height:1.75;
}
.hero-quiet-luxury-actions{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:34px;
}
.hero-quiet-luxury-primary,
.hero-quiet-luxury-secondary{
  min-height:58px;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:all .2s ease;
}
.hero-quiet-luxury-primary{
  min-width:250px;
  background:#d89a18;
  color:#111;
}
.hero-quiet-luxury-primary:hover{
  transform:translateY(-2px);
  background:#e8aa2a;
}
.hero-quiet-luxury-secondary{
  min-width:230px;
  color:#f3f1ec;
  border:1px solid rgba(255,255,255,.38);
  background:rgba(4,6,6,.26);
}
.hero-quiet-luxury-secondary:hover{
  transform:translateY(-2px);
  border-color:#d89a18;
  color:#d89a18;
}
.hero-quiet-luxury-side{
  align-self:center;
  border-left:1px solid rgba(216,154,24,.42);
  padding-left:28px;
}
.hero-quiet-luxury-number{
  margin-bottom:22px;
}
.hero-quiet-luxury-number span{
  display:block;
  margin-bottom:7px;
  color:#d89a18;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.hero-quiet-luxury-number strong{
  color:#f1efe9;
  font:700 26px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-quiet-luxury-side ul{
  margin:0;
  padding:0;
  list-style:none;
}
.hero-quiet-luxury-side li{
  min-height:46px;
  display:grid;
  grid-template-columns:36px 1fr;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.09);
  color:#d8dbd6;
  font:600 17px "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.hero-quiet-luxury-side li span{
  color:#d89a18;
  font:800 8px Inter,Arial,sans-serif;
}
.hero-quiet-luxury-bottom{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  border-top:1px solid rgba(255,255,255,.13);
}
.hero-quiet-luxury-trust{
  display:flex;
  align-items:center;
  gap:34px;
  color:#8f948f;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-quiet-luxury-trust span{
  position:relative;
}
.hero-quiet-luxury-trust span+span::before{
  content:"";
  position:absolute;
  left:-18px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#d89a18;
  transform:translateY(-50%);
}
.hero-quiet-luxury-scroll{
  display:flex;
  align-items:center;
  gap:14px;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hero-quiet-luxury-scroll b{
  font-size:14px;
  animation:quiet-luxury-bounce 1.8s ease-in-out infinite;
}
@keyframes quiet-luxury-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(5px)}
}

@media(max-width:1050px){
  .hero-quiet-luxury-inner{
    width:min(calc(100% - 70px),var(--max));
  }
  .hero-quiet-luxury-main{
    grid-template-columns:1fr;
  }
  .hero-quiet-luxury-side{
    display:none;
  }
}
@media(max-width:760px){
  .hero-quiet-luxury{
    min-height:auto;
  }
  .hero-quiet-luxury-media{
    background-position:70% center;
  }
  .hero-quiet-luxury-overlay{
    background:
      linear-gradient(90deg,rgba(3,4,4,.96),rgba(3,4,4,.72)),
      linear-gradient(0deg,rgba(3,4,4,.98),rgba(3,4,4,.16) 70%);
  }
  .hero-quiet-luxury-inner{
    width:min(calc(100% - 36px),var(--max));
    min-height:auto;
    padding:110px 0 26px;
  }
  .hero-quiet-luxury-top{
    display:none;
  }
  .hero-quiet-luxury-main{
    padding:35px 0 60px;
  }
  .hero-quiet-luxury h1{
    font-size:68px;
    line-height:.8;
  }
  .hero-quiet-luxury-intro{
    font-size:14px;
  }
  .hero-quiet-luxury-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .hero-quiet-luxury-primary,
  .hero-quiet-luxury-secondary{
    width:100%;
  }
  .hero-quiet-luxury-bottom{
    align-items:flex-start;
    flex-direction:column;
    padding:20px 0;
  }
  .hero-quiet-luxury-trust{
    flex-wrap:wrap;
    gap:12px 25px;
  }
}
@media(max-width:430px){
  .hero-quiet-luxury h1{
    font-size:56px;
  }
}


/* =========================================================
   C&S ABOUT V3 — FULLY ISOLATED WHO WE ARE SECTION
   ========================================================= */
.cs-about-v3,
.cs-about-v3 *{
  box-sizing:border-box;
}
.cs-about-v3{
  position:relative;
  overflow:hidden;
  background:#070808;
  color:#f3f1ec;
}
.cs-about-v3::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 18%,rgba(216,154,24,.045),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 30%);
}
.cs-about-v3__inner{
  position:relative;
  z-index:1;
}
.cs-about-v3__top{
  width:min(calc(100% - 120px),var(--max));
  margin:auto;
  padding:118px 0 92px;
  display:grid;
  grid-template-columns:minmax(450px,.78fr) minmax(620px,1.22fr);
  gap:82px;
  align-items:center;
}
.cs-about-v3__copy{
  min-width:0;
}
.cs-about-v3__section-label{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:34px;
  color:#f3f1ec;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.cs-about-v3__section-label span{
  color:#d89a18;
}
.cs-about-v3__section-label i{
  width:36px;
  height:1px;
  flex:0 0 auto;
  background:#d89a18;
}
.cs-about-v3__section-label strong{
  font-size:inherit;
  font-weight:900;
}
.cs-about-v3__eyebrow{
  margin:0 0 18px;
  color:#d89a18;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cs-about-v3__title{
  margin:0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(76px,6.6vw,112px);
  font-weight:400;
  line-height:.81;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.cs-about-v3__title span,
.cs-about-v3__title em{
  display:block;
}
.cs-about-v3__title span{
  color:#f3f1ec;
}
.cs-about-v3__title em{
  color:#d89a18;
  font-style:normal;
}
.cs-about-v3__intro{
  max-width:570px;
  margin:28px 0 0;
  color:#bec2bd;
  font-size:15px;
  line-height:1.78;
}
.cs-about-v3__credentials{
  margin-top:27px;
  display:flex;
  flex-wrap:wrap;
  gap:0;
}
.cs-about-v3__credentials>span{
  min-height:42px;
  padding:0 18px;
  display:flex;
  align-items:center;
  gap:9px;
  border-right:1px solid rgba(255,255,255,.13);
  color:#e1e3de;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.cs-about-v3__credentials>span:first-child{
  padding-left:0;
}
.cs-about-v3__credentials>span:last-child{
  border-right:0;
}
.cs-about-v3__credentials svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:#d89a18;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cs-about-v3__visual{
  position:relative;
  min-width:0;
  padding-bottom:145px;
}
.cs-about-v3__photo{
  position:relative;
  height:570px;
  margin:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
}
.cs-about-v3__photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg,rgba(4,6,6,.46),transparent 50%),
    linear-gradient(90deg,rgba(4,6,6,.12),transparent 40%);
}
.cs-about-v3__photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.78) contrast(1.06);
  transition:transform .8s cubic-bezier(.2,.72,.2,1);
}
.cs-about-v3__visual:hover .cs-about-v3__photo img{
  transform:scale(1.025);
}
.cs-about-v3__capability-card{
  position:absolute;
  left:34px;
  right:34px;
  bottom:0;
  min-height:210px;
  padding:31px 34px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);
  gap:34px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(16,17,16,.96);
  box-shadow:0 30px 90px rgba(0,0,0,.48);
}
.cs-about-v3__capability-copy{
  padding-right:34px;
  border-right:1px solid rgba(255,255,255,.13);
}
.cs-about-v3__capability-copy p{
  margin:0 0 15px;
  color:#d89a18;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.cs-about-v3__capability-copy h3{
  margin:0;
  color:#f3f1ec;
  font:600 27px/1.28 Inter,Arial,sans-serif;
}
.cs-about-v3__capability-list{
  margin:0;
  padding:0;
  display:grid;
  align-content:center;
  gap:11px;
  list-style:none;
}
.cs-about-v3__capability-list li{
  position:relative;
  padding-left:26px;
  color:#d4d7d2;
  font-size:12px;
  line-height:1.3;
}
.cs-about-v3__capability-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border:1px solid #d89a18;
  border-radius:50%;
  color:#d89a18;
  font-size:9px;
  font-weight:900;
}
.cs-about-v3__bottom{
  display:grid;
  grid-template-columns:1.42fr .75fr;
  border-top:1px solid rgba(255,255,255,.10);
}
.cs-about-v3__pillars{
  padding-left:max(60px,calc((100vw - var(--max))/2));
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.cs-about-v3__pillars article{
  min-height:315px;
  padding:47px 38px 42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.10);
}
.cs-about-v3__pillars article:first-child{
  padding-left:0;
}
.cs-about-v3__pillar-icon{
  width:62px;
  height:62px;
  margin-bottom:19px;
}
.cs-about-v3__pillar-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:#d89a18;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cs-about-v3__pillars h3{
  margin:0;
  color:#f3f1ec;
  font:700 24px "Barlow Condensed",sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.cs-about-v3__pillars article>i{
  width:38px;
  height:1px;
  margin:15px 0;
  background:#d89a18;
}
.cs-about-v3__pillars p{
  max-width:235px;
  margin:0;
  color:#999e99;
  font-size:11px;
  line-height:1.7;
}
.cs-about-v3__statement{
  position:relative;
  overflow:hidden;
  padding:55px max(60px,calc((100vw - var(--max))/2)) 50px 55px;
  border-left:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(135deg,rgba(216,154,24,.035),transparent 46%),
    #111313;
}
.cs-about-v3__statement::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.075;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.cs-about-v3__statement>*{
  position:relative;
  z-index:1;
}
.cs-about-v3__quote-mark{
  display:block;
  height:39px;
  color:#d89a18;
  font:700 54px Georgia,serif;
  line-height:1;
}
.cs-about-v3__statement h3{
  margin:0;
  color:#f3f1ec;
  font:700 31px/1.08 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.cs-about-v3__statement>i{
  width:44px;
  height:2px;
  display:block;
  margin:19px 0;
  background:#d89a18;
}
.cs-about-v3__statement p{
  max-width:420px;
  margin:0;
  color:#aeb2ad;
  font-size:12px;
  line-height:1.75;
}
.cs-about-v3__statement strong{
  display:block;
  margin-top:24px;
  color:#d89a18;
  font:italic 35px Georgia,serif;
}
.cs-about-v3__statement small{
  display:block;
  margin-top:6px;
  color:#858b86;
  font-size:8px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

@media(max-width:1220px){
  .cs-about-v3__top{
    width:min(calc(100% - 70px),var(--max));
    grid-template-columns:1fr;
    gap:54px;
  }
  .cs-about-v3__copy{
    max-width:780px;
  }
  .cs-about-v3__visual{
    width:100%;
  }
  .cs-about-v3__bottom{
    grid-template-columns:1fr;
  }
  .cs-about-v3__pillars{
    padding:0 35px;
  }
  .cs-about-v3__statement{
    padding:48px 35px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.10);
  }
}
@media(max-width:820px){
  .cs-about-v3__top{
    width:min(calc(100% - 36px),var(--max));
    padding:82px 0 62px;
  }
  .cs-about-v3__title{
    font-size:65px;
  }
  .cs-about-v3__credentials{
    display:grid;
    grid-template-columns:1fr;
  }
  .cs-about-v3__credentials>span,
  .cs-about-v3__credentials>span:first-child{
    min-height:38px;
    padding:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .cs-about-v3__credentials>span:last-child{
    border-bottom:0;
  }
  .cs-about-v3__visual{
    padding-bottom:0;
  }
  .cs-about-v3__photo{
    height:410px;
    border-radius:10px 10px 0 0;
  }
  .cs-about-v3__capability-card{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    grid-template-columns:1fr;
    gap:25px;
    border-radius:0 0 10px 10px;
  }
  .cs-about-v3__capability-copy{
    padding-right:0;
    padding-bottom:24px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .cs-about-v3__pillars{
    padding:0 18px;
    grid-template-columns:1fr;
  }
  .cs-about-v3__pillars article,
  .cs-about-v3__pillars article:first-child{
    min-height:auto;
    padding:34px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .cs-about-v3__pillars article:last-child{
    border-bottom:0;
  }
  .cs-about-v3__statement{
    padding:42px 20px;
  }
}
@media(max-width:480px){
  .cs-about-v3__title{
    font-size:52px;
  }
  .cs-about-v3__photo{
    height:315px;
  }
  .cs-about-v3__capability-card{
    padding:26px 22px;
  }
  .cs-about-v3__capability-copy h3{
    font-size:22px;
  }
}


/* About-section before-and-after comparison */
.cs-about-v3__comparison{
  --about-split:50%;
  position:relative;
  height:570px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:#111;
  user-select:none;
  touch-action:pan-y;
}
.cs-about-v3__comparison::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    linear-gradient(0deg,rgba(4,6,6,.42),transparent 42%),
    linear-gradient(90deg,rgba(4,6,6,.10),transparent 38%);
}
.cs-about-v3__comparison-after,
.cs-about-v3__comparison-before,
.cs-about-v3__comparison-before img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.cs-about-v3__comparison-after{
  object-position:center 50% 25%;
}
.cs-about-v3__comparison-before{
  z-index:2;
  width:var(--about-split);
  overflow:hidden;
}
.cs-about-v3__comparison-before img{
  width:calc(100% / (var(--about-split) / 100%));
  max-width:none;
  object-position:center 57%;
}
.cs-about-v3__comparison-line{
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  left:var(--about-split);
  width:2px;
  background:#d89a18;
  box-shadow:0 0 0 1px rgba(0,0,0,.25),0 0 18px rgba(216,154,24,.28);
  transform:translateX(-1px);
  pointer-events:none;
}
.cs-about-v3__comparison-handle{
  position:absolute;
  top:50%;
  left:50%;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:2px solid #d89a18;
  border-radius:50%;
  background:rgba(9,11,11,.92);
  color:#f3f1ec;
  font-size:20px;
  box-shadow:0 14px 36px rgba(0,0,0,.38);
  transform:translate(-50%,-50%);
}
.cs-about-v3__comparison-label{
  position:absolute;
  z-index:6;
  top:18px;
  min-height:30px;
  padding:0 12px;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(7,9,9,.78);
  color:#f3f1ec;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
  pointer-events:none;
}
.cs-about-v3__comparison-label--before{left:18px}
.cs-about-v3__comparison-label--after{right:18px}
.cs-about-v3__comparison-range{
  position:absolute;
  z-index:10;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:ew-resize;
}
.cs-about-v3__comparison:focus-within{
  outline:2px solid #d89a18;
  outline-offset:4px;
}
.cs-about-v3__comparison:hover .cs-about-v3__comparison-handle{
  background:#d89a18;
  color:#111;
}
@media(max-width:820px){
  .cs-about-v3__comparison{
    height:410px;
    border-radius:10px 10px 0 0;
  }
  .cs-about-v3__comparison-handle{
    width:48px;
    height:48px;
  }
}
@media(max-width:480px){
  .cs-about-v3__comparison{height:315px}
  .cs-about-v3__comparison-label{top:12px}
  .cs-about-v3__comparison-label--before{left:12px}
  .cs-about-v3__comparison-label--after{right:12px}
}


/* Before/after automatic preview */
.cs-before-after{
  --comparison-position:50%;
}
.cs-before-after__autoplay{
  position:absolute;
  z-index:7;
  left:16px;
  bottom:16px;
  min-height:28px;
  padding:0 10px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(7,9,9,.72);
  backdrop-filter:blur(8px);
  color:#e9e7e1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  transition:opacity .2s ease;
}
.cs-before-after__autoplay span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d89a18;
  box-shadow:0 0 10px rgba(216,154,24,.8);
}
.cs-before-after.is-user-active .cs-before-after__autoplay,
.cs-before-after:hover .cs-before-after__autoplay{
  opacity:.28;
}
@media(prefers-reduced-motion:reduce){
  .cs-before-after__autoplay{
    display:none;
  }
}


/* Working autoplay indicator for the Who We Are comparison */
.cs-about-v3__comparison-autoplay{
  position:absolute;
  z-index:8;
  left:16px;
  bottom:16px;
  min-height:28px;
  padding:0 10px;
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(7,9,9,.76);
  backdrop-filter:blur(8px);
  color:#f0eee8;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  pointer-events:none;
  transition:opacity .2s ease;
}
.cs-about-v3__comparison-autoplay span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d89a18;
  box-shadow:0 0 9px rgba(216,154,24,.75);
}
[data-about-comparison].is-user-active .cs-about-v3__comparison-autoplay{
  opacity:.3;
}
@media(prefers-reduced-motion:reduce){
  .cs-about-v3__comparison-autoplay{
    display:none;
  }
}


/* =========================================================
   BEFORE/AFTER LAYOUT FIX
   Keep capability panel below slider instead of overlapping it.
   ========================================================= */
.cs-about-v3__visual{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  padding-bottom:0 !important;
}

.cs-about-v3__comparison,
.cs-about-v3__photo{
  position:relative !important;
  z-index:1 !important;
  flex:0 0 auto;
  width:100%;
}

.cs-about-v3__capability-card{
  position:relative !important;
  z-index:2 !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  margin:0 !important;
  min-height:190px;
  border-radius:10px !important;
  box-shadow:0 22px 58px rgba(0,0,0,.38) !important;
}

/* Keep the slider controls and labels contained inside the image only. */
[data-about-comparison]{
  isolation:isolate;
  overflow:hidden;
}

.cs-about-v3__comparison-range,
.cs-about-v3__comparison-handle,
.cs-about-v3__comparison-divider{
  z-index:6 !important;
}

.cs-about-v3__comparison-label,
.cs-about-v3__comparison-autoplay{
  z-index:7 !important;
}

@media(max-width:820px){
  .cs-about-v3__visual{
    gap:0 !important;
  }

  .cs-about-v3__capability-card{
    border-radius:0 0 10px 10px !important;
  }
}


/* =========================================================
   WHO WE ARE — REFINED CONTRACTOR ICONS
   ========================================================= */
.cs-about-v3__credentials svg,
.cs-about-v3__pillar-icon svg{
  overflow:visible;
  vector-effect:non-scaling-stroke;
}

.cs-about-v3__credentials svg{
  width:27px;
  height:27px;
  stroke-width:1.65;
}

.cs-about-v3__pillar-icon{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,154,24,.22);
  border-radius:50%;
  background:rgba(216,154,24,.035);
}

.cs-about-v3__pillar-icon svg{
  width:48px;
  height:48px;
  stroke-width:2.15;
}

.cs-about-v3__pillars article:hover .cs-about-v3__pillar-icon{
  border-color:rgba(216,154,24,.65);
  background:rgba(216,154,24,.075);
  transform:translateY(-3px);
}

.cs-about-v3__pillar-icon{
  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease;
}


/* =========================================================
   WHO WE ARE — PROFESSIONAL ICON SYSTEM
   ========================================================= */
.cs-about-v3__credentials svg,
.cs-about-v3__pillar-icon svg{
  overflow:visible;
  fill:none;
  stroke:#d89a18;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cs-about-v3__credentials svg{
  width:24px;
  height:24px;
  stroke-width:1.55;
  flex:0 0 auto;
}

.cs-about-v3__pillar-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,154,24,.22);
  border-radius:8px;
  background:
    linear-gradient(145deg,rgba(216,154,24,.045),rgba(255,255,255,.01));
  transition:
    transform .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.cs-about-v3__pillar-icon svg{
  width:43px;
  height:43px;
  stroke-width:1.9;
}

.cs-about-v3__pillars article:hover .cs-about-v3__pillar-icon{
  transform:translateY(-2px);
  border-color:rgba(216,154,24,.58);
  background:
    linear-gradient(145deg,rgba(216,154,24,.085),rgba(255,255,255,.015));
}

/* Remove earlier circular icon treatment if present */
.cs-about-v3__pillar-icon{
  border-radius:8px !important;
}

.cs-about-v3__pillars article>i{
  width:30px;
  opacity:.85;
}


/* =========================================================
   C&S SERVICES V2 — INTERACTIVE PROJECT NAVIGATOR
   ========================================================= */
.cs-services-v2,
.cs-services-v2 *{
  box-sizing:border-box;
}
.cs-services-v2{
  position:relative;
  overflow:hidden;
  background:#eee8dc;
  color:#111;
}
.cs-services-v2__inner{
  width:min(calc(100% - 120px),var(--max));
  margin:auto;
  padding:112px 0 118px;
}
.cs-services-v2__header{
  display:grid;
  grid-template-columns:150px minmax(0,1.2fr) minmax(360px,.8fr);
  gap:48px;
  align-items:start;
  padding-bottom:58px;
  border-bottom:1px solid rgba(17,17,17,.24);
}
.cs-services-v2__label{
  display:flex;
  align-items:center;
  gap:11px;
  padding-top:9px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.cs-services-v2__label span{
  color:#c68400;
}
.cs-services-v2__label i{
  width:34px;
  height:1px;
  background:#c68400;
}
.cs-services-v2__label strong{
  font-weight:900;
}
.cs-services-v2__headline p{
  margin:0 0 15px;
  color:#c68400;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.cs-services-v2__headline h2{
  margin:0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(68px,6vw,104px);
  font-weight:400;
  line-height:.82;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.cs-services-v2__headline h2 span,
.cs-services-v2__headline h2 em{
  display:block;
}
.cs-services-v2__headline h2 em{
  color:#c68400;
  font-style:normal;
}
.cs-services-v2__intro{
  padding-top:29px;
}
.cs-services-v2__intro>p{
  margin:0;
  color:#4d4b46;
  font-size:15px;
  line-height:1.75;
}
.cs-services-v2__estimate{
  width:220px;
  min-height:52px;
  margin-top:24px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #111;
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.cs-services-v2__estimate:hover{
  transform:translateY(-2px);
  background:#111;
  color:#eee8dc;
}
.cs-services-v2__estimate b{
  font-size:17px;
}
.cs-services-v2__list{
  border-bottom:1px solid rgba(17,17,17,.24);
}
.cs-services-v2__item{
  position:relative;
  border-top:1px solid rgba(17,17,17,.24);
  transition:background .35s ease,color .35s ease;
}
.cs-services-v2__trigger{
  width:100%;
  min-height:112px;
  padding:0;
  display:grid;
  grid-template-columns:65px minmax(0,1fr) 42px;
  gap:28px;
  align-items:center;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.cs-services-v2__number{
  color:#858178;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}
.cs-services-v2__titleblock h3{
  margin:0;
  font:700 34px/.96 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.cs-services-v2__titleblock p{
  margin:7px 0 0;
  color:#66625b;
  font-size:11px;
}
.cs-services-v2__arrow{
  font-size:22px;
  transform:rotate(0);
  transition:transform .35s ease,color .35s ease;
}
.cs-services-v2__content{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr);
  gap:60px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(18px);
  transition:
    max-height .55s cubic-bezier(.2,.72,.2,1),
    opacity .35s ease,
    transform .45s ease,
    padding .45s ease;
}
.cs-services-v2__item.is-active{
  background:#111312;
  color:#f4f1e9;
}
.cs-services-v2__item.is-active .cs-services-v2__trigger{
  min-height:98px;
}
.cs-services-v2__item.is-active .cs-services-v2__number,
.cs-services-v2__item.is-active .cs-services-v2__arrow{
  color:#d89a18;
}
.cs-services-v2__item.is-active .cs-services-v2__titleblock p{
  color:#a7aca6;
}
.cs-services-v2__item.is-active .cs-services-v2__arrow{
  transform:rotate(45deg);
}
.cs-services-v2__item.is-active .cs-services-v2__content{
  max-height:720px;
  padding:0 0 42px 93px;
  opacity:1;
  transform:translateY(0);
}
.cs-services-v2__details{
  align-self:center;
  max-width:560px;
}
.cs-services-v2__details>p{
  margin:0;
  color:#c7cbc6;
  font-size:15px;
  line-height:1.75;
}
.cs-services-v2__details ul{
  margin:24px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px 18px;
  list-style:none;
}
.cs-services-v2__details li{
  position:relative;
  padding-left:22px;
  color:#ece9e1;
  font-size:11px;
}
.cs-services-v2__details li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#d89a18;
  font-weight:900;
}
.cs-services-v2__actions{
  margin-top:28px;
  display:flex;
  gap:24px;
  flex-wrap:wrap;
}
.cs-services-v2__actions a{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.24);
  color:#f2efe8;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.cs-services-v2__actions a:hover{
  color:#d89a18;
  border-color:#d89a18;
}
.cs-services-v2__image{
  position:relative;
  height:330px;
  margin:0;
  overflow:hidden;
}
.cs-services-v2__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(17,19,18,.18),transparent 45%);
}
.cs-services-v2__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.78) contrast(1.05);
  transform:scale(1.035);
  transition:transform .7s cubic-bezier(.2,.72,.2,1);
}
.cs-services-v2__item.is-active .cs-services-v2__image img{
  transform:scale(1);
}
.cs-services-v2__item:not(.is-active):hover{
  background:rgba(17,19,18,.055);
}
.cs-services-v2__item:not(.is-active):hover .cs-services-v2__titleblock h3{
  color:#c68400;
}
.cs-services-v2__item:not(.is-active):hover .cs-services-v2__arrow{
  transform:translate(3px,-3px);
}

@media(max-width:1120px){
  .cs-services-v2__header{
    grid-template-columns:130px 1fr;
  }
  .cs-services-v2__intro{
    grid-column:2;
    padding-top:0;
  }
  .cs-services-v2__content{
    grid-template-columns:1fr;
  }
  .cs-services-v2__item.is-active .cs-services-v2__content{
    padding-left:93px;
  }
  .cs-services-v2__image{
    height:390px;
  }
}
@media(max-width:820px){
  .cs-services-v2__inner{
    width:min(calc(100% - 36px),var(--max));
    padding:84px 0 90px;
  }
  .cs-services-v2__header{
    grid-template-columns:1fr;
    gap:25px;
    padding-bottom:44px;
  }
  .cs-services-v2__intro{
    grid-column:auto;
  }
  .cs-services-v2__headline h2{
    font-size:64px;
  }
  .cs-services-v2__trigger{
    min-height:98px;
    grid-template-columns:42px minmax(0,1fr) 28px;
    gap:15px;
  }
  .cs-services-v2__titleblock h3{
    font-size:28px;
  }
  .cs-services-v2__titleblock p{
    font-size:10px;
  }
  .cs-services-v2__item.is-active .cs-services-v2__content{
    padding:0 0 32px;
  }
  .cs-services-v2__details ul{
    grid-template-columns:1fr;
  }
  .cs-services-v2__image{
    height:300px;
  }
}
@media(max-width:480px){
  .cs-services-v2__headline h2{
    font-size:52px;
  }
  .cs-services-v2__titleblock h3{
    font-size:24px;
  }
  .cs-services-v2__image{
    height:230px;
  }
}


/* =========================================================
   C&S SERVICES V2 — CINEMATIC MOTION UPGRADE
   ========================================================= */
.cs-services-v2__item{
  overflow:hidden;
  transition:
    background-color .85s cubic-bezier(.22,1,.36,1),
    color .85s cubic-bezier(.22,1,.36,1),
    border-color .65s ease;
}

.cs-services-v2__trigger{
  transition:
    min-height .72s cubic-bezier(.22,1,.36,1),
    padding .72s cubic-bezier(.22,1,.36,1);
}

.cs-services-v2__titleblock{
  transition:
    transform .72s cubic-bezier(.22,1,.36,1),
    opacity .55s ease;
}

.cs-services-v2__titleblock h3{
  position:relative;
  display:inline-block;
  transition:
    color .65s ease,
    transform .72s cubic-bezier(.22,1,.36,1),
    letter-spacing .72s cubic-bezier(.22,1,.36,1);
}

.cs-services-v2__titleblock h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  background:#d89a18;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .72s cubic-bezier(.22,1,.36,1);
}

.cs-services-v2__item.is-active .cs-services-v2__titleblock{
  transform:translateX(8px);
}

.cs-services-v2__item.is-active .cs-services-v2__titleblock h3{
  letter-spacing:.012em;
}

.cs-services-v2__item.is-active .cs-services-v2__titleblock h3::after{
  transform:scaleX(1);
}

.cs-services-v2__arrow{
  transition:
    transform .72s cubic-bezier(.22,1,.36,1),
    color .55s ease,
    opacity .55s ease;
}

.cs-services-v2__content{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr);
  gap:60px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding-top:0;
  padding-bottom:0;
  transform:translateY(24px);
  transition:
    max-height .9s cubic-bezier(.22,1,.36,1),
    opacity .6s ease .05s,
    transform .8s cubic-bezier(.22,1,.36,1),
    padding-top .85s cubic-bezier(.22,1,.36,1),
    padding-bottom .85s cubic-bezier(.22,1,.36,1);
}

.cs-services-v2__item.is-active .cs-services-v2__content{
  max-height:760px;
  padding-top:8px;
  padding-bottom:46px;
  opacity:1;
  transform:translateY(0);
}

.cs-services-v2__details{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .62s ease .18s,
    transform .78s cubic-bezier(.22,1,.36,1) .12s;
}

.cs-services-v2__item.is-active .cs-services-v2__details{
  opacity:1;
  transform:translateY(0);
}

.cs-services-v2__details>p,
.cs-services-v2__details ul,
.cs-services-v2__actions{
  opacity:0;
  transform:translateY(16px);
}

.cs-services-v2__item.is-active .cs-services-v2__details>p{
  animation:cs-service-fade-up .62s cubic-bezier(.22,1,.36,1) .18s forwards;
}

.cs-services-v2__item.is-active .cs-services-v2__details ul{
  animation:cs-service-fade-up .68s cubic-bezier(.22,1,.36,1) .28s forwards;
}

.cs-services-v2__item.is-active .cs-services-v2__actions{
  animation:cs-service-fade-up .72s cubic-bezier(.22,1,.36,1) .38s forwards;
}

@keyframes cs-service-fade-up{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.cs-services-v2__image{
  overflow:hidden;
  opacity:.72;
  transform:translateX(16px) scale(.985);
  transition:
    opacity .8s ease .14s,
    transform 1s cubic-bezier(.22,1,.36,1) .08s;
}

.cs-services-v2__image img{
  transform:scale(1.13) translateX(-12px);
  transition:
    transform 1.15s cubic-bezier(.22,1,.36,1),
    filter .85s ease;
}

.cs-services-v2__item.is-active .cs-services-v2__image{
  opacity:1;
  transform:translateX(0) scale(1);
}

.cs-services-v2__item.is-active .cs-services-v2__image img{
  transform:scale(1) translateX(0);
}

.cs-services-v2__item:not(.is-active){
  background-color:transparent;
}

.cs-services-v2__item:not(.is-active):hover{
  background:rgba(17,19,18,.035);
}

.cs-services-v2__item:not(.is-active):hover .cs-services-v2__titleblock{
  transform:translateX(5px);
}

.cs-services-v2__item:not(.is-active):hover .cs-services-v2__arrow{
  transform:translate(6px,-6px);
}

.cs-services-v2__list.is-transitioning .cs-services-v2__item:not(.is-active){
  opacity:.82;
}

.cs-services-v2__list{
  transition:background-color .8s ease;
}

/* Smooth active-panel crossfade */
.cs-services-v2__item.is-leaving{
  background:#111312;
  color:#f4f1e9;
}

.cs-services-v2__item.is-leaving .cs-services-v2__content{
  max-height:520px;
  opacity:.25;
  transform:translateY(-8px);
  padding-top:4px;
  padding-bottom:20px;
  transition:
    max-height .55s cubic-bezier(.4,0,.2,1),
    opacity .35s ease,
    transform .45s ease,
    padding .45s ease;
}

@media(max-width:820px){
  .cs-services-v2__content{
    grid-template-columns:1fr;
    gap:28px;
  }

  .cs-services-v2__item.is-active .cs-services-v2__content{
    max-height:980px;
    padding-top:0;
  }

  .cs-services-v2__titleblock h3::after{
    bottom:-5px;
  }
}

@media(prefers-reduced-motion:reduce){
  .cs-services-v2__item,
  .cs-services-v2__trigger,
  .cs-services-v2__titleblock,
  .cs-services-v2__titleblock h3,
  .cs-services-v2__titleblock h3::after,
  .cs-services-v2__arrow,
  .cs-services-v2__content,
  .cs-services-v2__details,
  .cs-services-v2__image,
  .cs-services-v2__image img{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-delay:0ms !important;
  }
}


/* =========================================================
   SIMPLE SERVICES SECTION
   ========================================================= */
.cs-services-simple,
.cs-services-simple *{
  box-sizing:border-box;
}
.cs-services-simple{
  background:#eee8dc;
  color:#111;
}
.cs-services-simple__inner{
  width:min(calc(100% - 120px),var(--max));
  margin:auto;
  padding:110px 0 118px;
}
.cs-services-simple__header{
  display:grid;
  grid-template-columns:150px minmax(0,1.1fr) minmax(350px,.9fr);
  gap:48px;
  padding-bottom:54px;
  border-bottom:1px solid rgba(17,17,17,.22);
}
.cs-services-simple__label{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding-top:9px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.cs-services-simple__label span{
  color:#c68400;
}
.cs-services-simple__label i{
  width:34px;
  height:1px;
  margin-top:5px;
  background:#c68400;
}
.cs-services-simple__heading p{
  margin:0 0 15px;
  color:#c68400;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.cs-services-simple__heading h2{
  margin:0;
  font-family:"Bebas Neue","Barlow Condensed",sans-serif;
  font-size:clamp(68px,6vw,104px);
  font-weight:400;
  line-height:.82;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.cs-services-simple__heading h2 span,
.cs-services-simple__heading h2 em{
  display:block;
}
.cs-services-simple__heading h2 em{
  color:#c68400;
  font-style:normal;
}
.cs-services-simple__intro{
  padding-top:28px;
}
.cs-services-simple__intro p{
  margin:0;
  color:#4e4b45;
  font-size:15px;
  line-height:1.75;
}
.cs-services-simple__intro a{
  width:220px;
  min-height:52px;
  margin-top:24px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #111;
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.cs-services-simple__intro a:hover{
  transform:translateY(-2px);
  background:#111;
  color:#eee8dc;
}
.cs-services-simple__grid{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.cs-services-simple__card{
  overflow:hidden;
  border:1px solid rgba(17,17,17,.16);
  background:#f4efe5;
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.cs-services-simple__card:hover{
  transform:translateY(-5px);
  border-color:rgba(198,132,0,.55);
  box-shadow:0 18px 40px rgba(17,17,17,.10);
}
.cs-services-simple__card:last-child{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1.05fr .95fr;
}
.cs-services-simple__image{
  position:relative;
  height:290px;
  overflow:hidden;
}
.cs-services-simple__card:last-child .cs-services-simple__image{
  height:100%;
  min-height:300px;
}
.cs-services-simple__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.8) contrast(1.04);
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.cs-services-simple__card:hover .cs-services-simple__image img{
  transform:scale(1.035);
}
.cs-services-simple__image span{
  position:absolute;
  top:16px;
  left:16px;
  min-width:34px;
  height:30px;
  padding:0 9px;
  display:grid;
  place-items:center;
  background:#111;
  color:#d89a18;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
}
.cs-services-simple__content{
  padding:26px 28px 28px;
}
.cs-services-simple__card:last-child .cs-services-simple__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cs-services-simple__content h3{
  margin:0;
  font:700 31px/.98 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}
.cs-services-simple__content p{
  margin:14px 0 0;
  color:#5f5b54;
  font-size:12px;
  line-height:1.65;
}
.cs-services-simple__content a{
  width:max-content;
  margin-top:22px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(17,17,17,.28);
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.cs-services-simple__content a:hover{
  color:#c68400;
  border-color:#c68400;
}

@media(max-width:1080px){
  .cs-services-simple__header{
    grid-template-columns:130px 1fr;
  }
  .cs-services-simple__intro{
    grid-column:2;
    padding-top:0;
  }
}
@media(max-width:820px){
  .cs-services-simple__inner{
    width:min(calc(100% - 36px),var(--max));
    padding:84px 0 90px;
  }
  .cs-services-simple__header{
    grid-template-columns:1fr;
    gap:24px;
  }
  .cs-services-simple__intro{
    grid-column:auto;
  }
  .cs-services-simple__heading h2{
    font-size:64px;
  }
  .cs-services-simple__grid{
    grid-template-columns:1fr;
  }
  .cs-services-simple__card:last-child{
    grid-column:auto;
    display:block;
  }
  .cs-services-simple__image,
  .cs-services-simple__card:last-child .cs-services-simple__image{
    height:260px;
    min-height:0;
  }
}
@media(max-width:480px){
  .cs-services-simple__heading h2{
    font-size:52px;
  }
  .cs-services-simple__image,
  .cs-services-simple__card:last-child .cs-services-simple__image{
    height:220px;
  }
}


/* =========================================================
   SERVICES OPTION 3 — FOUR PRIMARY + SUPPORTING SERVICES
   ========================================================= */
.cs-services-option3__primary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.cs-services-option3__primary .cs-services-simple__card:last-child{
  grid-column:auto;
  display:block;
}

.cs-services-option3__primary .cs-services-simple__card:last-child .cs-services-simple__image{
  height:290px;
  min-height:0;
}

.cs-services-option3__additional{
  position:relative;
  margin-top:34px;
  padding:42px 44px;
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(420px,1.15fr) 220px;
  gap:42px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 80% 20%,rgba(216,154,24,.10),transparent 28%),
    linear-gradient(135deg,#121414,#090a0a);
  color:#f3f1ec;
}

.cs-services-option3__additional::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.cs-services-option3__additional>*{
  position:relative;
  z-index:1;
}

.cs-services-option3__additional-heading p{
  margin:0 0 12px;
  color:#d89a18;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.cs-services-option3__additional-heading h3{
  margin:0;
  color:#f3f1ec;
  font:700 31px/1.02 "Barlow Condensed",sans-serif;
  text-transform:uppercase;
}

.cs-services-option3__additional-list{
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px 24px;
  list-style:none;
}

.cs-services-option3__additional-list li{
  position:relative;
  padding-left:27px;
  color:#d9dcd7;
  font-size:11px;
  line-height:1.45;
}

.cs-services-option3__additional-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:1px solid #d89a18;
  border-radius:50%;
  color:#d89a18;
  font-size:9px;
  font-weight:900;
}

.cs-services-option3__additional-cta{
  min-height:56px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#d89a18;
  color:#111;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .25s ease,background .25s ease;
}

.cs-services-option3__additional-cta:hover{
  transform:translateY(-2px);
  background:#e8aa2a;
}

.cs-services-option3__additional-cta b{
  font-size:17px;
}

@media(max-width:1100px){
  .cs-services-option3__additional{
    grid-template-columns:1fr 1.4fr;
  }

  .cs-services-option3__additional-cta{
    grid-column:1 / -1;
    width:240px;
  }
}

@media(max-width:820px){
  .cs-services-option3__primary{
    grid-template-columns:1fr;
  }

  .cs-services-option3__primary .cs-services-simple__card:last-child .cs-services-simple__image{
    height:260px;
  }

  .cs-services-option3__additional{
    padding:32px 28px;
    grid-template-columns:1fr;
    gap:28px;
  }

  .cs-services-option3__additional-list{
    grid-template-columns:1fr;
  }

  .cs-services-option3__additional-cta{
    grid-column:auto;
    width:100%;
  }
}

@media(max-width:480px){
  .cs-services-option3__primary .cs-services-simple__card:last-child .cs-services-simple__image{
    height:220px;
  }

  .cs-services-option3__additional{
    padding:28px 22px;
  }

  .cs-services-option3__additional-heading h3{
    font-size:27px;
  }
}


/* Service Area Option 1 */
.service-area-option1{background:linear-gradient(180deg,#0b0d0d,#070808);color:#f4f1e9}
.service-area-option1__inner{width:min(calc(100% - 110px),var(--max));margin:auto;padding:120px 0}
.service-area-option1__header{display:grid;grid-template-columns:150px minmax(0,1.2fr) minmax(360px,.8fr);gap:48px;padding-bottom:56px}
.service-area-option1__label{display:flex;align-items:center;gap:11px;padding-top:8px;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.service-area-option1__label span{color:var(--orange)}
.service-area-option1__label i{width:34px;height:1px;background:var(--orange)}
.service-area-option1__heading>p{margin:0 0 15px;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.service-area-option1__heading h2{margin:0;font-family:"Bebas Neue","Barlow Condensed",sans-serif;font-size:clamp(68px,6vw,104px);font-weight:400;line-height:.82;text-transform:uppercase}
.service-area-option1__heading h2 span,.service-area-option1__heading h2 em{display:block}
.service-area-option1__heading h2 em{color:var(--orange);font-style:normal}
.service-area-option1__intro{padding-top:28px}
.service-area-option1__intro p{margin:0;color:#b7bbb6;font-size:15px;line-height:1.75}
.service-area-option1__map .interactive-map-card{width:100%;border-radius:10px}
.service-area-option1__map .map-stage,.service-area-option1__map .ct-service-map{min-height:760px}
.service-area-option1__cards{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-area-option1__card{min-height:560px; overflow:hidden; padding:30px;border:1px solid rgba(255,255,255,.12);background:#111313}
.service-area-option1__card:first-child{border-color:rgba(230,160,23,.52)}
.service-area-option1__card--statewide{background:radial-gradient(circle at 82% 18%,rgba(230,160,23,.11),transparent 28%),#111313}
.service-area-option1__card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:var(--orange);font-size:9px;font-weight:900}
.primary-dot{width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 16px rgba(230,160,23,.5)}
.extended-ring{width:13px;height:13px;border:2px solid var(--orange);border-radius:50%}
.service-area-option1__card>p{margin:0 0 9px;color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.service-area-option1__card h3{margin:0;color:#f3f1eb;font:700 31px/1.02 "Barlow Condensed",sans-serif;text-transform:uppercase}
.service-area-option1__metric{margin:24px 0 22px;padding:18px 0;display:grid;grid-template-columns:100px 1fr;gap:18px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.service-area-option1__metric strong{color:#f3f1eb;font:700 22px "Barlow Condensed",sans-serif;text-transform:uppercase}
.service-area-option1__metric span{color:#959a95;font-size:10px;line-height:1.55}
.service-area-option1__towns{max-height:350px;overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--orange) #171a1a}
.service-area-option1__towns .town-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}
.service-area-option1__towns .dynamic-town-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}
.service-area-option1__towns .dynamic-town-list li span{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.service-area-option1__towns .dynamic-town-list li small{white-space:nowrap;padding-top:2px;color:#777d78;font-size:8px}
.service-area-option1__support-list{margin:0;padding:0;display:grid;gap:12px;list-style:none}
.service-area-option1__support-list li{position:relative;padding-left:25px;color:#d7dad5;font-size:11px}
.service-area-option1__support-list li:before{content:"✓";position:absolute;left:0;color:var(--orange)}
.service-area-option1__cta{width:100%;min-height:52px;margin-top:26px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:var(--orange);color:#111;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1120px){
  .service-area-option1__header{grid-template-columns:130px 1fr}
  .service-area-option1__intro{grid-column:2;padding-top:0}
  .service-area-option1__cards{grid-template-columns:1fr 1fr}
  .service-area-option1__card--statewide{grid-column:1/-1}
}
@media(max-width:820px){
  .service-area-option1__inner{width:min(calc(100% - 36px),var(--max));padding:88px 0}
  .service-area-option1__header{grid-template-columns:1fr;gap:24px}
  .service-area-option1__intro{grid-column:auto}
  .service-area-option1__heading h2{font-size:64px}
  .service-area-option1__map .map-stage,.service-area-option1__map .ct-service-map{min-height:580px}
  .service-area-option1__cards{grid-template-columns:1fr}
  .service-area-option1__card--statewide{grid-column:auto}
}
@media(max-width:480px){
  .service-area-option1__heading h2{font-size:52px}
  .service-area-option1__map .map-stage,.service-area-option1__map .ct-service-map{min-height:500px}
  .service-area-option1__towns .town-columns{grid-template-columns:1fr}
}


/* =========================================================
   SERVICE AREA — SINGLE SCROLLBAR FIX
   The outer town-list wrapper scrolls; the nested extended
   town list no longer creates a second scrollbar.
   ========================================================= */
.service-area-option1__card{
  overflow:hidden !important;
}

.service-area-option1__towns{
  overflow-x:hidden;
  overflow-y:auto;
}

.service-area-option1__towns .extended-town-scroll{
  max-height:none;
  height:auto;
  padding-right:0;
  overflow:visible;
  scrollbar-width:auto;
}
/* Improved map town labels */
.ct-town-label{
  font-size:7.5px;
  font-weight:700;
  letter-spacing:-0.02em;
  stroke-width:2.6px;
}

/* Keep primary-area town names most visible */
.ct-town-label.primary{
  fill:#fff7e5;
  font-size:8px;
}

/* Extended-area names remain visible but slightly quieter */
.ct-town-label.extended{
  fill:#d1d5d0;
  font-size:7.5px;
}

/* Outside-area labels should not compete with service towns */
.ct-town-label.outside{
  fill:#7f8580;
  font-size:6.8px;
  opacity:.78;
}
/* =========================================================
   SERVICE AREA TOWN INDICATORS
   Primary towns use a solid dot; extended towns use a ring.
   ========================================================= */
#primaryTownList li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:6px;
  height:6px;
  border:0;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 8px rgba(230,160,23,.35);
}

#extendedTownList li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:7px;
  height:7px;
  border:1.5px solid var(--orange);
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}

#primaryTownList li,
#extendedTownList li{
  position:relative;
  padding-left:17px;
}


/* =========================================================
   MAP — EXTENDED COVERAGE OUTLINE ONLY
   Extended towns keep the orange border with no orange fill.
   ========================================================= */
.ct-town-shape.extended{
  fill:#171c19 !important;
  stroke:var(--orange) !important;
  stroke-width:1.6 !important;
  opacity:1 !important;
}

.ct-town-shape.extended:hover,
.ct-town-shape.extended.active,
.ct-town-shape.extended.hovered{
  fill:#171c19 !important;
  stroke:#fff6df !important;
  stroke-width:2.2 !important;
  opacity:1 !important;
}


/* =========================================================
   MAP TOWN HOVER PREVIEW + CLICK LOCK
   ========================================================= */
.ct-town-shape.active{
  cursor:default;
}

.town-popup.open{
  pointer-events:auto;
}


/* =========================================================
   PREMIUM FIXED SERVICE-AREA MAP
   Compact, closer framing with no zoom/pan controls.
   ========================================================= */
.service-area-option1__map .interactive-map-card{
  max-width:1320px;
  margin-inline:auto;
  border-radius:12px;
}

.service-area-option1__map .map-stage,
.service-area-option1__map .ct-service-map{
  min-height:510px !important;
  height:510px !important;
}

.service-area-option1__map .map-stage{
  cursor:default !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 55% 48%,rgba(230,160,23,.065),transparent 35%),
    linear-gradient(180deg,#111514,#090c0b);
}

.service-area-option1__map .ct-service-map{
  width:100%;
  display:block;
}

.service-area-option1__map .map-toolbar{
  min-height:62px;
  padding:13px 20px;
}

.service-area-option1__map .map-toolbar>div:first-child span{
  font-size:17px;
}

.service-area-option1__map .map-toolbar>div:first-child strong{
  font-size:8px;
}

.service-area-option1__map .map-key{
  gap:14px;
}

.service-area-option1__map .map-key span{
  font-size:8px;
}

.service-area-option1__map .map-bottom-bar{
  min-height:62px;
  padding:11px 18px;
}

.service-area-option1__map .official-map-source{
  padding-block:6px;
}

.service-area-option1__map .map-controls,
.service-area-option1__map .map-zoom-readout{
  display:none !important;
}

/* Make labels slightly clearer at the locked closer view. */
.service-area-option1__map .ct-town-label{
  font-size:7.8px;
  stroke-width:2.7px;
}

.service-area-option1__map .ct-town-label.primary{
  font-size:8.2px;
}

.service-area-option1__map .ct-town-label.extended{
  font-size:7.8px;
}

/* Keep the popup visually compact so it does not dominate the map. */
.service-area-option1__map .town-popup{
  width:270px;
  max-height:calc(100% - 24px);
}

.service-area-option1__map .popup-town{
  font-size:28px;
}

.service-area-option1__map .popup-services{
  gap:6px 8px;
}

.service-area-option1__map .popup-services li{
  min-height:25px;
  font-size:8.5px;
}

@media(max-width:980px){
  .service-area-option1__map .map-stage,
  .service-area-option1__map .ct-service-map{
    min-height:470px !important;
    height:470px !important;
  }

  .service-area-option1__map .map-toolbar{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
}

@media(max-width:760px){
  .service-area-option1__map .map-stage,
  .service-area-option1__map .ct-service-map{
    min-height:430px !important;
    height:430px !important;
  }

  .service-area-option1__map .ct-service-map{
    width:100% !important;
    transform:none !important;
  }
}

@media(max-width:480px){
  .service-area-option1__map .map-stage,
  .service-area-option1__map .ct-service-map{
    min-height:390px !important;
    height:390px !important;
  }
}


/* =========================================================
   PRODUCTION ESTIMATE REQUEST — LEAD MANAGER INTEGRATION
   ========================================================= */
.contact-estimate{
  position:relative;
  padding:120px clamp(24px,5vw,76px);
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(580px,1.22fr);
  gap:clamp(48px,7vw,105px);
  align-items:start;
  overflow:hidden;
  background:
    radial-gradient(circle at 91% 8%,rgba(230,160,23,.095),transparent 25%),
    linear-gradient(180deg,#0b0d0c,#070908);
  border-top:1px solid rgba(255,255,255,.08);
}
.contact-estimate::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 49.95%,rgba(255,255,255,.035) 50%,transparent 50.05%);
}
.contact-copy{position:sticky;top:110px;z-index:1}
.contact-copy__label{display:flex;align-items:center;gap:13px;margin-bottom:42px;color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.contact-copy__label i{width:42px;height:1px;background:var(--orange)}
.contact-copy h2{max-width:620px;margin:0 0 22px;color:#f2f0e9;font:800 clamp(52px,5vw,82px)/.9 "Barlow Condensed",sans-serif;text-transform:uppercase}
.contact-copy>p:not(.eyebrow){max-width:570px;margin:0;color:#9da39e;font-size:14px;line-height:1.75}
.contact-expectations{display:grid;gap:0;margin-top:40px;border-top:1px solid rgba(255,255,255,.1)}
.contact-expectations>div{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-expectations span{padding-top:2px;color:var(--orange);font-size:9px;font-weight:900;letter-spacing:.12em}
.contact-expectations p{margin:0;color:#858b86;font-size:11px;line-height:1.55}
.contact-expectations strong{display:block;margin-bottom:3px;color:#eceae4;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.contact-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px}
.contact-info a{color:#f2f0e9;font:700 22px/1.1 "Barlow Condensed",sans-serif;transition:color .2s ease}
.contact-info a:hover{color:var(--orange)}
.estimate-panel{position:relative;z-index:1;border:1px solid rgba(255,255,255,.12);background:#111413;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.estimate-panel__top{min-height:72px;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(230,160,23,.3);background:#0c0f0e}
.estimate-panel__top div{display:flex;flex-direction:column;gap:4px}
.estimate-panel__top span{color:var(--orange);font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.estimate-panel__top strong{color:#f1efe9;font:700 21px/1 "Barlow Condensed",sans-serif;text-transform:uppercase}
.estimate-panel__top i{width:13px;height:13px;border:2px solid var(--orange);border-radius:50%}
.estimate-form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:30px}
.estimate-form .form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.estimate-form .form-field--full{grid-column:1/-1}
.estimate-form label{color:#969c97;font-size:9px;font-weight:800;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}
.estimate-form label em{color:var(--orange);font-style:normal}
.estimate-form label span{margin-left:7px;color:#666d68;font-size:8px}
.estimate-form input:not([type="file"]),
.estimate-form select,
.estimate-form textarea{
  width:100%;min-width:0;margin:0;padding:14px 15px;border:1px solid rgba(255,255,255,.13);border-radius:0;outline:none;
  background:#0b0e0d;color:#f3f1eb;font:500 13px/1.45 "Inter",sans-serif;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.estimate-form input:not([type="file"]),.estimate-form select{min-height:50px}
.estimate-form textarea{min-height:155px;resize:vertical}
.estimate-form input::placeholder,.estimate-form textarea::placeholder{color:#59605b;opacity:1}
.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--orange);background:#0e1110;box-shadow:0 0 0 1px rgba(230,160,23,.15)}
.estimate-form select{cursor:pointer}.estimate-form select option{background:#111413;color:#f3f1eb}
.field-help{color:#646b66;font-size:9px;line-height:1.5}
.upload-control{position:relative;min-height:92px;padding:18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;border:1px dashed rgba(230,160,23,.45);background:rgba(230,160,23,.035);cursor:pointer;transition:border-color .2s ease,background .2s ease}
.upload-control:hover{border-color:var(--orange);background:rgba(230,160,23,.07)}
.upload-control input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.upload-control__copy{display:flex;flex-direction:column;gap:5px;pointer-events:none}
.upload-control__copy strong{color:#eeeae1;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.upload-control__copy span{color:#747b75;font-size:10px;line-height:1.5}
.upload-control>b{padding:11px 14px;border:1px solid rgba(230,160,23,.55);color:var(--orange);font-size:8px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.upload-file-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.upload-file-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid rgba(255,255,255,.08);background:#0b0e0d;color:#a2a8a3;font-size:9px}
.upload-file-list li span:last-child{color:#676e69;white-space:nowrap}
.estimate-form__footer{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding-top:4px}
.estimate-form__footer p{max-width:330px;margin:0;color:#686f6a;font-size:9px;line-height:1.55}
#estimateSubmit{min-width:235px;min-height:54px;padding:0 18px;border:1px solid var(--orange);background:var(--orange);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#111;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}
#estimateSubmit:hover{background:transparent;color:var(--orange)}
#estimateSubmit:disabled{opacity:.55;cursor:not-allowed}
#estimateSubmit.is-loading b{animation:estimate-arrow 1s ease-in-out infinite}
@keyframes estimate-arrow{50%{transform:translateX(4px)}}
.form-status{grid-column:1/-1;min-height:0;margin:0;padding:0;color:#a8ada8;font-size:11px;line-height:1.55}
.form-status:not(:empty){min-height:44px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);background:#0b0e0d}
.form-status.is-success{color:#8addaa;border-color:rgba(120,200,154,.3);background:rgba(120,200,154,.06)}
.form-status.is-error{color:#ff9c91;border-color:rgba(255,143,130,.3);background:rgba(255,143,130,.06)}
.form-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1050px){.contact-estimate{grid-template-columns:1fr;gap:48px}.contact-copy{position:relative;top:auto}.contact-copy h2{max-width:760px}.contact-estimate::before{display:none}}
@media(max-width:680px){.contact-estimate{padding:82px 18px}.estimate-form{grid-template-columns:1fr;padding:21px;gap:17px}.estimate-form .form-field,.estimate-form .form-field--full,.estimate-form__footer,.form-status{grid-column:1}.estimate-form__footer{grid-template-columns:1fr}.estimate-form__footer p{max-width:none}#estimateSubmit{width:100%;min-width:0}.upload-control{grid-template-columns:1fr}.upload-control>b{justify-self:start}.contact-copy h2{font-size:52px}.estimate-panel__top{padding-inline:20px}}
