
:root{
  --pine:#173b2b;
  --deep:#0b2018;
  --moss:#607b48;
  --safety:#ec6b2d;
  --stone:#d5d0c3;
  --paper:#f3f0e7;
  --white:#faf9f5;
  --ink:#202923;
  --muted:#667168;
  --line:rgba(32,41,35,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Archivo",sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font:inherit}

.header{
  height:76px;background:var(--deep);color:white;padding:0 3vw;
  display:grid;grid-template-columns:1fr .8fr 1fr;align-items:center;
  position:relative;z-index:50
}
.logo img{width:220px;height:auto}
.header-status{justify-self:center;display:flex;align-items:center;gap:.55rem;font:500 .5rem "DM Mono",monospace;letter-spacing:.12em}
.dot{width:7px;height:7px;background:var(--safety);border-radius:50%}
.nav{justify-self:end;display:flex;gap:1.5rem;font:500 .52rem "DM Mono",monospace;text-transform:uppercase}
.menu-btn{display:none;border:0;background:none}
.menu-btn span{display:block;width:28px;height:1px;background:white;margin:7px 0}

.hero{height:calc(100vh - 76px);min-height:780px;position:relative;color:white;background:var(--deep)}
.hero-image{position:absolute;inset:0;margin:0}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,13,.82),rgba(5,18,13,.28) 55%,rgba(5,18,13,.45))}
.hero-gridlines{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:25% 100%,100% 25%}
.hero-copy{position:absolute;left:6vw;top:50%;transform:translateY(-50%);z-index:2;max-width:850px}
.kicker,.eyebrow,.services-label,.process-head>span,.zeus-copy>span,.emergency-panel>span,.equipment-title>span,.slot-copy>span,.estimate-copy>span{
  font:500 .52rem "DM Mono",monospace;letter-spacing:.15em;text-transform:uppercase
}
.eyebrow.light{color:#9db0a4}
.hero h1,.opening h2,.field-caption h2,.process h2,.safety h2,.zeus-note h2,.emergency h2,.equipment h2,.slot-note h2,.estimate h2{
  font:600 clamp(4.2rem,7vw,8rem)/.87 "Barlow Condensed",sans-serif;
  text-transform:uppercase;letter-spacing:-.035em;margin:1rem 0
}
.hero-copy p{max-width:560px;line-height:1.75;color:#c9d2cc}
.cta{display:inline-block;margin-top:1.8rem;background:var(--safety);padding:1rem 1.3rem;font:500 .55rem "DM Mono",monospace;letter-spacing:.1em}
.hero-data{position:absolute;right:3vw;bottom:3vw;width:320px;z-index:2;background:rgba(10,31,23,.85);backdrop-filter:blur(10px)}
.hero-data>div{padding:1rem 1.2rem;border-bottom:1px solid #355045}
.hero-data small{display:block;font:.45rem "DM Mono",monospace;color:#7f988c;margin-bottom:.3rem}
.hero-data strong{font:.57rem "DM Mono",monospace}
.hero-index{position:absolute;right:3vw;top:3vw;z-index:2;font:500 .5rem "DM Mono",monospace;letter-spacing:.14em}

.opening{padding:10vw 7vw;background:var(--white);display:grid;grid-template-columns:.15fr 1.2fr .55fr;gap:5vw}
.opening-number{font:600 3rem "Barlow Condensed",sans-serif;color:#9ba69f}
.opening h2{font-size:clamp(3.8rem,5.3vw,6rem)}
.opening-copy{align-self:end}.opening-copy p{line-height:1.9;color:var(--muted)}

.services{background:var(--paper);display:grid;grid-template-columns:.25fr 1.75fr;border-top:1px solid var(--ink)}
.services-label{padding:3rem 2rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--ink);background:var(--stone)}
.services-label span{font-size:2.5rem;font-family:"Barlow Condensed",sans-serif}
.service-list{display:grid;grid-template-columns:repeat(3,1fr)}
.service-list article{min-height:330px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.code{font:.48rem "DM Mono",monospace;color:#78837b}
.service-list h3{font:600 1.75rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin:auto 0 .6rem}
.service-list p{font-size:.74rem;line-height:1.65;color:var(--muted)}
.tag{font:.44rem "DM Mono",monospace;color:#7c887e;letter-spacing:.08em}

.field-photo{min-height:760px;position:relative;background:var(--deep)}
.field-photo figure{margin:0;height:760px;width:100%}
.field-photo figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,22,.78),transparent 70%)}
.field-caption{position:absolute;left:6vw;bottom:6vw;color:white;max-width:650px;z-index:2}
.field-caption>span{font:.5rem "DM Mono",monospace;letter-spacing:.12em}
.field-caption h2{font-size:clamp(4rem,5.6vw,6.3rem)}
.field-caption p{max-width:540px;line-height:1.8;color:#c4d0c8}

.process{padding:9vw 6vw;background:var(--white)}
.process-head{display:grid;grid-template-columns:.3fr 1fr;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:2rem}
.process h2{font-size:clamp(4rem,5.8vw,6.6rem);margin:0}
.process-line{display:grid;grid-template-columns:repeat(4,1fr)}
.process-line article{padding:2rem;min-height:300px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.process-line article:last-child{border-right:0}
.process-line b{font:.5rem "DM Mono",monospace;color:#778079}
.process-line h3{font:600 1.6rem "Barlow Condensed",sans-serif;text-transform:uppercase;margin:auto 0 .5rem}
.process-line p{font-size:.73rem;line-height:1.6;color:var(--muted)}

.safety{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--pine);color:white;min-height:720px}
.safety-copy{padding:7vw 6vw;display:flex;flex-direction:column;justify-content:center}
.safety h2{font-size:clamp(3.8rem,5.1vw,5.9rem)}
.safety-copy p{line-height:1.85;color:#b9c8bf}
.safety-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.safety-tags span{border:1px solid #6a8576;padding:.5rem .7rem;font:.45rem "DM Mono",monospace}
.safety figure{margin:0;min-height:720px}

.zeus-note{padding:9vw 8vw;background:var(--safety);display:grid;grid-template-columns:.3fr 1.2fr;gap:6vw;align-items:center}
.lightning{font-size:9rem;color:#9c3d13}
.zeus-note h2{font-size:clamp(3.7rem,5vw,5.8rem)}
.zeus-copy p{max-width:800px;line-height:1.85;color:#603018}

.emergency{min-height:760px;position:relative;background:var(--deep);color:white}
.storm{position:absolute;inset:0;margin:0}
.storm:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,13,.1),rgba(5,17,13,.88))}
.emergency-panel{position:absolute;right:5vw;top:50%;transform:translateY(-50%);width:min(600px,46vw);z-index:2}
.emergency h2{font-size:clamp(3.8rem,5.3vw,6rem)}
.emergency-panel p{line-height:1.85;color:#becbc3}
.emergency-list{margin-top:2rem;border-top:1px solid #60756a}
.emergency-list div{display:grid;grid-template-columns:50px 1fr;padding:.8rem 0;border-bottom:1px solid #465a50;font:.52rem "DM Mono",monospace}
.emergency-list b{color:var(--safety)}

.equipment{padding:9vw 6vw;background:var(--paper)}
.equipment-title{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:4vw}
.equipment h2{font-size:clamp(4rem,5.8vw,6.6rem);margin:0}
.equipment-grid{display:grid;grid-template-columns:1fr 1fr .6fr;gap:1vw;align-items:end}
.equipment-grid figure{margin:0;position:relative}
.eq1{height:560px}.eq2{height:680px}
.equipment-grid figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--deep);color:white;padding:.5rem .7rem;font:.48rem "DM Mono",monospace}
.equipment-note{min-height:360px;background:var(--stone);padding:2rem;display:flex;flex-direction:column;justify-content:flex-end}
.equipment-note span{font:.5rem "DM Mono",monospace;letter-spacing:.1em}
.equipment-note p{font-size:.73rem;line-height:1.7;color:#5d665f}

.slot-note{padding:10vw 8vw;background:var(--moss);color:white;display:grid;grid-template-columns:.3fr 1.2fr;gap:6vw}
.slot-code{font:500 .52rem "DM Mono",monospace;letter-spacing:.12em;color:#d0dcc9}
.slot-note h2{font-size:clamp(3.7rem,5vw,5.8rem)}
.slot-copy p{max-width:840px;line-height:1.85;color:#d8e0d4}

.estimate{padding:9vw 7vw;background:var(--stone);display:grid;grid-template-columns:1fr .8fr;gap:7vw;align-items:center}
.estimate h2{font-size:clamp(4rem,5.5vw,6.2rem)}
.estimate-copy p{max-width:650px;line-height:1.85;color:#5f685f}
.estimate-card{background:var(--deep);color:white;padding:2rem}
.estimate-card .row{padding:1rem 0;border-bottom:1px solid #365044}
.estimate-card small{display:block;font:.45rem "DM Mono",monospace;color:#829a8e;margin-bottom:.35rem}
.estimate-card strong{font:.56rem "DM Mono",monospace}
.estimate-card a{display:block;margin-top:1.5rem;background:var(--safety);padding:1rem;text-align:center;font:.52rem "DM Mono",monospace;letter-spacing:.08em}

footer{padding:5vw 6vw 2.5vw;background:#071611;color:white;display:grid;grid-template-columns:1fr .5fr .4fr;gap:5vw}
.footer-logo img{width:220px;height:auto}.footer-logo p{font-size:.67rem;color:#82968a;max-width:360px}
.footer-links{display:flex;flex-direction:column;gap:.55rem;font:.52rem "DM Mono",monospace;text-transform:uppercase}
.footer-code{text-align:right;font:600 2rem/1 "Barlow Condensed",sans-serif;color:#496357}
.footer-bottom{grid-column:1/-1;border-top:1px solid #23382e;margin-top:3rem;padding-top:1.4rem;font:.47rem "DM Mono",monospace;color:#657a6f}
.mobile-menu{display:none}

@media(max-width:980px){
  .header{grid-template-columns:1fr auto}.header-status,.nav{display:none}.menu-btn{display:block}
  .opening{grid-template-columns:.2fr 1fr}.opening-copy{grid-column:2}
  .services{grid-template-columns:1fr}.services-label{min-height:120px;border-right:0;flex-direction:row}
  .service-list{grid-template-columns:1fr 1fr}
  .equipment-grid{grid-template-columns:1fr 1fr}.equipment-note{grid-column:1/-1}
  .mobile-menu{display:flex;position:fixed;inset:76px 0 0;background:var(--deep);color:white;z-index:40;flex-direction:column;padding:8vw;transform:translateX(100%);transition:.35s}
  .mobile-menu.open{transform:none}.mobile-menu a{font:600 3rem/1.45 "Barlow Condensed",sans-serif;text-transform:uppercase;border-bottom:1px solid #30483d}
}

@media(max-width:680px){
  .header{height:70px;padding:0 5vw}.logo img{width:190px}.mobile-menu{inset:70px 0 0}
  .hero{height:900px}.hero-copy{left:7vw;right:7vw}.hero h1{font-size:5rem}.hero-data{left:7vw;right:7vw;bottom:5vw;width:auto}.hero-index{display:none}
  .opening{grid-template-columns:1fr;padding:18vw 7vw}.opening-copy{grid-column:auto}
  .service-list{grid-template-columns:1fr}.service-list article{min-height:250px}
  .field-photo,.field-photo figure{min-height:700px;height:700px}.field-caption{left:7vw;right:7vw;bottom:8vw}
  .process{padding:18vw 6vw}.process-head{grid-template-columns:1fr}.process-line{grid-template-columns:1fr}
  .safety{grid-template-columns:1fr}.safety-copy{padding:18vw 7vw}.safety figure{min-height:520px}
  .zeus-note{grid-template-columns:1fr;padding:18vw 7vw}.lightning{font-size:7rem}
  .emergency{min-height:800px}.emergency-panel{left:7vw;right:7vw;top:50%;width:auto}
  .equipment{padding:18vw 6vw}.equipment-title{grid-template-columns:1fr}.equipment-grid{grid-template-columns:1fr}.eq1,.eq2{height:520px}.equipment-note{grid-column:auto}
  .slot-note{grid-template-columns:1fr;padding:18vw 7vw}
  .estimate{grid-template-columns:1fr;padding:18vw 7vw}
  footer{grid-template-columns:1fr;padding:14vw 6vw 6vw}.footer-code{text-align:left}.footer-bottom{grid-column:1}
}
