:root { --gold:#e5bd57; --gold-deep:#b98c2f; --silver:#d9d6dc; --ink:#0c0d0f; --paper:#f1eff1; --muted:#aaa7ad; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,Arial,sans-serif; }
a { color:inherit; }
.site-header { position:relative; z-index:10; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; padding:16px 5vw 18px; color:white; background:#08090a; border-bottom:1px solid #343235; }
.brand { display:flex; gap:11px; align-items:center; text-decoration:none; }
.brand img { display:block; width:auto; height:112px; object-fit:contain; }
nav { display:flex; align-items:center; gap:28px; } nav a { font-size:13px; font-weight:600; text-decoration:none; }
.nav-cta { padding:12px 17px; color:#111; background:var(--gold); }.menu-button { display:none; color:white; }
.hero { min-height:780px; position:relative; display:grid; grid-template-columns:1fr 320px; align-items:end; gap:60px; overflow:hidden; padding:130px 7vw 80px; color:white; background:#111416; }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 20%,#343a3d 0,transparent 38%),linear-gradient(130deg,transparent 50%,rgba(229,189,87,.14)); }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.hero-content,.hero-panel { position:relative; }.eyebrow,.section-number { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:"Barlow Condensed",Arial,sans-serif; text-transform:uppercase; }
h1 { max-width:900px; font-size:clamp(64px,9vw,138px); line-height:.78; letter-spacing:-.035em; } h1 span { color:var(--gold); }
.hero-copy { max-width:650px; margin:35px 0; color:#d1d4d5; font-size:20px; line-height:1.55; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { padding:16px 21px; font-size:13px; font-weight:600; text-decoration:none; }.primary { color:#111; background:var(--gold); }.secondary { border:1px solid #6d7173; }
.hero-panel { padding:28px; border-top:3px solid var(--gold); background:#202124; }.hero-panel p { font-weight:600; }.hero-panel ul { margin:20px 0 0; padding:0; list-style:none; color:#d0cdd2; }.hero-panel li { padding:12px 0; border-top:1px solid #3d3d42; }
.intro,.services,.safety,.projects,.emergency,.privacy,.contact { padding:110px 7vw; }
.intro { display:grid; grid-template-columns:1fr 2fr; gap:50px; }.intro h2,.section-heading h2,.safety h2,.contact h2 { max-width:900px; font-size:clamp(45px,6vw,82px); line-height:.95; }
.intro div>p { max-width:750px; font-size:18px; line-height:1.75; }
.services { color:white; background:var(--ink); }.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:65px; }.section-heading h2 { max-width:680px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #3c4042; border-left:1px solid #3c4042; }.service-grid article { min-height:270px; padding:30px; border-right:1px solid #3c4042; border-bottom:1px solid #3c4042; }.service-grid article>span { color:var(--gold); font-size:12px; }.service-grid h3 { margin:55px 0 15px; font-size:30px; }.service-grid p { color:#b9b6bc; line-height:1.6; }
.service-grid .service-wide { grid-column:1 / -1; min-height:210px; background:linear-gradient(90deg,rgba(229,189,87,.1),transparent 70%); }.service-grid .service-wide h3 { margin-top:35px; }
.safety { display:grid; grid-template-columns:1.4fr 1fr; gap:80px; background:#e5e2e5; }.safety-copy>p:last-child { max-width:700px; line-height:1.75; }.safety-list { border-top:1px solid #bbb7bd; }.safety-list div { display:grid; grid-template-columns:55px 1fr; padding:24px 0; border-bottom:1px solid #bbb7bd; }.safety-list strong { color:var(--gold-deep); }
.safety-list .credential-item { margin-top:12px; padding:24px 18px; color:#f4f1e9; background:#111315; border:1px solid var(--gold-deep); }.credential-item span { line-height:1.45; }.credential-item b { display:block; margin-bottom:4px; color:var(--gold); font-family:"Barlow Condensed",Arial,sans-serif; font-size:24px; letter-spacing:.05em; text-transform:uppercase; }
.project-case-study { display:grid; grid-template-columns:1.15fr .85fr; margin-top:45px; color:white; background:#111315; }.project-gallery { display:grid; grid-template-columns:1fr 1fr; gap:3px; align-content:start; background:#282a2d; }.project-gallery figure { position:relative; min-height:240px; margin:0; overflow:hidden; background:#1d2022; }.project-gallery .gallery-wide { grid-column:1 / -1; min-height:360px; }.project-gallery img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.project-gallery figure:hover img { transform:scale(1.025); }.project-gallery figcaption { position:absolute; right:0; bottom:0; left:0; padding:35px 18px 14px; color:white; background:linear-gradient(transparent,rgba(0,0,0,.82)); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }.project-copy { position:sticky; top:25px; align-self:start; padding:55px; }.project-location { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.project-copy h2 { max-width:620px; font-size:clamp(40px,5vw,68px); line-height:.95; }.project-copy>p:not(.project-location) { color:#bbb8be; line-height:1.7; }.project-copy dl { margin:38px 0 0; }.project-copy dl div { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:15px 0; border-top:1px solid #383a3d; }.project-copy dt { color:#8f8c91; font-size:12px; }.project-copy dd { margin:0; font-size:13px; }
.portfolio-heading { display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:end; margin:110px 0 45px; }.portfolio-heading h2 { max-width:820px; font-size:clamp(42px,5.5vw,72px); line-height:.95; }.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.portfolio-card { overflow:hidden; color:white; background:#111315; }.portfolio-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }.portfolio-card>div { padding:24px; }.portfolio-card p { margin:0 0 10px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.portfolio-card h3 { font-size:30px; line-height:1; }.portfolio-card span { display:block; margin-top:18px; color:#a9a6ac; font-size:12px; line-height:1.6; }
.gallery-button { width:100%; margin-top:22px; padding:12px 14px; color:var(--gold); background:transparent; border:1px solid #555258; font:600 12px Inter,Arial,sans-serif; cursor:pointer; text-align:left; }.gallery-button:hover { color:#111; background:var(--gold); border-color:var(--gold); }.lightbox { position:fixed; z-index:100; inset:0; display:none; grid-template-columns:70px minmax(0,1100px) 70px; align-items:center; justify-content:center; gap:15px; padding:70px 4vw 35px; background:rgba(0,0,0,.94); }.lightbox.open { display:grid; }.lightbox figure { margin:0; text-align:center; }.lightbox figure img { display:block; max-width:100%; max-height:78vh; margin:auto; object-fit:contain; }.lightbox figcaption { padding:14px; color:#d1ced3; font-size:13px; }.lightbox-close { position:absolute; top:20px; right:25px; width:45px; height:45px; color:white; background:transparent; border:1px solid #666; font-size:30px; cursor:pointer; }.lightbox-arrow { height:65px; color:white; background:transparent; border:1px solid #555; font-size:42px; cursor:pointer; }.lightbox-arrow:hover,.lightbox-close:hover { color:#111; background:var(--gold); border-color:var(--gold); }
.emergency { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; color:white; background:#151719; }.emergency h2 { font-size:clamp(45px,6vw,82px); line-height:.95; }.emergency-heading>p:last-child { max-width:580px; color:#bbb9bd; line-height:1.7; }.emergency form { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.emergency label { display:grid; gap:9px; color:#d4d1d6; font-size:12px; font-weight:600; letter-spacing:.04em; }.emergency input,.emergency textarea { width:100%; padding:14px; color:white; background:#202326; border:1px solid #47494d; border-radius:0; font:inherit; }.emergency input:focus,.emergency textarea:focus { outline:2px solid var(--gold); outline-offset:1px; }.full-field,.form-submit,.form-note { grid-column:1 / -1; }.form-submit { padding:17px 22px; color:#111; background:var(--gold); border:0; font-weight:700; cursor:pointer; }.form-note { margin:0; color:#969398; font-size:12px; line-height:1.5; }
.contact { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; color:#0c0d0f; background:linear-gradient(135deg,var(--gold),#f1d982); }.contact .section-number { color:#5e4516; }.contact p { max-width:620px; }.email-link { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:2px solid #0c0d0f; font-weight:600; text-decoration:none; word-break:break-word; }
.form-note a { color:var(--gold); }
.bot-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; color:#dedbe0; background:#232527; }.privacy h2 { max-width:720px; font-size:clamp(45px,6vw,82px); line-height:.95; }.privacy-copy { max-width:820px; }.privacy-copy p { margin:0 0 20px; line-height:1.7; }.privacy-copy a { color:var(--gold); }.privacy-small { padding-top:20px; color:#aaa7ad; border-top:1px solid #45474a; font-size:12px; }
footer { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:30px; align-items:center; padding:35px 7vw; color:#c3c6c7; background:#0d0f10; font-size:12px; line-height:1.65; } footer p:last-child { text-align:right; } footer a { color:var(--gold); }.footer-brand { color:white; }.footer-brand img { height:92px; }
@media(max-width:850px){.site-header{padding:12px 5vw;gap:4px}.site-header>.brand img{height:88px}nav { display:none; position:absolute; top:112px; right:0; left:0; flex-direction:column; align-items:stretch; padding:25px 5vw; color:white; background:#0d0f10; }nav.open{display:flex}.menu-button{display:block;border:0;background:none;font-weight:700}.hero{grid-template-columns:1fr;min-height:720px}.hero-panel{display:none}.intro,.safety,.emergency,.contact,.project-case-study,.portfolio-heading{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.project-gallery .gallery-wide{grid-column:1;min-height:260px}.project-gallery figure{min-height:260px}.project-copy{position:static;padding:35px 25px}.lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:70px 10px 20px}.lightbox-arrow{height:50px;font-size:30px}.emergency form{grid-template-columns:1fr}.emergency form>*{grid-column:1}.service-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading h2{margin-top:25px}footer{grid-template-columns:1fr}footer p:last-child{text-align:left}}
@media(max-width:850px){.privacy{grid-template-columns:1fr}}
.thanks-page { min-height:100vh; display:grid; place-items:center; padding:30px; color:white; background:#111416; }
.thanks-card { width:min(760px,100%); padding:clamp(35px,7vw,80px); border-top:4px solid var(--gold); background:#202326; }
.thanks-card img { display:block; width:auto; height:115px; margin:0 auto 35px; }
.thanks-card h1 { font-size:clamp(58px,10vw,110px); line-height:.85; }
.thanks-card>p:not(.eyebrow) { max-width:620px; color:#d1ced3; line-height:1.7; }
.thanks-card .button { display:inline-block; margin-top:18px; }
