/* D.C.C. app shell: every page behind the door (log, pods, work, sign-in, terms).
   Same tokens and glass as landing.css so the door and the rooms read as one
   product. The variable NAMES below are the contract every template is written
   against: change values, never names. */
:root{
  --ground:#07070b;--panel:#12121b;--panel-2:rgba(255,255,255,.035);--ink:#eeeef2;--ink-2:#c6c6cf;
  --ink-3:#8f8f9c;--rule:rgba(255,255,255,.08);--rule-2:rgba(255,255,255,.14);
  --amber:#e9d8a6;--amber-2:#d4a857;--cyan:#7fd4ff;--clear:#7fdca0;--slow:#d4a857;--stopped:#e8786e;
  --glow:0 0 22px rgba(233,216,166,.18);--glass:rgba(255,255,255,.045);--glass-2:rgba(255,255,255,.07);
  --f-disp:"Fraunces",Georgia,serif;--f-body:"Geist","Inter",system-ui,sans-serif;
  --f-num:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --r-lg:28px;--r-md:18px;--r-sm:12px;--gut:clamp(16px,4vw,40px);--max:1200px;
  --ease:cubic-bezier(.16,1,.3,1);color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;background:var(--ground)}
/* atmosphere: the landing's two orbs + grain, fixed behind everything */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(620px 620px at 78% -8%,rgba(212,168,87,.20),transparent 62%),
             radial-gradient(520px 520px at -4% 38%,rgba(127,212,255,.10),transparent 62%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
a{color:var(--amber)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:#1a1407;padding:.5rem .9rem;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.lbl{font-family:var(--f-num);font-size:.64rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- glass */
.glass,.card{position:relative;background:linear-gradient(180deg,var(--glass-2),var(--glass));
  border:1px solid var(--rule-2);border-radius:var(--r-md);
  -webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.35),0 30px 60px -30px rgba(0,0,0,.7)}

/* ---------------------------------------------------------------- nav */
.nav{position:sticky;top:0;z-index:50;padding:12px 0}
.nav .bar{display:flex;align-items:center;gap:.75rem 1rem;justify-content:space-between;
  padding:.5rem .55rem .5rem 1.1rem;border-radius:100px}
.logo{font-family:var(--f-disp);font-weight:900;font-size:1.3rem;letter-spacing:.02em;line-height:1;
  color:var(--ink);text-decoration:none;display:block;flex:none}
.logo b{color:var(--amber);font-weight:900}
.logo small{display:block;font-family:var(--f-num);font-size:.46rem;letter-spacing:.3em;color:var(--ink-3);margin-top:3px;font-weight:500}
.nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.nav ul a{font-size:.9rem;color:var(--ink-2);text-decoration:none;padding:.45rem .85rem;border-radius:100px;
  transition:color .2s,background .2s;display:block}
.nav ul a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav ul a.on{color:var(--ink);background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px var(--rule-2)}
.nav .act{display:flex;gap:.4rem;align-items:center;flex:none}
.nav .act form{margin:0}
@media(max-width:760px){
  .nav .bar{flex-wrap:wrap;border-radius:22px;padding:.6rem .6rem .45rem 1rem}
  .nav ul{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--rule);padding-top:.4rem}
  .nav ul a{padding:.4rem .6rem;font-size:.85rem}
}

/* ---------------------------------------------------------------- controls */
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .9rem/1 var(--f-body);
  padding:.75rem 1.15rem;border-radius:100px;cursor:pointer;border:1px solid var(--rule-2);
  color:var(--ink);background:rgba(255,255,255,.03);text-decoration:none;white-space:nowrap;
  transition:transform .25s var(--ease),border-color .25s,background .25s,box-shadow .25s,color .25s}
button:hover,.btn:hover{transform:translateY(-2px);border-color:var(--amber)}
button.go,.btn.go{background:linear-gradient(180deg,#f3e6bd,var(--amber-2));color:#1a1407;border-color:transparent;
  box-shadow:0 10px 30px -10px rgba(212,168,87,.65),inset 0 1px 0 rgba(255,255,255,.6)}
button.go:hover,.btn.go:hover{box-shadow:0 16px 40px -10px rgba(212,168,87,.8),inset 0 1px 0 rgba(255,255,255,.6)}
.btn.sm,button.sm{padding:.55rem .95rem;font-size:.84rem}
input,select,textarea{font-family:var(--f-body);font-size:1rem;padding:.6rem .8rem;color:var(--ink);
  background:rgba(0,0,0,.28);border:1px solid var(--rule-2);border-radius:var(--r-sm);width:100%;
  transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(127,212,255,.15)}
input[type=number]{font-family:var(--f-num)}
select option{background:var(--panel);color:var(--ink)}

/* ---------------------------------------------------------------- page frame */
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  margin:clamp(18px,3vw,34px) 0 .4rem}
.kicker{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-num);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding:.45rem .9rem;border-radius:100px;margin:0}
.pill{padding:.5rem .9rem;border-radius:100px;color:var(--ink-2)}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px rgba(233,216,166,.6)}
.page{padding-bottom:3rem}
.page.narrow{max-width:40rem;margin:0 auto}
.hero-h{font-family:var(--f-disp);font-weight:600;font-size:clamp(2.1rem,1rem + 3.4vw,3.6rem);line-height:1;
  letter-spacing:-.035em;margin:.9rem 0 1.4rem}
.hero-h em{font-style:italic;font-weight:400;color:var(--amber)}
h1{font-family:var(--f-disp);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0}
h2{font-family:var(--f-num);font-weight:500;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cyan);margin:2rem 1.15rem .6rem;padding-bottom:.45rem;border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:baseline}
h2 .cnt{font-size:.62rem;color:var(--amber);letter-spacing:.08em}
.flashes{display:grid;gap:8px;margin-top:6px}
.flash{padding:.8rem 1.1rem;border-radius:var(--r-sm);font-size:.92rem;border-color:rgba(233,216,166,.45)}
.card{margin:0 1.15rem}
.card-hd{padding:1rem 1.1rem .85rem;border-bottom:1px solid var(--rule)}
.card-hd h3{font:600 1.08rem var(--f-body);margin:0;letter-spacing:-.01em}
.card-hd p{margin:.25rem 0 0;font-size:.8rem;color:var(--ink-3)}

/* ---------------------------------------------------------------- footer */
footer{margin-top:2rem;padding:40px 0 56px;border-top:1px solid var(--rule);color:var(--ink-3);font-size:.86rem}
footer .row{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:flex-start}
footer a{color:var(--ink-2);text-decoration:none;margin-right:1rem} footer a:hover{color:var(--amber)}
footer b{color:var(--amber);font-weight:600}

@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
