/* Full-viewport stages. Artwork and personal photographs remain uncropped. */
.vows-guest{overflow-x:clip;--scene-flower:#ef9eaf;--scene-leaf:#6e916a;--scene-speed:18s;--scene-light:#ebcd94;--scene-depth:0px}
.vows-guest .v-guest-nav{position:absolute;inset:0 0 auto;min-height:62px;background:linear-gradient(var(--paper),transparent);border:0;z-index:20;flex-wrap:wrap;padding:17px 24px;color:var(--theme-ink)}
.v-invite-content{position:relative}
.vows-guest .v-invite-hero.v-cinematic{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;place-items:center;width:100%;max-width:none;min-height:100svh;min-height:100dvh;height:auto;max-height:none;margin:0!important;padding:110px 24px 85px;gap:0;border:0;outline:0;box-shadow:none;border-radius:0;background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--paper) 75%,transparent),transparent 75%),var(--paper);overflow:hidden}
.vows-guest .v-cinematic::before,.vows-guest .v-cinematic::after{content:none}
.v-cinematic .v-hero-scenery{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;outline:0;border-radius:0;box-shadow:none;opacity:.36;transform:none;z-index:-3;overflow:visible}
/* The theme is the edge-to-edge illustrated scene. Stock photographs belong in
   the story; placing a landscape rectangle behind the names breaks the scene. */
.v-cinematic:not(.v-has-photo) .v-hero-scenery{display:none}
.vows-guest :focus-visible{outline-color:var(--accent)}
.vows-guest .v-invite-hero-copy h1:focus{outline:none}
.vows-guest .v-cinematic .v-invite-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;filter:none;animation:none;border-radius:0;transform:none}
.vows-guest .v-cinematic .v-invite-shade{display:block;position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--paper) 0%,color-mix(in srgb,var(--paper) 70%,transparent) 34%,transparent 80%);border-radius:0}
.vows-guest .v-cinematic .v-invite-hero-copy{position:relative;inset:auto;display:block;grid-column:1;grid-row:1;width:100%;max-width:850px;padding:35px 20px;margin:0;border:0;outline:0;border-radius:0;box-shadow:none;background:none;transform:none;clip-path:none;color:var(--theme-ink);text-align:center;text-shadow:none;z-index:4}
.vows-guest .v-cinematic .v-invite-hero-copy h1{font:500 clamp(62px,8.5vw,128px)/1.06 var(--serif);letter-spacing:-.035em;overflow-wrap:anywhere;margin:25px 0 30px;color:inherit}
.v-cinematic .v-invite-hero-copy h1>span{display:block}.vows-guest .v-cinematic .v-invite-hero-copy h1 i{display:block;font:italic .4em/1.25 var(--serif);margin:10px 0;color:var(--accent)}
.vows-guest .v-cinematic .v-invite-hero-copy>.v-eyebrow{font:600 12px/1.9 var(--sans);letter-spacing:.15em;color:var(--theme-ink)}
.vows-guest .v-cinematic .v-invite-date{font:500 clamp(22px,2.3vw,30px)/1.7 var(--serif);margin:0 0 5px}.vows-guest .v-cinematic .v-hero-venue{font-size:15px;max-width:480px;margin:auto;overflow-wrap:anywhere}
.vows-guest .v-cinematic .v-hero-rsvp{display:inline-flex;align-items:center;gap:25px;background:var(--accent);color:var(--paper);border:1px solid var(--accent);border-radius:40px;padding:15px 26px;margin:30px 0 0;font:600 13px/1.5 var(--sans);min-height:48px;box-shadow:0 8px 30px color-mix(in srgb,var(--accent) 18%,transparent)}
.vows-guest .v-cinematic .v-sacred-art{width:clamp(150px,20vw,235px);height:clamp(150px,20vw,235px);margin:0 auto 20px;grid-column:auto;grid-row:auto;animation:none!important}
.vows-guest .v-cinematic .v-sacred-symbol{display:block;font-size:65px;margin:0 auto 20px}.vows-guest .v-cinematic .v-sacred-calligraphy{font-size:clamp(27px,3.3vw,42px)!important;max-width:700px;line-height:2!important}
.v-cinematic .v-scroll-cue{display:block;position:absolute;bottom:27px;left:calc(50% - 18px);width:36px;height:36px;border:1px solid var(--theme-line);border-radius:50%;color:var(--accent);text-align:center;line-height:34px;font-size:16px;z-index:5;animation:v-scene-cue 2.5s ease-in-out infinite}
.v-cinematic.v-has-photo .v-hero-scenery{inset:5% 3% 5% auto;width:46%;height:90%;opacity:1;z-index:0}.v-cinematic.v-has-photo .v-invite-shade{display:none}.vows-guest .v-cinematic.v-has-photo .v-invite-hero-copy{margin-inline:0 auto;width:48%;max-width:700px}.vows-guest .v-cinematic.v-has-photo .v-invite-hero-copy h1{font-size:clamp(50px,6vw,94px)}
/* A scene is built from independent foreground, architecture, light and horizon layers. */
.v-scene-layers{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;contain:paint;color:var(--scene-leaf)}
.v-scene-glow{position:absolute;inset:-20%;background:radial-gradient(ellipse at 15% 15%,color-mix(in srgb,var(--scene-light) 35%,transparent),transparent 45%),radial-gradient(ellipse at 85% 75%,color-mix(in srgb,var(--scene-flower) 25%,transparent),transparent 45%);animation:v-scene-glow var(--scene-speed) ease-in-out infinite alternate}
.v-scene-branch{position:absolute;top:-8%;bottom:-5%;width:clamp(110px,20vw,310px);transform-origin:50% 0;animation:v-scene-sway var(--scene-speed) ease-in-out infinite alternate;will-change:transform}
.v-branch-left{left:-3%}.v-branch-right{right:-3%;scale:-1 1;animation-delay:-7s}.v-scene-branch svg{width:100%;height:100%;overflow:visible}
.v-scene-flower{position:absolute;top:calc(var(--flower)*17%);left:var(--flower-x);width:clamp(55px,8vw,125px);aspect-ratio:1;background-image:url('../../images/weddings/floral-sprites.webp');background-size:200% 200%;background-position:0 0;filter:drop-shadow(0 5px 7px #45252120);transform:rotate(calc(var(--flower)*35deg))}
.v-scene-architecture{position:absolute;inset:6% 9% -12%;opacity:.4;transform:translateY(var(--scene-depth))}.v-scene-architecture i{position:absolute;inset:0;border:1px solid var(--accent);border-radius:50% 50% 0 0;box-shadow:0 0 0 12px color-mix(in srgb,var(--accent) 6%,transparent)}.v-scene-architecture i:nth-child(2){inset:15px 18px -30px;opacity:.5}.v-scene-architecture i:nth-child(3){inset:32px 36px -60px;opacity:.25}
.v-scene-moon{display:none;position:absolute;width:clamp(180px,31vw,470px);aspect-ratio:1;inset:7% 8% auto auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5,transparent 65%),var(--scene-light);box-shadow:0 0 95px color-mix(in srgb,var(--scene-light) 26%,transparent);opacity:.55;animation:v-scene-moon 24s ease-in-out infinite alternate}
.v-scene-hanging{display:none;position:absolute;inset:0 4% auto;height:42%;color:var(--accent)}.v-scene-hanging>i{position:absolute;top:-20px;left:calc(3% + var(--ribbon)*15%);height:calc(70px + var(--ribbon)*13px);border-left:1px solid currentColor;transform-origin:top;animation:v-scene-pendant calc(7s + var(--ribbon)*1s) ease-in-out infinite alternate}.v-scene-hanging b{position:absolute;width:21px;height:38px;border:1px solid currentColor;border-radius:50% 50% 12% 12%;left:-11px;bottom:-38px;background:linear-gradient(90deg,transparent,#f7d88788,transparent);box-shadow:0 0 35px #e6b86633}
.v-scene-horizon{display:none;position:absolute;inset:55% -20% -35%;overflow:hidden}.v-scene-horizon i{position:absolute;inset:20% 0 -20%;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--accent) 12%,transparent);border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);animation:v-scene-tide 16s ease-in-out infinite alternate}.v-scene-horizon i:nth-child(2){inset:30% -10% -20%;animation-delay:-5s;animation-duration:23s}.v-scene-horizon i:nth-child(3){inset:40% -10% -20%;animation-delay:-11s;animation-duration:31s}
.v-scene-sparks{display:none;position:absolute;inset:0;color:var(--accent)}.v-scene-sparks i{position:absolute;left:calc(5% + var(--spark)*8%);top:var(--spark-y);font-size:var(--spark-size);font-style:normal;animation:v-scene-twinkle calc(4s + var(--spark)*.6s) ease-in-out infinite alternate;animation-delay:calc(var(--spark)*-.7s)}
/* Individual identities: flowers, canopies, moonlight, glass, silk and ceremonial geometry. */
.theme-garden{--scene-leaf:#527f5a;--scene-flower:#c8d9b4;--scene-speed:17s}.theme-garden .v-scene-flower{background-position:0 100%}.theme-garden .v-scene-architecture{inset:8% 6% -14%;opacity:.2}
.theme-royal{--scene-leaf:#746a34;--scene-flower:#ca5b87;--scene-light:#d7ab5c;--scene-speed:23s}.theme-royal .v-scene-hanging{display:block}.theme-royal .v-scene-architecture{inset:4% 5% -8%;opacity:.6}.theme-royal .v-scene-branch{width:25vw}
.theme-moonlit{--scene-light:#dadbcc;--scene-speed:29s}.theme-moonlit .v-scene-branch,.theme-moonlit .v-scene-architecture{display:none}.theme-moonlit .v-scene-moon,.theme-moonlit .v-scene-sparks{display:block}.theme-moonlit .v-scene-moon{box-shadow:inset 65px 0 0 var(--paper),0 0 90px #bdc5e525;animation-duration:29s}
.theme-coastal{--scene-light:#a2e6e5;--scene-flower:#3f9da9;--scene-speed:14s}.theme-coastal .v-scene-branch,.theme-coastal .v-scene-architecture{display:none}.theme-coastal .v-scene-horizon{display:block;inset:45% -30% -38%}.theme-coastal .v-scene-moon{display:block;width:180px;top:14%;opacity:.35}
.theme-editorial{--scene-light:#d5b69b;--scene-speed:31s}.theme-editorial .v-scene-branch{display:none}.theme-editorial .v-scene-architecture{inset:12% 4%;opacity:.25;rotate:-3deg}.theme-editorial .v-scene-architecture i{border-radius:0}.theme-editorial .v-cinematic .v-invite-hero-copy h1{text-transform:uppercase;letter-spacing:-.06em;font-size:clamp(65px,10vw,155px)}
.theme-sakura{--scene-flower:#ee97b8;--scene-leaf:#968563;--scene-speed:13s}.theme-sakura .v-scene-branch{top:-22%;width:27vw;rotate:28deg}.theme-sakura .v-branch-right{rotate:-28deg}.theme-sakura .v-scene-architecture{display:none}.theme-sakura .v-scene-moon{display:block;background:#dc8091;opacity:.14;width:65vmin;right:calc(50% - 32.5vmin);top:18%}
.theme-golden{--scene-light:#f1b635;--scene-flower:#f3b338;--scene-leaf:#8a9655;--scene-speed:16s}.theme-golden .v-scene-flower{background-position:100% 0}.theme-golden .v-scene-architecture{border-radius:50%;inset:7% 15%;animation:v-scene-wheel 80s linear infinite}.theme-golden .v-scene-architecture i{border-radius:50%;border-style:dashed}
.theme-crimson{--scene-flower:#9d2138;--scene-leaf:#c69957;--scene-speed:21s}.theme-crimson .v-scene-branch{display:none}.theme-crimson .v-scene-architecture{inset:0 4%;opacity:.3}.theme-crimson .v-scene-architecture i{border-radius:0;border-width:0 15px;border-style:double;animation:v-scene-silk 21s ease-in-out infinite alternate}.theme-crimson .v-scene-hanging{display:block}
.theme-bengal{--scene-flower:#cc273e;--scene-light:#edb09c;--scene-leaf:#a65840;--scene-speed:19s}.theme-bengal .v-scene-architecture{inset:10% 12%;rotate:45deg}.theme-bengal .v-scene-architecture i{border-radius:25%;border-width:3px;border-style:double}.theme-bengal .v-scene-branch{top:48%;width:18vw;animation-duration:19s}
.theme-marigold{--scene-flower:#ffb822;--scene-light:#ee973a;--scene-leaf:#7f873d;--scene-speed:11s}.theme-marigold .v-scene-flower{background-position:100% 0}.theme-marigold .v-scene-branch{width:26vw}.theme-marigold .v-scene-hanging{display:block;height:38%;color:#dc8c21}.theme-marigold .v-scene-hanging>i{border-width:7px;border-style:dotted;height:calc(80px + var(--ribbon)*19px)}.theme-marigold .v-scene-hanging b{border-radius:50%;background:#e6a526;border:5px double #d8852d}
.theme-lotus{--scene-flower:#db73a4;--scene-leaf:#698571;--scene-speed:26s}.theme-lotus .v-scene-architecture{inset:15% 12%;animation:v-scene-bloom 26s ease-in-out infinite alternate}.theme-lotus .v-scene-architecture i{border-radius:70% 15%;rotate:45deg}.theme-lotus .v-scene-architecture i:nth-child(2){rotate:-10deg}.theme-lotus .v-scene-architecture i:nth-child(3){rotate:100deg}.theme-lotus .v-scene-branch{top:38%}
.theme-peacock{--scene-flower:#65a995;--scene-leaf:#398171;--scene-light:#a5c3a4;--scene-speed:27s}.theme-peacock .v-scene-flower{background-position:100% 100%}.theme-peacock .v-scene-architecture{inset:-20% 10% 10%;transform-origin:50% 100%;animation:v-scene-fan 27s ease-in-out infinite alternate}.theme-peacock .v-scene-architecture i{border-radius:50% 50% 10% 10%;border-width:6px;border-style:double}.theme-peacock .v-scene-branch{top:40%;width:24vw}
.theme-jasmine{--scene-flower:#ded4af;--scene-leaf:#759161;--scene-speed:20s}.theme-jasmine .v-scene-flower{background-position:0 100%}.theme-jasmine .v-scene-hanging{display:block;color:#c0ad77}.theme-jasmine .v-scene-hanging>i{border:3px dotted currentColor;height:calc(120px + var(--ribbon)*17px)}.theme-jasmine .v-scene-hanging b{background:#fff7dc;border-radius:50%;height:21px}
.theme-mehendi{--scene-flower:#dcbe5c;--scene-leaf:#5a8645;--scene-speed:15s}.theme-mehendi .v-scene-flower{background-position:100% 100%}.theme-mehendi .v-scene-architecture{inset:0 0;opacity:.16;background:repeating-linear-gradient(45deg,transparent 0 55px,var(--accent) 56px 57px,transparent 58px 90px);mask-image:linear-gradient(90deg,#000,transparent 25% 75%,#000)}.theme-mehendi .v-scene-architecture i{border-radius:0}
.theme-nikah{--scene-flower:#aa936a;--scene-light:#d6b371;--scene-speed:25s}.theme-nikah .v-scene-branch{display:none}.theme-nikah .v-scene-hanging,.theme-nikah .v-scene-sparks{display:block}.theme-nikah .v-scene-architecture{inset:4% 6% -10%}.theme-nikah .v-scene-architecture i{border-radius:50% 50% 0 0/65% 65% 0 0;border-width:2px}
.theme-anand{--scene-flower:#e7ac45;--scene-light:#edc27c;--scene-leaf:#7e966d;--scene-speed:22s}.theme-anand .v-scene-flower{background-position:0 100%}.theme-anand .v-scene-architecture{inset:0 6%;opacity:.25}.theme-anand .v-scene-architecture i{border-radius:0 0 45% 45%;border-inline:12px double var(--accent)}
.theme-cathedral{--scene-flower:#eee3c5;--scene-leaf:#8e9b7c;--scene-light:#f2dea5;--scene-speed:33s}.theme-cathedral .v-scene-flower{background-position:0 100%}.theme-cathedral .v-scene-architecture{inset:2% 8% -12%;opacity:.2}.theme-cathedral .v-scene-architecture i{border-radius:50% 50% 0 0/90% 90% 0 0;border-width:8px}.theme-cathedral .v-scene-glow{background:conic-gradient(from 135deg at 50% 0,transparent,#f1dfa64d,transparent,#fff9,transparent);animation:v-scene-light 33s ease-in-out infinite alternate}
.theme-glasshouse{--scene-flower:#abbfaa;--scene-leaf:#417456;--scene-speed:24s}.theme-glasshouse .v-scene-flower{background-position:0 100%}.theme-glasshouse .v-scene-architecture{inset:0 4% -12%;opacity:.26}.theme-glasshouse .v-scene-architecture i{border-radius:40% 40% 0 0;border-width:3px}.theme-glasshouse .v-scene-glow{animation-name:v-scene-light}.theme-glasshouse .v-hero-scenery{opacity:.48}
.theme-wisteria{--scene-flower:#b38cda;--scene-leaf:#8b9c7a;--scene-speed:12s}.theme-wisteria .v-scene-branch{top:-40%;height:100%;width:30vw;filter:hue-rotate(25deg)}.theme-wisteria .v-scene-hanging{display:block;color:#b39ac7}.theme-wisteria .v-scene-hanging>i{border:6px dotted currentColor;height:calc(160px + var(--ribbon)*16px)}.theme-wisteria .v-scene-hanging b{display:none}
.theme-rosewood{--scene-flower:#b67485;--scene-leaf:#7b675b;--scene-speed:28s}.theme-rosewood .v-scene-architecture{inset:8% 12%;rotate:7deg;animation:v-scene-waltz 28s ease-in-out infinite alternate}.theme-rosewood .v-scene-architecture i{border-radius:50%;border-style:double;border-width:4px}.theme-rosewood .v-scene-branch{top:18%;width:24vw}
.theme-champagne{--scene-flower:#d8bc86;--scene-light:#dcc594;--scene-speed:30s}.theme-champagne .v-scene-branch{display:none}.theme-champagne .v-scene-sparks{display:block}.theme-champagne .v-scene-architecture{inset:7% 5%;border-block:6px dotted var(--accent);opacity:.3}.theme-champagne .v-scene-architecture i{border-radius:0;border:0}.theme-champagne .v-scene-sparks i{border:1px solid var(--accent);border-radius:50%;width:35px;height:35px;font-size:0;animation-name:v-scene-bubble}
.theme-riviera{--scene-flower:#7fbecf;--scene-light:#fae4b0;--scene-speed:34s}.theme-riviera .v-scene-branch{display:none}.theme-riviera .v-scene-horizon{display:block;inset:65% -20% -30%}.theme-riviera .v-scene-architecture{inset:0 3%;opacity:.17}.theme-riviera .v-scene-architecture i{border-radius:0;border-width:0 12px;border-style:dashed}.theme-riviera .v-cinematic .v-invite-hero-copy h1{font-style:italic}
.theme-terracotta{--scene-flower:#c87c54;--scene-leaf:#a4a47c;--scene-light:#e9b986;--scene-speed:35s}.theme-terracotta .v-scene-horizon{display:block;inset:60% -25% -35%}.theme-terracotta .v-scene-horizon i{rotate:-8deg;animation-duration:35s}.theme-terracotta .v-scene-flower{background-position:100% 100%}.theme-terracotta .v-scene-branch{top:55%;width:23vw}
.theme-starlight{--scene-flower:#7d73bb;--scene-light:#b5afe3;--scene-speed:38s}.theme-starlight .v-scene-branch{display:none}.theme-starlight .v-scene-sparks{display:block}.theme-starlight .v-scene-architecture{inset:12% 8%;animation:v-scene-wheel 110s linear infinite}.theme-starlight .v-scene-architecture i{border-radius:50%;border-style:dashed;rotate:25deg;scale:1.2 .75}.theme-starlight .v-scene-glow{background:radial-gradient(ellipse at 20% 35%,#706cab55,transparent 50%),radial-gradient(ellipse at 70% 60%,#b071a33d,transparent 60%)}
.theme-ganesha{--scene-flower:#f1bb44;--scene-leaf:#a18b44;--scene-light:#eab65d;--scene-speed:36s}.theme-ganesha .v-scene-flower{background-position:100% 0}.theme-ganesha .v-scene-architecture{inset:5% 7% -10%;opacity:.28}.theme-ganesha .v-scene-architecture i{border-width:5px;border-style:double}.theme-ganesha .v-scene-branch{top:38%;width:20vw}
.theme-vrindavan{--scene-flower:#e4bbca;--scene-leaf:#669263;--scene-light:#c6dca5;--scene-speed:37s}.theme-vrindavan .v-scene-branch{width:27vw;animation-name:v-scene-grove}.theme-vrindavan .v-scene-architecture{inset:2% 5% -10%;border-radius:50% 50% 0 0;opacity:.15;background:repeating-linear-gradient(90deg,transparent 0 70px,var(--accent) 71px 72px,transparent 73px 110px)}
.theme-bismillah{--scene-flower:#d3b576;--scene-light:#d9c28f;--scene-speed:40s}.theme-bismillah .v-scene-branch{display:none}.theme-bismillah .v-scene-sparks{display:block}.theme-bismillah .v-scene-architecture{inset:4% 5% -8%;opacity:.4}.theme-bismillah .v-scene-architecture i{border-radius:45% 45% 0 0;border-width:5px;border-style:double}.theme-bismillah .v-scene-glow{animation-name:v-scene-light}
.theme-crescent{--scene-flower:#9786c0;--scene-light:#d4c5e6;--scene-speed:39s}.theme-crescent .v-scene-branch,.theme-crescent .v-scene-architecture{display:none}.theme-crescent .v-scene-moon,.theme-crescent .v-scene-sparks,.theme-crescent .v-scene-horizon{display:block}.theme-crescent .v-scene-moon{box-shadow:inset -75px 12px 0 var(--paper),0 0 100px #bda8d230;left:8%;right:auto;animation-duration:39s}
/* The opening uses the same atmosphere as the invitation underneath it. */
.v-invite-opening>.v-scene-layers{z-index:0;opacity:.8;transition:opacity .6s,transform 1.8s}.v-invite-opening>h1,.v-invite-opening>p,.v-invite-opening>.v-seal,.v-invite-opening>.v-opening-prompt{z-index:2}.v-invite-opening.is-opening>.v-scene-layers{opacity:0;transform:scale(1.12)}
.v-invite-opening .v-door-scene{max-width:none;width:100%;background:var(--scene-art) center/contain no-repeat,var(--paper)}
.v-opening-doors .v-door-leaf{background-image:linear-gradient(90deg,#0003,#fff1 9%,transparent 15% 85%,#0004),repeating-linear-gradient(0deg,transparent 0 20%,#d9b76555 20% 20.4%,transparent 20.5% 40%),linear-gradient(135deg,#153d32,#276251 60%,#17372e);background-size:100% 100%;border:8px double #c5a46a;box-shadow:inset 0 0 80px #0005}
.v-opening-doors .v-door-leaf::before{content:'';position:absolute;inset:4% 9%;border:2px solid #a99569;border-radius:45% 45% 0 0;box-shadow:0 0 0 8px #d5b87c18}.v-opening-doors .v-door-leaf::after{content:'';position:absolute;top:52%;width:17px;height:35px;border:4px solid #d4b26f;border-radius:50%;box-shadow:0 5px 10px #0007}.v-opening-doors .v-door-left::after{right:8%}.v-opening-doors .v-door-right::after{left:8%}
.v-opening-doors>.v-scene-layers .v-scene-branch{width:18vw}.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain)>.v-scene-layers .v-scene-glow{opacity:.4}
/* Each chapter enters with its theme's existing reveal grammar and a separate page atmosphere. */
.vows-guest .v-invite-welcome{position:relative;max-width:none;width:100%;padding:100px max(24px,calc((100% - 800px)/2));margin:0;border-radius:0;background:radial-gradient(ellipse at 0 100%,color-mix(in srgb,var(--scene-flower) 15%,transparent),transparent 65%),var(--paper)}
.vows-guest .v-invite-welcome>p{font-size:clamp(25px,3.4vw,40px);line-height:1.5}.v-countdown{padding:25px 10px;border-block:1px solid var(--theme-line);margin-top:25px}.v-countdown strong{font-variant-numeric:tabular-nums}
.vows-guest .v-invite-events{padding-block:85px}.vows-guest .v-rsvp-section{width:100%;max-width:none;border-radius:0;padding:90px 24px 110px;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--scene-flower) 20%,transparent),transparent 65%),var(--paper)}
.vows-guest .v-rsvp-form{max-width:600px;margin-inline:auto}.vows-guest .v-invite-footer{background:color-mix(in srgb,var(--scene-flower) 9%,var(--paper));padding:75px 25px 110px}.vows-guest .v-invite-footer h2{overflow-wrap:anywhere}
.vows-guest .v-story-image{height:auto;min-height:0;border-radius:0;overflow:visible}.vows-guest .v-story-image img{width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:0}.vows-guest .v-guest-gallery button{border-radius:0;height:auto;min-height:0;background:transparent}.vows-guest .v-guest-gallery img{width:100%;height:auto;max-height:500px;object-fit:contain}
/* Text gets a complete row, even inside a two-card itinerary. Numbers and map
   controls occupy their own heading row instead of squeezing the description. */
.vows-guest .v-event-timeline article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 20px;min-width:0}
.vows-guest .v-event-timeline article>div{grid-column:1/-1;grid-row:2;width:100%;min-width:0}
.vows-guest .v-event-number{grid-column:1;grid-row:1;justify-self:start;font-size:28px;line-height:1.2;min-width:0}
.vows-guest .v-event-timeline .v-round-link{grid-column:2;grid-row:1;justify-self:end;margin:0;width:44px;height:44px;min-width:44px;flex-shrink:0}
.vows-guest .v-event-timeline article h3{font-size:clamp(27px,3vw,34px);line-height:1.2;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
.vows-guest .v-event-timeline article p{font-size:14px;line-height:1.8;overflow-wrap:break-word}
.vows-guest .v-event-timeline [data-event-date]{font-size:11px;line-height:1.8;letter-spacing:.06em;overflow-wrap:break-word}
.vows-guest .v-invite-hero-copy h1,.vows-guest .v-invite-story h2,.vows-guest .v-invite-welcome>p{text-wrap:balance;word-break:normal;overflow-wrap:break-word}
.vows-guest .v-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:600px;margin-inline:auto}
.vows-guest .v-countdown>div{min-width:0}.vows-guest .v-countdown span{font-size:11px;letter-spacing:.04em;max-width:100%;overflow-wrap:break-word}
@media(max-width:760px){
 .vows-guest .v-invite-events{padding-inline:0}
 .vows-guest .v-event-timeline{max-width:100%;padding:0 8px}
 .vows-guest .v-event-timeline article{width:100%;margin-inline:0;padding:26px 20px;border-radius:28px 28px 6px 6px;gap:12px}
 .vows-guest .v-event-timeline article:nth-of-type(even){margin-inline:0}
 .vows-guest .v-event-timeline article>div{text-align:start}
 .vows-guest .v-guest-gallery button:nth-child(n){margin-top:0;transform:none}
 .vows-guest .v-story-image>span{right:0;width:65px;height:65px;font-size:38px}
 .vows-guest .v-invite-welcome>.v-family-hosts{flex-wrap:wrap}
 .vows-guest .v-invite-date{letter-spacing:.03em}
}
@media(max-width:400px){.vows-guest .v-rsvp-options{grid-template-columns:1fr;display:grid}.vows-guest .v-countdown{gap:8px;padding-inline:0}.vows-guest .v-countdown strong{font-size:32px}}
/* Typographic character belongs to the theme as well as its surroundings. */
.vows-guest .v-composition-coastal .v-invite-hero-copy h1,.vows-guest .v-composition-sakura .v-invite-hero-copy h1,.vows-guest .v-composition-champagne .v-invite-hero-copy h1{font-style:italic;font-weight:400}
.vows-guest .v-composition-royal .v-invite-hero-copy>.v-eyebrow,.vows-guest .v-composition-crimson .v-invite-hero-copy>.v-eyebrow{letter-spacing:.25em}
.vows-guest .v-composition-golden .v-invite-hero-copy h1,.vows-guest .v-composition-marigold .v-invite-hero-copy h1{font-weight:600}
.vows-guest .v-composition-bengal .v-invite-hero-copy h1{line-height:1.25;color:#ac3049}
.vows-guest .v-composition-lotus .v-invite-hero-copy h1 i{font-size:.65em;line-height:.8;color:#be749a}
.vows-guest .v-composition-jasmine .v-invite-hero-copy h1{line-height:1.2;font-weight:400}
.vows-guest .v-composition-peacock .v-invite-date{border-block:1px solid var(--theme-line);display:inline-block;padding:8px 30px}
.vows-guest .v-composition-anand .v-invite-hero-copy>.v-eyebrow{display:inline-block;border-block:3px double var(--accent);padding:10px 20px}
.vows-guest .v-composition-cathedral .v-invite-hero-copy h1{font-weight:400;letter-spacing:.015em}
.vows-guest .v-composition-wisteria .v-invite-hero-copy h1 i{margin:18px 0;font-style:italic}
.vows-guest .v-composition-rosewood .v-invite-hero-copy h1{font-style:italic;line-height:1.2}
.vows-guest .v-composition-terracotta .v-invite-hero-copy h1{font-weight:500;letter-spacing:-.05em}
.vows-guest .v-composition-starlight .v-invite-hero-copy>.v-eyebrow{letter-spacing:.3em}
.vows-guest .v-composition-ganesha .v-invite-hero-copy h1,.vows-guest .v-composition-vrindavan .v-invite-hero-copy h1{font-size:clamp(52px,7vw,94px);line-height:1.2}
.vows-guest .v-composition-bismillah .v-invite-date{display:inline-block;border-block:3px double var(--theme-line);padding:10px 30px}
.v-scene-progress{position:fixed;inset:0 auto auto 0;height:3px;width:100%;transform:scaleX(var(--reading-progress,0));transform-origin:left;background:var(--accent);z-index:45;pointer-events:none}
.v-guest-nav a[aria-current=true]{text-decoration:underline;text-underline-offset:6px}.v-guest-nav button{border:0;background:none;color:inherit;font-size:14px;min-height:30px}
@keyframes v-scene-sway{from{transform:rotate(-2deg) translateY(-6px)}to{transform:rotate(2deg) translateY(8px)}}
@keyframes v-scene-glow{from{transform:translate(-2%,-1%);opacity:.65}to{transform:translate(2%,2%);opacity:1}}
@keyframes v-scene-moon{from{transform:translateY(12px)}to{transform:translateY(-18px)}}
@keyframes v-scene-pendant{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes v-scene-tide{from{transform:translateX(-5%) rotate(-3deg)}to{transform:translateX(5%) rotate(3deg)}}
@keyframes v-scene-twinkle{from{opacity:.1;transform:scale(.8)}to{opacity:.7;transform:scale(1.2)}}
@keyframes v-scene-wheel{to{transform:rotate(360deg)}}
@keyframes v-scene-silk{from{transform:skewY(-2deg) scaleX(.97)}to{transform:skewY(2deg) scaleX(1.02)}}
@keyframes v-scene-bloom{from{transform:scale(.92) rotate(-3deg)}to{transform:scale(1.03) rotate(3deg)}}
@keyframes v-scene-fan{from{transform:rotate(-4deg) scaleX(.96)}to{transform:rotate(4deg) scaleX(1.04)}}
@keyframes v-scene-light{from{transform:rotate(-6deg);opacity:.35}to{transform:rotate(6deg);opacity:.9}}
@keyframes v-scene-waltz{from{transform:rotate(-7deg) scale(.98)}to{transform:rotate(7deg) scale(1.03)}}
@keyframes v-scene-bubble{from{opacity:.2;transform:translateY(80px) scale(.6)}to{opacity:.7;transform:translateY(-100px) scale(1)}}
@keyframes v-scene-grove{from{transform:translate(-8px,-5px) rotate(-1deg)}to{transform:translate(8px,10px) rotate(2deg)}}
@keyframes v-scene-cue{50%{transform:translateY(5px)}}
.v-atmosphere-paused .v-scene-layers *,.v-atmosphere-paused .v-scroll-cue,.v-scene-offscreen .v-cinematic .v-scene-layers *,.v-tab-hidden .v-scene-layers *{animation-play-state:paused!important}
.vows-guest:has([data-motion=gentle]){--scene-speed:45s}.vows-guest:has([data-motion=none]) .v-scene-layers *{animation:none!important}.vows-guest:has([data-motion=none]) .v-scroll-cue{animation:none!important}
@media(min-width:1100px){.vows-guest .v-cinematic:not(.v-has-photo):is(.v-composition-editorial,.v-composition-riviera,.v-composition-glasshouse) .v-invite-hero-copy{text-align:start;max-width:980px}.vows-guest .v-cinematic:not(.v-has-photo):is(.v-composition-editorial,.v-composition-riviera,.v-composition-glasshouse) .v-hero-venue{margin-inline:0}.vows-guest .v-cinematic.v-composition-champagne h1>span{display:inline}.vows-guest .v-cinematic.v-composition-champagne h1 i{display:inline;margin:0 20px}}
@media(max-width:760px){.vows-guest .v-invite-hero.v-cinematic{min-height:100svh;padding:90px 20px 80px}.vows-guest .v-cinematic .v-invite-hero-copy{padding:25px 10px;max-width:560px}.vows-guest .v-cinematic .v-invite-hero-copy h1{font-size:clamp(46px,13vw,76px);line-height:1.15;letter-spacing:-.02em}.vows-guest .v-cinematic .v-invite-hero-copy>.v-eyebrow{font-size:11px;letter-spacing:.07em}.vows-guest .v-cinematic .v-hero-venue{font-size:13px}.v-scene-branch{width:28vw;min-width:100px;opacity:.8}.v-branch-left{left:-10%}.v-branch-right{right:-10%}.v-scene-flower{width:65px}.v-scene-architecture{inset:5% 4% -10%}.v-scene-hanging{opacity:.6}.v-scene-moon{top:8%;opacity:.25}.vows-guest .v-cinematic.v-has-photo{display:flex;flex-direction:column-reverse;gap:25px;padding-top:90px}.vows-guest .v-cinematic.v-has-photo .v-invite-hero-copy{width:100%;margin:0}.v-cinematic.v-has-photo .v-hero-scenery{position:relative;inset:auto;width:100%;height:auto;opacity:1}.vows-guest .v-cinematic.v-has-photo .v-invite-cover{position:relative;height:auto;max-height:52svh;object-fit:contain}.vows-guest .v-cinematic.v-has-photo .v-invite-hero-copy h1{font-size:clamp(46px,13vw,72px)}.vows-guest .v-invite-story{grid-template-columns:1fr!important;padding:35px 5px}.vows-guest .v-guest-wrap{width:calc(100% - 36px)}.vows-guest .v-guest-details{grid-template-columns:1fr}.vows-guest .v-event-timeline{padding-inline:12px}.vows-guest .v-event-timeline article{padding-inline:16px;gap:12px;overflow-wrap:anywhere}.vows-guest .v-guest-gallery{gap:12px}.vows-guest .v-invite-welcome{padding:70px 24px}.vows-guest .v-guest-nav{gap:15px;font-size:12px}.v-guest-nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.v-scene-layers *,.v-scroll-cue{animation:none!important;transition:none!important}.v-scene-architecture{transform:none}.v-invite-opening>.v-scene-layers{transition:none}.v-scene-progress{display:none}}
@media print{.v-scene-layers,.v-scroll-cue,.v-scene-progress{display:none}.vows-guest .v-invite-hero.v-cinematic{min-height:0!important;padding:30px!important}.vows-guest .v-cinematic .v-invite-hero-copy h1{font-size:44px!important}}
