/*
Theme Name: Zagros Construction
Description: One-page theme for Zagros Construction, Windsor, Ontario. Dark slate and amber design.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: zagros
*/
:root{--dark:#12161A;--surface:#1A2026;--card:#222A32;--amber:#D97706;--amber-l:#F59E0B;--amber-h:#B45309;
--s100:#F1F5F9;--s300:#CBD5E1;--s400:#94A3B8;--s500:#64748B;--s700:#334155;--s800:#1E293B}
*,*::before,*::after{box-sizing:border-box;border:0 solid transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--dark);color:var(--s100);font-family:Inter,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--amber);color:var(--dark)}
h1,h2,h3,h4,p,ul,dl,dd,figure,blockquote{margin:0}
ul{list-style:none;padding:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{cursor:pointer;background:none;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--amber-l);outline-offset:2px}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:var(--s700);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--amber)}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--dark);padding:8px 12px;z-index:100;border-radius:6px;font-weight:700}
.skip:focus{left:8px}
.fh{font-family:Montserrat,sans-serif}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.wrap{max-width:80rem;margin:0 auto;padding:0 1rem;width:100%}
.wrap.w6{max-width:72rem}.wrap.w5{max-width:64rem}
@media(min-width:640px){.wrap{padding:0 1.5rem}}
@media(min-width:1024px){.wrap{padding:0 2rem}}
.sec{padding:6rem 0;position:relative}
.bg-dark{background:var(--dark)}.bg-surface{background:var(--surface)}
.bt{border-top:1px solid var(--s800)}.bby{border-top:1px solid var(--s800);border-bottom:1px solid var(--s800)}
.eyebrow{display:block;margin-bottom:.5rem;color:var(--amber);font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.h2{font-family:Montserrat,sans-serif;font-size:1.875rem;line-height:2.25rem;font-weight:700;color:#fff}
.sub{margin-top:.75rem;color:var(--s400);font-size:.875rem;line-height:1.25rem}
.sec-head{max-width:48rem;margin:0 auto 4rem;text-align:center}
.sec-head.sm{max-width:42rem}.sec-head.mb12{margin-bottom:3rem}
@media(min-width:640px){.h2{font-size:2.25rem;line-height:2.5rem}.sub{font-size:1rem;line-height:1.5rem}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;font-weight:700;transition:all .2s;text-align:center}
.btn-amber{background:var(--amber);color:var(--dark)}
.btn-amber:hover{background:var(--amber-l)}
.btn-lg{padding:1rem 2rem;box-shadow:0 10px 15px -3px rgba(217,119,6,.2),0 4px 6px -4px rgba(217,119,6,.2)}
.btn-lg:hover{box-shadow:0 10px 15px -3px rgba(217,119,6,.4);transform:translateY(-2px)}
.btn-ghost{background:rgba(30,41,59,.8);color:#fff;font-weight:600;border:1px solid var(--s700)}
.btn-ghost:hover{background:var(--s700);transform:translateY(-2px)}
/* header */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;background:rgba(18,22,26,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--s800)}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
.hdr{height:5rem;display:flex;align-items:center;justify-content:space-between}
.logo-pill{display:flex;align-items:center;background:#fff;border-radius:.5rem;padding:.35rem .7rem;box-shadow:0 10px 15px -3px rgba(217,119,6,.2)}
.logo-pill img{height:2.25rem;width:auto}
.nav{display:none;align-items:center;gap:2rem;font-size:.875rem;font-weight:500}
.nav a{color:var(--s300);padding:.25rem 0;transition:color .2s}
.nav a:first-child{color:#fff}
.nav a:hover{color:var(--amber)}
.hdr-cta{display:none;align-items:center;gap:1rem}
.hdr-tel{display:flex;align-items:center;gap:.5rem;color:var(--s300);font-size:.875rem;font-weight:600;padding-right:.5rem;transition:color .2s}
.hdr-tel:hover{color:var(--amber)}.hdr-tel i{color:var(--amber)}
.hdr-btn{background:var(--amber);color:var(--dark);font-weight:600;font-size:.875rem;padding:.625rem 1.25rem;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.2);transition:all .2s}
.hdr-btn:hover{background:var(--amber-l);transform:translateY(-2px)}
.menu-btn{color:var(--s300);padding:.5rem;font-size:1.25rem;line-height:1.75rem}
.menu-btn:hover{color:#fff}
.mobile-menu{background:var(--surface);border-bottom:1px solid var(--s800);padding:.5rem 1rem 1.5rem;display:none}
.mobile-menu.open{display:block}
.mobile-menu a.ml{display:block;padding:.5rem 0;margin-bottom:.75rem;color:var(--s300);font-weight:500}
.mobile-menu a.ml:first-child{color:#fff}
.mobile-menu a.ml:hover{color:var(--amber)}
.mm-foot{padding-top:1rem;border-top:1px solid var(--s700);display:flex;flex-direction:column;gap:.75rem}
.mm-foot .t{display:flex;gap:.5rem;align-items:center;color:var(--s300);font-size:.875rem;font-weight:600}
.mm-foot .t i{color:var(--amber)}
.mm-foot .q{background:var(--amber);color:var(--dark);font-weight:600;font-size:.875rem;text-align:center;padding:.75rem;border-radius:.5rem}
@media(min-width:640px){.hdr-cta{display:flex}}
@media(min-width:1024px){.nav{display:flex}.menu-btn,.mobile-menu{display:none!important}}
/* hero */
.hero{position:relative;min-height:100vh;padding:7rem 0 4rem;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(to bottom,var(--dark),var(--surface),var(--dark))}
.hero-img{position:absolute;inset:0;z-index:0;opacity:.5;background-color:var(--dark);background-size:cover;background-position:center 40%;background-image:url(assets/img/hero-bridge.jpg);background-image:image-set(url(assets/img/hero-bridge-sm.webp) type('image/webp') 1x,url(assets/img/hero-bridge.webp) type('image/webp') 2x)}
@media(min-width:700px){.hero-img{background-image:url(assets/img/hero-bridge.jpg);background-image:image-set(url(assets/img/hero-bridge.webp) type('image/webp'),url(assets/img/hero-bridge.jpg) type('image/jpeg'))}}
.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(to right,var(--dark),rgba(18,22,26,.9),transparent)}
.hero .wrap{position:relative;z-index:10}
.hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:2rem;text-align:center}
.badge{display:inline-flex;align-items:center;gap:.5rem;align-self:center;padding:.375rem .875rem;border-radius:9999px;background:rgba(217,119,6,.1);border:1px solid rgba(217,119,6,.3);color:var(--amber);font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.badge b{width:.5rem;height:.5rem;border-radius:50%;background:var(--amber);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pulse{50%{opacity:.5}}
.hero h1{font-family:Montserrat,sans-serif;font-size:2.25rem;line-height:1.25;font-weight:800;color:#fff;letter-spacing:-.025em}
.grad{color:transparent;background:linear-gradient(to right,var(--amber),#FDE68A);-webkit-background-clip:text;background-clip:text}
.hero-p{color:var(--s300);font-size:1rem;line-height:1.625;max-width:42rem;margin:0 auto}
.hero-btns{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding-top:.5rem}
.hero-btns .btn{width:100%}
.checks{padding-top:1.5rem;border-top:1px solid rgba(30,41,59,.8);display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;text-align:left;font-size:.75rem;line-height:1rem;color:var(--s400);font-weight:500}
.checks div{display:flex;align-items:center;gap:.5rem}.checks i{color:var(--amber);font-size:.875rem}
.hcard{position:relative;background:var(--card);padding:.75rem;border-radius:1rem;border:1px solid var(--s700);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);overflow:hidden}
.hcard-in{position:relative;height:20rem;border-radius:.75rem;overflow:hidden}
.hcard-in img{width:100%;height:100%;object-fit:cover}
.hcard-in::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,22,26,.9),transparent 50%,transparent)}
.hcap{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;background:rgba(18,22,26,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem;border-radius:.5rem;border:1px solid rgba(51,65,85,.8)}
.hcap span{font-size:.75rem;line-height:1rem;font-weight:600;color:var(--amber);text-transform:uppercase;letter-spacing:.05em}
.hcap h2{color:#fff;font-family:Montserrat,sans-serif;font-weight:700;font-size:1rem;line-height:1.5rem;margin-top:.125rem}
.hcap p{color:var(--s400);font-size:.75rem;line-height:1rem;margin-top:.25rem}
@media(min-width:640px){.hero h1{font-size:3rem;line-height:1.25}.hero-p{font-size:1.125rem;line-height:1.75}.hero-btns{flex-direction:row}.hero-btns .btn{width:auto}.checks{grid-template-columns:repeat(3,1fr)}.hcard-in{height:24rem}}
@media(min-width:1024px){.hero-grid{grid-template-columns:repeat(12,1fr)}.hero-copy{grid-column:span 7;text-align:left}.hero-grid>.hcard{grid-column:span 5}.hero h1{font-size:3.75rem;line-height:1.25}.hero-p{margin:0}.hero-btns{justify-content:flex-start}.badge{align-self:flex-start}}
/* stats */
.stats{background:var(--surface);border-top:1px solid var(--s800);border-bottom:1px solid var(--s800);padding:2.5rem 0;position:relative;z-index:20}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;text-align:center}
.stat{padding:1rem;border-radius:.75rem;background:rgba(34,42,50,.4);border:1px solid var(--s800)}
.stat .n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;font-size:1.875rem;line-height:2.25rem;color:#fff}
.stat:nth-child(odd) .n{color:var(--amber)}
.stat .l{margin-top:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;color:var(--s400);text-transform:uppercase;letter-spacing:.05em}
@media(min-width:640px){.stat .n{font-size:2.25rem;line-height:2.5rem}.stat .l{font-size:.875rem;line-height:1.25rem}}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
/* services */
.svc-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.svc{background:var(--card);padding:2rem;border-radius:1rem;border:1px solid var(--s800);box-shadow:0 10px 15px -3px rgba(0,0,0,.2);transition:all .3s}
.svc:hover{border-color:rgba(217,119,6,.5);transform:translateY(-4px)}
.svc .ic{width:3.5rem;height:3.5rem;background:rgba(217,119,6,.1);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:var(--amber);font-size:1.5rem;margin-bottom:1.5rem;transition:all .2s}
.svc:hover .ic{background:var(--amber);color:var(--dark)}
.svc h3{font-family:Montserrat,sans-serif;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:#fff;margin-bottom:.75rem;transition:color .2s}
.svc:hover h3{color:var(--amber)}
.svc>p{color:var(--s400);font-size:.875rem;line-height:1.625;margin-bottom:1.5rem}
.svc ul{font-size:.75rem;line-height:1rem;color:var(--s300);display:grid;gap:.5rem;margin-bottom:1.5rem}
.svc li{display:flex;align-items:center;gap:.5rem}.svc li i{color:var(--amber)}
.svc .more{display:inline-flex;align-items:center;gap:.5rem;color:var(--amber);font-size:.875rem;font-weight:600;transition:gap .2s}
.svc .more:hover{gap:.75rem}.svc .more i{font-size:.75rem}
@media(min-width:768px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
/* before / after */
.ba-wrap{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
.ba-text{display:flex;flex-direction:column;gap:1.5rem}
.ba-text .sub{color:var(--s300);margin-top:0}
.ba-text .eyebrow{margin:0}
.dcard{background:var(--card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--s800);display:grid;gap:1rem}
.dcard>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(51,65,85,.6);padding-bottom:.75rem}
.dcard>div:last-child{border:0;padding:0}
.dcard dt{color:var(--s400);font-size:.75rem;line-height:1rem;text-transform:uppercase;font-weight:600}
.dcard dd{color:#fff;font-size:.875rem;line-height:1.25rem;font-weight:700;text-align:right}
.dcard dd.am{color:var(--amber)}
.tip{font-size:.75rem;line-height:1rem;color:var(--s400);font-style:italic}.tip i{color:var(--amber);margin-right:.25rem}
.ba-container{position:relative;width:100%;height:22rem;overflow:hidden;border-radius:1rem;user-select:none;-webkit-user-select:none;--pos:50%;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);border:1px solid var(--s700);background:var(--card)}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:4px;background:var(--amber-l);z-index:20;transform:translateX(-50%);pointer-events:none}
.ba-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:var(--amber-l);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dark);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:30;margin:0}
.ba-container:focus-within .ba-button{outline:2px solid #fff;outline-offset:2px}
.ba-tag{position:absolute;bottom:1rem;z-index:15;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.375rem .75rem;border-radius:.25rem}
.ba-tag.a{left:1rem;background:var(--amber);color:var(--dark);font-weight:900;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.ba-tag.b{right:1rem;background:rgba(18,22,26,.8);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.picker{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}
.pick{border-radius:.5rem;overflow:hidden;border:1px solid var(--s700);background:var(--card);text-align:left;transition:border-color .2s}
.pick:hover,.pick.on{border-color:var(--amber)}
.pick img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.pick span{display:block;padding:.375rem .5rem;font-size:.6875rem;font-weight:600;color:var(--s300)}
.pick.on span{color:var(--amber)}
@media(min-width:640px){.ba-container{height:30rem}.picker{grid-template-columns:repeat(6,1fr)}}
@media(min-width:1024px){.ba-wrap{grid-template-columns:repeat(12,1fr)}.ba-text{grid-column:span 5}.ba-slider{grid-column:span 7}.ba-container{height:480px}}
/* estimator */
.panel{background:var(--card);border:1px solid var(--s800);border-radius:1rem;padding:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;top:0;left:0;right:0;height:.375rem;background:linear-gradient(to right,var(--amber),#FCD34D,var(--amber))}
.est-grid{display:grid;grid-template-columns:1fr;gap:2rem}
.est-in{display:grid;gap:1.5rem;align-content:start}
.elabel{display:block;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--s300);margin-bottom:.75rem}
.opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.opt-grid.t5{grid-template-columns:repeat(3,1fr)}
.opt-grid.f3{grid-template-columns:repeat(3,1fr)}
.est-space-btn,.est-finish-btn{padding:.75rem;background:var(--dark);border:1px solid var(--s700);color:var(--s300);font-size:.75rem;line-height:1rem;font-weight:600;border-radius:.75rem;transition:all .2s}
.est-space-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.est-space-btn i{font-size:1.125rem;line-height:1.75rem;color:var(--amber)}
.est-finish-btn{text-align:center}
.est-finish-btn .ft{font-weight:700;color:#fff}
.est-finish-btn .fs{font-size:10px;line-height:1rem;color:var(--s400);margin-top:.25rem;font-weight:600}
.est-space-btn:hover,.est-finish-btn:hover,.est-space-btn.active,.est-finish-btn.active{border-color:var(--amber)}
.est-space-btn.active{color:#fff}
.est-finish-btn.active .ft{color:var(--amber)}
.area-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.area-head .elabel{margin:0}
.area-head .v{color:var(--amber);font-weight:700;font-size:1.125rem;line-height:1.75rem}
.range{-webkit-appearance:none;appearance:none;width:100%;height:.5rem;background:var(--dark);border-radius:.5rem;cursor:pointer;outline-offset:6px}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--amber);border:2px solid var(--dark);box-shadow:0 0 0 1px var(--amber)}
.range::-moz-range-thumb{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--amber);border:2px solid var(--dark)}
.scale{display:flex;justify-content:space-between;font-size:10px;line-height:1rem;color:var(--s500);margin-top:.25rem}
.flat-note{font-size:.75rem;line-height:1.25rem;color:var(--s400);padding:.75rem 1rem;border:1px dashed var(--s700);border-radius:.75rem}
.est-out{background:var(--dark);padding:1.5rem;border-radius:.75rem;border:1px solid var(--s800);display:flex;flex-direction:column;justify-content:space-between;text-align:center}
.est-out .k{display:block;color:var(--s400);font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.est-out .price{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:900;font-size:1.875rem;line-height:2.25rem;color:#fff;margin-top:.5rem}
.est-out p{color:var(--s400);font-size:.75rem;line-height:1.625;margin-top:.75rem}
.est-out .cta{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--s800)}
.est-out .cta a{width:100%;padding:.875rem 1rem;font-size:.875rem;line-height:1.25rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.2)}
.est-out .cta i{font-size:.75rem}
@media(min-width:640px){.panel{padding:2.5rem}.est-space-btn{}.est-out .price{font-size:2.25rem;line-height:2.5rem}.opt-grid.t5{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.est-grid{grid-template-columns:repeat(12,1fr)}.est-in{grid-column:span 7}.est-out{grid-column:span 5;text-align:left}}
/* portfolio */
.pf-head{display:flex;flex-direction:column;margin-bottom:3rem}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.port-filter-btn{padding:.5rem 1rem;font-size:.75rem;line-height:1rem;font-weight:600;border-radius:.5rem;background:var(--card);color:var(--s300);border:1px solid var(--s700);transition:all .2s}
.port-filter-btn:hover{color:#fff}
.port-filter-btn.active{background:var(--amber);color:var(--dark);border-color:var(--amber)}
.pf-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.portfolio-card{position:relative;background:var(--card);border-radius:1rem;overflow:hidden;border:1px solid var(--s800)}
.portfolio-card .im{height:16rem;overflow:hidden;position:relative}
.portfolio-card .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.portfolio-card:hover .im img{transform:scale(1.05)}
.portfolio-card .im::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--dark),rgba(18,22,26,.2),transparent);opacity:.8;transition:opacity .2s}
.portfolio-card:hover .im::after{opacity:.9}
.portfolio-card .bd{padding:1.5rem;position:relative;z-index:10}
.portfolio-card .ct{color:var(--amber);font-size:10px;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.portfolio-card h3{font-family:Montserrat,sans-serif;font-size:1.125rem;line-height:1.75rem;font-weight:700;color:#fff;margin-top:.25rem}
.portfolio-card p{color:var(--s400);font-size:.75rem;line-height:1rem;margin-top:.5rem}
.portfolio-card .vd{margin-top:1rem;font-size:.75rem;line-height:1rem;font-weight:700;color:var(--amber);display:flex;align-items:center;gap:.25rem;transition:gap .2s}
.portfolio-card .vd:hover{gap:.5rem}
@media(min-width:640px){.pf-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.pf-head{flex-direction:row;align-items:flex-end;justify-content:space-between}.filters{margin-top:0}}
@media(min-width:1024px){.pf-grid{grid-template-columns:repeat(3,1fr)}}
/* modal */
.modal{position:fixed;inset:0;z-index:60;background:rgba(18,22,26,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:.5rem}
.modal.open{display:flex}
.modal-box{background:var(--card);border:1px solid var(--s700);max-width:62rem;width:100%;max-height:calc(100vh - 1rem);overflow:auto;border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);position:relative}
.m-x{position:absolute;top:1rem;right:1rem;background:rgba(18,22,26,.8);color:var(--s300);width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:20}
.m-x:hover{color:#fff}
.m-img{height:clamp(16rem,calc(100vh - 9.5rem),44rem);overflow:hidden;position:relative;background:var(--dark)}
.m-img img{width:100%;height:100%;object-fit:cover}
.m-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--card),transparent 12%);pointer-events:none}
.m-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(18,22,26,.8);color:#fff;display:flex;align-items:center;justify-content:center}
.m-nav:hover{background:var(--amber);color:var(--dark)}
.m-nav.p{left:1rem}.m-nav.n{right:1rem}
.m-count{position:absolute;left:1rem;bottom:1rem;z-index:20;background:rgba(18,22,26,.8);color:var(--s300);font-size:.75rem;padding:.25rem .625rem;border-radius:9999px}
.m-body{padding:.75rem 1.25rem .875rem;display:grid;grid-template-columns:1fr auto;column-gap:1rem;align-items:center}
.m-body .eyebrow,.m-body h3,.m-body p{grid-column:1}
.m-body .m-foot{grid-column:2;grid-row:1 / span 3}
.m-body .eyebrow{margin:0}
.m-body h3{font-family:Montserrat,sans-serif;font-size:1.125rem;line-height:1.5rem;font-weight:700;color:#fff;margin-top:.125rem}
.m-body p{color:var(--s300);font-size:.8125rem;line-height:1.25rem;margin-top:.125rem}
.m-foot{margin:0;padding:0;border:0;display:flex;justify-content:flex-end}
@media(max-width:600px){.m-body{grid-template-columns:1fr}.m-body .m-foot{grid-column:1;grid-row:auto;margin-top:.625rem;justify-content:flex-start}}
.m-foot a{background:var(--amber);color:var(--dark);font-size:.75rem;line-height:1rem;font-weight:700;padding:.625rem 1.25rem;border-radius:.5rem}
.m-foot a:hover{background:var(--amber-l)}
/* testimonials */
.rev-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:56rem;margin:0 auto}
.rev{background:var(--card);padding:2rem;border-radius:1rem;border:1px solid var(--s800);display:flex;flex-direction:column;justify-content:space-between}
.rev .qi{color:var(--amber);font-size:1.125rem;margin-bottom:1rem}
.rev blockquote p{color:var(--s300);font-size:.875rem;line-height:1.625;font-style:italic}
.rev footer{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--s800)}
.av{width:3rem;height:3rem;border-radius:50%;border:1px solid var(--amber);background:rgba(217,119,6,.1);color:var(--amber);font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rev h4{color:#fff;font-weight:700;font-size:.875rem;line-height:1.25rem}
.rev footer span{display:block;color:var(--s400);font-size:.75rem;line-height:1rem}
@media(min-width:768px){.rev-grid{grid-template-columns:repeat(2,1fr)}}
/* contact */
.ct-grid{display:grid;grid-template-columns:1fr;gap:3rem}
.ct-info{display:flex;flex-direction:column;gap:2rem}
.ct-info .sub{color:var(--s300)}
.ct-list{display:grid;gap:1.5rem}
.ct-item{display:flex;align-items:flex-start;gap:1rem}
.ct-ic{width:2.5rem;height:2.5rem;border-radius:.5rem;background:rgba(217,119,6,.1);display:flex;align-items:center;justify-content:center;color:var(--amber);flex-shrink:0;margin-top:.25rem}
.ct-item h4{color:#fff;font-weight:700;font-size:.875rem;line-height:1.25rem}
.ct-item p,.ct-item a{color:var(--s400);font-size:.75rem;line-height:1rem;margin-top:.25rem;display:block}
.ct-item a:hover{color:var(--amber)}
.badge2{padding:1rem;background:var(--card);border-radius:.75rem;border:1px solid var(--s800);display:flex;align-items:center;gap:.75rem}
.badge2 i{color:var(--amber);font-size:1.5rem;line-height:2rem}
.badge2 b{display:block;color:#fff;font-weight:700;font-size:.75rem;line-height:1rem}
.badge2 small{color:var(--s400);font-size:11px}
.fcard{background:var(--card);padding:2rem;border-radius:1rem;border:1px solid var(--s800);box-shadow:0 20px 25px -5px rgba(0,0,0,.3)}
.fcard h3{font-family:Montserrat,sans-serif;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:#fff;margin-bottom:1.5rem}
.fcard form{display:grid;gap:1rem}
.f2{display:grid;grid-template-columns:1fr;gap:1rem}
.fcard label{display:block;font-size:.75rem;line-height:1rem;font-weight:600;color:var(--s300);margin-bottom:.25rem}
.fcard input,.fcard select,.fcard textarea{width:100%;background:var(--dark);border:1px solid var(--s700);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;color:#fff;transition:border-color .2s}
.fcard input::placeholder,.fcard textarea::placeholder{color:var(--s500)}
.fcard input:focus,.fcard select:focus,.fcard textarea:focus{outline:none;border-color:var(--amber)}
.fcard .hp{position:absolute;left:-9999px}
.fcard .submit{width:100%;background:var(--amber);color:var(--dark);font-weight:700;font-size:.875rem;line-height:1.25rem;padding:1rem;border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.2);transition:all .2s}
.fcard .submit:hover{background:var(--amber-l)}
.fcard .priv{font-size:11px;color:var(--s500);text-align:center}
.note{padding:1rem;border-radius:.75rem;text-align:center;font-size:.875rem;font-weight:500;margin-bottom:1rem}
.note.ok{background:rgba(16,185,129,.1);border:1px solid #10B981;color:#6EE7B7}
.note.err{background:rgba(239,68,68,.1);border:1px solid #EF4444;color:#FCA5A5}
@media(min-width:640px){.f2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ct-grid{grid-template-columns:repeat(12,1fr)}.ct-info{grid-column:span 5}.fcard-col{grid-column:span 7}}
/* footer */
.site-footer{background:var(--dark);border-top:1px solid var(--s800);padding:3rem 0;color:var(--s400);font-size:.75rem;line-height:1rem}
.ft-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}
.ft-brand{display:grid;gap:1rem;align-content:start}
.ft-brand p{line-height:1.625}
.site-footer h4{color:#fff;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;font-size:11px}
.site-footer ul{display:grid;gap:.5rem}
.site-footer li a:hover,.ft-bar a:hover{color:var(--amber)}
.ft-bar{padding-top:2rem;border-top:1px solid rgba(30,41,59,.8);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem;color:var(--s500)}
@media(min-width:640px){.ft-bar{flex-direction:row}}
@media(min-width:768px){.ft-grid{grid-template-columns:repeat(4,1fr)}}
/* generic pages */
.page-body{padding:8rem 0 5rem;min-height:70vh}
.page-body h1{font-family:Montserrat,sans-serif;font-size:2.25rem;font-weight:800;color:#fff;margin-bottom:1.5rem}
.page-body .entry{color:var(--s300);line-height:1.75}
.page-body .entry a{color:var(--amber)}
.page-body .entry p{margin:0 0 1rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media(min-width:1024px){.est-out .price{font-size:1.625rem;line-height:2.25rem;white-space:nowrap}}

.own-land{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--s300);cursor:pointer}
.own-land input{width:1.125rem;height:1.125rem;accent-color:var(--amber)}

/* Narrow amber glow around pictures (same amber as the Get Free Quote button) */
:root{--glow:0 0 0 1px rgba(217,119,6,.55),0 0 10px 1px rgba(217,119,6,.5)}
.hcard,.ba-container,.pick,.portfolio-card,.modal-box{box-shadow:var(--glow)}
.hcard-in,.portfolio-card .im{box-shadow:none}

/* Before / After stickers */
.ptag{position:absolute;top:.75rem;right:.75rem;z-index:15;font-size:.6875rem;line-height:1;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.4rem .7rem;border-radius:.25rem;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.ptag.after{background:var(--amber);color:var(--dark)}
.ptag.before{background:rgba(18,22,26,.85);color:#fff;border:1px solid var(--s600,#475569)}
.m-img .ptag{right:3.5rem;top:1.25rem}

.rev blockquote p + p{margin-top:.875rem}
@media(min-width:768px){.rev-wide{grid-column:1 / -1}}
