/* AdvancedOxygen — Submarine Control Room skeleton. Dark DEPTH WATCH palette. */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-size:16px;
  background:#1B2733;
  color:#EFF3F2;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.7;
  overflow-x:hidden;
}
a{color:inherit}
::selection{background:#C44B3D;color:#EFF3F2}

.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* Reveal default-visible so noscript never hides content */
.reveal-sec{opacity:1}
.js-on .reveal-sec{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js-on .reveal-sec.visible-sec{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js-on .reveal-sec{opacity:1;transform:none;transition:none}}

/* CONNING STATION HEADER — non sticky console band with steel coaming edge */
.console-header{
  background:#263340;
  border-bottom:3px solid #7E8B96;
  position:relative;
  padding:20px 0;
}
.console-header::before{ /* thin steel coaming edge along the top */
  content:"";
  position:absolute;top:0;left:0;right:0;height:3px;
  background:#7E8B96;
}
.console-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}

/* dive plane wheel glyph */
.plane-wheel{flex:0 0 auto;height:52px;width:22px;position:relative}
.plane-wheel .pw-rim{position:absolute;left:-15px;top:0;width:52px;height:52px;border-radius:50%;border:3px solid #7E8B96}
.plane-wheel .pw-rim::before,.plane-wheel .pw-rim::after{content:"";position:absolute;background:#7E8B96;width:100%;height:3px;left:0;top:50%;transform:translateY(-50%)}
.plane-wheel .pw-rim::after{transform:translateY(-50%) rotate(90deg)}
.plane-wheel .pw-hub{position:absolute;width:10px;height:10px;background:#C44B3D;border-radius:50%;left:11px;top:21px}

/* brand plate */
.brand-plate{background:#C44B3D;color:#10161C;font-weight:700;letter-spacing:.18em;padding:8px 16px;font-size:1.05rem;text-transform:uppercase}

/* gauge label chips for nav links */
.gauge-link{display:inline-block;text-decoration:none;color:#10161C;background:#F4F1E4;padding:6px 14px;
  border-top-left-radius:10px;border-top-right-radius:10px;font-size:.95rem}
.gauge-link:hover{background:#C44B3D;color:#EFF3F2}
.cta-chip{display:inline-block;background:#C44B3D;color:#10161C;text-decoration:none;font-weight:700;padding:9px 18px;letter-spacing:.08em;border:2px solid #C44B3D}
.cta-chip:hover{background:#EFF3F2;border-color:#EFF3F2}
.brand-plate a,.brand-plate .bp{color:#10161C;text-decoration:none}

/* COMPARTMENT with bulkhead frame and rivets */
.compartment{background:#263340;position:relative;margin:0 0 8px;border-top:3px solid #C44B3D;padding:44px 0 0}
.rivets{position:absolute;top:-6px;left:0;right:0;height:0;pointer-events:none}
.rivet{position:absolute;width:9px;height:9px;border-radius:50%;background:#7E8B96;top:0}
.rivet.r1{left:14px}.rivet.r2{right:14px}
.compartment-inner{max-width:1180px;margin:0 auto;padding:0 24px}

/* compartment plaque strip */
.plaque-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.plaque{background:#10161C;color:#F4F1E4;border:1px solid #C44B3D;padding:3px 10px;letter-spacing:.25em;font-size:.72rem;font-weight:700}
.plaque-dial-guide{flex:1;font-size:.8rem;color:#7E8B96;letter-spacing:.1em}
.compt-it{font-size:.72rem;letter-spacing:.3em;color:#7E8B96;margin-bottom:26px}

/* dial cluster header decoration */
.dials{display:flex;gap:18px;margin:0 0 20px}
.gauge-dim{width:44px;height:44px;position:relative}
.gauge-dim .gd-bei{border-radius:50%;border:3px solid #7E8B96;background:#F4F1E4;width:100%;height:100%;position:relative}
.gauge-dim .gd-tick{position:absolute;background:#7E8B96;width:2px;height:6px;left:50%;top:4px;transform-origin:50% 18px}
.gauge-dim .gd-needle{position:absolute;width:3px;height:14px;background:#C44B3D;left:50%;top:50%;transform:translate(-50%,-100%) rotate(38deg);transform-origin:50% 100%}

/* CP-1 SURFACED bridge view */
.dive-headline{font-size:clamp(2.2rem,6vw,4.1rem);line-height:1.05;font-weight:800;letter-spacing:.01em;max-width:950px}
.dive-headline .dhl-red{color:#C44B3D}
.standfirst{max-width:760px;margin-top:28px;font-size:1.18rem;color:#EFF3F2;line-height:1.8}
.meta-ledge{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:34px}
.sonar-read{margin-top:40px}
.dive-alarm-rule{margin-top:34px;border-top:3px solid #C44B3D;position:relative;padding-top:0}
.dive-alarm-rule::after{content:"";position:absolute;top:-3px;width:24px;height:20px;background:repeating-linear-gradient(-45deg,#C44B3D 0 6px,transparent 6px 12px);display:none}
.dive-alarm-line{margin-top:30px;height:0;border-top:3px solid #C44B3D}
.chevrons{height:12px;margin-top:-2px;background:repeating-linear-gradient(-45deg,#C44B3D 0 14px,transparent 14px 26px)}

/* periscope glyph */
.scope-meta{display:flex;align-items:flex-start;gap:26px;flex-wrap:wrap}

/* CP-2 gauge bank */
.gauge-bank{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.service-gauge{background:#263340;border:2px solid #7E8B96;padding:26px 22px;position:relative;border-radius:6px;min-width:0;text-align:left}
.gauge-face{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.gauge-disc{width:74px;height:74px;flex:0 0 auto;border-radius:50%;background:#F4F1E4;border:4px solid #7E8B96;position:relative}
.gauge-disc .gd-arc{position:absolute;width:100%;height:100%;border-radius:50%}
.gauge-disc .gd-arc::before,.gauge-disc .gd-arc::after{content:"";position:absolute;background:#7E8B96}
.gauge-disc .gd-tickA{position:absolute;left:3px;top:50%;transform:rotate(-40deg)}
.gauge-title{color:#F4F1E4}
.gauge-name a{color:#EFF3F2;text-decoration:none;font-weight:700;font-size:1.12rem}
.gauge-name a:hover{color:#C44B3D;text-decoration:underline}
.gauge-reading{color:#7E8B96;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;margin-bottom:14px}
.gauge-prose{color:#D8DED6;font-size:1rem}
.red-needle{position:absolute;width:4px;height:30px;background:#C44B3D;left:50%;top:50%;transform:translate(-50%,-100%) rotate(48deg);transform-origin:50% 100%;border-radius:2px;z-index:3}
.needle-cap{position:absolute;width:12px;height:12px;border-radius:50%;background:#C44B3D;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4}
.gauge-disc .needle-base{width:100%;height:100%;border-radius:50%;position:relative}

/* CP-3 ballast prose + manifold */
.ballast-layout{display:grid;grid-template-columns:1.35fr .9fr;gap:44px;align-items:start}
.dive-narrative{color:#EFF3F2;max-width:62ch;font-size:1.02rem}
.narrative-lede{color:#C44B3D;font-size:.8rem;letter-spacing:.3em;margin-bottom:14px}
.manifold-head{margin-bottom:18px}
.manifold-diagram{background:#10161C;position:relative;padding:30px 26px;border:2px solid #7E8B96;display:flex;gap:10px;align-items:stretch;justify-content:center}
.pipe-run{width:34px;background:#263340;border:2px solid #7E8B96;position:relative;display:flex;flex-direction:column;align-items:center;gap:26px}
.valve-handle{width:44px;border:1px solid #C44B3D;background:#263340;color:#C44B3D;display:flex;align-items:center;justify-content:center;position:relative}
.valve-handle::before{content:"+";font-size:1.5rem;line-height:1;color:#C44B3D;font-weight:400}
.bubble-col{width:60px;position:relative}
.bubble{position:absolute;border-radius:50%;border:2px solid #7E8B96;background:#263340}
.bubble.b1{width:14px;height:14px;top:8px;left:50%;transform:translateX(-50%)}
.bubble.b2{width:10px;height:10px;top:44px;left:50%;transform:translateX(-50%)}
.bubble.b3{width:18px;height:18px;top:90px;left:50%;transform:translateX(-50%)}

/* CP-4 chart table form */
.chart-layout{display:grid;grid-template-columns:1.5fr .9fr;gap:44px;align-items:start}
.chart-sheet{background:#F4F1E4;color:#10161C;padding:40px;position:relative;border:3px solid #7E8B96}
.chart-sheet .sheet-head{color:#10161C;margin-bottom:6px}
.course-line{height:0;border-top:4px solid #C44B3D;width:60%;margin:8px 0 22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field-t{color:#10161C;display:block;font-size:.85rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px}
.ctrl{width:100%;background:#fff;border:2px solid #10161C;color:#10161C;padding:10px 12px;font-size:1rem;font-family:inherit}
.field-full{grid-column:1/-1}
.field-full textarea.ctrl{min-height:140px}
.compass-readout{margin-bottom:26px}
.btn-submit{background:#C44B3D;color:#F4F1E4;border:none;font-weight:700;letter-spacing:.12em;padding:13px 26px;cursor:pointer;font-size:1rem}
.btn-submit:hover{background:#10161C;color:#F4F1E4}
.form-note{color:#10161C;font-size:.85rem;margin-top:16px}

/* hull registry plate / contact side */
.registry-plate{background:#F4F1E4;color:#10161C;padding:34px;border:3px solid #7E8B96;border-left:10px solid #C44B3D;margin-top:0}
.reg-stamp{display:inline-block;background:#10161C;color:#F4F1E4;border:1px solid #C44B3D;padding:3px 12px;letter-spacing:.28em;font-size:.7rem;margin-bottom:20px}
.reg-title{color:#10161C;font-size:1.5rem;font-weight:800;margin-bottom:14px}
.reg-rule{height:0;border-top:2px solid #10161C;margin:16px 0}
.reg-line{color:#10161C;margin-bottom:8px;line-height:1.5}
.address-card{background:#263340;border:1px solid #7E8B96;padding:24px}

/* footer keel */
.keel-footer{background:#10161C;color:#EFF3F2;padding:0;position:relative;z-index:1}
.steel-keel-rule{height:0;border-top:4px solid #7E8B96}
.keel-inner{padding:44px 24px 30px;position:relative;z-index:1}
.keel-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-bottom:16px}
.keel-links a{color:#EFF3F2;text-decoration:none;background:#263340;border:1px solid #7E8B96;padding:6px 14px;border-radius:3px}
.keel-links a:hover{color:#10161C;background:#F4F1E4;border-color:#F4F1E4}
.keel-legal{text-align:center;color:#7E8B96;font-size:.9rem;line-height:1.8}
.keel-mark{color:#C44B3D;letter-spacing:.3em;font-size:.7rem;margin-bottom:10px;text-align:center}

/* go to top */
.go-top{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:#C44B3D;color:#10161C;border:3px solid #EFF3F2;font-size:1.3rem;font-weight:700;cursor:pointer;display:none;z-index:50;align-items:center;justify-content:center}
.go-top.show{display:flex}
.go-top:hover{background:#EFF3F2;color:#C44B3D;border-color:#C44B3D}

/* services page tune */
.seals-line{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.seals-line .mrn{background:#10161C;border:1px solid #7E8B96;color:#F4F1E4;padding:5px 12px;font-size:.72rem;letter-spacing:.18em}

/* contact help notes as hull notes */
.hull-notes{margin-top:34px;background:#263340;border:1px solid #7E8B96;border-left:8px solid #C44B3D;padding:22px}
.hull-note-title{color:#F4F1E4;font-size:1.1rem;margin-bottom:8px}
.hull-note{color:#F4F1E4;border-top:1px solid #7E8B96;padding:14px 0;margin-bottom:14px}
.hull-note:first-of-type{border-top:0}
.hull-note summary{cursor:pointer;font-weight:700;color:#EFF3F2;list-style:none}
.hull-note summary:hover{color:#C44B3D}
.hull-note p{margin-top:8px;color:#D8DED6}

/* system/page service listing */
.service-listing{display:grid;gap:30px}
.service-block{background:#263340;border:1px solid #7E8B96;padding:0}
.service-block .mrn-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.caps{font-size:.72rem;letter-spacing:.28em;color:#C44B3D}
.svc-sub{color:#7E8B96;font-size:.95rem;margin:6px 0 16px}
.btn-standard{display:inline-block;background:#C44B3D;color:#F4F1E4;text-decoration:none;padding:10px 20px;font-weight:700;border:2px solid #C44B3D}
.btn-standard:hover{background:#F4F1E4;color:#C44B3D;border-color:#F4F1E4}

@media (max-width:960px){
  .gauge-bank{grid-template-columns:1fr 1fr}
  .chart-layout,.ballast-layout{grid-template-columns:1fr}
  .console-row{gap:16px}
}
@media (max-width:640px){
  .gauge-bank{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .field-full{grid-column:auto}
  .keel-links{gap:16px}
}
