@font-face {
  font-family: "Bodoni Moda Local";
  src: url("/fonts/bodoni-moda-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Frank Ruhl Libre Local";
  src: url("/fonts/frank-ruhl-variable-hebrew.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Frank Ruhl Libre Local";
  src: url("/fonts/frank-ruhl-variable-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  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;
}

@font-face {
  font-family:"Allura Local";
  src:url("/fonts/allura-latin.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:"Cormorant SC Local";
  src:url("/fonts/cormorant-sc-latin.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root {
  --ivory: #f4efe7;
  --paper: #fbf8f2;
  --ink: #241b18;
  --muted: #776a62;
  --garnet: #7f1d2d;
  --gold: #ad8750;
  --line: rgba(51, 38, 32, 0.18);
  --shadow: 0 40px 90px rgba(56, 38, 28, 0.18);
  --serif: "Frank Ruhl Libre Local", "Arial Hebrew", serif;
  --roman: "Bodoni Moda Local", "Didot", "Bodoni 72", Georgia, serif;
  --script: "Allura Local", "Snell Roundhand", cursive;
  --small-caps: "Cormorant SC Local", "Times New Roman", serif;
  --sans: "Frank Ruhl Libre Local", "Arial Hebrew", serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--ivory); }
body { margin: 0; color: var(--ink); background: var(--ivory); font-family: var(--sans); font-size: 18px; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .13; z-index: 20; 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='.25'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid #d8a66b; outline-offset: 4px; }
.scroll-progress { position: fixed; inset: 0 auto 0 0; width: 3px; background: rgba(127,29,45,.1); z-index: 60; }
.scroll-progress span { display: block; width: 100%; height: 0; background: var(--garnet); }
.topbar { position: fixed; top: 0; inset-inline: 0; height: 78px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(20px, 4vw, 64px); z-index: 50; color: var(--ink); background: linear-gradient(to bottom, rgba(250,247,241,.88), rgba(250,247,241,0)); }
.monogram { justify-self:start; text-decoration:none; font:400 32px/.8 var(--script); letter-spacing:.01em; transform:translateY(1px); }
.monogram span { color:#a97b49; font:inherit; margin:0 .06em; }
.topbar nav { display: flex; gap: 28px; font-size: 15px; }
.topbar nav a { text-decoration: none; }
.language { justify-self:end; color:inherit; border:0; background:transparent; cursor:pointer; padding:10px; display:inline-flex; align-items:center; gap:5px; direction:ltr; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; font-size:13px; font-weight:600; line-height:1; }
.language span { height:22px; display:inline-flex; align-items:center; justify-content:center; opacity:.52; border-bottom:1px solid transparent; }
.language span:not([aria-hidden]) { min-width:22px; }
.language .language-active { opacity:1; border-bottom-color:currentColor; }
.hero { min-height: 100svh; position: relative; overflow: hidden; background: #f6f0e7; isolation: isolate; }
.hero-paper { position:absolute; inset:0; z-index:-6; background:
  radial-gradient(circle at 19% 35%, rgba(255,255,255,.94), transparent 38%),
  linear-gradient(115deg, #f9f5ee 0 49%, #eee3d5 49.1% 100%); }
.hero-paper::after { content:""; position:absolute; inset:0; opacity:.16; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); mix-blend-mode:multiply; }
.hero::before { content:""; position:absolute; inset:clamp(90px,10vh,125px) auto clamp(55px,7vh,85px) clamp(42px,5vw,82px); width:min(42vw,610px); border:1px solid rgba(105,77,56,.2); z-index:-1; }
.hero::after { content:""; position:absolute; width:1px; height:18vh; top:0; left:25%; background:linear-gradient(transparent, rgba(126,91,65,.22)); }
.hero-arch { position:absolute; z-index:-2; top:7vh; bottom:-7vh; right:4.5vw; width:min(48vw,760px); padding:12px; border:1px solid rgba(89,63,43,.28); border-radius:48% 48% 0 0 / 25% 25% 0 0; box-shadow:0 45px 100px rgba(67,42,26,.22); overflow:hidden; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -2.5vh),0) scale(calc(1 + var(--hero-progress,0) * .055)); will-change:transform,translate; animation:heroArchIn 1.4s cubic-bezier(.2,.75,.25,1) both; }
.hero-arch-image { position:absolute; inset:12px; border-radius:48% 48% 0 0 / 25% 25% 0 0; background:url('/generated/hero-jaffa-paper-arch.webp') center 60%/cover; filter:saturate(.72) sepia(.08) contrast(.98); transform:scale(1.025); }
.hero-arch-image::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,rgba(79,47,27,.11),transparent 42%),linear-gradient(to top,rgba(66,37,24,.28),transparent 35%); }
.hero-arch-glow { position:absolute; inset:12px; border-radius:48% 48% 0 0 / 25% 25% 0 0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.54), inset 0 0 70px rgba(255,248,230,.24); }
.hero-emboss { position:absolute; z-index:-3; width:520px; aspect-ratio:1.15; background:url('/generated/botanical-corner-parallax.webp') center/contain no-repeat; filter:grayscale(1) sepia(.5) brightness(1.75) contrast(.7); opacity:.13; mix-blend-mode:multiply; transform:translate3d(var(--pointer-x,0),var(--pointer-y,0),0); }
.hero-emboss-one { left:-120px; top:-90px; rotate:180deg; }
.hero-emboss-two { left:26vw; bottom:-230px; rotate:-22deg; }
.hero-botanical { position:absolute; z-index:1; height:auto; pointer-events:none; transform:translate3d(var(--pointer-x,0),var(--pointer-y,0),0); will-change:transform,translate; filter:drop-shadow(0 20px 24px rgba(72,37,24,.2)); }
.hero-botanical-back { width:min(30vw,500px); right:31vw; top:-9vw; opacity:calc(.82 - var(--hero-progress,0) * .42); rotate:174deg; z-index:-1; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -72px),0) rotate(calc(var(--hero-progress,0) * -4deg)); }
.hero-botanical-front { width:min(31vw,510px); right:-5vw; bottom:-3vw; z-index:2; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -128px),0) rotate(calc(var(--hero-progress,0) * 5deg)); animation:botanicalIn 1.3s .2s cubic-bezier(.2,.75,.25,1) both; }
.hero-copy { position:absolute; z-index:3; top:50%; left:clamp(72px,10vw,170px); width:min(34vw,520px); transform:translateY(calc(-47% - var(--hero-progress,0) * 64px)) scale(calc(1 - var(--hero-progress,0) * .045)); opacity:calc(1 - var(--hero-progress,0) * .88); color:var(--ink); text-align:center; animation:copyIn 1.05s .18s cubic-bezier(.2,.75,.25,1) both; will-change:transform,opacity; }
.eyebrow { margin:0 0 18px; text-transform:uppercase; letter-spacing:.19em; font-size:13px; font-weight:600; }
.hero .eyebrow { color:#775d4a; }
.hero h1 { margin:0; font:400 clamp(70px,8vw,128px)/.72 var(--roman); letter-spacing:.04em; }
.hero h1 span { display:block; white-space:nowrap; }
.hero h1 i { display:block; margin:.08em 0 .04em; color:var(--garnet); font:italic .39em/1 var(--roman); letter-spacing:0; }
.hero-rule { display:flex; align-items:center; justify-content:center; gap:9px; width:130px; margin:28px auto 20px; }
.hero-rule::before,.hero-rule::after { content:""; height:1px; flex:1; background:rgba(69,45,34,.38); }
.hero-rule i { width:8px; height:8px; background:var(--ink); rotate:45deg; }
.hero-date { margin:0; font:28px var(--roman); letter-spacing:.25em; direction:ltr; unicode-bidi:isolate; }
.hero-venue { margin:11px 0 30px; color:#78675c; font-size:16px; letter-spacing:.08em; }
.soft-button, .primary-button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; border:1px solid currentColor; padding:13px 24px; text-decoration:none; cursor:pointer; background:transparent; color:inherit; transition:.25s ease; }
.hero .soft-button { position:relative; min-width:205px; border-color:rgba(57,39,31,.52); overflow:hidden; }
.hero .soft-button::before { content:""; position:absolute; inset:0; background:var(--ink); transform:translateY(101%); transition:transform .3s ease; z-index:-1; }
.hero .soft-button:hover { color:var(--paper); }
.hero .soft-button:hover::before { transform:none; }
.hero-seal { position:absolute; z-index:4; right:43vw; bottom:10vh; width:92px; aspect-ratio:1; border-radius:50%; display:flex; align-items:center; justify-content:center; gap:3px; color:#6d1827; font:20px var(--roman); background:radial-gradient(circle at 38% 32%,#b76570,#8b2638 48%,#651324 100%); color:#f2d9bd; box-shadow:0 14px 30px rgba(58,24,25,.28),inset 0 0 0 5px rgba(98,19,35,.35),inset 0 0 0 6px rgba(239,190,151,.28); rotate:calc(-9deg + var(--hero-progress,0) * 8deg); transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -88px),0); }
.hero-seal::after { content:""; position:absolute; inset:13px; border:1px solid rgba(245,215,185,.65); border-radius:50%; }
.hero-seal i { font-style:italic; font-size:.8em; opacity:.8; }
.scroll-cue { position:absolute; z-index:4; bottom:25px; left:25%; transform:translateX(-50%); color:#78675c; font-size:13px; letter-spacing:.12em; }
.scroll-cue::after { content:""; width:1px; height:40px; display:block; background:linear-gradient(#9a806d,transparent); margin:10px auto -25px; animation:pulse 2s infinite; }
@keyframes heroArchIn { from{opacity:0; clip-path:inset(12% 0 0)} to{opacity:1; clip-path:inset(0)} }
@keyframes copyIn { from{filter:blur(8px)} to{filter:none} }
@keyframes botanicalIn { from{opacity:0} to{opacity:1} }
@keyframes pulse { 0%,100%{ transform:scaleY(.35); transform-origin:top; opacity:.4 } 50%{transform:scaleY(1); opacity:1} }
.countdown { padding: 100px 24px 120px; text-align: center; background: var(--paper); }
.countdown-grid { display: grid; grid-template-columns: repeat(4, minmax(100px, 160px)); justify-content: center; gap: clamp(6px, 2vw, 28px); direction: ltr; }
.countdown-grid div { border-inline-end: 1px solid var(--line); padding: 12px; }
.countdown-grid div:last-child { border: 0; }
.countdown-grid strong { display: block; font: 400 clamp(44px, 7vw, 82px)/1 var(--roman); font-variant-numeric: tabular-nums; }
.countdown-grid span { display: block; margin-top: 10px; color: var(--muted); font-size: 15px; }
.story { --scene-progress:0; position:relative; padding:clamp(90px,12vw,180px) clamp(24px,8vw,140px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,10vw,160px); background:linear-gradient(120deg,#e9e0d5,#f7f2eb 42%,#ded1c3); overflow:hidden; }
.story::before { content:""; position:absolute; width:min(42vw,620px); aspect-ratio:1.15; left:-16vw; bottom:-24vw; background:url('/generated/botanical-corner-parallax.webp') center/contain no-repeat; opacity:.075; filter:grayscale(1) sepia(.5); transform:translateY(calc((1 - var(--scene-progress)) * 90px)) rotate(-18deg); }
.story-intro { position: sticky; top: 130px; align-self: start; }
.story h2, .location-panel h2, .gift-heading h2 { font: 400 clamp(45px, 6vw, 82px)/1.04 var(--serif); letter-spacing: -.04em; margin: 0 0 26px; }
.story-intro > p:last-child, .location-panel p, .gift-heading > p:last-child { color: var(--muted); line-height: 1.7; max-width: 620px; }
.timeline { border-top: 1px solid var(--line); }
.timeline-item { --item-progress:0; display:grid; grid-template-columns:100px 30px 1fr; gap:20px; padding:52px 0; border-bottom:1px solid var(--line); align-items:start; }
.timeline-item time { font: 29px var(--roman); }
.timeline-item > span { width:8px; height:8px; border:1px solid var(--garnet); transform:rotate(45deg) scale(calc(.55 + var(--item-progress) * .45)); background:color-mix(in srgb,var(--garnet) calc(var(--item-progress) * 100%),transparent); margin-top:13px; box-shadow:0 0 calc(var(--item-progress) * 26px) rgba(127,29,45,.35); }
.timeline-item > div { transform:translateX(calc((1 - var(--item-progress)) * 28px)); opacity:calc(.42 + var(--item-progress) * .58); }
.timeline-item h3 { font: 400 31px var(--serif); margin: 0 0 7px; }
.timeline-item p { margin: 0; color: var(--muted); }
.timeline-item .timeline-note { display:inline-block; margin-top:14px; padding:7px 11px; color:var(--garnet); background:rgba(127,29,45,.07); border-inline-start:2px solid var(--garnet); font-size:14px; font-weight:600; }
.location-panel { --scene-progress:0; margin:0; padding:clamp(70px,10vw,140px) clamp(24px,10vw,160px); min-height:82vh; display:grid; grid-template-columns:1fr .6fr; align-items:end; gap:50px; color:white; background:linear-gradient(110deg,rgba(28,20,18,.76),rgba(40,28,24,.15)),url('/generated/hero-jaffa-paper-arch.webp') center calc(82% - var(--scene-progress) * 12%)/cover; clip-path:inset(calc((1 - var(--scene-progress)) * 6%) calc((1 - var(--scene-progress)) * 3%) round calc((1 - var(--scene-progress)) * 60px)); }
.location-panel p { color: rgba(255,255,255,.76); }
.location-actions { padding: 30px; border: 1px solid rgba(255,255,255,.35); backdrop-filter: blur(8px); background: rgba(30,20,18,.28); }
.location-actions .primary-button { width: 100%; background: var(--paper); color: var(--ink); border-color: var(--paper); }
.location-actions p { font-size: 15px; text-align: center; margin: 12px 0 0; }
.gift-section { padding: clamp(90px, 12vw, 170px) 24px; background: var(--ivory); position: relative; overflow:hidden; }
.gift-section::after { content:""; position:absolute; z-index:0; width:min(44vw,620px); aspect-ratio:1.1; inset:auto -8vw 0 auto; background:url('/generated/botanical-corner-parallax.webp') center/contain no-repeat; opacity:.16; pointer-events:none; }
.gift-heading, .gift-card { position:relative; z-index:1; }
.gift-heading { max-width: 900px; margin: 0 auto 60px; text-align: center; }
.gift-heading h2 { max-width: 900px; }
.gift-heading > p:last-child { margin-inline: auto; }
.gift-card { --card-progress:0; max-width:760px; margin:auto; padding:clamp(28px,5vw,64px); background:var(--paper); box-shadow:0 calc(16px + var(--card-progress) * 30px) calc(45px + var(--card-progress) * 60px) rgba(71,45,32,.15); border:1px solid rgba(130,101,79,.2); position:relative; transform:perspective(1100px) rotateX(calc((1 - var(--card-progress)) * 5deg)) translateY(calc((1 - var(--card-progress)) * 38px)) scale(calc(.97 + var(--card-progress) * .03)); transform-origin:top center; }
.gift-card::before, .gift-card::after { content:""; position:absolute; width:72px; height:72px; border-color: rgba(127,29,45,.25); }
.gift-card::before { inset:14px auto auto 14px; border-top:1px solid; border-left:1px solid; }
.gift-card::after { inset:auto 14px 14px auto; border-bottom:1px solid; border-right:1px solid; }
.gift-steps { display:flex; align-items:center; justify-content:center; direction:ltr; margin-bottom:46px; }
.gift-steps span { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); font-size:14px; transition:.25s; }
.gift-steps span.active { border-color:var(--garnet); background:var(--garnet); color:white; }
.gift-steps i { width:70px; height:1px; background:var(--line); }
.form-step { display:none; animation: lift .4s ease; }
.form-step.active { display:block; }
@keyframes lift { from{opacity:0; transform:translateY(9px)} to{opacity:1; transform:none} }
label, legend { display:block; font-weight:600; margin: 0 0 9px; }
input, textarea { width:100%; color:var(--ink); background:transparent; border:0; border-bottom:1px solid #bdb0a3; padding:13px 2px; margin-bottom:28px; outline:0; border-radius:0; }
textarea { border:1px solid #cfc4b8; padding:16px; resize:vertical; min-height:165px; line-height:1.6; }
input:focus, textarea:focus { border-color:var(--garnet); box-shadow:0 1px 0 var(--garnet); }
fieldset { border:0; padding:0; margin:0 0 30px; }
.choice-grid { display:grid; gap:12px; }
.choice-grid.two { grid-template-columns:1fr 1fr; }
.choice-grid.payment-methods { grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); }
.choice-grid label { margin:0; }
.choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.choice-grid span { display:grid; place-items:center; min-height:56px; border:1px solid #cfc4b8; cursor:pointer; transition:.2s; font-weight:400; }
.choice-grid input:checked + span { border-color:var(--garnet); color:var(--garnet); box-shadow:inset 0 0 0 1px var(--garnet); }
.choice-grid input:focus-visible + span { outline:3px solid #d8a66b; outline-offset:3px; }
.amount-wrap { display:flex; align-items:center; direction:ltr; border-bottom:1px solid #bdb0a3; margin-bottom:24px; }
.amount-wrap input { margin:0; border:0; text-align:start; }
.draft-line { color:var(--muted); font-size:14px; margin:-12px 0 25px; display:flex; align-items:center; gap:8px; }
.draft-dot { width:7px; height:7px; border-radius:50%; background:#6f7b5e; }
.primary-button { width:100%; background:var(--garnet); color:white; border-color:var(--garnet); font-weight:600; }
.primary-button:hover { background:#671724; }
.primary-button:disabled { opacity:.45; cursor:not-allowed; }
.text-button, .note-only { border:0; background:transparent; color:var(--ink); text-decoration:underline; text-underline-offset:5px; cursor:pointer; padding:14px; }
.note-only { display:block; margin:12px auto 0; color:var(--muted); }
.button-row { display:grid; grid-template-columns:120px 1fr; gap:12px; align-items:center; }
.honest-note { color:var(--muted); background:#f0ebe4; padding:15px; font-size:14px; line-height:1.6; }
.form-error { color:#9b1c31; margin:-12px 0 20px; font-size:15px; font-weight:600; }
.warning-link { color:#9b1c31; }
.privacy-note { color:var(--muted); border-top:1px solid var(--line); margin:34px 0 0; padding-top:18px; font-size:13px; line-height:1.5; text-align:center; }
.return-mark { width:62px; height:62px; margin:0 auto 24px; border:1px solid var(--garnet); color:var(--garnet); display:grid; place-items:center; border-radius:50%; font:30px var(--roman); }
.form-step[data-step="3"], .gift-success { text-align:center; }
.form-step[data-step="3"] h3, .gift-success h3 { font:400 42px var(--serif); margin:0 0 12px; }
.gift-success p { color:var(--muted); line-height:1.6; }
.honeypot { position:absolute !important; left:-10000px !important; }
.families { padding:90px 24px; background:var(--paper); text-align:center; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.families > p { grid-column:1/-1; font:italic 30px var(--roman); }
.families span, .families strong { display:block; }
.families span { color:var(--muted); font-size:14px; }
.families strong { margin-top:7px; font:400 25px var(--serif); }
footer { display:flex; justify-content:space-between; padding:34px clamp(24px,5vw,70px); background:#241b18; color:#e9dfd3; font:16px var(--roman); }
[lang="en"] { --serif: "Bodoni Moda Local", "Didot", "Bodoni 72", Georgia, serif; }
.has-scrolled .topbar { background:rgba(250,247,241,.84); backdrop-filter:blur(16px); border-bottom:1px solid rgba(74,52,39,.1); }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; }
.story .reveal.visible, .countdown .reveal.visible, .location-panel.reveal.visible, .gift-section .reveal.visible, .families.reveal.visible { transform:none; }
.toast { position:fixed; z-index:100; inset:auto 20px 20px; margin:auto; width:max-content; max-width:calc(100% - 40px); background:#2b211d; color:white; padding:13px 20px; opacity:0; transform:translateY(15px); pointer-events:none; transition:.25s; }
.toast.show { opacity:1; transform:none; }
.admin-dialog { width:min(920px, calc(100% - 30px)); max-height:90vh; border:0; padding:35px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow); }
.admin-dialog::backdrop { background:rgba(21,15,13,.76); backdrop-filter:blur(8px); }
.dialog-close { position:absolute; top:12px; inset-inline-end:15px; background:transparent; border:0; font-size:30px; cursor:pointer; }
.admin-dialog h2 { font:400 45px var(--serif); }
#adminLogin { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
#adminLogin label { grid-column:1/-1; }
#adminLogin input { margin:0; }
#adminLogin button { width:auto; min-width:120px; }
.admin-note { padding:24px 0; border-bottom:1px solid var(--line); }
.admin-note header { display:flex; justify-content:space-between; gap:20px; }
.admin-note blockquote { margin:14px 0 0; font:24px/1.6 var(--serif); }
.admin-note small { display:block; margin-top:12px; color:var(--muted); overflow-wrap:anywhere; }

@media (max-width: 820px) {
  .topbar { height:64px; padding:0 16px; grid-template-columns:auto 1fr auto; }
  .topbar nav { display:none; }
  .hero { min-height:100svh; }
  .hero::before { inset:78px 16px 30px; width:auto; }
  .hero::after { left:50%; height:8vh; }
  .hero-paper { background:linear-gradient(145deg,#faf6ef,#eadfd1); }
  .hero-arch { top:62px; right:13px; bottom:-3vh; width:calc(100vw - 26px); padding:8px; opacity:.72; border-radius:48% 48% 0 0 / 19% 19% 0 0; }
  .hero-arch-image,.hero-arch-glow { inset:8px; border-radius:48% 48% 0 0 / 19% 19% 0 0; }
  .hero-arch-image { background-position:center 62%; filter:saturate(.58) sepia(.1) brightness(1.03); }
  .hero-copy { top:51%; right:20px; left:20px; width:auto; padding:32px 16px 30px; transform:translateY(calc(-46% - var(--hero-progress,0) * 28px)) scale(calc(1 - var(--hero-progress,0) * .025)); background:rgba(253,249,242,.88); border:1px solid rgba(114,84,62,.34); box-shadow:inset 0 0 0 7px rgba(253,249,242,.72),inset 0 0 0 8px rgba(114,84,62,.15),0 24px 70px rgba(50,32,22,.18); backdrop-filter:blur(5px); }
  .hero .eyebrow { margin-bottom:13px; font-size:11px; }
  .hero h1 { font-size:clamp(51px,17.5vw,76px); line-height:.76; letter-spacing:.07em; }
  .hero h1 i { margin:.14em 0 .08em; }
  .hero-rule { margin:20px auto 14px; width:105px; }
  .hero-date { font-size:22px; }
  .hero-venue { margin:7px 0 20px; font-size:14px; }
  .hero .soft-button { min-width:185px; min-height:46px; padding:10px 18px; }
  .hero-botanical-back { display:none; }
  .hero-botanical-front { width:50vw; right:-11vw; bottom:-2vw; opacity:.88; }
  .hero-emboss-one { width:310px; left:-150px; top:-90px; }
  .hero-emboss-two { display:none; }
  .hero-seal { right:auto; left:9px; bottom:5vh; width:68px; font-size:16px; }
  .scroll-cue { display:none; }
  .countdown { padding:75px 14px; }
  .countdown-grid { gap:0; grid-template-columns:repeat(4,1fr); }
  .countdown-grid div { padding:7px; }
  .countdown-grid strong { font-size:35px; }
  .countdown-grid span { font-size:12px; }
  .story { grid-template-columns:1fr; padding:90px 24px; gap:60px; }
  .story-intro { position:static; }
  .story h2, .location-panel h2, .gift-heading h2 { font-size:48px; }
  .timeline-item { grid-template-columns:74px 15px 1fr; gap:13px; padding:35px 0; }
  .timeline-item time { font-size:22px; }
  .timeline-item h3 { font-size:27px; }
  .location-panel { min-height:78vh; grid-template-columns:1fr; align-content:end; padding:70px 24px; background-image:linear-gradient(rgba(23,16,14,.69), rgba(23,16,14,.76)), url('/generated/hero-jaffa-paper-arch.webp'); clip-path:inset(calc((1 - var(--scene-progress)) * 3%) round calc((1 - var(--scene-progress)) * 28px)); }
  .gift-section { padding:90px 14px; }
  .gift-card { padding:35px 22px; }
  .gift-steps i { width:45px; }
  .choice-grid.two { grid-template-columns:1fr 1fr; }
  .button-row { grid-template-columns:1fr; }
  .button-row .text-button { order:2; }
  .families { grid-template-columns:1fr; }
  .families > p { grid-column:1; }
  footer { display:grid; gap:6px; text-align:center; }
  #adminLogin { grid-template-columns:1fr; }
}

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

/* Refined invitation system: compact motifs, one-shot entrances, restrained scroll depth. */
@font-face {
  font-family:"Bodoni Moda Local";
  src:url("/fonts/bodoni-moda-italic.ttf") format("truetype");
  font-style:italic;
  font-weight:400;
  font-display:swap;
}

body { font-synthesis:none; }
body::before { opacity:.045; mix-blend-mode:multiply; }
.topbar { height:72px; padding-inline:clamp(22px,4vw,58px); background:transparent; transition:background .25s ease,border-color .25s ease; }
.has-scrolled .topbar { background:rgba(250,247,241,.92); }
.language { min-height:44px; display:grid; grid-template-columns:28px 9px 28px; gap:0; }
.language span { width:100%; min-width:0 !important; height:26px; position:relative; border:0; }
.language .language-active { border:0; }
.language .language-active::after { content:""; position:absolute; width:17px; height:1px; left:50%; bottom:0; background:currentColor; transform:translateX(-50%); }

.hero { min-height:96svh; display:grid; place-items:center; background:#f8f3eb; }
.hero-paper { background:radial-gradient(circle at 50% 40%,#fffdf9 0,#f8f3eb 62%,#efe5d8 100%); }
.hero-paper::after { opacity:.08; }
.hero::before { inset:30px; width:auto; border-color:rgba(94,68,51,.23); animation:frameIn .9s cubic-bezier(.22,1,.36,1) both; }
.hero::after { inset:38px; width:auto; height:auto; left:38px; border:1px solid rgba(94,68,51,.1); background:none; animation:frameIn .9s .08s cubic-bezier(.22,1,.36,1) both; }
.hero-arch { top:auto; right:auto; left:50%; bottom:3.2vh; width:410px; height:285px; padding:0; border:0; border-radius:50% 50% 0 0 / 38% 38% 0 0; box-shadow:none; opacity:.15; overflow:hidden; transform:translate3d(calc(-50% + var(--pointer-x,0)),calc(var(--pointer-y,0) + var(--hero-progress,0) * -14px),0); animation:engravingIn .72s .48s cubic-bezier(.22,1,.36,1) both; will-change:auto; }
.hero-arch-image { inset:0; border-radius:inherit; background-position:center 60%; filter:grayscale(1) sepia(.45) contrast(.9); transform:scale(1.02); -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 100%); mask-image:linear-gradient(to bottom,#000 40%,transparent 100%); }
.hero-arch-image::after,.hero-arch-glow { display:none; }
.hero-emboss { width:150px; opacity:.07; filter:grayscale(1) sepia(.4) brightness(1.5) contrast(.75); }
.hero-emboss-one { left:5.5vw; top:8vh; rotate:180deg; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -10px),0); }
.hero-emboss-two { width:120px; left:auto; right:7vw; bottom:8vh; rotate:-15deg; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * 8px),0); }
.hero-botanical { filter:drop-shadow(0 9px 15px rgba(72,37,24,.12)); will-change:auto; }
.hero-botanical-back { display:block; width:118px; left:clamp(48px,8vw,130px); right:auto; top:7vh; opacity:.88; rotate:174deg; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -9px),0) rotate(calc(var(--hero-progress,0) * -1deg)); }
.hero-botanical-front { width:136px; right:clamp(42px,7vw,115px); bottom:4.5vh; opacity:.94; transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -12px),0) rotate(calc(var(--hero-progress,0) * 1.2deg)); animation:detailIn .62s .5s cubic-bezier(.22,1,.36,1) both; }
.hero-copy { top:48.5%; right:auto; left:50%; width:min(600px,72vw); transform:translate(-50%,-50%); opacity:1; color:var(--ink); animation:none; will-change:auto; }
.hero-copy > * { opacity:0; animation:invitationIn .48s cubic-bezier(.22,1,.36,1) both; }
.hero-copy > :nth-child(1) { animation-delay:.05s; }
.hero-copy > :nth-child(2) { animation-delay:.1s; }
.hero-copy > :nth-child(3) { animation-delay:.17s; }
.hero-copy > :nth-child(4) { animation-delay:.22s; }
.hero-copy > :nth-child(5) { animation-delay:.27s; }
.hero-copy > :nth-child(6) { animation-delay:.32s; }
.hero .eyebrow { color:#765d4c; font-size:12px; }
.hero h1 { font-size:clamp(76px,7vw,100px); line-height:.78; letter-spacing:.17em; direction:ltr; unicode-bidi:isolate; font-kerning:normal; font-optical-sizing:auto; }
.hero h1 span { padding-inline-start:.17em; }
.hero h1 i { font-family:var(--script); font-style:normal; font-synthesis:none; font-size:.48em; line-height:.7; margin:.04em 0 .05em; letter-spacing:0; }
.hero-rule { width:108px; margin:24px auto 17px; }
.hero-date { font-size:27px; }
.hero-venue { margin:8px 0 23px; font-size:15px; }
.hero .soft-button { min-width:164px; min-height:44px; padding:9px 16px; border:0; border-bottom:1px solid rgba(57,39,31,.46); }
.hero .soft-button::before { display:none; }
.hero .soft-button:hover { color:var(--garnet); border-color:var(--garnet); }
.hero-seal { left:calc(50% - 260px); right:auto; bottom:3.5vh; width:52px; font-size:13px; rotate:calc(-7deg + var(--hero-progress,0) * 1deg); transform:translate3d(var(--pointer-x,0),calc(var(--pointer-y,0) + var(--hero-progress,0) * -7px),0); box-shadow:0 9px 18px rgba(58,24,25,.2),inset 0 0 0 4px rgba(98,19,35,.32),inset 0 0 0 5px rgba(239,190,151,.24); }
.hero-seal::after { inset:9px; }
.scroll-cue { bottom:24px; left:50%; color:#78675c; }

.countdown { padding:68px 20px 72px; }
.countdown-grid { max-width:560px; margin:auto; }
.countdown-grid strong { font-size:clamp(48px,5vw,64px); }

.story { display:block; padding:clamp(88px,10vw,132px) 24px; background:linear-gradient(130deg,#eee6dc,#f8f4ee 52%,#e8ddd0); }
#details,#gift { scroll-margin-top:72px; }
.story::before { width:130px; left:4vw; bottom:7%; opacity:.06; transform:translateY(calc((1 - var(--scene-progress)) * 10px)) rotate(-18deg); }
.story-intro { position:static; max-width:680px; margin:0 auto; text-align:center; }
.story h2,.location-panel h2,.gift-heading h2 { font-size:clamp(50px,5vw,60px); line-height:1.08; letter-spacing:-.025em; }
.story-intro > p:last-child { max-width:620px; margin-inline:auto; }
.timeline { --timeline-progress:0; position:relative; max-width:760px; margin:66px auto 0; border-top:1px solid var(--line); }
.timeline::before { content:""; position:absolute; inset-inline-start:114px; top:66px; bottom:66px; width:1px; background:var(--garnet); transform:scaleY(var(--timeline-progress)); transform-origin:top; opacity:.5; }
.timeline-item { grid-template-columns:92px 24px 1fr; gap:14px; padding:48px 0; }
.timeline-item > div { transform:none; opacity:1; }
.timeline-item > span { position:relative; z-index:1; width:9px; height:9px; margin-top:12px; background:var(--paper); transform:rotate(45deg); box-shadow:none; }
.timeline-item h3 { font-size:29px; }
.timeline-item .timeline-note { margin-top:15px; max-width:480px; padding:8px 12px; background:rgba(127,29,45,.055); font-size:14px; font-weight:600; }

.location-panel { --scene-progress:0; max-width:1120px; min-height:0; margin:90px auto 120px; padding:0; display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; gap:0; color:var(--ink); background:var(--paper); border:1px solid rgba(108,79,59,.16); box-shadow:0 22px 65px rgba(68,44,29,.1); clip-path:none; }
.location-visual { position:relative; min-height:520px; margin:0; overflow:hidden; background:#ddd0c1; }
.location-visual::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); pointer-events:none; }
.location-visual img { width:100%; height:calc(100% + 24px); object-fit:cover; object-position:center 62%; display:block; filter:saturate(.65) sepia(.08); transform:translateY(calc((var(--scene-progress) - .5) * -12px)) scale(1.015); }
.location-content { padding:clamp(42px,6vw,74px); display:flex; flex-direction:column; justify-content:center; }
.location-panel p { color:var(--muted); }
.location-actions { margin-top:32px; padding:24px 0 0; border:0; border-top:1px solid var(--line); backdrop-filter:none; background:transparent; }
.location-actions .primary-button { min-height:48px; background:var(--garnet); color:white; border-color:var(--garnet); }
.candle-glow { position:absolute; width:90px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(242,178,95,.2),transparent 67%); filter:blur(2px); pointer-events:none; }
.candle-one { left:13%; bottom:13%; }
.candle-two { right:10%; bottom:22%; width:68px; }

.gift-section { padding:clamp(88px,10vw,130px) 20px; }
.gift-section::after { width:105px; right:1.5vw; bottom:2vw; opacity:.1; }
.gift-heading { margin-bottom:48px; }
.gift-heading h2 { max-width:780px; }
.gift-card { max-width:680px; transform:none; box-shadow:0 18px 55px rgba(71,45,32,.1); }
.gift-card::before,.gift-card::after { transform:scale(.6); opacity:0; }
.gift-card.visible::before,.gift-card.visible::after { animation:cornerDraw .7s .18s cubic-bezier(.22,1,.36,1) forwards; }
input,textarea { font-size:16px; }

.families { position:relative; padding:82px 24px; border-block:1px solid rgba(108,79,59,.1); }
.families::after { content:""; position:absolute; width:86px; aspect-ratio:1.1; inset:auto 3vw 5px auto; background:url('/generated/botanical-corner-parallax.webp') center/contain no-repeat; opacity:.08; filter:grayscale(1) sepia(.4); }
footer { min-height:58px; align-items:center; padding-block:18px; }

[lang="he"] body { font-weight:400; }
[lang="he"] .story h2,[lang="he"] .location-panel h2,[lang="he"] .gift-heading h2,[lang="he"] .families strong,[lang="he"] .form-step h3,[lang="he"] .gift-success h3 { font-weight:300; letter-spacing:0; }
[lang="he"] .eyebrow { font-size:14px; font-weight:400; letter-spacing:.08em; }
[lang="he"] .hero .eyebrow { font-size:12px; letter-spacing:.12em; }
[lang="he"] label,[lang="he"] legend,[lang="he"] button { font-weight:500; }
[lang="en"] .eyebrow,[lang="en"] .hero-venue,[lang="en"] .families span { font-family:var(--small-caps); font-weight:400; letter-spacing:.16em; text-transform:uppercase; }
.hero-date,.timeline-item time { font-kerning:normal; font-optical-sizing:auto; font-variant-numeric:lining-nums tabular-nums; }

.reveal { opacity:0; transform:none; transition:none; }
.reveal.visible { opacity:1; animation:enterUp .6s cubic-bezier(.22,1,.36,1) both; }
.story .reveal.visible,.countdown .reveal.visible,.location-panel.reveal.visible,.gift-section .reveal.visible,.families.reveal.visible { transform:none; }

@keyframes frameIn { from{opacity:0; transform:scale(.985)} to{opacity:1; transform:none} }
@keyframes engravingIn { from{opacity:0} to{opacity:.15} }
@keyframes detailIn { from{opacity:0; translate:0 8px} to{opacity:.94; translate:0 0} }
@keyframes invitationIn { from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:none} }
@keyframes enterUp { from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:none} }
@keyframes cornerDraw { to{opacity:1; transform:scale(1)} }

@media (max-width:820px) {
  .topbar { height:64px; padding:env(safe-area-inset-top,0) 16px 0; }
  .hero { min-height:max(700px,100svh); }
  .hero::before { inset:14px; top:72px; }
  .hero::after { inset:20px; top:78px; }
  .hero-arch { width:250px; height:178px; bottom:7.5vh; opacity:.13; }
  .hero-copy { top:47%; right:auto; left:50%; width:calc(100vw - 58px); padding:0; background:none; border:0; box-shadow:none; backdrop-filter:none; }
  .hero .eyebrow { font-size:10px; margin-bottom:13px; }
  .hero h1 { font-size:clamp(54px,15.5vw,63px); line-height:.8; letter-spacing:.13em; }
  .hero h1 span { padding-inline-start:.13em; }
  .hero h1 i { margin:.04em 0 .06em; }
  .hero-rule { width:88px; margin:20px auto 13px; }
  .hero-date { font-size:21px; }
  .hero-venue { font-size:13px; margin:6px 0 18px; }
  .hero .soft-button { min-width:154px; min-height:44px; padding:8px 12px; }
  .hero-botanical-back { width:72px; left:24px; top:82px; }
  .hero-botanical-front { width:84px; right:19px; bottom:46px; }
  .hero-emboss-one { width:96px; left:-18px; top:12vh; }
  .hero-emboss-two { display:block; width:76px; right:4px; bottom:16vh; }
  .hero-seal { left:23px; bottom:36px; width:42px; font-size:11px; }
  .scroll-cue { display:none; }
  .countdown { padding:56px 12px 60px; }
  .countdown-grid strong { font-size:36px; }
  .story { padding:76px 22px 82px; }
  .story h2,.location-panel h2,.gift-heading h2 { font-size:clamp(38px,10.5vw,42px); }
  .story-intro > p:last-child { max-width:35ch; }
  .timeline { margin-top:50px; }
  .timeline::before { inset-inline-start:82px; top:49px; bottom:49px; }
  .timeline-item { grid-template-columns:68px 16px 1fr; gap:10px; padding:38px 0; }
  .timeline-item time { font-size:21px; }
  .timeline-item > span { width:8px; height:8px; margin-top:9px; }
  .timeline-item h3 { font-size:25px; }
  .timeline-item p { font-size:16px; line-height:1.5; }
  .timeline-item .timeline-note { font-size:13px; }
  .location-panel { margin:14px 14px 80px; display:grid; grid-template-columns:1fr; }
  .location-visual { min-height:0; height:300px; }
  .location-content { padding:34px 22px 32px; }
  .location-actions { margin-top:25px; }
  .gift-section { padding:80px 14px; }
  .gift-heading { margin-bottom:38px; }
  .gift-card { padding:34px 21px; }
  .families { padding:72px 24px; }
  #details,#gift { scroll-margin-top:64px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-copy > *,.hero::before,.hero::after,.hero-arch,.hero-botanical-front,.reveal,.reveal.visible,.gift-card::before,.gift-card::after { animation:none !important; opacity:1 !important; transform:none; translate:none; }
  .hero-arch { transform:translateX(-50%); opacity:.15 !important; }
  .timeline::before { transform:scaleY(1); }
  .scroll-cue::after { animation:none; }
}

/* Small sculptural depth objects: Jaffa stone, charcoal figs and carved flowers. */
.language-he { font-family:var(--serif); font-size:16px; font-weight:600; transform:translateY(-.5px); }
.language-en { font-size:13px; letter-spacing:.015em; }
.language-divider { font-size:12px; font-weight:400; opacity:.38 !important; }

.hero-seal {
  width:72px;
  padding:10px;
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  rotate:-5deg;
  transform:none;
}
.hero-seal::before {
  content:"";
  position:absolute;
  inset:-6px;
  border:0;
  border-radius:0;
  background:url('/generated/wax-seal-material-v2.png') center/contain no-repeat;
  filter:drop-shadow(0 11px 8px rgba(57,18,25,.24));
  box-shadow:none;
}
.hero-seal::after { display:none; }
.seal-impression { position:relative; z-index:1; width:100%; height:100%; border-radius:50%; display:grid; place-items:center; color:#7b1a2e; filter:drop-shadow(0 -1px 0 rgba(255,193,181,.5)) drop-shadow(0 1px 0 rgba(55,3,16,.85)); }
.seal-tree { width:55px; height:55px; overflow:visible; }
.seal-tree path { fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.seal-tree .seal-leaves path,.seal-tree .seal-star,.seal-tree .seal-diamond { fill:currentColor; stroke:none; }
.seal-tree .seal-initial { fill:currentColor; stroke:none; font:600 25px var(--serif); }

[data-depth-scene] { isolation:isolate; }
.depth-object {
  --depth-y:0px;
  --depth-spin:0deg;
  --base-rotate:0deg;
  position:absolute;
  display:block;
  pointer-events:none;
  user-select:none;
  transform:translate3d(0,var(--depth-y),0) rotate(calc(var(--base-rotate) + var(--depth-spin)));
  transform-origin:50% 54%;
  transition:opacity .55s cubic-bezier(.22,1,.36,1);
}
.depth-object img { display:block; width:100%; height:auto; }
.depth-back { z-index:0; opacity:.58; filter:none; mix-blend-mode:multiply; }
.depth-front { z-index:4; opacity:.92; filter:drop-shadow(0 5px 7px rgba(28,24,21,.07)); mix-blend-mode:multiply; }

.scene-backdrop { z-index:0; inset:7% 3%; opacity:.055; background-repeat:no-repeat; background-size:contain; pointer-events:none; }
.countdown-backdrop { inset:-10% 12% -18%; background-image:url('/generated/botanical-corner-parallax.webp'); background-position:center; filter:grayscale(1) contrast(.78); }
.story-backdrop { inset:3% 6% 0; background-image:url('/generated/hero-jaffa-paper-arch.webp'); background-position:center 62%; background-size:cover; filter:grayscale(1) sepia(.18) contrast(.72); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent); }
.gift-backdrop { inset:2% 3% 5%; background-image:url('/generated/botanical-corner-parallax.webp'); background-position:8% 56%; background-size:min(620px,72vw) auto; filter:grayscale(1) contrast(.75); }

.hero-stones { width:118px; left:4.5vw; bottom:11vh; --base-rotate:-7deg; opacity:.5; }
.hero-fig { width:76px; right:5vw; top:23vh; --base-rotate:8deg; opacity:.92; }

.countdown { position:relative; overflow:hidden; isolation:isolate; }
.countdown > :not(.depth-object) { position:relative; z-index:2; }
.countdown-stones { width:122px; right:4vw; top:14px; --base-rotate:9deg; }
.countdown-flower { width:58px; left:4.5vw; bottom:34px; --base-rotate:-8deg; opacity:.9; }

.story-intro,.timeline { position:relative; z-index:2; }
.story-intro { top:auto; }
.story-stones { width:138px; left:3vw; top:13%; --base-rotate:-8deg; opacity:.48; }
.story-fig { width:86px; right:3.5vw; bottom:9%; --base-rotate:7deg; opacity:.9; }
.timeline-item > span { box-shadow:inset 1px 1px 0 rgba(255,255,255,.82),0 4px 7px rgba(71,38,26,.12); }

.location-panel { position:relative; isolation:isolate; }
.location-visual,.location-content { position:relative; z-index:2; }
.location-stones { width:130px; left:16px; bottom:18px; --base-rotate:-10deg; opacity:.52; }
.location-flower { width:64px; right:18px; top:14%; --base-rotate:12deg; opacity:.92; }
.candle-glow { transform:translateY(calc(var(--scene-progress, .5) * -5px)); }

.gift-heading,.gift-card { z-index:2; }
.gift-flower { width:96px; left:4vw; top:11%; --base-rotate:-11deg; opacity:.54; }
.gift-fig { width:82px; right:22px; top:-44px; --base-rotate:8deg; opacity:.9; }

.families { position:relative; overflow:hidden; isolation:isolate; }
.families > :not(.depth-object) { position:relative; z-index:2; }
.families-stones { width:116px; right:4vw; top:16%; --base-rotate:8deg; opacity:.46; }

@media (max-width:820px) {
  .language-he { font-size:17px; }
  .language-en { font-size:13px; }
  .hero-seal { width:70px; padding:10px; rotate:-5deg; transform:none; }
  .seal-tree { width:52px; height:52px; }
  .hero-stones { width:78px; left:12px; bottom:15vh; opacity:.55; }
  .hero-fig { width:54px; right:13px; top:19vh; opacity:.92; }
  .scene-backdrop { opacity:.045; }
  .countdown-stones { width:78px; right:12px; top:16px; opacity:.54; }
  .countdown-flower { width:42px; left:18px; bottom:26px; opacity:.9; }
  .story-stones { width:84px; left:10px; top:11%; opacity:.52; }
  .story-fig { width:48px; right:10px; bottom:5%; opacity:.9; }
  .location-stones { width:82px; left:12px; bottom:18px; opacity:.52; }
  .location-flower { width:48px; right:10px; top:258px; opacity:.9; }
  .gift-flower { width:66px; left:12px; top:9%; opacity:.54; }
  .gift-fig { width:44px; right:20px; top:-27px; opacity:.88; }
  .families-stones { width:76px; right:12px; top:10%; opacity:.5; }
}

@media (prefers-reduced-motion:reduce) {
  .depth-object { --depth-y:0px !important; --depth-spin:0deg !important; transition:none !important; }
}
