@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@500;600;700;800&display=swap');

:root{
  --green:#12352B;
  --green2:#0D2922;
  --char:#151817;
  --sand:#D5C4A1;
  --orange:#D88925;
  --off:#F5F4EF;
  --muted:#737A75;
  --line:rgba(21,24,23,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--off);color:var(--char);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{width:100%;height:100%;object-fit:cover;display:block}
::selection{background:var(--orange);color:#fff}

.cursor-dot{position:fixed;z-index:9999;width:7px;height:7px;border-radius:50%;background:var(--orange);pointer-events:none;transform:translate(-50%,-50%);transition:.18s}
.cursor-dot.big{width:32px;height:32px;background:transparent;border:1px solid var(--orange)}
@media(pointer:coarse){.cursor-dot{display:none}}

.site-header{position:fixed;z-index:100;top:16px;left:50%;transform:translateX(-50%);width:min(94%,1500px);height:72px;padding:0 18px;display:flex;align-items:center;gap:28px;border:1px solid transparent;color:#fff;transition:.35s}
.site-header.scrolled{background:rgba(245,244,239,.92);backdrop-filter:blur(18px);border-color:rgba(21,24,23,.12);border-radius:18px;color:var(--char);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto}
.brand-mark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--orange);color:#fff;font:800 14px Manrope}
.brand>span:last-child{display:flex;flex-direction:column}
.brand strong{font:700 13px Manrope;letter-spacing:.02em}
.brand small{font-size:9px;opacity:.68;margin-top:3px}
.desktop-nav{display:flex;gap:24px;font:600 11px Manrope;text-transform:uppercase;letter-spacing:.05em}
.desktop-nav a{opacity:.78;position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:.25s}
.desktop-nav a:hover{opacity:1}.desktop-nav a:hover:after{right:0}
.quote-btn{padding:13px 17px;border-radius:9px;background:var(--orange);color:#fff;font:700 10px Manrope;letter-spacing:.05em}
.menu-btn{display:none;background:none;border:0;padding:12px}.menu-btn span{display:block;width:22px;height:1px;background:currentColor;margin:5px}
.mobile-menu{position:fixed;z-index:120;inset:0;background:var(--green2);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:36px;gap:14px;transform:translateY(-100%);transition:.55s cubic-bezier(.2,.8,.2,1)}
.mobile-menu.open{transform:none}
.mobile-menu a{font:700 clamp(34px,9vw,64px) Manrope;border-bottom:1px solid rgba(255,255,255,.15);padding:10px 0}
.menu-close{position:absolute;right:18px;top:18px;border:0;background:none;color:#fff;font-size:36px}

.hero{position:relative;min-height:100svh;background:var(--char);color:#fff;overflow:hidden;display:flex;align-items:center;padding:150px 6vw 90px}
.hero-image{position:absolute;inset:0}.hero-image img{filter:saturate(.88) contrast(1.05)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,14,.93) 0%,rgba(12,16,14,.77) 38%,rgba(12,16,14,.18) 72%,rgba(12,16,14,.32))}
.hero-copy{position:relative;z-index:3;max-width:780px}
.eyebrow{font:700 10px Manrope;letter-spacing:.18em;text-transform:uppercase;color:var(--sand);margin:0 0 18px}
.eyebrow.dark{color:var(--green)}
.hero h1{font:800 clamp(54px,7vw,112px)/.86 Manrope;margin:0 0 28px;letter-spacing:-.055em}
.hero h1 em{font-style:normal;color:var(--orange)}
.lead{max-width:610px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.78)}
.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:15px 18px;border-radius:8px;font:700 10px Manrope;letter-spacing:.05em;border:1px solid transparent;transition:.25s}
.btn span{transition:.25s}.btn:hover span{transform:translateX(5px)}
.btn-primary{background:var(--orange);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.38);color:#fff;background:rgba(255,255,255,.03)}
.btn-ghost.light{border-color:rgba(255,255,255,.35)}
.hero-tags{position:absolute;z-index:3;left:6vw;bottom:34px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;font:600 9px Manrope;letter-spacing:.08em}
.hero-tags i{width:4px;height:4px;border-radius:50%;background:var(--orange)}
.scroll-cue{position:absolute;z-index:3;right:30px;bottom:28px;font:600 9px Manrope;letter-spacing:.16em;writing-mode:vertical-rl;display:flex;gap:8px;align-items:center}

.trust-strip{padding:80px 6vw;background:var(--off)}
.trust-intro{text-align:center;margin-bottom:30px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.trust-grid article{background:var(--off);padding:38px;position:relative}
.trust-grid b{font:800 56px Manrope;color:rgba(18,53,43,.1);position:absolute;right:28px;top:18px}
.line-icon{font-size:30px;color:var(--orange)}
.trust-grid h3{font:700 18px Manrope;margin:24px 0 10px}
.trust-grid p{color:var(--muted);line-height:1.6;margin:0}

.about{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px}
.about-image{min-height:650px}
.about-copy{background:var(--green);color:#fff;padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}
.about-copy .eyebrow{color:var(--sand)}
.about-copy h2,.section-heading h2,.equipment-copy h2,.cta h2{font:800 clamp(42px,5.2vw,80px)/.95 Manrope;letter-spacing:-.045em;margin:0 0 28px}
.about-copy p{line-height:1.75;color:rgba(255,255,255,.74)}
.process-mini{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:28px 0;color:var(--sand);font:700 9px Manrope;letter-spacing:.08em}
.process-mini i{font-style:normal;color:var(--orange)}
.text-cta{display:inline-flex;gap:18px;align-items:center;color:#fff;font:700 10px Manrope;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:8px;align-self:flex-start}

.services,.capabilities,.why,.process{padding:100px 6vw}
.section-heading{max-width:920px;margin-bottom:50px}
.section-heading h2{color:var(--char)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-card{background:#fff;padding:30px;min-height:300px;border:1px solid rgba(21,24,23,.08);position:relative;overflow:hidden;transition:.35s}
.service-card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.35s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(0,0,0,.08)}
.service-card:hover:before{transform:scaleX(1)}
.service-card>span{color:var(--orange);font:800 14px Manrope}
.service-card h3{font:800 25px/1.05 Manrope;margin:55px 0 18px;letter-spacing:-.03em}
.service-card p{color:var(--muted);line-height:1.65}
.service-card a{position:absolute;left:30px;bottom:28px;font:700 9px Manrope;color:var(--green)}

.featured-project{position:relative;min-height:760px;display:flex;align-items:center;color:#fff;overflow:hidden}
.project-image{position:absolute;inset:0}.project-image img{filter:saturate(.86)}
.project-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,11,.92),rgba(8,14,11,.62) 48%,rgba(8,14,11,.13))}
.project-copy{position:relative;z-index:2;max-width:700px;margin-left:6vw}
.project-copy h2{font:800 clamp(46px,6vw,92px)/.92 Manrope;letter-spacing:-.05em;margin:0 0 20px}
.project-copy p{max-width:620px;line-height:1.7;color:rgba(255,255,255,.78)}
.project-meta{color:var(--sand)!important;font:600 10px Manrope!important}
.project-steps{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:28px 0;color:var(--sand);font:700 10px Manrope}

.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.cap-grid article{background:var(--off);padding:34px}
.cap-grid span{color:var(--orange);font:700 11px Manrope}
.cap-grid h3{font:800 22px Manrope;margin:38px 0 18px}
.cap-grid ul{list-style:none;padding:0;margin:0;color:var(--muted);line-height:1.9}

/* Equipment section — decorative panel instead of a photo (was low-res/blurred).
   Background matches the other dark sections (var(--char)) with a fine diagonal
   texture and a simple line-drawn rig icon, consistent with the ▥ ⌁ ✓ marks used
   earlier on the page. */
.equipment{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--char);color:#fff}
.equipment-photo{
  min-height:700px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  background:var(--char);
  border-right:1px solid rgba(255,255,255,.08);
}
.equipment-photo:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 26px);
}
.equipment-photo .rig-icon{
  position:relative;width:56%;max-width:300px;
  stroke:var(--orange);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;
}
.equipment-photo .rig-icon .dot{fill:var(--orange);stroke:none}
.equipment-photo .rig-caption{position:relative;font:700 10px Manrope;letter-spacing:.14em;color:rgba(255,255,255,.42)}
.equipment-copy{padding:8vw 7vw}
.equipment-copy h2{color:#fff}
.equip-list{margin:35px 0}
.equip-list article{padding:18px 0;border-top:1px solid rgba(255,255,255,.13)}
.equip-list h3{font:700 16px Manrope;margin:0 0 6px}
.equip-list p{margin:0;color:rgba(255,255,255,.58);font-size:13px}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.why-grid article{background:#fff;padding:28px;border:1px solid rgba(21,24,23,.08)}
.why-grid span{color:var(--orange);font:700 10px Manrope}
.why-grid h3{font:800 20px Manrope;margin:30px 0 10px}
.why-grid p{color:var(--muted);line-height:1.6}

.sectors{padding:100px 6vw;background:var(--green);color:#fff}
.sectors .section-heading h2{color:#fff}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15)}
.sector-grid article{background:var(--green);padding:32px;min-height:220px}
.sector-grid h3{font:700 22px Manrope}
.sector-grid p{color:rgba(255,255,255,.63);line-height:1.6}

.process-track{display:flex;align-items:stretch;gap:18px}
.process-track article{flex:1;padding:24px;background:#fff;border:1px solid rgba(21,24,23,.08)}
.process-track b{color:var(--orange);font:800 28px Manrope}
.process-track h3{font:800 16px Manrope;margin:28px 0 10px}
.process-track p{color:var(--muted);line-height:1.6;font-size:13px}
.process-track>i{width:30px;height:1px;background:var(--orange);align-self:center}

.cta{padding:100px 6vw;background:var(--char);color:#fff;display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}
.cta h2{color:#fff}
.cta-copy>p:last-of-type{color:rgba(255,255,255,.65);line-height:1.7;max-width:760px}
.cta-phone-note{margin-top:14px;color:rgba(255,255,255,.7);font-size:13px}
.cta-phone-note a{color:var(--orange);font-weight:600;border-bottom:1px solid currentColor}
.cta-actions{display:flex;flex-direction:column;gap:12px}

footer{background:#0E1110;color:#fff;padding:60px 6vw 28px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.footer-brand{display:flex;gap:12px;align-items:flex-start}
.footer-brand>div{display:flex;flex-direction:column}.footer-brand strong{font:700 13px Manrope}.footer-brand small{font-size:10px;opacity:.6;margin-top:4px}
footer h4{font:700 11px Manrope;text-transform:uppercase;letter-spacing:.08em;color:var(--sand);margin:0 0 18px}
footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:9px;font-size:12px;color:rgba(255,255,255,.63)}
.footer-label{color:rgba(255,255,255,.4);font-size:10px;letter-spacing:.05em;text-transform:uppercase;margin-top:6px}
.footer-label:first-child{margin-top:0}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:10px;color:rgba(255,255,255,.48)}
.footer-bottom a{color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.25)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .desktop-nav,.quote-btn{display:none}.menu-btn{display:block;color:inherit}
  .about,.equipment{grid-template-columns:1fr}
  .about-image,.equipment-photo{min-height:480px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .cap-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .sector-grid{grid-template-columns:repeat(2,1fr)}
  .process-track{overflow-x:auto}.process-track article{min-width:240px}.process-track>i{min-width:24px}
  .cta{grid-template-columns:1fr}
  footer{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .site-header{top:8px;width:calc(100% - 16px);height:60px;padding:0 12px}
  .brand-mark{width:36px;height:36px}.brand strong{font-size:11px}.brand small{display:none}
  .hero{padding:120px 20px 100px;min-height:850px}
  .hero h1{font-size:clamp(48px,14vw,72px)}
  .hero-overlay{background:linear-gradient(180deg,rgba(12,16,14,.35),rgba(12,16,14,.9) 52%,rgba(12,16,14,.96))}
  .hero-image img{object-position:62% center}
  .hero-tags{left:20px;right:20px;bottom:25px;gap:10px}.scroll-cue{display:none}
  .trust-strip,.services,.capabilities,.why,.process,.sectors,.cta{padding:70px 20px}
  .trust-grid,.service-grid,.cap-grid,.why-grid,.sector-grid{grid-template-columns:1fr}
  .about-copy,.equipment-copy{padding:70px 20px}
  .about-image,.equipment-photo{min-height:360px}
  .featured-project{min-height:760px;padding:80px 20px}.project-copy{margin:0}.project-overlay{background:linear-gradient(180deg,rgba(8,14,11,.25),rgba(8,14,11,.95) 50%)}
  .project-image img{object-position:60% center}
  .process-track{gap:10px}
  .cta-actions .btn{width:100%}
  footer{grid-template-columns:1fr;padding:50px 20px 24px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
