:root {
  --bg: #08090b;
  --panel: #0e1013;
  --line: #292b2f;
  --text: #f3f4f5;
  --muted: #b0b3b7;
  --red: #ed1c24;
  --red-dark: #a80e14;
  --yellow: #f5b400;
  --yellow-2: #ffcc27;
  --shell: 1440px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
.shell { width: min(var(--shell), calc(100% - 64px)); margin: 0 auto; }
.site-header { height: 110px; background: #050607; border-bottom: 1px solid #191b1f; position: relative; z-index: 20; }
.header-inner { height: 100%; display: flex; align-items: center; gap: 42px; }
.brand { display: flex; align-items: center; gap: 18px; min-width: max-content; }
.brand img { width: 78px; height: 78px; object-fit: contain; }
.brand span { font-weight: 800; font-size: clamp(22px, 2vw, 34px); letter-spacing: -.03em; }
.future-nav { margin-left: auto; display: flex; align-items: stretch; height: 100%; gap: 34px; color: #e1e2e4; font-size: 16px; }
.future-nav > * { display: flex; align-items: center; position: relative; white-space: nowrap; }
.future-nav .active { color: var(--red); font-weight: 700; }
.future-nav .active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 25px; height: 2px; background: var(--red); }
.member-link { margin-left: 16px; min-height: 52px; display: inline-flex; align-items: center; gap: 10px; padding: 0 20px; border: 1px solid var(--red); border-radius: 6px; color: var(--red); font-weight: 700; transition: background .18s ease, color .18s ease, transform .18s ease; white-space: nowrap; }
.member-link:hover { background: var(--red); color: #fff; transform: translateY(-1px); }
.member-link svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.construction-main { min-height: 645px; position: relative; overflow: hidden; display: grid; place-items: center; isolation: isolate; background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.06), transparent 30%), radial-gradient(circle at 13% 76%, rgba(124,37,0,.25), transparent 24%), radial-gradient(circle at 87% 76%, rgba(124,37,0,.25), transparent 24%), linear-gradient(180deg,#111316 0,#08090b 72%); }
.construction-main::before { content:""; position:absolute; inset:0; z-index:-3; opacity:.45; background-image: repeating-linear-gradient(10deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px), repeating-linear-gradient(105deg, rgba(255,255,255,.012) 0 1px, transparent 1px 7px); }
.construction-main::after { content:""; position:absolute; left:0; right:0; bottom:0; height:250px; z-index:-2; background: linear-gradient(0deg,rgba(24,7,1,.7),transparent); filter: blur(6px); }
.hazard { position:absolute; top:0; bottom:0; width:145px; z-index:-1; opacity:.38; background: repeating-linear-gradient(135deg,#d58b00 0 38px,#070809 38px 77px); box-shadow: 0 0 45px rgba(0,0,0,.9); }
.hazard-left { left:-32px; transform: skewY(-8deg); }
.hazard-right { right:-32px; transform: skewY(8deg); }
.embers { position:absolute; inset:0; z-index:-1; opacity:.5; background-image: radial-gradient(circle at 12% 62%,#ff5a00 0 1px,transparent 2px), radial-gradient(circle at 18% 31%,#ff7b00 0 1px,transparent 2px), radial-gradient(circle at 78% 27%,#ff5a00 0 1px,transparent 2px), radial-gradient(circle at 88% 68%,#ff7b00 0 1px,transparent 2px), radial-gradient(circle at 66% 82%,#ff4b00 0 1px,transparent 2px); }
.construction-content { width: min(760px, calc(100% - 60px)); text-align: center; padding: 42px 0 38px; }
.construction-sign { position: relative; color:#060708; padding: 22px 48px 24px; border-radius: 14px; border: 7px solid #222; outline: 6px solid #f7b900; background: linear-gradient(rgba(255,255,255,.08),rgba(0,0,0,.03)), repeating-linear-gradient(9deg,rgba(74,43,0,.035) 0 2px,transparent 2px 7px), linear-gradient(180deg,#ffc716 0%,#f5ae00 100%); box-shadow: inset 0 0 0 3px #2b2100, inset 0 0 28px rgba(112,65,0,.25), 0 20px 34px rgba(0,0,0,.48); }
.sign-top { display:block; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(48px,7vw,68px); line-height:.92; letter-spacing:.04em; }
.tools { width: 142px; height: 108px; margin: 5px auto 0; color:#090a0b; }
.construction-sign h1 { margin: -1px 0 6px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(42px,6.3vw,62px); line-height:1; letter-spacing:.025em; }
.construction-sign p { margin: 0; font-size: clamp(20px,3vw,28px); letter-spacing:.02em; }
.bolt { position:absolute; width:20px; height:20px; border-radius:50%; background: radial-gradient(circle at 36% 32%,#777 0 12%,#282a2d 34%,#060708 70%); border:2px solid #25272a; box-shadow: 0 1px 2px rgba(0,0,0,.7); }
.bolt::after { content:""; position:absolute; width:11px; height:2px; background:#060708; left:2px; top:7px; transform:rotate(45deg); }
.bolt-a { left:14px; top:14px; }.bolt-b { right:14px; top:14px; }.bolt-c { left:14px; bottom:14px; }.bolt-d { right:14px; bottom:14px; }
.construction-copy { margin-top:34px; color:#f2f2f2; font-size:23px; line-height:1.45; }
.construction-copy p { margin:0; }
.site-footer { background: linear-gradient(180deg,#0c0e10,#08090b); border-top: 1px solid #292b2f; }
.footer-grid { display:grid; grid-template-columns:1.45fr 1fr .7fr 1.05fr; gap:0; padding:36px 0 30px; }
.footer-grid > section { min-width:0; padding: 0 42px; border-left:1px solid #27292d; }
.footer-grid > section:first-child { border-left:0; padding-left:0; }
.footer-grid > section:last-child { padding-right:0; }
.footer-grid h2 { margin: 0 0 20px; color: var(--red); font-size: 15px; text-transform: uppercase; letter-spacing:.035em; }
.footer-unit { display:flex; gap:22px; align-items:center; }
.footer-unit img { width:112px; height:112px; object-fit:contain; flex:0 0 auto; }
.footer-unit strong { font-size:21px; }
.footer-unit p { color:#c2c4c7; margin:7px 0 0; font-size:14px; }
.contact-row { display:flex; align-items:flex-start; gap:14px; color:#d6d7d9; line-height:1.45; margin:0 0 17px; }
.contact-row svg { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:#e1e2e4; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.contact-row a:hover { color:var(--red); }
.footer-social { text-align:center; }
.footer-social h2 { text-align:left; }
.facebook-button { display:inline-flex; flex-direction:column; align-items:center; gap:8px; font-weight:700; }
.facebook-icon { width:72px; height:72px; border-radius:50%; display:grid; place-items:center; font-family:Arial,sans-serif; font-size:56px; line-height:1; font-weight:800; color:white; background:#1877f2; border:2px solid var(--red); box-shadow:0 0 0 6px rgba(237,28,36,.08),0 0 22px rgba(237,28,36,.45); transition:transform .18s ease,box-shadow .18s ease; }
.facebook-button:hover .facebook-icon { transform:translateY(-2px) scale(1.03); box-shadow:0 0 0 6px rgba(237,28,36,.12),0 0 30px rgba(237,28,36,.65); }
.footer-legal { display:flex; flex-direction:column; }
.footer-legal a { min-height:39px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#d5d6d8; border-bottom:1px solid #202226; font-size:14px; }
.footer-legal a:hover { color:#fff; }
.footer-legal a span { font-size:25px; color:#b4b6ba; font-weight:300; }
.footer-bottom { min-height:64px; border-top:1px solid #282a2e; display:flex; align-items:center; justify-content:space-between; gap:28px; color:#a7aaae; font-size:13px; }
.footer-bottom div { display:flex; align-items:center; gap:22px; }
.footer-bottom a:hover { color:white; }
@media (max-width: 1180px) { .shell { width:min(var(--shell),calc(100% - 40px)); } .future-nav { gap:20px; font-size:14px; } .brand span { font-size:24px; } .brand img { width:64px; height:64px; } .header-inner { gap:24px; } .footer-grid { grid-template-columns:1.25fr 1fr .65fr 1fr; } .footer-grid > section { padding:0 24px; } }
@media (max-width: 920px) { .site-header { height:88px; } .future-nav { display:none; } .member-link { margin-left:auto; } .construction-main { min-height:590px; } .hazard { width:90px; opacity:.3; } .footer-grid { grid-template-columns:1fr 1fr; row-gap:32px; } .footer-grid > section { border-left:0; padding:0 22px; } .footer-grid > section:nth-child(even) { border-left:1px solid #27292d; } .footer-social { text-align:left; } .footer-social h2 { text-align:left; } .facebook-button { flex-direction:row; } .facebook-icon { width:54px;height:54px;font-size:42px; } }
@media (max-width: 640px) { .shell { width:calc(100% - 28px); } .site-header { height:auto; padding:12px 0; } .header-inner { gap:12px; } .brand { gap:10px; min-width:0; } .brand img { width:50px;height:50px; } .brand span { font-size:16px; line-height:1.1; } .member-link { min-height:44px; padding:0 12px; font-size:13px; } .member-link svg { width:20px;height:20px; } .construction-main { min-height:530px; } .hazard { width:56px; opacity:.2; } .construction-content { width:calc(100% - 42px); padding:36px 0 30px; } .construction-sign { padding:18px 26px 22px; border-width:5px; outline-width:4px; } .tools { width:108px;height:84px; } .sign-top { font-size:45px; } .construction-sign h1 { font-size:39px; } .construction-sign p { font-size:18px; } .bolt { width:15px;height:15px; } .bolt::after { width:8px;top:5px; } .construction-copy { font-size:17px; margin-top:28px; } .footer-grid { grid-template-columns:1fr; padding:28px 0 20px; } .footer-grid > section, .footer-grid > section:nth-child(even) { border-left:0; border-top:1px solid #27292d; padding:24px 0 0; margin-top:4px; } .footer-grid > section:first-child { border-top:0; padding-top:0; } .footer-unit img { width:86px;height:86px; } .footer-unit strong { font-size:18px; } .footer-bottom { padding:18px 0; min-height:0; flex-direction:column; align-items:flex-start; gap:13px; } }

/* Rolling one-page build: contact section */
.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; }
.nav-toggle { display:none; width:46px; height:42px; padding:9px 10px; border:1px solid #36393e; border-radius:6px; background:#0b0d0f; color:#fff; cursor:pointer; }
.nav-toggle span { display:block; width:100%; height:2px; margin:5px 0; background:currentColor; transition:transform .18s ease, opacity .18s ease; }
.nav-toggle:focus-visible, .future-nav a:focus-visible, .member-link:focus-visible, .maps-link:focus-visible, .contact-email:focus-visible, .contact-form input:focus-visible, .contact-form textarea:focus-visible, .submit-button:focus-visible, .privacy-note a:focus-visible { outline:3px solid rgba(237,28,36,.45); outline-offset:3px; }
.contact-section { scroll-margin-top:28px; position:relative; padding:84px 0 88px; overflow:hidden; background:linear-gradient(180deg,#090a0c 0%,#0d0f12 52%,#090a0c 100%); border-top:1px solid #202226; }
.contact-section::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.17; background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 1px,transparent 1px 8px); }
.contact-shell { position:relative; }
.section-heading { max-width:760px; margin-bottom:38px; }
.section-kicker { display:inline-block; margin-bottom:9px; color:var(--red); font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.section-heading h2 { margin:0; font-size:clamp(38px,5vw,62px); line-height:1; letter-spacing:-.035em; }
.section-heading p { margin:14px 0 0; color:var(--muted); font-size:18px; line-height:1.6; }
.contact-overview { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; align-items:stretch; }
.contact-details, .contact-map, .contact-form-wrap { border:1px solid #292c31; border-radius:10px; background:linear-gradient(180deg,rgba(19,21,25,.96),rgba(12,14,17,.96)); box-shadow:0 18px 45px rgba(0,0,0,.2); }
.contact-details { padding:34px; }
.contact-details h3, .contact-form-wrap h3 { margin:0 0 18px; font-size:25px; }
.contact-details > strong { display:block; max-width:580px; font-size:21px; line-height:1.4; }
.contact-details address { margin:22px 0; color:#d0d2d5; font-style:normal; font-size:17px; line-height:1.6; }
.registry-data { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 24px; }
.registry-data div { padding:14px 16px; border:1px solid #272a2e; border-radius:6px; background:#090b0d; }
.registry-data dt { color:#8f9398; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.registry-data dd { margin:5px 0 0; color:#f5f5f5; font-weight:700; overflow-wrap:anywhere; }
.contact-email { display:inline-flex; min-height:46px; align-items:center; padding:0 16px; border-left:3px solid var(--red); background:#0a0c0e; font-weight:700; overflow-wrap:anywhere; }
.contact-email:hover { color:var(--red); }
.contact-map { display:flex; flex-direction:column; padding:14px; }
.map-frame { min-height:340px; flex:1; overflow:hidden; border-radius:7px; background:#0a0b0d; }
.map-frame iframe { display:block; width:100%; min-height:340px; height:100%; border:0; filter:grayscale(.28) contrast(1.05) brightness(.82); }
.maps-link { align-self:flex-start; margin:14px 4px 2px; color:var(--red); font-weight:800; }
.maps-link:hover { color:#fff; }
.contact-form-wrap { display:grid; grid-template-columns:minmax(220px,.38fr) minmax(0,1fr); gap:34px; margin-top:28px; padding:34px; }
.form-intro p { margin:0; color:var(--muted); line-height:1.6; }
.contact-form { position:relative; min-width:0; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field { margin-bottom:18px; }
.field label { display:block; margin-bottom:8px; color:#e7e8e9; font-size:14px; font-weight:750; }
.contact-form input, .contact-form textarea { width:100%; border:1px solid #383b40; border-radius:6px; background:#090b0d; color:#fff; font:inherit; transition:border-color .16s ease, box-shadow .16s ease; }
.contact-form input { min-height:50px; padding:0 14px; }
.contact-form textarea { min-height:170px; padding:13px 14px; line-height:1.5; resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(237,28,36,.12); outline:none; }
.contact-form [aria-invalid="true"] { border-color:#ff5d64; }
.field-error { display:block; min-height:18px; margin-top:5px; color:#ff858a; font-size:12px; }
.honeypot { position:absolute !important; left:-10000px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-actions { display:flex; align-items:center; gap:18px; min-height:54px; }
.submit-button { min-height:50px; padding:0 22px; border:1px solid var(--red); border-radius:6px; background:var(--red); color:#fff; font:inherit; font-weight:800; cursor:pointer; transition:background .18s ease, border-color .18s ease, transform .18s ease; }
.submit-button:hover:not(:disabled) { background:#c81219; border-color:#c81219; transform:translateY(-1px); }
.submit-button:disabled { cursor:not-allowed; opacity:.65; }
.form-status { margin:0; color:#c8cbcf; line-height:1.4; }
.form-status.is-success { color:#7edb98; }
.form-status.is-error { color:#ff858a; }
.privacy-note { margin:18px 0 0; color:#969a9f; font-size:13px; line-height:1.6; }
.privacy-note a { color:#d7d9dc; text-decoration:underline; text-decoration-color:#5a5d61; text-underline-offset:3px; }
.privacy-note a:hover { color:#fff; text-decoration-color:var(--red); }

@media (max-width:1320px) {
  .site-header { height:auto; min-height:96px; }
  .header-inner { min-height:96px; flex-wrap:wrap; padding:10px 0; }
  .nav-toggle { display:block; margin-left:auto; order:2; }
  .brand { order:1; }
  .member-actions { order:3; }
  .future-nav { display:none; order:4; width:100%; height:auto; margin:0; padding:8px; gap:0; flex-wrap:wrap; border:1px solid #25282c; border-radius:7px; background:#0a0c0e; }
  .future-nav.is-open { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .future-nav > * { min-height:44px; padding:0 12px; border-radius:4px; }
  .future-nav a:hover { background:#14171a; }
  .future-nav .active::after { left:12px; right:12px; bottom:6px; }
}
@media (max-width:920px) {
  .site-header { height:auto; }
  .future-nav { display:none; }
  .future-nav.is-open { display:grid; }
  .contact-section { padding:66px 0 70px; }
  .contact-overview { grid-template-columns:1fr; }
  .contact-form-wrap { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:640px) {
  .header-inner { align-items:center; }
  .nav-toggle { flex:0 0 44px; width:44px; }
  .future-nav.is-open { grid-template-columns:1fr 1fr; }
  .future-nav > * { min-height:42px; }
  .contact-section { padding:54px 0 58px; scroll-margin-top:12px; }
  .section-heading { margin-bottom:26px; }
  .section-heading p { font-size:16px; }
  .contact-details, .contact-form-wrap { padding:22px; }
  .contact-map { padding:10px; }
  .registry-data { grid-template-columns:1fr; }
  .map-frame, .map-frame iframe { min-height:285px; }
  .field-grid { grid-template-columns:1fr; gap:0; }
  .form-actions { align-items:stretch; flex-direction:column; gap:10px; }
  .submit-button { width:100%; min-height:52px; }
  .form-status { width:100%; }
}
