:root {
  --navy-950: #03111f;
  --navy-900: #061b31;
  --navy-800: #0b2a47;
  --navy-700: #123d62;
  --steel-600: #5b7184;
  --steel-300: #cbd6df;
  --steel-150: #e6edf2;
  --steel-100: #f1f5f8;
  --white: #ffffff;
  --orange: #ff7417;
  --orange-dark: #e85d00;
  --text: #0c2238;
  --muted: #607386;
  --shadow: 0 22px 60px rgba(4, 28, 50, .14);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -.025em; }
h1 { font-size: clamp(2.65rem, 5vw, 5.2rem); margin-bottom: 1.35rem; }
h2 { font-size: clamp(2rem, 3.3vw, 3.55rem); margin-bottom: 1rem; }
h3 { font-size: 1.1rem; }
p { color: var(--muted); }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 96px 0; }
.section-light { background: var(--steel-100); }
.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;
}
.skip-link {
  position: fixed; z-index: 9999; left: 16px; top: -80px; padding: 12px 16px;
  background: var(--orange); color: white; border-radius: 8px;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky; top: 0; z-index: 1000; height: 78px;
  background: rgba(3, 17, 31, .9); border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
}
.header-inner { height: 100%; display: flex; align-items: center; gap: 30px; }
.logo { display: inline-flex; align-items: baseline; gap: 5px; font-size: 1.45rem; font-weight: 900; letter-spacing: -.04em; }
.logo-main { color: var(--white); }
.logo-accent { color: #a9d0e8; position: relative; }
.logo-accent::after { content:""; position:absolute; left:0; right:0; bottom:-7px; height:3px; background:var(--orange); border-radius:10px; }
.main-nav { display: flex; gap: 28px; margin-left: auto; }
.main-nav a { color: rgba(255,255,255,.84); font-size: .95rem; font-weight: 600; }
.main-nav a:hover { color: white; }
.menu-toggle { display:none; margin-left:auto; width:46px; height:46px; border:1px solid rgba(255,255,255,.18); background:transparent; border-radius:12px; }
.menu-toggle span:not(.sr-only) { display:block; width:22px; height:2px; background:white; margin:5px auto; transition:.2s; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px; border-radius: 11px;
  border: 1px solid transparent; font-weight: 800; transition: .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--orange); color: white; box-shadow: 0 12px 30px rgba(255,116,23,.28); }
.btn-primary:hover { background: var(--orange-dark); }
.btn-ghost { color: white; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.03); }
.btn-ghost:hover { border-color: white; background: rgba(255,255,255,.08); }
.btn-lg { min-height: 58px; padding-inline: 28px; }

.hero {
  position: relative; overflow: hidden; min-height: 760px; color: white;
  background:
    radial-gradient(circle at 82% 15%, rgba(72, 141, 190, .32), transparent 24%),
    linear-gradient(112deg, #06182b 0%, #08243d 52%, #123d62 100%);
}
.hero-grid {
  position:absolute; inset:0; opacity:.11;
  background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.hero-inner {
  position:relative; display:grid; grid-template-columns: 1.02fr .98fr;
  align-items:center; gap:40px; padding-top:72px; padding-bottom:80px;
}
.hero-copy { position:relative; z-index:2; }
.eyebrow, .section-kicker {
  display:inline-flex; align-items:center; gap:10px; margin-bottom:18px;
  color:var(--orange); font-size:.82rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase;
}
.eyebrow::before, .section-kicker::before { content:""; width:34px; height:2px; background:currentColor; }
.section-kicker-light { color:#ffb27f; }
.hero-lead { max-width:680px; color:rgba(255,255,255,.78); font-size:1.13rem; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:30px 0 34px; }
.hero-trust { display:grid; grid-template-columns: repeat(3,1fr); gap:12px; }
.trust-card {
  display:flex; gap:12px; align-items:center; min-height:94px; padding:16px;
  color:var(--text); background:white; border-radius:14px; box-shadow:0 18px 40px rgba(0,0,0,.14);
}
.trust-card strong, .trust-card span { display:block; }
.trust-card strong { font-size:.95rem; }
.trust-card span { margin-top:4px; color:var(--muted); font-size:.76rem; line-height:1.35; }
.icon-box { flex:0 0 42px; width:42px; height:42px; padding:9px; color:var(--orange); border:1px solid #ffd4b8; border-radius:11px; }
.icon-box svg, .line-icon svg { stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.hero-visual { position:relative; min-width:0; }
.structure-svg { width:100%; filter: drop-shadow(0 28px 60px rgba(0,0,0,.28)); }
.callout {
  position:absolute; padding:8px 12px; border:1px solid rgba(255,255,255,.24);
  border-radius:9px; background:rgba(3,17,31,.88); box-shadow:0 8px 24px rgba(0,0,0,.25);
  font-size:.75rem; font-weight:800; white-space:nowrap;
}
.callout::after { content:""; position:absolute; height:1px; background:var(--orange); width:44px; top:50%; }
.callout-1 { left:6%; top:25%; }
.callout-1::after { left:100%; }
.callout-2 { left:43%; top:18%; }
.callout-2::after { right:100%; }
.callout-3 { right:4%; top:39%; }
.callout-3::after { right:100%; }
.callout-4 { right:5%; bottom:24%; }
.callout-4::after { right:100%; }

.section-heading { max-width:780px; margin-bottom:44px; }
.section-heading > p { max-width:700px; margin-bottom:0; font-size:1.05rem; }
.object-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.object-card {
  min-height:170px; padding:22px 18px; background:white; border:1px solid var(--steel-150);
  border-radius:var(--radius-md); box-shadow:0 8px 25px rgba(5,31,52,.04); transition:.2s;
}
.object-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#f7bc93; }
.object-card h3 { margin:20px 0 0; font-size:.96rem; }
.line-icon { width:54px; height:54px; padding:11px; color:var(--navy-800); background:#f7fafc; border-radius:13px; }

.solutions-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.solution-card {
  overflow:hidden; min-height:360px; padding:18px; border:1px solid var(--steel-150);
  border-radius:var(--radius-lg); background:white; transition:.2s;
}
.solution-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.solution-visual { display:grid; place-items:center; min-height:190px; margin:-4px -4px 22px; color:var(--navy-700); background:linear-gradient(145deg,#f3f7fa,#e8f0f5); border-radius:15px; }
.solution-card p { margin-bottom:0; font-size:.93rem; }

.section-split { background:linear-gradient(135deg,#071d33,#0a3154); color:white; }
.split-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; }
.split-panel, .scheme-panel { min-height:520px; padding:42px; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-xl); background:rgba(255,255,255,.04); }
.check-list { list-style:none; padding:0; margin:32px 0 0; display:grid; gap:16px; }
.check-list li { position:relative; padding-left:34px; color:rgba(255,255,255,.86); }
.check-list li::before {
  content:"✓"; position:absolute; left:0; top:-1px; width:22px; height:22px; display:grid; place-items:center;
  color:white; background:var(--orange); border-radius:50%; font-size:.74rem; font-weight:900;
}
.scheme-panel p { color:rgba(255,255,255,.67); }
.scheme-flow { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:34px 0 26px; }
.scheme-flow > div { display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; }
.scheme-flow i { width:28px; height:2px; background:var(--orange); position:relative; opacity:.7; }
.scheme-flow i::after { content:""; position:absolute; right:-2px; top:-3px; border-left:6px solid var(--orange); border-top:4px solid transparent; border-bottom:4px solid transparent; }
.scheme-icon { width:62px; height:62px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.26); border-radius:18px; background:rgba(255,255,255,.07); font-weight:900; color:#b8dcf2; }
.scheme-flow strong { font-size:.8rem; }
.blueprint {
  position:relative; overflow:hidden; min-height:150px; margin-top:28px; padding:25px;
  border:1px solid rgba(153,211,244,.3); border-radius:15px; background:#0d365a;
}
.blueprint > span { display:inline-flex; margin-right:10px; padding:5px 9px; border:1px solid rgba(255,255,255,.18); border-radius:5px; color:#bfe5fb; font-size:.7rem; }
.blueprint-lines {
  position:absolute; inset:0; opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:18px 18px;
}

.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.benefits-grid article { padding:28px; border:1px solid var(--steel-150); border-radius:var(--radius-lg); background:white; }
.benefits-grid article > span { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:22px; color:var(--orange); background:#fff2e8; border-radius:12px; font-weight:900; }
.benefits-grid p { margin-bottom:0; }

.project-section { background:white; }
.project-card { overflow:hidden; display:grid; grid-template-columns:1.15fr .85fr; min-height:500px; border-radius:var(--radius-xl); box-shadow:var(--shadow); }
.project-image {
  position:relative; overflow:hidden; min-height:500px;
  background:linear-gradient(#7fa0b8 0 44%,#49606f 44% 54%,#263b47 54%);
}
.project-image::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg,transparent,#1c2d37 85%); }
.project-facility { position:absolute; left:13%; right:9%; bottom:14%; height:38%; display:grid; grid-template-columns:repeat(4,1fr); gap:5px; z-index:3; }
.project-facility span { background:linear-gradient(#c4d0d7,#6f8592); border:4px solid #536875; box-shadow:inset 0 -22px 0 rgba(20,38,49,.25); }
.project-post { position:absolute; z-index:5; bottom:6%; width:7px; height:78%; background:#dce7ed; box-shadow:0 0 0 2px #6f8592; }
.post-a { left:9%; } .post-b { left:52%; } .post-c { right:8%; }
.project-net {
  position:absolute; z-index:4; left:9%; right:8%; top:12%; height:47%; transform:perspective(600px) rotateX(22deg);
  background-image:linear-gradient(45deg,rgba(225,243,252,.55) 1px,transparent 1px),linear-gradient(-45deg,rgba(225,243,252,.55) 1px,transparent 1px);
  background-size:18px 18px; border:2px solid rgba(225,243,252,.75);
}
.project-info { padding:54px; color:white; background:linear-gradient(145deg,#06192c,#0a3154); }
.project-info h2 { font-size:clamp(2rem,3vw,3rem); }
.project-specs { display:grid; gap:0; margin:32px 0; }
.project-specs div { display:grid; grid-template-columns:145px 1fr; gap:14px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.project-specs dt { color:rgba(255,255,255,.58); }
.project-specs dd { margin:0; font-weight:800; }

.timeline { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(8,1fr); gap:0; }
.timeline li { position:relative; text-align:center; padding:0 8px; }
.timeline li:not(:last-child)::after { content:""; position:absolute; top:22px; left:64%; width:72%; height:2px; background:linear-gradient(90deg,var(--orange),#ffd2b4); }
.timeline span { position:relative; z-index:2; display:grid; place-items:center; width:46px; height:46px; margin:0 auto 16px; color:white; background:var(--navy-900); border:5px solid white; box-shadow:0 0 0 1px var(--steel-150); border-radius:50%; font-weight:900; }
.timeline strong { display:block; font-size:.78rem; line-height:1.35; }

.request-section { color:white; background:linear-gradient(125deg,#06182b,#0d3a60); }
.request-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:48px; align-items:start; }
.request-copy > p { color:rgba(255,255,255,.68); font-size:1.05rem; }
.request-note { margin-top:36px; padding:22px; border-left:4px solid var(--orange); background:rgba(255,255,255,.05); border-radius:0 14px 14px 0; }
.request-note strong, .request-note span { display:block; }
.request-note span { margin-top:7px; color:rgba(255,255,255,.62); font-size:.9rem; }
.request-form { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; padding:30px; color:var(--text); background:white; border-radius:var(--radius-xl); box-shadow:var(--shadow); }
.request-form label { display:flex; flex-direction:column; gap:7px; font-size:.84rem; font-weight:800; }
.request-form input, .request-form textarea {
  width:100%; border:1px solid #d9e2e8; border-radius:11px; padding:14px 15px; color:var(--text); background:#fbfcfd; outline:none; transition:.2s;
}
.request-form input:focus, .request-form textarea:focus { border-color:var(--orange); box-shadow:0 0 0 4px rgba(255,116,23,.1); background:white; }
.request-form textarea { resize:vertical; min-height:130px; }
.full { grid-column:1/-1; }
.file-input { padding:15px; border:1px dashed #b9c8d2; border-radius:12px; background:#f7fafc; }
.file-input input { padding:8px 0; border:0; background:transparent; }
.file-input small { color:var(--muted); font-weight:500; }
.consent { flex-direction:row !important; align-items:flex-start; font-weight:500 !important; color:var(--muted); }
.consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--orange); }
.consent a { color:var(--navy-700); text-decoration:underline; }
.form-footer { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.form-status { margin:0; font-size:.86rem; }
.form-status.error { color:#b42318; }
.form-status.success { color:#16794d; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.site-footer { padding:55px 0; color:white; background:var(--navy-950); }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:45px; }
.footer-grid h3 { margin-bottom:16px; color:#b8d7ea; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; }
.footer-grid a, .footer-grid span, .footer-grid p, .footer-grid small { display:block; color:rgba(255,255,255,.66); }
.footer-grid a { margin:8px 0; }
.footer-grid a:hover { color:white; }
.footer-logo { margin-bottom:24px; width:max-content; }

@media (max-width: 1080px) {
  .header-cta { display:none; }
  .object-grid { grid-template-columns:repeat(3,1fr); }
  .solutions-grid { grid-template-columns:repeat(2,1fr); }
  .hero-inner { grid-template-columns:1fr; padding-top:56px; }
  .hero-copy { max-width:850px; }
  .hero-visual { max-width:850px; margin-inline:auto; }
  .split-grid, .request-grid { grid-template-columns:1fr; }
  .project-card { grid-template-columns:1fr; }
  .timeline { grid-template-columns:repeat(4,1fr); gap:28px 0; }
  .timeline li:nth-child(4)::after { display:none; }
}

@media (max-width: 820px) {
  .site-header { height:70px; }
  .menu-toggle { display:block; }
  .main-nav {
    position:fixed; inset:70px 0 auto; display:flex; flex-direction:column; gap:0;
    padding:20px; background:rgba(3,17,31,.98); transform:translateY(-130%); opacity:0; pointer-events:none; transition:.25s;
  }
  .main-nav.open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .main-nav a { padding:15px 5px; border-bottom:1px solid rgba(255,255,255,.08); }
  .hero-trust { grid-template-columns:1fr; max-width:520px; }
  .benefits-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
  .scheme-flow { flex-wrap:wrap; justify-content:flex-start; }
  .scheme-flow i { width:18px; }
}

@media (max-width: 600px) {
  .container { width:min(calc(100% - 24px),var(--container)); }
  .section { padding:72px 0; }
  h1 { font-size:clamp(2.35rem,12vw,3.65rem); }
  .hero-inner { padding-top:46px; }
  .hero-actions .btn { width:100%; }
  .hero-visual { margin-top:10px; }
  .callout { transform:scale(.82); transform-origin:center; }
  .callout-1 { left:0; } .callout-2 { left:33%; top:14%; } .callout-3 { right:-4%; } .callout-4 { right:-5%; bottom:18%; }
  .object-grid, .solutions-grid, .benefits-grid { grid-template-columns:1fr; }
  .object-card { min-height:140px; }
  .split-panel, .scheme-panel, .project-info { padding:28px 22px; }
  .scheme-flow { display:grid; grid-template-columns:1fr; justify-items:start; }
  .scheme-flow > div { flex-direction:row; text-align:left; }
  .scheme-flow i { width:2px; height:18px; margin-left:31px; }
  .scheme-flow i::after { right:-3px; top:auto; bottom:-2px; border-top:6px solid var(--orange); border-left:4px solid transparent; border-right:4px solid transparent; border-bottom:0; }
  .project-image { min-height:360px; }
  .timeline { grid-template-columns:repeat(2,1fr); }
  .timeline li:nth-child(2n)::after { display:none; }
  .request-form { grid-template-columns:1fr; padding:20px; }
  .request-form label { grid-column:1/-1; }
  .footer-grid { grid-template-columns:1fr; }
}
