:root {
  --ink: #08090a;
  --panel: #111315;
  --panel-2: #191b1e;
  --paper: #f3f2ee;
  --white: #fff;
  --muted: #a8adb3;
  --line: #30343a;
  --red: #df2421;
  --red-dark: #a81412;
  --head: "Barlow Condensed", Impact, sans-serif;
  --brand: "Bebas Neue", "Barlow Condensed", Impact, sans-serif;
  --body: Inter, Arial, sans-serif;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--white); font: 16px/1.6 var(--body); }
body::before { content: ""; display: block; height: 5px; background: linear-gradient(90deg,var(--red) 0 34%,#fff 34% 36%,#35383d 36%); }
a { color: inherit; }
img { max-width: 100%; }
.wrap { width: min(var(--max), calc(100% - 44px)); margin-inline: auto; }
.eyebrow { margin: 0 0 12px; color: #ff4a45; font: 800 .84rem/1 var(--head); letter-spacing: .18em; text-transform: uppercase; }
h1,h2,h3 { margin: 0; font-family: var(--head); line-height: .96; text-transform: uppercase; }
h1 { font-size: clamp(4rem, 8.2vw, 8.4rem); letter-spacing: -.035em; }
h2 { font-size: clamp(3rem, 5.2vw, 5.6rem); letter-spacing: -.025em; }
h3 { font-size: clamp(1.7rem, 2.5vw, 2.5rem); }
.outline { color: transparent; -webkit-text-stroke: 2px #fff; }
.red { color: var(--red); }
.button { min-height: 52px; padding: 12px 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; background: var(--red); color: #fff; font: 800 1.08rem/1 var(--head); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: .2s ease; }
.button:hover { background: #f33430; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(223,36,33,.25); }
.button.ghost { background: rgba(0,0,0,.28); border-color: #fff; }
.button.ghost:hover { background: #fff; color: #111; }
.text-link { font: 800 1.08rem var(--head); text-transform: uppercase; text-underline-offset: 5px; }

.site-header { height: 92px; padding: 10px clamp(22px,5vw,76px); display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 28px; position: sticky; top: 0; z-index: 50; background: rgba(7,8,9,.97); border-bottom: 1px solid #24272b; }
.brand { display: flex; align-items: center; text-decoration: none; }
.brand-lockup { width: 245px; height: 72px; display: grid; grid-template-rows: 35px 37px; align-content: center; color: #fff; }
.brand-lockup img { width: 207px; height: 35px; margin-left: 1px; object-fit: contain; object-position: left bottom; }
.brand-lockup > span { white-space: nowrap; font: 400 3.18rem/.72 var(--brand); letter-spacing: .005em; text-transform: uppercase; }
.nav { display: flex; justify-content: center; gap: clamp(16px,2.3vw,34px); }
.nav a,.phone { color: #e6e8ea; font: 700 .96rem var(--head); letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.nav a:hover,.nav a.active,.phone:hover { color: #ff4a45; }
.menu { display: none; border: 1px solid #555; padding: 9px 14px; background: transparent; color: #fff; font: 800 1rem var(--head); text-transform: uppercase; }

.hero-showcase { overflow: hidden; background: #070707; }
.hero-message { min-height: 440px; padding-block: 72px 66px; display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(40px,7vw,110px); align-items: end; }
.hero-message h1 { font-size: clamp(4rem,7.5vw,7.6rem); }
.hero-side { padding-bottom: 8px; }
.hero-copy { max-width: 690px; margin: 25px 0 30px; color: #e2e4e6; font-size: clamp(1.05rem,1.45vw,1.28rem); }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero-rig { position: relative; margin: 0; background: #17191b; }
.hero-rig img { display: block; width: 100%; max-height: 760px; object-fit: cover; object-position: center 58%; }
.hero-rig figcaption { position: absolute; left: clamp(18px,5vw,76px); bottom: 22px; max-width: 600px; padding: 16px 20px; background: rgba(5,6,7,.9); border-left: 5px solid var(--red); box-shadow: 0 12px 34px rgba(0,0,0,.28); }
.hero-rig figcaption strong,.hero-rig figcaption span { display: block; }
.hero-rig figcaption strong { font: 800 1.35rem var(--head); letter-spacing: .04em; text-transform: uppercase; }
.hero-rig figcaption span { color: #c3c6c9; font-size: .88rem; }
.hero-rail { background: rgba(8,9,10,.97); border-top: 1px solid #484b50; border-bottom: 1px solid #24272b; }
.hero-rail .wrap { display: grid; grid-template-columns: repeat(3,1fr); }
.rail-item { min-height: 118px; padding: 24px 28px; border-right: 1px solid #34373c; display: flex; gap: 16px; align-items: center; }
.rail-item:last-child { border: 0; }
.rail-num { color: var(--red); font: 900 2.2rem var(--head); }
.rail-item strong,.rail-item span { display: block; }
.rail-item strong { font: 800 1.25rem var(--head); text-transform: uppercase; }
.rail-item span { color: var(--muted); font-size: .86rem; }

.pathways { background: var(--paper); color: #111; padding: 100px 0; }
.section-intro { max-width: 790px; margin-bottom: 48px; }
.section-intro p:last-child { max-width: 680px; color: #555; font-size: 1.08rem; }
.path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.path-card { min-height: 520px; position: relative; overflow: hidden; display: flex; align-items: flex-end; color: #fff; text-decoration: none; background-position: center; background-size: cover; }
.path-card.rental { background-image: url("assets/summit-forge-rental-real.webp"); }
.path-card.material { background-image: url("assets/summit-forge-delivery-real.webp"); }
.path-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.08) 72%); transition: .25s; }
.path-card:hover::before { background: linear-gradient(0deg,rgba(130,12,10,.92),rgba(0,0,0,.04) 72%); }
.path-content { position: relative; z-index: 2; padding: 38px; width: 100%; }
.path-content b { display: block; color: #ff4a45; font: 800 .8rem var(--head); letter-spacing: .15em; text-transform: uppercase; }
.path-content h3 { margin: 8px 0 12px; font-size: clamp(2.5rem,4.5vw,4.5rem); }
.path-content p { max-width: 540px; margin: 0 0 18px; color: #ddd; }
.path-arrow { font: 900 1.3rem var(--head); text-transform: uppercase; }

.trust { position: relative; padding: 105px 0; background: linear-gradient(140deg,#17191b,#090a0b); }
.trust::before { content: ""; position: absolute; inset: 0; opacity: .12; background: repeating-linear-gradient(135deg,transparent 0 22px,#fff 23px 24px); }
.trust .wrap { position: relative; }
.trust-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.trust-copy p:not(.eyebrow) { color: #b9bdc1; max-width: 600px; font-size: 1.08rem; }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #35383d; border: 1px solid #35383d; }
.proof { min-height: 190px; padding: 28px; background: #101214; }
.proof b { color: var(--red); font: 900 2.5rem var(--head); }
.proof h3 { margin: 10px 0 6px; font-size: 1.55rem; }
.proof p { margin: 0; color: #9da2a7; font-size: .9rem; }

.explore { padding: 100px 0; background: #fff; color: #111; }
.link-list { border-top: 1px solid #bbb; }
.link-row { padding: 24px 0; display: grid; grid-template-columns: 70px 1fr auto; gap: 25px; align-items: center; border-bottom: 1px solid #ccc; color: #111; text-decoration: none; transition: .2s; }
.link-row:hover { padding-left: 14px; background: #f3f2ee; }
.link-row b { color: var(--red); font: 900 1.8rem var(--head); }
.link-row strong { font: 800 clamp(1.6rem,3vw,2.6rem) var(--head); text-transform: uppercase; }
.link-row span { font: 800 1rem var(--head); text-transform: uppercase; }

.final-cta { padding: 95px 0; background: var(--red); color: #fff; }
.cta-inner { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }
.final-cta p { max-width: 660px; margin: 14px 0 0; }
.final-cta .button { background: #08090a; }

.page-hero { min-height: 520px; position: relative; display: flex; align-items: flex-end; background: #111 center/cover no-repeat; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.32)); }
.page-hero .wrap { position: relative; padding-block: 115px 75px; }
.page-hero h1 { max-width: 900px; font-size: clamp(4rem,7vw,7rem); }
.page-hero p:last-child { max-width: 680px; color: #ddd; font-size: 1.12rem; }
.hero-rental { background-image: url("assets/summit-forge-rental-real.webp"); }
.hero-rental.hero-real-rig { background-image: url("assets/summit-forge-real-rig.webp"); background-position: center 58%; }
.hero-material { background-image: url("assets/summit-forge-delivery-real.webp"); }
.hero-services { background-image: url("assets/summit-forge-hero.png"); }
.content-section { padding: 90px 0; background: var(--paper); color: #111; }
.content-section.dark { background: #0c0d0e; color: #fff; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.copy p { color: #555; }
.dark .copy p { color: #b2b6ba; }
.check-list { list-style: none; margin: 25px 0 0; padding: 0; }
.check-list li { padding: 13px 0 13px 30px; position: relative; border-bottom: 1px solid #d0cec8; }
.dark .check-list li { border-color: #333; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--red); font-weight: 900; }
.warning { margin-top: 25px; padding: 18px 20px; border-left: 5px solid var(--red); background: #fff; }
.dark .warning { background: #181a1c; }
.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 42px; }
.step { padding: 30px; background: #fff; border-top: 5px solid var(--red); box-shadow: 0 12px 34px rgba(0,0,0,.06); }
.dark .step { background: #17191b; }
.step b { color: var(--red); font: 900 2.5rem var(--head); }
.step h3 { margin: 16px 0 8px; font-size: 1.75rem; }
.step p { color: #64686c; }
.dark .step p { color: #a9adb1; }
.chip-grid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.chip { padding: 10px 14px; border: 1px solid #c8c6c0; background: #fff; font: 700 .95rem var(--head); text-transform: uppercase; }
.dark .chip { background: #17191b; border-color: #3b3e43; }

.quote-section { padding: 95px 0; background: var(--paper); color: #111; }
.quote-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 75px; }
.quote-copy p { color: #555; }
.direct a { display: block; padding: 7px 0; font-weight: 700; }
.quote-form { padding: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 17px; background: #fff; border: 1px solid #d3d0ca; box-shadow: 0 24px 60px rgba(0,0,0,.08); }
.quote-form label { font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.quote-form input,.quote-form select,.quote-form textarea { width: 100%; margin-top: 7px; padding: 14px; border: 1px solid #bbb; background: #fafafa; color: #111; font: inherit; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { outline: 2px solid var(--red); outline-offset: 1px; }
.photo-upload span { color: #666; font-weight: 600; }
.photo-upload input[type="file"] { cursor: pointer; text-transform: none; }
.photo-upload small { display: block; margin-top: 9px; color: #555; font-size: .82rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.photo-upload small a { color: #b91816; font-weight: 800; }
.full { grid-column: 1/-1; }
.form-status { margin: 0; color: #555; }
.form-honey { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.form-success { padding: 14px 16px; border-left: 4px solid #238636; background: #edf8ef; color: #174c22; font-weight: 700; }
.form-error { padding: 14px 16px; border-left: 4px solid var(--red); background: #fff0ef; color: #761d1a; font-weight: 700; }
.form-error a { color: inherit; }
.quote-form .button:disabled { cursor: wait; opacity: .65; transform: none; box-shadow: none; }

.faq-list { max-width: 930px; }
.faq-list details { border-top: 1px solid #444; }
.faq-list details:last-child { border-bottom: 1px solid #444; }
.faq-list summary { padding: 23px 45px 23px 0; cursor: pointer; position: relative; font: 800 1.5rem var(--head); text-transform: uppercase; }
.faq-list summary::after { content: "+"; position: absolute; right: 8px; color: var(--red); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 770px; margin: 0 0 26px; color: #aeb2b6; }

footer { padding: 60px 0 100px; background: #050606; border-top: 1px solid #2d3034; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 50px; }
.footer-brand .brand-lockup { width: 274px; height: 82px; grid-template-rows: 39px 43px; }
.footer-brand .brand-lockup img { width: 229px; height: 39px; }
.footer-brand .brand-lockup > span { font-size: 3.5rem; }
.footer-brand p { max-width: 410px; color: #858a8f; }
footer strong,footer a { display: block; }
footer strong { margin-bottom: 10px; font: 800 1.25rem var(--head); text-transform: uppercase; }
footer a { padding: 3px 0; color: #a6aaae; text-decoration: none; }
.copyright { grid-column: 1/-1; margin-top: 15px; padding-top: 20px; border-top: 1px solid #222; color: #666; }
.mobile-bar { display: none; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  .nav { display: none; }
  .phone { display: none; }
  .trust-grid,.two-col,.quote-grid { grid-template-columns: 1fr; gap: 45px; }
  .hero-message { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 720px) {
  body { padding-bottom: 62px; }
  body::before { height: 4px; }
  .wrap { width: min(100% - 36px,var(--max)); }
  .site-header { height: 84px; padding: 8px 18px; grid-template-columns: 1fr auto; }
  .brand-lockup { width: 205px; height: 64px; grid-template-rows: 30px 34px; }
  .brand-lockup img { width: 172px; height: 30px; }
  .brand-lockup > span { font-size: 2.65rem; }
  .header-quote { display: none; }
  .menu { display: block; }
  .nav.open { position: absolute; display: flex; top: 83px; left: 0; right: 0; padding: 24px; flex-direction: column; background: #08090a; border-bottom: 1px solid #444; }
  .hero-message { min-height: auto; padding-block: 58px 46px; }
  .hero-message h1 { font-size: clamp(3.6rem,16vw,5.1rem); }
  .hero-side { padding: 0; }
  .hero-rig img { min-height: 420px; object-fit: cover; object-position: 46% center; }
  .hero-rig figcaption { left: 18px; right: 18px; bottom: 14px; padding: 12px 14px; }
  h1 { font-size: clamp(3.6rem,17vw,5.3rem); }
  h2 { font-size: 3.25rem; }
  .outline { -webkit-text-stroke: 1px #fff; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { padding: 8px; text-align: center; }
  .hero-rail .wrap { grid-template-columns: 1fr; }
  .rail-item { min-height: auto; padding: 11px 16px; border-right: 0; border-bottom: 1px solid #34373c; }
  .rail-item:last-child { display: none; }
  .rail-num { font-size: 1.55rem; }
  .pathways,.trust,.explore,.content-section,.quote-section { padding: 70px 0; }
  .path-grid,.proof-grid,.steps,.footer-grid { grid-template-columns: 1fr; }
  .path-card { min-height: 430px; }
  .path-content { padding: 26px; }
  .link-row { grid-template-columns: 45px 1fr auto; gap: 10px; }
  .link-row span { font-size: 0; }
  .link-row span::after { content: "→"; font-size: 1.4rem; }
  .cta-inner { grid-template-columns: 1fr; }
  .page-hero { min-height: 560px; }
  .page-hero .wrap { padding-block: 120px 60px; }
  .quote-form { grid-template-columns: 1fr; padding: 22px; }
  .quote-form label { grid-column: 1; }
  footer { padding-bottom: 45px; }
  .copyright { grid-column: 1; }
  .mobile-bar { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr 1.2fr; background: #08090a; border-top: 1px solid #555; }
  .mobile-bar a { padding: 14px 6px; text-align: center; text-decoration: none; font: 800 1rem var(--head); text-transform: uppercase; }
  .mobile-bar a:last-child { background: var(--red); }
}
