:root{--paper:#e5d8cc;--ink:#140908;--ease:cubic-bezier(.22,.61,.36,1);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'nimbus-sans',sans-serif;font-weight:300;transition:background-color 900ms var(--ease),color 900ms var(--ease)}
html[data-mode=night]{--paper:#140908;--ink:#e5d8cc;color-scheme:dark}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button[aria-disabled=true]{cursor:default}a{color:inherit;text-decoration:none}
.masthead{position:fixed;inset:31px 29px auto;z-index:10;display:flex;align-items:center;justify-content:space-between;color:#e5d8cc;isolation:isolate;transition:transform 320ms var(--ease)}.mode-switch{display:flex;border:1px solid #e5d8cc6b;border-radius:30px;padding:2px;gap:3px;width:170px;height:37px;background:transparent}.mode-switch button{flex:1;white-space:nowrap;border-radius:25px;font-size:14px;font-weight:300;transition:background 600ms,color 600ms}.mode-switch span{margin-left:5px}.mode-switch button[aria-pressed=true]{background:#e5d8cc;color:#140908}.wordmark{position:absolute;left:50%;transform:translateX(-50%);font-family:'nimbus-sans-extended',sans-serif;font-size:15px;letter-spacing:8px;text-transform:uppercase;white-space:nowrap}.outline{border:1px solid currentColor;text-transform:uppercase;font-family:'nimbus-sans-extended',sans-serif;font-weight:300;letter-spacing:1px;font-size:11px;padding:11px 24px;transition:background 400ms,color 400ms}.outline:hover{background:#e5d8cc;color:#140908}.invite{border-radius:40px}
.hero{height:77.5vw;position:relative;overflow:hidden;max-height:none;background:#191510;color:#e5d8cc}.hero-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity 1100ms var(--ease)}.hero-image.day{background-image:url('https://rstr.in/brightwild/1912-club/CJGK9U-QtvM-1080?sh=w1ovbukioqb81o')}.hero-image.night{background-image:url('https://rstr.in/brightwild/1912-club/Ew-2WyK-9W--1080?sh=w1ovbukioqb81o');background-position:center 40%}.hero h1{position:absolute;inset:47.3% 0 auto;text-align:center;margin:0;font-family:'nimbus-sans-extended',sans-serif;font-size:15px;font-weight:300;letter-spacing:5px;line-height:24px;text-transform:uppercase}
.night{opacity:0}html[data-mode=night] .day{opacity:0}html[data-mode=night] .night{opacity:1}.address{height:20.8333vw;min-height:220px;display:grid;place-items:center}.address p{font-family:'nimbus-sans-extended',sans-serif;font-size:15px;font-weight:300;letter-spacing:4px;line-height:24px;text-align:center;margin:0;text-transform:uppercase}
.chapter{height:142.2222vw;position:relative}.stage{--progress:0;--copy-opacity:0;position:sticky;top:0;height:71.1111vw;overflow:hidden}.photo{position:absolute;z-index:1;left:calc(var(--progress) * 34.5%);top:calc(var(--progress) * 21.5%);width:calc(100% - var(--progress) * 69%);height:calc(100% - var(--progress) * 42%);will-change:width,height,top,left;overflow:hidden}.visual{position:absolute;inset:0;transition:opacity 1000ms var(--ease)}.visual img{position:absolute;top:0;left:0;max-width:none;transform-origin:0 0;will-change:transform;width:100%;height:auto}.copy{position:absolute;inset:0;transition:opacity 1000ms var(--ease);pointer-events:none}.copy>div{position:absolute;z-index:2;opacity:var(--copy-opacity);max-width:30%;font-size:14px;line-height:22px}.copy .left{left:8.6%;top:46%}.copy .right{left:69%;top:62%}.copy h2{margin:0 0 28px;font-family:'nimbus-sans-extended',sans-serif;font-size:15px;line-height:24px;font-weight:300;letter-spacing:5px;text-transform:uppercase;white-space:pre-line}.copy p{margin:0;white-space:pre-line}.chapter-2 .copy .left{left:10.4%;top:43%}.chapter-2 .copy .right{left:70.2%;top:60%}.chapter-3 .copy .left{top:42%}.chapter-3 .copy .right{top:75%}.chapter-1 .night .left{left:6.1%;top:43%}.chapter-1 .night .right{top:72%}
footer{height:68.54vw;min-height:600px;position:relative;overflow:hidden;background:#140908;color:#e5d8cc}.footer-art{position:absolute;top:0;left:0;width:auto;height:109.523%;max-width:none;opacity:var(--line-progress,0);transition:opacity 200ms;pointer-events:none}.footer-copy p{position:absolute;font-family:'nimbus-sans-extended',sans-serif;font-size:20px;letter-spacing:6px;font-weight:300;text-transform:uppercase;margin:0;line-height:1.5;white-space:nowrap}.footer-copy p:first-child{top:38%;left:38.6%}.footer-copy p:last-child{top:63%;right:4.4%}.footer-cta{border-radius:9999px;position:absolute;left:50%;transform:translateX(-50%);bottom:16%;padding:10px 22px}
@media(min-width:1800px){.copy p{font-size:16px;line-height:25px}.copy h2{font-size:17px;line-height:27px}}
@media(max-width:900px) and (min-width:601px){.copy>div{font-size:14px;line-height:20px;max-width:27%}.copy h2{font-size:13px;letter-spacing:2px;line-height:21px;margin-bottom:18px}.copy p{white-space:normal}.footer-copy p{font-size:16px;letter-spacing:3px}}
@media(max-width:600px){.masthead{inset:22px 18px auto;align-items:flex-start}.mode-switch{width:126px;height:34px}.mode-switch button{font-size:12px}.wordmark{top:66px;font-size:14px;letter-spacing:6px}.outline{font-size:10px;letter-spacing:.7px;padding:10px 14px}.hero{height:100svh;min-height:620px}.hero h1{inset:48% 22px auto;font-size:12px;letter-spacing:2.6px;line-height:23px}.hero-image.day{background-position:44% center}.address{height:240px;min-height:0}.address p{font-size:12px;letter-spacing:2px;line-height:23px}.chapter{height:230svh}.stage{height:100svh;min-height:700px}.photo{left:calc(var(--progress) * 22%);top:calc(var(--progress) * 5%);width:calc(100% - var(--progress) * 44%);height:calc(100% - var(--progress) * 62%)}.copy>div{max-width:none;font-size:14px;line-height:21px;width:calc(100% - 48px)}.copy h2{font-size:13px;letter-spacing:2.8px;line-height:22px;margin-bottom:17px}.copy .left,.chapter-2 .copy .left,.chapter-3 .copy .left,.chapter-1 .night .left{left:24px;top:48%}.copy .right,.chapter-2 .copy .right,.chapter-3 .copy .right,.chapter-1 .night .right{left:24px;top:75%;width:calc(100% - 48px)}.copy p{white-space:pre-line}.chapter-2 .copy .right{top:73%}.chapter-2 .copy .right h2{margin-bottom:12px}.chapter-2 .copy .left{top:44%}.chapter-3 .night .right{top:76%}.chapter-3 .night .right p{white-space:normal}.chapter-1 .night .right{top:74%}footer{height:760px;min-height:0}.footer-art{height:100%;width:auto;left:-35px}.footer-copy p{font-size:13px;letter-spacing:2.5px;white-space:normal;max-width:80%;line-height:25px}.footer-copy p:first-child{top:37%;left:12%}.footer-copy p:last-child{top:61%;right:8%;text-align:right}.footer-cta{bottom:15%;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.visual,.copy,.hero-image,.outline{transition:none}.chapter{height:auto}.stage{position:relative;height:71.1111vw;--progress:1!important;--copy-opacity:1!important}.photo{will-change:auto}footer .footer-art{opacity:1!important}}@media(prefers-reduced-motion:reduce) and (max-width:600px){.stage{height:100svh;min-height:760px}}

/* Transparent scroll-direction navigation with contrast against the underlying page. */
.masthead{mix-blend-mode:normal;isolation:isolate;background:transparent;color:var(--ink);--toggle-fill:var(--ink);--toggle-text:var(--paper)}
.masthead .mode-switch{border-color:currentColor;background:transparent}
.masthead .mode-switch button[aria-pressed=true]{background:var(--toggle-fill);color:var(--toggle-text)}
.masthead.over-opening,.masthead.over-footer{color:#e5d8cc;--toggle-fill:#e5d8cc;--toggle-text:#140908}
.masthead.nav-hidden{transform:translateY(calc(-100% - 40px));pointer-events:none}
@media(max-width:600px){.masthead{min-height:94px}}
@media(prefers-reduced-motion:reduce){.masthead,.masthead::before{transition:none}}

/* The opening photograph retains the original white navigation in both modes. */
.masthead.over-opening{mix-blend-mode:normal;color:#e5d8cc}

/* Copy placement and heading weights from the updated Figma frames. */
.copy h2{font-weight:400}
.copy p{white-space:pre-line}
.copy .supporting-copy{margin-top:1.5rem}
.chapter-1 .copy .left{left:8.54%;top:41.4%;max-width:21%}
.chapter-1 .night .left{left:6.25%;top:38.6%;max-width:23%}
.chapter-2 .copy .left{left:9.93%;top:40%;max-width:22%}
.chapter-2 .night .left{left:8.82%;top:45.1%;max-width:22%}
.chapter-3 .copy .left{left:8.54%;top:44.9%;max-width:24%}
.chapter-3 .night .left{left:8.82%;top:39.3%;max-width:22%}
.address p{font-family:'nimbus-sans',sans-serif;font-weight:300;letter-spacing:0;text-transform:none}
.mode-intro{display:flex;align-items:center;justify-content:center;gap:clamp(2rem,16vw,14rem);padding:3rem 2rem 5rem}
.mode-intro h2{font-family:'nimbus-sans-extended',sans-serif;font-weight:400;font-size:1.5rem;letter-spacing:.2em;margin:0}
.mode-intro p{font-size:1rem;margin:0}
@media(max-width:600px){.mode-intro{flex-direction:column;gap:1rem;padding:2rem 1.5rem 3rem;text-align:center}.chapter .copy .left,.chapter .night .left{left:24px;top:46%;max-width:none;width:calc(100% - 48px)}.copy .supporting-copy{margin-top:1rem}}

/* Opening address overlays the photograph; intro is centered in the first bar. */
.hero{height:73.333333vw}
.hero h1{top:36.458333vw}
.hero .address{position:absolute;top:61.666667vw;left:0;right:0;height:auto;min-height:0;display:block;text-align:center;color:#e5d8cc}
.hero .address p{margin:0;font-size:12px;line-height:22px}
.mode-intro{height:25.625vw;min-height:240px;padding:0 2rem;gap:16.25vw;align-items:center;justify-content:center}
html[data-mode=night] .mode-intro{gap:11.18vw}
.mode-intro h2,.mode-intro p{flex:none}
@media(max-width:600px){.hero{height:100svh;min-height:620px}.hero h1{top:48%}.hero .address{top:auto;bottom:7%}.mode-intro{height:240px;min-height:240px;padding:2rem 1.5rem;gap:1rem}html[data-mode=night] .mode-intro{gap:1rem}}

/* Navigation and footer CTA typography follows the mode toggle. */
.invite,.footer-cta{font-family:'nimbus-sans',sans-serif;font-size:14px;font-weight:300;letter-spacing:normal;text-transform:none;border-radius:40px;padding:11px 24px;line-height:normal}
@media(max-width:600px){.invite,.footer-cta{font-size:12px;padding:10px 14px}}

/* Restore image-aware inverse navigation after the opening photograph. */
.masthead:not(.over-opening){mix-blend-mode:difference;isolation:auto;color:#e5d8cc;--toggle-fill:#e5d8cc;--toggle-text:#140908}
.masthead.over-opening{mix-blend-mode:normal;isolation:isolate}

/* Match interface outlines to the railroad's rendered 1.15-unit lines. */
:root{--line-weight:0.07986vw}
.mode-switch,.outline{border-width:var(--line-weight)}
@media(max-width:600px){:root{--line-weight:0.81px}}

/* Latest annotated typography and centered desktop photo stages. */
.wordmark{font-weight:400}
.mode-intro,html[data-mode=night] .mode-intro{flex-direction:column;gap:0;text-align:center}
.mode-intro h2,.mode-intro p{font-family:'nimbus-sans-extended',sans-serif;font-size:15px;font-weight:300;letter-spacing:5px;line-height:24px;text-transform:uppercase}

@media(max-width:600px){.mode-intro h2,.mode-intro p{font-size:12px;letter-spacing:2.6px;line-height:23px}}

/* Compact centered introduction, with distinct heading and body weights. */
.mode-intro h2{font-weight:400;margin-bottom:12px}
.mode-intro p{font-family:'nimbus-sans',sans-serif;font-weight:300;font-size:14px;letter-spacing:normal;line-height:22px;text-transform:none;max-width:220px;white-space:pre-line}
@media(max-width:600px){.mode-intro h2{font-weight:400}.mode-intro p{font-size:14px;letter-spacing:normal;line-height:22px}}

/* Match opening typography while retaining the compact stacked introduction. */
.mode-intro h2,.mode-intro p{font-family:'nimbus-sans-extended',sans-serif;font-size:15px;letter-spacing:5px;line-height:24px;text-transform:uppercase}
.mode-intro h2{font-weight:400}
.mode-intro p{font-weight:300;max-width:420px;width:100%}

@media(max-width:600px){.mode-intro h2,.mode-intro p{font-size:12px;letter-spacing:2.6px;line-height:23px}.mode-intro p{max-width:320px}}


/* Small desktop-only lift; original geometry and crop animation stay intact. */
@media(min-width:601px){.stage .photo,.stage .copy{translate:0 calc(var(--progress) * -8svh)}}

/* Position only the opening headline at the desktop viewport center. */
@media(min-width:601px){.hero h1{top:50svh;transform:translateY(-50%)}}

/* One-screen desktop landing section. */
@media(min-width:601px){.hero{height:100svh;min-height:0}.hero h1{top:50%;transform:translateY(-50%)}.hero .address{top:auto;bottom:7%}}

/* Shared copy alignment and consistent gutter across both modes. */
@media(min-width:601px){.chapter .copy .left,.chapter .night .left{left:8.6%;top:50.5%;width:22%;max-width:22%;transform:translateY(-50%)}}
.copy p{text-wrap:pretty}
.copy h2{text-wrap:balance}
@media(max-width:600px){.chapter .copy .left,.chapter .night .left{left:24px;width:calc(100% - 48px);max-width:none}}

/* Exact chapter body typography from Figma. */
.copy p{font-family:'nimbus-sans',sans-serif;font-weight:300;font-style:normal;font-size:14px;line-height:1.6;letter-spacing:.1em}

/* Opening navigation leaves with the page; later sections retain scroll-direction behavior. */
.masthead.opening-scroll-away{position:absolute}
.masthead.opening-scroll-away.nav-hidden{transform:none;pointer-events:auto}

/* Shared approved body-copy style in both modes, including the address. */
.copy p,.hero .address p{font-family:'nimbus-sans',sans-serif;font-weight:300;font-style:normal;font-size:14px;line-height:1.6;letter-spacing:.1em;text-transform:none}
.mode-intro h2{font-weight:300}

/* Slightly tighter leading for approved body copy in both modes. */
.copy p,.hero .address p{line-height:1.45}

.mode-intro .intro-text{margin:0;line-height:24px}.intro-text .intro-label{display:block;font:inherit;letter-spacing:inherit}
@media(max-width:600px){.mode-intro .intro-text{line-height:23px}}

/* Consistent Nimbus Sans styling across all uses and screen sizes. */
body,.copy p,.hero .address p,.mode-switch button,.invite,.footer-cta{font-family:'nimbus-sans',sans-serif;font-size:14px;font-style:normal;font-weight:300;letter-spacing:.03em}

/* Consistent Nimbus Sans Extended styling across all uses and screen sizes. */
.copy h2,.mode-intro .intro-text,.intro-text span{font-family:'nimbus-sans-extended',sans-serif;font-size:15px;font-style:normal;font-weight:400;letter-spacing:5px}

/* Brightwild branding beneath the existing contact design. */
.brand-footer { display: flex; justify-content: center; align-items: center; min-height: 240px; padding: 64px 24px 80px; box-sizing: border-box; background: #140908; }
.brand-footer img { display: block; width: 220px; max-width: 100%; height: auto; }
@media (max-width: 600px) { .brand-footer { min-height: 200px; padding: 48px 24px 64px; } .brand-footer img { width: 200px; } }

/* Subtle warmth on the night opening photograph. */
.hero-image.night, .chapter-1 .photo .visual.night img { filter: sepia(28%) hue-rotate(-12deg); }

/* Carry the line artwork through the branding footer. */
footer#contact { overflow: visible; }
.footer-art { height: 151.975%; }
.brand-footer { position: relative; overflow: hidden; background: #140908; }
main { overflow: clip; }
.footer-art { z-index: 1; }
.footer-copy, .footer-cta, .brand-footer img { position: relative; z-index: 2; }
.footer-copy { position: static; }
.footer-cta { position: absolute; }
@media(max-width:600px) { .footer-art { height: 138.76%; } }

.hero h1 { font-weight: 400; }

/* Mobile footer: keep the tracks in a narrow rail beside the copy. */
@media (max-width: 600px) {
  footer#contact { height: 620px; }
  footer#contact .footer-art { content: url("assets/railroad-mobile.svg"); left: 0; width: 100px; height: 820px; object-fit: fill; }
  .footer-copy p { left: 118px; right: 22px; max-width: none; white-space: normal; text-align: left; font-size: 13px; letter-spacing: 2.5px; line-height: 1.7; text-wrap: balance; }
  .footer-copy p:first-child { top: 30%; left: 118px; }
  .footer-copy p:last-child { top: 55%; right: 22px; text-align: left; }
  .footer-cta { left: calc(50% + 42px); bottom: 12%; }
  .brand-footer { padding-left: 118px; padding-right: 22px; }
  .brand-footer img { width: 180px; }
}

/* Simplified phone footer: copy above four horizontal rails. */
@media (max-width: 600px) {
  footer#contact { height: auto; min-height: 0; padding: 72px 24px 52px; display: flex; flex-direction: column; align-items: center; }
  footer#contact .footer-art { display: none; }
  footer#contact .footer-copy { width: 100%; display: flex; flex-direction: column; gap: 20px; }
  footer#contact .footer-copy p { position: static; max-width: none; margin: 0; text-align: center; font-size: 13px; line-height: 1.7; letter-spacing: 2.5px; text-wrap: balance; }
  footer#contact::after { content: ""; order: 1; width: calc(100% + 48px); height: 76px; margin: 40px -24px 36px; background: repeating-linear-gradient(to bottom, rgba(229,216,204,.7) 0, rgba(229,216,204,.7) 1px, transparent 1px, transparent 25px); }
  footer#contact .footer-cta { position: static; order: 2; transform: none; margin: 0; }
  .brand-footer { min-height: 170px; padding: 28px 24px 64px; }
  .brand-footer img { width: 180px; }
}

/* Phone composition mirrors the desktop railroad and text placement. */
@media (max-width: 600px) {
  footer#contact { display: block; height: 520px; padding: 0; position: relative; }
  footer#contact::after { display: none; }
  footer#contact .footer-art { display: block; content: url("assets/railroad-mobile.svg?v=2"); position: absolute; left: 0; top: 0; width: 100%; height: auto; object-fit: contain; }
  footer#contact .footer-copy { display: block; }
  footer#contact .footer-copy p { position: absolute; font-size: 12px; letter-spacing: 2px; line-height: 1.65; margin: 0; text-wrap: balance; }
  footer#contact .footer-copy p:first-child { top: 20%; left: 39%; right: 6%; text-align: left; }
  footer#contact .footer-copy p:last-child { top: 37%; left: 47%; right: 6%; text-align: right; }
  footer#contact .footer-cta { position: absolute; left: 50%; bottom: 12%; transform: translateX(-50%); }
}
@media (max-width: 600px) {
  footer#contact .footer-copy p { background: #140908; padding: 3px 6px; z-index: 2; }
}
@media (max-width: 600px) {
  footer#contact .footer-copy p { background: transparent; padding: 0; }
  footer#contact .footer-copy p:first-child { top: 19%; }
  footer#contact .footer-copy p:last-child { top: 47%; }
}
@media (max-width: 600px) {
  footer#contact .footer-copy p:first-child { left: 49%; right: 5%; }
}

/* Shorter image scroll transition with a pause for the cropped composition. */
@media(prefers-reduced-motion:no-preference) and (min-width:601px){.chapter{height:calc(71.1111vw + 440px)}}
@media(prefers-reduced-motion:no-preference) and (max-width:600px){.chapter{height:calc(max(100svh, 700px) + 440px)}}

/* Upward navigation lets each image move with the document without pinning. */
@media(prefers-reduced-motion:no-preference){body.scrolling-back .stage{position:relative;top:var(--back-scroll-offset,0px)}}

/* Give the mobile story copy a consistent gap below the finished crop. */
@media(max-width:600px){
 .chapter .copy .left,.chapter .night .left{top:calc(43% + 40px)}
}

/* Figma mobile composition: centered portrait and matching text column. */
@media(max-width:600px){
 .chapter{height:calc(var(--mobile-stage-height,100svh) + 440px)}
 .chapter .stage{height:var(--mobile-stage-height,100svh);min-height:700px}
 .chapter .photo{left:calc(var(--progress) * 24.13%);top:calc(var(--progress) * 48px);width:calc(100% - var(--progress) * 48.26%);height:calc(100% - var(--progress) * (100% - 68vw))}
 .chapter .copy .left,.chapter .night .left{left:24.13%;width:51.74%;max-width:none;top:calc(68vw + 88px)}
 .chapter .copy p{white-space:pre-line}
}
@media(max-width:600px) and (prefers-reduced-motion:reduce){.chapter{height:auto}}

/* Mobile header and balanced story layout follow the Figma reference. */
@media(max-width:600px){
 .masthead{inset:0 0 auto;min-height:300px;pointer-events:none}
 .masthead .wordmark{left:24px;top:40px;transform:none;font-size:12px;letter-spacing:4px;pointer-events:auto}
 .masthead .invite{position:absolute;right:18px;top:30px;font-size:12px;padding:10px 15px;pointer-events:auto}
 .masthead .mode-switch{position:absolute;left:16px;top:295px;width:126px;height:34px;transform:rotate(-90deg);transform-origin:top left;pointer-events:auto}
 .masthead .mode-switch button{font-size:12px}
 .masthead.nav-hidden .wordmark,.masthead.nav-hidden .invite,.masthead.nav-hidden .mode-switch{pointer-events:none}
 .chapter .photo{top:calc(var(--progress) * var(--mobile-content-top,64px))}
 .chapter .copy .left,.chapter .night .left{top:calc(var(--mobile-content-top,64px) + 86.7vw + 40px)}
 .chapter .copy h2{font-size:12px;letter-spacing:3px;line-height:1.6;margin-bottom:22px}
 .chapter .copy p{line-height:1.5;text-wrap:pretty}
 .chapter .copy .supporting-copy{margin-top:22px}
}

/* Readable phone typography with a wider centered text measure. */
@media(max-width:600px){
 .chapter .copy .left,.chapter .night .left{left:17%;width:66%}
 .chapter .copy p{font-size:16px;line-height:24px;letter-spacing:.03em;white-space:pre-line}
 .chapter .copy h2{font-size:14px;line-height:22px;letter-spacing:3px}
 .hero .address p{font-size:16px;line-height:24px}
 .hero h1,.mode-intro .intro-text,.intro-text span{font-size:14px;line-height:24px;letter-spacing:3px}
 .hero h1{white-space:normal}
}

/* Mobile typography reference: generous centered column, left-aligned copy. */
@media(max-width:600px){
 .chapter .copy .left,.chapter .night .left{left:6%;width:88%;text-align:left}
 .chapter .copy h2{font-size:15px;line-height:24px;letter-spacing:5px;margin-bottom:22px}
 .chapter .copy p{font-size:16px;line-height:24px;letter-spacing:.03em}
 .chapter .copy .supporting-copy{margin-top:24px}
}

/* More breathing room between mobile story copy and the screen edges. */
@media(max-width:600px){
 .chapter .copy .left,.chapter .night .left{left:10%;width:80%}
}

/* A slightly smaller mobile type scale, preserving layout and margins. */
@media(max-width:600px){
 .chapter .copy p,.hero .address p{font-size:15px;line-height:22.5px}
 .chapter .copy h2{font-size:14px;line-height:22px}
 .hero h1,.mode-intro .intro-text,.intro-text span{font-size:13px;line-height:22px}
 .masthead .wordmark,.masthead .invite,.masthead .mode-switch button{font-size:11px}
 footer#contact .footer-copy p{font-size:11px}
 footer#contact .footer-cta{font-size:13px}
}

/* Stop the mobile railroad at the bottom of the footer call-to-action. */
@media(max-width:600px){
 footer#contact .footer-art{clip-path:inset(0 0 max(0px,calc(100% - 457.6px)) 0)}
}

.brand-footer a{display:block;position:relative;z-index:2;max-width:100%}

/* Larger mobile portraits with the text column aligned to the image edges. */
@media(max-width:600px){
 .chapter .photo{left:calc(var(--progress) * 17%);width:calc(100% - var(--progress) * 34%);height:calc(100% - var(--progress) * (100% - 86.7vw))}
 .chapter .copy .left,.chapter .night .left{left:17%;width:66%;text-align:left;top:calc(var(--mobile-content-top,64px) + 86.7vw + 40px)}
}

/* Mobile footer phrases sit above their rails with clear separation. */
@media(max-width:600px){
 footer#contact .footer-copy p:first-child{top:calc(37.7273vw - 8px);transform:translateY(-100%)}
 footer#contact .footer-copy p:last-child{top:calc(60.3636vw - 12px);transform:translateY(-100%)}
}

/* Mobile mode switch sits horizontally beneath Request Invite. */
@media(max-width:600px){
 .masthead{min-height:122px}
 .masthead .mode-switch{left:auto;right:18px;top:80px;transform:none;transform-origin:center}
}

/* Equal widths for the stacked mobile header controls. */
@media(max-width:600px){
 .masthead .invite,.masthead .mode-switch{width:140px}
 .masthead .invite{text-align:center}
}

/* Keep photo geometry stable while the half-second animation holds scrolling. */
html{scrollbar-gutter:stable}
/* Frosted controls: translucent warm glass, with contrast matched to each surface. */
.masthead,.masthead:not(.over-opening){
 mix-blend-mode:normal;isolation:isolate;color:var(--ink);
 --glass-fill:rgba(255,248,239,.46);--glass-edge:rgba(20,9,8,.19);--glass-label:#140908;
 --glass-selected:rgba(255,248,239,.7);--glass-selected-label:#140908;
}
.masthead.over-opening,.masthead.over-footer,html[data-mode=night] .masthead,footer#contact{
 --glass-fill:rgba(229,216,204,.1);--glass-edge:rgba(245,234,222,.45);--glass-label:#e5d8cc;
 --glass-selected:rgba(245,234,222,.74);--glass-selected-label:#140908;
}
.masthead.over-opening,.masthead.over-footer{color:#e5d8cc}
.masthead .mode-switch,.masthead .invite,footer#contact .footer-cta{
 background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.025)),var(--glass-fill);
 color:var(--glass-label);border-color:var(--glass-edge);
 -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(255,255,255,.035),0 4px 18px rgba(20,9,8,.09);
 transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease,color 220ms ease;
}
.masthead .mode-switch button{color:inherit;background:transparent;transition:background-color 250ms ease,color 250ms ease,box-shadow 250ms ease}
.masthead .mode-switch button[aria-pressed=true]{
 background:var(--glass-selected);color:var(--glass-selected-label);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 1px 5px rgba(20,9,8,.12);
}
@media(hover:hover){
 .masthead .invite:hover,footer#contact .footer-cta:hover{background-color:rgba(229,216,204,.2);color:var(--glass-label);border-color:rgba(245,234,222,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 5px 20px rgba(20,9,8,.13)}
 .masthead .mode-switch button[aria-pressed=false]:hover{background:rgba(229,216,204,.13)}
}
@media(prefers-reduced-motion:reduce){.masthead .mode-switch,.masthead .invite,footer#contact .footer-cta,.masthead .mode-switch button{transition:none}}
/* Borderless glass: soft reflections define the shape instead of an outline. */
.masthead .mode-switch,.masthead .invite,footer#contact .footer-cta{
 border-color:transparent;
 background:linear-gradient(145deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.055) 45%,rgba(255,255,255,.1) 100%),var(--glass-fill);
 -webkit-backdrop-filter:blur(24px) saturate(155%);backdrop-filter:blur(24px) saturate(155%);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.2),inset 0 -1px 2px rgba(255,255,255,.025),0 5px 20px rgba(20,9,8,.1);
}
.masthead .mode-switch button[aria-pressed=true]{
 background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.09));
 color:inherit;
 box-shadow:inset 0 1px 1px rgba(255,255,255,.24),0 2px 9px rgba(20,9,8,.12);
}
@media(hover:hover){
 .masthead .invite:hover,footer#contact .footer-cta:hover{border-color:transparent;background-color:rgba(229,216,204,.19);box-shadow:inset 0 1px 2px rgba(255,255,255,.3),0 6px 22px rgba(20,9,8,.13)}
}
/* One glass selection pill slides beneath the Day/Night labels. */
.mode-switch{position:relative}
.masthead .mode-switch::before{
 content:'';position:absolute;left:2px;top:2px;bottom:2px;width:calc((100% - 7px)/2);
 border-radius:inherit;pointer-events:none;
 background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(255,255,255,.09));
 box-shadow:inset 0 1px 1px rgba(255,255,255,.24),0 2px 9px rgba(20,9,8,.12);
 transform:translateX(0);transition:transform 360ms cubic-bezier(.22,.61,.36,1);
}
html[data-mode=night] .masthead .mode-switch::before{transform:translateX(calc(100% + 3px))}
.masthead .mode-switch button{position:relative;z-index:1}
.masthead .mode-switch button[aria-pressed=true]{background:transparent;box-shadow:none;color:inherit}
@media(prefers-reduced-motion:reduce){.masthead .mode-switch::before{transition:none}}
/* A clearer hover response for the header invitation. */
.masthead .invite{transition:background-color 180ms ease,box-shadow 180ms ease,translate 180ms ease,scale 180ms ease,color 180ms ease}
@media(hover:hover){
 .masthead .invite:hover{
  background-color:rgba(229,216,204,.52);border-color:transparent;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.48),inset 0 -1px 3px rgba(255,255,255,.08),0 8px 24px rgba(20,9,8,.24),0 0 24px rgba(245,234,222,.25);
  translate:0 -2px;scale:1.05;color:var(--glass-label);
 }
}
@media(prefers-reduced-motion:reduce){.masthead .invite{transition:none}.masthead .invite:hover{translate:none;scale:1}}

.invite-glass{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;margin:0;border:0;background:rgba(20,9,8,.72);color:#e5d8cc;overflow:hidden;backdrop-filter:blur(36px) saturate(65%);-webkit-backdrop-filter:blur(36px) saturate(65%);clip-path:circle(0 at var(--reveal-x) var(--reveal-y));transition:clip-path 650ms cubic-bezier(.22,.61,.36,1)}
.invite-glass.is-open{clip-path:circle(150vmax at var(--reveal-x) var(--reveal-y))}
.invite-glass::backdrop{background:transparent}
.invite-glass iframe{width:100%;height:100%;border:0;opacity:0;transform:translateY(12px);transition:opacity 300ms ease,transform 450ms ease}
.invite-glass.is-open iframe{opacity:1;transform:none;transition-delay:240ms}
html.invite-glass-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.invite-glass,.invite-glass iframe{transition:none!important}}

/* The invitation grows from the actual pill, with one continuous glass surface. */
.invite-glass{background:linear-gradient(135deg,rgba(255,241,225,.1),rgba(255,241,225,.025)),rgba(20,9,8,.68);clip-path:inset(var(--pill-top) var(--pill-right) var(--pill-bottom) var(--pill-left) round 999px);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);transition:clip-path 420ms cubic-bezier(.2,.75,.2,1),backdrop-filter 420ms ease;-webkit-font-smoothing:antialiased}
.invite-glass.is-open{clip-path:inset(0 0 0 0 round 0px);backdrop-filter:blur(38px) saturate(80%);-webkit-backdrop-filter:blur(38px) saturate(80%)}
.invite-glass::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 1px rgba(255,245,230,.3);opacity:.5}
.invite-glass iframe{transition:opacity 200ms ease,transform 400ms ease}
.invite-glass.is-open iframe{transition-delay:100ms}
@media(prefers-reduced-motion:reduce){.invite-glass,.invite-glass iframe{transition:none!important}}
.invite-glass{background-color:var(--pill-fill,rgba(229,216,204,.18));transition:clip-path 420ms cubic-bezier(.2,.75,.2,1),background-color 420ms ease,backdrop-filter 420ms ease}
.invite-glass.is-open{background-color:rgba(20,9,8,.68)}
@media(prefers-reduced-motion:reduce){.invite-glass{transition:none!important}}

@media(hover:hover){.masthead .invite:hover{background-color:rgba(229,216,204,.28);box-shadow:inset 0 1px 2px rgba(255,255,255,.4),inset 0 -1px 3px rgba(255,255,255,.08),0 4px 18px rgba(20,9,8,.16);translate:0 0;scale:1.02}}
.invite-glass iframe{transform:none;transition:opacity 160ms ease}
.invite-glass.is-open iframe{transition-delay:100ms}
@media(prefers-reduced-motion:reduce){.invite-glass iframe{transition:none!important}}

/* A soft dissolve accompanies the pill expanding into glass. */
.invite-glass{opacity:0;transition:clip-path 520ms cubic-bezier(.25,.46,.45,.94),background-color 520ms ease,backdrop-filter 520ms ease,opacity 320ms ease}
.invite-glass.is-open{opacity:1}
.invite-glass iframe{opacity:0;transform:none;transition:opacity 280ms ease}
.invite-glass.is-open iframe{opacity:1;transition:opacity 480ms cubic-bezier(.25,.46,.45,.94);transition-delay:100ms}
@media(prefers-reduced-motion:reduce){.invite-glass,.invite-glass iframe{transition:none!important}}

/* Open directly; a brief, quiet glass shimmer settles over the background. */
.invite-glass,.invite-glass.is-open{clip-path:none;opacity:1;transition:none;background-color:rgba(20,9,8,.68);backdrop-filter:blur(38px) saturate(80%);-webkit-backdrop-filter:blur(38px) saturate(80%)}
.invite-glass iframe,.invite-glass.is-open iframe{opacity:1;transform:none;transition:none}
.invite-glass::after{display:none}
.invite-glass,.invite-glass.is-open{background:rgba(229,216,204,.88);color:#302019;backdrop-filter:blur(38px) saturate(70%);-webkit-backdrop-filter:blur(38px) saturate(70%)}

/* Transparent menu glass: refract the actual page beneath the dialog. */
.invite-glass,.invite-glass.is-open{background:rgba(229,216,204,.62);backdrop-filter:url(#menu-fluted-refraction) blur(2px);-webkit-backdrop-filter:blur(5px);color:#302019}
.invite-glass[data-mode=night],.invite-glass[data-mode=night].is-open{background:rgba(20,9,8,.56);color:#e5d8cc}
.invite-glass::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(0,0,0,.045) 0,transparent 9px,rgba(255,245,225,.065) 20px,rgba(255,245,225,.17) 23px,rgba(0,0,0,.075) 25px,transparent 30px);z-index:0}
.invite-glass iframe{position:relative;z-index:1}
@supports(backdrop-filter:url(#menu-fluted-refraction)){.invite-glass,.invite-glass.is-open{-webkit-backdrop-filter:url(#menu-fluted-refraction) blur(2px);backdrop-filter:url(#menu-fluted-refraction) blur(2px)}}

/* Clear reeded glass: optical displacement with very little haze. */
.invite-glass,.invite-glass.is-open{background:rgba(229,216,204,.22);-webkit-backdrop-filter:url(#menu-fluted-refraction);backdrop-filter:url(#menu-fluted-refraction)}
.invite-glass[data-mode=night],.invite-glass[data-mode=night].is-open{background:rgba(20,9,8,.23)}
.invite-glass::before{background:repeating-linear-gradient(90deg,rgba(0,0,0,.085) 0,rgba(0,0,0,.015) 6px,transparent 12px,rgba(255,248,232,.07) 19px,rgba(255,248,232,.24) 23px,rgba(0,0,0,.13) 25px,transparent 30px)}
/* Only imagery remains beneath the clear glass menu. */
html.invite-glass-open body>.masthead,html.invite-glass-open .hero>h1,html.invite-glass-open .hero>.address,html.invite-glass-open .mode-intro,html.invite-glass-open .chapter .copy,html.invite-glass-open .footer-copy,html.invite-glass-open .footer-cta,html.invite-glass-open .brand-footer{visibility:hidden!important}
.invite-glass,.invite-glass.is-open{background:rgba(229,216,204,.08)}
.invite-glass[data-mode=night],.invite-glass[data-mode=night].is-open{background:rgba(20,9,8,.12)}
.invite-glass::before{background:repeating-linear-gradient(90deg,rgba(0,0,0,.055) 0,transparent 8px,rgba(255,248,232,.025) 18px,rgba(255,248,232,.18) 23px,rgba(0,0,0,.09) 25px,transparent 30px)}

/* Let the ready form dissolve in without an unstyled frame flashing. */
.invite-glass{opacity:0;transition:opacity 240ms ease!important}
.invite-glass.is-open{opacity:1}
@media(prefers-reduced-motion:reduce){.invite-glass{transition:none!important}}
.field-glass-smoothing{position:absolute;pointer-events:none;z-index:0;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);background:rgba(39,24,17,.13)}

/* Reeded background with smooth glass only beneath the entry bubbles. */
.field-glass-smoothing{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:rgba(39,24,17,.07)}

/* Cut the reeded layer out at each field; no stripes sit behind the bubbles. */
.invite-glass,.invite-glass.is-open{-webkit-backdrop-filter:none;backdrop-filter:none}
.invite-glass::before{display:none}
.menu-reeded-layer{position:absolute;inset:0;pointer-events:none;backdrop-filter:url(#menu-fluted-refraction);-webkit-backdrop-filter:url(#menu-fluted-refraction);background:repeating-linear-gradient(90deg,rgba(0,0,0,.055) 0,transparent 8px,rgba(255,248,232,.025) 18px,rgba(255,248,232,.18) 23px,rgba(0,0,0,.09) 25px,transparent 30px);mask-mode:luminance;mask-size:100% 100%;-webkit-mask-size:100% 100%}
.field-glass-smoothing{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:rgba(39,24,17,.07)}
/* A brief wave draws the reeds across the screen; field cutouts remain intact. */
.menu-reeded-layer{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);transition:clip-path 560ms cubic-bezier(.22,.61,.36,1)}
.invite-glass.is-open .menu-reeded-layer{animation:reed-wave-in 560ms cubic-bezier(.22,.61,.36,1) both;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
@keyframes reed-wave-in{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%,100% 75%,100% 45%)}35%{clip-path:polygon(58% 0,100% 0,100% 100%,85% 100%,79% 75%,65% 45%)}70%{clip-path:polygon(9% 0,100% 0,100% 100%,35% 100%,29% 75%,15% 45%)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 75%,0 45%)}}
@media(prefers-reduced-motion:reduce){.menu-reeded-layer,.invite-glass.is-open .menu-reeded-layer{animation:none;transition:none;clip-path:none}}
/* Reeds fan open from the invitation side, then settle into straight glass. */
.menu-reeded-layer{transition:none;clip-path:inset(0 0 0 100%)}
.invite-glass.is-open .menu-reeded-layer{animation:reed-fan-in 720ms cubic-bezier(.22,.61,.36,1) both;clip-path:none}
@keyframes reed-fan-in{
 0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%,100% 70%,100% 35%);background-position:52px 0;opacity:.2}
 30%{clip-path:polygon(68% 0,100% 0,100% 100%,94% 100%,89% 70%,79% 35%);background-position:28px 0;opacity:.8}
 65%{clip-path:polygon(8% 0,100% 0,100% 100%,45% 100%,36% 70%,20% 35%);background-position:8px 0;opacity:1}
 100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 70%,0 35%);background-position:0 0;opacity:1}
}
@media(prefers-reduced-motion:reduce){.menu-reeded-layer,.invite-glass.is-open .menu-reeded-layer{animation:none;transition:none;clip-path:none}}

/* Individual glass reeds unfold sequentially from right to left. */
.menu-reeded-layer,.invite-glass.is-open .menu-reeded-layer{animation:none;clip-path:none;transition:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.accordion-reed{position:absolute;top:0;bottom:0;width:40px;transform-origin:right center;opacity:0;transform:perspective(500px) rotateY(85deg);backdrop-filter:url(#menu-fluted-refraction);-webkit-backdrop-filter:url(#menu-fluted-refraction);background:linear-gradient(90deg,rgba(0,0,0,.055),transparent 25%,rgba(255,248,232,.03) 55%,rgba(255,248,232,.18) 76%,rgba(0,0,0,.09) 82%,transparent)}
.invite-glass.is-open .accordion-reed{animation:accordion-unfold 300ms cubic-bezier(.22,.61,.36,1) var(--reed-delay) both}
@keyframes accordion-unfold{from{opacity:0;transform:perspective(500px) rotateY(85deg)}to{opacity:1;transform:perspective(500px) rotateY(0deg)}}
@media(prefers-reduced-motion:reduce){.invite-glass.is-open .accordion-reed{animation:none;opacity:1;transform:none}}
/* A traveling specular reflection catches each unfolding glass face. */
.accordion-reed{overflow:hidden;backface-visibility:hidden}
.accordion-reed::after{content:'';position:absolute;inset:-10% -100%;pointer-events:none;background:linear-gradient(105deg,transparent 25%,rgba(255,245,222,.06) 42%,rgba(255,251,235,.62) 50%,rgba(255,245,222,.14) 57%,transparent 72%);transform:translateX(55%);opacity:0}
.invite-glass.is-open .accordion-reed::after{animation:reed-reflection 440ms ease-out var(--reed-delay) both}
@keyframes reed-reflection{0%{opacity:0;transform:translateX(55%)}25%{opacity:.85}65%{opacity:.4}100%{opacity:0;transform:translateX(-55%)}}
@media(prefers-reduced-motion:reduce){.invite-glass.is-open .accordion-reed::after{animation:none}}
/* Restrained glass motion and a quieter reflection. */
.invite-glass.is-open .accordion-reed{animation:accordion-unfold 360ms cubic-bezier(.25,.46,.45,.94) var(--reed-delay) both}
@keyframes accordion-unfold{from{opacity:0;transform:perspective(500px) rotateY(35deg)}to{opacity:1;transform:perspective(500px) rotateY(0deg)}}
.accordion-reed::after{background:linear-gradient(105deg,transparent 30%,rgba(255,245,222,.025) 44%,rgba(255,251,235,.3) 50%,rgba(255,245,222,.06) 56%,transparent 68%)}
@keyframes reed-reflection{0%{opacity:0;transform:translateX(40%)}30%{opacity:.42}65%{opacity:.18}100%{opacity:0;transform:translateX(-40%)}}
@media(prefers-reduced-motion:reduce){.invite-glass.is-open .accordion-reed{animation:none;opacity:1;transform:none}}
/* Final softening of the glass entrance. */
@keyframes accordion-unfold{from{opacity:0;transform:perspective(500px) rotateY(20deg)}to{opacity:1;transform:perspective(500px) rotateY(0deg)}}
@keyframes reed-reflection{0%{opacity:0;transform:translateX(30%)}30%{opacity:.25}65%{opacity:.1}100%{opacity:0;transform:translateX(-30%)}}

.invite-hero-backdrop{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;pointer-events:none}




/* Continuous reeded sheet: clear faces and narrow curved reflections, without pill shapes. */
.accordion-reed{border-radius:0;background:linear-gradient(90deg,rgba(0,0,0,.045) 0%,transparent 16%,transparent 66%,rgba(255,248,231,.035) 77%,rgba(255,252,241,.16) 86%,rgba(0,0,0,.065) 91%,transparent 100%);box-shadow:inset -1px 0 1px rgba(255,249,235,.18)}
.accordion-reed::before{display:none}

/* Refraction supplies the depth; only a thin specular edge is painted over it. */
.accordion-reed{background:linear-gradient(90deg,rgba(0,0,0,.035),transparent 12% 78%,rgba(255,249,235,.13) 88%,rgba(0,0,0,.045) 94%,transparent);box-shadow:none;backdrop-filter:url(#menu-fluted-refraction);-webkit-backdrop-filter:url(#menu-fluted-refraction)}

/* Distort an actual image face rather than relying on backdrop SVG support. */
.accordion-reed{backdrop-filter:none;-webkit-backdrop-filter:none}
.reed-image-face{position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;filter:url(#menu-fluted-refraction);z-index:-1}

.reed-image-face{inset:0 -24px}

.invite-glass.tlg-ready .menu-reeded-layer{visibility:hidden}

/* Restore the subtle accordion, with clearer live refraction and fine reflections. */
.accordion-reed{backdrop-filter:url(#menu-fluted-refraction);-webkit-backdrop-filter:url(#menu-fluted-refraction);background:linear-gradient(90deg,rgba(0,0,0,.025),transparent 12% 78%,rgba(255,249,235,.17) 88%,rgba(0,0,0,.05) 94%,transparent);box-shadow:inset -1px 0 1px rgba(255,250,235,.2)}

/* Polished cylindrical glass: narrow specular light beside a shadowed shoulder. */
.accordion-reed{background:linear-gradient(90deg,rgba(12,7,4,.14) 0%,rgba(12,7,4,.025) 12%,transparent 25% 58%,rgba(255,245,222,.035) 69%,rgba(255,250,235,.28) 79%,rgba(255,255,246,.54) 82%,rgba(255,249,231,.1) 86%,rgba(14,8,4,.2) 91%,transparent 100%);box-shadow:none}
.accordion-reed::before{display:block;content:'';position:absolute;inset:0;pointer-events:none;border-radius:0;padding:0;background:linear-gradient(90deg,transparent 0% 60%,rgba(255,247,225,.12) 70%,rgba(255,255,245,.75) 78%,rgba(255,255,252,.95) 81%,rgba(255,249,235,.22) 85%,transparent 90%);mask:linear-gradient(to bottom,transparent 4%,rgba(0,0,0,.1) 18%,#000 var(--glint-y),rgba(0,0,0,.16) 48%,transparent 57%,rgba(0,0,0,.6) 68%,transparent 86%);-webkit-mask:linear-gradient(to bottom,transparent 4%,rgba(0,0,0,.1) 18%,#000 var(--glint-y),rgba(0,0,0,.16) 48%,transparent 57%,rgba(0,0,0,.6) 68%,transparent 86%);opacity:var(--glint-strength);mix-blend-mode:screen}
.invite-glass[data-mode=night] .accordion-reed::before{opacity:calc(var(--glint-strength) * 1.15)}
/* Softer continuous glass, without bright pinstripes. */
.accordion-reed{background:linear-gradient(90deg,rgba(0,0,0,.018),transparent 18% 55%,rgba(255,249,235,.045) 74%,rgba(255,252,241,.08) 84%,rgba(0,0,0,.025) 94%,transparent);box-shadow:none}
.accordion-reed::before{background:linear-gradient(90deg,transparent 25%,rgba(255,247,225,.035) 52%,rgba(255,255,245,.22) 75%,rgba(255,249,235,.06) 90%,transparent);opacity:calc(var(--glint-strength) * .55)}
.invite-glass[data-mode=night] .accordion-reed::before{opacity:calc(var(--glint-strength) * .65)}
/* Let distortion carry the glass; remove painted vertical bands. */
.accordion-reed{background:transparent;box-shadow:none}
.accordion-reed::before{display:none}
.accordion-reed::after{background:linear-gradient(105deg,transparent 25%,rgba(255,248,231,.06) 50%,transparent 75%)}

.optical-glass-surface{position:absolute;inset:-2%;pointer-events:none}.optical-glass-surface canvas{display:block;width:100%;height:100%}
.menu-reeded-layer.optical-ready>.accordion-reed{display:none}



footer#contact .event-cta{position:absolute;left:50%;bottom:3.5%;transform:translateX(-50%);color:#e5d8cc;font-size:12px;letter-spacing:.6px;background:rgba(229,216,204,.08);border-color:rgba(229,216,204,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);white-space:nowrap}
footer#contact .event-cta:hover{background:rgba(229,216,204,.2);border-color:rgba(229,216,204,.4)}
html.invite-glass-open .event-cta{visibility:hidden!important}
@media(max-width:600px){footer#contact .event-cta{bottom:3%;font-size:11px;padding:10px 18px}}
footer#contact .event-cta{border-radius:999px;font-family:nimbus-sans,sans-serif;font-weight:300;text-transform:none;cursor:pointer}
.field-glass-smoothing{backdrop-filter:blur(.75px);-webkit-backdrop-filter:blur(.75px);background:rgba(39,24,17,.035)}
