.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 100; transform: translateY(-160%); border-radius: var(--nc-radius-sm); background: var(--nc-white); padding: .65rem 1rem; font-weight: 750; box-shadow: var(--nc-shadow-md); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 20; min-height: var(--nc-header-height); display: flex; align-items: center; background: rgb(255 253 251 / 92%); border-bottom: 1px solid var(--nc-border); backdrop-filter: blur(16px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--nc-brand-950); font-weight: 850; letter-spacing: -.025em; text-decoration: none; }
.brand-mark { width: 2.2rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 46% 54% 58% 42%; background: radial-gradient(circle at 30% 22%, var(--nc-coral-300), var(--nc-brand-600) 54%, var(--nc-brand-950)); box-shadow: inset 0 0 0 4px rgb(255 255 255 / 22%), var(--nc-shadow-sm); transform: rotate(-8deg); }
.brand-mark span { width: .7rem; aspect-ratio: 1; border: 2px solid rgb(255 255 255 / 80%); border-radius: 50%; }
.primary-nav { display: flex; align-items: center; gap: .2rem; }
.primary-nav a { border-radius: var(--nc-radius-pill); padding: .55rem .72rem; color: var(--nc-ink-700); font-size: var(--nc-text-sm); font-weight: 700; text-decoration: none; }
.primary-nav a:hover { background: var(--nc-brand-50); color: var(--nc-brand-900); }
.guest-hero { position: relative; overflow: hidden; padding: clamp(4rem, 9vw, 7.5rem) 0 clamp(4rem, 7vw, 6rem); background: radial-gradient(circle at 84% 16%, var(--nc-brand-100), transparent 26rem), radial-gradient(circle at 8% 90%, var(--nc-coral-100), transparent 24rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(19rem, .87fr); align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.hero-copy { gap: 1.4rem; }
.hero-actions { margin-top: .25rem; }
.promise-list { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: .5rem 0 0; padding: 0; color: var(--nc-ink-700); font-size: var(--nc-text-sm); list-style: none; }
.promise-list li::before { content: "•"; margin-right: .4rem; color: var(--nc-sage-700); font-weight: 900; }
.hero-room { position: relative; min-height: 29rem; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border: 1px solid rgb(255 255 255 / 14%); border-radius: var(--nc-radius-xl); background: linear-gradient(148deg, var(--nc-brand-950), var(--nc-brand-700)); color: white; padding: clamp(1.5rem, 4vw, 3rem); box-shadow: var(--nc-shadow-lg); isolation: isolate; }
.hero-room::before { content: ""; position: absolute; inset: 48% 8% 0; z-index: -1; border-radius: 50% 50% 0 0; background: linear-gradient(135deg, rgb(255 255 255 / 8%), rgb(214 111 103 / 20%)); transform: rotate(-7deg); }
.room-glow { position: absolute; z-index: -2; border-radius: 50%; filter: blur(1px); }
.room-glow--one { width: 18rem; height: 18rem; top: -6rem; right: -5rem; background: rgb(236 169 163 / 23%); }
.room-glow--two { width: 12rem; height: 12rem; bottom: -4rem; left: -4rem; background: rgb(239 199 217 / 16%); }
.hero-badge { align-self: flex-start; margin-bottom: auto; background: rgb(255 255 255 / 14%); color: white; }
.hero-room blockquote { margin: 5rem 0 1rem; font-family: var(--nc-font-display); font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1.25; }
.hero-room p { max-width: 29rem; margin: 0; color: rgb(255 255 255 / 76%); }
.section { padding: clamp(4rem, 7vw, 6.5rem) 0; }
.section--paper { background: var(--nc-paper); border-block: 1px solid var(--nc-border); }
.section-stack { gap: 2.5rem; }
.section-intro { display: grid; gap: .9rem; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.value-card { min-height: 17rem; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid var(--nc-border); border-radius: var(--nc-radius-lg); background: linear-gradient(150deg, var(--nc-white), var(--nc-brand-50)); padding: 1.5rem; box-shadow: var(--nc-shadow-sm); }
.value-card--warm { background: linear-gradient(150deg, var(--nc-white), var(--nc-coral-100)); }
.value-card--sage { background: linear-gradient(150deg, var(--nc-white), var(--nc-sage-100)); }
.value-number { margin-bottom: auto; color: var(--nc-brand-600); font-family: var(--nc-font-display); font-size: 1.7rem; }
.value-card h3, .journey-list h3, .safety-points h3 { margin: 0 0 .35rem; font-size: 1.1rem; }
.value-card p, .journey-list p, .safety-points p { margin: 0; color: var(--nc-text-muted); }
.membership-section { background: radial-gradient(circle at 92% 12%, var(--nc-sage-100), transparent 24rem); }
.membership-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(22rem, 1.12fr); align-items: start; gap: clamp(2.5rem, 7vw, 7rem); }
.membership-copy { position: sticky; top: calc(var(--nc-header-height) + 2rem); gap: 1.1rem; }
.journey-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.journey-list li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; border: 1px solid var(--nc-border); border-radius: var(--nc-radius-lg); background: var(--nc-white); padding: 1.35rem; box-shadow: var(--nc-shadow-sm); }
.journey-step { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--nc-brand-100); color: var(--nc-brand-900); font-weight: 850; }
.safety-section { background: var(--nc-brand-950); color: white; }
.safety-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(22rem, 1.15fr); gap: clamp(2.5rem, 7vw, 7rem); }
.nc-kicker--light { color: var(--nc-coral-300); }
.nc-section-title--light { color: white; }
.safety-panel p:last-child { color: rgb(255 255 255 / 70%); font-size: var(--nc-text-lg); }
.safety-points { display: grid; gap: 1rem; }
.safety-points article { display: grid; grid-template-columns: auto 1fr; gap: 1rem; border-bottom: 1px solid rgb(255 255 255 / 15%); padding: 0 0 1rem; }
.safety-points article > span { color: var(--nc-coral-300); }
.safety-points p { color: rgb(255 255 255 / 65%); }
.faq-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(24rem, 1.25fr); gap: clamp(2.5rem, 7vw, 7rem); }
.faq-list { border-top: 1px solid var(--nc-border); }
.faq-list details { border-bottom: 1px solid var(--nc-border); padding: .25rem 0; }
.faq-list summary { min-height: 3.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--nc-ink-900); font-weight: 750; cursor: pointer; }
.faq-list summary::after { content: "+"; color: var(--nc-brand-700); font-size: 1.35rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { margin: 0 0 1.35rem; max-width: 42rem; color: var(--nc-text-muted); }
.site-footer { padding: 3rem 0; background: var(--nc-canvas); }
.footer-grid { display: flex; justify-content: space-between; gap: 2rem; color: var(--nc-text-muted); }
.footer-grid p { margin: .5rem 0 0; }
.brand--footer { color: var(--nc-brand-950); }

@media (max-width: 52rem) {
  .primary-nav { display: none; }
  .hero-grid, .membership-grid, .safety-grid, .faq-grid { grid-template-columns: 1fr; }
  .hero-room { min-height: 22rem; }
  .membership-copy { position: static; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 13rem; }
}

@media (max-width: 34rem) {
  .header-cta { padding-inline: .85rem; }
  .guest-hero { padding-top: 3rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .nc-button { width: 100%; }
  .footer-grid { flex-direction: column; }
}
