/* The reference-inspired Eladation theme. Gold remains a solid colour;
   candlelight, highlights and decorative particles provide the shine. */
:root {
  --cream: #fffaf3;
  --cream-deep: #f5e9dc;
  --white: #fffefd;
  --gold: #b77b18;
  --gold-deep: #8d580d;
  --gold-light: #eed092;
  --gold-bright: #d9a84a;
  --gold-pale: #fff1d4;
  --gold-ink: #4b2c08;
  --deep-rose: #8b5361;
  --deep-rose-2: #60323e;
  --ink: #2e211e;
  --ink-soft: #6f6464;
  --line: rgba(177,116,29,.23);
  --shadow: 0 12px 35px rgba(126,81,34,.11), 0 1px 0 white inset;
  --shadow-soft: 0 5px 18px rgba(126,81,34,.07);
  --radius: 14px;
  --script: 'Allura', 'Cormorant Garamond', cursive;
}
body { background: var(--cream); }
body::before { display: none; }
h1, h2, h3, h4 { color: var(--ink); letter-spacing: -.04em; }
.container-xl { width: 100%; max-width: 1490px; --bs-gutter-x: 3.5rem; }
.visual-icon { width: 24px; height: 24px; flex: 0 0 auto; vertical-align: middle; }
.btn { gap: .75rem; min-height: 45px; padding: .72rem 1.5rem; font: 600 .95rem/1.2 'Cormorant Garamond', Georgia, serif; letter-spacing: .005em; text-transform: none; }
.btn .visual-icon { width: 20px; height: 20px; }
.btn-sm { min-height: 34px; padding: .4rem 1rem; font-size: .88rem; }
.btn-primary, .campaign-spotlight .btn-light, .final-cta .btn-light {
  --bs-btn-color: #fffdf7;
  --bs-btn-hover-color: white;
  --bs-btn-bg: #af7211;
  --bs-btn-hover-bg: #c18a2a;
  --bs-btn-border-color: #dcae57;
  --bs-btn-hover-border-color: #f2d68f;
  color: #fffdf7;
  background: #af7211;
  border: 1px solid #dcae57;
  box-shadow: inset 0 2px 3px rgba(255,244,207,.68), inset 0 -2px 4px rgba(108,64,4,.18), 0 3px 8px rgba(177,116,29,.24), 0 0 0 2px rgba(255,246,219,.7);
  text-shadow: 0 1px 1px rgba(79,45,5,.2);
}
.btn-primary:hover, .campaign-spotlight .btn-light:hover, .final-cta .btn-light:hover { color: white; background: #c18a2a; border-color: #f2d68f; box-shadow: inset 0 2px 4px rgba(255,250,225,.75), 0 5px 13px rgba(177,116,29,.3), 0 0 18px rgba(244,204,114,.3); }
.btn-secondary, .btn-muted { color: var(--gold-ink); background: rgba(255,253,248,.9); border-color: #c38a36; box-shadow: inset 0 1px white; }
.btn-secondary:hover, .btn-muted:hover { color: var(--gold-deep); background: #fff0d4; border-color: #b77918; box-shadow: 0 3px 10px rgba(177,116,29,.1); }
.text-link { gap: .55rem; color: var(--gold-deep); font: 600 .91rem/1.2 'Cormorant Garamond', Georgia, serif; }
.text-link .visual-icon { width: 19px; height: 19px; }
.eyebrow { color: var(--gold-deep); font-size: .61rem; letter-spacing: .22em; }
.eyebrow::before { background: var(--gold); }
.form-control, .form-select, .event-filter-form input, .event-filter-form select { background-color: #fffefd; border-color: #e6d9c8; border-radius: 7px; }
.form-control:focus, .form-select:focus { border-color: #c99237; box-shadow: 0 0 0 .18rem rgba(225,183,107,.2); }
.form-label { color: #685447; }
.form-check-input:checked { background-color: #ae741d; border-color: #ae741d; }
.form-card, .booking-card, .auth-card, .story-card, .side-card, .registration-card { border-color: rgba(212,158,77,.35); box-shadow: var(--shadow); }
.booking-card { background: linear-gradient(180deg, transparent 0 145px, var(--white) 145px), url('../web/images/Cake_n_Sip/CYS00249-960.webp') center 44% / 100% 170px no-repeat; }
.connect-grid a:nth-child(1)::before { background-image: url('../web/images/Cake_n_Sip/CYS01338-960.webp'); }
.connect-grid a:nth-child(2)::before { background-image: url('../web/images/Cake_n_Sip/CYS01182-960.webp'); }
.connect-grid a:nth-child(3)::before { background-image: url('../web/images/Cake_n_Sip/CYS00332-960.webp'); }
.page-hero, .page-hero-story { min-height: 540px; background: linear-gradient(90deg, rgba(255,250,243,.98) 0%, rgba(255,250,243,.94) 42%, rgba(255,250,243,.28) 78%), url('../web/images/Cake_n_Sip/CYS01338-960.webp') center 47% / cover; border-bottom: 1px solid rgba(194,135,44,.5); }
.page-hero.compact { min-height: 380px; }
.page-hero::after { opacity: .25; }
.page-hero-copy h1 { font-size: clamp(3rem,5.2vw,5.8rem); }
.page-hero-copy p { max-width: 660px; }
.section-pad { padding: clamp(4rem,6vw,6.5rem) 0; }
.form-page { background: linear-gradient(90deg, rgba(255,250,243,.96), rgba(255,245,247,.93)), url('../web/images/Cake_n_Sip/CYS00249-960.webp') center / cover fixed; }
.auth-page, .portal-page { background-color: var(--cream); }
.portal-hero { background: #f7e9de; }
.reveal, .reveal.visible { opacity: 1; transform: none; }
.sparkles { pointer-events: none; }

/* Airy navigation and the requested solid-gold wordmark. */
.site-header { height: 76px; background: rgba(255,251,245,.95); border-bottom: 1px solid rgba(205,153,72,.2); box-shadow: 0 4px 20px rgba(122,84,47,.025); }
.site-header .navbar { position: static; }
.site-header::after { background: #d4a25a; opacity: .25; }
.brand-wordmark { color: #a46e1b; font-size: 2.6rem; line-height: .84; letter-spacing: -.025em; }
.brand-wordmark::after { background: #c49440; opacity: .65; }
.brand small { font-size: .46rem; color: #96713c; letter-spacing: .19em; }
.nav-link { color: #433126 !important; font: 600 .95rem/1.2 'Cormorant Garamond', Georgia, serif; text-transform: none; letter-spacing: 0; padding: .8rem 1rem !important; }
.nav-link::after { right: 1rem; left: 1rem; bottom: .45rem; }
.nav-link.active { color: var(--gold-deep) !important; }
.nav-link.active::after { transform: scaleX(1); }
.navbar-toggler { min-width: 44px; min-height: 44px; padding: 12px; }
.nav-item .btn { min-height: 39px; font-size: .91rem; }

/* Homepage composition */
.reference-hero { position: relative; min-height: 575px; overflow: hidden; isolation: isolate; border-bottom: 1px solid #c98c2b; background: #f7eadc; }
.reference-hero-atmosphere { position: absolute; inset: 0; z-index: -2; background: #f7eadf; }
.reference-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(255,250,243,.99) 0%, rgba(255,250,243,.96) 32%, rgba(255,250,243,.78) 43%, rgba(255,250,243,.08) 65%); }
.reference-hero::after { content: ''; position: absolute; z-index: 3; top: 0; bottom: 0; left: 1.6rem; width: 1px; background: #cb963d; pointer-events: none; box-shadow: 0 0 9px rgba(232,185,95,.32); }
.reference-hero-photo { position: absolute; z-index: -1; top: 0; right: 0; bottom: 0; width: 62%; mask-image: linear-gradient(90deg, transparent, black 23%); }
.reference-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 45% 46%; filter: saturate(.95) sepia(.05); }
.reference-hero-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(132,82,27,.16), transparent 70%); }
.reference-hero-inner { position: relative; min-height: 575px; display: flex; align-items: center; }
.reference-hero-copy { position: relative; z-index: 4; width: 47%; padding: 2.7rem 0 2.5rem 1.2rem; }
.brand-manifesto { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; color: #815329; font-size: .53rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; }
.brand-manifesto span { color: #bd841b; font-size: .8rem; }
.reference-hero h1 { font-size: clamp(3.25rem,4.4vw,4.75rem); line-height: .98; margin: 0 0 1.15rem; letter-spacing: -.055em; }
.reference-hero h1 em { color: #a56c18; font-style: normal; text-shadow: 0 1px rgba(255,251,235,.9), 0 0 18px rgba(240,210,142,.22); }
.hero-description { max-width: 495px; margin-bottom: 1.4rem; color: #61575c; font-size: .91rem; line-height: 1.6; }
.reference-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero-beliefs { display: grid; grid-template-columns: repeat(3,1fr); max-width: 470px; margin-top: 2rem; }
.hero-beliefs > div { padding: 0 1rem; border-left: 1px solid rgba(187,124,28,.48); }
.hero-beliefs > div:first-child { padding-left: 0; border: 0; }
.hero-beliefs strong { display: block; color: #473022; font: 600 1.45rem/1.15 'Cormorant Garamond', Georgia, serif; }
.hero-beliefs span { display: block; margin-top: .3rem; color: #6e6160; font-size: .75rem; }
.hero-handwritten { position: absolute; z-index: 2; right: 1.8rem; top: 2.2rem; transform: rotate(-8deg); text-align: center; color: #fff4e2; font: 2.6rem/.95 var(--script); text-shadow: 0 1px 14px rgba(48,32,16,.65); }
.hero-handwritten span { display: block; margin-top: .4rem; font-size: 2rem; }
.hero-purpose { position: absolute; z-index: 4; right: 2rem; bottom: 1.65rem; width: 230px; padding: 1.15rem 1.5rem 1.1rem; background: rgba(255,252,244,.96); border: 1px solid #d6a34a; border-radius: 12px; outline: 1px solid rgba(243,221,172,.8); outline-offset: -6px; box-shadow: 0 0 20px rgba(255,227,160,.45), 0 7px 25px rgba(110,68,17,.1); }
.hero-purpose p { margin: 0 0 .55rem; color: #66452e; font: 500 1.15rem/1.18 'Cormorant Garamond', Georgia, serif; }
.quote-glyph { color: #c58b22; position: absolute; top: .05rem; left: .4rem; font: 2.2rem/1 Georgia,serif; }
.purpose-signature { color: #9b6e31; font-size: .47rem; letter-spacing: .15em; text-transform: uppercase; }

.connection-band { padding: 2.3rem 0; background: rgba(255,253,249,.96); border-bottom: 1px solid rgba(200,144,49,.6); }
.connection-band-grid { display: grid; grid-template-columns: 1.3fr repeat(4,1fr); align-items: stretch; }
.connection-band-grid > * { padding: .1rem 1.6rem; border-left: 1px solid rgba(206,158,84,.38); text-align: center; }
.connection-band-grid .connection-intro { padding-left: 1.2rem; border: 0; text-align: left; }
.connection-intro h2 { font-size: 2.1rem; line-height: .98; margin-bottom: .75rem; }
.connection-intro p, .connection-band-grid article p { color: #736767; font-size: .82rem; line-height: 1.65; margin-bottom: .7rem; }
.circle-icon { width: 58px; height: 58px; margin: 0 auto .6rem; padding: 12px; color: #ba7d16; border: 1px solid #dfb66d; border-radius: 50%; outline: 1px solid #f5e4c6; outline-offset: 3px; background: #fff8e9; box-shadow: inset 0 0 12px rgba(240,208,144,.13), 0 0 12px rgba(229,188,108,.17); }
.connection-band-grid article h3 { font: 600 1.3rem/1.05 'Cormorant Garamond',Georgia,serif; margin: .1rem 0 .6rem; letter-spacing: -.02em; }

.reference-experiences { padding: 3.3rem 0 2rem; background: #fffdf9; }
.curated-layout { display: grid; grid-template-columns: .78fr 1.5fr 2.65fr; gap: 1.8rem; align-items: stretch; }
.curated-layout:not(:has(.signature-experience)) { grid-template-columns: 1fr 3.5fr; }
.curated-intro { padding: 1.3rem 0 0 1.2rem; }
.curated-intro h2 { margin: .55rem 0 1rem; font-size: 2.25rem; }
.curated-intro p { font-size: .8rem; line-height: 1.55; max-width: 220px; margin-bottom: 1rem; }
.curated-intro .btn { white-space: nowrap; }
.signature-experience { position: relative; isolation: isolate; min-height: 320px; overflow: hidden; border-radius: 12px; border: 1px solid #d2a34f; background: #f6e3cd; box-shadow: var(--shadow-soft); }
.signature-experience > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; }
.signature-experience::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(255,247,236,.93), rgba(255,243,224,.75) 48%, rgba(255,244,230,.07)); }
.signature-experience > div:last-child { position: relative; z-index: 2; padding: 2.1rem 1.5rem; max-width: 88%; }
.signature-experience h3 { margin: .7rem 0 1rem; color: #7b461c; font: 3.5rem/.9 var(--script); letter-spacing: -.01em; }
.signature-experience p { color: #765f52; font-size: .77rem; line-height: 1.5; max-width: 240px; }
.signature-date { display: block; color: #915f25; font-size: .57rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1.1rem; }
.signature-date span { padding: 0 .2rem; }
.signature-experience .text-link { color: #6f4217; }
.collection-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .8rem; }
.collection-heading h2 { margin: 0; font: 600 1.65rem/1.05 'Cormorant Garamond',Georgia,serif; letter-spacing: -.035em; }
.collection-heading .text-link { white-space: nowrap; font-size: .82rem; }
.reference-event-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 1rem; }
.reference-event-card { border: 1px solid #ebcda0; border-radius: 9px; overflow: hidden; background: #fffefd; box-shadow: 0 4px 12px rgba(149,95,42,.04); }
.reference-event-image { position: relative; display: block; height: 125px; overflow: hidden; }
.reference-event-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.reference-event-image:hover img { transform: scale(1.035); }
.reference-event-image time { position: absolute; left: .65rem; top: .55rem; width: 44px; padding: .35rem .2rem; background: #fffefa; border-radius: 6px; border: 1px solid #edcf95; box-shadow: 0 2px 9px rgba(102,61,13,.12); text-align: center; color: #593d2a; }
.reference-event-image time span { display: block; font: 600 .6rem/1.1 'Cormorant Garamond',Georgia,serif; text-transform: uppercase; }
.reference-event-image time strong { font: 600 1.7rem/1.05 'Cormorant Garamond',Georgia,serif; }
.reference-event-copy { display: flex; flex-direction: column; padding: 1.1rem; min-height: 225px; }
.reference-event-copy h3 { font: 600 1.19rem/1.07 'Cormorant Garamond',Georgia,serif; margin: 0 0 .45rem; letter-spacing: -.02em; }
.reference-event-copy h3 a { color: #33251f; }
.reference-event-copy p { color: #776b6e; font-size: .8rem; line-height: 1.6; margin-bottom: .9rem; }
.reference-event-copy .reference-event-venue { color: #866839; font-size: .75rem; display: flex; gap: .3rem; align-items: center; }
.reference-event-venue .visual-icon { width: 13px; height: 13px; color: #be7e24; }
.reference-event-copy .btn { margin-top: auto; width: 100%; min-height: 29px; padding: .25rem .6rem; font-size: .8rem; }
.reference-event-copy .btn .visual-icon { width: 16px; height: 16px; }

.reference-moments { padding: 1.7rem 0 3.3rem; background: #fffdf9; }
.moments-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8rem; }
.moment-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: .6rem; }
.moment-strip a { height: 145px; overflow: hidden; border-radius: 8px; border: 1px solid #e4bb77; }
.moment-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.moment-strip a:hover img { transform: scale(1.04); }
.reference-story-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; }
.reference-story, .purpose-card { position: relative; margin: 0; min-height: 145px; padding: 1rem 1.2rem 1rem 3rem; border: 1px solid #ebd2b0; border-radius: 9px; background: #fffdfa; }
.reference-story .visual-icon, .purpose-card .visual-icon { position: absolute; top: 1rem; left: .9rem; color: #c19038; width: 22px; height: 22px; }
.reference-story blockquote { margin: 0 0 .7rem; color: #716565; font-size: .73rem; line-height: 1.5; }
.reference-story figcaption strong, .reference-story figcaption span { display: block; }
.reference-story figcaption strong { color: #5d4033; font: 600 .9rem/1.2 'Cormorant Garamond',Georgia,serif; }
.reference-story figcaption span { color: #907c70; font-size: .6rem; }
.purpose-card { grid-column: 1/-1; background: #fffcf7; }
.purpose-card blockquote { color: #694632; font: 500 1.45rem/1.15 'Cormorant Garamond',Georgia,serif; margin-bottom: .65rem; }
.purpose-card p { margin: 0; color: #a4783a; font-size: .53rem; letter-spacing: .15em; text-transform: uppercase; }

.reference-join { position: relative; overflow: hidden; padding: 2.4rem 0; background: linear-gradient(90deg, rgba(255,228,225,.97), rgba(255,238,230,.95) 60%, rgba(255,242,226,.82)), url('../web/images/Cake_n_Sip/CYS01256-960.webp') right 45% / cover; border-block: 1px solid #d9aa64; }
.reference-join-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.7fr auto 1.2fr; gap: 2.1rem; align-items: center; }
.reference-join h2 { font-size: clamp(2rem,2.7vw,3rem); margin: .3rem 0 .4rem; }
.reference-join p { margin: 0; font-size: .78rem; color: #835d50; }
.reference-join ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; color: #815324; font-size: .63rem; }
.reference-join li { display: flex; align-items: center; gap: .5rem; }
.reference-join li .visual-icon { width: 22px; height: 22px; color: #b57919; }
.site-footer { padding: 3rem 0 1.1rem; background: #fff9f0; border-top: 0; color: #6c4c34; }
.booking-card { display: flex; flex-direction: column; gap: .65rem; }
.booking-card dl { margin-bottom: .9rem; }
.booking-card dl > div { padding: 1.1rem 0; }
.owner-preview-banner { display: flex; justify-content: center; align-items: center; gap: 1.4rem; padding: .9rem 1.5rem; background: #fff0d3; border-bottom: 1px solid #dfb978; color: #855b20; font-size: .8rem; }
.owner-preview-banner span { font-weight: 700; }
.owner-preview-banner a { color: #8d5b17; text-decoration: underline; text-underline-offset: 3px; }
.gallery-lightbox { width: min(1180px,94vw); max-height: 92vh; padding: 1rem; background: #fffaf3; border: 1px solid #deb77a; border-radius: 14px; box-shadow: 0 20px 100px rgba(32,21,13,.4); }
.gallery-lightbox::backdrop { background: rgba(37,24,15,.8); backdrop-filter: blur(7px); }
.gallery-lightbox-toolbar { display: flex; gap: 1rem; align-items: center; justify-content: space-between; padding: .25rem .6rem .85rem; }
.gallery-lightbox-toolbar p { margin: 0; font-size: .85rem; color: #6d523b; }
.gallery-lightbox button { flex: 0 0 auto; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d9b374; border-radius: 50%; color: #9a6820; background: #fff9ee; font: 1.8rem/1 Georgia,serif; }
.gallery-lightbox-image { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: .8rem; align-items: center; }
.gallery-lightbox-image img { width: 100%; height: min(70vh,750px); object-fit: contain; border-radius: 5px; }
.gallery-lightbox-counter { text-align: center; margin: .7rem 0 0; color: #987950; font-size: .73rem; }
@media (max-width: 600px) { .owner-preview-banner { gap: .7rem; flex-wrap: wrap; font-size: .73rem; } .gallery-lightbox { padding: .5rem; } .gallery-lightbox-image { grid-template-columns: 32px minmax(0,1fr) 32px; gap: .25rem; } .gallery-lightbox-image button { width: 30px; height: 40px; border: 0; } }
.footer-brand .brand-wordmark { color: #a46e1b; font-size: 2.35rem; }
.footer-brand small { color: #9b7440; }
.footer-main { gap: 2rem; }
.footer-main h2 { color: #946326; }
.footer-main > div:first-child p { color: #8b7869; font-size: .74rem; }
.footer-main > div:not(:first-child) a { color: #806b5d; font-size: .72rem; }
.footer-main > div:not(:first-child) a:hover { color: #a9701a; }
.footer-bottom { margin-top: 2rem; color: #a28c79; border-color: #ead8bc; }

/* Luminous particles are positioned clear of the main reading columns. */
.gold-glitter { position: absolute; z-index: 3; inset: 0; overflow: hidden; pointer-events: none; }
.gold-glitter i { position: absolute; left: var(--x); top: var(--y); width: var(--size); height: var(--size); border-radius: 50%; background: #e8be5e; box-shadow: 0 0 4px #fff4ca, 0 0 12px rgba(241,189,70,.75), 14px 23px 0 -1px #c89835, -19px 39px 0 -1px #f0d084; animation: goldLight 3.8s ease-in-out var(--delay) infinite; }
.gold-glitter b { position: absolute; left: var(--x); top: var(--y); color: #fff1b5; font: 1.5rem/1 Georgia,serif; text-shadow: 0 0 4px #d49b2e, 0 0 15px #e8bf64; animation: goldStar 4.7s ease-in-out var(--delay) infinite; }
.hero-glitter i { box-shadow: 0 0 4px #fff4ca, 0 0 12px rgba(241,189,70,.75), 14px 23px 0 -1px #c89835, -19px 39px 0 -1px #f0d084; }
.hero-glitter b:first-of-type { left: 3.5%; }
@keyframes goldLight { 0%,100% { opacity: .38; transform: scale(.72); } 52% { opacity: 1; transform: scale(1.2); } }
@keyframes goldStar { 0%,100% { opacity: .55; transform: scale(.75) rotate(0); } 48% { opacity: 1; transform: scale(1.15) rotate(12deg); } }

@media (min-width: 1600px) {
  .reference-hero-copy { width: 45%; }
  .reference-hero h1 { font-size: 4.75rem; }
  .curated-layout { grid-template-columns: .75fr 1.45fr 2.9fr; }
}
@media (max-width: 1199px) {
  .container-xl { --bs-gutter-x: 2.6rem; }
  .reference-hero-copy { width: 53%; padding-left: .5rem; }
  .reference-hero h1 { font-size: 4.8rem; }
  .reference-hero-photo { width: 60%; }
  .hero-handwritten { right: 1.4rem; font-size: 2.1rem; }
  .hero-purpose { width: 190px; right: 1.2rem; }
  .connection-band-grid > * { padding: .1rem .9rem; }
  .curated-layout { grid-template-columns: 1fr 1.8fr; gap: 1.5rem; }
  .upcoming-collection { grid-column: 1/-1; margin-top: 1rem; }
  .reference-event-grid { grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); }
  .reference-event-image { height: 140px; }
  .signature-experience > div:last-child { padding: 2rem 1.1rem; }
  .reference-join-inner { grid-template-columns: 1.6fr auto; }
  .reference-join ul { grid-column: 1/-1; grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 991px) {
  .site-header { height: 72px; }
  .navbar-collapse { position: absolute; top: calc(100% - .5rem); left: 1rem; right: 1rem; margin: 0; padding: 1rem; background: #fffaf3; border: 1px solid #ebcda0; border-radius: 12px; box-shadow: 0 12px 30px rgba(101,66,26,.12); }
  .nav-link { padding: .8rem 1rem !important; }
  .nav-item .btn { margin: .5rem 1rem; }
  .reference-hero, .reference-hero-inner { min-height: 590px; }
  .reference-hero-copy { width: 62%; }
  .reference-hero h1 { font-size: clamp(3.4rem,7.7vw,4.8rem); }
  .reference-hero-photo { width: 66%; opacity: .82; }
  .hero-handwritten { display: none; }
  .hero-purpose { bottom: 1.6rem; width: 190px; }
  .hero-beliefs { max-width: 390px; }
  .brand-manifesto { font-size: .48rem; gap: .4rem; }
  .connection-band-grid { grid-template-columns: repeat(4,1fr); gap: 1.4rem 0; }
  .connection-band-grid .connection-intro { grid-column: 1/-1; text-align: center; padding: 0 0 1rem; border-bottom: 1px solid #ebd2b0; }
  .connection-intro h2 br { display: none; }
  .connection-band-grid article:nth-child(2) { border-left: 0; }
  .curated-layout { grid-template-columns: 1fr 1.8fr; }
  .curated-intro { padding-left: 0; }
  .signature-experience { min-height: 280px; }
  .upcoming-collection { grid-column: 1/-1; margin-top: 1rem; }
  .reference-event-grid { grid-template-columns: repeat(3,1fr); }
  .moments-layout { grid-template-columns: 1fr; }
  .moment-strip a { height: 160px; }
}
@media (max-width: 767px) {
  .container-xl { --bs-gutter-x: 2rem; }
  .reference-hero, .reference-hero-inner { min-height: 765px; }
  .reference-hero-photo { top: 0; bottom: auto; width: 100%; height: 340px; opacity: 1; mask-image: linear-gradient(0deg,transparent,black 28%); }
  .reference-hero-photo img { object-position: center 40%; }
  .reference-hero::before { background: linear-gradient(0deg, #fffaf3 2%, #fffaf3 52%, rgba(255,250,243,.98) 65%, rgba(255,250,243,.78) 76%, transparent 92%); }
  .reference-hero::after { left: .5rem; }
  .reference-hero-inner { align-items: flex-end; }
  .reference-hero-copy { width: 100%; padding: 18rem 0 2.2rem; }
  .reference-hero h1 { font-size: clamp(3.1rem,9.8vw,4.5rem); line-height: 1; text-shadow: 0 1px 0 rgba(255,250,243,.9), 0 0 18px rgba(255,250,243,.76); }
  .brand-manifesto { font-size: .47rem; gap: .4rem; white-space: normal; letter-spacing: .13em; flex-wrap: wrap; }
  .hero-description { font-size: .87rem; max-width: 100%; }
  .reference-hero-actions { gap: .7rem; }
  .reference-hero-actions .btn { padding: .7rem 1.05rem; font-size: .87rem; }
  .hero-beliefs { margin-top: 1.6rem; width: 100%; max-width: none; }
  .hero-beliefs > div { padding: 0 .6rem; }
  .hero-beliefs strong { font-size: 1.35rem; }
  .hero-beliefs span { font-size: .59rem; }
  .hero-purpose { display: none; }
  .connection-band { padding: 1.65rem 0; }
  .connection-band-grid { grid-template-columns: 1fr 1fr; gap: 1.4rem 0; }
  .connection-band-grid > * { padding: 0 .7rem; }
  .connection-band-grid article:nth-child(4) { border-left: 0; }
  .connection-band-grid article h3 { font-size: 1.25rem; }
  .connection-band-grid article p { font-size: .72rem; margin-bottom: 0; }
  .curated-layout, .curated-layout:not(:has(.signature-experience)) { grid-template-columns: 1fr; gap: 1.25rem; }
  .curated-intro { padding: 0; }
  .curated-intro h2 { font-size: 2.3rem; margin-top: .5rem; }
  .curated-intro h2 br { display: none; }
  .curated-intro p { max-width: 330px; }
  .signature-experience { min-height: 285px; }
  .signature-experience > div:last-child { max-width: 75%; padding: 2rem 1.4rem; }
  .reference-event-grid { grid-template-columns: 1fr; }
  .reference-event-image { height: 195px; }
  .reference-event-copy { min-height: 0; padding: 1rem; }
  .reference-event-copy h3 { font-size: 1.5rem; }
  .reference-event-copy p { font-size: .8rem; }
  .reference-event-copy .btn { min-height: 36px; margin-top: .25rem; }
  .collection-heading h2 { font-size: 1.5rem; }
  .collection-heading .text-link { font-size: .75rem; }
  .moment-strip { grid-template-columns: 1fr 1fr; }
  .moment-strip a { height: 150px; }
  .reference-story-grid { grid-template-columns: 1fr; }
  .reference-join-inner { grid-template-columns: 1fr; gap: 1.2rem; }
  .reference-join .btn { justify-self: start; }
  .reference-join ul { grid-template-columns: 1fr 1fr; gap: .8rem; }
  .reference-join h2 { font-size: 2.4rem; }
  .hero-glitter b:first-of-type { top: 12%; }
  .gold-glitter b { font-size: 1.2rem; }
  .site-footer { padding: 2.5rem 0 1.2rem; }
  .page-hero-copy h1 { font-size: 3.4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gold-glitter i, .gold-glitter b { animation: none; opacity: .75; }
}

.reference-founder { background: var(--cream-deep); }
.reference-founder-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(240px, .8fr); gap: 4rem; align-items: center; }
.reference-founder h2 { margin: .7rem 0 .5rem; }
.founder-title { color: var(--deep-rose); font-weight: 700; margin-bottom: 1.4rem; }
.reference-founder blockquote { margin: 1.5rem 0 0; color: var(--deep-rose-2); font: italic 1.5rem/1.35 'Cormorant Garamond', Georgia, serif; }
.reference-countdown { background: var(--deep-rose-2); color: #fffaf3; }
.reference-countdown h2 { color: #fffaf3; margin: .6rem 0 1.8rem; }
.countdown-grid { display: flex; justify-content: center; gap: clamp(1rem, 5vw, 4rem); margin: 0 auto 2rem; }
.countdown-grid div { min-width: 5rem; }
.countdown-grid strong { display: block; color: var(--gold-light); font: 700 clamp(2rem, 5vw, 4rem)/1 'Cormorant Garamond', Georgia, serif; }
.countdown-grid span { color: rgba(255,250,243,.76); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.reference-promotion { background: var(--deep-rose); color: #fffaf3; }
.reference-promotion-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem 3.5rem; }
.reference-promotion p { margin: .35rem 0 0; color: #fffaf3; }
.promotion-modal-open { overflow: hidden; }
.promotion-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 1rem; background: rgba(35,17,26,.72); }
.promotion-modal[hidden] { display: none; }
.promotion-modal-card { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1fr); width: min(880px, 100%); max-height: min(720px, 92vh); overflow: auto; background: var(--cream); box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.promotion-modal-card img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.promotion-modal-copy { align-self: center; padding: clamp(2rem, 5vw, 4rem); }
.promotion-modal-copy h2 { margin: .8rem 0; }
.promotion-modal-close { position: absolute; z-index: 1; top: .75rem; right: .75rem; width: 2.25rem; height: 2.25rem; border: 1px solid rgba(46,33,30,.2); border-radius: 50%; background: var(--cream); color: var(--ink); font-size: 1.5rem; line-height: 1; }
@media (max-width: 700px) { .promotion-modal-card { grid-template-columns: 1fr; } .promotion-modal-card img { max-height: 240px; min-height: 0; } }
@media (max-width: 767px) {
  .reference-founder-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .countdown-grid { gap: .55rem; }
  .countdown-grid div { min-width: 3.8rem; }
  .reference-promotion-inner { align-items: flex-start; flex-direction: column; padding: 1.5rem; }
}
