:root {
  --ink: #39352f;
  --ink-soft: #625d54;
  --olive: #8b7759;
  --olive-deep: #4d473e;
  --sand: #f0ede5;
  --paper: #fbfaf6;
  --paper-warm: #f3f0e8;
  --gold: #b18b56;
  --gold-light: #d6bc8c;
  --line: rgba(49, 68, 58, .22);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
  --script: 'Italianno', cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); overflow-x: hidden; }
button, a { font: inherit; }
a { color: inherit; }
img, video { display: block; max-width: 100%; }
.grain { pointer-events: none; position: fixed; z-index: 10; inset: 0; opacity: .08; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E"); }
.progress-rail { position: fixed; z-index: 20; top: 50%; right: 18px; width: 2px; height: 92px; background: rgba(255,255,255,.24); transform: translateY(-50%); border-radius: 2px; }
.progress-rail span { display: block; width: 100%; height: 0; background: var(--gold-light); transition: height .15s ease-out; }
.section-dark { color: var(--paper); background: var(--olive-deep); }
.section-paper { background: var(--paper); }
.section-sand { background: var(--sand); }
.section-frame { position: relative; isolation: isolate; }
.section-frame::before { content: ''; position: absolute; z-index: -1; inset: 28px; border: 1px solid var(--line); pointer-events: none; }
.section-index { display: block; margin-bottom: 20px; color: var(--gold); font-size: .67rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.script-heading { margin: 0; color: var(--gold); font-family: var(--script); font-size: clamp(2.8rem, 7vw, 5.2rem); line-height: .8; }
h1, h2, h3, p { margin-top: 0; }
h2 { margin: 6px 0 20px; font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 500; line-height: .96; letter-spacing: -.03em; }
.eyebrow, .label { font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.reveal { opacity: 1; transform: none; transition: opacity .85s ease, transform .85s cubic-bezier(.2,.75,.25,1); }
body.js-ready .reveal { opacity: 0; transform: translateY(24px); }
body.js-ready .reveal.is-visible { opacity: 1; transform: none; }
body.js-ready .detail-card:nth-child(2), body.js-ready .rsvp-card, body.js-ready .payment-card { transition-delay: .14s; }
body.js-ready .detail-card:nth-child(3) { transition-delay: .26s; }

.hero { position: relative; min-height: 100svh; overflow: hidden; display: grid; place-items: center; text-align: center; color: var(--ink); background: radial-gradient(circle at 50% 35%, #ffffff 0%, var(--paper) 67%, var(--sand) 100%); }
.hero::before { content: ''; position: absolute; z-index: 2; inset: 24px; border: 1px solid rgba(177,139,86,.5); }
.hero::after { content: '✦'; position: absolute; z-index: 2; top: 34px; left: 50%; color: var(--gold); font-size: 12px; transform: translateX(-50%); }
.hero-atmosphere { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.hero-atmosphere::before, .hero-atmosphere::after { content: ''; position: absolute; width: 58vw; height: 58vw; border-radius: 50%; filter: blur(12px); opacity: .75; }
.hero-atmosphere::before { top: -28%; left: -17%; background: radial-gradient(circle, rgba(214,188,140,.2) 0%, rgba(214,188,140,.06) 38%, transparent 70%); animation: light-drift 18s ease-in-out infinite alternate; }
.hero-atmosphere::after { right: -20%; bottom: -28%; background: radial-gradient(circle, rgba(126,116,98,.13) 0%, rgba(214,188,140,.06) 42%, transparent 70%); animation: light-drift-reverse 22s ease-in-out infinite alternate; }
.hero-atmosphere span { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 14px rgba(177,139,86,.34); opacity: .58; animation: dust-float 8s ease-in-out infinite; }
.hero-atmosphere span:nth-child(1) { top: 20%; left: 17%; animation-delay: -1.2s; }
.hero-atmosphere span:nth-child(2) { top: 29%; right: 16%; width: 3px; height: 3px; animation-delay: -4.7s; }
.hero-atmosphere span:nth-child(3) { top: 53%; left: 11%; width: 3px; height: 3px; animation-delay: -2.8s; }
.hero-atmosphere span:nth-child(4) { top: 67%; right: 13%; animation-delay: -6.1s; }
.hero-atmosphere span:nth-child(5) { bottom: 20%; left: 24%; width: 4px; height: 4px; animation-delay: -3.4s; }
.hero-atmosphere span:nth-child(6) { bottom: 30%; right: 26%; width: 3px; height: 3px; animation-delay: -7.2s; }
.hero-atmosphere span:nth-child(7) { top: 13%; left: 67%; width: 3px; height: 3px; animation-delay: -5.5s; }
.hero-atmosphere span:nth-child(8) { bottom: 12%; left: 74%; width: 4px; height: 4px; animation-delay: -2s; }
@keyframes light-drift { from { transform: translate3d(-3%, -2%, 0) scale(.95); } to { transform: translate3d(11%, 9%, 0) scale(1.08); } }
@keyframes light-drift-reverse { from { transform: translate3d(4%, 3%, 0) scale(1.05); } to { transform: translate3d(-10%, -8%, 0) scale(.92); } }
@keyframes dust-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(.75); opacity: .25; } 45% { transform: translate3d(9px, -16px, 0) scale(1.15); opacity: .8; } 75% { transform: translate3d(-6px, -27px, 0) scale(.9); opacity: .45; } }
.hero-inner { position: relative; z-index: 1; width: min(740px, 90%); padding: 58px 20px 80px; }
.hero .eyebrow { color: var(--olive); }
.monogram { display: flex; align-items: center; justify-content: center; width: 70px; height: 70px; margin: 28px auto 18px; border: 1px solid var(--gold); border-radius: 50%; color: var(--olive-deep); font-family: var(--serif); font-size: 1.35rem; letter-spacing: -.1em; }
.monogram span { padding: 0 5px; color: #f1dfba; font-family: var(--script); font-size: 1.4em; }
.hero-kicker { color: var(--olive); font-size: .72rem; letter-spacing: .34em; text-indent: .34em; }
.hero h1 { margin: 12px 0; color: var(--olive-deep); font-family: var(--script); font-size: clamp(4.5rem, 14vw, 9.4rem); font-weight: 400; line-height: .75; }
.hero h1 em { display: block; margin: 8px 0 4px; color: var(--gold); font-size: .55em; font-style: normal; }
.hero-rule { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 28px auto 16px; width: min(220px, 55%); color: var(--gold); }
.hero-rule span { height: 1px; flex: 1; background: rgba(177,139,86,.65); }
.hero-rule b { font-size: .7rem; font-weight: 400; }
.hero-date { margin-bottom: 24px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.15rem; letter-spacing: .3em; text-indent: .3em; }
.countdown { margin: 0 auto; width: fit-content; padding: 14px 22px 16px; border-top: 1px solid rgba(177,139,86,.5); border-bottom: 1px solid rgba(177,139,86,.5); }
.countdown > p { margin-bottom: 6px; color: var(--olive); font-family: var(--script); font-size: 1.55rem; line-height: 1; }
.countdown-grid { display: flex; align-items: center; justify-content: center; gap: 10px; }
.countdown-grid div { display: grid; gap: 1px; min-width: 62px; }
.countdown-grid strong { color: var(--olive-deep); font-family: var(--serif); font-size: 2.2rem; font-weight: 500; line-height: 1; }
.countdown-grid strong.tick { animation: timer-tick .55s cubic-bezier(.2,.75,.35,1.2) both; }
.countdown-grid span { color: var(--ink-soft); font-size: .58rem; letter-spacing: .15em; text-transform: uppercase; }
.countdown-grid i { color: var(--gold); font-family: var(--serif); font-size: 1.5rem; font-style: normal; }
.music-control { margin: 24px auto 0; }
.music-control button { display: inline-flex; align-items: center; gap: 9px; padding: 9px 14px; border: 1px solid rgba(177,139,86,.45); border-radius: 999px; color: var(--ink-soft); background: rgba(255,255,255,.28); cursor: pointer; font: inherit; font-size: .58rem; letter-spacing: .08em; transition: color .25s ease, border-color .25s ease, background .25s ease; }
.music-control button:hover, .music-control button[aria-pressed="true"] { border-color: var(--gold); color: var(--olive-deep); background: rgba(255,255,255,.55); }
.music-note { color: var(--gold); font-family: var(--serif); font-size: 1rem; line-height: 1; }
.music-play { color: var(--gold); font-size: .52rem; }
.scroll-cue { position: absolute; bottom: 20px; left: 50%; display: grid; gap: 6px; color: var(--ink-soft); font-size: .62rem; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transform: translateX(-50%); }
.scroll-cue b { color: var(--gold); font-size: 1rem; font-weight: 400; }
@keyframes timer-tick { 0% { opacity: .35; transform: translateY(-3px) scale(.88); color: var(--gold); } 55% { opacity: 1; transform: translateY(0) scale(1.08); color: var(--gold); } 100% { opacity: 1; transform: translateY(0) scale(1); color: var(--olive-deep); } }
.hero-flora { display: none; position: absolute; width: 360px; height: 460px; opacity: .6; background: url('assets/floral-corner.png') center/cover no-repeat; mix-blend-mode: screen; }
.hero-flora--top { top: -150px; left: -165px; transform: rotate(180deg); }
.hero-flora--bottom { right: -160px; bottom: -190px; }

.quote { min-height: 100svh; display: grid; grid-template-columns: minmax(260px, 420px) minmax(320px, 540px); align-items: center; justify-content: center; gap: clamp(38px, 8vw, 110px); padding: 100px 8%; overflow: hidden; }
.section-decoration--left { position: absolute; inset: 0 auto 0 -150px; width: 420px; opacity: .28; background: url('assets/floral-corner.png') center/contain no-repeat; transform: rotate(22deg); }
.quote-image-wrap { position: relative; justify-self: center; width: min(100%, 420px); }
.quote-image-wrap::before { content: ''; position: absolute; z-index: -1; inset: -16px 16px 16px -16px; border: 1px solid var(--gold); }
.quote-image-wrap img { width: 100%; aspect-ratio: .76; object-fit: cover; filter: saturate(.82) contrast(.95); }
.image-stamp { position: absolute; right: -26px; bottom: 28px; display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); background: var(--paper); font-family: var(--serif); font-size: 1.1rem; line-height: .8; text-align: center; transform: rotate(9deg); }
.image-stamp small { font-family: var(--sans); font-size: .48rem; letter-spacing: .18em; }
.quote-copy { position: relative; max-width: 610px; }
.quote-mark { height: 50px; color: var(--gold-light); font-family: var(--serif); font-size: 6rem; line-height: .9; }
blockquote { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.65rem, 3.1vw, 2.45rem); line-height: 1.1; }
.signature { margin: 30px 0 0; color: var(--olive); font-family: var(--script); font-size: 2.3rem; line-height: .8; }
.mini-date { margin: 8px 0 0; color: var(--gold); font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; }

.intro { position: relative; min-height: 82svh; display: grid; place-items: center; overflow: hidden; text-align: center; background: radial-gradient(circle at 91% 10%, rgba(177,139,86,.1), transparent 27%), radial-gradient(circle at 8% 86%, rgba(125,116,98,.08), transparent 24%), var(--sand); }
.intro::before { content: ''; position: absolute; inset: 42px; border: 1px solid rgba(49,68,58,.18); }
.corner-botanical { display: none; }
.intro-copy { position: relative; z-index: 1; padding: 100px 24px; }
.intro-copy h2 { margin: 14px 0 26px; color: var(--olive-deep); font-family: var(--script); font-size: clamp(4rem, 10vw, 8rem); font-weight: 400; line-height: .7; }
.thin-rule { width: 70px; height: 1px; margin: 0 auto 28px; background: var(--gold); }
.body-large { margin-bottom: 14px; color: var(--ink-soft); font-family: var(--serif); font-size: clamp(1.35rem, 2.5vw, 1.9rem); line-height: 1.18; }
.heart-line { margin: 30px 0 0; color: var(--olive-deep); font-family: var(--serif); font-size: 1.3rem; }
.heart-line span, .gift-copy span, .save-copy h2 span, .closing-copy .mini-date span { color: #9b6b57; }

.details { position: relative; padding: 120px 8% 105px; overflow: hidden; text-align: center; }
.details-art { position: absolute; inset: 0; z-index: 0; opacity: .15; background: url('assets/olive-frame.png') center/cover no-repeat; mix-blend-mode: multiply; }
.section-heading, .detail-grid, .arrival-note { position: relative; z-index: 1; }
.section-heading { max-width: 700px; margin: 0 auto 52px; text-align: center; }
.section-heading h2 { color: var(--olive-deep); }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; gap: 18px; }
.detail-card { display: grid; justify-items: center; min-height: 300px; padding: 38px 28px; border: 1px solid rgba(177,139,86,.65); background: rgba(245,242,236,.72); }
.detail-icon { color: var(--gold); font-family: var(--serif); font-size: 2.2rem; }
.detail-card .label { margin: 2px 0 14px; color: var(--gold); }
.detail-card h3 { margin: 0 0 14px; color: var(--olive-deep); font-family: var(--serif); font-size: 1.8rem; font-weight: 500; line-height: 1.03; }
.detail-card p:not(.label) { margin-bottom: 18px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.05rem; line-height: 1.2; }
.text-link { margin-top: auto; color: var(--olive); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.text-link span { color: var(--gold); font-size: 1.1rem; }
.arrival-note { margin-top: 38px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.25rem; }
.arrival-note span { margin-right: 8px; color: var(--gold); font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }

.dress { position: relative; min-height: 84svh; display: grid; place-items: center; overflow: hidden; text-align: center; background: linear-gradient(rgba(77,71,62,.9), rgba(57,53,47,.94)), url('assets/santiago-damaris-candid.png') center/cover; background-blend-mode: multiply; }
.dress::before { content: ''; position: absolute; inset: 26px; border: 1px solid rgba(214,188,140,.3); }
.dress-copy { position: relative; z-index: 1; padding: 100px 24px; }
.dress .script-heading { color: var(--gold-light); }
.dress h2 { margin: 12px 0 18px; color: var(--paper); font-family: var(--script); font-size: clamp(4.5rem, 11vw, 8rem); font-weight: 400; line-height: .7; }
.dress-stars { margin-bottom: 25px; color: var(--gold-light); letter-spacing: .65em; text-indent: .65em; }
.dress-copy > p:not(.script-heading):not(.section-index) { color: rgba(245,242,236,.85); font-family: var(--serif); font-size: 1.5rem; line-height: 1.1; }
.dress-copy strong { color: var(--gold-light); font-weight: 500; }
.dance-icons { margin-top: 28px; color: var(--gold-light); font-family: var(--serif); font-size: 2rem; letter-spacing: .18em; }
.dress-ornament { display: none; position: absolute; width: 340px; height: 400px; opacity: .35; background: url('assets/floral-corner.png') center/contain no-repeat; }
.dress-ornament--one { top: -160px; left: -100px; transform: rotate(90deg); }
.dress-ornament--two { right: -120px; bottom: -160px; transform: rotate(-90deg); }

.rsvp { padding: 120px 8% 110px; }
.subheading { color: var(--ink-soft); font-family: var(--serif); font-size: 1.25rem; }
.rsvp-layout { display: grid; grid-template-columns: minmax(260px, 430px) minmax(220px, 320px); justify-content: center; gap: 20px; }
.rsvp-card, .payment-card { padding: 42px 30px; text-align: center; }
.rsvp-card { border: 1px solid var(--olive); background: var(--paper); }
.envelope-mark { color: var(--gold); font-size: 2rem; }
.rsvp-card p { margin: 16px 0 4px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.15rem; }
.rsvp-card strong { display: block; color: var(--olive-deep); font-family: var(--serif); font-size: 2.2rem; font-weight: 500; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; margin-top: 28px; padding: 14px 20px; border: 1px solid transparent; cursor: pointer; font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: transform .25s ease, background .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: var(--paper); background: var(--olive-deep); }
.button-light { color: var(--ink); background: var(--paper); border-color: var(--gold-light); }
.button span { color: var(--gold-light); font-size: 1.05rem; }
.payment-card { display: grid; align-content: center; justify-items: center; border: 1px solid rgba(177,139,86,.7); background: rgba(245,242,236,.4); }
.payment-card .label { margin-bottom: 10px; color: var(--gold); }
.payment-card h3 { margin: 0; color: var(--olive-deep); font-family: var(--serif); font-size: 3rem; font-weight: 500; }
.payment-line { width: 70px; height: 1px; margin: 20px 0; background: var(--gold); }
.payment-card p:last-child { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.1rem; line-height: 1.2; }
.payment-card p:last-child strong { color: var(--olive-deep); font-weight: 600; }

.gift { position: relative; min-height: 88svh; display: grid; place-items: center; overflow: hidden; padding: 120px 8%; text-align: center; }
.gift-frame { position: absolute; inset: 0; opacity: .33; background: url('assets/olive-frame.png') center/cover no-repeat; mix-blend-mode: multiply; }
.gift-copy { position: relative; z-index: 1; max-width: 680px; }
.house-icon { margin: 0 auto 13px; color: var(--gold); font-family: var(--serif); font-size: 3rem; }
.gift h2 { color: var(--olive-deep); }
.gift-copy > p:not(.script-heading):not(.section-index):not(.gift-note) { color: var(--ink-soft); font-family: var(--serif); font-size: 1.4rem; line-height: 1.15; }
.alias-box { display: inline-grid; position: relative; gap: 5px; min-width: 260px; margin: 30px 0 20px; padding: 17px 62px 17px 28px; border: 1px solid var(--gold); background: rgba(245,242,236,.6); text-align: left; }
.alias-box span { color: var(--gold); font-family: var(--sans); font-size: .61rem; font-weight: 700; letter-spacing: .2em; }
.alias-box strong { color: var(--olive-deep); font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.copy-button { position: absolute; right: 13px; top: 50%; padding: 5px; border: 0; color: var(--gold); background: transparent; cursor: pointer; font-size: .6rem; letter-spacing: .07em; text-transform: uppercase; }
.gift-note { color: var(--olive); font-family: var(--serif); font-size: 1.2rem; line-height: 1.15; }

.save-date { position: relative; min-height: 76svh; display: grid; place-items: center; overflow: hidden; text-align: center; background: #5b5448; }
.save-date::before { content: ''; position: absolute; inset: 28px; border: 1px solid rgba(214,188,140,.4); }
.save-flora { display: none; position: absolute; inset: 0; opacity: .35; background: url('assets/floral-corner.png') right bottom/540px auto no-repeat; }
.save-copy { position: relative; z-index: 1; padding: 110px 24px; }
.save-copy h2 { margin: 14px 0 22px; color: var(--paper); font-family: var(--serif); font-size: clamp(2.6rem, 6vw, 5rem); letter-spacing: .02em; }
.save-copy > p:not(.script-heading):not(.section-index) { color: rgba(245,242,236,.85); font-family: var(--serif); font-size: 1.45rem; line-height: 1.05; }
.calendar-feedback { display: block; min-height: 1.2em; margin-top: 12px; color: var(--gold-light); font-size: .75rem; }

.closing { position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(260px, 480px) minmax(300px, 540px); justify-content: center; align-items: center; gap: clamp(45px, 8vw, 120px); padding: 120px 8%; overflow: hidden; background: linear-gradient(rgba(251,250,246,.82), rgba(251,250,246,.82)), url('assets/paper-frame.png') center / cover no-repeat; background-blend-mode: normal; }
.closing-flower { display: none; }
.closing-image-wrap { position: relative; width: min(100%, 420px); }
.closing-image-wrap::after { content: ''; position: absolute; z-index: -1; inset: 20px -18px -20px 18px; border: 1px solid var(--gold); }
.closing-image-wrap img { width: 100%; aspect-ratio: .8; object-fit: cover; filter: saturate(.9); }
.closing-copy { position: relative; max-width: 540px; }
.closing-copy h2 { margin-top: 10px; color: var(--olive-deep); font-family: var(--serif); font-size: clamp(2.1rem, 4.2vw, 3.55rem); line-height: 1; }
.closing-signature { margin-top: 36px; color: var(--olive); font-family: var(--script); font-size: clamp(3rem, 7vw, 5rem); line-height: .75; }
.closing-signature span { color: var(--gold); }

.footer { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 30px 8%; color: rgba(245,242,236,.68); font-size: .68rem; letter-spacing: .04em; text-align: center; }
.footer p { margin: 0; }
.developer-credit { margin-top: 34px !important; color: rgba(245,242,236,.3); font-family: var(--sans); font-size: .45rem; font-weight: 400; letter-spacing: .06em; line-height: 1.2; }
.developer-credit span, .developer-credit a { display: block; }
.developer-credit a { margin-top: 4px; }
.developer-credit a { color: rgba(214,180,120,.62); font-family: inherit; font-size: inherit; letter-spacing: inherit; text-decoration: none; transition: color .25s ease; }
.developer-credit a:hover { color: var(--paper); }
.footer a { color: var(--gold-light); font-family: var(--serif); font-size: 1.2rem; text-decoration: none; }
.footer a span { margin-left: 10px; font-family: var(--sans); font-size: .9rem; }

@media (max-width: 760px) {
  .progress-rail { right: 8px; height: 64px; }
  .section-frame::before { inset: 16px; }
  .hero::before, .dress::before, .save-date::before { inset: 16px; }
  .hero-inner { padding-top: 72px; }
  .hero h1 { font-size: clamp(4.3rem, 19vw, 7rem); }
  .quote, .closing { grid-template-columns: 1fr; gap: 58px; padding: 90px 11%; }
  .quote { min-height: auto; }
  .quote-copy { text-align: center; }
  .quote-copy .section-index { text-align: left; }
  .quote-mark { font-size: 5rem; }
  .quote-image-wrap { width: min(82vw, 350px); }
  .section-decoration--left { left: -220px; }
  .intro::before { inset: 20px; }
  .details, .rsvp, .gift { padding: 90px 9%; }
  .detail-grid, .rsvp-layout { grid-template-columns: 1fr; }
  .detail-card { min-height: 260px; }
  .payment-card { min-height: 220px; }
  .closing { padding-top: 100px; padding-bottom: 100px; }
  .closing-copy { text-align: center; }
  .closing-copy .section-index { text-align: left; }
  .closing-image-wrap { width: min(82vw, 350px); justify-self: center; }
  .footer { align-items: center; }
  .desktop-only { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
