:root { --black:#0d0d0b; --charcoal:#141410; --stone:#1c1c18; --slate:#252520; --ash:#2e2e28; --gold:#a07d3a; --gold-dim:#7a5e28; --gold-muted:#4a3a18; --ivory:#e8e0cc; --ivory-dim:#bdb09a; --ivory-pale:#8a7e6e; --display:'Cormorant SC', Georgia, serif; --body:'Cormorant Garamond', Georgia, serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--charcoal); }
body { margin:0; overflow-x:hidden; background:var(--charcoal); color:var(--ivory); font:300 18px/1.7 var(--body); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:10; opacity:.035; background-image:radial-gradient(rgba(232,224,204,.65) .4px, transparent .6px); background-size:5px 5px; }
a { color:inherit; }
.skip-link { position:absolute; left:-10000px; top:auto; }
.skip-link:focus { left:1rem; top:1rem; z-index:1000; padding:.6rem 1rem; color:var(--black); background:var(--ivory); }
.nl85-nav { position:fixed; inset:0 0 auto; z-index:20; display:flex; align-items:center; min-height:72px; padding:1.35rem 3rem; background:linear-gradient(to bottom,rgba(13,13,11,.98),rgba(13,13,11,0)); }
.nl85-nav-lodge,.nl85-nav-links a,.section-label,.membership-link,.footer-name,.footer-gl { font-family:var(--display); letter-spacing:.22em; text-transform:uppercase; }
.nl85-nav-lodge { color:var(--gold); text-decoration:none; font-size:.72rem; }
.nl85-nav-links { display:flex; gap:2rem; margin:0 0 0 auto; padding:0; list-style:none; }
.nl85-nav-links a { color:var(--ivory-dim); font-size:.65rem; text-decoration:none; transition:color .25s ease; }
.nl85-nav-links a:hover,.nl85-nav-links a:focus,.nl85-nav-links .current { color:var(--gold); }
.nl85-hamburger { display:none; border:0; background:transparent; cursor:pointer; }
.nl85-hamburger span { display:block; width:22px; height:2px; margin:5px; background:var(--gold); transition:transform .25s,opacity .25s; }
.nl85-hamburger.is-open span:first-child { transform:translateY(7px) rotate(45deg); }.nl85-hamburger.is-open span:nth-child(2) { opacity:0; }.nl85-hamburger.is-open span:last-child { transform:translateY(-7px) rotate(-45deg); }
.nl85-hero { position:relative; display:flex; min-height:100svh; flex-direction:column; align-items:center; justify-content:center; padding:6rem 2rem; overflow:hidden; text-align:center; }
.nl85-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse 52% 55% at 50% 43%,rgba(160,125,58,.12),transparent 70%),radial-gradient(ellipse 75% 50% at 50% 100%,rgba(0,0,0,.6),transparent 70%); }
.nl85-hero::after { content:""; position:absolute; top:0; height:120px; border-left:1px solid var(--gold-muted); }
.hero-medallion { position:relative; z-index:1; padding-bottom:1.4rem; opacity:0; animation:fade .9s ease .2s forwards; }
.medallion-shell { width:min(215px,48vw); filter:drop-shadow(0 8px 24px rgba(0,0,0,.65)); }
.medallion-shell img { display:block; width:100%; height:auto; }
.hero-eyebrow,.hero-title,.hero-number,.hero-motto,.hero-rule { position:relative; z-index:1; opacity:0; animation:rise .8s ease forwards; }
.hero-eyebrow { margin:0 0 .8rem; color:var(--gold); font:400 .65rem/1.4 var(--display); letter-spacing:.4em; text-transform:uppercase; animation-delay:.45s; }
.hero-title { margin:0; color:var(--ivory); font:400 clamp(2.4rem,6vw,4.5rem)/1.1 var(--display); letter-spacing:.12em; animation-delay:.6s; }
.hero-number { margin:.25rem 0 2rem; color:var(--gold); font:400 clamp(1rem,2.5vw,1.4rem)/1.2 var(--display); letter-spacing:.35em; animation-delay:.75s; }
.hero-rule { width:80px; height:1px; margin:0 0 1.8rem; background:linear-gradient(90deg,transparent,var(--gold-dim),transparent); animation-delay:.9s; }
.hero-motto { margin:0; color:var(--ivory-dim); font:italic clamp(1rem,2vw,1.2rem)/1.3 var(--body); letter-spacing:.08em; animation-delay:1.05s; }
.hero-scroll { position:absolute; bottom:2.3rem; z-index:1; display:flex; flex-direction:column; align-items:center; gap:.5rem; color:var(--ivory-pale); font:400 .55rem/1 var(--display); letter-spacing:.35em; text-decoration:none; text-transform:uppercase; }
.scroll-line { width:1px; height:34px; background:linear-gradient(var(--ivory-pale),transparent); }
.nl85-section { position:relative; max-width:1240px; margin:0 auto; padding:6rem 2rem; border-top:1px solid var(--ash); }
.about { max-width:none; background:radial-gradient(ellipse 50% 45% at 80% 45%,rgba(160,125,58,.06),transparent 70%); }.about > * { max-width:1240px; margin-left:auto; margin-right:auto; }
.section-rule { display:flex; align-items:center; gap:1.5rem; margin-bottom:3.25rem; }.section-rule::before,.section-rule::after { content:""; flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--gold-muted)); }.section-rule::after { transform:scaleX(-1); }
.section-label { color:var(--gold); font-size:.62rem; white-space:nowrap; }.section-symbol { color:var(--gold); font-size:1.05rem; }
h2 { margin:0 0 1.8rem; color:var(--ivory); font:400 clamp(1.9rem,4vw,2.8rem)/1.15 var(--display); letter-spacing:.08em; } h2 em { color:var(--ivory-dim); font-family:var(--body); font-weight:300; } p { margin:0 0 1.4rem; color:var(--ivory-dim); font-size:1.08rem; }
.about-grid { display:grid; grid-template-columns:1fr auto; gap:5rem; align-items:center; }.about-grid > div:first-child { max-width:640px; text-align:center; }.about-grid > div:first-child p { max-width:570px; margin-left:auto; margin-right:auto; }
.about-symbol { display:grid; width:155px; height:155px; place-items:center; border:1px dashed var(--gold-muted); border-radius:50%; color:var(--gold); opacity:.45; }.pillar-mark { padding:.8rem; border-top:2px solid currentColor; border-bottom:2px solid currentColor; font:400 1.15rem/1 var(--display); letter-spacing:.15em; }
.events h2,.officers h2 { text-align:center; }.membership { max-width:none; text-align:center; background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(160,125,58,.08),transparent 70%); }.membership > * { max-width:650px; margin-left:auto; margin-right:auto; }.membership .section-rule { max-width:1240px; }.membership-link { display:inline-block; margin-top:1rem; padding-bottom:.25rem; border-bottom:1px solid var(--gold-muted); color:var(--gold); font-size:.65rem; text-decoration:none; transition:color .25s,border-color .25s; }.membership-link:hover,.membership-link:focus { border-color:var(--ivory); color:var(--ivory); }
.officers-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ash); }.officer { min-height:116px; padding:1.7rem 1.4rem; border-right:1px solid var(--ash); border-bottom:1px solid var(--ash); }.officer:nth-child(3n) { border-right:0; }.officer-title { margin:0 0 .45rem; color:var(--gold); font:400 .58rem/1.25 var(--display); letter-spacing:.23em; text-transform:uppercase; }.officer-name { margin:0; color:var(--ivory); font:italic 400 1rem/1.35 var(--body); }
.nl85-footer-bar { padding:4rem 2rem; border-top:1px solid var(--ash); text-align:center; }.footer-seal { display:block; width:68px; height:auto; margin:0 auto 1.7rem; opacity:.37; filter:drop-shadow(0 2px 6px rgba(0,0,0,.5)); }.footer-name { margin:0 0 .5rem; color:var(--ivory-pale); font-size:.65rem; }.footer-address { margin:0 0 1.5rem; color:var(--ivory-pale); font:italic 400 .9rem/1.5 var(--body); }.footer-gl { margin:0; color:var(--gold-muted); font-size:.56rem; }.footer-gl a { color:var(--gold-muted); }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; }.reveal.visible { opacity:1; transform:none; }
@keyframes fade { to { opacity:1; } } @keyframes rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
@media (max-width:860px) { .nl85-nav { padding:1.15rem 1.25rem; }.nl85-hamburger { display:block; margin-left:auto; }.nl85-nav-links { position:fixed; inset:0; display:none; flex-direction:column; align-items:center; justify-content:center; gap:0; margin:0; background:rgba(13,13,11,.985); }.nl85-nav-links.nav-open { display:flex; }.nl85-nav-links li { width:min(300px,80vw); border-bottom:1px solid rgba(160,125,58,.2); text-align:center; }.nl85-nav-links a { display:block; padding:1rem; font-size:.9rem; }.nl85-hamburger { z-index:21; }.about-grid { grid-template-columns:1fr; gap:2rem; }.about-symbol { margin:auto; }.officers-grid { grid-template-columns:repeat(2,1fr); }.officer:nth-child(3n) { border-right:1px solid var(--ash); }.officer:nth-child(2n) { border-right:0; } }
@media (max-width:520px) { body { font-size:19px; }.hero-eyebrow { font-size:.59rem; letter-spacing:.27em; }.nl85-section { padding:4.5rem 1.25rem; }.officers-grid { grid-template-columns:1fr; }.officer,.officer:nth-child(3n) { border-right:0; }.officer { min-height:0; }.section-label { font-size:.58rem; }.medallion-shell { width:min(210px,60vw); } }
