/* Shared visual system for all NNC previews. Page composition remains local. */
:root{--nnc-ink:#241132;--nnc-violet:#5017bd;--nnc-orange:#ff7c18;--nnc-peach:#ffb373;--nnc-pad:clamp(20px,4.7vw,90px);--nnc-section:clamp(56px,7vw,100px);--nnc-title:clamp(32px,5.3vw,76px);--nnc-heading:clamp(28px,3.8vw,56px);--nnc-body:16px;--nnc-sans:'Onest',Arial,sans-serif;--nnc-display:'Dela Gothic One',Arial,sans-serif;--pad:var(--nnc-pad)}
body{margin:0;-webkit-font-smoothing:antialiased}
#nnc-home,#main,#nnc-calendar-live{font-family:var(--nnc-sans);font-size:var(--nnc-body);line-height:1.6;--nh-pad:var(--nnc-pad);--nh-peach:var(--nnc-peach);--k-peach:var(--nnc-peach);--k-ink:var(--nnc-ink);--k-violet:var(--nnc-violet);--k-orange:var(--nnc-orange)}
#nnc-home h1,#main .hero h1,#nnc-calendar-live .k-intro h1{font-family:var(--nnc-display);font-weight:400;font-size:var(--nnc-title);line-height:1.08;letter-spacing:-.035em;word-spacing:normal}
#nnc-home h2:not(.nh-pause h2),#main .section-heading h2,#main .intro h2,#main .camp-copy h2,#main .join-content h2,#main .memory-intro h2,#nnc-calendar-live .k-footer h2{font-family:var(--nnc-display);font-size:var(--nnc-heading);font-weight:400;line-height:1.12;letter-spacing:-.035em;word-spacing:normal}
#nnc-home h3,#main h3,#nnc-calendar-live .k-event h3{font-family:var(--nnc-sans);font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.025em}
#nnc-calendar-live .k-hero h3{font-size:32px}
#nnc-home .nh-kicker,#main .eyebrow,#main .section-kicker,#nnc-calendar-live .k-eyebrow,#nnc-calendar-live .k-intro .k-eyebrow{font:700 11px/1.4 var(--nnc-sans);letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}
#nnc-home .nh-lead,#main .hero-description p,#main .hero-definition,#nnc-calendar-live .k-intro-copy{font:400 17px/1.6 var(--nnc-sans);max-width:480px}
#main .hero-definition{font-weight:600}
#nnc-home .nh-hero-copy,#main .hero-copy{padding:120px 36px 56px var(--nnc-pad)}
#nnc-home .nh-hero,#main .hero{grid-template-columns:1fr 1fr}
#nnc-calendar-live .k-container{width:100%;max-width:none;padding-left:var(--nnc-pad);padding-right:var(--nnc-pad)}
#nnc-calendar-live .k-intro{padding-top:120px;padding-bottom:40px}
#nnc-home .nh-calendar,#nnc-home .nh-archive,#nnc-home .nh-follow,#main .section-pad{padding:var(--nnc-section) var(--nnc-pad)}
#main .section-heading{margin-bottom:36px}
#nnc-home .nh-button,#main .button,#nnc-calendar-live .k-load{font:600 14px/1.4 var(--nnc-sans);min-height:48px;padding:14px 20px;border-radius:0;box-shadow:none;transform:none}
#nnc-home .nh-button:hover,#main .button:hover{transform:none}
#nnc-home .nh-text-link,#main .text-link{font:600 14px/1.5 var(--nnc-sans);min-height:44px;display:inline-flex;align-items:center;gap:10px;border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;padding-bottom:0}
#nnc-calendar-live .k-desc,#main .ritual-card p,#main .press p{font-size:16px;line-height:1.6}
#nnc-calendar-live .k-event-meta,#nnc-calendar-live .k-destination{font-size:14px;line-height:1.5}
#nnc-home .nh-photo-sticker,#main .hero-index{box-shadow:none}
[data-nnc-header] .nnc-bar{padding-left:var(--nnc-pad);padding-right:var(--nnc-pad);font-family:var(--nnc-sans)}
[data-nnc-header] .nnc-menu nav>a{font-family:var(--nnc-sans)}
@media(max-width:760px){:root{--nnc-title:clamp(28px,8vw,52px);--nnc-heading:clamp(26px,7vw,42px)}#nnc-home .nh-hero-copy,#main .hero-copy{padding:100px var(--nnc-pad) 40px}#nnc-calendar-live .k-intro{padding-top:100px;padding-bottom:32px}#nnc-home .nh-lead,#main .hero-description p,#nnc-calendar-live .k-intro-copy{font-size:16px;line-height:1.6}#nnc-home .nh-kicker,#main .hero .eyebrow,#main .section-kicker,#nnc-calendar-live .k-intro .k-eyebrow{font-size:10px;margin-bottom:20px}#nnc-home h3,#main h3,#nnc-calendar-live .k-event h3{font-size:22px}#nnc-calendar-live .k-hero h3{font-size:27px}#main .section-heading{margin-bottom:28px}#nnc-calendar-live .k-intro-copy{margin-top:20px}#nnc-home .nh-actions,#main .hero-routes{gap:16px;margin-top:24px}}
@media(max-width:760px){#nnc-home .nh-hero,#main .hero{grid-template-columns:minmax(0,1fr)}#main .hero-copy{min-width:0}#main .hero-frame{width:100%}}

#nnc-home .nh-text-link{ text-decoration:none!important }
#nnc-home .nh-text-link .nnc-link-label{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#nnc-home .nh-text-link>span[aria-hidden]{text-decoration:none!important;border:0!important}
#nnc-calendar-live .k-intro-shell{background:#5017bd}
#nnc-calendar-live .k-grid{column-gap:40px;row-gap:64px}
#nnc-calendar-live .k-event-main{padding-top:20px}
#nnc-calendar-live .k-event:not(.k-hero) .k-desc{margin-top:18px;margin-bottom:20px}
#nnc-calendar-live .k-event:not(.k-hero) .k-event-bottom{padding-top:4px}
@container(min-width:1080px){#nnc-calendar-live .k-grid{grid-template-columns:repeat(6,minmax(0,1fr))}#nnc-calendar-live .k-event:not(.k-hero){grid-column:span 3}#nnc-calendar-live .k-event.k-row-solo{grid-column:1/-1}}
@container(max-width:659px){#nnc-calendar-live .k-grid{row-gap:48px}}

/* Denser calendar: regular events stay scannable. */
#nnc-calendar-live .k-grid{column-gap:28px;row-gap:40px}
#nnc-calendar-live .k-event:not(.k-hero) .k-media{aspect-ratio:2.15}
#nnc-calendar-live .k-event:not(.k-hero) .k-event-main{padding-top:14px}
#nnc-calendar-live .k-event:not(.k-hero) h3{font-size:21px;line-height:1.22}
#nnc-calendar-live .k-event:not(.k-hero) .k-desc{font-size:15px;line-height:1.5;margin-top:12px;margin-bottom:12px}
#nnc-calendar-live .k-event:not(.k-hero) .k-event-bottom{padding-top:0}
@container(min-width:1080px){#nnc-calendar-live .k-event:not(.k-hero){grid-column:span 2}#nnc-calendar-live .k-event.k-row-tail{grid-column:span 3}#nnc-calendar-live .k-event.k-row-solo{grid-column:1/-1}}
@container(max-width:659px){#nnc-calendar-live .k-grid{row-gap:36px}#nnc-calendar-live .k-event:not(.k-hero) .k-media{aspect-ratio:2.25}}
/* Display accents are a separate role from card and utility headings. */
#main #memes-heading,#main .guide-bottom>div>h3,#main #club-help-heading{font-family:var(--nnc-display);font-weight:400;font-size:clamp(26px,3vw,40px);line-height:1.18;letter-spacing:-.025em;font-synthesis:none}
#main .history-year>summary h3{font-family:var(--nnc-display);font-weight:400;font-size:clamp(32px,3.4vw,48px);line-height:1.1;letter-spacing:-.035em;font-synthesis:none}
@media(max-width:640px){#main #memes-heading,#main .guide-bottom>div>h3,#main #club-help-heading{font-size:26px}#main .history-year>summary h3{font-size:32px}}
