:root{--black:#1a1a1a;--slab:#242424;--white:#fff;--concrete:#a8a8a2;--line:#383838;--display:"Saira","Arial Narrow",Arial,sans-serif;--body:"Barlow","Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sec{padding:clamp(64px,9vw,128px) 0;border-top:1px solid var(--line)}
h2,.h1{font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(2.2rem,5vw,4.2rem)}
h3{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;line-height:1.05;font-size:clamp(1.35rem,2.2vw,1.8rem)}
.lead{color:var(--concrete);max-width:52ch;margin-top:20px;font-size:1.12rem}
.btn{display:inline-block;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem;text-decoration:none;padding:15px 26px;border:2px solid var(--white);background:var(--white);color:var(--black);cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:transparent;color:var(--white)}
.btn.ghost{background:transparent;color:var(--white)}
.btn.ghost:hover{background:var(--white);color:var(--black)}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* header */
.head{position:sticky;top:0;z-index:50;background:rgba(26,26,26,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.head-logo img{height:clamp(34px,4vw,46px);width:auto}
.nav{display:flex;align-items:center;gap:clamp(20px,3vw,40px);margin-left:auto}
.nav a{font-family:var(--display);font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.03em;font-size:1rem;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--concrete)}
.nav a[aria-current=page]{border-bottom-color:var(--white)}
.nav .nav-call{border:2px solid var(--white);padding:8px 14px}
.nav .nav-call:hover{background:var(--white);color:var(--black)}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid var(--white);color:var(--white);font-family:var(--display);font-weight:700;font-style:italic;text-transform:uppercase;font-size:.95rem;padding:8px 16px;cursor:pointer}
@media (max-width:820px){
 .menu-btn{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--black);border-bottom:1px solid var(--line);padding:6px clamp(20px,4vw,48px) 20px}
 .nav.open{display:flex}
 .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.2rem}
 .nav a[aria-current=page]{border-bottom-color:var(--line);color:var(--concrete)}
 .nav .nav-call{margin-top:14px;text-align:center;border-bottom:2px solid var(--white)}
}

/* home hero */
.hero{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;background:#2a2a2a url(/img/hero.avif) center 40%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.9) 0%,rgba(20,20,20,.72) 32%,rgba(20,20,20,.1) 62%,rgba(20,20,20,0) 100%),linear-gradient(180deg,rgba(20,20,20,0) 60%,var(--black) 100%)}
.hero .wrap{position:relative;padding-top:120px;padding-bottom:clamp(40px,6vw,72px)}
.hero-logo{width:min(400px,78%);margin-bottom:clamp(20px,3vw,32px);filter:drop-shadow(0 2px 14px rgba(0,0,0,.55))}
.hero h1{font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.02em;font-size:clamp(2.8rem,7vw,5.8rem);text-shadow:0 2px 20px rgba(0,0,0,.4)}
.hero p{margin-top:22px;max-width:40ch;font-size:1.15rem}
.hero .facts{max-width:560px}
.facts{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.3);color:#d6d6d0;font-weight:600}

/* page hero */
.page-hero{padding:clamp(56px,8vw,110px) 0 clamp(44px,6vw,76px)}
.page-hero .h1{font-size:clamp(2.8rem,8vw,6.5rem);line-height:.9}

/* services rows */
.rows{margin-top:clamp(36px,5vw,60px);border-top:2px solid var(--white)}
.row{display:grid;grid-template-columns:minmax(200px,1fr) 1.6fr;gap:10px clamp(24px,5vw,80px);padding:28px 0;border-bottom:1px solid var(--line)}
.row p{color:var(--concrete);max-width:60ch}
.more{margin-top:34px}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(36px,5vw,60px);counter-reset:step}
.step{padding:26px 24px 8px 0;border-top:2px solid var(--white);counter-increment:step}
.step+.step{padding-left:24px;border-left:1px solid var(--line)}
.step::before{content:counter(step);display:block;font-family:var(--display);font-weight:900;font-style:italic;font-size:3rem;line-height:1;color:var(--concrete);margin-bottom:16px}
.step h3{font-size:1.45rem;margin-bottom:8px}
.step p{color:var(--concrete)}

/* photo split */
.photo-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
.photo-split img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#2a2a2a}
.photo-split .lead{color:var(--concrete)}
.ticks{margin-top:28px;border-top:2px solid var(--white)}
.ticks li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}

/* free */
.free{background:var(--white);color:var(--black);border-top:0}
.free-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.free-word{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;line-height:.8;letter-spacing:-.03em;font-size:clamp(6rem,22vw,17rem)}
.free h2{font-size:clamp(1.7rem,3.4vw,2.6rem)}
.free p{margin-top:16px;color:#333;max-width:46ch;font-size:1.08rem}
.free .btn{margin-top:26px;background:var(--black);color:var(--white);border-color:var(--black)}
.free .btn:hover{background:transparent;color:var(--black)}
.free a:focus-visible{outline-color:var(--black)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px)}
.split h3{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;margin-bottom:16px}
.split p{color:var(--concrete);max-width:50ch}
.split p+p{margin-top:14px}

/* why us savings list */
.saves{display:grid;grid-template-columns:repeat(2,1fr);margin-top:clamp(36px,5vw,60px);border-top:2px solid var(--white)}
.saves li{padding:28px 28px 30px 0;border-bottom:1px solid var(--line)}
.saves li:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.saves h3{margin-bottom:8px}
.saves p{color:var(--concrete);max-width:44ch}
.split .statement,.statement{color:var(--white);font-family:var(--display);font-style:italic;font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:-.02em;font-size:clamp(2.4rem,7vw,5.6rem);max-width:14ch}

/* comparison */
.compare-wrap{margin-top:clamp(36px,5vw,60px);overflow-x:auto}
.compare{width:100%;min-width:680px;border-collapse:collapse;border-top:2px solid var(--white)}
.compare th,.compare td{text-align:left;vertical-align:top;padding:20px 18px 22px;border-bottom:1px solid var(--line)}
.compare thead th{font-family:var(--display);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.3rem;padding-top:18px}
.compare thead th:first-child{padding-left:0}
.compare tbody th{font-weight:600;width:20%;padding-left:0}
.compare td{color:var(--concrete);width:26.6%}
.compare .us{color:var(--white);background:var(--slab)}
.compare thead .us{border-top:4px solid var(--white)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:clamp(36px,5vw,60px)}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#2a2a2a}
.gallery span{display:block;margin-top:10px;color:var(--concrete);font-size:.95rem}
@media (max-width:900px){.gallery{grid-template-columns:1fr 1fr}.gallery li:last-child:nth-child(odd){grid-column:1/-1}.gallery li:last-child:nth-child(odd) img{aspect-ratio:4/3}}

/* CTA + footer */
.cta{background:var(--slab)}
.phone{display:inline-block;margin-top:26px;font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(2.4rem,8vw,6.2rem);line-height:1;letter-spacing:-.02em;text-decoration:none;border-bottom:4px solid var(--white)}
.phone:hover{color:var(--concrete);border-color:var(--concrete)}
.foot{border-top:1px solid var(--line);padding:40px 0 48px;color:var(--concrete);font-size:.95rem}
.foot-in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.foot img{height:34px;width:auto}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--white)}

/* form */
.quote{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,100px);align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:28px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-weight:600}
.field label span{color:var(--concrete);font-weight:400}
.field input,.field select,.field textarea{font:inherit;color:var(--white);background:var(--slab);border:1px solid #555;border-radius:0;padding:12px 14px;width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--white)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start}
.form-msg{grid-column:1/-1;margin:0;padding:14px 16px;border-left:3px solid var(--white);background:var(--slab)}
.form-msg[hidden]{display:none}
.form-msg.error{border-left-color:#e0a13a}
.checklist{margin-top:24px;border-top:2px solid var(--white)}
.checklist li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}
.checklist li span{display:block;color:var(--concrete);font-weight:400}

@media (max-width:900px){
 .free-grid,.split,.photo-split,.quote{grid-template-columns:1fr}
 .process{grid-template-columns:1fr 1fr}
 .step:nth-child(3){border-left:0;padding-left:0}
 .photo-split img{aspect-ratio:4/3}
}
@media (max-width:640px){
 .row,.saves,.form{grid-template-columns:1fr}
 .saves li:nth-child(even){padding-left:0;border-left:0}
 .process{grid-template-columns:1fr}
 .step,.step+.step{padding:22px 0 30px;border-left:0}
 .actions .btn,.form .btn{width:100%;text-align:center}
 .hero{min-height:84vh;background-position:68% center}
 .hero::before{background:linear-gradient(180deg,rgba(20,20,20,.55) 0%,rgba(20,20,20,.35) 30%,rgba(20,20,20,.9) 62%,var(--black) 100%)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
