:root{
  --navy:#0C1D3D; --navy2:#08152c; --ink:#14233F; --gold:#C8A24A; --gold-d:#9a7b2e;
  --cream:#f4f1e9; --paper:#fbf9f3; --grey:#555B66; --line:#e4ddcb;
  --cyan:#21C7FF; --violet:#7B2DFF;
  --serif:Georgia,'Times New Roman',serif; --sans:Calibri,'Segoe UI',system-ui,sans-serif;
  --wrap:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.68;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:var(--serif);font-weight:700;letter-spacing:.1px}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.g{color:var(--gold)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

/* ---------- buttons ---------- */
.btn{display:inline-block;font:600 14px/1 var(--sans);letter-spacing:.02em;padding:14px 24px;border-radius:7px;cursor:pointer;transition:transform .12s,box-shadow .2s,background .2s,color .2s}
.btn.sm{padding:9px 17px;font-size:13px}
.btn-gold{background:var(--gold);color:#1c1407}
.btn-gold:hover{box-shadow:0 0 0 3px rgba(200,162,74,.32);transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--gold);color:var(--gold);background:transparent}
.btn-ghost:hover{background:rgba(200,162,74,.12)}
.btn-ink{border:1px solid rgba(20,35,63,.25);color:var(--ink);background:transparent}
.btn-ink:hover{border-color:var(--ink);background:#fff}
.link{color:var(--gold-d);font-weight:600;border-bottom:1px solid rgba(200,162,74,.5);padding-bottom:1px}
.navy .link{color:var(--gold);border-color:rgba(200,162,74,.45)}
.link:hover{border-color:currentColor}

/* ---------- header / nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(12,29,61,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(200,162,74,.28)}
.navrow{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:11px}
.navorb{position:relative;display:inline-block;width:30px;height:30px;flex:0 0 auto}
.navorb .beacon{left:50%;top:50%;margin:0;transform:translate(-50%,-50%) scale(.78)}
.brand .mono{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:1px;color:var(--gold)}
.brand .word{font-family:var(--serif);font-weight:700;font-size:18px;color:#fff;letter-spacing:.3px}
.brand .word .g{color:var(--gold);font-style:italic}
.links{display:flex;align-items:center;gap:26px}
.links a{font-size:14px;color:#c4ccdb;transition:color .15s}
.links a:hover,.links a.active{color:#fff}
.links a.active{border-bottom:2px solid var(--gold);padding-bottom:3px}
.navtoggle{display:none}

/* ---------- bands ---------- */
.band{padding:84px 0}
.band.tight{padding:60px 0}
.navy{background:var(--navy);color:#e7ebf2;position:relative;overflow:hidden}
.navy h1,.navy h2,.navy h3{color:#fff}
.cream{background:var(--cream)}
.paper{background:var(--paper)}
.eyebrow{font:700 12px/1 Helvetica,Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
h2.title{font-size:30px;line-height:1.2;max-width:20ch}
.lead{color:var(--grey);font-size:17px;max-width:64ch;margin-top:14px}
.navy .lead{color:#d6dde9}
.center{text-align:center}.center .lead,.center h2.title{margin-left:auto;margin-right:auto}

/* gold corner brackets framing a navy band */
.bcb{position:absolute;width:36px;height:36px;pointer-events:none;opacity:.9}
.bcb.tl{top:22px;left:22px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}
.bcb.tr{top:22px;right:22px;border-top:2px solid var(--gold);border-right:2px solid var(--gold)}
.bcb.bl{bottom:22px;left:22px;border-bottom:2px solid var(--gold);border-left:2px solid var(--gold)}
.bcb.br{bottom:22px;right:22px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold)}

/* ---------- animated orb lockup (from logo-animated.html, all-gold mark) ---------- */
.lockup{position:relative;display:inline-flex;flex-direction:column;align-items:center}
.mono-l{position:relative;width:200px;height:128px}
.beacon{position:absolute;left:50%;top:2px;width:38px;height:38px;margin-left:-19px;perspective:160px}
.bshell{position:absolute;inset:0;transform-style:preserve-3d;animation:bspin 14s linear infinite}
.btrail{opacity:.3;filter:blur(1px);animation-delay:.45s}
@keyframes bspin{from{transform:rotateX(-12deg) rotateY(0)}to{transform:rotateX(-12deg) rotateY(360deg)}}
.bpd{position:absolute;top:50%;left:50%;width:1.8px;height:1.8px;margin:-.9px;border-radius:50%;background:#eafcff}
.bpd.c1{box-shadow:0 0 4px 1px var(--cyan)}
.bpd.c2{box-shadow:0 0 4px 1px var(--violet);background:#f0e9ff}
.bpd.c3{box-shadow:0 0 5px 1px var(--cyan);background:#dffaff}
.bnuc{position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff 0%,var(--cyan) 45%,var(--violet) 100%);animation:bn 3.2s ease-in-out infinite}
@keyframes bn{0%,100%{box-shadow:0 0 10px rgba(33,199,255,.6),0 0 22px rgba(123,45,255,.4)}50%{box-shadow:0 0 16px rgba(33,199,255,.85),0 0 34px rgba(123,45,255,.55)}}
.wm{font-family:var(--serif);font-weight:700;font-size:27px;letter-spacing:.5px;color:#fff}
.wm .ai{color:var(--gold);font-style:italic}
.tag{margin-top:9px;font:700 11px/1 Helvetica,Arial,sans-serif;letter-spacing:.36em;color:var(--gold)}
.lockup.lg{transform:scale(1.16)}
.lockup.sm{transform:scale(.72)}

/* ---------- hero / page head ---------- */
.hero{padding:62px 0 84px;text-align:center}
.hero h1{font-size:48px;line-height:1.1;color:#fff;max-width:17ch;margin:28px auto 0}
.hero .lead{margin:18px auto 0;text-align:center}
.hero .cta{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero .micro{margin-top:18px;font-size:12.5px;color:#b6c0cf}
.pagehead{padding:54px 0 48px;text-align:center}
.pagehead h1{font-size:38px;color:#fff;margin-top:18px}
.pagehead .lead{margin:12px auto 0;text-align:center}

/* ---------- cards / grids ---------- */
.grid{display:grid;gap:20px;margin-top:38px}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:26px 24px;transition:transform .15s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(12,29,61,.08)}
.card h3{font-size:19px;color:var(--ink);margin:14px 0 8px}
.card p{font-size:14.5px;color:var(--grey)}
.ic{width:30px;height:30px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ic.sm{width:24px;height:24px;flex:0 0 auto}

/* safety harness cards (on navy) */
.hcard{background:rgba(255,255,255,.045);border:1px solid rgba(200,162,74,.22);border-radius:13px;padding:22px 22px;position:relative}
.hcard .dot{position:absolute;top:20px;right:20px;width:9px;height:9px;border-radius:50%;background:#eafcff;box-shadow:0 0 8px 2px var(--cyan),0 0 14px 3px rgba(123,45,255,.5)}
.hcard h3{font-size:16px;color:#fff;margin:0 0 6px;padding-right:18px}
.hcard p{font-size:13.5px;color:#d6dde9}

/* detailed service block */
.svcblock{display:grid;grid-template-columns:230px 1fr;gap:34px;padding:38px 0;border-top:1px solid var(--line);align-items:start}
.svcblock:first-of-type{border-top:0}
.svcblock .head .ic{margin-bottom:14px}
.svcblock .head h3{font-size:22px;color:var(--ink);margin-bottom:8px}
.svcblock .head .k{font:700 11px/1 Helvetica,Arial,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-d)}
.svcblock .head p{font-size:14px;color:var(--grey);margin-top:8px}
.offer{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.offer .o{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}
.offer .o .ic{stroke:var(--gold)}
.offer .o b{color:var(--ink);font-weight:700;font-size:14.5px}
.offer .o span{display:block;color:var(--grey);font-size:13.5px;margin-top:1px}
.flagchip{display:inline-block;background:transparent;color:var(--gold);border:1px solid var(--gold);font:700 11px/1 Helvetica,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;padding:4px 10px;border-radius:5px;margin-bottom:10px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.step .n{font-family:var(--serif);font-size:36px;color:var(--gold);line-height:1}
.step h3{color:#fff;font-size:18px;margin:10px 0 6px}
.step p{color:#d6dde9;font-size:14px}

/* prose / split */
.prose{max-width:76ch}
.prose p{font-size:16.5px;color:var(--ink);margin:0 0 14px}
.prose .micro{color:var(--grey);font-size:13.5px}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.statcard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:26px 28px}
.statcard .row{display:flex;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.statcard .row:first-child{border-top:0}
.statcard .big{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--gold-d);line-height:1;min-width:78px}
.statcard .lab{font-size:14px;color:var(--grey)}
.statcard .lab b{color:var(--ink);display:block;font-size:15px;margin-bottom:1px}
.navy .statcard .lab{color:#d6dde9}.navy .statcard .lab b{color:#fff}

/* final cta */
.final{text-align:center}.final h2{font-size:32px;color:#fff}.final .lead{margin:14px auto 26px}

/* contact */
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.contactgrid .card{padding:30px 28px}
.contactgrid .card .big{font-family:var(--serif);font-size:21px;color:var(--ink);margin:10px 0 4px}

/* ---------- footer ---------- */
.foot{background:var(--navy2);color:#b6c0cf;padding:54px 0 30px;font-size:14px}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:34px}
.footbrand{font-family:var(--serif);font-weight:700;font-size:20px;color:#fff}
.footbrand .g{color:var(--gold);font-style:italic}
.foottag{color:var(--gold);font:700 11px/1 Helvetica,Arial,sans-serif;letter-spacing:.3em;margin:9px 0 12px}
.footnote{font-size:13px;color:#9aa3b4;max-width:42ch;margin-top:8px}
.footcol h4{font:700 12px/1 Helvetica,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#c4ccdb;margin-bottom:12px}
.footcol a{display:block;color:#c8d0de;padding:4px 0;transition:color .15s}.footcol a:hover{color:#fff}
.foobar{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:18px;font-size:12px;color:#8e99ac}

/* ---------- reveal + responsive ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:920px){
  .hero h1{font-size:36px}.pagehead h1{font-size:30px}.final h2{font-size:26px}
  .g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}
  .svcblock{grid-template-columns:1fr;gap:18px;padding:30px 0}
  .split{grid-template-columns:1fr;gap:28px}
  .links{gap:18px}.links a:not(.btn){display:none}
}
@media(max-width:600px){
  .band{padding:56px 0}.g4,.g3,.g2,.offer,.steps,.contactgrid{grid-template-columns:1fr}
  .hero h1{font-size:30px}
}
@media(prefers-reduced-motion:reduce){
  .bshell,.bnuc{animation:none}.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}
}
