* { margin:0; padding:0; box-sizing:border-box; }
html,body { height:100%; background:#05080f; overflow:hidden; }
body { font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased; }

/* ---- slideshow harness ---- */
#deck { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; }
.slide {
  position:absolute; width:1920px; height:1080px; overflow:hidden;
  transform:translate(-50%,-50%) scale(var(--scale)); left:50%; top:50%;
  transform-origin:center center;
  opacity:0; visibility:hidden; transition:opacity .35s ease;
  box-shadow:0 30px 90px rgba(0,0,0,.6);
}
.slide.active { opacity:1; visibility:visible; }
.slide.dark  { background:#091429; }
.slide.light { background:#ffffff; }

/* nav */
#nav { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:50;
  display:flex; align-items:center; gap:14px;
  background:rgba(9,20,41,.82); backdrop-filter:blur(10px);
  border:1px solid rgba(184,160,83,.3); border-radius:999px; padding:8px 16px;
  box-shadow:0 8px 30px -10px rgba(0,0,0,.6); }
#nav button { background:none; border:none; color:#b8a053; cursor:pointer; font-family:inherit;
  font-size:13px; font-weight:600; padding:6px 12px; border-radius:999px; transition:background .2s; letter-spacing:.04em; }
#nav button:hover { background:rgba(184,160,83,.15); }
#counter { color:rgba(255,255,255,.55); font-size:12px; min-width:54px; text-align:center; font-variant-numeric:tabular-nums; letter-spacing:.05em; }
#dots { display:flex; gap:6px; align-items:center; max-width:340px; flex-wrap:wrap; justify-content:center; }
.dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.22); cursor:pointer; transition:all .2s; }
.dot:hover { background:rgba(255,255,255,.5); }
.dot.active { background:#b8a053; transform:scale(1.35); }
/* click zones */
.edge { position:fixed; top:0; bottom:0; width:12%; z-index:40; cursor:pointer; }
#edgeL { left:0; } #edgeR { right:0; }
.hint { position:fixed; top:18px; left:50%; transform:translateX(-50%); z-index:50; color:rgba(255,255,255,.4); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }

/* auto-hiding chrome */
#nav,#notesBtn,.hint { transition:opacity .4s ease; }
body.idle #nav, body.idle .hint, body.idle #notesBtn, body.idle #backBtn { opacity:0; pointer-events:none; }

/* back button (top-left) */
#backBtn { position:fixed; top:16px; left:16px; z-index:60;
  display:flex; align-items:center; gap:7px;
  background:rgba(9,20,41,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(184,160,83,.3); color:#b8a053; border-radius:8px;
  padding:8px 13px; font:600 11px/1 'Inter',sans-serif; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; transition:background .2s; }
#backBtn:hover { background:rgba(184,160,83,.16); }
#backBtn iconify-icon { font-size:14px; }

/* notes button (top-right) */
#notesBtn { position:fixed; top:16px; right:16px; z-index:60;
  display:flex; align-items:center; gap:7px;
  background:rgba(9,20,41,.82); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(184,160,83,.3); color:#b8a053; border-radius:8px;
  padding:8px 13px; font:600 11px/1 'Inter',sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
#notesBtn:hover { background:rgba(184,160,83,.16); }
#notesBtn iconify-icon { font-size:14px; }
#notesBtn.on { background:#b8a053; color:#091429; }

/* notes panel */
#notesPanel { position:fixed; right:16px; top:60px; width:360px; max-height:46vh; overflow-y:auto; z-index:60;
  background:rgba(9,20,41,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(184,160,83,.25); border-radius:12px; padding:18px 20px;
  box-shadow:0 24px 60px -22px rgba(0,0,0,.8); display:none; }
#notesPanel.open { display:block; }
#notesPanel .nhead { display:flex; justify-content:space-between; align-items:center; color:#b8a053; font-size:10px; letter-spacing:.22em; text-transform:uppercase; font-weight:700; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid rgba(184,160,83,.2); }
#notesPanel .ntitle { font-weight:600; font-size:15px; color:#fff; margin-bottom:9px; }
#notesPanel .nbody { font-size:13px; line-height:1.75; color:rgba(255,255,255,.82); }

/* welcome / contact gate */
#gate { position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  background:rgba(5,9,16,.82); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); transition:opacity .45s ease; }
#gate.hide { opacity:0; pointer-events:none; }
.gate-card { width:540px; max-width:92vw; background:#0c1a32; border:1px solid rgba(184,160,83,.32); border-radius:18px;
  padding:42px 44px; box-shadow:0 50px 120px rgba(0,0,0,.6); text-align:center; }
.gate-logo { width:74px; height:74px; margin:0 auto 18px; border-radius:50%; border:1.75px solid #b8a053; display:flex; align-items:center; justify-content:center; }
.gate-logo iconify-icon { font-size:42px; color:#b8a053; }
.gate-eyebrow { font:600 12px 'Inter'; letter-spacing:5px; color:#b8a053; text-transform:uppercase; }
.gate-title { font-family:'Montserrat'; font-weight:700; font-size:30px; letter-spacing:-1px; color:#fff; margin:10px 0 8px; }
.gate-sub { font-size:14px; line-height:1.6; color:rgba(255,255,255,.66); margin-bottom:24px; }
.gate-field { width:100%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:10px;
  padding:13px 15px; color:#fff; font:400 14px 'Inter'; margin-top:11px; }
.gate-field:focus { outline:none; border-color:#b8a053; background:rgba(255,255,255,.09); }
.gate-field::placeholder { color:rgba(255,255,255,.42); }
textarea.gate-field { resize:none; min-height:74px; }
.gate-submit { margin-top:20px; width:100%; background:#b8a053; color:#091429; border:none; border-radius:10px;
  padding:14px; font:700 13px 'Inter'; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; transition:filter .2s; }
.gate-submit:hover { filter:brightness(1.07); }
.gate-skip { display:inline-block; margin-top:15px; background:none; border:none; color:rgba(255,255,255,.55);
  font:500 12px 'Inter'; letter-spacing:.05em; cursor:pointer; }
.gate-skip:hover { color:rgba(255,255,255,.85); }

/* ===================== shared slide type ===================== */
.eyebrow { position:absolute; font-weight:600; font-size:20px; letter-spacing:6.2px; color:#b8a053; line-height:30px; white-space:nowrap; }
.h1 { position:absolute; font-family:'Montserrat'; font-weight:700; font-size:60px; letter-spacing:-3.3px; line-height:70px; color:#091429; white-space:nowrap; }
.dark .h1 { color:#fff; }
.subtitle { position:absolute; font-weight:400; font-size:22px; letter-spacing:-0.44px; color:#6c727f; line-height:40px; white-space:nowrap; }
.dark .subtitle { color:rgba(255,255,255,.8); }
.body { position:absolute; font-weight:400; font-size:22px; line-height:30px; color:#414a59; }
.dark .body { color:rgba(255,255,255,.72); }
.brand { position:absolute; font-weight:600; font-size:14px; letter-spacing:4.2px; text-transform:uppercase; color:#6f7481; line-height:26px; white-space:nowrap; }
.fline { position:absolute; left:100px; top:980px; width:1720px; height:1px; background:#e5e7ec; }
.dark .fline { background:rgba(255,255,255,.12); }

.lcard { position:absolute; background:#f7f8fa; border:1px solid #e5e7ec; border-radius:13px; }
.ic-circle { width:57px; height:57px; border-radius:50%; background:#b8a053; display:flex; align-items:center; justify-content:center; color:#fff; flex:0 0 auto; }
.ic-circle iconify-icon { font-size:28px; }
.ctitle { font-family:'Inter'; font-weight:600; font-size:29px; color:#091429; line-height:30px; }
.cdesc { font-family:'Inter'; font-weight:400; font-size:22px; color:#414a59; line-height:30px; }
.gcard { position:absolute; background:rgba(255,255,255,.09); border:1px solid rgba(229,231,236,.2); border-radius:13px; overflow:hidden; }
.logo { position:absolute; width:100px; height:100px; border-radius:50%; border:1.75px solid #b8a053; display:flex; align-items:center; justify-content:center; }
.logo iconify-icon { font-size:62px; color:#b8a053; }
.center { text-align:center; }
iconify-icon { display:inline-block; line-height:1; }

/* slide-specific */
.badge { width:415px;height:70px;background:#040b18;border:1.75px solid #b8a053;display:flex;align-items:center;justify-content:center;font-size:20px;letter-spacing:6.2px;color:#fff;padding-left:6.2px;}
.vrow { position:absolute;left:1008px;display:flex;align-items:center;gap:24px;width:790px;}
.npill { width:191px;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;color:#e7d9ac;font-weight:600;font-size:14px;letter-spacing:1.5px;}
.npill iconify-icon { font-size:18px;color:#b8a053;}
.exprow { display:flex;align-items:center;height:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.exprow .n { width:54px;font-weight:600;font-size:20px;color:#b8a053;}
.exprow .t { font-size:22px;color:rgba(255,255,255,.85);}
.venn { position:absolute;width:480px;height:480px;border-radius:50%;border:1.5px solid rgba(184,160,83,.55);background:rgba(184,160,83,.07);}
.vlabel { position:absolute;}
.vlabel b { font-weight:700;font-size:24px;letter-spacing:1px;color:#091429;}
.vlabel span { font-size:15px;color:#6c727f;}
.vmini { position:absolute;font-weight:600;font-size:13px;letter-spacing:1px;line-height:18px;color:#091429;text-align:center;}
.vsoft { position:absolute;font-size:14px;line-height:20px;color:#6c727f;}
.s6desc { position:absolute;top:558px;width:336px;text-align:center;}
.s6desc .t { font-weight:600;font-size:22px;color:#fff;}
.s6desc .d { margin-top:15px;font-size:18px;line-height:28px;color:rgba(255,255,255,.6);padding:0 25px;}
.s6photo { flex:1; position:relative; border-radius:14px; overflow:hidden; border:1px solid rgba(184,160,83,.3); box-shadow:0 16px 40px -16px rgba(0,0,0,.7); }
.s6photo img { width:100%; height:100%; object-fit:cover; display:block; }
.s6photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,20,41,0) 70%, rgba(9,20,41,.35) 100%); }
.tstage { position:absolute;width:100px;text-align:center;}
.tstage .lbl { font-weight:600;font-size:14px;letter-spacing:2px;color:#b8a053;}
.tstage .circle { margin-top:20px;width:100px;height:100px;border-radius:50%;border:2px solid #b8a053;display:flex;align-items:center;justify-content:center;font-family:'Montserrat';font-weight:700;font-size:42px;color:#e7d9ac;background:rgba(184,160,83,.06);}
.tconn { position:absolute;top:88px;height:2px;background:linear-gradient(90deg,rgba(184,160,83,.3),rgba(184,160,83,.7));}
.stat { width:414px;text-align:center;position:relative;}
.sic { width:47px;height:47px;border-radius:50%;background:rgba(184,160,83,.15);display:flex;align-items:center;justify-content:center;margin:25px auto 0;}
.sic iconify-icon { font-size:22px;color:#b8a053;}
.snum { margin-top:18px;font-family:'Montserrat';font-weight:700;font-size:70px;line-height:70px;color:#b8a053;}
.slab { margin-top:18px;font-weight:600;font-size:20px;letter-spacing:1px;color:#091429;}
.ssub { margin-top:8px;font-size:16px;color:#6c727f;}
.dcard { position:absolute;width:563px;height:276px;background:rgba(255,255,255,.09);border:1px solid rgba(229,231,236,.2);border-radius:13px;padding:40px 35px;}
.dcard .sq { width:47px;height:47px;border-radius:11px;background:rgba(184,160,83,.15);display:flex;align-items:center;justify-content:center;}
.dcard .sq iconify-icon { font-size:24px;color:#b8a053;}
.dcard .t { margin-top:20px;font-weight:600;font-size:24px;color:#fff;}
.dcard .d { margin-top:15px;font-size:20px;line-height:28px;color:rgba(255,255,255,.62);}
.bcard { position:absolute;width:705px;height:189px;background:rgba(255,255,255,.09);border:1px solid rgba(229,231,236,.2);border-radius:13px;}
.bcard .lbl { position:absolute;left:25px;top:25px;font-weight:600;font-size:20px;letter-spacing:2px;color:#b8a053;}
.bcard .role { position:absolute;left:25px;top:80px;font-weight:600;font-size:22px;color:#fff;}
.bcard .d { position:absolute;left:25px;top:118px;font-size:18px;line-height:26px;color:rgba(255,255,255,.6);width:560px;}
.bcard .ic { position:absolute;left:656px;top:28px;font-size:24px;color:#b8a053;}
.s9row { position:absolute;left:25px;width:760px;display:flex;gap:15px;font-size:20px;line-height:28px;color:#414a59;}
.s9row iconify-icon { font-size:24px;color:#b8a053;flex:0 0 auto;margin-top:1px;}
.s9row b { color:#091429;font-weight:600;}
.s9year { position:absolute;top:74px;text-align:left;}
.s9year .yn { font-family:'Montserrat';font-weight:700;font-size:64px;line-height:64px;color:#091429;}
.s9year .yl { margin-top:18px;font-weight:600;font-size:16px;letter-spacing:2px;color:#6c727f;}
.s11list { position:absolute;left:48px;top:158px;width:680px;list-style:disc;color:#fff;}
.s11list li { font-size:18px;line-height:28px;letter-spacing:-0.36px;margin-bottom:20px;}
.s14row { position:absolute;left:34px;display:flex;align-items:center;gap:28px;width:784px;}
.leg { display:flex;align-items:center;gap:10px;height:40px;font-size:20px;color:#091429;}
.leg span { width:20px;height:20px;border-radius:4px;display:inline-block;}

/* ---- centered cover ---- */
#cover { background:radial-gradient(ellipse 120% 90% at 50% 38%, #0d203f 0%, #091429 62%); }
.cover-grid { position:absolute; inset:0;
  background-image:linear-gradient(rgba(184,160,83,.05) 1px, transparent 1px),linear-gradient(90deg, rgba(184,160,83,.05) 1px, transparent 1px);
  background-size:64px 64px; }
.cover-vignette { position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 50% 45%, transparent 45%, #091429 92%); }
.cover-inner { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px; }
.cover-emblem { width:124px; height:124px; border-radius:50%; border:2px solid #b8a053; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 10px rgba(184,160,83,.06); }
.cover-emblem iconify-icon { font-size:66px; color:#b8a053; }
.cover-org { margin-top:30px; font-weight:600; font-size:22px; letter-spacing:7px; color:#b8a053; }
.cover-title { margin-top:22px; font-family:'Montserrat'; font-weight:700; font-size:96px; line-height:1.04; letter-spacing:-3.6px; color:#fff; }
.cover-title span { color:#d8b24c; }
.cover-divider { margin-top:30px; width:92px; height:3px; border-radius:2px; background:#b8a053; }
.cover-tagline { margin-top:30px; font-weight:500; font-size:22px; letter-spacing:5px; color:rgba(255,255,255,.62); }
.cover-stars { margin-top:30px; display:flex; gap:13px; }
.cover-stars span { width:7px; height:7px; border-radius:50%; background:#b8a053; }
.cover-sub { margin-top:18px; font-size:19px; letter-spacing:.5px; color:rgba(255,255,255,.5); }
.cover-badges { margin-top:48px; display:flex; gap:26px; justify-content:center; }

/* ---- mobile overrides (<= 600px) ---- */
@media (max-width: 600px) {

  /* fix nav bar overflow — it's wider than a phone screen */
  #nav {
    width:calc(100vw - 32px);
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    padding:8px 10px;
    border-radius:14px;
    bottom:14px;
  }
  #nav button { padding:7px 14px; font-size:12px; }
  #counter { min-width:44px; font-size:11px; }
  #dots { max-width:100%; gap:8px; }
  .dot { width:9px; height:9px; }

  /* wider edge tap zones for thumbs */
  .edge { width:22%; }

  /* keyboard navigation hint is irrelevant on touch */
  .hint { display:none; }

  /* notes panel — full width on mobile */
  #notesPanel { right:8px; left:8px; width:auto; top:56px; }

  /* back / notes buttons — slightly smaller */
  #backBtn, #notesBtn { padding:7px 10px; font-size:10px; }
}
