/* Fonts — self-hosted from the design bundle */
/* latin */
@font-face {
  font-family: 'Beth Ellen';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/beth-ellen-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/dancing-script-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/dancing-script-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/dancing-script-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/dancing-script-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/vesper-libre-400-devanagari.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/vesper-libre-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/vesper-libre-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/vesper-libre-500-devanagari.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/vesper-libre-500-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/vesper-libre-500-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/vesper-libre-700-devanagari.woff2") format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/vesper-libre-700-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Vesper Libre';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/vesper-libre-700-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Design styles, verbatim from the Claude Design export */
html { scroll-behavior: smooth; }
    #attire-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 900px; margin: 0 auto; padding: 4px; }
    #attire-track > div { box-sizing: border-box; }
    @media (max-width: 640px) {
      #attire-track { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
    }
    html, body { margin: 0; padding: 0; background: #F5F0E9; }
    body { font-family: 'Vesper Libre', Georgia, serif; color: #342B29; -webkit-font-smoothing: antialiased; }
    a { color: #C25859; text-decoration: none; }
    a:hover { color: #9E4344; text-decoration: underline; }
    input, select, textarea, button { font-family: 'Vesper Libre', Georgia, serif; }
    input:focus, select:focus, textarea:focus { outline: 2px solid rgba(231,154,82,0.55); outline-offset: 1px; }
    /* ---- motion system (armed by logic when IO exists & reduced-motion is off) ---- */
    @keyframes jn-hero-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes jn-hero-fade { from { opacity: 0; } to { opacity: 1; } }
    @keyframes jn-hero-art { from { opacity: 0; transform: scale(1.045); } to { opacity: 1; transform: scale(1); } }
    @keyframes jn-gate-out { to { opacity: 0; } }
    @keyframes jn-gate-card-out { to { opacity: 0; transform: translateY(-12px); } }
    html.jn-motion [data-hero], html.jn-motion [data-hero-fade], html.jn-motion [data-hero-art] { opacity: 0; }
    html.jn-motion.jn-hero-go [data-hero-art] { animation: jn-hero-art 2.2s cubic-bezier(.22,.61,.36,1) both; }
    html.jn-motion.jn-hero-go [data-hero] { animation: jn-hero-in 1s cubic-bezier(.22,.61,.36,1) both; }
    html.jn-motion.jn-hero-go [data-hero-fade] { animation: jn-hero-fade 1.2s ease both; animation-delay: 2.1s; }
    html.jn-motion.jn-hero-go [data-hero="1"] { animation-delay: .5s; }
    html.jn-motion.jn-hero-go [data-hero="2"] { animation-delay: .75s; }
    html.jn-motion.jn-hero-go [data-hero="3"] { animation-delay: .9s; }
    html.jn-motion.jn-hero-go [data-hero="4"] { animation-delay: 1.15s; }
    html.jn-motion.jn-hero-go [data-hero="5"] { animation-delay: 1.35s; }
    html.jn-motion.jn-hero-go [data-hero="6"] { animation-delay: 1.45s; }
    html.jn-motion.jn-hero-go [data-hero="7"] { animation-delay: 1.65s; }
    html.jn-motion.jn-hero-go [data-hero="8"] { animation-delay: 1.85s; }
    [data-gate][data-out="1"] { animation: jn-gate-out .75s ease .1s forwards; pointer-events: none; }
    [data-gate][data-out="1"] [data-gate-card] { animation: jn-gate-card-out .6s ease forwards; }
    html.jn-motion [data-reveal] { opacity: 0; transition: opacity .95s cubic-bezier(.22,.61,.36,1), transform .95s cubic-bezier(.22,.61,.36,1); }
    html.jn-motion [data-reveal="up"] { transform: translateY(20px); }
    html.jn-motion [data-reveal="scale"] { transform: scale(.975); }
    html.jn-motion [data-reveal="mask"] { transform: translateY(10px); }
    html.jn-motion [data-reveal="mask"] > * { clip-path: inset(0 0 100% 0 round 6px); transition: clip-path 1.2s cubic-bezier(.22,.61,.36,1); }
    html.jn-motion [data-reveal].is-in { opacity: 1; transform: none; }
    html.jn-motion [data-reveal="mask"].is-in > * { clip-path: inset(0 0 0 0 round 6px); }
    html.jn-motion [data-line] { transform: scaleY(0); transform-origin: 50% 0; transition: transform 1.1s cubic-bezier(.22,.61,.36,1) .35s; }
    html.jn-motion .is-in [data-line] { transform: scaleY(1); }
    html.jn-motion [data-dot] { opacity: 0; transform: scale(.82); transition: opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
    html.jn-motion .is-in [data-dot] { opacity: 1; transform: scale(1); }
    @media (prefers-reduced-motion: reduce) {
      html.jn-motion [data-reveal], html.jn-motion [data-reveal="mask"] > *, html.jn-motion [data-hero], html.jn-motion [data-hero-fade], html.jn-motion [data-hero-art], html.jn-motion [data-line], html.jn-motion [data-dot], [data-gate][data-out="1"], [data-gate][data-out="1"] [data-gate-card] { opacity: 1 !important; transform: none !important; clip-path: none !important; animation: none !important; transition: none !important; }
    }
    /* our story memory reel: mosaic on desktop, full/pair rhythm on small screens */
    @media (max-width: 900px) {
      #story [data-reel] { --g: 6px; }
      #story [data-tile][data-m="full"] { grid-column: span 12 !important; }
      #story [data-tile][data-m="half"] { grid-column: span 6 !important; }
      #story [data-tile][data-ar="p"] { aspect-ratio: 4 / 5 !important; }
      /* stacked: the full portrait frame fits, so centre it again */
      #story img[src$="cp-museum.jpg"], #story img[src$="cp-formal.jpg"] { object-position: 50% 40% !important; }
      #story [data-tile][data-ar="l"] { aspect-ratio: 3 / 2 !important; }
    }
    @media (max-width: 640px) {
      #story { padding-left: 16px !important; padding-right: 16px !important; }
      #story [data-reel] { --g: 5px; }
      #story [data-sec-wrap] { gap: 22px !important; }
      #story [data-story-doodle] { width: 62px !important; opacity: 0.32 !important; right: 0 !important; top: -10px !important; }
    }
    @media (max-width: 760px) {
      #island [data-bwl-lead] { grid-template-columns: minmax(0, 1fr) !important; }
    }
    @media (max-width: 640px) {
      #island { padding: 40px 20px 44px !important; }
      #island [data-sec-wrap] { gap: 26px !important; }
      #island [data-bwl-grid] { gap: 20px !important; }
    }
    /* floating nav: compact state while reading */
    #quick-nav[data-compact="true"] a:not(.nav-rsvp) { display: none; }
    #quick-nav[data-compact="true"] .nav-menu { display: flex !important; }
    #quick-nav[data-compact="true"]:hover a:not(.nav-rsvp), #quick-nav[data-compact="true"]:focus-within a:not(.nav-rsvp) { display: block; }
    #quick-nav[data-compact="true"]:hover .nav-menu, #quick-nav[data-compact="true"]:focus-within .nav-menu { display: none !important; }
    #timeline [data-tl-item]:last-child [data-line] { display: none; }
    /* entourage groups: open grid on desktop, accordion on mobile */
    details[data-ent-group] > summary::-webkit-details-marker { display: none; }
    details[data-ent-group] > summary::marker { content: ""; }
    details[data-ent-group] > summary { pointer-events: none; }
    [data-ent-chev] { display: none !important; }
    details[data-ent-group][data-span="2"] { grid-column: 1 / -1; }
    @media (max-width: 640px) {
      #entourage [data-ent-groups] { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
      details[data-ent-group] { border-top: 1px solid rgba(201,169,120,0.5); padding: 18px 0 4px; }
      details[data-ent-group]:first-of-type { border-top: none; padding-top: 0; }
      details[data-ent-group] > summary { pointer-events: none; }
      #rsvp [data-qr-wrap] { display: none !important; }
    }
    /* ---- mobile (<=640px): dedicated menu + RSVP action, editorial spacing, quieter motion ---- */
    #menu-btn, #rsvp-fab, #menu-panel { display: none; }
    html.jn-menu-open, html.jn-menu-open body { overflow: hidden; }
    html.jn-menu-open #rsvp-fab { opacity: 0 !important; pointer-events: none; }
    @media (max-width: 640px) {
      #quick-nav { display: none !important; }
      #menu-btn, #rsvp-fab { display: flex; }
      #menu-panel { display: flex; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s; }
      #menu-panel[data-open="true"] { opacity: 1; visibility: visible; transition: opacity .35s ease, visibility 0s; }
      #menu-panel [data-menu-inner] { transform: translateY(-10px); transition: transform .45s cubic-bezier(.22,.61,.36,1); }
      #menu-panel[data-open="true"] [data-menu-inner] { transform: none; }
      @media (max-height: 660px) { #menu-panel [data-menu-inner] > a { padding-top: 11px !important; padding-bottom: 11px !important; } #menu-panel [data-menu-inner] > img { width: 44px !important; height: 44px !important; margin-bottom: 10px !important; } }
      #menu-btn [data-bar] { transition: transform .3s cubic-bezier(.22,.61,.36,1), opacity .2s ease; }
      #menu-btn[aria-expanded="true"] [data-bar="1"] { transform: translateY(5.25px) rotate(45deg); }
      #menu-btn[aria-expanded="true"] [data-bar="2"] { opacity: 0; }
      #menu-btn[aria-expanded="true"] [data-bar="3"] { transform: translateY(-5.25px) rotate(-45deg); }
      #rsvp-fab[data-hide="true"] { opacity: 0 !important; pointer-events: none; transform: translateY(10px); }
      /* spacing, per section */
      #top { padding: 40px 20px 36px !important; }
      #top [data-hero-wrap] { gap: 14px !important; }
      #top h1 { font-size: clamp(40px, 14vw, 64px) !important; }
      #top [data-hero="4"] { font-size: 15px !important; }
      #top [data-hero="5"] { font-size: 14px !important; gap: 10px !important; letter-spacing: 0.26em !important; }
      #top [data-hero="7"] { gap: 8px !important; }
      #top [data-hero="7"] > div { width: 62px !important; }
      #top [data-cd-num] { font-size: 22px !important; }
      [data-hero-spacer] { height: 88px !important; }
      #story { padding: 48px 20px 28px !important; }
      #details { padding: 32px 20px 36px !important; }
      #timeline { padding: 40px 20px 34px !important; }
      #attire { padding: 36px 20px 36px !important; }
      #entourage { padding: 36px 16px 36px !important; }
      #gifts { padding: 32px 20px 56px !important; }
      #rsvp { padding: 44px 20px 0 !important; }
      [data-sec-wrap] { gap: 18px !important; }
      [data-sec-head] { margin-bottom: 24px !important; }
      #details [data-cards] { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
      [data-note] { white-space: normal !important; }
      #timeline [data-tl-item] { padding-bottom: 24px !important; }
      #travel [data-route-item] { padding-bottom: 18px !important; }
      #gifts [data-note-card] { padding: 30px 20px !important; }
      #entourage > [data-reveal="fade"] { padding: 30px 18px 26px !important; }
      #entourage [data-sec-head] { margin-bottom: 20px !important; }
      #entourage [data-ent-groups] { gap: 24px !important; }
      #entourage [data-two] { gap: 4px 14px !important; }
      #entourage [data-subs] { gap: 14px !important; }
      #rsvp [data-rsvp-card] { padding: 34px 20px !important; }
      #rsvp [data-rsvp-card] h2 { font-size: 40px !important; }
      /* art-direction pass: stacked compositions */
      #story { padding: 60px 20px 48px !important; }
      #story [data-split] { gap: 22px !important; }
      #details [data-cards] > div > div:last-child { padding: 22px 20px 26px !important; }
      #horizon { height: 220px !important; }
      #timeline { padding: 52px 20px 44px !important; }
      #timeline [data-sec-head] { margin-bottom: 28px !important; }
      #timeline [data-tl-item] { grid-template-columns: 52px minmax(0, 1fr) !important; grid-template-areas: "dot time" "dot body" !important; gap: 2px 14px !important; padding-bottom: 26px !important; }
      #timeline [data-tl-time] { grid-area: time; justify-content: flex-start !important; text-align: left !important; padding-top: 2px !important; }
      #timeline [data-tl-hh] { font-size: 24px !important; }
      #timeline [data-tl-mm] { font-size: 13px !important; }
      #timeline [data-tl-dot] { grid-area: dot; }
      #timeline [data-tl-dot] [data-line] { top: 50px !important; height: calc(100% + 26px - 56px) !important; }
      #timeline [data-tl-body] { border-top: none !important; }
      #timeline [data-tl-dot] > div:first-child { width: 44px !important; height: 44px !important; }
      #timeline [data-tl-body] { grid-area: body; padding-top: 4px !important; border-top: none !important; margin-top: 0 !important; }
      #travel [data-split] { gap: 24px !important; }
      #travel [data-split] > div:last-child { max-width: 300px !important; margin: 0 auto !important; }
      #entourage [data-ent-card] > img { width: 260px !important; height: 260px !important; }
      #travel [data-split] { grid-template-columns: minmax(0, 1fr) !important; }
      #travel [data-comment-anchor="5d914367d0-div"] { width: 100%; box-sizing: border-box; }
      #rsvp { padding: 52px 20px 0 !important; }
      /* asset pass: stacked photo/text, quieter textures */
      [data-callado] { opacity: 0.05 !important; }
      [data-callado-v] { display: none !important; }
      [data-tide="hero"] { opacity: 0.5 !important; bottom: -8vw !important; }
      #travel [data-tide-travel] { top: 110px !important; opacity: 0.38 !important; }
      #details [data-venue] { grid-template-columns: minmax(0, 1fr) !important; }
      #details [data-venue-photo], #details [data-rcp-photo] { min-height: 0 !important; aspect-ratio: 16 / 10; }
      #travel { padding: 0 0 44px !important; }
      #details [data-venue="reception"] [data-rcp-text] { order: 2; }
      #details [data-venue="reception"] [data-rcp-photo] { order: 1; }
      #details [data-venue] > div[data-rcp-text], #details [data-venue="ceremony"] > div:last-child { padding: 26px 22px 28px !important; }
      #destination [data-travel-photo] { height: 250px !important; }
      #travel [data-sec-wrap] { padding: 40px 20px 0 !important; }
      #stay { padding: 40px 20px 44px !important; }
      #stay [data-stay-grid] { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
      #stay [data-stay-grid] > div:first-child { min-height: 0 !important; aspect-ratio: 4 / 3; }
      #stay [data-stay-grid] > div:last-child { grid-template-rows: auto auto !important; gap: 14px !important; }
      #stay [data-stay-grid] > div:last-child > div:first-child { min-height: 0 !important; aspect-ratio: 16 / 9; }
      #rsvp [data-closing] { margin: 44px -20px 0 !important; }
      #rsvp [data-sunset] { height: 240px !important; margin-top: 28px !important; }
      /* quieter motion */
      @keyframes jn-hero-art-m { from { opacity: 0; transform: scale(1.02); } to { opacity: 1; transform: scale(1); } }
      html.jn-motion.jn-hero-go [data-hero-art] { animation-name: jn-hero-art-m; animation-duration: 1.6s; }
      html.jn-motion.jn-hero-go [data-hero] { animation-duration: .8s; }
      html.jn-motion.jn-hero-go [data-hero="1"] { animation-delay: .3s; }
      html.jn-motion.jn-hero-go [data-hero="2"] { animation-delay: .45s; }
      html.jn-motion.jn-hero-go [data-hero="3"] { animation-delay: .55s; }
      html.jn-motion.jn-hero-go [data-hero="4"] { animation-delay: .7s; }
      html.jn-motion.jn-hero-go [data-hero="5"] { animation-delay: .8s; }
      html.jn-motion.jn-hero-go [data-hero="6"] { animation-delay: .85s; }
      html.jn-motion.jn-hero-go [data-hero="7"] { animation-delay: .95s; }
      html.jn-motion.jn-hero-go [data-hero="8"] { animation-delay: 1.05s; }
      html.jn-motion.jn-hero-go [data-hero-fade] { animation-delay: 1.25s; }
      html.jn-motion [data-reveal] { transition-duration: .7s; }
      html.jn-motion [data-reveal="up"] { transform: translateY(14px); }
      html.jn-motion [data-reveal="scale"] { transform: scale(.985); }
      html.jn-motion [data-reveal="mask"] > * { transition-duration: .9s; }
      html.jn-motion [data-line] { transition-duration: .9s; }
    }

/* Hover / focus / active states the export carried as style-* attributes */
.dc-f1:focus { border-bottom: 1px dashed #C25859 !important; }
.dc-h2:hover { background: #C25859 !important; color: #F5F0E9 !important; }
.dc-h3:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; }
.dc-h4:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h5:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h6:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h7:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h8:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h9:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h10:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h11:hover { background: rgba(201,169,120,0.18) !important; color: #C25859 !important; text-decoration: none !important; }
.dc-h12:hover { background: #9E4344 !important; color: #F5F0E9 !important; text-decoration: none !important; }
.dc-a13:active { transform: scale(0.94) !important; }
.dc-a14:active { transform: scale(0.94) !important; background: #9E4344 !important; }
.dc-h15:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h16:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h17:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h18:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h19:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h20:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h21:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h22:hover { color: #C25859 !important; text-decoration: none !important; }
.dc-h23:hover { background: #9E4344 !important; color: #F5F0E9 !important; text-decoration: none !important; }
.dc-a24:active { transform: scale(0.97) !important; }
.dc-h25:hover { background: #C25859 !important; color: #FFF8EF !important; text-decoration: none !important; }
.dc-h26:hover { background: #C25859 !important; color: #FFF8EF !important; text-decoration: none !important; }
.dc-h27:hover { background: #9E4344 !important; color: #F5F0E9 !important; text-decoration: none !important; box-shadow: 0 10px 26px rgba(158,67,68,0.36) !important; transform: translateY(-2px) !important; }
.dc-a28:active { transform: translateY(0) scale(0.98) !important; box-shadow: 0 4px 12px rgba(158,67,68,0.3) !important; }
