@font-face{font-family:'Cinzel';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cinzel-400.woff2') format('woff2');}
@font-face{font-family:'Cinzel';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cinzel-600.woff2') format('woff2');}
@font-face{font-family:'Cardo';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cardo-400.woff2') format('woff2');}
@font-face{font-family:'Cardo';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/cardo-700.woff2') format('woff2');}
@font-face{font-family:'Fragment Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fragment-mono-400.woff2') format('woff2');}
:root{
  --bg:#080912; --bg2:#0B0D1A; --panel:#0E1022; --ink:#F0EEF8; --muted:#9694B4; --faint:#42456A;
  --ring:#C9A46A; --ring2:#6FB6C9; --rule:rgba(201,164,106,0.32); --rule2:rgba(160,164,210,0.13);
  --c1:#161331; --c2:#080912; --maxw:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Cardo',Georgia,serif;line-height:1.7;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--rule2) 1px,transparent 1px),linear-gradient(90deg,var(--rule2) 1px,transparent 1px);
  background-size:100% 100%,25vw 100%;background-position:0 0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4vw,44px);}
h1,h2,h3{font-family:'Cinzel',Georgia,serif;font-weight:600;letter-spacing:0.02em;text-wrap:balance;}
.mono{font-family:'Fragment Mono',ui-monospace,monospace;}
.sc{font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:0.28em;font-size:11px;font-weight:600;color:var(--ring);}
.mark{display:block;color:var(--ring);}
a{color:inherit;}
.orn{text-align:center;color:var(--ring);font-size:13px;letter-spacing:0.6em;padding:6px 0;opacity:0.85;}

/* thin ledger strip */
.ledger{border-bottom:1px solid var(--rule2);}
.ledger-in{display:flex;justify-content:space-between;align-items:center;height:30px;font-family:'Fragment Mono',monospace;font-size:10.5px;letter-spacing:0.14em;color:var(--faint);text-transform:uppercase;}

/* NAV */
nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--rule);}
.nav-in{display:flex;align-items:center;gap:16px;height:82px;}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;}
.brand .mark{width:54px;height:54px;}
.brand .nm{display:flex;flex-direction:column;line-height:1;}
.brand .nm b{font-family:'Cinzel',serif;font-weight:600;font-size:25px;letter-spacing:0.18em;color:var(--ink);}
.brand .nm small{font-family:'Fragment Mono',monospace;font-size:8.5px;letter-spacing:0.24em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.nav-links{display:flex;gap:30px;margin-left:auto;align-items:center;}
.nav-links a{font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;color:var(--muted);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.btn{font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:600;padding:12px 22px;text-decoration:none;border:1px solid var(--ring);color:var(--ring);background:transparent;cursor:pointer;transition:all .2s;display:inline-block;}
.btn:hover{background:var(--ring);color:var(--bg);}
.btn.solid{background:var(--ring);color:var(--bg);}
.btn.solid:hover{background:transparent;color:var(--ring);}
.textlink{font-family:'Cinzel',serif;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;transition:color .2s;}
.textlink:hover{color:var(--ink);}

/* frame with corner brackets (tactile) */
.frame{position:relative;border:1px solid var(--rule);}
.frame::before,.frame::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none;}
.frame::before{top:-1px;left:-1px;border-top:2px solid var(--ring);border-left:2px solid var(--ring);}
.frame::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--ring);border-right:2px solid var(--ring);}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);background:radial-gradient(120% 120% at 50% -25%,var(--c1),var(--bg) 58%);}
#stars{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.grat{position:absolute;inset:0;width:100%;height:100%;color:var(--ring);opacity:0.09;z-index:0;}
.hero-in{position:relative;z-index:2;text-align:center;padding:clamp(44px,6vw,76px) 0 clamp(50px,6vw,80px);}
.dateline{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--ring);}
.dateline::before,.dateline::after{content:"";height:1px;width:min(130px,15vw);background:var(--rule);}
.hero .mark{width:clamp(130px,16vw,180px);height:auto;margin:32px auto 28px;}
.masthead{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0;margin:0 auto;max-width:19ch;}
.masthead h1{font-size:clamp(30px,6.6vw,70px);line-height:1.0;margin:0;}
.hero .tag{color:var(--muted);font-size:clamp(17px,2.2vw,22px);max-width:48ch;margin:30px auto 0;font-style:italic;}
.cta-row{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:36px;}

/* SECTIONS */
section{padding:clamp(62px,8vw,108px) 0;border-bottom:1px solid var(--rule2);}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:baseline;border-top:1px solid var(--rule);padding-top:20px;margin-bottom:38px;}
.rn{font-family:'Cinzel',serif;font-size:clamp(32px,5vw,56px);color:var(--ring);line-height:0.8;font-weight:600;}
.sec-head h2{font-size:clamp(25px,3.6vw,40px);margin:6px 0 0;}
.lede{color:var(--muted);font-size:clamp(16px,2vw,19px);max-width:62ch;}

.intro-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:58px;align-items:center;}
.intro p{max-width:58ch;margin:0 0 18px;font-size:17.5px;}
.intro p.first::first-letter{font-family:'Cinzel',serif;font-size:3.6em;line-height:0.68;float:left;padding:8px 14px 0 0;color:var(--ring);}
.sphere-holder{aspect-ratio:1/1;display:grid;place-items:center;border:1px solid var(--rule2);position:relative;}
.sphere-holder::before{content:"";position:absolute;top:8px;left:8px;width:14px;height:14px;border-top:1px solid var(--ring);border-left:1px solid var(--ring);}
.sphere-holder::after{content:"";position:absolute;bottom:8px;right:8px;width:14px;height:14px;border-bottom:1px solid var(--ring);border-right:1px solid var(--ring);}
#sphere{width:min(320px,84%);height:auto;color:var(--ring);}

/* PILLARS as ruled almanac */
.almanac{border-top:1px solid var(--rule);}
.alm-row{display:grid;grid-template-columns:64px 1fr auto;gap:26px;padding:26px 6px;border-bottom:1px solid var(--rule2);align-items:baseline;transition:background .2s,padding-left .2s;}
.alm-row:hover{background:color-mix(in srgb,var(--ring) 6%,transparent);padding-left:16px;}
.alm-row .rn{font-size:clamp(22px,3vw,34px);}
.alm-row h3{font-size:21px;margin:0 0 6px;}
.alm-row p{margin:0;color:var(--muted);font-size:16px;max-width:64ch;}
.alm-row .tick{font-family:'Fragment Mono',monospace;font-size:10.5px;letter-spacing:0.12em;color:var(--faint);text-transform:uppercase;white-space:nowrap;}

/* CONFERENCE */
.conf-block{padding:clamp(34px,5vw,64px) clamp(24px,4vw,56px);text-align:center;background:linear-gradient(180deg,var(--panel),var(--bg));}
.conf-block .kd{color:var(--ring);}
.conf-block h2{font-size:clamp(30px,5.6vw,56px);margin:18px 0 10px;}
.conf-block .sub{color:var(--muted);font-size:clamp(17px,2.3vw,21px);max-width:60ch;margin:0 auto 30px;font-style:italic;}

/* JOIN */
.join-card{max-width:600px;margin:0 auto;text-align:center;}
.join-card h2{font-size:clamp(26px,4vw,42px);margin:16px 0 12px;}
.join-card>p{color:var(--muted);margin:0 auto 28px;max-width:46ch;font-size:17px;}
form.signup{display:flex;border:1px solid var(--ring);max-width:460px;margin:0 auto;}
form.signup input[type=email]{flex:1;min-width:0;padding:15px 20px;border:none;background:transparent;color:var(--ink);font-family:'Cardo',serif;font-size:16px;}
form.signup input[type=email]:focus{outline:none;background:color-mix(in srgb,var(--ring) 7%,transparent);}
form.signup .btn{border:none;border-left:1px solid var(--ring);}
.check{display:flex;align-items:center;gap:9px;justify-content:center;margin-top:18px;color:var(--muted);font-size:14.5px;}
.check input{accent-color:var(--ring);width:16px;height:16px;}
.ok{display:none;margin-top:20px;color:var(--ring);font-family:'Cinzel',serif;letter-spacing:0.06em;}
.ok.show{display:block;}

/* FOOTER */
footer{padding:54px 0 66px;color:var(--muted);}
.foot-in{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.foot-in .mark{width:48px;height:48px;}
.foot-nm{font-family:'Cinzel',serif;font-size:20px;letter-spacing:0.14em;color:var(--ink);}
.foot-meta{margin-left:auto;text-align:right;font-size:13.5px;line-height:1.8;}
.foot-meta a{color:var(--ring);text-decoration:none;}
.fine{font-family:'Fragment Mono',monospace;font-size:11px;color:var(--faint);margin-top:28px;letter-spacing:0.04em;}

/* MODAL */
.modal-back{position:fixed;inset:0;z-index:100;background:rgba(4,5,12,0.86);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s ease;}
.modal-back.show{opacity:1;pointer-events:auto;}
.modal{position:relative;max-width:540px;width:100%;border:1px solid var(--ring);background:var(--bg2);padding:clamp(30px,5vw,48px);transform:translateY(12px);transition:transform .3s cubic-bezier(.2,.8,.2,1);max-height:92vh;overflow:auto;}
.modal-back.show .modal{transform:none;}
.modal .x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--rule2);background:transparent;color:var(--muted);font-size:15px;cursor:pointer;}
.modal .x:hover{color:var(--ink);border-color:var(--ring);}
.modal .mk-sm{width:58px;height:58px;color:var(--ring);margin:0 auto 16px;display:block;}
.modal .sc{display:block;text-align:center;}
.modal h2{font-size:clamp(25px,4.5vw,34px);text-align:center;margin:10px 0 8px;}
.modal .lead{color:var(--muted);text-align:center;font-size:16.5px;max-width:42ch;margin:0 auto 26px;font-style:italic;}
.benefits{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--rule);}
.benefits li{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:baseline;padding:14px 2px;border-bottom:1px solid var(--rule2);}
.benefits .bx{color:var(--ring);font-size:12px;}
.benefits b{color:var(--ink);font-family:'Cinzel',serif;font-size:14px;letter-spacing:0.04em;}
.benefits .d{color:var(--muted);display:block;margin-top:3px;font-size:15px;}
.modal form{display:flex;border:1px solid var(--ring);}
.modal form input[type=email]{flex:1;min-width:0;padding:14px 18px;border:none;background:transparent;color:var(--ink);font-family:'Cardo',serif;font-size:16px;}
.modal form input[type=email]:focus{outline:none;}
.modal form .btn{border:none;border-left:1px solid var(--ring);}
.modal .fine2{text-align:center;color:var(--faint);font-family:'Fragment Mono',monospace;font-size:11px;letter-spacing:0.04em;margin-top:16px;}
.modal .ok2{display:none;text-align:center;color:var(--ring);font-family:'Cinzel',serif;letter-spacing:0.05em;font-size:18px;padding:18px 0;}
.modal.done .benefits,.modal.done form,.modal.done .lead,.modal.done .fine2{display:none;}
.modal.done .ok2{display:block;}

@media (max-width:860px){
  body{background-size:100% 100%,50vw 100%;}
  .nav-links a:not(.btn){display:none;}
  .brand .nm small{display:none;}
  .intro-grid{grid-template-columns:1fr;gap:36px;}
  .sphere-holder{order:-1;max-width:280px;margin:0 auto;}
  .alm-row{grid-template-columns:44px 1fr;}.alm-row .tick{display:none;}
  .foot-meta{margin-left:0;text-align:left;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;}}

/* COSMOS parallax layer */
#cosmos{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;}
body{position:relative;background:#070812;}
.ledger,nav{position:relative;z-index:30;}
section,footer{position:relative;z-index:2;}
.hero{background:transparent;border-bottom:1px solid var(--rule);}
.pillars{background:transparent;}
.conf-block{background:rgba(9,11,24,0.62);}
.sphere-holder{background:rgba(9,11,24,0.45);}
.masthead h1,.sec-head h2,.conf-block h2,.join-card h2,.hero .tag{text-shadow:0 2px 30px rgba(0,0,0,0.6);}
.intro p,.lede,.alm-row p{text-shadow:0 1px 18px rgba(0,0,0,0.5);}
