.tpl-royal{--inv-bg:#f9f3ea;--inv-bg-alt:#f2e7d5;--inv-text:#3a2530;--inv-muted:#8a6f77;--inv-accent:#8a6d2f;--inv-accent-contrast:#f9f3ea;--inv-border:#8a6d2f52;--inv-font-head:var(--font-cormorant), serif;--inv-font-body:var(--font-cormorant), serif;--inv-font-script:var(--font-vibes), cursive;--inv-radius:3px;--env-bg:#38121e;--env-paper:#f1e5cf;--env-pocket:#e7d5b4;--env-flap:#dcc79f;--env-letter:#fdf9ef;--env-seal:#6b1f2e;--env-seal-hi:#9a4152;--env-seal-text:#f3dfae;--royal-burgundy:var(--env-seal,#6b1f2e);--royal-velvet:#451523;--royal-gold-hi:#c2a15c;--royal-parch:#fbf6ec;--inv-hero-bg:url(/templates/herobg-royal.webp);--inv-hero-bg-opacity:.34;--inv-ornament:url(/templates/ornament-royal.webp);font-weight:500}.royal-hero{background: radial-gradient(ellipse 72% 52% at 50% 108%, #c69e4e42, transparent 70%),  radial-gradient(ellipse 95% 55% at 50% -18%, #6b1f2e1c, transparent 65%),  radial-gradient(ellipse 140% 105% at 50% 50%, transparent 58%, #4515231f 100%), var(--inv-bg)}.royal-hero-content{z-index:1;position:relative}.royal-glow{pointer-events:none;background:radial-gradient(circle,#d6a85442 0%,#d6a8541a 42%,#0000 68%);border-radius:50%;animation:7s ease-in-out infinite royal-flicker;position:absolute}.royal-glow-c{aspect-ratio:1;width:min(72vw,640px);bottom:-18%;left:50%;translate:-50%}.royal-glow-l{aspect-ratio:1;width:min(40vw,340px);animation-duration:9.5s;animation-delay:1.4s;top:14%;left:-8%}.royal-glow-r{aspect-ratio:1;width:min(44vw,380px);animation-duration:8.2s;animation-delay:2.8s;top:32%;right:-10%}@keyframes royal-flicker{0%,to{opacity:.85;transform:scale(1)}22%{opacity:1}38%{opacity:.76}54%{opacity:.95;transform:scale(1.03)}72%{opacity:.8}86%{opacity:.98}}.royal-frame{pointer-events:none;border:1px solid #8a6d2f80;position:absolute;inset:16px}.royal-frame:before{content:"";border:1px solid #8a6d2f38;position:absolute;inset:5px}@media (min-width:720px){.royal-frame{inset:24px}}.royal-corner{width:clamp(30px,7vw,46px);color:var(--inv-accent);position:absolute}.royal-corner-tl{top:3px;left:3px}.royal-corner-tr{top:3px;right:3px;transform:rotate(90deg)}.royal-corner-br{bottom:3px;right:3px;transform:rotate(180deg)}.royal-corner-bl{bottom:3px;left:3px;transform:rotate(270deg)}.royal-wreath-wrap{aspect-ratio:1;width:clamp(132px,30vw,178px);margin:0 auto 1.4rem;position:relative}.royal-wreath{width:100%;height:100%;color:var(--inv-accent);filter:drop-shadow(0 0 14px #c69e4e47);position:absolute;inset:0}.royal-crown{width:29%;color:var(--inv-accent);filter:drop-shadow(0 0 10px #c69e4e59);position:absolute;top:-7%;left:50%;translate:-50%}.royal-cypher{font-family:var(--inv-font-head);letter-spacing:.05em;color:var(--royal-burgundy);justify-content:center;align-items:center;font-size:clamp(1.9rem,7vw,2.6rem);font-weight:600;display:flex;position:absolute;inset:0}.royal-cypher-dot{color:var(--inv-accent);padding:0 .18em;font-size:.5em;translate:0 -.1em}.tpl-royal .inv-hero-tagline{font-family:var(--inv-font-head);letter-spacing:.34em;text-transform:uppercase;color:var(--inv-accent);font-size:clamp(.8rem,2.8vw,.98rem);font-weight:600;line-height:1.9}.tpl-royal .inv-hero-names{letter-spacing:.03em;color:#33202b;text-shadow:0 1px #fffdf699;font-weight:600}.royal-rule{width:min(240px,62vw);color:var(--inv-accent);margin:.9rem auto .3rem;display:block}.tpl-royal .inv-hero-date{color:#7a4a58;letter-spacing:.38em;font-weight:600}.tpl-royal .inv-hero-intro{font-family:var(--inv-font-head);max-width:46ch;font-size:1.15rem;font-style:italic;line-height:1.85}.tpl-royal .inv-section-head:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 18' fill='none'%3E%3Cpath d='M6 9h36M90 9h36' stroke='%238a6d2f' stroke-width='1' stroke-linecap='round' opacity='0.65'/%3E%3Cpath d='M66 3.4l3.6 5.6-3.6 5.6-3.6-5.6z' fill='%238a6d2f'/%3E%3Cpath d='M50 9c3.4-4 8.4-5.2 11.6-4.4M50 9c3.4 4 8.4 5.2 11.6 4.4' stroke='%238a6d2f' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M82 9c-3.4-4-8.4-5.2-11.6-4.4M82 9c-3.4 4-8.4 5.2-11.6 4.4' stroke='%238a6d2f' stroke-width='1' stroke-linecap='round'/%3E%3Ccircle cx='44' cy='9' r='1.4' fill='%238a6d2f'/%3E%3Ccircle cx='88' cy='9' r='1.4' fill='%238a6d2f'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain;width:132px;height:18px;margin:0 auto 1rem;display:block}.tpl-royal .inv-section-title{letter-spacing:.18em;text-transform:uppercase;color:#56202e;font-size:clamp(1.35rem,4.6vw,1.9rem);font-weight:600}.tpl-royal .inv-prose{font-size:1.12rem}.tpl-royal .inv-story-text{font-size:1.06rem}.tpl-royal .inv-schedule-desc,.tpl-royal .inv-venue-address{font-size:1.02rem}.tpl-royal .inv-faq-item p{font-size:1.05rem}.tpl-royal .inv-faq-item summary{font-size:1.12rem}.tpl-royal .inv-rsvp-deadline{font-size:1rem}.tpl-royal .inv-stay-price{font-size:.95rem}.tpl-royal .inv-gift-holder{font-size:.98rem}.tpl-royal .inv-video-caption{font-size:1rem}.tpl-royal .inv-rsvp-demo-note{font-size:.85rem}.tpl-royal .inv-rsvp-personal{font-size:.88rem}.tpl-royal .demo-bar p{font-size:.92rem}.tpl-royal .inv-field input,.tpl-royal .inv-field select,.tpl-royal .inv-field textarea{background:var(--royal-parch);font-size:1.08rem}.tpl-royal .inv-field span,.tpl-royal .inv-countdown-label,.tpl-royal .inv-venue-label,.tpl-royal .env-hint,.tpl-royal .env-letter-date{font-weight:600}.tpl-royal .inv-field span{font-size:.78rem}.tpl-royal .inv-countdown-label{font-size:.74rem}.tpl-royal .inv-langswitch button{font-size:.78rem}.tpl-royal .inv-calendar{font-size:.85rem;font-weight:600}.tpl-royal .inv-gift-btn,.tpl-royal .inv-venue-map{font-size:.8rem}.tpl-royal .inv-story-year{color:var(--royal-burgundy);font-size:2.1rem}.tpl-royal .inv-countdown-number,.tpl-royal .inv-venue-label{color:var(--royal-burgundy)}.tpl-royal .inv-venue{background:linear-gradient(180deg, var(--royal-parch), #f5ebd9);border-color:#8a6d2f6b;box-shadow:inset 0 0 0 1px #f9f3eae6,inset 0 0 0 2px #8a6d2f2e,0 16px 32px -20px #45152359}.tpl-royal .inv-faq-item,.tpl-royal .inv-stay-hotel,.tpl-royal .inv-gift{background:var(--royal-parch)}.tpl-royal .inv-schedule-icon{background:var(--royal-parch);box-shadow:0 0 0 4px #8a6d2f1a}.tpl-royal .inv-schedule-time{font-weight:600}.tpl-royal .inv-rsvp-submit{letter-spacing:.24em;background:linear-gradient(180deg, color-mix(in srgb, var(--royal-burgundy) 82%, white 18%), color-mix(in srgb, var(--royal-burgundy) 84%, black 16%));color:var(--env-seal-text,#f3dfae);box-shadow:0 12px 26px -14px color-mix(in srgb, var(--royal-burgundy) 70%, black 30%), inset 0 1px 0 #ffebbe3d;font-size:.9rem}.tpl-royal .inv-rsvp-choice button{background:var(--royal-parch);font-size:.98rem;font-weight:600}.tpl-royal .inv-rsvp-choice button.active,.tpl-royal .inv-calendar:hover{background:var(--royal-burgundy);border-color:var(--royal-burgundy);color:var(--env-seal-text,#f3dfae)}.tpl-royal .inv-footer{box-shadow:inset 0 1px #8a6d2f40}.tpl-royal .env-overlay{background:radial-gradient(ellipse 85% 68% at 50% 34%, #c48d4229, transparent 70%), radial-gradient(ellipse 120% 100% at 50% 118%, #0c030680, transparent 72%), var(--env-bg)}.tpl-royal .env-hint{color:#d9c2a0}.tpl-royal .env-letter-names{color:var(--royal-burgundy);font-size:clamp(1.7rem,7vw,2.4rem)}@media (prefers-reduced-motion:reduce){.royal-glow{animation:none}}
