:root {
  --surface: #f7fbfc;
  --surface-deep: #e3f0f4;
  --ink: #17334a;
  --accent: #6f9fb8;
  --gold: #b28a52;
  --rsvp: #173b55;
  --hero-overlay: rgba(231,246,250,.08);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-script: "Great Vibes", cursive;
  --font-ui: Jost, system-ui, sans-serif;
  --font-royal: Cinzel, Georgia, serif;
  --base-size: 16px;
  --name-size: 58px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #102c42; }
body { margin: 0; background: #102c42; color: var(--ink); font-family: var(--font-display); font-size: var(--base-size); }
body.intro-active { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
img, video { display: block; max-width: 100%; }

.mobile-shell { position: relative; width: min(100%, 430px); min-height: 100dvh; margin: 0 auto; overflow: clip; background: var(--surface); box-shadow: 0 0 80px rgba(0,0,0,.45); }
.desktop-stage { position: fixed; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 8vw; color: #eaf7fb; font-family: var(--font-royal); letter-spacing: .22em; text-transform: uppercase; background: radial-gradient(circle at 18% 40%, #315d75, #102c42 58%); }
.desktop-stage span { font-size: clamp(28px, 4vw, 68px); }
.desktop-stage small { max-width: 310px; margin-top: 14px; font: 400 12px/1.8 var(--font-ui); letter-spacing: .16em; opacity: .65; }
.progress { position: fixed; z-index: 90; top: 0; left: 50%; width: min(100%,430px); height: 3px; transform: translateX(-50%) scaleX(0); transform-origin: left; background: linear-gradient(90deg,var(--accent),#e2ae8d); pointer-events:none; }

.invibloom-preview-bar { position: relative; z-index: 95; min-height: 46px; padding: 8px 10px; display:flex; align-items:center; gap:8px; background:rgba(255,249,240,.97); border-bottom:1px solid rgba(169,75,94,.2); font:500 10px/1.2 var(--font-ui); }
.invibloom-preview-bar strong { letter-spacing:.04em; }
.invibloom-preview-bar span { flex:1; text-align:center; opacity:.7; }
.invibloom-preview-bar a { padding:8px 11px; border-radius:999px; color:#fff; background:var(--accent); text-decoration:none; }
html.invibloom-embedded-preview .invibloom-preview-bar { display:none; }

.hero { position: relative; height: 100svh; min-height: 650px; overflow: hidden; isolation:isolate; background:#dcecf2; }
.hero-poster,.hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-poster { z-index:-3; }
.hero-film { z-index:-2; background:#dcecf2; }
.hero-glow { position:absolute; z-index:-1; inset:0; opacity:0; background:linear-gradient(180deg,transparent 6%,transparent 19%,rgba(255,248,236,.1) 42%,var(--hero-overlay) 100%); transition:opacity 1.1s ease; }
.hero.is-ready .hero-glow { opacity:1; }
.intro-trigger { position:absolute; z-index:5; inset:0; width:100%; border:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:8px; padding:0 20px max(42px,env(safe-area-inset-bottom)); color:var(--ink); background:transparent; cursor:pointer; transition:opacity .5s ease,visibility .5s; }
.intro-trigger.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.intro-kicker { padding:9px 18px; border:1px solid rgba(117,58,68,.22); border-radius:999px; background:rgba(255,246,235,.74); backdrop-filter:blur(8px); font:500 11px/1 var(--font-royal); letter-spacing:.14em; text-transform:uppercase; }
.intro-action { font:500 10px/1 var(--font-ui); letter-spacing:.2em; text-transform:uppercase; animation:pulse 1.8s ease-in-out infinite; }
.hero-copy { position:absolute; z-index:3; inset:7% 12% 39%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; opacity:0; transform:translateY(18px); transition:opacity 1.15s .18s ease,transform 1.15s .18s cubic-bezier(.2,.8,.2,1); }
.hero.is-ready .hero-copy { opacity:1; transform:none; }
.hero-kicker { margin:0 0 10px; font:500 9px/1.5 var(--font-royal); letter-spacing:.18em; text-transform:uppercase; }
.hero h1 { margin:0; display:flex; flex-direction:column; align-items:center; font:400 var(--name-size)/.78 var(--font-script); color:#173b55; text-shadow:0 2px 18px rgba(255,255,255,.82); }
.hero h1 em { margin:5px 0 7px; font:400 18px/1 var(--font-display); color:var(--gold); }
.flourish { margin:14px 0 10px; color:var(--gold); font-size:13px; }
.hero-family { max-width:250px; margin:3px 0; font:500 10px/1.35 var(--font-display); }
.hero-date { margin:16px 0 2px; font:600 12px/1.4 var(--font-royal); letter-spacing:.11em; text-transform:uppercase; }
.hero-venue { max-width:250px; margin:4px 0; font:500 11px/1.35 var(--font-display); }
.hero-scroll { position:absolute; z-index:4; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; display:flex; flex-direction:column; align-items:center; gap:4px; color:var(--ink); text-decoration:none; opacity:0; transform:translate(-50%,8px); transition:opacity .7s 1s ease,transform .7s 1s ease; }
.hero.is-ready .hero-scroll { opacity:.75; transform:translate(-50%,0); }
.hero-scroll span { width:1px; height:23px; background:currentColor; transform-origin:top; animation:scrollLine 1.8s ease-in-out infinite; }
.hero-scroll small { font:500 8px/1 var(--font-ui); letter-spacing:.2em; text-transform:uppercase; }

.section { position:relative; padding:88px 24px; }
.welcome { overflow:hidden; text-align:center; background:radial-gradient(circle at 50% 25%,#fffaf2 0,var(--surface) 57%,#f2d2c2 140%); }
.welcome::before,.welcome::after { content:""; position:absolute; width:180px; height:180px; opacity:.15; border:1px solid var(--gold); transform:rotate(45deg); }
.welcome::before { top:-120px; left:-90px; }.welcome::after { right:-100px; bottom:-120px; }
.eyebrow { margin:0 0 12px; color:var(--accent); font:600 9px/1.5 var(--font-royal); letter-spacing:.22em; text-transform:uppercase; }
.script-title { margin:0; color:#792b40; font:400 48px/.95 var(--font-script); }
.ornament { display:flex; align-items:center; justify-content:center; gap:12px; margin:20px auto; color:var(--gold); }
.ornament i { width:55px; height:1px; background:linear-gradient(90deg,transparent,currentColor); }.ornament i:last-child { transform:scaleX(-1); }
.ornament b { font-size:8px; }
.welcome-copy { max-width:310px; margin:0 auto; font:500 17px/1.65 var(--font-display); }
.date-medallion { position:relative; isolation:isolate; width:184px; height:170px; margin:34px auto; padding:12px 22px 4px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:0; border-radius:0; clip-path:polygon(50% 100%,42% 90%,28% 77%,15% 62%,7% 47%,5% 32%,10% 18%,21% 8%,34% 6%,43% 11%,50% 21%,57% 11%,66% 6%,79% 8%,90% 18%,95% 32%,93% 47%,85% 62%,72% 77%,58% 90%); background:linear-gradient(145deg,#edf8fb,#cce7f1); filter:drop-shadow(0 15px 20px rgba(23,59,85,.16)); cursor:crosshair; touch-action:none; }
.date-medallion > span:not(.date-scratch-hint) { position:relative; z-index:1; font:600 8px/1.2 var(--font-royal); letter-spacing:.18em; text-transform:uppercase; }.date-medallion strong { position:relative; z-index:1; margin:2px 0; color:#24516b; font:500 43px/.9 var(--font-display); }
.date-scratch-canvas { position:absolute; z-index:3; inset:0; width:100%; height:100%; border-radius:0; opacity:1; touch-action:none; transition:opacity .45s ease; }
.date-scratch-hint { position:absolute; z-index:4; inset:47% auto auto 50%; padding:6px 10px; color:#f8fdff; border:1px solid rgba(255,255,255,.58); border-radius:999px; transform:translate(-50%,-50%); background:rgba(35,81,107,.18); font:600 8px/1 var(--font-royal); letter-spacing:.18em; text-transform:uppercase; text-shadow:0 1px 5px rgba(23,59,85,.42); pointer-events:none; transition:opacity .28s ease; }
.date-medallion.is-revealed { cursor:default; }.date-medallion.is-revealed .date-scratch-canvas,.date-medallion.is-revealed .date-scratch-hint { opacity:0; pointer-events:none; }
.countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; max-width:340px; margin:0 auto; }
.countdown div { padding:12px 3px; border-top:1px solid rgba(169,75,94,.26); border-bottom:1px solid rgba(169,75,94,.26); }
.countdown strong,.countdown span { display:block; }.countdown strong { font:500 24px/1 var(--font-display); }.countdown span { margin-top:5px; font:500 7px/1 var(--font-ui); letter-spacing:.14em; text-transform:uppercase; }

.section-heading { text-align:center; margin-bottom:34px; }.section-heading h2 { margin:0; color:#792b40; font:500 40px/1 var(--font-display); }.section-heading > p:last-child:not(.eyebrow) { margin:12px auto 0; max-width:260px; font:400 14px/1.5 var(--font-display); opacity:.7; }
.story { background:linear-gradient(180deg,#f2d5c8,#fff6eb); }
.story-frame { position:relative; width:88%; margin:0 auto 28px; padding:9px; border:1px solid rgba(117,58,68,.28); border-radius:160px 160px 12px 12px; box-shadow:0 24px 60px rgba(103,48,61,.16); background:#f8e9dd; }
.story-frame::before { content:""; position:absolute; inset:-8px 20px auto; height:70px; border:1px solid rgba(199,134,106,.35); border-bottom:0; border-radius:100px 100px 0 0; }
.story-frame img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:150px 150px 7px 7px; }
.story-frame span { position:absolute; inset:9px; border-radius:150px 150px 7px 7px; background:linear-gradient(180deg,transparent 60%,rgba(71,29,41,.2)); pointer-events:none; }
.story-copy { max-width:330px; margin:0 auto; text-align:center; font:400 italic 19px/1.6 var(--font-display); }.hashtag { margin:16px 0 0; text-align:center; color:var(--accent); font:500 11px/1 var(--font-royal); letter-spacing:.12em; }

.events { padding-inline:20px; overflow:hidden; background:linear-gradient(180deg,#f8fcfd,#e7f2f6); }
.events-list { display:grid; gap:72px; }
.event-window-card { position:relative; display:grid; justify-items:center; perspective:1200px; }
.event-window-stage { position:relative; width:min(100%,350px); aspect-ratio:1; transform:translateY(18px) scale(.94); opacity:.72; transition:opacity .7s ease,transform .9s cubic-bezier(.2,.78,.2,1); }
.event-window-card.is-open .event-window-stage { opacity:1; transform:none; }
.event-window-picture { position:absolute; inset:0; overflow:hidden; border:0; border-radius:50%; background:#d9edf4; box-shadow:0 22px 48px rgba(23,59,85,.14); }
.event-window-photo { width:100%; height:100%; object-fit:cover; transform:scale(1.02); transition:transform 1.15s .28s cubic-bezier(.2,.8,.2,1),filter .55s ease; }
.event-window-card.is-open .event-window-photo { transform:scale(1); }
.event-shutters { position:absolute; inset:0; z-index:4; border-radius:50%; pointer-events:none; transform-style:preserve-3d; }
.event-shutter { position:absolute; top:0; bottom:0; width:50.25%; overflow:hidden; background-image:url("../events/event-window-closed.png"); background-repeat:no-repeat; background-size:200% 100%; backface-visibility:hidden; transition:transform 1.2s cubic-bezier(.18,.78,.18,1),opacity .35s .76s ease; box-shadow:0 8px 24px rgba(23,51,74,.16); }
.event-shutter--left { left:0; border-radius:999px 0 0 999px; background-position:left center; transform-origin:left center; }
.event-shutter--right { right:0; border-radius:0 999px 999px 0; background-position:right center; transform-origin:right center; }
.event-window-card.is-open .event-shutter--left { transform:perspective(900px) rotateY(-104deg); opacity:0; }
.event-window-card.is-open .event-shutter--right { transform:perspective(900px) rotateY(104deg); opacity:0; }
.event-content { width:min(92%,330px); margin-top:18px; padding:0 18px 8px; display:flex; flex-direction:column; align-items:center; text-align:center; opacity:0; transform:translateY(18px); transition:opacity .7s .62s ease,transform .7s .62s ease; }
.event-window-card.is-open .event-content { opacity:1; transform:none; }
.event-content h3 { margin:0; color:#24516b; font:500 31px/.98 var(--font-display); }.event-when { margin:10px 0 3px; color:#315d75; font:600 9px/1.35 var(--font-royal); letter-spacing:.06em; text-transform:uppercase; }.event-venue { margin:0; font:500 13px/1.3 var(--font-display); }.event-description { margin:9px auto 0; max-width:280px; font:400 italic 14px/1.42 var(--font-display); opacity:.78; }.evt-map { display:inline-block; margin-top:10px; color:var(--accent); font:600 8px/1 var(--font-ui); letter-spacing:.11em; text-transform:uppercase; text-underline-offset:3px; }

.gallery { background:linear-gradient(180deg,#f4d9c9,#fff5eb); }
.gallery-grid { position:relative; overflow:hidden; width:min(100%,350px); aspect-ratio:1; margin:auto; padding:8px; border:1px solid rgba(64,119,148,.28); border-radius:50%; background:#e6f1f4; box-shadow:0 24px 55px rgba(23,59,85,.14); }.gallery-track { height:100%; display:flex; transition:transform .9s cubic-bezier(.2,.78,.2,1); will-change:transform; }.gallery-item { position:relative; flex:0 0 100%; height:100%; overflow:hidden; aspect-ratio:1; background:#dcecf2; }.gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center 34%; }.gallery-dots { position:absolute; z-index:3; left:50%; bottom:22px; display:flex; gap:7px; padding:7px 9px; border-radius:999px; transform:translateX(-50%); background:rgba(23,59,85,.42); backdrop-filter:blur(7px); }.gallery-dot { width:6px; height:6px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.55); transition:width .3s ease,background .3s ease; }.gallery-dot[aria-current="true"] { width:20px; border-radius:999px; background:#fff; }
.venue { background:#fff8f0; }.venue-card { position:relative; max-width:340px; margin:auto; padding:52px 24px; text-align:center; border:1px solid rgba(169,75,94,.25); background:linear-gradient(150deg,rgba(255,255,255,.65),rgba(244,217,201,.55)); box-shadow:0 20px 50px rgba(91,39,52,.1); }.venue-card::before,.venue-card::after { content:""; position:absolute; inset:8px; border:1px solid rgba(199,134,106,.18); pointer-events:none; }.venue-card::after { inset:14px; }.venue-crown { color:var(--gold); font-size:28px; }.venue-card h3 { margin:12px 0 4px; font:500 28px/1.1 var(--font-display); color:#792b40; }.venue-card p { margin:5px 0; }.venue-date { font:500 10px/1.4 var(--font-royal); letter-spacing:.08em; text-transform:uppercase; }.venue-card a { display:inline-block; margin-top:18px; padding:11px 20px; border:1px solid var(--accent); border-radius:999px; color:var(--accent); font:600 9px/1 var(--font-ui); letter-spacing:.13em; text-decoration:none; text-transform:uppercase; }
.things { background:#f3d7ca; }.things-list { list-style:none; margin:0; padding:0; display:grid; gap:12px; }.thing { padding:20px; display:grid; grid-template-columns:44px 1fr; gap:13px; align-items:start; border-bottom:1px solid rgba(75,37,48,.15); opacity:0; transform:translateX(-20px); transition:.65s ease; }.thing:nth-child(even) { transform:translateX(20px); }.thing.is-visible { opacity:1; transform:none; }.thing-index { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(169,75,94,.35); border-radius:50%; color:var(--accent); font:600 9px/1 var(--font-royal); }.thing h3 { margin:0 0 4px; font:600 16px/1.2 var(--font-display); }.thing p { margin:0; font:400 14px/1.45 var(--font-display); opacity:.75; }
.calendar { text-align:center; background:#fff7ef; }.calendar-actions { display:flex; flex-direction:column; gap:10px; max-width:280px; margin:auto; }.calendar-actions a { padding:14px 20px; border:1px solid var(--accent); border-radius:999px; color:var(--accent); font:600 10px/1 var(--font-ui); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }.calendar-actions a:first-child { color:#fff; background:var(--accent); }
.rsvp { padding:100px 22px; color:#fff6eb; background:radial-gradient(circle at 50% 0,rgba(221,156,130,.35),transparent 36%),var(--rsvp); }.rsvp-inner { text-align:center; }.rsvp .eyebrow { color:#f2c4a9; }.rsvp h2 { margin:0; font:400 48px/.95 var(--font-script); }.rsvp-inner > p:not(.eyebrow) { max-width:300px; margin:16px auto 28px; font:400 16px/1.55 var(--font-display); opacity:.8; }.rsvp-panel { max-width:360px; margin:auto; }.rsvp-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.rsvp-choice { min-height:110px; padding:16px 10px; border:1px solid rgba(255,255,255,.25); border-radius:12px; color:inherit; background:rgba(255,255,255,.06); font-family:inherit; }.rsvp-choice strong,.rsvp-choice span { display:block; }.rsvp-choice strong { font:500 18px/1.2 var(--font-display); }.rsvp-choice span { margin-top:7px; font:400 11px/1.35 var(--font-ui); opacity:.65; }.rsvp-choice:first-child { border-color:#e8b99a; background:rgba(255,255,255,.12); }.rsvp-form { display:grid; gap:10px; }.rsvp-form input { width:100%; padding:13px 15px; border:1px solid rgba(255,255,255,.25); border-radius:10px; color:inherit; background:rgba(255,255,255,.07); font:400 14px/1 var(--font-ui); outline:none; }.rsvp-form input::placeholder { color:rgba(255,255,255,.52); }.rsvp-form button { padding:14px; border:0; border-radius:999px; color:var(--rsvp); background:#f4c4a8; font:600 10px/1 var(--font-ui); letter-spacing:.14em; text-transform:uppercase; }.rsvp-back { margin-top:10px; border:0; color:inherit; background:transparent; font:500 10px/1 var(--font-ui); text-decoration:underline; }
.closing-countdown { overflow:hidden; padding-block:82px 76px; text-align:center; background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.88),transparent 43%),linear-gradient(180deg,#efd0c2,var(--surface)); }
.closing-countdown::before,.closing-countdown::after { content:"✦"; position:absolute; left:50%; color:var(--gold); font-size:10px; transform:translateX(-50%); }.closing-countdown::before { top:28px; }.closing-countdown::after { bottom:25px; }
.closing-countdown .section-heading { margin-bottom:30px; }.closing-countdown .countdown div { padding:16px 3px; background:rgba(255,255,255,.28); }.closing-countdown .countdown strong { color:#792b40; font-size:28px; }
.countdown-signoff { margin:26px 0 0; color:#792b40; font:400 32px/1 var(--font-script); }
footer { padding:54px 20px 90px; text-align:center; color:var(--ink); background:var(--surface); }.footer-mark { color:var(--gold); }.footer-mark + p { margin:12px 0; font:400 32px/1 var(--font-script); }.footer-mark + p + small { font:400 9px/1.4 var(--font-ui); letter-spacing:.12em; text-transform:uppercase; opacity:.6; }.footer-mark + p + small a { color:inherit; }

.music-toggle,.nav-toggle { position:fixed; z-index:85; bottom:max(18px,env(safe-area-inset-bottom)); width:44px; height:44px; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(90,30,46,.86); backdrop-filter:blur(8px); box-shadow:0 9px 25px rgba(55,17,27,.22); }
.music-toggle { right:max(calc(50% - 203px),14px); bottom:max(72px,calc(env(safe-area-inset-bottom) + 72px)); display:flex; align-items:center; justify-content:center; gap:3px; }.music-toggle span { width:2px; height:10px; background:currentColor; }.music-toggle[aria-pressed="true"] span { animation:bars .8s ease-in-out infinite alternate; }.music-toggle[aria-pressed="true"] span:nth-child(2){animation-delay:.2s}.music-toggle[aria-pressed="true"] span:nth-child(3){animation-delay:.4s}
.nav-toggle { right:max(calc(50% - 203px),14px); }.nav-toggle i { position:absolute; left:12px; width:19px; height:1px; background:currentColor; transition:.3s; }.nav-toggle i:first-child { top:17px; }.nav-toggle i:last-child { top:25px; }.nav-toggle[aria-expanded="true"] i:first-child { top:21px; transform:rotate(45deg); }.nav-toggle[aria-expanded="true"] i:last-child { top:21px; transform:rotate(-45deg); }
.nav-panel { position:fixed; z-index:80; right:max(calc(50% - 203px),14px); bottom:72px; width:170px; padding:18px; display:grid; gap:13px; border:1px solid rgba(255,255,255,.3); border-radius:16px; opacity:0; transform:translateY(10px) scale(.96); transform-origin:bottom right; visibility:hidden; background:rgba(90,30,46,.94); backdrop-filter:blur(12px); transition:.3s ease; }.nav-panel.is-open { opacity:1; transform:none; visibility:visible; }.nav-panel a { color:#fff5eb; font:500 10px/1 var(--font-ui); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }

.reveal { opacity:1; transform:none; }.reveal-armed .reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1); }.reveal-armed .reveal.is-visible { opacity:1; transform:none; }

/* Sapphire Courtyard identity overrides. */
.welcome { background:radial-gradient(circle at 50% 20%,#fff 0,var(--surface) 56%,#dcecf2 140%); }
.script-title,.section-heading h2,.date-medallion strong,.venue-card h3,.closing-countdown .countdown strong,.countdown-signoff { color:#24516b; }
.story { background:linear-gradient(180deg,#dcecf2,#f8fcfd); }
.story-frame { border-color:rgba(64,119,148,.28); border-radius:190px 190px 18px 18px; background:#edf6f8; box-shadow:0 24px 60px rgba(23,59,85,.16); }
.story-frame img,.story-frame span { border-radius:180px 180px 10px 10px; }
.gallery { background:linear-gradient(180deg,#dcecf2,#f7fbfc); }
.gallery-grid { border-color:rgba(64,119,148,.3); background:#e6f1f4; box-shadow:0 24px 55px rgba(23,59,85,.14); }
.venue { background:#f8fcfd; }
.venue-card { border-color:rgba(64,119,148,.27); background:linear-gradient(150deg,rgba(255,255,255,.88),rgba(220,236,242,.7)); box-shadow:0 20px 50px rgba(23,59,85,.1); }
.things { background:#dcecf2; }
.calendar { background:#f8fcfd; }
.closing-countdown { background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.92),transparent 43%),linear-gradient(180deg,#dcecf2,var(--surface)); }
.music-toggle,.nav-toggle { background:rgba(23,59,85,.9); }
.nav-panel { background:rgba(16,44,66,.95); }

@keyframes pulse { 50%{opacity:.45;transform:translateY(2px)} }
@keyframes scrollLine { 0%,100%{transform:scaleY(.4);opacity:.3}50%{transform:scaleY(1);opacity:1} }
@keyframes bars { to{height:20px} }

@media (max-width: 460px) { .desktop-stage { display:none; } .mobile-shell { width:100%; box-shadow:none; } .progress { left:0; width:100%; transform:scaleX(0); } .music-toggle,.nav-toggle,.nav-panel { right:14px; } }
@media (max-height:700px) { .hero-copy { inset:4% 12% 37%; }.hero h1 { font-size:50px; }.hero-family { font-size:9px; }.hero-date { margin-top:11px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .event-window-stage { opacity:1; transform:none; }.event-shutters { display:none; }.event-content { opacity:1; transform:none; } }
