/* ============================================================
   nocturne.css — NOCTURNE brand layer (The Conservatory of Intimacy)
   ============================================================ */
:root{
  --bg:#0B0E1F;          /* midnight */
  --ink:#070A18;
  --ink-2:#11163A;
  --ink-3:#1A2150;       /* raised indigo */
  --paper:#F4F1FB;
  --ice:#C9D6FF;
  --mute:#8E97C4;
  --line:rgba(201,214,255,.14);
  --accent:#FF4D8D;      /* hot pink */
  --accent-2:#FF8FB1;    /* rose */
  --gold:#F4D9A6;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Outfit',-apple-system,'Segoe UI',sans-serif;
}
body{font-weight:300}
h1,h2,h3,.serif{font-family:var(--display);font-weight:400}
.it{font-style:italic}

.nav .nocturne-word{font-family:var(--display);font-size:18px;letter-spacing:.34em}

/* ambient living-stave field behind everything */
.stave-field{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5}
.stave-field path{stroke:var(--line);fill:none;stroke-width:1}
.nf-note{fill:var(--gold);opacity:0;animation:noteFloat 9s ease-in-out infinite}
@keyframes noteFloat{0%{opacity:0;transform:translateY(8px)}12%,70%{opacity:.85}100%{opacity:0;transform:translateY(-10px)}}

main,.nav,.foot{position:relative;z-index:1}

/* hero */
.no-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 80px;position:relative}
.no-title{font-size:clamp(40px,8vw,104px);line-height:1.0;font-weight:300;max-width:14ch}
.no-title em{font-style:italic;color:var(--accent-2)}
.no-lede{margin-top:30px;max-width:46ch;color:var(--ice);font-size:clamp(15px,1.6vw,18px)}
.no-hero .btn-row{margin-top:42px}
.no-meta{margin-top:62px;display:flex;gap:46px;flex-wrap:wrap}
.no-meta b{display:block;font-family:var(--display);font-size:30px;font-weight:300;color:var(--paper);margin-bottom:2px}
.no-meta span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}

/* manifesto — the training wheels lines */
.manifesto{font-family:var(--display);font-weight:300;font-size:clamp(30px,5.4vw,64px);line-height:1.12}
.manifesto .pink{color:var(--accent-2);font-style:italic}
.manifesto .gold{color:var(--gold);font-style:italic}
.manifesto + .man-sub{margin-top:40px;max-width:42ch;color:var(--ice);font-size:15px}

/* suites */
.suites{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media(max-width:820px){.suites{grid-template-columns:1fr}}
.suite{background:var(--bg);padding:46px 34px 54px;transition:background .35s}
.suite:hover{background:#0E1230}
.suite .op{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.suite h3{font-size:30px;margin:16px 0 12px;font-weight:300}
.suite h3 em{font-style:italic;color:var(--accent-2)}
.suite p{color:var(--mute);font-size:13.5px;max-width:36ch}
.suite ul{margin-top:18px;list-style:none;display:grid;gap:9px}
.suite li{font-size:12.5px;color:var(--ice);display:flex;gap:10px;align-items:baseline}
.suite li::before{content:"♪";color:var(--gold);font-size:11px}

/* feature rows (method) */
.feat{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,6vw,90px);align-items:start}
@media(max-width:820px){.feat{grid-template-columns:1fr}}
.feat-lede{font-family:var(--display);font-weight:300;font-size:clamp(24px,3vw,34px);line-height:1.4}
.feat-lede i{font-style:italic;color:var(--accent-2)}
.ledger{border-top:1px solid var(--line)}
.ledger .row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}
.ledger .row span:first-child{color:var(--mute);letter-spacing:.16em;text-transform:uppercase;font-size:11px}
.ledger .row b{font-weight:400;color:var(--gold)}

/* curriculum list (suites page) */
.curric{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.cur-row{background:var(--bg);display:grid;grid-template-columns:64px 1fr 1.4fr;gap:20px;padding:22px 28px;align-items:baseline;transition:background .3s}
.cur-row:hover{background:#0E1230}
.cur-row .no{font-family:var(--display);font-size:22px;color:var(--accent-2);font-style:italic}
.cur-row .nm{font-size:15px;color:var(--paper)}
.cur-row .sk{font-size:12.5px;color:var(--mute)}
@media(max-width:680px){.cur-row{grid-template-columns:48px 1fr;}.cur-row .sk{grid-column:1/-1;padding-left:68px}}

/* age note pill */
.age-note{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.age-note b{color:var(--accent-2);font-weight:500}

.cta-band{text-align:center}
.cta-band h2{font-size:clamp(32px,5vw,60px);font-weight:300;line-height:1.1;margin-bottom:18px}
.cta-band h2 em{font-style:italic;color:var(--accent-2)}
.cta-band p{color:var(--mute);max-width:52ch;margin:0 auto 34px}
.cta-band .btn-row{justify-content:center}

.no-foot .nocturne-word{font-family:var(--display);font-size:24px;letter-spacing:.3em}
