/* Brand fonts: Google's own latin files, Bodoni Moda fixed at optical size 11 so hairlines stay visible at display sizes */
@font-face { font-family: 'Bodoni Moda'; font-style: italic; font-weight: 500 700; font-display: swap; src: url(https://fonts.gstatic.com/s/bodonimoda/v28/aFTB7PxzY382XsXX63LUYJSPUqb0pL6OQqxrZLnVbtxSXgOXEFZ8.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Bodoni Moda'; font-style: normal; font-weight: 500 700; font-display: swap; src: url(https://fonts.gstatic.com/s/bodonimoda/v28/aFTH7PxzY382XsXX63LUYL6GYFcan6NJrKp-VPj1KOxQVAS1Eg.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Public Sans'; font-style: italic; font-weight: 400 700; font-display: swap; src: url(https://fonts.gstatic.com/s/publicsans/v21/ijwTs572Xtc6ZYQws9YVwnNDTJzax8s3Jik.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Public Sans'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(https://fonts.gstatic.com/s/publicsans/v21/ijwRs572Xtc6ZYQws9YVwnNGfJ7QwOk1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Naughty Seniors UK - "After the Watershed".
   Ink-black velvet, lipstick red from the logo, champagne hairlines, silver from SENIORS.
   Bodoni Moda (Classy Luxury pairing) over Public Sans. Everything scoped under .ns. */

@font-face{font-family:"BodoniModaFallback";src:local("Arial");size-adjust:103.9%;ascent-override:112.5%;descent-override:40%;line-gap-override:0%}
@font-face{font-family:"PublicSansFallback";src:local("Arial");size-adjust:104.4%;ascent-override:95%;descent-override:22.5%;line-gap-override:0%}

:root{
  --ns-ink:#0b0809; --ns-ink-2:#141011; --ns-ink-3:#1d1618; --ns-ink-4:#2a2023;
  --ns-red:#c9112c; --ns-red-hot:#ff2e4c; --ns-red-deep:#7a0c1b; --ns-glow:rgba(211,18,46,.34);
  --ns-champ:#d9b67c; --ns-champ-soft:rgba(217,182,124,.28); --ns-blush:#efcdbd; --ns-blush-deep:#c9988a;
  --ns-silver:#cbc8cc; --ns-cream:#f6eee8; --ns-muted:#bcaea7; --ns-faint:#8d7f79;
  --ns-line:rgba(239,205,189,.14); --ns-line-2:rgba(239,205,189,.3);
  --font-heading:'Bodoni Moda','BodoniModaFallback','Didot',Georgia,serif;
  --font-body:'Public Sans','PublicSansFallback','Segoe UI',system-ui,-apple-system,sans-serif;
  --container-max:1240px; --logo-height:44px; --btn-radius:999px; --card-radius:4px;
  --transition-fast:.18s ease; --transition-slow:.45s ease;
  --color-bg:var(--ns-ink); --color-text:var(--ns-cream); --color-primary:var(--ns-red); --color-on-primary:#fff;
  --color-heading:var(--ns-cream); --color-focus:var(--ns-champ);
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ns-ink);color:var(--ns-cream);font-family:var(--font-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--ns-champ);outline-offset:3px}

.ns{overflow-x:clip}
.ns .wrap{width:min(var(--container-max),100% - 48px);margin-inline:auto}
.ns .skip{position:absolute;left:-9999px;top:8px;background:var(--ns-cream);color:var(--ns-ink);padding:10px 16px;z-index:100}
.ns .skip:focus{left:12px}
.ns h1,.ns h2,.ns h3,.ns h4{font-family:var(--font-heading);font-weight:600;color:var(--ns-cream);line-height:calc(1.15 * 1.03);letter-spacing:calc(-0.02em + .01em);margin:0}
.ns em{font-style:italic}
.ns .rd{color:var(--ns-red-hot)}
.ns .ch{color:var(--ns-champ)}

/* horns - the logo's little devil, used as a mark */
.ns .horns{display:inline-block;width:26px;height:12px;flex:none;color:var(--ns-red-hot)}
.ns .kicker{display:flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ns-champ);margin:0 0 18px}
.ns .kicker::after{content:"";height:1px;width:56px;background:var(--ns-champ-soft)}
.ns .kicker.center{justify-content:center}
.ns .kicker.center::before{content:"";height:1px;width:56px;background:var(--ns-champ-soft)}

/* buttons */
.ns .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:var(--btn-radius);padding:14px 26px;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}
.ns .btn:hover{transform:translateY(-1px)}
.ns .btn-red{background:var(--ns-red);color:#fff;box-shadow:0 10px 30px -8px var(--ns-glow)}
.ns .btn-red:hover{background:var(--ns-red-hot)}
.ns .btn-ghost{border:1px solid var(--ns-line-2);color:var(--ns-cream)}
.ns .btn-ghost:hover{border-color:var(--ns-blush)}

/* header */
.ns-header{position:sticky;top:0;z-index:50;background:rgba(11,8,9,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--ns-line)}
.ns-header .nav{display:flex;align-items:center;gap:28px;min-height:78px}
.ns-header .logo img{height:var(--logo-height);width:auto;max-width:min(16rem,52vw);object-fit:contain;object-position:left center}
.ns-header .menu{margin-left:auto;display:flex;gap:26px;list-style:none;padding:0;margin-block:0;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ns-header .menu a{text-decoration:none;color:var(--ns-muted)}
.ns-header .menu a:hover{color:var(--ns-cream)}
.ns-header .nav-actions{display:flex;gap:10px;margin-left:8px}
.ns-header .nav-actions .btn{padding:11px 20px;font-size:13px}
.ns-header .hs-canvas-nav{margin-left:auto}
@media (max-width:980px){.ns-header .menu{display:none}.ns-header .nav-actions{margin-left:auto}.ns-header .nav-actions .btn-ghost{display:none}}

/* hero */
.ns-hero{position:relative;min-height:min(92vh,880px,1100px);display:flex;align-items:center;background:var(--ns-ink);isolation:isolate}
.ns-hero .art{position:absolute;inset:0 0 0 30%;z-index:-2}
.ns-hero .art img{width:100%;height:100%;object-fit:cover;object-position:62% 22%}
.ns-hero .shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,var(--ns-ink) 0%,var(--ns-ink) 30%,rgba(11,8,9,.86) 40%,rgba(11,8,9,.35) 55%,rgba(11,8,9,0) 70%),
  linear-gradient(0deg,var(--ns-ink) 0%,rgba(11,8,9,0) 26%),
  linear-gradient(180deg,rgba(11,8,9,.7) 0%,rgba(11,8,9,0) 18%),
  radial-gradient(55% 60% at 12% 70%,rgba(122,12,27,.38),transparent 70%)}
.ns-hero .inner{padding:90px 0 110px;max-width:640px}
.ns-hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ns-blush);margin:0 0 26px}
.ns-hero h1{font-size:clamp(54px,8.4vw,122px);font-weight:600;line-height:.94;letter-spacing:-.025em}
.ns-hero h1 em{display:block;color:var(--ns-red-hot);font-weight:600}
.ns-hero .tag{font-size:clamp(18px,1.6vw,21px);color:var(--ns-muted);max-width:30em;margin:28px 0 34px}
.ns-hero .meet{display:flex;flex-wrap:wrap;gap:12px}
.ns-hero .meet a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;padding:16px 22px;border-radius:var(--btn-radius);transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}
.ns-hero .meet a:hover{transform:translateY(-2px)}
.ns-hero .meet .sym{font-size:19px;line-height:1}
.ns-hero .meet .w{background:var(--ns-red);color:#fff;box-shadow:0 12px 34px -10px var(--ns-glow)}
.ns-hero .meet .w:hover{background:var(--ns-red-hot)}
.ns-hero .meet .m{border:1px solid var(--ns-line-2);color:var(--ns-cream);background:rgba(20,16,17,.55)}
.ns-hero .meet .m:hover{border-color:var(--ns-cream)}
.ns-hero .meet .c{border:1px solid rgba(217,182,124,.55);color:var(--ns-champ);background:rgba(20,16,17,.55)}
.ns-hero .meet .c:hover{border-color:var(--ns-champ)}
.ns-hero .assure{margin:26px 0 0;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ns-faint)}
.ns-hero .assure b{color:var(--ns-champ);font-weight:700}
@media (max-width:820px){
  .ns-hero{min-height:auto;display:block}
  .ns-hero .art{position:relative;inset:auto;height:min(62vh,560px);min-height:380px}
  .ns-hero .art img{object-position:var(--fx,70%) 18%}
  .ns-hero .shade{background:linear-gradient(0deg,var(--ns-ink) 4%,rgba(11,8,9,0) 48%),linear-gradient(180deg,rgba(11,8,9,.65) 0%,rgba(11,8,9,0) 20%);height:min(62vh,560px);min-height:380px}
  .ns-hero .inner{padding:0 0 70px;margin-top:-90px;position:relative}
  .ns-hero .meet a{width:100%;justify-content:space-between}
}

/* ribbon of places and kinds */
.ns-ribbon{border-block:1px solid var(--ns-line);background:var(--ns-ink-2);padding:20px 0}
.ns-ribbon ul{list-style:none;margin:0;padding:0 24px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;font-family:var(--font-heading);font-style:italic;font-size:21px}
.ns-ribbon li{color:var(--ns-silver)}
.ns-ribbon li:nth-child(even){color:var(--ns-red-hot)}
.ns-ribbon li::after{content:"·";color:var(--ns-faint);margin-left:28px;font-style:normal}
.ns-ribbon li:last-child::after{content:""}

/* the shh block */
.ns-shh{padding:130px 0 110px;position:relative;background:radial-gradient(50% 70% at 0% 50%,rgba(122,12,27,.28),transparent 70%),var(--ns-ink)}
.ns-shh .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px;align-items:center}
.ns-shh .big{font-family:var(--font-heading);font-style:italic;font-weight:500;font-size:clamp(140px,22vw,330px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--ns-red-hot);margin:0;user-select:none}
.ns-shh .big span{color:var(--ns-red);-webkit-text-stroke:0}
.ns-shh h2{font-size:clamp(36px,4.4vw,58px);font-weight:500;margin-bottom:26px}
.ns-shh h2 em{color:var(--ns-blush)}
.ns-shh p{color:var(--ns-muted);margin:0 0 18px;max-width:34em}
.ns-shh p strong{color:var(--ns-cream);font-weight:600}
@media (max-width:900px){.ns-shh{padding:90px 0 70px}.ns-shh .grid{grid-template-columns:1fr;gap:20px}}

/* three promises */
.ns-promises{padding:0 0 120px}
.ns-promises .row{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ns-promises .p{border-top:2px solid var(--ns-cream);padding-top:26px}
.ns-promises .p:nth-child(3){border-top-color:var(--ns-red-hot)}
.ns-promises h3{font-size:clamp(30px,2.8vw,40px);font-weight:500;margin-bottom:12px}
.ns-promises h3 em{color:var(--ns-red-hot)}
.ns-promises p{margin:0;color:var(--ns-muted);font-size:17px}
@media (max-width:860px){.ns-promises .row{grid-template-columns:1fr;gap:34px}}

/* kinds - photo cards */
.ns-kinds{padding:120px 0;background:var(--ns-ink-2);border-top:1px solid var(--ns-line)}
.ns-kinds .head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}
.ns-kinds h2{font-size:clamp(40px,5vw,72px);font-weight:500;line-height:1}
.ns-kinds h2 em{color:var(--ns-red-hot)}
.ns-kinds .head p{color:var(--ns-muted);max-width:26em;margin:0}
.ns-kinds .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ns-kinds .card{position:relative;display:block;aspect-ratio:4/5.4;overflow:hidden;border-radius:var(--card-radius);text-decoration:none;background:var(--ns-ink)}
.ns-kinds .card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow),filter var(--transition-slow);filter:saturate(.92)}
.ns-kinds .card:hover img{transform:scale(1.045);filter:saturate(1.05)}
.ns-kinds .card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,8,9,.94) 0%,rgba(11,8,9,.35) 42%,rgba(11,8,9,0) 64%)}
.ns-kinds .card .txt{position:absolute;left:22px;right:22px;bottom:22px;z-index:1}
.ns-kinds .card .n{font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ns-champ)}
.ns-kinds .card h3{font-size:30px;font-weight:500;margin:6px 0 8px}
.ns-kinds .card h3 em{color:var(--ns-red-hot)}
.ns-kinds .card p{margin:0;font-size:15px;line-height:1.5;color:var(--ns-muted)}
.ns-kinds .card .go{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ns-cream);border-bottom:1px solid var(--ns-red-hot);padding-bottom:3px}
@media (max-width:1020px){.ns-kinds .cards{grid-template-columns:repeat(2,1fr)}.ns-kinds .head{flex-direction:column;align-items:flex-start}}
@media (max-width:560px){.ns-kinds .cards{grid-template-columns:1fr}.ns-kinds .card{aspect-ratio:4/4.6}}

/* members - the platform fills the section; photos blurred until joining */
.ns-members{padding:110px 0}
.ns-members .head{text-align:center;max-width:720px;margin:0 auto 44px}
.ns-members h2{font-size:clamp(36px,4.2vw,56px);font-weight:500}
.ns-members h2 em{color:var(--ns-red-hot)}
.ns-members .head p{color:var(--ns-muted);margin:16px 0 0}
.ns .member-grid .lp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.ns .member-grid .mem-card{background:var(--ns-ink-2);border:1px solid var(--ns-line);border-radius:var(--card-radius);overflow:hidden;position:relative}
.ns .member-grid .mem-card img{width:100%;aspect-ratio:1;object-fit:cover;filter:blur(7px) saturate(.9);transform:scale(1.08)}
.ns .member-grid .mem-card__name{font-family:var(--font-heading);font-size:20px;margin:12px 14px 0;color:var(--ns-cream)}
.ns .member-grid .mem-card__where{font-size:14px;color:var(--ns-champ);margin:2px 14px 0}
.ns .member-grid .mem-card__line{font-size:14px;color:var(--ns-muted);margin:8px 14px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns .member-grid .mem-card__cta{display:block;margin:12px 10px 14px;text-align:center;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:11px 4px;white-space:nowrap;border-radius:var(--btn-radius);background:var(--ns-red);color:#fff}
.ns .member-grid .mem-card__badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(11,8,9,.75);color:var(--ns-champ);padding:5px 9px;border-radius:999px}
.ns .member-grid .lp-empty{text-align:center;color:var(--ns-muted)}

/* the guide - long-form chapters with a sticky contents rail */
.ns-guide{padding:120px 0;border-top:1px solid var(--ns-line);background:linear-gradient(180deg,var(--ns-ink) 0%,var(--ns-ink-2) 100%)}
.ns-guide .intro{max-width:820px;margin-bottom:64px}
.ns-guide .intro h2{font-size:clamp(40px,5vw,70px);font-weight:500;line-height:1.02}
.ns-guide .intro h2 em{color:var(--ns-red-hot)}
.ns-guide .intro p{font-family:var(--font-heading);font-style:italic;font-size:22px;color:var(--ns-blush-deep);margin:22px 0 0}
.ns-guide .cols{display:grid;grid-template-columns:260px minmax(0,1fr);gap:70px;align-items:start}
.ns-guide .rail{position:sticky;top:110px;border:1px solid var(--ns-line);border-radius:var(--card-radius);padding:24px;background:rgba(20,16,17,.7)}
.ns-guide .rail .t{font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--ns-faint);margin:0 0 14px}
.ns-guide .rail ol{margin:0 0 22px;padding:0;list-style:none;counter-reset:c}
.ns-guide .rail li{counter-increment:c;margin:0 0 12px;font-size:15px;line-height:1.35}
.ns-guide .rail li::before{content:"0" counter(c);font-family:var(--font-heading);font-style:italic;color:var(--ns-red-hot);margin-right:10px}
.ns-guide .rail a{text-decoration:none;color:var(--ns-muted)}
.ns-guide .rail a:hover{color:var(--ns-cream)}
.ns-guide .rail .btn{width:100%;justify-content:center}
.ns-guide article{max-width:720px}
.ns-guide .chap{font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ns-champ);margin:0 0 12px;display:flex;align-items:center;gap:12px}
.ns-guide .chap::after{content:"";height:1px;flex:0 0 60px;background:var(--ns-champ-soft)}
.ns-guide article h3,.ns-guide article h2.gh{font-size:clamp(28px,3vw,40px);font-weight:500;margin:0 0 22px}
.ns-guide article h3 em,.ns-guide article h2.gh em{color:var(--ns-red-hot)}
.ns-guide article p{color:#d8ccc6;margin:0 0 20px}
.ns-guide article p.drop::first-letter{float:left;font-family:var(--font-heading);font-size:82px;line-height:.82;padding:6px 12px 0 0;color:var(--ns-red-hot);font-style:normal;font-weight:700;font-variation-settings:'opsz' 12}
.ns-guide article section+section{margin-top:70px}
.ns-guide .band{margin:70px 0;position:relative;border-radius:var(--card-radius);overflow:hidden;aspect-ratio:16/8}
.ns-guide .band img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.ns-guide .band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,8,9,.92) 0%,rgba(11,8,9,.4) 45%,rgba(11,8,9,0) 70%)}
.ns-guide .band q{position:absolute;left:34px;bottom:34px;max-width:60%;z-index:1;font-family:var(--font-heading);font-style:italic;font-size:clamp(22px,2.4vw,32px);line-height:1.2;color:var(--ns-cream);quotes:none}
.ns-guide .safe{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ns-guide .safe li{border:1px solid var(--ns-line);border-radius:var(--card-radius);padding:18px 18px 16px;background:rgba(11,8,9,.5)}
.ns-guide .safe b{display:block;font-family:var(--font-heading);font-weight:600;font-size:20px;color:var(--ns-cream);margin-bottom:4px}
.ns-guide .safe span{font-size:15px;color:var(--ns-muted);line-height:1.5}
@media (max-width:980px){.ns-guide .cols{grid-template-columns:1fr;gap:40px}.ns-guide .rail{position:relative;top:auto}.ns-guide .safe{grid-template-columns:1fr}.ns-guide .band q{max-width:84%;left:22px;bottom:22px}}

/* places */
.ns-places{padding:110px 0;border-top:1px solid var(--ns-line)}
.ns-places .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:end;margin-bottom:40px}
.ns-places h2{font-size:clamp(38px,4.6vw,64px);font-weight:500;line-height:1}
.ns-places h2 em{color:var(--ns-red-hot)}
.ns-places .head p{color:var(--ns-muted);margin:0}
.ns-places ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ns-line)}
.ns-places li{border-bottom:1px solid var(--ns-line)}
.ns-places li a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:20px 16px 18px 0;text-decoration:none;font-family:var(--font-heading);font-size:25px;color:var(--ns-cream);transition:color var(--transition-fast),padding var(--transition-fast)}
.ns-places li a span{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ns-faint)}
.ns-places li a:hover{color:var(--ns-red-hot);padding-left:8px}
@media (max-width:900px){.ns-places .head{grid-template-columns:1fr;gap:16px}.ns-places ul{grid-template-columns:repeat(2,1fr)}}

/* how it works */
.ns-steps{padding:120px 0;background:var(--ns-cream);color:var(--ns-ink)}
.ns-steps h2{color:var(--ns-ink);font-size:clamp(44px,6vw,92px);font-weight:500;line-height:.95;margin-bottom:60px}
.ns-steps h2 em{color:var(--ns-red)}
.ns-steps .kicker{color:var(--ns-red-deep)}
.ns-steps .kicker::after{background:rgba(122,12,27,.35)}
.ns-steps .row{display:grid;grid-template-columns:repeat(3,1fr);gap:46px}
.ns-steps .s{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.ns-steps .num{font-family:var(--font-heading);font-style:italic;font-weight:500;font-size:96px;line-height:.78;color:var(--ns-red)}
.ns-steps h3{color:var(--ns-ink);font-family:var(--font-body);font-size:15px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:6px 0 10px}
.ns-steps p{margin:0;color:#4b3f3b;font-size:17px}
@media (max-width:860px){.ns-steps .row{grid-template-columns:1fr;gap:30px}}

/* membership */
.ns-tiers{padding:120px 0 0}
.ns-tiers .head{max-width:760px;margin-bottom:46px}
.ns-tiers h2{font-size:clamp(38px,4.6vw,62px);font-weight:500}
.ns-tiers h2 em{color:var(--ns-red-hot)}
.ns-tiers .head p{color:var(--ns-muted);margin:16px 0 0}
.ns-tiers .row{display:grid;grid-template-columns:repeat(3,1fr)}
.ns-tiers .t{padding:44px 36px 40px;min-height:470px;display:flex;flex-direction:column}
.ns-tiers .t.free{background:var(--ns-ink-3)}
.ns-tiers .t.vip{background:var(--ns-red);color:#fff}
.ns-tiers .t.plus{background:var(--ns-blush);color:var(--ns-ink)}
.ns-tiers .tn{font-size:13px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;margin:0 0 18px;opacity:.85}
.ns-tiers .t h3{font-size:clamp(28px,2.6vw,36px);font-weight:500;line-height:1.08;margin-bottom:24px;color:inherit}
.ns-tiers .t ul{margin:0;padding:0;list-style:none;font-size:16px}
.ns-tiers .t li{padding:9px 0;border-top:1px solid rgba(255,255,255,.16)}
.ns-tiers .t.plus li{border-top-color:rgba(11,8,9,.14)}
.ns-tiers .t a{margin-top:auto;padding-top:28px;font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:inherit}
.ns-tiers .t a span{border-bottom:2px solid currentColor;padding-bottom:3px}
@media (max-width:900px){.ns-tiers .row{grid-template-columns:1fr}.ns-tiers .t{min-height:0}}

/* questions */
.ns-faq{padding:120px 0}
.ns-faq .wrap{max-width:900px}
.ns-faq h2{font-size:clamp(38px,4.6vw,60px);font-weight:500;text-align:center;margin-bottom:46px}
.ns-faq h2 em{color:var(--ns-red-hot)}
.ns-faq details{border-top:1px solid var(--ns-line)}
.ns-faq details:last-child{border-bottom:1px solid var(--ns-line)}
.ns-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-family:var(--font-heading);font-size:24px;color:var(--ns-cream)}
.ns-faq summary::-webkit-details-marker{display:none}
.ns-faq summary::after{content:"+";font-family:var(--font-body);font-weight:300;font-size:30px;line-height:1;color:var(--ns-red-hot);transition:transform var(--transition-fast)}
.ns-faq details[open] summary::after{transform:rotate(45deg)}
.ns-faq .a{padding:0 0 24px;color:var(--ns-muted);max-width:44em}

/* the closer */
.ns-close{position:relative;min-height:640px;display:flex;align-items:center;isolation:isolate;border-top:1px solid var(--ns-line)}
.ns-close .art{position:absolute;inset:0;z-index:-2}
.ns-close .art img{width:100%;height:100%;object-fit:cover;object-position:78% 40%}
.ns-close .shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--ns-ink) 0%,rgba(11,8,9,.9) 34%,rgba(11,8,9,.2) 66%,rgba(11,8,9,.1) 100%),linear-gradient(0deg,var(--ns-ink) 0%,rgba(11,8,9,0) 30%),linear-gradient(180deg,var(--ns-ink) 0%,rgba(11,8,9,0) 25%)}
.ns-close .inner{max-width:620px;padding:100px 0}
.ns-close h2{font-size:clamp(50px,7vw,104px);font-weight:500;line-height:.95}
.ns-close h2 em{display:block;color:var(--ns-red-hot)}
.ns-close p{color:var(--ns-muted);font-size:19px;margin:24px 0 32px}
@media (max-width:820px){.ns-close .shade{background:linear-gradient(0deg,var(--ns-ink) 30%,rgba(11,8,9,.6) 60%,rgba(11,8,9,.3) 100%)}.ns-close .inner{padding:280px 0 70px}}

/* footer */
.ns-footer{border-top:1px solid var(--ns-line);padding:56px 0 110px;background:var(--ns-ink)}
.ns-footer .top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.ns-footer .top img{height:36px;width:auto}
.ns-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.ns-footer nav a{color:var(--ns-muted);text-decoration:none}
.ns-footer nav a:hover{color:var(--ns-cream)}
.ns-footer .legal{font-size:13px;color:var(--ns-faint);margin:24px 0 0;max-width:60em}

/* sticky join bar on phones */
.ns-joinbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(20,16,17,.94);border:1px solid var(--ns-line-2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ns-joinbar p{margin:0;font-size:13px;color:var(--ns-muted);line-height:1.3}
.ns-joinbar b{display:block;font-family:var(--font-heading);font-size:17px;color:var(--ns-cream);font-weight:600}
.ns-joinbar a{flex:none;text-decoration:none;background:var(--ns-red);color:#fff;font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:13px 20px;border-radius:999px}
@media (max-width:820px){.ns-joinbar{display:flex}}

/* === pattern-tokens:start (generated - edit outside these markers) === */
/*
   Role tokens the design patterns require. A var() this
   sheet does not define is discarded at compute time, so
   the rule is lost rather than falling back to anything.
   Regenerated in place; anything you add here is replaced.
*/
:root {
  /* Shape: the brand's own scale, under the names the patterns use. */
  --chip-radius: 999px;
  --card-shadow: none;
  --card-border: 1px solid color-mix(in srgb, var(--color-text) 12%, transparent);

  /* Inks. The ratios are measured, not intended. */
  --color-rule: color-mix(in srgb, var(--color-text) 18%, transparent);
  --color-scrim: #11161d;
  /* on the scrim: 18.16:1 */
  --color-on-scrim: #ffffff;

  /* Type: the Classy Luxury pairing. Chosen, not derived. */
  --heading-leading: 1.03;
  --heading-tracking: 0.01;

  /* 0.92 quieter, 1.15 louder. Display type only. */
  --type-scale: 1.15;
}
/* === pattern-tokens:end === */

/* ---------- inner pages (2026-10-19) ---------- */
.ns-crumbs{margin:0 0 22px;font-size:13px;letter-spacing:.06em;color:var(--ns-faint)}
.ns-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ns-crumbs li+li::before{content:"/";margin-right:8px;color:var(--ns-ink-4)}
.ns-crumbs a{color:var(--ns-muted);text-decoration:none}
.ns-crumbs a:hover{color:var(--ns-cream)}
.ns-hero.page{min-height:min(78vh,760px)}
.ns-hero.page h1{font-size:clamp(46px,6.4vw,96px)}
.ns-hero.page .inner{padding:70px 0 90px}
.ns-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px}
.ns-lead{padding:100px 0 30px}
.ns-lead .wrap{max-width:860px}
.ns-lead p{font-size:20px;color:#dcd0ca;margin:0 0 22px}
.ns-lead p:first-child::first-letter{float:left;font-family:var(--font-heading);font-style:normal;font-weight:700;font-variation-settings:'opsz' 12;font-size:92px;line-height:.8;padding:8px 14px 0 0;color:var(--ns-red-hot)}
.ns-sec{padding:70px 0}
.ns-sec .wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:64px;align-items:start}
.ns-sec.flip .wrap{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr)}
.ns-sec.flip .hd{order:2}
.ns-sec .hd{position:sticky;top:110px}
.ns-sec .num{font-family:var(--font-heading);font-style:italic;font-size:64px;line-height:1;color:var(--ns-red-hot);margin:0 0 6px}
.ns-sec h2{font-size:clamp(32px,3.4vw,50px);font-weight:500;line-height:1.05}
.ns-sec h2 em{color:var(--ns-red-hot)}
.ns-sec .bd p{color:#d8ccc6;margin:0 0 20px}
.ns-sec.alt{background:var(--ns-ink-2);border-block:1px solid var(--ns-line)}
.ns-sec.wide .wrap{grid-template-columns:1fr;gap:26px;max-width:900px}
.ns-sec.wide .hd{position:static}
.ns-list{list-style:none;margin:26px 0 6px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ns-list li{border:1px solid var(--ns-line);border-left:3px solid var(--ns-red);border-radius:var(--card-radius);padding:18px 18px 16px;background:rgba(11,8,9,.55)}
.ns-list b{display:block;font-family:var(--font-heading);font-weight:600;font-size:21px;color:var(--ns-cream);margin-bottom:6px}
.ns-list span{font-size:16px;color:var(--ns-muted);line-height:1.55}
.ns-list.one{grid-template-columns:1fr}
.ns-quote{padding:80px 0;text-align:center;background:radial-gradient(60% 90% at 50% 50%,rgba(122,12,27,.35),transparent 70%),var(--ns-ink)}
.ns-quote q{display:block;max-width:20em;margin:0 auto;font-family:var(--font-heading);font-style:italic;font-weight:500;font-size:clamp(30px,3.6vw,52px);line-height:1.15;color:var(--ns-cream);quotes:none}
.ns-quote q::before{content:"";display:block;width:56px;height:2px;background:var(--ns-red-hot);margin:0 auto 26px}
.ns-hub{padding:40px 0 100px}
.ns-hub ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ns-hub li a{display:block;height:100%;text-decoration:none;border:1px solid var(--ns-line);border-radius:var(--card-radius);padding:22px 22px 20px;background:var(--ns-ink-2);transition:border-color var(--transition-fast),transform var(--transition-fast)}
.ns-hub li a:hover{border-color:var(--ns-red-hot);transform:translateY(-2px)}
.ns-hub b{display:block;font-family:var(--font-heading);font-size:24px;font-weight:500;color:var(--ns-cream);margin-bottom:6px}
.ns-hub span{font-size:15px;color:var(--ns-muted);line-height:1.5}
.ns-hub span::after{content:" →";color:var(--ns-red-hot)}
.ns-related{padding:90px 0;border-top:1px solid var(--ns-line)}
.ns-related h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;margin-bottom:30px}
.ns-related h2 em{color:var(--ns-red-hot)}
.ns-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ns-related a{display:block;height:100%;text-decoration:none;border-top:2px solid var(--ns-cream);padding:16px 4px 6px}
.ns-related a:hover{border-top-color:var(--ns-red-hot)}
.ns-related b{display:block;font-family:var(--font-heading);font-size:22px;font-weight:500;color:var(--ns-cream)}
.ns-related span{display:block;margin-top:6px;font-size:15px;color:var(--ns-muted)}
.ns-band{padding:90px 0;background:var(--ns-red);color:#fff;text-align:center}
.ns-band h2{color:#fff;font-size:clamp(40px,5.4vw,80px);font-weight:500;line-height:.98}
.ns-band h2 em{display:block}
.ns-band p{margin:18px auto 30px;max-width:34em;font-size:19px;color:rgba(255,255,255,.88)}
.ns-band .btn{background:var(--ns-ink);color:#fff}
.ns-band .btn:hover{background:#000}
.ns-explore{border-top:1px solid var(--ns-line);padding:70px 0 20px;background:var(--ns-ink)}
.ns-explore .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.ns-explore h2{font-family:var(--font-body);font-size:13px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--ns-champ);margin:0 0 14px}
.ns-explore ul{list-style:none;margin:0;padding:0}
.ns-explore li{margin:0 0 9px;font-size:15px}
.ns-explore a{color:var(--ns-muted);text-decoration:none}
.ns-explore a:hover{color:var(--ns-cream)}
@media (max-width:980px){.ns-sec .wrap,.ns-sec.flip .wrap{grid-template-columns:1fr;gap:20px}.ns-sec.flip .hd{order:0}.ns-sec .hd{position:static}.ns-hub ul{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-explore .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.ns-list{grid-template-columns:1fr}.ns-hub ul{grid-template-columns:1fr}.ns-lead{padding-top:60px}}
.ns-inline-quote{margin:30px 0;padding:22px 26px;border-left:3px solid var(--ns-red-hot);background:rgba(122,12,27,.14)}
.ns-inline-quote q{font-family:var(--font-heading);font-style:italic;font-size:26px;line-height:1.25;color:var(--ns-cream);quotes:none}
@media (max-width:620px){.ns .member-grid .lp-grid{grid-template-columns:1fr 1fr;gap:10px}.ns .member-grid .mem-card__name{font-size:17px;margin:10px 10px 0}.ns .member-grid .mem-card__where{font-size:13px;margin:2px 10px 0}.ns .member-grid .mem-card__line{display:none}.ns .member-grid .mem-card__cta{font-size:10px;letter-spacing:.03em;margin:10px 8px 12px;padding:10px 2px}.ns .member-grid .mem-card__badge{font-size:9px;padding:4px 7px}}
.ns-header .nav-actions{flex-shrink:0}.ns-header .nav-actions .btn{white-space:nowrap}
.ns-header .hs-canvas-nav{min-width:0;color:var(--ns-cream);--hs-canvas-nav-mobile-bg:var(--ns-ink-2);--hs-canvas-nav-border:var(--ns-line);--hs-canvas-nav-shadow:0 20px 60px rgba(0,0,0,.6)}
.ns-header .hs-canvas-nav__menu--desktop{gap:24px}
.ns-header .hs-canvas-nav__link,.ns-header .hs-canvas-nav__summary{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ns-muted);text-decoration:none;white-space:nowrap;transition:color var(--transition-fast)}
.ns-header .hs-canvas-nav__link:hover,.ns-header .hs-canvas-nav__summary:hover{color:var(--ns-cream);opacity:1}
.ns-header .hs-canvas-nav__menu--desktop>.hs-canvas-nav__item>.hs-canvas-nav__details>.hs-canvas-nav__submenu{background:var(--ns-ink-2);border:1px solid var(--ns-line);border-radius:12px;padding:14px 18px;gap:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ns-header .hs-canvas-nav__toggle{min-width:44px;min-height:44px;align-items:center;color:var(--ns-cream)}
.ns-header .hs-canvas-nav__overlay{background:rgba(0,0,0,.6)}
.ns-header .hs-canvas-nav__drawer{border-left:1px solid var(--ns-line)}
.ns-header .hs-canvas-nav__close{color:var(--ns-cream);min-width:44px;min-height:44px}
.ns-header .hs-canvas-nav__cta{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--btn-radius);min-height:48px}
.ns-header .hs-canvas-nav__cta--primary{background:var(--ns-red);color:#fff}
.ns-header .hs-canvas-nav__cta--secondary{color:var(--ns-cream);border-color:var(--ns-line-2)}
.ns-header .hs-canvas-nav__menu--mobile .hs-canvas-nav__link,.ns-header .hs-canvas-nav__menu--mobile .hs-canvas-nav__summary{font-family:var(--font-heading);font-size:26px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ns-cream)}
.ns-header .hs-canvas-nav__menu--mobile .hs-canvas-nav__link:hover{color:var(--ns-red-hot)}
@media (max-width:1023px){.ns-header .nav{gap:14px}.ns-header .nav-actions{order:2;margin-left:auto}.ns-header .hs-canvas-nav{order:3;margin-left:0;flex:0 0 auto;width:auto}}
@media (max-width:480px){.ns-header .logo img{max-width:44vw}.ns-header .nav-actions .btn{padding:10px 14px;font-size:12px}}

.ns-tiers .t.vip .tn{opacity:1}
