:root{--ink:#111211;--ink-2:#1a1b19;--cream:#f5f0e5;--paper:#fbfaf5;--gold:#d6a83c;--gold-light:#efca6f;--muted:#6c6b65;--line:rgba(17,18,17,.13);--shell:min(1180px,calc(100vw - 48px));--radius:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:12px;top:12px;z-index:1000;background:var(--cream);padding:10px 14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.utility-bar{background:var(--gold);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.utility-inner a{border-bottom:1px solid currentColor}.site-header{position:sticky;top:0;z-index:100;background:rgba(17,18,17,.96);backdrop-filter:blur(16px);color:white;border-bottom:1px solid rgba(255,255,255,.09)}.nav-wrap{height:78px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand img{width:50px;height:50px;object-fit:contain}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:800 17px/1 "Manrope",sans-serif;letter-spacing:.07em}.brand-copy small{margin-top:7px;font:700 11px/1 "Manrope",sans-serif;letter-spacing:.43em;color:var(--gold-light)}.site-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto}.site-nav a{font-size:14px;color:#e8e5dc;transition:color .2s}.site-nav a:hover{color:var(--gold-light)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--gold);color:var(--ink);border:1px solid var(--gold);font-weight:800;letter-spacing:.015em;cursor:pointer;transition:background .2s,color .2s,transform .2s}.button:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px)}.button-small{min-height:44px;padding:0 18px;font-size:13px}.button-ghost{background:transparent;color:var(--cream);border-color:rgba(245,240,229,.45)}.button-ghost:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle>span:not(.sr-only){display:block;width:25px;height:2px;background:white;margin:5px}
.hero{position:relative;min-height:760px;background:#111;display:flex;align-items:center;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/hero-roof.png') center/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,10,.94) 0%,rgba(10,11,10,.79) 39%,rgba(10,11,10,.26) 68%,rgba(10,11,10,.07) 100%),linear-gradient(0deg,rgba(10,11,10,.68),transparent 35%)}.hero-inner{position:relative;padding:110px 0 70px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light)}.eyebrow span{display:inline-block;width:36px;height:2px;background:currentColor}.eyebrow.dark{color:#917020}.hero h1{max-width:760px;margin:24px 0 22px;font:800 clamp(50px,7vw,92px)/.98 "Manrope",sans-serif;letter-spacing:-.05em}.hero>div p{}.hero-inner>p{max-width:650px;margin:0;color:#ddd9d0;font-size:20px;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding:10px 0}.text-link span{color:var(--gold-light);margin-left:6px}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:770px;margin-top:80px;padding-top:28px;border-top:1px solid rgba(255,255,255,.25)}.hero-facts div{display:grid;gap:2px;padding-right:24px}.hero-facts div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:28px}.hero-facts strong{font-size:15px;color:var(--cream)}.hero-facts span{font-size:13px;color:#aaa9a4}
.section{padding:110px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:120px;align-items:end}.intro h2,.section-heading h2,.process h2,.why h2,.areas h2,.faq h2,.contact h2{margin:18px 0 0;font:800 clamp(38px,5vw,65px)/1.06 "Manrope",sans-serif;letter-spacing:-.045em}.intro-copy{border-left:1px solid rgba(17,18,17,.2);padding-left:48px}.intro-copy p{font-size:19px;color:#4f4e49;margin:0 0 28px}.arrow-link{font-weight:800;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:6px}.arrow-link span{color:#a67b18}
.services{background:var(--paper)}.split-heading{display:grid;grid-template-columns:1.15fr .65fr;gap:80px;align-items:end;margin-bottom:58px}.section-heading>p{font-size:18px;color:var(--muted);margin:0;padding-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;padding:34px 28px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:440px;background:var(--paper);transition:transform .25s,box-shadow .25s;overflow:hidden}.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(17,18,17,.08);z-index:2}.featured-card{background:var(--ink);color:white}.service-number{font:700 12px/1 "Manrope";color:#9a968a;letter-spacing:.12em}.featured-card .service-number{color:var(--gold-light)}.service-icon{margin:55px 0 28px;color:var(--gold);font-size:42px;line-height:1}.service-card h3{font:800 22px/1.2 "Manrope";letter-spacing:-.02em;margin:0 0 16px}.service-card p{color:var(--muted);margin:0 0 22px}.featured-card p{color:#c9c6be}.service-card ul{list-style:none;margin:0;padding:0}.service-card li{font-size:13px;padding:7px 0;border-top:1px solid var(--line)}.featured-card li{border-color:rgba(255,255,255,.14)}.scope-note,.image-note{font-size:12px;color:#77746c;margin:18px 0 0}
.process{background:var(--ink);color:white}.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px}.process-intro{position:sticky;top:125px;align-self:start}.process-intro p{color:#bfbcb5;font-size:18px;margin:25px 0 35px;max-width:460px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:34px 0;border-top:1px solid rgba(255,255,255,.16)}.steps li:last-child{border-bottom:1px solid rgba(255,255,255,.16)}.steps>li>span{font:700 13px/1 "Manrope";color:var(--gold-light);letter-spacing:.1em;padding-top:8px}.steps h3{margin:0 0 8px;font:700 24px/1.25 "Manrope"}.steps p{margin:0;color:#aaa8a1}
.work{background:var(--cream)}.gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.025)}.gallery-main{height:620px}.gallery-side{height:620px}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 28px 24px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.78));display:grid}.gallery figcaption strong{font:700 18px/1.3 "Manrope"}.gallery figcaption span{font-size:13px;color:#d3d0c8}.image-note{text-align:right}
.why{background:var(--paper)}.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:120px}.why-copy>p{font-size:18px;color:var(--muted);max-width:520px}.principles{border-top:1px solid var(--line)}.principles article{display:grid;grid-template-columns:62px 1fr 1.1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.principles span{color:#a67b18;font:700 12px/1 "Manrope";padding-top:8px}.principles h3{font:700 20px/1.3 "Manrope";margin:0}.principles p{color:var(--muted);margin:0}
.areas{background:var(--ink);color:white;overflow:hidden}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area-map{height:530px;position:relative;background:radial-gradient(circle at 54% 48%,rgba(214,168,60,.16),transparent 5%),linear-gradient(145deg,#252621,#151613);border:1px solid rgba(255,255,255,.12);overflow:hidden}.area-map:before,.area-map:after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(27deg,transparent 0 54px,rgba(255,255,255,.045) 55px 57px);transform:rotate(-9deg)}.area-map:after{background:repeating-linear-gradient(118deg,transparent 0 90px,rgba(214,168,60,.07) 91px 93px)}.map-ring{position:absolute;border:1px solid rgba(214,168,60,.42);border-radius:50%;left:54%;top:48%;transform:translate(-50%,-50%)}.ring-one{width:190px;height:190px}.ring-two{width:360px;height:360px}.map-dot{position:absolute;left:54%;top:48%;width:12px;height:12px;border-radius:50%;background:var(--gold-light);transform:translate(-50%,-50%);box-shadow:0 0 0 10px rgba(214,168,60,.13)}.map-label{position:absolute;left:calc(54% + 18px);top:calc(48% - 8px);font:800 13px/1 "Manrope";letter-spacing:.14em}.area-copy>p{color:#c5c1b9;font-size:18px}.area-list{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 36px;border-top:1px solid rgba(255,255,255,.15)}.area-list span{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);font-size:14px}.area-list span:nth-child(even){padding-left:25px;border-left:1px solid rgba(255,255,255,.15)}
.faq{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.65fr 1.1fr;gap:120px}.faq-intro{position:sticky;top:125px;align-self:start}.faq-intro>p{color:var(--muted);font-size:18px}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:25px 55px 25px 0;font:700 18px/1.35 "Manrope";position:relative}summary::-webkit-details-marker{display:none}summary span:before,summary span:after{content:"";position:absolute;right:5px;top:50%;width:18px;height:2px;background:var(--ink)}summary span:after{transform:rotate(90deg);transition:transform .2s}details[open] summary span:after{transform:rotate(0)}details p{margin:0;padding:0 65px 28px 0;color:var(--muted)}
.contact{background:var(--gold)}.contact-card{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--ink);color:white;box-shadow:0 30px 70px rgba(17,18,17,.22)}.contact-copy{padding:65px}.contact-copy h2{font-size:clamp(38px,4vw,58px)}.contact-copy>p{color:#c3c0b9;font-size:18px}.phone-display{display:inline-block;margin:32px 0 25px;font:800 clamp(31px,4.5vw,54px)/1 "Manrope";letter-spacing:-.04em;color:var(--gold-light);border-bottom:2px solid currentColor}.contact-meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:#aaa8a1;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-form{background:var(--cream);color:var(--ink);padding:65px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;margin-bottom:16px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid rgba(17,18,17,.22);border-radius:0;background:#fffdf8;padding:14px 15px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#9c7415;box-shadow:0 0 0 3px rgba(214,168,60,.2)}textarea{resize:vertical}.form-submit{width:100%;margin-top:4px}.form-note{font-size:11px;color:#706e67;margin:13px 0 0}.form-status{font-weight:700;color:#72540e;min-height:1.5em;margin:10px 0 0}
.site-footer{background:#0c0d0c;color:white;padding:70px 0 110px}.footer-main{display:grid;grid-template-columns:1fr auto 1fr;gap:50px;align-items:center;padding-bottom:50px}.footer-brand img{width:56px;height:56px}.footer-links{display:flex;gap:25px;font-size:13px;color:#c4c1b9}.footer-contact{display:grid;text-align:right;gap:6px}.footer-contact span{font-size:11px;color:#96948e;text-transform:uppercase;letter-spacing:.11em}.footer-contact a{font:700 20px/1 "Manrope";color:var(--gold-light)}.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:#85837e;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.mobile-call{display:none}
@media(max-width:980px){.site-nav{position:fixed;inset:114px 0 auto;background:var(--ink);display:none;flex-direction:column;align-items:flex-start;padding:30px 24px;border-top:1px solid rgba(255,255,255,.1)}.site-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.intro-grid,.split-heading,.process-grid,.why-grid,.area-grid,.faq-grid{grid-template-columns:1fr;gap:50px}.intro-copy{border-left:0;padding:0}.service-grid{grid-template-columns:1fr 1fr}.process-intro,.faq-intro{position:static}.gallery{grid-template-columns:1fr}.gallery-main,.gallery-side{height:470px}.why-grid{gap:60px}.contact-card{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-contact{text-align:left}.utility-license{display:none}}
@media(max-width:650px){:root{--shell:min(100% - 30px,1180px)}body{padding-bottom:70px}.utility-inner{justify-content:center}.utility-inner>span:first-child{display:none}.site-header .nav-wrap{height:70px}.site-nav{top:106px}.brand img{width:44px;height:44px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:9px}.hero{min-height:760px;align-items:flex-end}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(10,11,10,.97) 8%,rgba(10,11,10,.75) 60%,rgba(10,11,10,.25))}.hero-inner{padding:100px 0 48px}.hero h1{font-size:50px}.hero-inner>p{font-size:17px}.hero-actions{align-items:stretch;flex-direction:column;gap:10px}.text-link{text-align:center}.hero-facts{grid-template-columns:1fr;margin-top:45px}.hero-facts div,.hero-facts div+div{padding:12px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.14)}.section{padding:78px 0}.intro h2,.section-heading h2,.process h2,.why h2,.areas h2,.faq h2,.contact h2{font-size:39px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.split-heading{margin-bottom:35px}.steps li{grid-template-columns:45px 1fr}.gallery-main,.gallery-side{height:360px}.principles article{grid-template-columns:42px 1fr}.principles article p{grid-column:2}.area-map{height:360px}.area-list{grid-template-columns:1fr}.area-list span:nth-child(even){padding-left:0;border-left:0}.contact-copy,.contact-form{padding:38px 24px}.field-row{grid-template-columns:1fr}.phone-display{font-size:37px}.footer-main{gap:35px}.footer-bottom{flex-direction:column}.mobile-call{display:block;position:fixed;z-index:200;left:0;right:0;bottom:0;background:var(--gold);border-top:1px solid #f2ca68}.mobile-call a{height:70px;display:flex;align-items:center;justify-content:center;gap:10px}.mobile-call span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.mobile-call strong{font:800 17px/1 "Manrope"}.site-footer{padding-bottom:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.contact-action{gap:0.55em}.contact-action svg,.mobile-call svg{flex-shrink:0}

/* Keep customer and employee entry points together at the right of the header. */
.nav-wrap{gap:20px}.site-nav{gap:18px}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-actions .button{white-space:nowrap}
@media(max-width:1160px){
  .site-nav{position:absolute;inset:auto 0 auto;top:100%;background:var(--ink);display:none;flex-direction:column;align-items:flex-start;padding:30px 24px;border-top:1px solid rgba(255,255,255,.1)}
  .site-nav.open{display:flex}
  .menu-toggle{display:block;margin-left:auto}
  .header-actions .header-cta{display:inline-flex}
}
@media(max-width:760px){
  .site-header .nav-wrap{height:auto;min-height:70px;flex-wrap:wrap;gap:12px;padding:14px 0}
  .header-actions{flex-basis:100%;width:100%;justify-content:flex-end}
  .header-actions .button{flex:1;min-height:42px;padding:0 12px;font-size:12px}
}
