/* V12 additions. V9 styles.css and its visual assets stay unchanged. */
[hidden]{display:none!important}
.header-actions{display:flex;align-items:center;gap:12px}.music-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:none;color:#35472f;border:1px solid #ae8d5266;border-radius:25px;min-width:44px;min-height:44px;padding:4px 10px;font-size:16px}.music-button>span:first-child{font-size:24px;line-height:1}.music-button:disabled{color:#72664f;border-color:#ae8d5233;cursor:default}.music-button.playing{background:#e3d7bb}.music-feedback{position:relative;max-width:1100px;margin:0 auto;background:#fff3d8;color:#35442a;font-size:17px;padding:12px 25px;text-align:center}.footer #music-pending-note{font:12px var(--serif);letter-spacing:.03em;margin-top:6px}
.registry-card{position:relative;padding:35px 24px;margin:30px auto 0;max-width:620px;border:5px double #ae8d52;background:radial-gradient(ellipse at 50% 25%,#fff8e6,#eaddbf);box-shadow:0 5px 15px #8b6a3120;isolation:isolate}.registry-card:before,.registry-card:after{content:'';position:absolute;inset:5px auto auto 5px;width:80px;height:80px;background:url('assets/corner-v9.svg') center/contain no-repeat;pointer-events:none;z-index:-1}.registry-card:after{inset:auto 5px 5px auto;transform:rotate(180deg)}.registry-gift{width:62px;height:62px;margin:0 auto 18px;color:#98733b}.registry-card h3{font:28px var(--serif)}.registry-soon{display:inline-block;margin:20px auto 10px;padding:10px 35px;border-block:1px solid #b59b6a;font:19px var(--roman);color:#7d6239}.registry-note{font-size:18px;margin-top:15px}.registry-card .primary-btn{margin-top:20px}.no-js-note{text-align:center;padding:15px}
.welcome-dialog{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;overflow:auto;background:radial-gradient(ellipse at 50% 35%,#fff8e8,#eee0c4 67%,#d6c098);color:#283b25;outline:none}.welcome-dialog::backdrop{background:#eee0c4}.welcome-dialog:before,.welcome-dialog:after{content:'';position:absolute;pointer-events:none;width:35%;max-width:290px;height:95%;background:url('assets/lirios-v9.webp') left bottom/contain no-repeat;bottom:0;opacity:.85}.welcome-dialog:before{left:0}.welcome-dialog:after{right:0;transform:scaleX(-1)}.welcome-shell{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 20px 25px;isolation:isolate}.welcome-shell>.overline{font-size:12px;letter-spacing:.2em}.welcome-shell h2{font:54px/1.3 var(--script);color:#78562c;margin:11px auto 0}.welcome-shell>#welcome-description{font-size:22px;max-width:440px;margin:2px auto 60px}.envelope{position:relative;width:min(540px,85vw);aspect-ratio:1.56;perspective:1300px;filter:drop-shadow(0 17px 17px #69512b36);margin:0 auto 28px;isolation:isolate}.envelope-back{position:absolute;inset:0;border:1px solid #b99a62;border-radius:5px;background:linear-gradient(120deg,#dcc79e,#f7e8c8);box-shadow:inset 0 0 0 5px #f9edcf,inset 0 0 0 6px #bd9b5f}.envelope-letter{position:absolute;z-index:2;inset:7% 9% 4%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:4px double #b79a64;background:radial-gradient(ellipse at 50% 30%,#fff9e9,#f4e5c6);padding-top:7%;box-shadow:0 0 10px #6c502325;transform:translateY(-5%);transition:transform .75s ease .12s}.letter-cross{font-size:27px;color:#a07b40;line-height:1}.letter-small{font:11px var(--roman);letter-spacing:.17em;margin-top:9px}.letter-names{font:40px/1.4 var(--script);color:#79572c;margin-top:7px}.letter-date{font:10px var(--roman);letter-spacing:.12em}.envelope-front{position:absolute;z-index:3;inset:0;border:1px solid #ae915e;border-radius:5px;background:linear-gradient(28deg,#e1ceaa,#f9edcf 50%,#dfc89c);clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 6px #f3e3c2}.envelope-front:after{content:'';position:absolute;inset:8px;border:1px solid #bfa375;clip-path:polygon(0 0,50% 50%,100% 0,100% 100%,0 100%)}.envelope-flap{position:absolute;z-index:5;inset:0 0 42%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(155deg,#fbf0d6,#ecdbb9 70%,#d5bd8c);filter:drop-shadow(0 4px 2px #8c714844);transform-origin:top;backface-visibility:visible;transition:transform .62s ease,z-index 0s .34s}.wax-seal{position:absolute;z-index:6;left:50%;top:43%;transform:translate(-50%,-50%);width:77px;height:77px;display:grid;place-items:center;border:5px double #b79b5a;border-radius:48% 53% 47% 52%;color:#e9d3a3;background:radial-gradient(ellipse at 35% 25%,#5b6a42,#293a23 65%,#1f2d1b);box-shadow:0 4px 6px #5a43294d,inset 0 0 0 3px #e5d29525;font:28px var(--roman);letter-spacing:-.08em;transition:opacity .2s,transform .5s}.envelope-corner{position:absolute;bottom:10px;color:#b08d4d;font-size:37px;line-height:1;z-index:4}.corner-a{left:15px}.corner-b{right:15px;transform:scaleX(-1)}.welcome-recipient{font:27px/1.2 var(--serif);font-weight:500;max-width:650px;overflow-wrap:anywhere;margin:0 15px 5px}.welcome-seats{font-size:17px;max-width:500px;min-height:25px}.open-invitation{margin-top:15px;min-width:260px;font-size:23px;padding:13px 32px}.welcome-date{font:12px var(--roman);letter-spacing:.08em;margin:20px auto 0}.opening .envelope-flap{transform:rotateX(180deg);z-index:1}.opening .envelope-letter{transform:translateY(-48%)}.opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}.opening .welcome-shell{animation:welcome-fade .76s ease forwards}@keyframes welcome-fade{0%,75%{opacity:1}100%{opacity:0}}
.family-dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 30px);overflow:auto;margin:auto;padding:0;border:5px double #ae8d52;background:radial-gradient(ellipse at 50% 10%,#fff8e7,#efe0c0);color:#283b25;box-shadow:0 20px 80px #18211670}.family-dialog::backdrop{background:#1f2b20b8;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;z-index:2;background:#f5ead2f5;padding:23px 24px 17px;border-bottom:1px solid #bda16e}.dialog-head .overline{font-size:10px;letter-spacing:.14em;padding-right:25px}.dialog-head h2{font:32px/1.25 var(--serif);margin-top:5px}.dialog-close{position:absolute;right:8px;top:8px;width:44px;height:44px;background:none;border:1px solid #ba9c6955;border-radius:50%;font-size:30px;color:#6f552e;line-height:1}.family-dialog #family-rsvp-root{padding:24px}.family-form{display:flex;flex-direction:column;gap:10px}.family-form label{font-size:18px;font-weight:600}.family-form select,.family-form input,.family-form textarea{font-family:var(--serif);font-size:19px;width:100%;padding:10px 12px;min-height:48px;border:1px solid #b49b70;border-radius:5px;background:#fff9ec;color:#283b25;outline-offset:2px}.family-form select{appearance:auto}.field-help{font-size:15px;line-height:1.35;margin-top:7px;color:#6c614d}.family-submit{margin-top:8px;min-height:50px;font-size:21px}.family-submit:disabled{opacity:.65;cursor:wait}.form-result{font-size:18px;padding:12px;border:1px solid #8b9a71;background:#eef0de}.form-result.error{background:#f6e6d7;border-color:#af7752;color:#7f452e}.form-privacy{font-size:16px;line-height:1.4;color:#665b47;margin-top:4px}.family-dialog #family-rsvp-root>h3{font:28px var(--serif);margin:6px auto 12px}.family-dialog #family-rsvp-root>.secondary-btn{margin-top:18px;display:flex}.form-notice{font-size:20px;padding:15px 0}.family-dialog .primary-btn{white-space:normal}
@media(max-width:767px){.header-actions{gap:6px}.music-word{display:none}.music-button{padding:3px;width:44px}.header{padding-inline:14px}.header-meta{font-size:9px;letter-spacing:.12em}.welcome-shell{padding:30px 18px 22px}.welcome-shell>.overline{font-size:9px;letter-spacing:.14em}.welcome-shell h2{font-size:44px;margin-top:14px}.welcome-shell>#welcome-description{font-size:19px;max-width:285px;margin:6px auto 48px}.envelope{width:min(88vw,440px);margin-bottom:26px}.letter-small{font-size:8px}.letter-names{font-size:29px}.letter-date{font-size:8px}.letter-cross{font-size:21px}.wax-seal{width:61px;height:61px;font-size:23px}.envelope-corner{font-size:27px}.welcome-recipient{font-size:23px;max-width:340px}.welcome-seats{font-size:16px;max-width:310px}.welcome-date{font-size:9px;line-height:1.6}.welcome-dialog:before,.welcome-dialog:after{width:24%;height:80%;opacity:.65}.open-invitation{font-size:21px;min-width:245px}.family-dialog #family-rsvp-root{padding:20px}.dialog-head{padding:20px 20px 15px}.dialog-head h2{font-size:29px}.registry-card{padding:30px 18px}.registry-soon{font-size:17px}.registry-note{font-size:17px}}
@media(max-height:620px){.welcome-shell{padding-top:20px;justify-content:flex-start}.welcome-shell>#welcome-description{margin-bottom:30px}.envelope{max-width:320px}.welcome-recipient{font-size:21px}.welcome-date{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.opening .welcome-shell{animation:none}.envelope-letter,.envelope-flap,.wax-seal{transition:none}}
.envelope-corner{font-size:0;width:54px;height:54px;background:url('assets/corner-v9.svg') center/contain no-repeat;opacity:.75}.corner-a{transform:rotate(-90deg)}.corner-b{transform:rotate(180deg)}.envelope-front:before{content:'';position:absolute;inset:40% 22% 8%;border:1px solid #bba06a70;border-radius:140px 140px 0 0;box-shadow:inset 0 0 0 3px #fff2d633}
.registry-card{padding-bottom:55px}

.whatsapp-form{padding:24px;gap:18px}.whatsapp-form label{display:block;margin-bottom:7px}.whatsapp-dialog .dialog-head{padding-right:50px}.whatsapp-dialog .dialog-head .overline{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.whatsapp-form .family-submit,.whatsapp-form .rsvp-cancel{width:100%;min-height:48px;margin-top:0}.whatsapp-form [aria-invalid="true"]{border-color:#a4673e;box-shadow:0 0 0 1px #a4673e}.whatsapp-form .form-privacy{font-size:16px;line-height:1.45;text-align:center}.whatsapp-form .form-result{margin:0}.whatsapp-dialog{border-color:#94804e}.whatsapp-form .rsvp-cancel{background:transparent;color:#35472f;box-shadow:none}
@media(max-width:767px){.whatsapp-form{padding:22px 20px}.whatsapp-dialog .dialog-head h2{font-size:29px}.whatsapp-dialog .dialog-head .overline{font-size:10px}.welcome-recipient{margin-bottom:14px}}

/* Keep V9 artwork and layout; persistent music control occupies the header. */
.header{position:sticky;top:0}.music-word{font-size:14px}.music-button{min-width:108px}.registries-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.registries-grid .registry-card{width:100%;margin-top:30px;padding:35px 20px 45px;display:flex;flex-direction:column;align-items:center}.registries-grid .primary-btn{white-space:normal;margin-top:auto;font-size:19px;min-height:66px}.registries-grid .registry-note{margin-top:20px}.registries-grid h3{margin-bottom:18px}.location-image .temple-photo{object-position:64% 50%}.footer .photo-credit{max-width:760px;margin:22px auto 0;font:13px/1.6 var(--serif);letter-spacing:0;text-transform:none}.photo-credit a{text-decoration:underline;text-underline-offset:3px}.music-feedback{position:fixed;bottom:12px;left:12px;right:12px;z-index:101;border:1px solid #ae8d52;box-shadow:0 3px 14px #5e452820}
@media(max-width:767px){.music-word{display:inline}.music-button{width:auto;min-width:96px;padding:4px 7px}.header-actions{gap:3px}.header-meta{letter-spacing:.05em}.registries-grid{grid-template-columns:1fr;gap:0}.registries-grid .primary-btn{min-height:52px}.registries-grid .registry-card{padding:30px 18px 40px}}

/* Gift access remains visible while its date or verified link is pending. */
.registry-card .primary-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none;}
