:root{--black:#090a08;--panel:#11120f;--panel2:#171813;--gold:#f2bd32;--gold2:#d99a16;--cream:#f7f3e8;--muted:#b8b8ae;--line:#303127;--shell:min(1160px,calc(100% - 40px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}
.skip{position:fixed;left:1rem;top:-5rem;z-index:99;background:var(--gold);color:#000;padding:.75rem 1rem}
.skip:focus{top:1rem}
a{color:inherit;text-decoration:none}
.shell{width:var(--shell);margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(9,10,8,.94);backdrop-filter:blur(15px);border-bottom:1px solid #24251f}
.nav-wrap{min-height:86px;display:flex;align-items:center;gap:34px}
.brand{width:118px;flex:0 0 auto;display:flex;align-items:center;line-height:1}
.brand-mark{width:42px;height:42px;border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:"Barlow Condensed";font-weight:900;font-size:1.75rem;transform:skew(-5deg)}
.brand strong{display:block;font-family:"Barlow Condensed";font-size:1.55rem;letter-spacing:.08em}
.brand small{display:block;color:var(--gold);font:700 .64rem Inter;letter-spacing:.14em;margin-top:.25rem}
.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:.9rem;font-weight:700;letter-spacing:0}
.site-header nav a:hover{color:var(--gold)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--gold);color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.035em}
.menu{display:none;background:none;border:1px solid var(--line);color:white;padding:.55rem .85rem}
.hero{position:relative;min-height:720px;overflow:hidden;background:radial-gradient(circle at 22% 48%,rgba(242,189,50,.13),transparent 29%),linear-gradient(135deg,#090a08 0%,#11120f 60%,#080906 100%)}
.hero-grid{position:relative;min-height:720px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;padding-block:56px 96px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;position:relative}
.hero-copy:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #202119;border-radius:50%;left:-220px;top:80px}
.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.22em;margin:0 0 1.25rem}
.eyebrow.gold{color:var(--gold)}
h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;line-height:.92;margin:0}
h1{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.025em}
h1 span{color:var(--gold)}
.lead{max-width:620px;font-size:clamp(1.1rem,1.7vw,1.4rem);color:#d2d2c9;margin:2rem 0}
.contact-preference{max-width:650px;margin:-.6rem 0 1.7rem;padding-left:1rem;border-left:3px solid var(--gold);color:#c7c8be}
.contact-preference strong{color:var(--cream)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:.85rem 1.4rem;font-weight:800;font-size:.82rem;letter-spacing:.06em;border:1px solid var(--gold);cursor:pointer}
.primary{background:var(--gold);color:#111}
.primary:hover{background:#ffd15b}
.secondary{color:var(--gold)}
.secondary:hover{background:#1c1a11}
.call-option{display:inline-block;align-self:flex-start;margin-top:1rem;color:var(--muted);font-size:.9rem;text-decoration:underline;text-underline-offset:4px}
.call-option:hover{color:var(--gold)}
.trust{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;color:var(--muted);font-size:.85rem}
.hero-logo{position:relative;display:grid;place-items:center;min-height:500px}
.hero-logo img{position:relative;z-index:2;width:min(560px,100%);height:auto;object-fit:contain;filter:drop-shadow(0 34px 42px rgba(0,0,0,.55))}
.logo-halo{position:absolute;width:min(390px,75vw);aspect-ratio:1;border:1px solid rgba(242,189,50,.32);border-radius:50%;box-shadow:0 0 0 40px rgba(242,189,50,.025),0 0 0 80px rgba(242,189,50,.015)}
.intro{padding:7rem clamp(1.25rem,5vw,6rem) 3rem;display:grid;grid-template-columns:1fr 1fr;gap:5vw;border-top:1px solid var(--line)}
h2{font-size:clamp(3rem,5.3vw,5.3rem);letter-spacing:-.015em}
.intro>p{font-size:1.15rem;color:var(--muted);max-width:660px;margin:1.5rem 0 0}
.services-grid{padding:2rem clamp(1.25rem,5vw,6rem) 7rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.services-grid article{background:var(--panel);padding:2.2rem;min-height:300px;position:relative;transition:.25s}
.services-grid article:hover{background:#1b1a13;transform:translateY(-4px)}
.services-grid article>b{position:absolute;right:1.4rem;top:1.2rem;color:#65665b;font:700 1rem "Barlow Condensed"}
.icon{color:var(--gold);font:800 2.6rem "Barlow Condensed";height:64px}
.services-grid h3{font-size:2rem;margin:.8rem 0 1rem}
.services-grid p{color:var(--muted);margin:0}
.why{padding:7rem clamp(1.25rem,7vw,8rem);background:var(--cream);color:#111;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}
.why-number{border:2px solid #111;padding:3rem;display:flex;align-items:end;gap:1.2rem}
.why-number span{font:900 clamp(6rem,13vw,12rem)/.7 "Barlow Condensed";color:var(--gold2)}
.why-number small{font-weight:800;line-height:1.25}
.why-copy p{max-width:700px;color:#555}
.why-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem;font-weight:700}
.why-copy li:before{content:"—";color:var(--gold2);margin-right:.6rem}
.fixer{margin:0;display:grid;grid-template-columns:1fr 1fr;background:#15100d}
.fixer-title{padding:7rem clamp(1.25rem,6vw,7rem);background:transparent;display:flex;flex-direction:column;justify-content:center}
.fixer-title h2{font-size:clamp(4rem,7vw,7rem)}
.fixer-title h2 span{font-size:.45em;letter-spacing:.07em}
.fixer-copy{padding:7rem clamp(1.25rem,6vw,7rem);display:flex;flex-direction:column;justify-content:center}
.fixer-copy>p{font-size:1.2rem;color:#d3c9c2}
.fixer-services{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 2rem}
.fixer-services span{border:1px solid #573522;padding:.5rem .8rem;font-size:.82rem}
.text-link{font-weight:800;color:#ff8b35;letter-spacing:.05em}
.text-link span{font-size:1.5rem;margin-left:.5rem}
.reviews{padding:7rem clamp(1.25rem,6vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--panel2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-copy{display:flex;flex-direction:column;justify-content:center}
.reviews-copy>p{font-size:1.15rem;color:var(--muted);margin:0 0 2rem;max-width:680px}
.estimate{padding:7rem clamp(1.25rem,6vw,7rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.estimate-copy>p:not(.eyebrow){color:var(--muted);max-width:620px}
.contact-cards{display:grid;gap:1px;background:var(--line);margin-top:2.2rem}
.contact-cards a{background:var(--panel);padding:1.2rem 1.4rem}
.contact-cards small{display:block;color:var(--gold);font-weight:800;letter-spacing:.14em}
.contact-cards strong{display:block;margin-top:.2rem;overflow-wrap:anywhere}
form{background:var(--panel);padding:2rem;border-top:3px solid var(--gold)}
label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.03em;margin-bottom:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,select,textarea{width:100%;margin-top:.4rem;border:1px solid #3a3b32;background:#0d0e0c;color:white;border-radius:0;padding:.85rem;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
textarea{resize:vertical}
.form-note{font-size:.75rem;color:#85867d;margin:.8rem 0 0}
.form-status{min-height:1.5em;margin:.6rem 0 0;color:var(--gold);font-size:.82rem;font-weight:700}
footer{border-top:1px solid var(--line);padding:3rem clamp(1.25rem,5vw,6rem);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.5fr;gap:2rem;align-items:start;color:var(--muted);font-size:.85rem}
footer small{color:var(--gold);font-weight:800;letter-spacing:.12em}
footer p{margin:.4rem 0}
.copyright{font-size:.75rem}
.menu:focus,.btn:focus,a:focus{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:761px) and (max-width:1180px){
.nav-wrap{flex-wrap:wrap;gap:8px 24px;padding-block:8px}
.site-header nav{order:3;width:100%;justify-content:center;gap:clamp(14px,2.4vw,26px);margin:0;padding-top:7px;border-top:1px solid var(--line);font-size:.84rem}
.header-contact{margin-left:auto}
}
@media(max-width:760px){.menu{display:block;margin-left:auto}
.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;padding:1.5rem;background:#0c0d0b;flex-direction:column;align-items:stretch;gap:0;margin:0}
.site-header nav.open{display:flex}
.site-header nav a{padding:14px 4px;border-bottom:1px solid var(--line)}
.header-contact{display:none}
.hero,.hero-grid{min-height:auto}
.hero-grid{grid-template-columns:1fr;gap:18px;padding-top:34px}
.hero-logo{min-height:330px}
.hero-copy{min-height:auto;padding-top:1rem}
.intro,.why,.fixer,.reviews,.estimate{grid-template-columns:1fr}
.services-grid{grid-template-columns:1fr 1fr}
.why-number{max-width:620px}
.fixer-title,.fixer-copy{padding-top:5rem;padding-bottom:5rem}
footer{grid-template-columns:1fr 1fr}
.copyright{grid-column:1/-1}
}
@media(max-width:600px){.nav-wrap{min-height:76px}
.site-header nav{top:76px}
.brand strong{font-size:1.25rem}
.brand small{font-size:.52rem}
.hero-grid{padding-block:22px 68px}
.hero-logo{min-height:270px}
.hero-logo img{width:min(500px,92%)}
.logo-halo{width:260px}
.hero-copy{min-height:auto;padding-top:1rem;padding-bottom:1rem}
.services-grid{grid-template-columns:1fr}
.intro,.why,.fixer-title,.fixer-copy,.reviews,.estimate{padding-top:4.5rem;padding-bottom:4.5rem}
.intro{grid-template-columns:1fr}
.why-number{padding:2rem}
.why-number span{font-size:7rem}
.why-copy ul{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
footer{grid-template-columns:1fr}
.trust{gap:.7rem}
.actions{display:grid}
.btn{width:100%}
}

.brand img{display:block;width:auto;height:68px;object-fit:contain}
.fixer-title{padding-top:5rem;padding-bottom:5rem;align-items:flex-start}
.fixer-logo{display:block;width:min(100%,520px);height:auto;mix-blend-mode:normal;object-fit:contain}
.mobile-bar{display:none}
footer .brand img{height:auto;width:min(100%,180px)}

@media(max-width:600px){
body{padding-bottom:62px}
.brand img{height:58px;max-width:170px}
.mobile-bar{position:fixed;z-index:60;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;min-height:62px;background:#0b0c0f;border-top:1px solid rgba(255,255,255,.2)}
.mobile-bar a{display:grid;place-items:center;font-size:.86rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.mobile-bar a:first-child{background:var(--gold);color:#111}
.mobile-bar a:last-child{border-left:1px solid rgba(255,255,255,.2)}
}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

.northern-business-link { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid currentColor; }
.northern-business-link h3 { margin: 0 0 .75rem; font-size: 1.3rem; }
.northern-business-link p { margin: 0 0 1.25rem; line-height: 1.65; }

.northern-logo-link{display:block;width:min(100%,420px);margin-bottom:1.5rem}
.northern-logo{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:screen}

/* Keep the logo and its description together when the columns stack. */
@media(max-width:760px){
  .fixer-title{padding-top:3rem;padding-bottom:0}
  .fixer-copy{padding-top:0;padding-bottom:3rem}
  .fixer-copy>p:first-child{margin-top:0}
}
