/* ============================================================
   THE 7TH KINGDOM — COMMAND CENTRE  ·  STYLES
   ============================================================ */
:root{
  --gold:#d4af37; --gold-b:#f0d47a; --gold-dim:#8a7640;
  --green:#7ec87e; --red:#c75a5a;
  --void:#02040b; --panel:#070b16; --panel2:#04060f;
  --ink:#e8e6df;
  /* unified surface colour — matches the 7th Kingdom HQ pop-up cards */
  --card-bg:linear-gradient(135deg,#080d1a,#04070f);
  --serif:'Cinzel',serif; --sans:'Montserrat',sans-serif; --mono:'Share Tech Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  background:#000;color:var(--ink);font-family:var(--sans);
  overflow:hidden;
  display:flex;flex-direction:column;height:100vh;
}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}
::-webkit-scrollbar-thumb{background:rgba(212,175,55,.28);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.5)}

/* ---- STAGE : full-screen canvas (no letterboxing) --------- */
/* ---- SITE HEADER --------------------------------------- */
#site-header{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 18px;
  height:44px;
  background:var(--card-bg);
  border-bottom:1px solid rgba(212,175,55,.35);
  position:relative;z-index:200;
}
#hdr-logo{
  display:flex;align-items:center;height:100%;
}
#hdr-logo-img{
  height:36px;width:auto;display:block;
  object-fit:contain;
}
#hdr-nav{
  display:flex;align-items:center;gap:4px;
}
.hnav{
  font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(212,175,55,.75);text-decoration:none;
  padding:5px 11px;border-radius:4px;
  border:1px solid transparent;
  cursor:pointer;
  transition:color .2s,border-color .2s,background .2s;
  white-space:nowrap;
}
.hnav:hover{
  color:var(--gold-b);
  border-color:rgba(212,175,55,.35);
  background:rgba(212,175,55,.06);
}
.hnav-cta{
  color:var(--void);
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-b) 100%);
  border-color:var(--gold);
  font-weight:600;
}
.hnav-cta:hover{
  background:linear-gradient(135deg,var(--gold-b) 0%,#fff8dc 100%);
  color:var(--void);
  border-color:var(--gold-b);
}
/* ── COMMAND CENTRE AUDIO BUTTON ── */
.cc-audio-btn{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
  margin-left:10px;
  background:rgba(212,175,55,0.07);
  border:1px solid rgba(212,175,55,0.28);
  border-radius:30px;
  padding:4px 12px 4px 9px;
  cursor:pointer;
  color:#d4af37;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:1.5px;
  transition:all 0.3s ease;
  white-space:nowrap;
}
.cc-audio-btn:hover{
  background:rgba(212,175,55,0.15);
  border-color:rgba(212,175,55,0.60);
  box-shadow:0 0 12px rgba(212,175,55,0.14);
}
.cc-audio-icon{
  display:flex;align-items:center;gap:2px;height:13px;
}
.cc-audio-icon span{
  display:block;width:2px;border-radius:2px;
  background:#d4af37;
  animation:ccWave 1s ease-in-out infinite;
}
.cc-audio-icon span:nth-child(1){height:4px; animation-delay:0s;}
.cc-audio-icon span:nth-child(2){height:9px; animation-delay:0.15s;}
.cc-audio-icon span:nth-child(3){height:13px;animation-delay:0.3s;}
.cc-audio-icon span:nth-child(4){height:8px; animation-delay:0.45s;}
.cc-audio-icon span:nth-child(5){height:4px; animation-delay:0.6s;}
@keyframes ccWave{
  0%,100%{transform:scaleY(0.4);}
  50%{transform:scaleY(1);}
}
.cc-audio-icon.cc-paused span{animation:none;opacity:0.32;}
.cc-audio-label{font-size:10px;letter-spacing:1px;}
/* ---- FOOTER — auto-hide ----------------------------------- */
#site-footer{
  flex-shrink:0;
  text-align:center;
  font-family:var(--mono);font-size:9px;letter-spacing:1px;
  color:rgba(212,175,55,.6);
  padding:5px 12px;
  background:var(--card-bg);
  border-top:1px solid rgba(212,175,55,.2);
  white-space:nowrap;
  opacity:0.15;
  transition:opacity .35s ease, border-color .35s ease;
}
#site-footer:hover{
  opacity:1;
  border-top-color:rgba(212,175,55,.35);
}
/* ---- STAGE ------------------------------------------------ */
#stage{
  flex:1 1 0;min-height:0;background:#000;
  position:relative;
}
#canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  /* stretch art to fill the whole screen — zones are % of THIS box
     so they stay perfectly aligned at any viewport size/ratio */
  background:#02040b url('assets/interface.png') center/100% 100% no-repeat;
  user-select:none;
}

/* ---- HOTSPOTS --------------------------------------------- */
.zone{
  position:absolute;cursor:pointer;border-radius:10px;
  transition:box-shadow .35s ease, background .35s ease, border-color .35s ease;
  border:1px solid transparent;
  -webkit-tap-highlight-color:transparent;
}
/* live hover : faint gold breath so users know it's clickable */
body:not(.edit) .zone:hover{
  background:radial-gradient(ellipse at center,rgba(212,175,55,.12),rgba(212,175,55,.02) 70%);
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.35),0 0 28px rgba(212,175,55,.18);
}
body:not(.edit) .zone:active{transform:scale(.992)}
.zone .ztip{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold-b);background:rgba(2,4,11,.82);border:1px solid rgba(212,175,55,.4);
  padding:7px 16px;border-radius:30px;white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .3s ease;backdrop-filter:blur(4px);
  box-shadow:0 6px 24px rgba(0,0,0,.5);
}
body:not(.edit) .zone:hover .ztip{opacity:1}

/* ---- PATCHES (cover baked-in flawed text) ----------------- */
.patch{
  position:absolute;border-radius:6px;overflow:hidden;
  background:
     radial-gradient(120% 140% at 30% 0%,#0a0f1d 0%,#05070f 55%,#03050c 100%);
  box-shadow:inset 0 0 0 1px rgba(212,175,55,.05);
  display:flex;align-items:center;
  pointer-events:none;
}
.patch.patch-net{justify-content:flex-start;padding-left:2%}
.patch .ptext{
  font-family:var(--serif);font-weight:600;color:var(--gold-b);
  letter-spacing:.18em;font-size:clamp(7px,.95vw,17px);text-transform:uppercase;
  text-shadow:0 0 18px rgba(212,175,55,.25);white-space:nowrap;
}
.patch-tx{
  flex-direction:column;justify-content:center;align-items:flex-start;
  gap:3%;padding:0 4%;
  background:linear-gradient(110deg,#070c18 0%,#05070f 100%);
}
.patch-tx .tl{display:flex;flex-direction:column;gap:1px}
.patch-tx .tl b{
  font-family:var(--serif);color:var(--gold-b);font-size:clamp(6px,.72vw,12px);
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;
}
.patch-tx .tl small{
  font-family:var(--mono);color:#8d9bb5;font-size:clamp(5px,.55vw,9px);letter-spacing:.04em;
}

/* ============================================================
   EDIT MODE
   ============================================================ */
body.edit #canvas{cursor:crosshair}
body.edit .zone{
  background:rgba(212,175,55,.10);
  border:1px dashed rgba(212,175,55,.7);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.4);
}
body.edit .zone.patchzone{background:rgba(126,160,255,.14);border-color:rgba(140,170,255,.75)}
body.edit .patch{outline:1px dashed rgba(140,170,255,.5)}
body.edit .zone .zlabel{
  position:absolute;left:0;top:0;transform:translateY(-100%);
  font-family:var(--mono);font-size:10px;letter-spacing:1px;color:#02040b;
  background:var(--gold);padding:2px 7px;border-radius:4px 4px 0 0;white-space:nowrap;
  pointer-events:none;
}
body.edit .zone.patchzone .zlabel{background:#8caaff}
.zone .ztip,.zone .zlabel{display:none}
body.edit .zone .zlabel{display:block}
body:not(.edit) .zone .ztip{display:block}
.handle{
  position:absolute;width:14px;height:14px;background:var(--gold);
  border:2px solid #02040b;border-radius:3px;display:none;z-index:5;
}
body.edit .zone:hover .handle,body.edit .zone.sel .handle{display:block}
.handle.br{right:-7px;bottom:-7px;cursor:nwse-resize}
.zone.sel{box-shadow:inset 0 0 0 2px var(--gold),0 0 24px rgba(212,175,55,.4)!important;z-index:6}

/* Edit toolbar */
#edbar{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:200;
  display:none;align-items:center;gap:10px;
  background:rgba(4,7,15,.92);border:1px solid rgba(212,175,55,.35);
  border-radius:40px;padding:9px 16px;backdrop-filter:blur(12px);
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
body.edit #edbar{display:flex}
#edbar .et{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--gold-b);text-transform:uppercase}
#edbar .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:blink 1.6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.ebtn{
  font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--gold-b);
  background:rgba(212,175,55,.07);border:1px solid rgba(212,175,55,.35);
  border-radius:30px;padding:7px 15px;cursor:pointer;text-transform:uppercase;transition:all .25s;
}
.ebtn:hover{background:rgba(212,175,55,.18);border-color:var(--gold)}
#edbar .sep{width:1px;height:20px;background:rgba(212,175,55,.25)}
#edcoord{font-family:var(--mono);font-size:10px;color:#8d9bb5;letter-spacing:.5px;min-width:150px;text-align:center}

/* Help hint bottom corner */
#hint{
  position:fixed;left:14px;bottom:12px;z-index:150;display:none;
  font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:rgba(212,175,55,.4);
  text-transform:uppercase;transition:color .3s;cursor:pointer;
}
#hint:hover{color:var(--gold-b)}
body.edit #hint{display:none}

/* ============================================================
   MODAL SYSTEM
   ============================================================ */
#scrim{
  position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
  padding:30px;background:rgba(1,2,6,.15);
  opacity:0;pointer-events:none;
}
#scrim.open{opacity:1;pointer-events:auto}
.modal{
  position:relative;width:100%;max-width:980px;max-height:88vh;overflow-y:auto;overflow-x:hidden;
  background:rgba(4,7,15,.50);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(212,175,55,.32);border-radius:22px;
  padding:46px 50px 50px;
  box-shadow:0 40px 110px rgba(0,0,0,.8),0 0 0 1px rgba(212,175,55,.06);
  transform:translateY(34px) scale(.975);
}
#scrim.open .modal{transform:none}
.modal.wide{max-width:1120px}
.modal::before,.modal::after{content:'';position:absolute;width:42px;height:42px;border-color:var(--gold);border-style:solid;opacity:.4;pointer-events:none}
.modal::before{top:14px;left:14px;border-width:1.5px 0 0 1.5px;border-radius:4px 0 0 0}
.modal::after{bottom:14px;right:14px;border-width:0 1.5px 1.5px 0;border-radius:0 0 4px 0}
.mclose{
  position:absolute;top:16px;right:18px;z-index:9;
  font-family:var(--serif);font-size:11px;letter-spacing:2px;color:var(--gold-b);
  background:none;border:1px solid rgba(212,175,55,.35);border-radius:30px;padding:7px 15px;
  cursor:pointer;transition:all .3s;
}
.mclose:hover{background:rgba(212,175,55,.12);border-color:var(--gold)}

/* modal header */
.mhead{text-align:center;margin-bottom:30px}
.meyebrow{font-family:var(--mono);font-size:11px;letter-spacing:5px;color:rgba(240,212,122,.65);text-transform:uppercase;margin-bottom:10px}
.mtitle{font-family:var(--serif);font-size:clamp(26px,3.4vw,44px);color:#f0d47a;letter-spacing:5px;line-height:1.05;text-shadow:0 2px 18px rgba(240,212,122,.35)}
.msub{font-family:var(--serif);font-size:12px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;margin-top:8px}
.mdiv{width:230px;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);margin:16px auto 0;position:relative}
.mdiv::after{content:"\2726";position:absolute;left:50%;top:-9px;transform:translateX(-50%);color:var(--gold);font-size:12px}

/* generic text */
.mbody p{color:#cfcabc;line-height:2;font-size:14.5px;margin-bottom:16px;text-wrap:pretty}
.mlead{font-family:var(--serif);color:#d8d2c0;font-size:15px;line-height:2;text-align:center;max-width:760px;margin:0 auto 26px}

/* portrait + text split */
.msplit{display:grid;grid-template-columns:.85fr 1.3fr;gap:36px;align-items:start;margin-bottom:8px}
.mportrait{width:100%;border-radius:14px;border:1px solid rgba(212,175,55,.22);box-shadow:0 18px 44px rgba(0,0,0,.6);display:block;aspect-ratio:1/1;object-fit:cover;background:#04060f}
.mname{font-family:var(--serif);font-size:clamp(20px,2.2vw,30px);color:var(--gold-b);letter-spacing:3px;margin-bottom:4px}
.mrole{font-family:var(--serif);font-size:11px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:16px;line-height:1.7}
.mline{width:66px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:18px}

/* pill tags */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pill{font-family:var(--serif);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);border:1px solid rgba(212,175,55,.35);border-radius:20px;padding:5px 14px;background:rgba(212,175,55,.06)}

/* card grid (dossiers / portals / tiers / missions) */
.grid{display:grid;gap:18px;margin-top:8px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.gcard{
  background:var(--card-bg);border:1px solid rgba(212,175,55,.14);
  border-radius:16px;padding:22px 22px;transition:transform .4s,border-color .4s,box-shadow .4s;
  position:relative;overflow:hidden;
}
.gcard:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.42);box-shadow:0 18px 46px rgba(0,0,0,.5),0 0 26px rgba(212,175,55,.07)}
.gcard .gno{position:absolute;top:10px;right:16px;font-family:var(--serif);font-size:34px;font-weight:700;color:rgba(212,175,55,.07);line-height:1}
.gcard h4{font-family:var(--serif);color:var(--gold-b);font-size:15px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.gcard .gtag{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:12px}
.gcard p{font-size:12.5px;line-height:1.85;color:#a6a294;margin-bottom:14px}
.gcard:hover p{color:#cdc8ba}
.gstat{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.gstat::before{content:'';width:7px;height:7px;border-radius:50%;flex-shrink:0}
.gstat.live{color:var(--green)}.gstat.live::before{background:var(--green);box-shadow:0 0 9px var(--green);animation:blink 1.8s infinite}
.gstat.design{color:var(--gold-b)}.gstat.design::before{background:var(--gold)}
.gstat.dev{color:#b89fe8}.gstat.dev::before{background:#b89fe8;box-shadow:0 0 9px #b89fe8}
.gstat.soon{color:#6fb6e8}.gstat.soon::before{background:#6fb6e8;box-shadow:0 0 9px #6fb6e8;animation:blink 1.8s infinite}
.genter{
  display:inline-block;margin-top:4px;font-family:var(--serif);font-size:10px;letter-spacing:3px;
  text-transform:uppercase;color:#02040b;background:var(--gold);border-radius:4px;padding:9px 22px;
  text-decoration:none;transition:all .3s;
}
.genter:hover{background:var(--gold-b);transform:translateY(-2px);box-shadow:0 8px 22px rgba(212,175,55,.3)}
.genter.ghost{background:transparent;color:var(--gold-b);border:1px solid rgba(212,175,55,.4)}
.genter.ghost:hover{background:rgba(212,175,55,.1)}
.gcard.locked{opacity:.62}
.gcard.locked .genter{background:rgba(212,175,55,.12);color:var(--gold-dim);pointer-events:none}

/* price tag on access cards */
.gprice{font-family:var(--serif);font-size:18px;color:var(--gold-b);letter-spacing:1px;margin-bottom:4px}
.gmodel{font-size:11.5px;color:#9a968a;line-height:1.7;margin-bottom:14px}

/* portrait thumb inside cards */
.gthumb{width:100%;height:130px;object-fit:cover;border-radius:10px;margin-bottom:14px;border:1px solid rgba(212,175,55,.16);background:#04060f}
.imgzone{background:transparent!important;border:none!important;pointer-events:none;overflow:visible;}
.gthumb-banner{width:100%;height:auto;display:block;border-radius:10px;margin-bottom:14px;border:1px solid rgba(212,175,55,.16);background:#04060f}

/* ---- High Command list ----------------------------------- */
.hc-roles{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.hc-role{display:flex;gap:16px;align-items:flex-start;background:rgba(212,175,55,.03);border:1px solid rgba(212,175,55,.12);border-radius:12px;padding:16px 20px}
.hc-role .crown{font-family:var(--serif);font-size:22px;color:var(--gold);flex-shrink:0;line-height:1.2}
.hc-role h4{font-family:var(--serif);color:var(--gold-b);font-size:14px;letter-spacing:2px;margin-bottom:4px}
.hc-role p{font-size:12.5px;color:#a6a294;line-height:1.7}
.vmr{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vmr .vm{background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.14);border-radius:14px;padding:22px}
.vmr .vm.full{grid-column:1/-1}
.vm .vmt{font-family:var(--serif);color:var(--gold-b);font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}
.vm p{font-size:13px;color:#bbb6a8;line-height:1.9}
.vm ol{list-style:none;counter-reset:r;display:flex;flex-direction:column;gap:9px}
.vm ol li{counter-increment:r;display:flex;justify-content:space-between;gap:14px;font-size:12.5px;color:#bbb6a8;padding:8px 0;border-bottom:1px solid rgba(212,175,55,.08)}
.vm ol li:last-child{border-bottom:none}
.vm ol li::before{content:counter(r,upper-roman);font-family:var(--serif);color:var(--gold);font-size:11px;width:34px;flex-shrink:0;letter-spacing:1px}
.vm ol li b{font-family:var(--serif);color:#d8d2c0;font-weight:500;flex:1}
.vm ol li .ss{font-family:var(--mono);font-size:10px;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}

/* ---- FAQ (Moneypenny) ------------------------------------ */
.faq-tabs{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:24px}
.faq-tab{font-family:var(--serif);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dim);background:rgba(212,175,55,.04);border:1px solid rgba(212,175,55,.2);border-radius:26px;padding:8px 16px;cursor:pointer;transition:all .25s}
.faq-tab:hover{color:var(--gold-b);border-color:rgba(212,175,55,.45)}
.faq-tab.active{color:#02040b;background:var(--gold);border-color:var(--gold)}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{border:1px solid rgba(212,175,55,.14);border-radius:12px;overflow:hidden;background:rgba(212,175,55,.02)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;font-family:var(--serif);color:var(--gold-b);font-size:13.5px;letter-spacing:1px}
.faq-q .pm{color:var(--gold);font-size:18px;transition:transform .3s}
.faq-item.open .faq-q .pm{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:#b3aea0;font-size:13px;line-height:1.9}
.faq-a div{padding:0 20px 18px}
.faq-empty{text-align:center;color:#7a7668;font-style:italic;padding:30px;font-size:13px}

/* ---- Contact form ---------------------------------------- */
.cfwrap{display:grid;grid-template-columns:.9fr 1.2fr;gap:30px}
.cf-emails{display:flex;flex-direction:column;gap:10px}
.cf-em{background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.14);border-radius:12px;padding:15px 18px;transition:border-color .3s}
.cf-em:hover{border-color:rgba(212,175,55,.4)}
.cf-em .t{font-family:var(--mono);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:4px}
.cf-em .ty{font-family:var(--serif);font-size:12px;letter-spacing:1px;color:var(--gold-b);margin-bottom:5px}
.cf-em a{color:var(--green);font-size:12px;text-decoration:none;letter-spacing:.5px}
.cf-em a:hover{color:#a8e8a8}
.cf-form{display:flex;flex-direction:column;gap:13px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.cf-field label{display:block;font-family:var(--mono);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:6px}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(212,175,55,.16);border-radius:9px;
  color:#d8d2c0;font-family:var(--sans);font-size:12.5px;padding:11px 14px;outline:none;transition:all .3s;-webkit-appearance:none;
}
.cf-field textarea{resize:vertical;min-height:96px;line-height:1.7}
.cf-field select{cursor:pointer}
.cf-field option{background:#070c19}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-color:rgba(212,175,55,.55);background:rgba(212,175,55,.03);box-shadow:0 0 0 2px rgba(212,175,55,.06)}
.cf-route{font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:#9a968a;line-height:1.8;padding:11px 14px;border:1px solid rgba(212,175,55,.1);border-radius:9px;background:rgba(212,175,55,.02)}
.cf-route b{color:var(--gold-b)}
.cf-submit{width:100%;background:linear-gradient(135deg,rgba(212,175,55,.14),rgba(212,175,55,.05));border:1px solid rgba(212,175,55,.4);border-radius:30px;color:var(--gold-b);font-family:var(--serif);font-size:11px;letter-spacing:4px;text-transform:uppercase;padding:14px;cursor:pointer;transition:all .35s}
.cf-submit:hover{border-color:var(--gold);color:#fff;letter-spacing:6px;box-shadow:0 0 26px rgba(212,175,55,.18)}

/* ---- Clock ----------------------------------------------- */
.clockwrap{text-align:center;padding:8px 0 4px}
.clk-time{font-family:var(--serif);font-size:clamp(46px,7vw,82px);color:var(--gold-b);letter-spacing:4px;line-height:1;text-shadow:0 0 48px rgba(212,175,55,.25)}
.clk-secs{font-size:.42em;color:var(--gold-dim);vertical-align:super;letter-spacing:2px}
.clk-meta{font-family:var(--mono);font-size:13px;letter-spacing:4px;color:var(--gold-dim);text-transform:uppercase;margin-top:14px}
.clk-date{font-family:var(--serif);font-size:16px;letter-spacing:2px;color:#cfcabc;margin-top:10px}
.clk-zone{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--green);text-transform:uppercase}
.clk-zone::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green);animation:blink 1.8s infinite}

/* ---- Dual Clock Layout ------------------------------------ */
.dual-clock-wrap{display:flex;flex-direction:row;align-items:stretch;gap:0;margin:6px 0 4px}
.clk-panel{flex:1;text-align:center;padding:28px 24px 24px;background:rgba(10,9,6,.45);border:1px solid rgba(212,175,55,.18);box-shadow:inset 0 0 40px rgba(0,0,0,.3),0 0 24px rgba(212,175,55,.04);position:relative}
.clk-panel::before{content:'';position:absolute;inset:0;border:1px solid rgba(212,175,55,.06);pointer-events:none}
.clk-panel-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:4px;color:var(--gold-b);text-transform:uppercase;opacity:.85;margin-bottom:5px}
.clk-panel-sub{font-family:var(--sans);font-size:11.5px;letter-spacing:1.5px;color:#9a968a;text-transform:uppercase;margin-bottom:0}
.clk-panel-divider{width:40px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.45),transparent);margin:14px auto 16px}
.clk-panel .clk-time{font-size:clamp(36px,5.5vw,70px);display:block}
.clk-panel .clk-date{margin-top:12px;font-size:14px}
.clk-panel .clk-meta{font-size:11.5px;letter-spacing:3px;margin-top:10px}
.clk-panel-sep{width:1px;background:linear-gradient(180deg,transparent 0%,rgba(212,175,55,.3) 20%,rgba(212,175,55,.3) 80%,transparent 100%);flex-shrink:0;margin:0}
.clk-live-indicator{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-family:var(--mono);font-size:10px;letter-spacing:2.5px;color:var(--green);text-transform:uppercase}
.clk-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green);animation:blink 1.8s infinite;flex-shrink:0}
.clk-ampm{font-size:.32em;color:var(--gold-dim);vertical-align:super;letter-spacing:2px;margin-left:4px}
@media(max-width:600px){
  .dual-clock-wrap{flex-direction:column}
  .clk-panel-sep{width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.3) 20%,rgba(212,175,55,.3) 80%,transparent 100%)}
  .clk-panel{padding:22px 16px 20px}
}

/* ---- Members login gateway ------------------------------- */
.login-wrap{display:grid;grid-template-columns:.9fr 1.25fr;gap:34px;align-items:start}
.login-form{display:flex;flex-direction:column;gap:14px;background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.18);border-radius:16px;padding:28px 26px}
.login-meta{font-size:11px;color:#9a968a;letter-spacing:.5px;text-align:center;margin-top:4px}
.login-meta a{color:var(--gold-b);text-decoration:none}
.login-note{font-family:var(--mono);font-size:9.5px;letter-spacing:.5px;color:#6a6658;text-align:center;line-height:1.6}
.login-or{font-family:var(--serif);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-dim);text-align:center;margin-bottom:16px}
.login-ok{font-family:var(--serif);font-size:12px;letter-spacing:1px;color:var(--green);text-align:center;background:rgba(126,200,126,.08);border:1px solid rgba(126,200,126,.28);border-radius:10px;padding:10px;margin-bottom:4px}
.login-logout{background:none;border:1px solid rgba(212,175,55,.25);color:var(--gold-dim);font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;border-radius:30px;padding:9px;cursor:pointer;transition:all .25s}
.login-logout:hover{border-color:var(--gold);color:var(--gold-b)}
.login-sep{display:flex;align-items:center;gap:12px;margin:6px 0 2px;color:var(--gold-dim)}
.login-sep::before,.login-sep::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,.25),transparent)}
.login-sep span{font-family:var(--mono);font-size:9px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}
.login-signup{width:100%;background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(212,175,55,.06));border:1px solid rgba(212,175,55,.45);color:var(--gold-b);font-family:var(--serif);font-size:11px;letter-spacing:2px;text-transform:uppercase;border-radius:30px;padding:13px;cursor:pointer;transition:all .3s}
.login-signup:hover{border-color:var(--gold);color:#fff;letter-spacing:3px;box-shadow:0 0 24px rgba(212,175,55,.2)}
.door-card.locked{cursor:not-allowed}
.door-card.locked img{filter:grayscale(.6) brightness(.5)}
.door-card.locked .dgo{color:var(--gold-dim)}
.door-card.locked::after{content:'🔒';position:absolute;top:10px;right:12px;font-size:15px;filter:drop-shadow(0 1px 4px #000);z-index:2}

/* ---- Door / members access ------------------------------- */
.door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.door-card{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(212,175,55,.18);text-decoration:none;display:block;aspect-ratio:3/4;box-shadow:0 8px 26px rgba(0,0,0,.5);transition:transform .4s,border-color .4s,box-shadow .4s}
.door-card:hover{transform:translateY(-7px);border-color:rgba(212,175,55,.5);box-shadow:0 20px 50px rgba(212,175,55,.12)}
.door-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.door-card .dov{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,11,.95) 8%,rgba(2,4,11,.2) 55%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;gap:6px}
.door-card .dn{font-family:var(--serif);color:var(--gold-b);font-size:13px;letter-spacing:2px;text-transform:uppercase}
.door-card .dgo{font-family:var(--serif);font-size:9px;letter-spacing:3px;color:var(--gold);text-transform:uppercase;opacity:.7}
.door-card:hover .dgo{opacity:1}

/* ---- Transmissions player (compact) ---------------------- */
.tx-wrap{font-family:var(--mono)}
.tx-modesel{display:flex;gap:0;margin-bottom:18px;border-radius:10px;overflow:hidden;border:1px solid rgba(126,200,126,.25)}
.tx-mbtn{flex:1;background:rgba(0,0,0,.4);border:none;color:#b8912a;font-family:var(--serif);font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:13px;cursor:pointer;transition:all .3s}
.tx-mbtn.active{background:rgba(126,200,126,.1);color:var(--green)}
.tx-series3 .tx-mbtn{font-size:clamp(9px,1vw,12px);letter-spacing:.5px;padding:13px 6px;line-height:1.25;border-left:1px solid rgba(126,200,126,.18)}
.tx-series3 .tx-mbtn:first-child{border-left:none}
.tx-console{background:rgba(7,11,24,.5);border:1px solid rgba(126,200,126,.25);border-radius:12px;padding:24px 26px}
.tx-chead{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
.tx-ctitle{font-family:var(--serif);color:var(--green);font-size:17px;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 22px rgba(126,200,126,.3)}
.tx-csub{font-size:11px;color:#c8b080;letter-spacing:1px;margin-top:5px}
.tx-status{font-size:11px;color:#c8b080;letter-spacing:1px;text-align:right;line-height:1.9}
.tx-status b{color:var(--green)}
.tx-now{display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.5);border:1px solid rgba(126,200,126,.18);padding:11px 15px;border-radius:8px;margin-bottom:14px}
.tx-now .lbl{color:var(--green);font-size:10px;letter-spacing:2px;white-space:nowrap}
.tx-now .trk{flex:1;color:#e5c56d;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-now .ct{color:#c8b080;font-size:11px;white-space:nowrap}
.tx-prog{height:3px;background:rgba(126,200,126,.12);border-radius:3px;cursor:pointer;position:relative;margin-bottom:6px}
.tx-fill{height:100%;background:linear-gradient(90deg,#4a8a4a,#7ec87e,#b0e8b0);width:0;border-radius:3px}
.tx-plabels{display:flex;justify-content:space-between;font-size:10px;color:#c8b080;margin-bottom:16px}
.tx-ctrls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tx-btn{background:none;border:1px solid rgba(126,200,126,.25);color:var(--green);font-family:var(--mono);font-size:11px;letter-spacing:1.5px;padding:10px 16px;cursor:pointer;text-transform:uppercase;border-radius:6px;transition:all .25s;text-decoration:none}
.tx-btn:hover{background:rgba(126,200,126,.12);border-color:var(--green)}
.tx-btn.pri{background:rgba(126,200,126,.1);border-color:rgba(126,200,126,.5);padding:11px 26px;font-size:12px}
.tx-buy{color:var(--gold-b)!important;border-color:rgba(212,175,55,.45)!important}
.tx-buy:hover{background:rgba(212,175,55,.14)!important;border-color:var(--gold)!important}
.tx-vol{margin-left:auto;display:flex;align-items:center;gap:8px;color:#c8b080;font-size:10px;letter-spacing:1px}
.tx-vol input{-webkit-appearance:none;width:80px;height:2px;background:rgba(126,200,126,.18);outline:none;cursor:pointer}
.tx-vol input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--green);cursor:pointer}
.tx-ks{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(126,200,126,.1)}
.tx-kt{background:none;border:1px solid rgba(212,175,55,.18);color:#e5c56d;cursor:pointer;padding:11px 6px;border-radius:6px;transition:all .2s;text-align:center;font-family:var(--serif);font-size:11px;letter-spacing:.5px;line-height:1.3}
.tx-kt:hover{background:rgba(126,200,126,.06);border-color:rgba(126,200,126,.35);color:var(--green)}
.tx-kt.active{background:rgba(126,200,126,.12);border-color:var(--green);color:#b0e8b0}
.tx-kt b{display:block;font-size:13px;opacity:.5}
.tx-seq{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(126,200,126,.1)}
.tx-chip{font-family:var(--mono);font-size:11px;color:#c8b080;border:1px solid rgba(126,200,126,.18);padding:9px 3px;cursor:pointer;text-align:center;border-radius:5px;transition:all .25s}
.tx-chip:hover{color:var(--green);border-color:rgba(126,200,126,.45)}
.tx-chip.active{color:#02040b;background:var(--green);border-color:var(--green);font-weight:700}
.tx-note{font-size:10px;color:#6a6658;letter-spacing:1px;margin-top:16px;text-align:center;line-height:1.7}

/* ---- Kingdom status (hex list) --------------------------- */
.ks-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ks-item{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.14);border-radius:12px;padding:16px 18px}
.ks-hex{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);color:var(--gold);font-size:13px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.3)}
.ks-item h4{font-family:var(--serif);color:var(--gold-b);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:3px}

/* global overview */
.go-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.go-stat{text-align:center;background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.14);border-radius:14px;padding:24px 14px}
.go-stat .n{font-family:var(--serif);font-size:34px;color:var(--gold-b);line-height:1}
.go-stat .l{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-top:8px}

/* white text labels added over the art */
.labelzone{border-radius:4px}
.labelzone .zlabeltext{
  font-family:var(--serif);font-weight:500;color:#fff;letter-spacing:.12em;
  font-size:clamp(6px,.72vw,13px);text-transform:uppercase;white-space:nowrap;
  text-shadow:0 1px 10px rgba(0,0,0,.8);line-height:1;display:flex;align-items:center;height:100%;
}

/* ---- Access : membership tiers --------------------------- */
.gcard.tier{padding:26px 26px 26px}
.gcard.tier.featured{border-color:rgba(212,175,55,.32);box-shadow:0 0 0 1px rgba(212,175,55,.08),0 18px 46px rgba(0,0,0,.5)}
.tier-badge{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#02040b;background:var(--gold);border-radius:20px;padding:4px 13px;margin-bottom:14px}
.tier-badge.soon{background:rgba(140,170,255,.18);color:#9fb4ff;border:1px solid rgba(140,170,255,.4)}
.tier-price{font-family:var(--serif);font-size:34px;color:var(--gold-b);letter-spacing:1px;line-height:1;margin-bottom:6px}
.tier-price span{font-family:var(--sans);font-size:13px;color:var(--gold-dim);letter-spacing:1px;margin-left:4px}
.tier-perks{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:6px}
.tier-perks li{font-size:13px;color:#bbb6a8;display:flex;align-items:center;gap:10px;padding-bottom:9px;border-bottom:1px solid rgba(212,175,55,.08)}
.tier-perks li:last-child{border-bottom:none}
.tier-perks li::before{content:'✦';color:var(--gold);font-size:10px;flex-shrink:0}
.territory{margin-top:24px;background:linear-gradient(135deg,rgba(212,175,55,.05),transparent 60%),#070c18;border:1px solid rgba(212,175,55,.18);border-radius:16px;padding:26px 28px;text-align:center}
.terr-tiers{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.terr-pill{font-family:var(--serif);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-b);border:1px solid rgba(212,175,55,.3);border-radius:24px;padding:8px 18px;background:rgba(212,175,55,.05)}

@media (max-width:760px){
  .modal{padding:38px 22px 40px}
  .msplit,.cfwrap,.vmr,.login-wrap{grid-template-columns:1fr}
  .g3,.g2,.door-grid,.ks-list,.go-stats{grid-template-columns:1fr 1fr}
  .cf-row{grid-template-columns:1fr}
}

/* ── Kingdom Access redesign ──────────────────────────────── */
.ka-section { margin-bottom: 36px; }
.ka-section-title { font-family: var(--serif); font-size: clamp(14px,1.5vw,19px); color: var(--gold-b); letter-spacing: 3px; text-transform: uppercase; text-align: center; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(212,175,55,.18); }
.ka-grid { display: grid; gap: 14px; }
.ka-g2 { grid-template-columns: repeat(2, 1fr); }
.ka-g3 { grid-template-columns: repeat(3, 1fr); }
.ka-card { background: linear-gradient(135deg,rgba(212,175,55,.04),transparent 60%),#070c18; border: 1px solid rgba(212,175,55,.14); border-radius: 13px; padding: 20px 18px; text-align: center; }
.ka-featured { border-color: rgba(212,175,55,.38); box-shadow: 0 0 0 1px rgba(212,175,55,.07), 0 12px 36px rgba(0,0,0,.4); }
.ka-locked { opacity: .6; }
.ka-plan-name { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold-dim); margin-bottom: 8px; }
.ka-price { font-family: var(--serif); font-size: 34px; color: var(--gold-b); line-height: 1; margin-bottom: 4px; }
.ka-price span { font-size: 13px; font-family: var(--sans); color: var(--gold-dim); margin-left: 3px; }
.ka-price-alt { font-size: 11px; color: #6a6660; margin-top: 2px; }
.ka-tier-badge { display: inline-block; font-family: var(--mono); font-size: 9px; letter-spacing: 2px; text-transform: uppercase; border-radius: 20px; padding: 3px 12px; margin-bottom: 8px; }
.ka-live { background: var(--gold); color: #02040b; }
.ka-soon { background: rgba(140,170,255,.14); color: #9fb4ff; border: 1px solid rgba(140,170,255,.35); }
.ka-territory-note { font-size: 12px; color: #7a7570; text-align: center; margin-bottom: 14px; line-height: 1.7; }
.ka-terr { text-align: left; }
.ka-terr-name { font-family: var(--serif); font-size: 15px; color: var(--gold-b); margin-bottom: 4px; }
.ka-terr-price { font-family: var(--serif); font-size: 24px; color: #fff; margin-bottom: 10px; }
.ka-terr-price span { font-size: 12px; font-family: var(--sans); color: var(--gold-dim); margin-left: 2px; }
.ka-terr-perks { list-style: none; display: flex; flex-direction: column; gap: 5px; margin-bottom: 4px; }
.ka-terr-perks li { font-size: 12px; color: #bbb6a8; display: flex; align-items: center; gap: 7px; }
.ka-terr-perks li::before { content: '✦'; color: var(--gold); font-size: 8px; flex-shrink: 0; }
.ka-coming-soon { font-family: var(--mono); font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #4a4640; text-align: center; padding: 20px; border: 1px dashed rgba(212,175,55,.1); border-radius: 10px; }
.ka-music-sub { font-family: var(--mono); font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold-dim); text-align: center; margin-bottom: 12px; }
.ka-music-card { padding: 16px 14px; }
.ka-music-item { font-size: 12px; color: #ccc8be; margin-bottom: 6px; }
.ka-music-price { font-family: var(--serif); font-size: 22px; color: var(--gold-b); }
.ka-music-price span { font-size: 11px; font-family: var(--sans); color: var(--gold-dim); margin-left: 2px; }
.ka-music-legal { margin-top: 20px; font-size: 10.5px; color: #4e4a46; line-height: 1.85; border-top: 1px solid rgba(212,175,55,.08); padding-top: 14px; font-style: italic; }
.ka-payment-note { text-align: center; font-size: 12px; color: #5a5650; margin-top: 8px; padding-top: 18px; border-top: 1px solid rgba(212,175,55,.08); line-height: 1.8; }
.ka-payment-note a { color: var(--gold-b); text-decoration: none; }
.ka-payment-note a:hover { text-decoration: underline; }

/* ── Portal gate notes & door legend ─────────────────────── */
.portal-gate-note { font-size: 12px; color: #8a8680; text-align: center; line-height: 1.8; margin-bottom: 16px; padding: 10px 14px; border: 1px solid rgba(212,175,55,.1); border-radius: 9px; background: rgba(212,175,55,.02); }
.portal-gate-note a { color: var(--gold-b); text-decoration: none; }
.portal-gate-note a:hover { text-decoration: underline; }
.door-card.public-realm { border-color: rgba(212,175,55,.3); opacity: 1; }
.door-card.public-realm .dgo { color: var(--gold-b); }
.door-legend { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 12px; font-size: 10px; font-family: var(--mono); letter-spacing: .5px; color: #5a5660; }
.dl-open { color: var(--gold-dim) !important; }

@media (max-width: 760px) {
  .ka-g2, .ka-g3 { grid-template-columns: 1fr; }
}

/* ── Contact form success state ───────────────────────────── */
.cf-success { text-align: center; padding: 32px 20px; }

/* ── Character counter ────────────────────────────────────── */
.cf-char-count { font-family: var(--mono); font-size: 10px; color: #5a5650; text-align: right; margin-top: 4px; letter-spacing: .5px; transition: color .2s; }
.cf-char-warn .cf-char-count, .cf-char-count.warn { color: #c8a84b; }
.cf-char-over .cf-char-count, .cf-char-count.over { color: #ff6b6b; }
textarea#cMessage { min-height: 140px; resize: vertical; }

/* ── File upload ──────────────────────────────────────────── */
.cf-upload-hint { font-family: var(--mono); font-size: 9.5px; letter-spacing: .3px; color: #5a5650; font-weight: 400; margin-left: 6px; }
.cf-upload-wrap { display: flex; flex-direction: column; gap: 8px; }
.cf-upload-btn { font-family: var(--mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold-dim); background: transparent; border: 1px dashed rgba(212,175,55,.3); border-radius: 8px; padding: 10px 18px; cursor: pointer; transition: border-color .2s, color .2s; align-self: flex-start; }
.cf-upload-btn:hover { border-color: rgba(212,175,55,.7); color: var(--gold-b); }
.cf-file-list { display: flex; flex-direction: column; gap: 6px; }
.cf-file-item { display: flex; align-items: center; justify-content: space-between; background: rgba(212,175,55,.04); border: 1px solid rgba(212,175,55,.12); border-radius: 6px; padding: 7px 12px; }
.cf-file-name { font-size: 12px; color: #bbb6a8; }
.cf-file-size { font-family: var(--mono); font-size: 10px; color: #5a5650; margin-left: 8px; }
.cf-file-remove { background: none; border: none; color: #5a5650; cursor: pointer; font-size: 12px; padding: 0 2px; }
.cf-file-remove:hover { color: #ff6b6b; }

/* ── Commander card — kingdoms list ───────────────────────── */
.k-section-head { display:block; font-family:var(--mono); font-size:9px; letter-spacing:3px; text-transform:uppercase; color:rgba(212,175,55,.4); margin-bottom:10px; margin-top:4px; }
.k-row { display:flex; gap:10px; align-items:flex-start; }
.k-no { font-family:var(--serif); font-size:10px; color:var(--gold-dim); min-width:18px; margin-top:2px; letter-spacing:1px; flex-shrink:0; }
.k-name { font-family:var(--serif); font-size:11px; color:var(--gold-b); letter-spacing:1px; margin-right:4px; }

/* ══════════════════════════════════════════════════════════════
   M · SOVEREIGN MODAL
   ══════════════════════════════════════════════════════════════ */
.m-sovereign-wrap{text-align:center;}
.m-sigil-ring{position:relative;width:140px;height:140px;margin:0 auto 28px;}
.m-sigil-outer{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(212,175,55,0.35);box-shadow:0 0 40px rgba(212,175,55,0.12),inset 0 0 40px rgba(212,175,55,0.06);animation:mSigilSpin 18s linear infinite;}
.m-sigil-inner{position:absolute;inset:16px;border-radius:50%;border:1px solid rgba(212,175,55,0.55);background:radial-gradient(ellipse at center,rgba(212,175,55,0.08) 0%,transparent 70%);animation:mSigilSpin 12s linear infinite reverse;}
.m-sigil-inner::before{content:'';position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(212,175,55,0.2);}
.m-sigil-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:72px;font-weight:700;color:var(--gold-b);text-shadow:0 0 60px rgba(212,175,55,0.6),0 0 120px rgba(212,175,55,0.25);line-height:1;}
@keyframes mSigilSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.m-sovereign-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:7px;color:rgba(212,175,55,0.5);text-transform:uppercase;margin-bottom:10px;}
.m-sovereign-title{font-family:var(--serif);font-size:clamp(18px,2.5vw,32px);color:var(--gold-b);letter-spacing:5px;text-transform:uppercase;text-shadow:0 0 30px rgba(212,175,55,0.3);}
.m-sovereign-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px auto 0;width:280px;}
.m-rule-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,0.5),transparent);}
.m-rule-diamond{color:var(--gold);font-size:10px;}
.m-sovereign-intro{font-family:var(--serif);font-size:15px;line-height:2;color:#d8d2c0;max-width:700px;margin:24px auto;text-align:center;}
.m-creed{border-top:1px solid rgba(212,175,55,0.12);border-bottom:1px solid rgba(212,175,55,0.12);padding:22px 20px;margin:0 auto 8px;max-width:660px;}
.m-creed-line{font-family:var(--serif);font-size:14px;letter-spacing:1.5px;color:rgba(240,212,122,0.7);line-height:2.4;font-style:italic;}
.m-creed-line::before{content:'— ';color:rgba(212,175,55,0.35);}
.m-attr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:4px;text-align:left;}
.m-attr-card{background:linear-gradient(135deg,rgba(212,175,55,0.05),transparent 60%),#060a14;border:1px solid rgba(212,175,55,0.14);border-radius:14px;padding:20px 18px;transition:border-color .3s,box-shadow .3s,transform .3s;}
.m-attr-card:hover{border-color:rgba(212,175,55,0.38);box-shadow:0 12px 36px rgba(0,0,0,0.4),0 0 20px rgba(212,175,55,0.06);transform:translateY(-4px);}
.m-attr-icon{font-size:22px;color:var(--gold);margin-bottom:10px;text-shadow:0 0 16px rgba(212,175,55,0.4);}
.m-attr-label{font-family:var(--serif);font-size:12px;letter-spacing:2px;color:var(--gold-b);text-transform:uppercase;margin-bottom:8px;}
.m-attr-desc{font-size:12px;color:#8a8680;line-height:1.8;}

/* ══════════════════════════════════════════════════════════════
   THE COMMANDER · CINEMATIC MODAL
   ══════════════════════════════════════════════════════════════ */
.cmd-hero{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(212,175,55,0.30);box-shadow:0 24px 70px rgba(0,0,0,0.8),0 0 0 1px rgba(212,175,55,0.08);margin-bottom:28px;aspect-ratio:16/7;}
.cmd-hero-img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.cmd-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,4,11,0.88) 0%,rgba(2,4,11,0.35) 45%,transparent 70%);pointer-events:none;}
.cmd-hero-content{position:absolute;bottom:28px;left:36px;right:36px;}
.cmd-hero-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:5px;color:rgba(212,175,55,0.6);text-transform:uppercase;margin-bottom:8px;}
.cmd-hero-name{font-family:var(--serif);font-size:clamp(28px,4vw,54px);color:var(--gold-b);letter-spacing:5px;line-height:1;text-shadow:0 0 40px rgba(212,175,55,0.4);}
.cmd-hero-title{font-family:var(--serif);font-size:clamp(11px,1.2vw,15px);letter-spacing:3px;color:rgba(212,175,55,0.7);text-transform:uppercase;margin-top:8px;}
.cmd-hero-rule{display:flex;align-items:center;gap:12px;margin-top:14px;width:260px;}
.cmd-photo-corner{position:absolute;width:22px;height:22px;border-color:rgba(212,175,55,0.6);border-style:solid;pointer-events:none;}
.cmd-pc-tl{top:14px;left:14px;border-width:1.5px 0 0 1.5px;border-radius:3px 0 0 0;}
.cmd-pc-tr{top:14px;right:14px;border-width:1.5px 1.5px 0 0;border-radius:0 3px 0 0;}
.cmd-pc-bl{bottom:14px;left:14px;border-width:0 0 1.5px 1.5px;border-radius:0 0 0 3px;}
.cmd-pc-br{bottom:14px;right:14px;border-width:0 1.5px 1.5px 0;border-radius:0 0 3px 0;}
.cmd-quote{text-align:center;font-family:var(--serif);font-size:clamp(16px,2vw,24px);font-style:italic;color:var(--gold-b);letter-spacing:3px;line-height:1.8;margin:0 auto 24px;max-width:600px;text-shadow:0 0 30px rgba(212,175,55,0.2);}
.cmd-quote-mark{font-size:1.4em;color:rgba(212,175,55,0.4);vertical-align:-4px;margin:0 4px;}
.cmd-stats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 28px;}
.cmd-stat{text-align:center;padding:14px 20px;background:linear-gradient(135deg,rgba(212,175,55,0.06),transparent 60%),#060a14;border:1px solid rgba(212,175,55,0.16);border-radius:10px;min-width:110px;}
.cmd-stat-n{font-family:var(--serif);font-size:28px;color:var(--gold-b);font-weight:700;line-height:1;}
.cmd-stat-l{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:var(--gold-dim);text-transform:uppercase;margin-top:6px;}
.cmd-intro{font-family:var(--serif);font-size:15px;line-height:2;color:#d0cbbe;max-width:820px;margin:0 auto 8px;text-align:center;}
.cmd-answers-to{display:block;margin-top:8px;font-family:var(--mono);font-size:9px;letter-spacing:2px;color:rgba(212,175,55,0.7);text-transform:uppercase;border-top:1px solid rgba(212,175,55,0.15);padding-top:8px;}

/* Chain of Command */
.cmd-chain{display:flex;flex-direction:column;align-items:center;gap:0;margin:0 auto;max-width:420px;}
.cmd-chain-node{width:100%;background:linear-gradient(135deg,rgba(212,175,55,0.05),transparent),#060a14;border:1px solid rgba(212,175,55,0.18);border-radius:12px;padding:18px 24px;text-align:center;transition:border-color .3s;}
.cmd-chain-node:hover{border-color:rgba(212,175,55,0.4);}
.cmd-chain-top{border-color:rgba(212,175,55,0.45);box-shadow:0 0 30px rgba(212,175,55,0.08);}
.cmd-chain-active{border-color:rgba(212,175,55,0.55);box-shadow:0 0 30px rgba(212,175,55,0.12);}
.cmd-chain-icon{font-family:var(--serif);font-size:22px;color:var(--gold-b);font-weight:700;margin-bottom:4px;text-shadow:0 0 20px rgba(212,175,55,0.4);}
.cmd-chain-label{font-family:var(--serif);font-size:14px;letter-spacing:2px;color:var(--gold-b);text-transform:uppercase;margin-bottom:4px;}
.cmd-chain-sub{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;color:var(--gold-dim);text-transform:uppercase;}
.cmd-chain-arrow{font-size:18px;color:rgba(212,175,55,0.35);padding:6px 0;line-height:1;}

/* ══════════════════════════════════════════════════════════════
   MISS MONEYPENNY · CINEMATIC MODAL
   ══════════════════════════════════════════════════════════════ */
.mp-top{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;margin-bottom:32px;}
.mp-photo-frame{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(212,175,55,0.30);box-shadow:0 20px 60px rgba(0,0,0,0.7),0 0 0 1px rgba(212,175,55,0.08);aspect-ratio:3/4;background:#04060f;}
.mp-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;border-radius:12px;}
.mp-photo-overlay{position:absolute;inset:0;border-radius:12px;background:linear-gradient(to top,rgba(2,4,11,0.65) 0%,transparent 55%);pointer-events:none;}
.mp-photo-corner{position:absolute;width:18px;height:18px;border-color:rgba(212,175,55,0.7);border-style:solid;pointer-events:none;}
.mp-pc-tl{top:10px;left:10px;border-width:1.5px 0 0 1.5px;border-radius:3px 0 0 0;}
.mp-pc-tr{top:10px;right:10px;border-width:1.5px 1.5px 0 0;border-radius:0 3px 0 0;}
.mp-pc-bl{bottom:10px;left:10px;border-width:0 0 1.5px 1.5px;border-radius:0 0 0 3px;}
.mp-pc-br{bottom:10px;right:10px;border-width:0 1.5px 1.5px 0;border-radius:0 0 3px 0;}
.mp-id-badge{margin-top:14px;background:linear-gradient(135deg,#07111e,#040810);border:1px solid rgba(212,175,55,0.22);border-radius:10px;padding:14px 16px;font-family:var(--mono);}
.mp-id-top{display:flex;align-items:center;gap:4px;font-size:8px;letter-spacing:2px;color:rgba(212,175,55,0.5);text-transform:uppercase;margin-bottom:8px;}
.mp-id-sep{color:rgba(212,175,55,0.25);}
.mp-id-name{font-family:var(--serif);font-size:15px;color:var(--gold-b);letter-spacing:2px;margin-bottom:3px;}
.mp-id-role{font-size:9px;letter-spacing:2px;color:rgba(212,175,55,0.55);text-transform:uppercase;margin-bottom:6px;}
.mp-id-clearance{font-size:8px;letter-spacing:1.5px;color:#7ec87e;text-transform:uppercase;margin-bottom:8px;}
.mp-id-bar{height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,0.3),transparent);margin:8px 0;}
.mp-id-email{font-size:9px;letter-spacing:0.5px;color:var(--gold-dim);margin-bottom:4px;}
.mp-id-foot{font-size:8px;letter-spacing:1px;color:rgba(212,175,55,0.3);}
.mp-brief-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:4px;color:rgba(212,175,55,0.45);text-transform:uppercase;margin-bottom:10px;}
.mp-brief-name{font-family:var(--serif);font-size:clamp(22px,2.8vw,38px);color:var(--gold-b);letter-spacing:4px;line-height:1.1;text-shadow:0 2px 20px rgba(212,175,55,0.25);}
.mp-brief-title{font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;margin:6px 0 14px;}
.mp-brief-rule{width:180px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:18px;}
.mp-brief-intro{font-family:var(--serif);font-size:14.5px;line-height:2;color:#ccc8ba;margin-bottom:22px;}
.mp-caps{display:flex;flex-direction:column;gap:10px;}
.mp-cap{display:flex;align-items:flex-start;gap:14px;background:rgba(212,175,55,0.04);border:1px solid rgba(212,175,55,0.10);border-radius:8px;padding:11px 14px;transition:border-color .25s,background .25s;}
.mp-cap:hover{border-color:rgba(212,175,55,0.28);background:rgba(212,175,55,0.07);}
.mp-cap-icon{font-size:16px;color:var(--gold);flex-shrink:0;margin-top:1px;}
.mp-cap-label{font-family:var(--serif);font-size:12px;letter-spacing:1.5px;color:var(--gold-b);text-transform:uppercase;margin-bottom:3px;}
.mp-cap-desc{font-size:12px;color:#8a8480;line-height:1.6;}
.mp-contact-btn{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--gold);border:1px solid rgba(212,175,55,0.35);border-radius:30px;padding:10px 22px;background:rgba(212,175,55,0.06);transition:all .3s;}
.mp-contact-btn:hover{background:rgba(212,175,55,0.14);border-color:var(--gold);box-shadow:0 0 18px rgba(212,175,55,0.12);}
.mp-divider{display:flex;align-items:center;gap:16px;margin:8px 0 24px;}
.mp-div-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,0.25),transparent);}
.mp-div-text{font-family:var(--mono);font-size:9px;letter-spacing:3px;color:rgba(212,175,55,0.40);text-transform:uppercase;white-space:nowrap;}

/* ══════════════════════════════════════════════════════════════
   GLOBAL OVERVIEW · LIVE VISITOR MAP
   ══════════════════════════════════════════════════════════════ */
.go-stats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}
.go-stat{text-align:center;padding:12px 18px;background:linear-gradient(135deg,#080d1a,#04070f);border:1px solid rgba(212,175,55,.14);border-radius:10px;min-width:90px}
.go-stat .n{font-family:var(--serif);font-size:30px;color:var(--gold-b);line-height:1;font-weight:700}
.go-stat .l{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;margin-top:6px}
.go-map-wrap{position:relative;margin:20px 0 10px}
.go-map-label{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--gold-dim);text-align:center;margin-bottom:8px;text-transform:uppercase}
.go-you-bar{display:flex;align-items:center;gap:8px;background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.2);border-radius:6px;padding:9px 14px;margin:10px 0;font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.5px}
.go-you-pulse{color:#fff;animation:goPulse 1.8s ease-in-out infinite;font-size:13px}
@keyframes goPulse{0%,100%{opacity:1}50%{opacity:0.2}}
.go-section-head{font-family:var(--serif);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-dim);margin:18px 0 6px;border-bottom:1px solid rgba(212,175,55,.15);padding-bottom:6px}
.go-log{max-height:170px;overflow-y:auto;background:rgba(0,0,0,.3);border:1px solid rgba(212,175,55,.12);border-radius:6px;padding:8px 10px}
.go-log-empty{font-size:11px;color:var(--gold-dim);text-align:center;padding:12px 0;font-family:var(--mono)}
.go-log-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(212,175,55,.07);font-size:11px}
.go-log-row:last-child{border-bottom:none}
.go-log-flag{font-size:14px;flex-shrink:0}
.go-log-loc{flex:1;color:var(--ink);font-family:var(--mono);letter-spacing:.3px}
.go-log-ago{color:var(--gold-dim);font-family:var(--mono);font-size:10px;flex-shrink:0}

@media(max-width:760px){
  .m-attr-grid{grid-template-columns:1fr 1fr;}
  .m-sigil-ring{width:110px;height:110px;}
  .m-sigil-letter{font-size:54px;}
  .mp-top{grid-template-columns:1fr;}
  .mp-photo-frame{max-width:260px;margin:0 auto;}
  .cmd-hero{aspect-ratio:16/9;}
  .cmd-hero-content{bottom:16px;left:18px;right:18px;}
  .cmd-stats{gap:8px;}
  .cmd-stat{min-width:80px;padding:10px 12px;}
}
