@import url('https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&family=Fraunces:opsz,wght@9..144,500;9..144,650&family=Great+Vibes&family=Inter:wght@400;500;600;700;800&family=Libre+Baskerville:wght@400;700&family=Lora:wght@500;600&family=Manrope:wght@400;500;600;700;800&family=Mea+Culpa&family=Montserrat:wght@400;500;600&family=Playfair+Display:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Poppins:wght@400;500;600&display=swap');
:root{--bg:#f5f1eb;--bg-2:#eee7dd;--surface:#fffdfa;--surface-2:#f9f5ef;--text:#1c1a18;--muted:#6f6962;--line:rgba(28,26,24,.12);--dark:#1d2b26;--brand:#65705f;--brand-2:#8d9a84;--gold:#bd9863;--danger:#a33f3f;--success:#2f7352;--shadow:0 24px 70px rgba(43,35,28,.11);--shadow-sm:0 12px 34px rgba(43,35,28,.08);--radius:24px;--nav:76px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}.container{width:min(1180px,calc(100% - 36px));margin:auto}.site-nav{height:var(--nav);position:sticky;top:0;z-index:90;background:rgba(245,241,235,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(28,26,24,.08)}.nav-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{width:40px;height:40px;border-radius:14px;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 7px 18px rgba(29,43,38,.18)}.brand strong{display:block;font-size:.86rem;letter-spacing:.08em}.brand small{display:block;color:var(--muted);font-size:.64rem;margin-top:2px}.nav-links{display:flex;align-items:center;gap:5px;margin:auto}.nav-links a{padding:10px 13px;border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:700}.nav-links a:hover,.nav-links a.active{background:rgba(255,255,255,.64);color:var(--text)}.nav-actions{display:flex;align-items:center;gap:10px}.lang-btn,.menu-btn,.user-chip{border:1px solid var(--line);background:rgba(255,255,255,.55);cursor:pointer}.lang-btn{width:42px;height:42px;border-radius:50%;font-size:.76rem;font-weight:900}.text-link{font-weight:800;font-size:.9rem;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:11px 18px;border-radius:14px;border:1px solid transparent;cursor:pointer;font-weight:800;font-size:.91rem;transition:.22s ease}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--dark);color:#fff;box-shadow:0 10px 20px rgba(29,43,38,.13)}.btn-brand{background:var(--brand);color:#fff}.btn-soft{background:rgba(255,255,255,.7);border-color:var(--line)}.btn-ghost{border-color:var(--line);background:transparent}.btn-danger{background:#fff3f2;color:var(--danger);border-color:rgba(163,63,63,.14)}.btn-block{width:100%}.menu-btn{display:none;width:44px;height:44px;border-radius:14px;padding:0;place-items:center}.menu-btn span{position:absolute;width:18px;height:1.5px;background:var(--text);transform:translateY(-3px)}.menu-btn span+span{transform:translateY(3px)}.mobile-menu{display:none}.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:8px;height:44px;border-radius:14px;padding:4px 10px 4px 5px}.user-chip span{width:33px;height:33px;border-radius:10px;background:var(--dark);color:#fff;display:grid;place-items:center;font-weight:800}.user-chip b{font-size:.82rem}.user-pop{display:none;position:absolute;right:0;top:52px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;padding:8px;width:190px}.user-pop.open{display:grid}.user-pop a,.user-pop button{padding:11px;border:0;background:transparent;text-align:left;border-radius:10px;cursor:pointer}.user-pop a:hover,.user-pop button:hover{background:var(--surface-2)}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:.71rem;font-weight:900;color:#66715f}.eyebrow:before{content:'';width:22px;height:1px;background:currentColor}.display{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(3.5rem,7vw,6.7rem);line-height:.91;letter-spacing:-.045em;margin:16px 0}.title-xl{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(2.9rem,5vw,5rem);line-height:.96;letter-spacing:-.035em;margin:12px 0}.title-lg{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(2.25rem,4vw,3.65rem);line-height:1;letter-spacing:-.03em;margin:12px 0}.title-md{font-family:'DM Serif Display',serif;font-size:2rem;font-weight:400;margin:8px 0}.lead{color:var(--muted);font-size:1.06rem;line-height:1.75;max-width:62ch}.muted{color:var(--muted)}.section{padding:96px 0}.section-sm{padding:55px 0}.card{background:rgba(255,253,250,.82);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:28px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stack{display:grid;gap:14px}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.badge-free{background:#eef2eb;color:#4f654b}.badge-pro{background:#1d2b26;color:#fff}.badge-soon{background:#f1e9dc;color:#806e55}.badge-draft{background:#f3eee7;color:#806e55}.badge-live{background:#e8f4eb;color:#2c6c4b}.hero{padding:70px 0 82px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.hero-copy .lead{font-size:1.12rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.mini-proof{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.81rem;font-weight:700;margin-top:26px}.mini-proof span{display:flex;gap:7px;align-items:center}.mini-proof span:before{content:'✓';color:var(--success)}.hero-stage{position:relative;min-height:610px;display:grid;place-items:center}.hero-orbit{position:absolute;width:540px;height:540px;border-radius:50%;border:1px solid rgba(101,112,95,.17);background:radial-gradient(circle at center,rgba(255,255,255,.85),rgba(255,255,255,0) 64%)}.phone{position:relative;z-index:2;width:300px;border-radius:44px;padding:9px;background:#171817;box-shadow:0 40px 90px rgba(34,28,22,.28);transform:rotate(2deg)}.phone:before{content:'';position:absolute;width:91px;height:22px;border-radius:0 0 15px 15px;background:#171817;left:50%;top:5px;transform:translateX(-50%);z-index:3}.phone-screen{height:580px;border-radius:36px;overflow:hidden;background:#f3eee7}.invite-demo{height:100%;display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding:54px 25px 28px;background:linear-gradient(180deg,rgba(246,239,230,.45),rgba(246,239,230,.95)),radial-gradient(circle at 20% 18%,#dbe2d4 0 11%,transparent 12%),radial-gradient(circle at 86% 23%,#ece0cd 0 13%,transparent 14%)}.invite-demo .script{font-family:'Great Vibes',cursive;font-size:2.5rem;color:#6a745f}.invite-demo h3{font-family:'Cormorant Garamond',serif;font-size:2.45rem;margin:7px 0 0}.invite-demo small{letter-spacing:.14em;text-transform:uppercase}.invite-demo .open-pill{display:inline-flex;align-self:center;padding:11px 17px;border-radius:999px;background:#65705f;color:white;font-size:.76rem;font-weight:800}.float-note{position:absolute;z-index:4;background:rgba(255,253,250,.92);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;padding:15px 17px;box-shadow:var(--shadow-sm);max-width:210px}.float-note.one{left:1%;top:16%}.float-note.two{right:0;bottom:15%}.float-note small{display:block;color:var(--muted);margin-bottom:3px}.category-card{overflow:hidden}.category-art{height:250px;position:relative;background:linear-gradient(145deg,#e5ddd0,#f8f3ec);overflow:hidden}.category-art:before,.category-art:after{content:'';position:absolute;border-radius:999px;background:rgba(101,112,95,.18);width:210px;height:210px}.category-art:before{left:-70px;bottom:-85px}.category-art:after{right:-75px;top:-95px}.category-art.engage{background:linear-gradient(145deg,#f0dede,#fbf5f2)}.category-art.baby{background:linear-gradient(145deg,#dce9e4,#f7faf8)}.category-body{padding:22px}.category-body h3{font-family:'DM Serif Display';font-size:1.7rem;font-weight:400;margin:0 0 8px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.theme-card{overflow:hidden}.theme-preview{height:380px;position:relative;display:grid;place-items:center;text-align:center;padding:25px;isolation:isolate}.theme-preview:before{content:'';position:absolute;inset:0;z-index:-1}.theme-linen:before{background:linear-gradient(180deg,#f4eee5,#e7e0d4)}.theme-pearl:before{background:linear-gradient(160deg,#fbf9f5,#eee7dc)}.theme-petal:before{background:linear-gradient(165deg,#f7e9ea,#ecd3d6)}.theme-cloud:before{background:linear-gradient(165deg,#edf4f1,#dce9e4)}.theme-noir:before{background:radial-gradient(circle at 20% 15%,rgba(169,183,152,.22),transparent 28%),linear-gradient(160deg,#171816,#283027)}.theme-heritage:before{background:linear-gradient(155deg,#efe4d3,#dccab2)}.theme-sage:before{background:linear-gradient(155deg,#dfe7df,#adbdae)}.theme-celestial:before{background:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px),linear-gradient(155deg,#e6ecf6,#cad5e8);background-size:25px 25px,auto}.theme-preview-card{width:78%;min-height:230px;padding:38px 22px;border:1px solid rgba(62,53,45,.15);display:grid;align-content:center;justify-items:center;background:rgba(255,255,255,.22);backdrop-filter:blur(3px)}.theme-noir .theme-preview-card{color:#f6f0e8;border-color:rgba(255,255,255,.18)}.theme-preview-card small{letter-spacing:.16em;font-size:.61rem;text-transform:uppercase}.theme-preview-card strong{font-family:'Cormorant Garamond',serif;font-size:2rem;margin:12px 0}.theme-body{padding:20px}.theme-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.theme-body h3{margin:0;font-size:1.08rem}.theme-body p{font-size:.84rem;min-height:42px}.theme-actions{display:flex;gap:8px;margin-top:14px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.filter-btn{border:1px solid var(--line);background:rgba(255,255,255,.6);padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:800;font-size:.78rem}.filter-btn.active{background:var(--dark);color:#fff}.split-showcase{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center}.process-list{counter-reset:steps;display:grid;gap:12px}.process-item{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:20px;border-top:1px solid var(--line)}.process-item:before{counter-increment:steps;content:'0' counter(steps);font-family:'DM Serif Display';font-size:1.55rem;color:#8d9686}.process-item h3{margin:0 0 5px}.process-item p{margin:0;color:var(--muted);line-height:1.6}.feature-strip{padding:24px;border-radius:28px;background:var(--dark);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.feature-strip div{padding:14px}.feature-strip small{display:block;color:#cbd2cd;margin-top:6px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:38px auto 0}.price-card{padding:32px;position:relative}.price-card.pro{background:var(--dark);color:#fff}.price-card .price{font-family:'DM Serif Display';font-size:3.3rem;margin:18px 0 2px}.price-card .price small{font:600 .85rem Manrope;color:var(--muted)}.price-card.pro .price small,.price-card.pro .muted{color:#bfc8c2}.feature-list{list-style:none;padding:0;margin:26px 0;display:grid;gap:12px}.feature-list li{display:flex;gap:9px;align-items:flex-start}.feature-list li:before{content:'✓';color:var(--success);font-weight:900}.price-card.pro .feature-list li:before{color:#d9c49f}.faq{max-width:850px;margin:auto}.faq-item{border-top:1px solid var(--line)}.faq-q{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;gap:15px;text-align:left;padding:22px 0;cursor:pointer;font-weight:900}.faq-a{display:none;color:var(--muted);line-height:1.75;padding:0 45px 22px 0}.faq-item.open .faq-a{display:block}.auth-shell{min-height:calc(100vh - var(--nav));display:grid;grid-template-columns:1fr 1fr}.auth-art{display:grid;place-items:center;padding:60px;background:linear-gradient(150deg,#e9e0d5,#cfd8ca)}.auth-art-card{max-width:450px;text-align:center}.auth-art-card .seal{width:92px;height:92px;border-radius:50%;border:1px solid rgba(28,26,24,.18);display:grid;place-items:center;margin:0 auto 30px;font-family:'DM Serif Display';font-size:1.5rem}.auth-form-wrap{display:grid;place-items:center;padding:55px 25px}.auth-card{width:min(470px,100%)}.form{display:grid;gap:15px}.field{display:grid;gap:7px}.field label{font-weight:800;font-size:.82rem}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:14px;padding:13px 14px;outline:none;transition:.18s}.textarea{min-height:110px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#88947e;box-shadow:0 0 0 4px rgba(101,112,95,.09)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:.75rem;color:var(--muted);line-height:1.5}.dashboard{padding:46px 0 90px}.dash-header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.metric{padding:20px}.metric small{color:var(--muted);font-weight:700}.metric strong{display:block;font-family:'DM Serif Display';font-size:2rem;font-weight:400;margin-top:6px}.dashboard-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:26px 0 14px}.card-list{display:grid;gap:12px}.user-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px}.user-thumb{height:118px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#e7dfd4,#cbd7c7);font-family:'Cormorant Garamond';font-size:1.45rem;text-align:center;padding:10px}.user-card h3{margin:0 0 6px}.user-card .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.user-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.empty{padding:50px 22px;border:1px dashed rgba(28,26,24,.2);border-radius:24px;text-align:center;color:var(--muted)}.wizard{padding:46px 0 90px}.wizard-shell{display:grid;grid-template-columns:280px 1fr;gap:22px}.steps{padding:16px;position:sticky;top:100px;height:max-content}.step{display:flex;align-items:center;gap:12px;padding:13px;border-radius:14px;color:var(--muted);font-weight:800;font-size:.83rem}.step span{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:.73rem}.step.active{background:#fff;color:var(--text)}.step.active span{background:var(--dark);color:#fff}.wizard-card{padding:30px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.6);border-radius:18px;padding:20px;cursor:pointer;text-align:left}.choice.selected{border-color:#6f7d66;box-shadow:0 0 0 3px rgba(101,112,95,.1)}.choice h3{margin:6px 0}.choice input{position:absolute;opacity:0}.wizard-footer{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.studio{height:calc(100vh - var(--nav));display:grid;grid-template-columns:270px minmax(360px,1fr) minmax(360px,520px);background:#ede7df;overflow:hidden}.studio-side,.studio-form,.studio-preview{min-height:0}.studio-side{background:#f7f3ed;border-right:1px solid var(--line);padding:18px;overflow:auto}.studio-brand-card{padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line);margin-bottom:15px}.studio-brand-card small{color:var(--muted)}.studio-tabs{display:grid;gap:4px}.studio-tab{border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border-radius:12px;cursor:pointer;font-weight:800;font-size:.82rem}.studio-tab:hover,.studio-tab.active{background:#fff}.studio-tab .ico{width:28px;height:28px;border-radius:9px;background:#ece7df;display:grid;place-items:center}.studio-tab .lock{margin-left:auto;font-size:.72rem}.studio-form{background:#fffdfa;overflow:auto;padding:26px}.studio-form-head{position:sticky;top:-26px;background:rgba(255,253,250,.96);backdrop-filter:blur(12px);z-index:4;margin:-26px -26px 22px;padding:21px 26px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.studio-panel{display:none}.studio-panel.active{display:block}.setting-group{padding:20px 0;border-bottom:1px solid var(--line)}.setting-group:first-child{padding-top:0}.setting-group h3{margin:0 0 5px}.setting-group>p{color:var(--muted);font-size:.82rem;margin:0 0 14px}.segment{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.segment button{border:1px solid var(--line);background:#fff;padding:11px;border-radius:12px;cursor:pointer;font-weight:800;font-size:.78rem}.segment button.active{background:var(--dark);color:#fff}.theme-pick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.theme-pick{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;background:#fff}.theme-pick .swatch{height:70px;display:grid;place-items:center}.theme-pick .label{padding:9px;font-size:.75rem;font-weight:800}.theme-pick.selected{box-shadow:0 0 0 3px rgba(101,112,95,.13);border-color:#6f7d66}.pro-lock{position:absolute;inset:0;background:rgba(246,243,237,.84);backdrop-filter:blur(2px);display:grid;place-items:center;text-align:center;padding:15px;z-index:2}.pro-lock strong{display:block;font-size:.8rem}.pro-lock a{font-size:.72rem;text-decoration:underline;margin-top:4px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0}.switch{position:relative;width:44px;height:25px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#d8d2ca;border-radius:999px;cursor:pointer;transition:.2s}.slider:before{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.2s}.switch input:checked+.slider{background:var(--brand)}.switch input:checked+.slider:before{transform:translateX(19px)}.switch.locked{opacity:.48;pointer-events:none}.pro-inline{font-size:.65rem;padding:4px 7px;border-radius:999px;background:var(--dark);color:#fff;font-weight:900}.studio-preview{position:relative;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.7),transparent 52%),#e7e0d7;overflow:auto}.preview-tools{position:absolute;top:14px;right:14px;display:flex;gap:7px}.preview-phone{width:320px;height:650px;background:#151615;border:8px solid #151615;border-radius:42px;box-shadow:0 35px 70px rgba(42,34,28,.25);overflow:hidden}.preview-screen{height:100%;border-radius:33px;overflow:auto;background:#f4eee6;scrollbar-width:none}.preview-screen::-webkit-scrollbar{display:none}.studio-cover{height:100%;min-height:634px;display:grid;align-content:space-between;text-align:center;padding:55px 26px 30px}.studio-cover .opening-main{align-self:center}.studio-cover h2{font-family:var(--preview-heading,'Cormorant Garamond');font-size:2.3rem;margin:8px 0}.studio-cover p{font-family:var(--preview-body,'Manrope');font-size:.78rem;line-height:1.6}.studio-cover .names{font-family:var(--preview-heading,'Cormorant Garamond');font-size:2.65rem;line-height:1}.upgrade-banner{background:#202d28;color:#fff;padding:14px;border-radius:16px;margin-bottom:16px}.upgrade-banner p{font-size:.75rem;color:#cbd4ce}.locked-card{position:relative}.lock-overlay{position:absolute;inset:0;background:rgba(255,253,250,.82);backdrop-filter:blur(3px);display:grid;place-items:center;text-align:center;border-radius:16px;z-index:2;padding:20px}.upgrade-shell{padding:60px 0 100px}.upgrade-grid{display:grid;grid-template-columns:1fr .9fr;gap:28px;align-items:start}.upgrade-summary{padding:30px}.upgrade-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.upgrade-check{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.54);font-size:.84rem;font-weight:700}.payment-card{padding:26px;position:sticky;top:105px}.payment-method{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;margin:9px 0;cursor:pointer}.payment-method:has(input:checked){border-color:#6e7e66;background:#f1f5ee}.payment-method input{accent-color:var(--brand)}.payment-total{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font-weight:900}.payment-demo{padding:42px 0 90px}.gateway-shell{max-width:660px;margin:auto}.gateway-status{padding:32px;text-align:center}.gateway-logo{width:64px;height:64px;border-radius:20px;background:var(--dark);color:#fff;display:grid;place-items:center;margin:0 auto 17px;font-weight:900}.developer-box{margin-top:18px;padding:18px;border:1px dashed #b49161;background:#fff9ef;border-radius:16px;text-align:left}.legal{padding:70px 0 100px}.legal article{max-width:850px;margin:auto}.legal h2{font-family:'DM Serif Display';font-weight:400;font-size:1.8rem;margin-top:36px}.legal p,.legal li{color:var(--muted);line-height:1.75}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px}.contact-box{padding:27px}.site-footer{background:#eae3da;border-top:1px solid var(--line);padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:30px}.footer-grid p{max-width:360px;color:var(--muted);line-height:1.7}.footer-grid h4{margin:0 0 12px}.footer-grid>div>a:not(.brand){display:block;color:var(--muted);padding:5px 0;font-size:.88rem}.footer-bottom{border-top:1px solid var(--line);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.78rem}.gk-modal{position:fixed;inset:0;z-index:200;background:rgba(21,21,19,.58);display:none;place-items:center;padding:18px}.gk-modal.open{display:grid}.gk-modal-card{position:relative;width:min(600px,100%);max-height:92vh;overflow:auto;background:var(--surface);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.gk-modal-card.wide{width:min(900px,100%)}.modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.2rem}.toast-wrap{position:fixed;right:18px;bottom:18px;z-index:240;display:grid;gap:9px}.toast{background:#1c1d1b;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.success{background:#295f46}.toast.error{background:#8e3838}.hidden{display:none!important}
/* public card */.public-body{--card-accent:#65705f;--card-heading:'Cormorant Garamond';--card-body:'Manrope';background:#e9e4dd;font-family:var(--card-body);color:#282521}.public-card-shell{width:min(520px,100%);margin:auto;background:#f8f4ee;min-height:100vh;box-shadow:0 0 60px rgba(46,37,29,.12);position:relative;overflow:hidden}.public-opening{position:fixed;inset:0;z-index:130;background:#e9e4dd;display:grid;place-items:center;padding:0}.public-opening-inner{width:min(520px,100%);height:100vh;display:grid;grid-template-rows:auto 1fr auto;text-align:center;padding:35px 28px 30px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f2ece3,#e7ded2)}.public-opening-inner:before,.public-opening-inner:after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(71,65,58,.12)}.public-opening-inner:before{left:-160px;top:12%}.public-opening-inner:after{right:-160px;bottom:9%}.public-opening.hide{animation:openingAway .65s cubic-bezier(.65,0,.35,1) forwards;pointer-events:none}.opening-lang{justify-self:end;position:relative;z-index:2}.public-opening-content{align-self:center;position:relative;z-index:2}.public-opening .eyebrow-mini{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.public-opening .opening-title{font-family:var(--card-heading);font-size:2rem;font-weight:500;margin:28px 0 7px}.public-opening .public-names{font-family:var(--card-heading);font-size:3.5rem;line-height:.9;margin:8px 0 18px}.public-opening .opening-msg{font-size:.82rem;line-height:1.75;max-width:330px;margin:0 auto 22px}.open-invite{border:0;background:var(--card-accent);color:#fff;padding:13px 20px;border-radius:999px;cursor:pointer;font-weight:800;font-size:.78rem}.opening-date{font-size:.72rem;letter-spacing:.08em}.public-hero{min-height:92vh;display:grid;align-content:center;text-align:center;padding:60px 32px;background:linear-gradient(180deg,rgba(246,240,232,.45),rgba(246,240,232,.95)),radial-gradient(circle at 15% 15%,rgba(101,112,95,.20),transparent 22%)}.public-kicker{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}.public-hero h1{font-family:var(--card-heading);font-weight:500;font-size:4rem;line-height:.88;margin:23px 0}.public-date{font-size:.83rem}.public-section{padding:70px 30px;text-align:center}.public-section.alt{background:#efe9e1}.public-section h2{font-family:var(--card-heading);font-size:2.6rem;font-weight:500;line-height:1;margin:8px 0 18px}.public-section p{font-size:.82rem;line-height:1.75;color:#615c56}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:23px}.count-box{padding:15px 5px;border:1px solid rgba(38,35,32,.11);border-radius:12px}.count-box strong{display:block;font-family:var(--card-heading);font-size:1.6rem}.count-box small{font-size:.6rem}.public-info-card{padding:24px;border:1px solid rgba(38,35,32,.12);border-radius:20px;background:rgba(255,255,255,.38);margin-top:18px}.public-info-card strong{display:block;font-family:var(--card-heading);font-size:1.45rem}.public-link{display:inline-flex;margin-top:16px;border-bottom:1px solid currentColor;font-size:.76rem;font-weight:800}.timeline{display:grid;gap:0;text-align:left;max-width:340px;margin:24px auto 0}.timeline-row{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid rgba(38,35,32,.1);font-size:.8rem}.timeline-row strong{font-family:var(--card-heading);font-size:1.15rem}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:22px}.gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}.gallery-placeholder{aspect-ratio:4/5;border-radius:12px;background:linear-gradient(145deg,#e7dfd3,#d6e0d2);display:grid;place-items:center;color:#7c756d;font-size:.72rem}.wish-list{display:grid;gap:9px;margin-top:20px;text-align:left}.wish{padding:14px;border-radius:14px;background:rgba(255,255,255,.52);font-size:.76rem}.wish strong{display:block;margin-bottom:4px}.public-footer{text-align:center;padding:50px 25px 105px;color:#766f67;font-size:.7rem}.public-actions{position:fixed;z-index:80;bottom:14px;left:50%;transform:translateX(-50%);width:min(486px,calc(100% - 28px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;background:rgba(28,29,27,.88);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.public-actions button,.public-actions a{border:0;background:transparent;color:#fff;display:grid;place-items:center;gap:4px;padding:8px 4px;border-radius:11px;cursor:pointer;font-size:.57rem}.public-actions button:hover,.public-actions a:hover{background:rgba(255,255,255,.09)}.public-actions .pa-ico{font-size:1rem}.public-missing{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}.public-missing .card{padding:35px;max-width:450px}@keyframes openingAway{to{opacity:0;transform:translateY(-100%)}}.theme-noir.public-opening-inner,.theme-noir.public-hero{background:#171816;color:#f5efe5}.theme-heritage.public-opening-inner,.theme-heritage.public-hero{background:linear-gradient(160deg,#f1e6d4,#d7c2a8)}.theme-sage.public-opening-inner,.theme-sage.public-hero{background:linear-gradient(160deg,#e4ebe3,#b8c7b8)}.theme-celestial.public-opening-inner,.theme-celestial.public-hero{background:linear-gradient(160deg,#edf2fa,#ccd7e8)}
@media(max-width:1050px){.hero-grid,.split-showcase,.upgrade-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy .lead{margin-inline:auto}.hero-actions,.mini-proof{justify-content:center}.hero-stage{min-height:590px}.feature-strip{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.studio{grid-template-columns:220px minmax(340px,1fr)}.studio-preview{display:none}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:800px){:root{--nav:68px}.container{width:min(100% - 26px,1180px)}.nav-links,.text-link,.user-chip b{display:none}.menu-btn{display:grid}.nav-cta{display:none}.mobile-menu{position:fixed;top:var(--nav);left:0;right:0;background:rgba(245,241,235,.98);border-bottom:1px solid var(--line);padding:12px 16px 18px;box-shadow:var(--shadow-sm)}.mobile-menu.open{display:grid;gap:4px}.mobile-menu>a{padding:11px 12px;border-radius:12px;font-weight:800}.display{font-size:3.65rem}.hero{padding-top:45px}.hero-stage{min-height:540px}.phone{width:275px}.phone-screen{height:530px}.float-note.one{left:0}.float-note.two{right:0}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.theme-grid{grid-template-columns:1fr 1fr}.pricing-grid,.auth-shell,.contact-grid{grid-template-columns:1fr}.auth-art{display:none}.wizard-shell{grid-template-columns:1fr}.steps{position:static;display:flex;overflow:auto;padding:9px}.step{min-width:max-content}.choice-grid{grid-template-columns:1fr}.user-card{grid-template-columns:80px 1fr}.user-thumb{height:95px}.user-actions{grid-column:1/-1;justify-content:flex-start}.studio{height:auto;min-height:calc(100vh - var(--nav));display:block}.studio-side{position:sticky;top:var(--nav);z-index:20;display:flex;gap:5px;overflow:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.studio-brand-card{display:none}.studio-tabs{display:flex;gap:5px}.studio-tab{min-width:max-content}.studio-tab .ico{display:none}.studio-tab .lock{margin-left:2px}.studio-form{overflow:visible;padding:18px}.studio-form-head{top:calc(var(--nav) + 53px);margin:-18px -18px 18px;padding:14px 18px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{display:block}.payment-card{position:static}}
@media(max-width:560px){.section{padding:72px 0}.section-sm{padding:40px 0}.grid-2,.grid-3,.grid-4,.theme-grid,.pricing-grid,.metric-grid,.upgrade-checks{grid-template-columns:1fr}.display{font-size:3.25rem}.title-lg{font-size:2.55rem}.hero-stage{min-height:500px}.phone{width:250px}.phone-screen{height:485px}.hero-orbit{width:430px;height:430px}.float-note{display:none}.category-art{height:210px}.feature-strip{grid-template-columns:1fr}.theme-preview{height:330px}.form-row{grid-template-columns:1fr}.dash-header{align-items:flex-start;flex-direction:column}.dashboard-toolbar{align-items:flex-start;flex-direction:column}.user-card{grid-template-columns:65px 1fr}.user-thumb{height:80px}.user-actions .btn{min-height:39px;padding:8px 11px;font-size:.74rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.public-opening-inner{padding-left:22px;padding-right:22px}.public-opening .public-names{font-size:3rem}.public-hero h1{font-size:3.5rem}.public-section{padding-left:22px;padding-right:22px}.public-actions{bottom:9px}.studio-form-head{flex-direction:column;align-items:flex-start}.theme-pick-grid{grid-template-columns:1fr 1fr}.gk-modal-card{padding:20px}.segment{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.swatch.theme-linen{background:linear-gradient(145deg,#f4eee5,#dbe3d5)}.swatch.theme-pearl{background:linear-gradient(145deg,#fbf9f5,#e6dccd)}.swatch.theme-petal{background:linear-gradient(145deg,#f7e9ea,#dcaeb3)}.swatch.theme-cloud{background:linear-gradient(145deg,#edf4f1,#bdd3cb)}.swatch.theme-noir{background:linear-gradient(145deg,#171816,#53604f)}.swatch.theme-heritage{background:linear-gradient(145deg,#efe4d3,#b39271)}.swatch.theme-sage{background:linear-gradient(145deg,#dfe7df,#7f9584)}.swatch.theme-celestial{background:linear-gradient(145deg,#e6ecf6,#91a5c7)}
.public-opening-inner.opening-minimal{background:#f8f5ef}.public-opening-inner.opening-minimal:before,.public-opening-inner.opening-minimal:after{display:none}.public-opening-inner.opening-editorial .public-opening-content{text-align:left}.public-opening-inner.opening-editorial .public-names{font-size:4.5rem;max-width:420px}.public-opening-inner.opening-photo{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.3);background-color:#2a2a27;background-size:cover;background-position:center}.public-opening-inner.opening-photo:before{inset:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.5));z-index:0}.public-opening-inner.opening-photo>*{position:relative;z-index:1}

/* ============================================================
   TUJU V4 — Studio + Real Invitation Experience
   ============================================================ */
.studio-v4{grid-template-columns:230px minmax(430px,1fr) 390px}.studio-head-actions{display:flex;gap:7px;flex-wrap:wrap}.studio-brand-card strong{display:block;margin:5px 0}.studio-tab .ico{font-size:.66rem;font-weight:900;letter-spacing:.02em}.preview-tools{display:flex;justify-content:space-between;align-items:center}.preview-tools>div{display:grid;gap:2px}.preview-tools small{font-size:.68rem;color:var(--muted)}.preview-phone-live{width:330px;height:690px;padding:10px;border-radius:42px;background:#171815;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(31,27,23,.25);position:relative;overflow:hidden}.preview-phone-live iframe{width:100%;height:100%;border:0;border-radius:32px;background:#eee;display:block;overscroll-behavior:none}.preview-notch{position:absolute;z-index:5;top:18px;left:50%;transform:translateX(-50%);width:94px;height:24px;border-radius:20px;background:#111;pointer-events:none}.opening-style-note{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);background:#fff;border-radius:18px;margin:16px 0 22px}.opening-style-note>span{font-size:2rem}.opening-style-note p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.feature-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 24px}.feature-plan-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.feature-plan-card.pro{background:linear-gradient(145deg,#191b18,#2c332d);color:#f7f2e9}.feature-plan-card h3{margin:10px 0}.feature-list-compact{display:grid;gap:8px;font-size:.78rem}.feature-list-compact span{display:flex;gap:6px}.toggle-row small{display:block;color:var(--muted);font-size:.64rem;margin-top:3px}.toggle-row.is-locked{opacity:.58}.music-grid{display:grid;gap:9px}.music-choice{display:grid;grid-template-columns:42px 1fr 42px auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.2s}.music-choice.selected{border-color:var(--pine);box-shadow:0 0 0 2px rgba(47,111,94,.08)}.music-index{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--bone-2);font-size:.75rem;font-weight:900}.music-choice strong,.music-choice small{display:block}.music-choice small{font-size:.66rem;color:var(--muted);margin-top:2px}.music-play{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}.upload-success{padding:10px 12px;margin-top:10px;border-radius:12px;background:#eef7f2;color:#1f5c47;font-size:.78rem;font-weight:800}.planning-grid{display:grid;grid-template-columns:1fr;gap:14px}.setting-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.planning-list{display:grid;gap:8px}.planning-task{display:grid;grid-template-columns:20px 1fr 32px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.planning-inline-input{width:100%;border:0;background:transparent;font:inherit;color:inherit;outline:none;padding:4px 0}.planning-task input:checked+.planning-inline-input{text-decoration:line-through;color:var(--muted)}.icon-delete{border:0;background:transparent;color:#9b4646;cursor:pointer;font-size:1.2rem}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 16px}.budget-summary>div{padding:12px;border-radius:14px;background:var(--bone);border:1px solid var(--line)}.budget-summary small,.budget-summary strong{display:block}.budget-summary small{font-size:.65rem;color:var(--muted)}.budget-summary strong{margin-top:4px}.budget-table{display:grid;gap:3px}.budget-head,.budget-row{display:grid;grid-template-columns:minmax(110px,1.3fr) 90px 90px 28px;gap:6px;align-items:center}.budget-head{font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 4px 6px}.budget-row{padding:7px 4px;border-top:1px solid var(--line)}.input.compact{min-height:36px;padding:7px 8px;font-size:.75rem}.studio-list{display:grid;gap:7px;margin-top:14px}.studio-list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}.studio-list-row strong,.studio-list-row small{display:block}.studio-list-row small{font-size:.7rem;color:var(--muted);margin-top:3px}.empty-mini{padding:18px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted);font-size:.8rem}.gallery-editor-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.public-modal-actions .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.upgrade-banner{display:flex;justify-content:space-between;align-items:center;gap:14px}.upgrade-banner p{margin:5px 0 0}.upgrade-banner .btn{white-space:nowrap}

/* Public invitation */
.public-body{font-family:var(--card-body);background:#d9d2c9}.public-card-shell{width:min(520px,100%);margin:auto;background:#f8f4ee;min-height:100vh;box-shadow:0 0 55px rgba(27,24,21,.12);position:relative;overflow:hidden}.public-embed{height:100vh;overflow:hidden}.public-embed .public-card-shell{height:100vh;min-height:0;overflow:hidden}.public-embed .public-footer{display:none}.public-embed .public-actions{bottom:8px}.public-opening{position:fixed;inset:0;z-index:130;background:radial-gradient(circle at 50% 32%,#f9f5ee 0,#eee7dd 42%,#ddd4c8 100%);display:grid;place-items:center;padding:20px;overflow:hidden}.opening-scene{width:min(430px,100%);height:min(820px,100vh);display:grid;grid-template-rows:1fr 330px 1fr;align-items:center;text-align:center;position:relative}.opening-copy{align-self:end;padding-bottom:20px}.opening-copy h1{font-family:var(--card-heading);font-size:2.7rem;line-height:.95;font-weight:500;margin:10px 0 8px}.opening-copy p{margin:0;color:#756e65;font-size:.78rem}.eyebrow-mini{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}.envelope-wrap{width:310px;height:250px;margin:auto;border:0;background:transparent;position:relative;cursor:pointer;perspective:1000px;display:block}.envelope-shadow{position:absolute;left:18px;right:18px;bottom:15px;height:32px;border-radius:50%;background:rgba(36,30,24,.18);filter:blur(14px);transition:transform .8s}.envelope-body{position:absolute;left:5px;right:5px;top:35px;height:190px;transform-style:preserve-3d}.envelope-back{position:absolute;inset:0;background:#e9dfd1;border-radius:7px;box-shadow:0 20px 45px rgba(65,54,43,.18)}.envelope-left,.envelope-right,.envelope-front,.envelope-flap{position:absolute;inset:0;pointer-events:none}.envelope-left{clip-path:polygon(0 0,53% 52%,0 100%);background:#e3d6c5}.envelope-right{clip-path:polygon(100% 0,47% 52%,100% 100%);background:#ded0be}.envelope-front{clip-path:polygon(0 100%,0 78%,50% 38%,100% 78%,100% 100%);background:#f0e7db;z-index:4}.envelope-flap{clip-path:polygon(0 0,100% 0,50% 64%);background:#f3eadf;transform-origin:top center;z-index:5;transition:transform .75s cubic-bezier(.2,.7,.2,1),z-index .1s .35s}.envelope-card{position:absolute;z-index:3;left:28px;right:28px;top:18px;height:160px;background:#fffdf8;border:1px solid rgba(56,48,40,.1);border-radius:4px;display:grid;align-content:center;gap:8px;padding:18px;box-shadow:0 10px 25px rgba(62,52,42,.12);transition:transform .85s cubic-bezier(.2,.8,.2,1) .32s}.envelope-card small{font-size:.54rem;letter-spacing:.16em;text-transform:uppercase}.envelope-card strong{font-family:var(--card-heading);font-size:1.75rem;font-weight:500}.envelope-card em{font-style:normal;font-size:.62rem;color:#756e65}.envelope-seal{position:absolute;z-index:7;left:50%;top:82px;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#6a7564;color:#fff;font-family:Georgia,serif;font-size:.78rem;box-shadow:0 6px 15px rgba(52,61,49,.25);transition:opacity .25s .18s,transform .35s}.opening-active .envelope-flap{transform:rotateX(180deg);z-index:1}.opening-active .envelope-card{transform:translateY(-98px)}.opening-active .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}.opening-active .envelope-shadow{transform:scale(.88)}.opening-active .opening-copy,.opening-active .opening-bottom{opacity:.45;transition:opacity .4s}.public-opening.hide{animation:openingAway .6s .05s ease forwards;pointer-events:none}.opening-bottom{align-self:start;padding-top:26px}.opening-bottom p{max-width:310px;margin:12px auto 0;font-size:.72rem;line-height:1.6;color:#777067}.open-envelope-btn{border:0;background:#272924;color:#fff;border-radius:999px;padding:13px 21px;font-size:.73rem;font-weight:800;cursor:pointer}.open-envelope-btn span{margin-left:7px}.public-lang-toggle{position:fixed;z-index:145;right:max(15px,calc((100vw - 500px)/2 + 16px));top:15px;height:36px;padding:0 11px;border:1px solid rgba(40,36,32,.14);border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);display:flex;align-items:center;gap:6px;color:#2f2d29;font-size:.66rem;font-weight:900;cursor:pointer}.public-lang-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.public-lang-toggle.in-card{z-index:70}.public-hero{min-height:100vh;display:grid;align-content:center;text-align:center;padding:70px 34px;position:relative}.public-hero .hero-ornament{position:absolute;top:34px;left:50%;transform:translateX(-50%);font-size:.58rem;letter-spacing:.45em;opacity:.55}.public-hero h1{font-size:4.3rem;line-height:.86}.public-time{font-size:.7rem;margin-top:7px}.public-hashtag{font-size:.72rem}.hero-scroll-mark{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);font-size:1.2rem;animation:heroBounce 1.8s infinite}.public-prayer h2{font-family:serif;font-size:1.45rem;line-height:1.8}.public-inline-actions{display:flex;justify-content:center;gap:8px}.public-outline-btn{border:1px solid currentColor;background:transparent;padding:12px 18px;border-radius:999px;font-weight:800;cursor:pointer}.attendance-public{display:grid;place-items:center}.attendance-public strong{font-family:var(--card-heading);font-size:4.5rem;font-weight:500}.attendance-public span{font-size:.76rem;color:#766f67}.wishlist-public{display:grid;gap:8px;text-align:left;margin-top:20px}.wishlist-public article{display:flex;gap:12px;padding:13px 14px;border:1px solid rgba(38,35,32,.1);border-radius:14px;background:rgba(255,255,255,.48)}.wishlist-public article>span{font-size:1.2rem}.wishlist-public strong,.wishlist-public small{display:block}.wishlist-public small{margin-top:3px;color:#756e65}.public-link{border:0;background:transparent;color:inherit;cursor:pointer}.public-actions{position:fixed;z-index:80;bottom:12px;left:50%;transform:translateX(-50%);width:min(500px,calc(100% - 18px));padding:6px;background:rgba(25,26,23,.92);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.09);border-radius:20px;box-shadow:0 14px 35px rgba(0,0,0,.2);overflow:hidden}.public-actions-scroll{display:flex;overflow-x:auto;scrollbar-width:none;gap:3px}.public-actions-scroll::-webkit-scrollbar{display:none}.public-actions button{flex:0 0 70px;min-height:58px;border:0;background:transparent;color:#fff;display:grid;place-items:center;align-content:center;gap:4px;padding:6px 3px;border-radius:13px;cursor:pointer;font-size:.52rem;line-height:1.1}.public-actions button:hover,.public-actions button.playing{background:rgba(255,255,255,.1)}.public-actions .pa-ico{display:grid;place-items:center}.public-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.modal-gallery{max-height:62vh;overflow:auto}.card-effects{position:fixed;z-index:45;inset:0;pointer-events:none;overflow:hidden}.card-effects span{position:absolute;top:-5%;left:calc((var(--i) * 8.3%));font-size:calc(10px + (var(--i) % 4) * 3px);opacity:.42;animation:effectFall calc(7s + (var(--i) % 5)*1.4s) linear infinite;animation-delay:calc(var(--i)*-.7s)}.effect-sparkles span{animation-name:effectFloat}.effect-hearts span{opacity:.28}.public-embed .public-lang-toggle{position:absolute}.public-embed .public-actions{position:absolute}.public-embed .card-effects{position:absolute}.public-embed .public-opening{position:absolute}.public-embed .gk-modal{position:absolute}.public-embed .gk-modal-card{max-height:82vh;overflow:auto}
@keyframes heroBounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}@keyframes effectFall{from{transform:translateY(-10vh) rotate(0)}to{transform:translateY(112vh) rotate(260deg)}}@keyframes effectFloat{0%,100%{transform:translateY(0) scale(.8);opacity:.1}50%{transform:translateY(55vh) scale(1.2);opacity:.5}}
@media(max-width:1150px){.studio-v4{grid-template-columns:210px minmax(420px,1fr)}.studio-v4 .studio-preview{display:none}}
@media(max-width:800px){.studio-v4{display:block}.feature-plan-grid{grid-template-columns:1fr}.upgrade-banner{align-items:flex-start;flex-direction:column}.music-choice{grid-template-columns:38px 1fr 38px}.music-choice>.btn{grid-column:1/-1}.budget-head,.budget-row{grid-template-columns:minmax(100px,1fr) 78px 78px 26px}.public-lang-toggle{right:14px}.opening-scene{grid-template-rows:1fr 300px 1fr}.envelope-wrap{width:280px;height:230px}.envelope-body{height:175px}.public-hero h1{font-size:3.8rem}}
@media(max-width:520px){.budget-summary{grid-template-columns:1fr}.budget-head{display:none}.budget-row{grid-template-columns:1fr 1fr 1fr 24px}.budget-row>.planning-inline-input{grid-column:1/-1}.public-actions button{flex-basis:66px}.opening-copy h1{font-size:2.35rem}.envelope-wrap{width:260px}.envelope-card strong{font-size:1.5rem}.public-hero h1{font-size:3.35rem}}
.voucher-box{margin:18px 0}.voucher-entry{display:grid;grid-template-columns:1fr auto;gap:8px}.payment-breakdown{margin:18px 0;border-top:1px solid var(--line);padding-top:8px}.payment-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0}.payment-breakdown .payment-total{border-top:1px solid var(--line);margin-top:5px;padding-top:14px;font-size:1.05rem}.payment-receipt{max-width:520px;margin:20px auto 0;text-align:left}
.public-lang-toggle{min-width:78px;justify-content:space-between;padding:3px 7px!important;gap:5px!important}.public-lang-toggle span{position:relative;z-index:2;width:24px;text-align:center;transition:.2s}.public-lang-toggle i{position:absolute;width:32px;height:28px;border-radius:999px;background:#272924;left:4px;transition:left .22s ease;box-shadow:0 3px 10px rgba(0,0,0,.12)}.public-lang-toggle.lang-en i{left:41px}.public-lang-toggle.lang-ms span:first-child,.public-lang-toggle.lang-en span:last-child{color:#fff}.public-lang-toggle.lang-ms span:last-child,.public-lang-toggle.lang-en span:first-child{color:#6f685f}

/* =========================================================
   TUJU V5 — invitation experience + toggle + studio
   ========================================================= */
.site-lang-toggle{position:relative;min-width:82px;height:40px;padding:3px 6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.64);display:flex;align-items:center;justify-content:space-between;gap:4px;cursor:pointer;overflow:hidden;font-size:.67rem;font-weight:900}.site-lang-toggle span{position:relative;z-index:2;width:28px;text-align:center;transition:.2s}.site-lang-toggle i{position:absolute;left:4px;width:34px;height:32px;border-radius:999px;background:var(--dark);transition:left .22s cubic-bezier(.2,.8,.2,1);box-shadow:0 5px 12px rgba(0,0,0,.12)}.site-lang-toggle.lang-en i{left:43px}.site-lang-toggle.lang-ms span:first-child,.site-lang-toggle.lang-en span:last-child{color:#fff}.site-lang-toggle.lang-ms span:last-child,.site-lang-toggle.lang-en span:first-child{color:var(--muted)}

.public-body-v5{margin:0;background:#171715;overflow:hidden}.public-v5-root{--card-heading:'Cormorant Garamond';--card-body:Manrope;--card-ink:#302b27;position:relative;width:min(520px,100vw);height:100svh;margin:auto;overflow:hidden;background:#eee;color:var(--card-ink);font-family:var(--card-body);box-shadow:0 0 90px rgba(0,0,0,.34)}.invite-scroll-v5{height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:none}.invite-scroll-v5::-webkit-scrollbar{display:none}.invite-track-v5{min-height:100%;position:relative}.invite-panel{position:relative;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center;text-align:center;padding:76px 34px 104px;background-position:center;background-size:cover;background-repeat:no-repeat;isolation:isolate;overflow:hidden}.invite-panel:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.18))}.invite-panel.panel-main{background-image:var(--main-bg)}.invite-panel.panel-content{background-image:var(--content-bg)}.theme-noir .invite-panel:before{background:linear-gradient(180deg,rgba(8,9,8,.08),rgba(8,9,8,.2))}.invite-frame-lines{position:absolute;inset:28px;border:1px solid color-mix(in srgb,var(--card-ink) 14%,transparent);pointer-events:none}.invite-frame-lines:after,.invite-frame-lines:before{content:'✦';position:absolute;left:50%;transform:translateX(-50%);font-size:9px;background:transparent}.invite-frame-lines:before{top:-6px}.invite-frame-lines:after{bottom:-6px}.invite-hero-content{width:100%;display:grid;justify-items:center}.invite-monogram{font-size:.59rem;letter-spacing:.52em;margin-left:.52em;opacity:.64;margin-bottom:56px}.public-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.6rem;font-weight:800;opacity:.7}.invite-hero h1{font-family:var(--card-heading);font-size:clamp(3.7rem,13vw,5.4rem);font-weight:500;line-height:.84;letter-spacing:-.045em;margin:16px -10px 18px;max-width:100%}.invite-divider{width:150px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 18px}.invite-divider span{height:1px;background:currentColor;opacity:.22}.invite-divider i{font-style:normal;font-size:8px;opacity:.55}.invite-date{font-family:var(--card-heading);font-size:1.18rem;margin:0}.invite-time,.invite-hashtag{font-size:.71rem;letter-spacing:.06em;margin:8px 0 0;opacity:.76}.swipe-hint{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);display:grid;gap:6px;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;opacity:.62;animation:swipeHint 1.8s ease-in-out infinite}.invite-section-card{width:min(410px,100%);padding:42px 28px;border:1px solid color-mix(in srgb,var(--card-ink) 13%,transparent);background:color-mix(in srgb,#fff 34%,transparent);backdrop-filter:blur(3px);box-shadow:0 24px 55px rgba(42,32,22,.06)}.invite-section-card.transparent-card{background:color-mix(in srgb,#fff 13%,transparent)}.invite-section-card h2{font-family:var(--card-heading);font-size:2.55rem;line-height:.96;font-weight:500;letter-spacing:-.03em;margin:13px 0 16px}.invite-section-card>p{font-size:.78rem;line-height:1.75;opacity:.78;margin:0 auto;max-width:34ch}.count-grid-v5{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:28px 0}.count-grid-v5>div{border-top:1px solid color-mix(in srgb,var(--card-ink) 18%,transparent);border-bottom:1px solid color-mix(in srgb,var(--card-ink) 18%,transparent);padding:14px 2px}.count-grid-v5 strong{display:block;font-family:var(--card-heading);font-size:2rem;font-weight:500}.count-grid-v5 span{font-size:.55rem;text-transform:uppercase;letter-spacing:.09em;opacity:.66}.event-summary-v5{margin-top:25px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--card-ink) 12%,transparent)}.event-summary-v5 span,.event-summary-v5 p{display:block;font-size:.69rem;margin:6px 0;opacity:.76}.event-summary-v5 strong{font-family:var(--card-heading);font-size:1.4rem;font-weight:500}.location-address{max-width:30ch!important}.programme-list{display:grid;gap:0;margin:26px 0;text-align:left;border-top:1px solid color-mix(in srgb,var(--card-ink) 13%,transparent)}.programme-row{display:grid;grid-template-columns:66px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--card-ink) 13%,transparent);font-size:.7rem}.programme-row time{font-weight:900}.programme-row span{opacity:.75}.bismillah{font-family:serif;font-size:1.55rem;line-height:2;margin:25px 0 15px}.prayer-v5 h2{font-size:2.1rem}.mini-card-button,.primary-card-button{border:0;cursor:pointer;font-family:var(--card-body);font-weight:800}.mini-card-button{margin:20px auto 0;padding:10px 14px;background:transparent;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:5px;font-size:.7rem}.mini-card-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}.primary-card-button{margin:24px auto 0;background:var(--card-ink);color:#fff;padding:13px 20px;border-radius:999px}.theme-noir .primary-card-button{background:#f1ece2;color:#1a1b18}.gallery-v5{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:140px 140px;gap:6px;margin-top:25px}.gallery-v5 figure{margin:0;overflow:hidden}.gallery-v5 figure:first-child{grid-row:1/3}.gallery-v5 img{width:100%;height:100%;object-fit:cover}.gallery-v5>span{display:grid;place-items:center;background:color-mix(in srgb,#fff 30%,transparent);border:1px solid color-mix(in srgb,var(--card-ink) 12%,transparent);font-family:var(--card-heading);font-size:2rem}.wish-stack-v5{display:grid;gap:8px;margin-top:24px}.wish-stack-v5 blockquote{margin:0;padding:12px 14px;border-top:1px solid color-mix(in srgb,var(--card-ink) 11%,transparent);text-align:left}.wish-stack-v5 strong,.wish-stack-v5 span{display:block}.wish-stack-v5 strong{font-size:.66rem}.wish-stack-v5 span{font-family:var(--card-heading);font-size:1rem;margin-top:4px}.closing-v5 .invite-section-card h2{font-size:3.3rem}.closing-mark{font-size:.56rem;letter-spacing:.28em;margin-top:58px;opacity:.55}

.public-opening-v5{position:absolute;inset:0;z-index:150;background-image:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.18)),var(--opening-bg);background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden;transition:opacity .55s ease,transform .7s cubic-bezier(.3,.75,.2,1)}.opening-v5-inner{width:100%;height:100%;display:grid;grid-template-rows:1fr 330px 1fr;align-items:center;justify-items:center;padding:48px 24px 34px;text-align:center}.opening-v5-copy{align-self:end;padding-bottom:15px}.opening-v5-copy small{font-size:.58rem;letter-spacing:.23em;text-transform:uppercase;font-weight:800}.opening-v5-copy h1{font-family:var(--card-heading);font-size:3.1rem;line-height:.9;font-weight:500;letter-spacing:-.04em;margin:12px 0 10px}.opening-v5-copy p{font-size:.72rem;opacity:.72;margin:0}.envelope-v5{position:relative;width:318px;height:250px;border:0;background:transparent;cursor:pointer;perspective:1200px;filter:drop-shadow(0 22px 28px rgba(54,43,32,.16))}.envelope-v5-shadow{position:absolute;left:25px;right:25px;bottom:6px;height:28px;border-radius:50%;background:rgba(38,31,25,.16);filter:blur(13px)}.envelope-v5-back{position:absolute;left:10px;right:10px;top:45px;height:175px;background:linear-gradient(135deg,#eee5d8,#d8cbb9);border-radius:7px;box-shadow:inset 0 0 0 1px rgba(70,58,47,.08)}.envelope-v5-letter{position:absolute;z-index:3;left:40px;right:40px;top:58px;height:152px;background:#fffdf8;border:1px solid rgba(69,56,44,.12);display:grid;align-content:center;gap:8px;padding:17px;transition:transform .85s cubic-bezier(.18,.75,.22,1) .24s;box-shadow:0 8px 22px rgba(61,47,35,.11)}.envelope-v5-letter:after{content:'';position:absolute;inset:9px;border:1px solid rgba(90,71,54,.08);pointer-events:none}.envelope-v5-letter small{font-size:.49rem;letter-spacing:.18em;text-transform:uppercase}.envelope-v5-letter strong{font-family:var(--card-heading);font-size:1.72rem;font-weight:500;line-height:.9}.envelope-v5-letter em{font-style:normal;font-size:.57rem;opacity:.68}.envelope-v5-left,.envelope-v5-right,.envelope-v5-front,.envelope-v5-flap{position:absolute;left:10px;right:10px;top:45px;height:175px;pointer-events:none}.envelope-v5-left{z-index:4;clip-path:polygon(0 0,54% 53%,0 100%);background:#dfd2c1}.envelope-v5-right{z-index:4;clip-path:polygon(100% 0,46% 53%,100% 100%);background:#d7c8b5}.envelope-v5-front{z-index:5;clip-path:polygon(0 100%,0 74%,50% 42%,100% 74%,100% 100%);background:linear-gradient(180deg,#f1e9dd,#e8ddcf)}.envelope-v5-flap{z-index:6;clip-path:polygon(0 0,100% 0,50% 64%);background:linear-gradient(180deg,#f4ede3,#e6d9c9);transform-origin:top center;transition:transform .7s cubic-bezier(.25,.72,.2,1),z-index 0s .36s}.envelope-v5-seal{position:absolute;z-index:8;left:50%;top:125px;transform:translate(-50%,-50%);width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:var(--card-accent);color:#fff;font-family:Georgia,serif;font-size:.7rem;box-shadow:0 6px 14px rgba(47,44,38,.21),inset 0 0 0 4px rgba(255,255,255,.11);transition:opacity .2s .15s,transform .3s}.public-opening-v5.is-opening .envelope-v5-flap{transform:rotateX(180deg);z-index:2}.public-opening-v5.is-opening .envelope-v5-letter{transform:translateY(-108px)}.public-opening-v5.is-opening .envelope-v5-seal{opacity:0;transform:translate(-50%,-50%) scale(.65)}.public-opening-v5.is-opening .opening-v5-copy,.public-opening-v5.is-opening .opening-v5-bottom{opacity:.35;transition:.4s}.public-opening-v5.is-gone{opacity:0;transform:scale(1.03);pointer-events:none}.opening-v5-bottom{align-self:start;padding-top:18px}.opening-v5-bottom button{border:0;background:var(--card-ink);color:#fff;border-radius:999px;padding:13px 21px;font-size:.69rem;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(34,29,25,.14)}.opening-v5-bottom p{max-width:290px;margin:12px auto 0;font-size:.68rem;line-height:1.6;opacity:.68}.opening-v5-bottom span{margin-left:6px}.public-lang-toggle{z-index:190}.public-v5-root:not(.invite-opened)>.in-card,.public-v5-root:not(.invite-opened)>.public-dock-v5{opacity:0;pointer-events:none}.public-lang-toggle.opening-lang{position:absolute}.public-lang-toggle.in-card{position:absolute;top:13px;right:13px;transition:.3s}

.public-dock-v5{position:absolute;z-index:110;left:9px;right:9px;bottom:9px;padding:5px;background:rgba(24,25,23,.91);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.09);border-radius:20px;box-shadow:0 12px 35px rgba(0,0,0,.24);transition:.35s}.public-dock-v5>div{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.public-dock-v5>div::-webkit-scrollbar{display:none}.public-dock-v5 button{position:relative;flex:0 0 66px;min-height:59px;border:0;background:transparent;color:#fff;border-radius:14px;display:grid;place-items:center;align-content:center;gap:4px;padding:5px 2px;cursor:pointer;font-size:.49rem;line-height:1.05}.public-dock-v5 button:hover{background:rgba(255,255,255,.1)}.dock-icon{width:26px;height:25px;display:grid;place-items:center}.dock-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.public-dock-v5 button b{position:absolute;right:3px;top:3px;border-radius:999px;background:#d9b06d;color:#271f16;font-size:.42rem;padding:2px 4px;letter-spacing:.04em}.locked-action{opacity:.78}

.sheet-host{position:absolute;inset:0;z-index:180;pointer-events:none}.sheet-host.open{pointer-events:auto}.public-sheet-backdrop{position:absolute;inset:0;background:rgba(15,15,13,.48);opacity:0;animation:sheetFade .24s ease forwards}.public-sheet{position:absolute;z-index:2;left:0;right:0;bottom:0;max-height:82%;background:#fffdf9;color:#211f1c;border-radius:28px 28px 0 0;padding:9px 20px max(24px,env(safe-area-inset-bottom));box-shadow:0 -30px 80px rgba(0,0,0,.23);transform:translateY(100%);animation:sheetUp .34s cubic-bezier(.2,.8,.2,1) forwards;overflow:auto}.public-sheet.sheet-tall{max-height:90%}.sheet-handle{width:38px;height:4px;background:#d9d2c8;border-radius:99px;margin:2px auto 13px}.public-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #eee7dd;padding-bottom:13px}.public-sheet header small{font-size:.54rem;letter-spacing:.18em;color:#7b746b;text-transform:uppercase}.public-sheet header h3{font-family:var(--card-heading);font-size:1.9rem;font-weight:500;margin:3px 0 0}.public-sheet header button{width:36px;height:36px;border:1px solid #e6ded4;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer}.public-sheet header svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}.sheet-content{padding:18px 0 2px}.sheet-note{font-size:.78rem;line-height:1.65;color:#746d65}.sheet-info{padding:18px;background:#f6f1ea;border-radius:17px;margin-bottom:12px}.sheet-info strong{font-family:var(--card-heading);font-size:1.3rem;font-weight:500}.sheet-info p{font-size:.76rem;line-height:1.6;color:#6f685f}.sheet-buttons{display:grid;gap:8px}.sheet-primary,.sheet-secondary{width:100%;min-height:47px;border-radius:13px;border:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 15px;font:800 .78rem var(--card-body);cursor:pointer;text-decoration:none}.sheet-primary{background:#242823;color:#fff}.sheet-secondary{background:#f5f0e9;color:#282521;border:1px solid #e9e0d5}.sheet-primary svg,.sheet-secondary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.locked-sheet{text-align:center;padding:12px 0}.locked-sheet>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#242823;color:#fff;font-size:.6rem;font-weight:900}.locked-sheet p{font-size:.78rem;line-height:1.6;color:#706961;margin:14px auto;max-width:32ch}.music-sheet{display:flex;align-items:center;gap:13px;padding:8px 0 18px}.music-disc{width:58px;height:58px;border-radius:50%;background:#252822;color:#fff;display:grid;place-items:center;font-size:1.25rem;box-shadow:inset 0 0 0 12px #33362f}.music-sheet strong,.music-sheet small{display:block}.music-sheet small{font-size:.62rem;color:#827b72}.attendance-number{display:grid;place-items:center;padding:8px 0 18px}.attendance-number strong{font-family:var(--card-heading);font-size:5rem;font-weight:500;line-height:1}.attendance-number span{font-size:.72rem;color:#746d65}.sheet-list{display:grid}.sheet-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid #eee7df}.sheet-list strong,.sheet-list span{font-size:.72rem}.sheet-list span{color:#776f67}.sheet-form{display:grid;gap:11px}.sheet-form label{display:grid;gap:5px;font-size:.67rem;font-weight:800;color:#5f5952}.sheet-form input,.sheet-form select,.sheet-form textarea{width:100%;border:1px solid #ded6cc;background:#fff;border-radius:12px;padding:11px 12px;outline:none}.sheet-form textarea{min-height:90px;resize:vertical}.sheet-grid{display:grid;grid-template-columns:1fr .7fr;gap:8px}.sheet-wishes{margin-top:20px}.sheet-wishes blockquote{margin:0;padding:11px 0;border-top:1px solid #eee7df}.sheet-wishes strong,.sheet-wishes span{display:block}.sheet-wishes strong{font-size:.65rem}.sheet-wishes span{font-family:var(--card-heading);font-size:1rem;margin-top:3px}.sheet-gallery{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sheet-gallery img{width:100%;height:180px;object-fit:cover;border-radius:8px}.gift-qr{display:grid;place-items:center;margin:0 0 14px}.gift-qr img{width:min(250px,78%);aspect-ratio:1;object-fit:contain;border-radius:18px;background:#fff;padding:8px;border:1px solid #eee5dc}.wishlist-sheet{display:grid;gap:11px}.wishlist-sheet article{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px;border:1px solid #eee5dc;border-radius:15px;background:#fff}.wishlist-sheet img{width:100px;height:100px;object-fit:cover;border-radius:11px;background:#f4efe9}.wishlist-sheet strong,.wishlist-sheet small,.wishlist-sheet a{display:block}.wishlist-sheet strong{font-size:.8rem}.wishlist-sheet small{font-size:.65rem;color:#777067;line-height:1.45;margin-top:5px}.wishlist-sheet a{font-size:.68rem;font-weight:900;margin-top:9px;color:#d94827}.share-copy-preview{width:100%;height:270px;border:1px solid #e4ddd3;border-radius:14px;padding:13px;font:400 .72rem/1.55 var(--card-body);resize:none;background:#faf7f2;margin-bottom:12px}.qr-sheet{display:grid;place-items:center;text-align:center;gap:10px;margin-bottom:15px}.qr-sheet img{width:min(280px,78%);aspect-ratio:1;background:#fff;padding:10px;border:1px solid #ebe3da;border-radius:18px}.qr-sheet small{font-size:.62rem;color:#736c64;word-break:break-all}
.card-effects-v5{position:absolute;inset:0;z-index:80;overflow:hidden;pointer-events:none}.card-effects-v5 span{position:absolute;left:calc(var(--i)*7.1%);top:-6%;font-size:calc(10px + (var(--i)%4)*3px);opacity:.34;animation:v5Fall calc(7s + (var(--i)%5)*1.25s) linear infinite;animation-delay:calc(var(--i)*-.65s)}

.public-embed-v5{background:#e7e1d8}.public-embed-v5 .public-v5-root{width:100%;height:100vh;box-shadow:none}.public-embed-v5 .invite-scroll-v5{height:100%;overflow:hidden}.public-embed-v5 .invite-track-v5{height:100%;transition:transform .48s cubic-bezier(.22,.72,.22,1);will-change:transform}.public-embed-v5 .invite-panel{height:100%;min-height:100%;padding:58px 25px 92px}.public-embed-v5 .invite-hero h1{font-size:3.35rem}.public-embed-v5 .invite-section-card{padding:30px 20px}.public-embed-v5 .invite-section-card h2{font-size:2.05rem}.public-embed-v5 .opening-v5-inner{grid-template-rows:1fr 280px 1fr;padding-top:34px}.public-embed-v5 .envelope-v5{transform:scale(.82)}.public-embed-v5 .public-dock-v5 button{flex-basis:60px}.public-embed-v5 .public-sheet{max-height:88%}.public-embed-v5 .swipe-hint{bottom:76px}

.theme-card .theme-preview-v5{height:390px;position:relative;background-size:cover;background-position:center;display:grid;place-items:center;padding:25px;overflow:hidden}.theme-preview-v5:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.14))}.theme-preview-v5 .theme-preview-card{position:relative;z-index:2}.theme-asset-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 18px 17px}.theme-asset-strip span{height:44px;border-radius:8px;background-size:cover;background-position:center;border:1px solid var(--line)}

.background-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.background-upload-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.background-upload-preview{height:115px;background-size:cover;background-position:center;background-color:#eee7de;position:relative}.background-upload-card .background-upload-body{padding:10px}.background-upload-card strong{display:block;font-size:.75rem}.background-upload-card small{display:block;color:var(--muted);font-size:.62rem;margin:3px 0 8px}.background-upload-card input{width:100%;font-size:.63rem}.background-reset{margin-top:7px;width:100%;border:0;background:#f4efe8;border-radius:9px;padding:7px;font-size:.65rem;font-weight:800;cursor:pointer}.gift-qr-editor{display:grid;grid-template-columns:150px 1fr;gap:15px;align-items:start}.gift-qr-preview{width:150px;aspect-ratio:1;border-radius:15px;border:1px dashed var(--line);background:#f5f0e9;display:grid;place-items:center;overflow:hidden;font-size:.67rem;color:var(--muted);text-align:center;padding:10px}.gift-qr-preview img{width:100%;height:100%;object-fit:contain}.wishlist-editor-v5{display:grid;gap:12px}.wishlist-editor-v5 article{display:grid;grid-template-columns:92px 1fr auto;gap:11px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff}.wishlist-editor-v5 article img{width:92px;height:92px;border-radius:10px;object-fit:cover;background:#f1ece5}.wishlist-editor-v5 article strong,.wishlist-editor-v5 article small{display:block}.wishlist-editor-v5 article small{font-size:.65rem;color:var(--muted);line-height:1.4;margin-top:4px}.wishlist-preview-status{font-size:.65rem;margin-top:5px;color:var(--muted)}.export-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-tool{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.export-tool strong,.export-tool small{display:block}.export-tool small{font-size:.68rem;color:var(--muted);margin:4px 0 10px}.studio-preview{grid-template-rows:auto 1fr!important;align-items:start!important;justify-items:center!important;padding:18px 20px 20px!important;overflow:hidden!important}.studio-preview .preview-tools{position:static!important;width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.studio-preview .preview-tools>div{min-width:0}.studio-preview .preview-tools strong,.studio-preview .preview-tools small{display:block}.studio-preview .preview-tools small{font-size:.66rem;color:var(--muted);margin-top:2px}.preview-phone-live{position:relative;width:350px!important;height:min(720px,calc(100vh - 160px))!important;min-height:590px;border-radius:45px!important;padding:8px!important;background:#111211!important;overflow:hidden!important}.preview-phone-live:before{content:'';position:absolute;z-index:5;top:8px;left:50%;transform:translateX(-50%);width:105px;height:25px;border-radius:0 0 17px 17px;background:#111211;pointer-events:none}.preview-phone-live iframe{width:100%;height:100%;border:0;border-radius:36px;background:#eee;display:block;overflow:hidden}.preview-notch{display:none!important}

@keyframes swipeHint{0%,100%{transform:translate(-50%,0);opacity:.5}50%{transform:translate(-50%,8px);opacity:.8}}@keyframes sheetUp{to{transform:translateY(0)}}@keyframes sheetFade{to{opacity:1}}@keyframes v5Fall{from{transform:translateY(-5vh) rotate(0)}to{transform:translateY(112vh) rotate(250deg)}}

@media(min-width:1100px){.studio-v4{grid-template-columns:220px minmax(390px,1fr) 390px!important}.studio-v4 .studio-preview{display:grid!important}}
@media(max-width:700px){.background-upload-grid{grid-template-columns:1fr}.gift-qr-editor{grid-template-columns:1fr}.gift-qr-preview{width:100%;max-width:220px}.export-tools{grid-template-columns:1fr}.opening-v5-inner{grid-template-rows:1fr 300px 1fr}.envelope-v5{width:285px;transform:scale(.96)}.invite-section-card{padding:34px 22px}.public-sheet{padding-inline:17px}.wishlist-sheet article{grid-template-columns:84px 1fr}.wishlist-sheet img{width:84px;height:84px}}

@media print{
  @page{size:A4;margin:0}.public-body-v5{overflow:visible!important;background:#fff!important}.public-v5-root{width:100%!important;height:auto!important;max-width:none!important;box-shadow:none!important;overflow:visible!important}.public-opening-v5,.public-dock-v5,.public-lang-toggle,.sheet-host,.card-effects-v5,.swipe-hint{display:none!important}.invite-scroll-v5{height:auto!important;overflow:visible!important}.invite-track-v5{transform:none!important}.invite-panel{min-height:100vh!important;height:100vh!important;break-after:page!important;page-break-after:always!important;background-size:cover!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.invite-panel:last-child{break-after:auto!important;page-break-after:auto!important}}

/* =========================================================
   TUJU V6 — TWO-PAGE DIGITAL INVITATION
   Page 1 = Cover / Landing, Page 2 = Long Main Content
   ========================================================= */
.public-card-v6{margin:0;background:#d8d1c7;color:#2d2924;font-family:var(--v6-body,Manrope),system-ui,sans-serif;overflow-x:hidden}.public-card-v6 *{box-sizing:border-box}.v6-public-shell{position:relative;max-width:760px;margin:0 auto;background:#eee7dc;min-height:100vh;box-shadow:0 0 70px rgba(32,27,22,.25)}.v6-document{position:relative}.v6-page{position:relative;background-image:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),var(--page-bg);background-size:cover;background-position:center;background-attachment:scroll}.v6-page-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,247,241,.12),rgba(250,247,241,.22));pointer-events:none}.v6-page-overlay.content{background:linear-gradient(180deg,rgba(255,252,247,.56),rgba(255,252,247,.62))}.v6-cover{min-height:100svh;display:grid;place-items:center;padding:84px 34px 118px}.v6-cover-inner{position:relative;z-index:2;width:min(100%,520px);text-align:center;display:flex;flex-direction:column;align-items:center}.v6-arabic{font-family:"Amiri","Times New Roman",serif;font-size:clamp(2.3rem,8vw,4.4rem);line-height:1.05;margin-bottom:12px}.v6-cover-kicker{font-size:.72rem;letter-spacing:.34em;font-weight:800;margin-bottom:38px}.v6-names{font-family:var(--v6-head,serif);font-size:clamp(3.1rem,11vw,6.2rem);line-height:.88;letter-spacing:-.045em;display:grid;gap:9px;margin:0 0 34px}.v6-names i,.v6-couple-full i{font-family:var(--v6-head,serif);font-weight:400;font-size:.55em;opacity:.72}.v6-cover-date{display:grid;gap:6px;margin-bottom:27px}.v6-cover-date small{font-size:.76rem;font-weight:900;letter-spacing:.28em}.v6-cover-date strong{font-family:var(--v6-head,serif);font-size:1.55rem;letter-spacing:.1em;font-weight:500}.v6-cover-venue{display:flex;align-items:flex-start;justify-content:center;gap:10px;max-width:420px}.v6-cover-venue svg,.v6-detail-grid svg,.v6-location-name svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:0 0 auto}.v6-cover-venue div{display:grid;gap:3px;text-align:left}.v6-cover-venue b{font-size:.78rem}.v6-cover-venue span{font-size:.69rem;line-height:1.45;opacity:.75}.v6-hashtag{font-family:var(--v6-head,serif);font-size:1rem;font-style:italic;margin-top:24px}.v6-scroll-cue{margin-top:34px;border:0;background:rgba(255,255,255,.56);backdrop-filter:blur(8px);padding:10px 14px 10px 16px;border-radius:999px;font:800 .68rem/1 var(--v6-body);display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:inherit}.v6-scroll-cue svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
.v6-content-page{min-height:100svh}.v6-content-inner{position:relative;z-index:2;width:min(100%,620px);margin:0 auto;padding:78px 34px 150px}.v6-intro{text-align:center}.v6-bismillah{font-family:"Amiri","Times New Roman",serif;font-size:clamp(1.55rem,5vw,2.3rem);margin-bottom:27px}.v6-intro>p{font-size:.78rem;line-height:1.8;margin:9px auto;color:#534d45}.v6-intro h3{font-family:var(--v6-head,serif);font-size:1.42rem;font-weight:600;margin:8px 0}.v6-intro>i{display:block;font-family:var(--v6-head,serif);margin:0 0 4px}.v6-honorific{font-weight:800;max-width:520px}.v6-couple-full{display:grid;gap:7px;margin-top:22px}.v6-couple-full strong{font-family:var(--v6-head,serif);font-size:clamp(1.65rem,6vw,2.65rem);line-height:1.05}.v6-divider{display:grid;place-items:center;margin:42px 0 34px}.v6-divider svg{width:150px;height:26px;fill:none;stroke:currentColor;stroke-width:1;opacity:.46}.v6-divider circle{fill:currentColor;stroke:none}.v6-content-section{text-align:center}.v6-section-kicker{margin:0 0 5px;text-transform:uppercase;font-size:.62rem;font-weight:900;letter-spacing:.22em;opacity:.65}.v6-content-section h2{font-family:var(--v6-head,serif);font-size:clamp(2rem,7vw,3.25rem);font-weight:500;letter-spacing:-.035em;margin:0 0 24px}.v6-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v6-detail-grid>div{min-height:118px;border:1px solid rgba(55,49,42,.16);border-radius:20px;background:rgba(255,255,255,.34);backdrop-filter:blur(4px);padding:22px 14px;display:grid;place-items:center;align-content:center;gap:12px}.v6-detail-grid span{font-size:.78rem;font-weight:800}.v6-location-name{display:flex;flex-direction:column;align-items:center;gap:8px}.v6-location-name strong{font-family:var(--v6-head,serif);font-size:1.38rem}.v6-location-name span{font-size:.73rem;max-width:40ch;line-height:1.6}.v6-map-buttons{display:flex;justify-content:center;gap:9px;margin-top:17px}.v6-map-buttons button,.v6-inline-button,.v6-text-button{border:1px solid rgba(49,44,38,.18);background:rgba(255,255,255,.56);color:inherit;border-radius:999px;padding:10px 16px;font:800 .68rem/1 var(--v6-body);cursor:pointer}.v6-schedule{display:grid;gap:0;text-align:left;max-width:430px;margin:0 auto}.v6-schedule>div{display:grid;grid-template-columns:92px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(55,49,42,.14)}.v6-schedule time{font:800 .74rem var(--v6-body)}.v6-schedule span{font-family:var(--v6-head,serif);font-size:1.15rem}.v6-dress{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.v6-dress span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.45);font-size:.73rem;font-weight:800}.v6-prayer p{font-family:var(--v6-head,serif);font-size:clamp(1.3rem,5vw,2rem);line-height:1.55;font-style:italic;max-width:32ch;margin:0 auto}.v6-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.v6-countdown>div{padding:18px 5px;border-radius:18px;background:rgba(255,255,255,.42);border:1px solid rgba(55,49,42,.12)}.v6-countdown strong{display:block;font-family:var(--v6-head,serif);font-size:2rem;font-weight:500}.v6-countdown span{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.v6-gallery{position:relative}.v6-gallery-track{position:relative;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:#eee}.v6-gallery-track figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .6s ease}.v6-gallery-track figure.active{opacity:1}.v6-gallery-track img{width:100%;height:100%;object-fit:cover}.v6-gallery-arrow{position:absolute;top:48%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.78);font-size:1.7rem;cursor:pointer;z-index:2}.v6-gallery-arrow.prev{left:10px}.v6-gallery-arrow.next{right:10px}.v6-gallery-dots{display:flex;justify-content:center;gap:6px;margin-top:11px}.v6-gallery-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(48,43,37,.23)}.v6-gallery-dots button.active{background:#302b25}.v6-attendance-count{display:grid;place-items:center;margin:-4px 0 18px}.v6-attendance-count strong{font-family:var(--v6-head);font-size:4.8rem;font-weight:400;line-height:1}.v6-attendance-count span{font-size:.66rem;opacity:.7}.v6-inline-button{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:#2d2a25;color:#fff}.v6-inline-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}.v6-wish-list{margin-top:24px;display:grid;gap:8px}.v6-wish-list blockquote,.v6-all-wishes blockquote{margin:0;padding:17px 18px;background:rgba(255,255,255,.38);border-radius:18px;border:1px solid rgba(55,49,42,.1)}.v6-wish-list p,.v6-all-wishes p{font-family:var(--v6-head);font-size:1.12rem;line-height:1.4;margin:0 0 8px}.v6-wish-list cite,.v6-all-wishes cite{font-style:normal;font-size:.62rem;font-weight:900;opacity:.65}.v6-empty{font-size:.72rem!important;font-family:var(--v6-body)!important}.v6-text-button{margin-top:11px;background:transparent}.v6-wishlist{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v6-wishlist-item{text-decoration:none;color:inherit;background:rgba(255,255,255,.45);border:1px solid rgba(55,49,42,.1);border-radius:16px;overflow:hidden;text-align:left}.v6-wishlist-item img{width:100%;aspect-ratio:1;object-fit:cover;background:#eee}.v6-wishlist-item div{padding:10px}.v6-wishlist-item strong,.v6-wishlist-item span,.v6-wishlist-item small{display:block}.v6-wishlist-item strong{font-size:.72rem}.v6-wishlist-item span{font-size:.6rem;margin-top:5px;font-weight:900}.v6-wishlist-item small{font-size:.55rem;margin-top:7px;opacity:.65}.v6-card-footer{text-align:center;padding-top:2px;display:grid;place-items:center;gap:4px}.v6-card-footer span,.v6-card-footer small{font-size:.61rem;opacity:.7}.v6-card-footer a{font-family:var(--v6-head);font-size:1.45rem;color:inherit;text-decoration:none}
.v6-opening{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background-image:var(--opening-bg);background-size:cover;background-position:center;transition:opacity .5s ease,visibility .5s ease;overflow:hidden}.v6-opening-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,239,230,.32),rgba(245,239,230,.56))}.v6-opening-copy{position:absolute;z-index:2;top:8.5%;text-align:center;display:grid;gap:5px}.v6-opening-copy small{font-size:.63rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.v6-opening-copy strong{font-family:var(--v6-head);font-size:1.55rem}.v6-opening-copy i{font-weight:400}.v6-envelope{position:relative;z-index:3;width:min(82vw,340px);height:236px;border:0;background:transparent;cursor:pointer;perspective:1000px;filter:drop-shadow(0 24px 30px rgba(55,42,30,.24));transition:transform .35s ease}.v6-envelope:hover{transform:translateY(-4px)}.v6-envelope-back,.v6-envelope-front,.v6-envelope-flap{position:absolute;inset:auto 0 0;height:190px;border-radius:9px;background:#e7d7c1;border:1px solid rgba(92,69,47,.14)}.v6-envelope-back{background:linear-gradient(145deg,#efe4d3,#d9c5aa)}.v6-envelope-front{clip-path:polygon(0 0,50% 49%,100% 0,100% 100%,0 100%);background:linear-gradient(160deg,#e9dcc9,#d9c5aa);z-index:4}.v6-envelope-flap{top:46px;bottom:auto;height:145px;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 100%);background:#eadcc8;z-index:5;transition:transform .65s cubic-bezier(.3,.7,.2,1)}.v6-envelope-letter{position:absolute;z-index:3;left:8%;right:8%;bottom:22px;height:185px;border-radius:8px;background:rgba(255,252,246,.97);display:grid;place-items:center;align-content:center;gap:10px;padding:20px;border:1px solid rgba(85,68,52,.12);transition:transform .78s cubic-bezier(.2,.8,.2,1),bottom .78s}.v6-envelope-letter small{font-size:.58rem;letter-spacing:.2em;font-weight:900}.v6-envelope-letter b{font-family:var(--v6-head);font-size:1.75rem}.v6-envelope-letter em{font-size:.58rem;font-style:normal;opacity:.6}.v6-envelope-seal{position:absolute;z-index:6;left:50%;top:111px;transform:translate(-50%,-50%);width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:#785e46;color:#f7eee1;font-family:Georgia,serif;font-size:1.2rem;border:4px double rgba(255,255,255,.5);transition:opacity .25s}.v6-opening.opening .v6-envelope-flap{transform:rotateX(180deg);z-index:2}.v6-opening.opening .v6-envelope-letter{transform:translateY(-105px) scale(1.03);bottom:30px}.v6-opening.opening .v6-envelope-seal{opacity:0}.v6-opening.gone{opacity:0;visibility:hidden}.v6-opening-hint{position:absolute;z-index:2;bottom:8%;font-size:.64rem;font-weight:800;letter-spacing:.04em;opacity:.68}
.v6-top-tools{position:fixed;z-index:300;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),730px);display:flex;justify-content:flex-end;gap:8px;pointer-events:none}.v6-top-tools>*{pointer-events:auto}.v6-lang{height:34px;border:1px solid rgba(34,31,27,.14);background:rgba(255,255,255,.74);backdrop-filter:blur(11px);border-radius:999px;padding:4px 5px;display:flex;align-items:center;gap:5px;box-shadow:0 4px 20px rgba(37,31,25,.08);cursor:pointer}.v6-lang span{font:900 .56rem var(--v6-body);opacity:.45;padding:5px 7px}.v6-lang span.active{opacity:1;background:#2d2a25;color:#fff;border-radius:999px}.v6-lang i{width:1px;height:13px;background:rgba(40,36,31,.13)}.v6-music-toggle{width:34px;height:34px;border:1px solid rgba(34,31,27,.14);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.74);backdrop-filter:blur(11px);color:#302b26;cursor:pointer}.v6-music-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65}.v6-music-toggle.playing{animation:v6Spin 3.7s linear infinite;background:#2d2a25;color:#fff}
.v6-dock{position:fixed;z-index:260;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 22px),700px);display:flex;justify-content:center;gap:4px;padding:7px;border-radius:22px;background:rgba(250,248,244,.86);backdrop-filter:blur(16px);border:1px solid rgba(50,45,39,.1);box-shadow:0 16px 42px rgba(41,34,27,.18)}.v6-dock button{min-width:0;flex:1;max-width:118px;height:54px;border:0;background:transparent;border-radius:16px;display:grid;place-items:center;align-content:center;gap:4px;color:#38332e;cursor:pointer}.v6-dock button:active{background:rgba(46,41,36,.08)}.v6-dock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55}.v6-dock span{font:800 .53rem var(--v6-body)}
.v6-sheet-host{position:fixed;inset:0;z-index:10000;pointer-events:none}.v6-sheet-host.open{pointer-events:auto}.v6-sheet-backdrop{position:absolute;inset:0;background:rgba(22,19,16,.44);opacity:0;transition:opacity .25s}.v6-sheet-host.open .v6-sheet-backdrop{opacity:1}.v6-sheet{position:absolute;left:50%;bottom:0;width:min(100%,760px);max-height:min(72vh,680px);overflow:auto;transform:translate(-50%,105%);transition:transform .3s cubic-bezier(.2,.75,.2,1);background:#fbf8f3;border-radius:26px 26px 0 0;padding:8px 18px max(26px,env(safe-area-inset-bottom));box-shadow:0 -22px 50px rgba(30,25,20,.17)}.v6-sheet.tall{max-height:86vh}.v6-sheet-host.open .v6-sheet{transform:translate(-50%,0)}.v6-sheet-handle{width:42px;height:4px;border-radius:99px;background:#d9d0c5;margin:4px auto 7px}.v6-sheet header{display:flex;align-items:center;justify-content:space-between;padding:7px 1px 12px;border-bottom:1px solid #ebe4dc}.v6-sheet header h3{font-family:var(--v6-head);font-size:1.5rem;margin:0}.v6-sheet header button{width:34px;height:34px;border:0;border-radius:50%;background:#efe9e1;font-size:1.25rem;cursor:pointer}.v6-sheet-body{padding:15px 0}.v6-contact-list{display:grid;gap:9px}.v6-contact-list>div{padding:13px;border:1px solid #e7dfd5;border-radius:16px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;background:#fff}.v6-contact-list span strong,.v6-contact-list span small{display:block}.v6-contact-list span strong{font-size:.74rem}.v6-contact-list span small{font-size:.65rem;color:#777067;margin-top:3px}.v6-contact-list a,.v6-sheet-location a,.v6-sheet-actions button,.v6-rsvp-form button,.v6-copy-account{border:0;border-radius:999px;background:#2d2a25;color:#fff;text-decoration:none;padding:10px 13px;font:800 .65rem var(--v6-body);cursor:pointer}.v6-contact-list a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle}.v6-sheet-location{text-align:center;display:grid;gap:10px}.v6-sheet-location strong{font-family:var(--v6-head);font-size:1.5rem}.v6-sheet-location p{font-size:.72rem;line-height:1.55;margin:0 0 4px}.v6-sheet-location a{display:block}.v6-sheet-note{text-align:center;font-size:.75rem;line-height:1.6;color:#615b54}.v6-sheet-actions{display:grid;gap:8px}.v6-sheet-actions button.secondary{background:#eee8df;color:#312d28}.v6-rsvp-form{display:grid;gap:11px}.v6-rsvp-form label{display:grid;gap:6px;font-size:.65rem;font-weight:900}.v6-rsvp-form input,.v6-rsvp-form textarea,.v6-rsvp-form select{width:100%;padding:12px;border:1px solid #ddd5ca;border-radius:12px;background:#fff;font:400 .75rem var(--v6-body);outline:none}.v6-rsvp-form textarea{min-height:100px;resize:vertical}.v6-rsvp-form .two{display:grid;grid-template-columns:1fr .6fr;gap:8px}.v6-all-wishes{display:grid;gap:8px}.v6-gift-qr{display:block;width:min(280px,80%);aspect-ratio:1;object-fit:contain;margin:0 auto 15px;border-radius:18px;background:#fff;padding:8px;border:1px solid #e8dfd5}.v6-gift-info{text-align:center;display:grid;gap:5px;margin-bottom:12px}.v6-gift-info strong{font-family:var(--v6-head);font-size:1.5rem}.v6-gift-info span{font-size:.7rem}.v6-gift-info b{font-size:1rem;letter-spacing:.05em}.v6-copy-account{display:block;margin:0 auto}.v6-not-found{min-height:100vh;display:grid;place-items:center;font:700 1rem system-ui}
@keyframes v6Spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.v6-public-shell{box-shadow:none}.v6-cover{padding-inline:24px}.v6-content-inner{padding:70px 23px 138px}.v6-detail-grid{grid-template-columns:1fr 1fr}.v6-wishlist{grid-template-columns:1fr}.v6-wishlist-item{display:grid;grid-template-columns:96px 1fr}.v6-wishlist-item img{height:100%;aspect-ratio:1}.v6-contact-list>div{grid-template-columns:1fr 1fr}.v6-contact-list>div>span{grid-column:1/-1}.v6-dock{width:calc(100% - 14px);bottom:max(7px,env(safe-area-inset-bottom));border-radius:18px}.v6-dock button{height:51px}.v6-opening-copy{top:7%}.v6-envelope{transform:scale(.93)}}
@media(prefers-reduced-motion:reduce){.v6-opening *,.v6-music-toggle,.v6-gallery-track figure{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}
@media print{@page{margin:0}.public-card-v6{background:#fff!important}.v6-opening,.v6-top-tools,.v6-dock,.v6-sheet-host,.v6-scroll-cue{display:none!important}.v6-public-shell{max-width:none!important;box-shadow:none!important}.v6-cover{min-height:100vh;height:100vh;break-after:page;page-break-after:always}.v6-content-page{break-before:page;page-break-before:always;min-height:auto}.v6-content-inner{width:100%;max-width:none;padding:55px 50px 60px;zoom:.74}.v6-page{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.v6-card-footer{padding-bottom:10px}.v6-wishlist{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   TUJU V6 — STUDIO (NO SITE NAV / FOOTER)
   ========================================================= */
.studio-only-page{margin:0;background:#eee8df;overflow:hidden}.studio-v6{height:100vh;display:grid;grid-template-columns:220px minmax(430px,1fr) 410px;grid-template-rows:72px 1fr;grid-template-areas:"top top top" "side editor preview";background:#f5f1eb}.studio-v6-topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(250,247,242,.94);backdrop-filter:blur(16px);z-index:20}.studio-v6-title{display:flex;align-items:center;gap:10px;min-width:0}.studio-v6-title>div{min-width:0}.studio-v6-title small,.studio-v6-title strong{display:block}.studio-v6-title small{font-size:.58rem;letter-spacing:.13em;color:var(--muted);font-weight:900}.studio-v6-title strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:310px;margin-top:3px}.studio-back{width:39px;height:39px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;background:#fff;font-weight:900}.studio-v6-actions{display:flex;align-items:center;gap:7px}.studio-mini-lang{height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;gap:3px;padding:4px;cursor:pointer}.studio-mini-lang span{font-size:.58rem;font-weight:900;padding:6px;border-radius:8px;color:var(--muted)}.studio-mini-lang span.active{background:var(--dark);color:#fff}.studio-mini-lang i{width:1px;height:14px;background:var(--line)}.studio-v6-side{grid-area:side;overflow:auto;border-right:1px solid var(--line);background:#f1ebe3;padding:13px 10px}.studio-v6-side .studio-tabs{display:grid;gap:5px}.studio-v6-side .studio-tab{width:100%;border:0;background:transparent;border-radius:12px;padding:11px 10px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;text-align:left;cursor:pointer;font-size:.75rem;font-weight:800}.studio-v6-side .studio-tab:hover,.studio-v6-side .studio-tab.active{background:#fff;box-shadow:0 7px 18px rgba(43,35,28,.05)}.studio-v6-side .studio-tab .ico{width:28px;height:28px;border-radius:9px;background:#e4ddd3;display:grid;place-items:center;font-size:.62rem}.studio-v6-side .studio-tab.active .ico{background:var(--dark);color:#fff}.studio-v6-side .studio-tab .lock{font-size:.48rem;padding:3px 5px;border-radius:999px;background:#252b27;color:#fff}.studio-v6-side .studio-tab.locked-tab{opacity:.55}.studio-v6-editor{grid-area:editor;overflow:auto;padding:24px 26px 80px}.studio-v6-editor .studio-panel{display:none;max-width:820px;margin:auto}.studio-v6-editor .studio-panel.active{display:block}.studio-v6-editor .upgrade-banner{max-width:820px;margin:0 auto 18px}.studio-v6-preview{grid-area:preview!important;border-left:1px solid var(--line);background:#e7e0d7!important;padding:14px 18px 16px!important;display:grid!important;grid-template-rows:auto 1fr!important;min-width:0;overflow:hidden}.studio-v6-preview .preview-tools{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px!important;min-height:46px}.studio-v6-preview .preview-tools strong{font-size:.77rem}.studio-v6-preview .preview-tools small{font-size:.59rem!important;white-space:normal}.studio-v6-preview .preview-phone-live{width:min(100%,356px)!important;height:calc(100vh - 148px)!important;min-height:520px!important;max-height:760px!important;margin:auto;align-self:start;border-radius:42px!important;padding:8px!important;background:#10110f!important;box-shadow:0 28px 55px rgba(31,27,23,.22);position:relative}.studio-v6-preview .preview-phone-live:before{top:8px!important}.studio-v6-preview .preview-phone-live iframe{border-radius:34px!important}.studio-v6-editor .setting-group{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.55)}.studio-v6-editor .setting-group h3{font-size:.88rem;margin:0 0 14px}.studio-v6-editor .field{display:grid;gap:6px;margin-bottom:11px}.studio-v6-editor .field label,.field-label{font-size:.66rem;font-weight:900;color:#5f5952}.studio-v6-editor .textarea.tall{min-height:125px}.contact-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-editor-card{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}.contact-editor-card b{font-size:.68rem}.schedule-editor-grid{display:grid;gap:7px}.schedule-editor-row{display:grid;grid-template-columns:120px 1fr 1fr;gap:7px}.feature-toggle-list{display:grid;gap:7px}.feature-toggle-list .toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fff}.feature-toggle-list .toggle-row span:first-child strong,.feature-toggle-list .toggle-row span:first-child small{display:block}.feature-toggle-list .toggle-row small{font-size:.53rem;margin-top:3px;color:var(--muted)}.feature-toggle-list .toggle-row.is-locked{opacity:.55}.switch{position:relative;width:42px;height:24px;flex:0 0 auto}.switch input{position:absolute;opacity:0}.switch i{position:absolute;inset:0;border-radius:99px;background:#ddd5cb;transition:.2s}.switch i:after{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}.switch input:checked+i{background:var(--dark)}.switch input:checked+i:after{transform:translateX(18px)}.studio-pro-locked{position:relative;opacity:.65}.studio-pro-locked:after{content:'PRO';position:absolute;right:15px;top:15px;background:#1d2b26;color:#fff;border-radius:999px;padding:4px 7px;font-size:.52rem;font-weight:900}.music-list{display:grid;gap:8px}.music-choice{display:grid;grid-template-columns:38px 1fr 38px auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.music-choice.selected{border-color:#77846f;background:#f2f6ef}.music-index{width:34px;height:34px;border-radius:10px;background:#efe9e1;display:grid;place-items:center;font-size:.6rem;font-weight:900}.music-choice strong,.music-choice small{display:block}.music-choice strong{font-size:.72rem}.music-choice small{font-size:.54rem;color:var(--muted)}.music-play{width:34px;height:34px;border:0;border-radius:50%;background:#242b26;color:#fff;cursor:pointer}.planning-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.planning-summary>div{padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line)}.planning-summary small,.planning-summary strong{display:block}.planning-summary small{font-size:.59rem;color:var(--muted)}.planning-summary strong{font-size:1rem;margin-top:3px}.planning-task-list{display:grid;gap:7px}.planning-task-list label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:12px;border:1px solid var(--line);font-size:.72rem}.budget-table{display:grid;gap:6px;margin-bottom:10px}.budget-row{display:grid;grid-template-columns:1.4fr .7fr .7fr 34px;gap:6px}.budget-row button,.gallery-editor-v6 article button,.wishlist-editor-v6 article button{border:0;background:#f7e9e6;color:#9b4037;border-radius:10px;cursor:pointer;font-weight:900}.gallery-editor-v6{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.gallery-editor-v6 article{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#eee}.gallery-editor-v6 img{width:100%;height:100%;object-fit:cover}.gallery-editor-v6 article button{position:absolute;right:7px;top:7px;width:30px;height:30px;border-radius:50%}.gallery-add-v6{display:flex;align-items:center;gap:7px;margin-top:12px}.gallery-add-v6 .input{flex:1}.gallery-add-v6 span{font-size:.65rem;font-weight:900;color:var(--muted)}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button.disabled{opacity:.5;pointer-events:none}.wishlist-editor-v6{display:grid;gap:9px;margin-top:14px}.wishlist-editor-v6 article{display:grid;grid-template-columns:88px 1fr 34px;gap:10px;align-items:center;padding:9px;background:#fff;border:1px solid var(--line);border-radius:14px}.wishlist-editor-v6 img{width:88px;height:88px;object-fit:cover;border-radius:10px;background:#eee}.wishlist-editor-v6 strong,.wishlist-editor-v6 small,.wishlist-editor-v6 a{display:block}.wishlist-editor-v6 strong{font-size:.72rem}.wishlist-editor-v6 small{font-size:.58rem;color:var(--muted);margin-top:4px}.wishlist-editor-v6 a{font-size:.6rem;font-weight:900;margin-top:7px;color:#d44828}.slug-field{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;position:relative}.slug-field span{padding-left:12px;font-size:.7rem;color:var(--muted);white-space:nowrap}.slug-field .input{border:0!important;border-radius:0!important;padding-left:3px!important}.slug-field.is-error{border-color:#d94a45!important;box-shadow:0 0 0 3px rgba(217,74,69,.10);padding-right:32px}.slug-field.is-error:after{content:'×';position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#d94a45;color:#fff;font-size:14px;font-weight:900;line-height:1;pointer-events:none}.slug-field.is-error .input{color:#8f2925}.slug-field.is-success{border-color:#65a876!important;box-shadow:0 0 0 3px rgba(101,168,118,.09)}.slug-field.is-checking{border-color:#bd9863!important;padding-right:32px}.slug-field.is-checking:after{content:'';position:absolute;right:11px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid rgba(189,152,99,.28);border-top-color:#bd9863;border-radius:50%;animation:gkSlugSpin .7s linear infinite;pointer-events:none}@keyframes gkSlugSpin{to{transform:rotate(360deg)}}.slug-hint-error{display:block!important;color:#a3322d!important;font-weight:800}.slug-hint-success{display:block!important;color:#2f7442!important;font-weight:800}.slug-hint-checking{display:block!important;color:#806742!important;font-weight:800}.share-editor{min-height:185px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:.71rem!important;line-height:1.55!important}.export-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-tool{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.export-tool strong,.export-tool small{display:block}.export-tool small{font-size:.62rem;color:var(--muted);line-height:1.5;margin:5px 0 12px}.export-tool button:disabled{opacity:.45;cursor:not-allowed}.gift-qr-editor{display:grid;grid-template-columns:140px 1fr;gap:13px}.gift-qr-preview{width:140px;aspect-ratio:1;border-radius:14px;border:1px dashed var(--line);background:#f5f0ea;display:grid;place-items:center;overflow:hidden;font-size:.62rem;color:var(--muted)}.gift-qr-preview img{width:100%;height:100%;object-fit:contain}.opening-style-note{display:flex;gap:13px;align-items:flex-start;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line);margin:16px 0}.opening-style-note>span{font-size:1.6rem}.opening-style-note strong{font-size:.78rem}.opening-style-note p{font-size:.68rem;color:var(--muted);margin:5px 0 0;line-height:1.55}.background-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.background-upload-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.background-upload-preview{height:105px;background-size:cover;background-position:center}.background-upload-body{padding:9px}.background-upload-body strong,.background-upload-body small{display:block}.background-upload-body strong{font-size:.67rem}.background-upload-body small{font-size:.55rem;color:var(--muted);margin:3px 0 7px}.background-upload-body input{font-size:.57rem;width:100%}.background-reset{width:100%;border:0;background:#f1ece5;border-radius:8px;padding:7px;font-size:.58rem;font-weight:900;margin-top:7px;cursor:pointer}
@media(max-width:1180px){.studio-v6{grid-template-columns:200px 1fr 360px}.studio-v6-preview .preview-phone-live{width:320px!important}.studio-v6-title strong{max-width:220px}}
@media(max-width:960px){.studio-only-page{overflow:auto}.studio-v6{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"top" "side" "editor"}.studio-v6-topbar{position:sticky;top:0}.studio-v6-side{position:sticky;top:72px;z-index:15;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line);padding:7px}.studio-v6-side .studio-tabs{display:flex;width:max-content}.studio-v6-side .studio-tab{width:auto;grid-template-columns:1fr auto;padding:10px 12px}.studio-v6-side .studio-tab .ico{display:none}.studio-v6-preview{display:none!important}.studio-v6-editor{overflow:visible;padding:18px 14px 70px}.studio-v6-actions .btn-soft{display:none}}
@media(max-width:640px){.studio-v6-topbar{padding:10px}.studio-v6-title small{display:none}.studio-v6-title strong{max-width:130px}.studio-v6-actions{gap:4px}.studio-v6-actions .btn{min-height:40px;padding:8px 10px;font-size:.7rem}.contact-editor-grid,.form-row,.schedule-editor-row,.planning-summary,.export-tools,.background-upload-grid{grid-template-columns:1fr!important}.gallery-editor-v6{grid-template-columns:repeat(2,1fr)}.gallery-add-v6{flex-wrap:wrap}.budget-row{grid-template-columns:1fr 1fr}.budget-row>:first-child{grid-column:1/-1}.gift-qr-editor{grid-template-columns:1fr}.gift-qr-preview{width:100%;max-width:200px}}
@media print{
  @page{size:A4 portrait;margin:0}
  .v6-public-shell{width:100%!important;max-width:none!important;margin:0!important}
  .v6-cover{height:100vh!important;min-height:100vh!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}
  .v6-content-page{height:100vh!important;min-height:100vh!important;max-height:100vh!important;overflow:hidden!important;break-before:page!important;page-break-before:always!important;break-after:auto!important;page-break-after:auto!important}
  .v6-content-inner{transform:scale(var(--v6-print-scale,.5))!important;transform-origin:top center!important;width:var(--v6-print-width,200%)!important;margin-left:var(--v6-print-shift,-50%)!important;padding-top:42px!important;padding-bottom:30px!important;zoom:1!important}
  .v6-divider{margin:26px 0 20px!important}.v6-content-section h2{margin-bottom:15px!important}.v6-wishlist-item img{max-height:170px!important}
}

/* =========================================================
   TUJU V7 — MOBILE-FIRST PUBLIC CARD + STUDIO
   ========================================================= */
.public-card-v7{margin:0;background:#d7d0c6;color:#302a26;font-family:var(--v7-body,Manrope),system-ui,sans-serif;overflow-x:hidden}.public-card-v7 *{box-sizing:border-box}.v7-shell{position:relative;width:100%;max-width:540px;margin:0 auto;min-height:100vh;background:#f4eee5;box-shadow:0 0 70px rgba(42,34,27,.24);isolation:isolate}.v7-page{position:relative;background-image:var(--page-bg);background-position:center;background-size:cover}.v7-page-overlay,.v7-content-overlay{position:absolute;inset:0;pointer-events:none}.v7-page-overlay{background:linear-gradient(180deg,rgba(255,252,246,.16),rgba(255,252,246,.28))}.v7-content-overlay{background:linear-gradient(180deg,rgba(255,252,247,.58),rgba(255,252,247,.66))}
.v7-cover{min-height:100svh;display:grid;place-items:center;padding:76px 22px 112px}.v7-cover-card{position:relative;z-index:2;width:min(100%,420px);text-align:center;padding:34px 20px 30px;border:1px solid rgba(68,53,42,.15);border-radius:36px;background:rgba(255,250,244,.46);backdrop-filter:blur(3px);box-shadow:0 24px 70px rgba(70,52,38,.12)}.v7-arabic{font-family:Amiri,"Times New Roman",serif;font-size:2.55rem;line-height:1;margin-bottom:10px}.v7-kicker{margin:0 0 28px;font-size:.68rem;letter-spacing:.3em;font-weight:900}.v7-cover h1{display:grid;gap:4px;margin:0 0 28px;font-family:var(--v7-head,serif);font-size:clamp(2.8rem,13vw,4.6rem);font-weight:500;letter-spacing:-.045em;line-height:.9}.v7-cover h1 i{font-size:.45em;font-weight:400;opacity:.72}.v7-date{display:grid;gap:6px}.v7-date b{font-size:.7rem;letter-spacing:.22em}.v7-date strong{font-family:var(--v7-head,serif);font-size:1.35rem;letter-spacing:.08em;font-weight:500}.v7-venue{display:flex;justify-content:center;gap:9px;margin:24px auto 0;max-width:330px;text-align:left}.v7-venue>span{font-size:1rem}.v7-venue div{display:grid;gap:2px}.v7-venue b{font-size:.77rem}.v7-venue span{font-size:.65rem;line-height:1.45;opacity:.72}.v7-hashtag{font-family:var(--v7-head,serif);font-size:1rem;font-style:italic;margin:18px 0 0}.v7-enter{margin-top:26px;border:0;border-radius:999px;background:rgba(255,255,255,.7);padding:11px 16px;font:800 .67rem/1 var(--v7-body);color:inherit;box-shadow:0 8px 24px rgba(34,29,25,.08)}
.v7-content{min-height:100vh}.v7-content-inner{position:relative;z-index:2;width:min(100%,470px);margin:0 auto;padding:74px 20px 138px}.v7-intro,.v7-section{position:relative;text-align:center;padding:30px 20px;border-radius:30px;background:rgba(255,253,249,.72);border:1px solid rgba(68,53,42,.1);box-shadow:0 14px 45px rgba(55,43,34,.07);backdrop-filter:blur(2px)}.v7-intro{padding-top:36px}.v7-bismillah{font-family:Amiri,"Times New Roman",serif;font-size:2rem;line-height:1.4;margin-bottom:20px}.v7-intro p{font-size:.73rem;line-height:1.85;margin:10px auto;max-width:340px}.v7-intro h3{font-family:var(--v7-head);font-size:1.6rem;font-weight:500;margin:4px 0}.v7-intro>i{display:block;font-family:var(--v7-head);opacity:.6}.v7-honorific{font-size:.63rem!important;font-weight:700}.v7-couple-full{display:grid;gap:5px;margin-top:20px}.v7-couple-full strong{font-family:var(--v7-head);font-size:1.55rem;font-weight:500}.v7-couple-full i{font-family:var(--v7-head);font-size:.9rem}.v7-divider{height:54px;display:grid;place-items:center}.v7-divider:before,.v7-divider:after{content:"";position:absolute;width:52px;height:1px;background:rgba(68,53,42,.24)}.v7-divider:before{transform:translateX(-42px)}.v7-divider:after{transform:translateX(42px)}.v7-divider span{font-family:serif;font-size:.72rem;opacity:.6}.v7-section-icon{font-size:1.45rem;margin-bottom:8px}.v7-section h2{font-family:var(--v7-head);font-size:1.75rem;font-weight:500;margin:0 0 20px}.v7-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v7-info-grid>div{display:grid;gap:8px;place-items:center;padding:16px 8px;border-radius:18px;background:rgba(255,255,255,.64)}.v7-info-grid span{font-size:1.25rem}.v7-info-grid strong{font-size:.7rem;line-height:1.45}.v7-location-copy strong{display:block;font-family:var(--v7-head);font-size:1.35rem}.v7-location-copy p{font-size:.68rem;line-height:1.6;margin:6px 0 16px}.v7-map-embed{height:210px;border-radius:22px;overflow:hidden;border:1px solid rgba(70,56,45,.12);background:#e8e2da}.v7-map-embed iframe,.v7-sheet-map iframe{width:100%;height:100%;border:0}.v7-map-link{display:inline-flex;margin-top:13px;padding:10px 14px;border-radius:999px;background:#2d332e;color:#fff;text-decoration:none;font-size:.68rem;font-weight:800}.v7-schedule{display:grid;gap:8px;text-align:left}.v7-schedule>div{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:center;padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.6)}.v7-schedule time{font-family:var(--v7-head);font-size:1rem}.v7-schedule span{font-size:.71rem;font-weight:700}.v7-dress{display:grid;gap:9px}.v7-dress span{padding:12px;border-radius:16px;background:rgba(255,255,255,.62);font-size:.72rem;font-weight:800}.v7-prayer p{font-family:var(--v7-head);font-size:1.16rem;line-height:1.75;font-style:italic;margin:0}.v7-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.v7-countdown div{padding:12px 4px;border-radius:15px;background:rgba(255,255,255,.65)}.v7-countdown strong,.v7-countdown span{display:block}.v7-countdown strong{font-family:var(--v7-head);font-size:1.45rem}.v7-countdown span{font-size:.53rem;font-weight:800;margin-top:2px}.v7-gallery{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/5}.v7-gallery figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .55s ease}.v7-gallery figure.active{opacity:1}.v7-gallery img{width:100%;height:100%;object-fit:cover}.v7-gallery-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}.v7-gallery-dots button{width:7px;height:7px;border:0;border-radius:50%;background:rgba(255,255,255,.55);padding:0}.v7-gallery-dots button.active{background:#fff;transform:scale(1.25)}.v7-rsvp-total{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:14px}.v7-rsvp-total strong{font-family:var(--v7-head);font-size:2.5rem}.v7-rsvp-total span{font-size:.62rem}.v7-primary{border:0;border-radius:999px;background:#293029;color:#fff;padding:12px 18px;font:800 .7rem/1 var(--v7-body)}.v7-wishes{display:grid;gap:8px;margin-top:18px}.v7-wishes blockquote,.v7-all-wishes blockquote{margin:0;padding:14px;border-radius:16px;background:rgba(255,255,255,.63);text-align:left}.v7-wishes p,.v7-all-wishes p{font-family:var(--v7-head);font-size:.9rem;line-height:1.5;margin:0}.v7-wishes cite,.v7-all-wishes cite{display:block;font:700 .58rem/1.4 var(--v7-body);margin-top:7px;opacity:.66}.v7-text{border:0;background:none;font:800 .65rem/1 var(--v7-body);margin-top:12px}.v7-wishlist{display:grid;gap:10px}.v7-wishlist>a{display:grid;grid-template-columns:86px 1fr;gap:11px;text-align:left;text-decoration:none;color:inherit;background:rgba(255,255,255,.66);padding:8px;border-radius:18px}.v7-wishlist img{width:86px;height:86px;object-fit:cover;border-radius:13px}.v7-wishlist strong,.v7-wishlist span,.v7-wishlist small{display:block}.v7-wishlist strong{font-size:.7rem}.v7-wishlist span{font-size:.58rem;margin-top:7px;color:#e25d39;font-weight:900}.v7-wishlist small{font-size:.53rem;margin-top:6px;opacity:.65}.v7-footer{text-align:center;padding:18px 10px 6px;display:grid;gap:4px}.v7-footer span,.v7-footer small{font-size:.56rem;opacity:.64}.v7-footer a{font-family:var(--v7-head);font-size:1rem;color:inherit;font-weight:600}
.v7-tools{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:60;width:min(calc(100% - 24px),516px);display:flex;justify-content:flex-end;gap:8px;pointer-events:none}.v7-tools>*{pointer-events:auto}.v7-lang{display:flex;align-items:center;gap:6px;border:1px solid rgba(42,36,31,.12);background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-radius:999px;padding:6px 8px;font:900 .57rem/1 var(--v7-body)}.v7-lang i{width:23px;height:13px;border-radius:99px;background:#d9d1c8;position:relative}.v7-lang i:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#2b312c;left:2px;top:2px;transition:.2s}.v7-lang span.active+ i:after{transform:translateX(0)}.v7-lang span:last-child.active~i:after{transform:translateX(10px)}.v7-lang span{opacity:.45}.v7-lang span.active{opacity:1}.v7-music{width:35px;height:35px;border:1px solid rgba(42,36,31,.12);background:rgba(255,255,255,.84);border-radius:50%;font-size:1rem}.v7-music.playing{animation:v7-spin 2.4s linear infinite}.v7-music.hidden{display:none}@keyframes v7-spin{to{transform:rotate(360deg)}}
.v7-dock{position:fixed;z-index:55;left:50%;bottom:max(8px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 16px),520px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:7px;border-radius:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 12px 45px rgba(35,29,24,.22);border:1px solid rgba(55,45,37,.1)}.v7-dock button{border:0;background:transparent;display:grid;place-items:center;gap:3px;height:48px;color:#38312c}.v7-dock button>span{font-size:1.02rem}.v7-dock small{font-size:.51rem;font-weight:900}
.v7-opening{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background-image:var(--opening-bg);background-size:cover;background-position:center;overflow:hidden;transition:.45s}.v7-opening-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,243,235,.35),rgba(248,243,235,.62))}.v7-opening-copy{position:absolute;top:8%;z-index:3;text-align:center;display:grid;gap:4px}.v7-opening-copy small{font-size:.58rem;font-weight:900;letter-spacing:.18em}.v7-opening-copy strong{font-family:var(--v7-head);font-size:1.5rem}.v7-opening-copy i{font-weight:400}.v7-envelope{position:relative;z-index:4;width:min(84vw,330px);height:245px;border:0;background:transparent;perspective:1000px;filter:drop-shadow(0 25px 30px rgba(55,41,31,.25))}.v7-envelope-back,.v7-envelope-front,.v7-envelope-flap{position:absolute;left:0;right:0;bottom:0;height:190px;border-radius:10px;border:1px solid rgba(90,65,45,.14)}.v7-envelope-back{background:linear-gradient(145deg,#f0e5d6,#d7c0a3)}.v7-envelope-front{z-index:5;clip-path:polygon(0 0,50% 49%,100% 0,100% 100%,0 100%);background:linear-gradient(160deg,#ede0cd,#d9c4aa)}.v7-envelope-flap{z-index:6;top:55px;bottom:auto;height:145px;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 100%);background:#eadbc6;transition:transform .64s cubic-bezier(.2,.8,.2,1)}.v7-letter{position:absolute;z-index:4;left:8%;right:8%;bottom:18px;height:185px;border-radius:9px;background:#fffaf3;border:1px solid rgba(80,60,45,.12);display:grid;place-items:center;align-content:center;gap:8px;padding:18px;transition:transform .75s cubic-bezier(.2,.8,.2,1),bottom .75s}.v7-letter small{font-size:.54rem;letter-spacing:.16em;font-weight:900}.v7-letter b{font-family:var(--v7-head);font-size:1.55rem}.v7-letter em{font-size:.55rem;font-style:normal;opacity:.58}.v7-seal{position:absolute;z-index:7;left:50%;top:125px;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#795c43;color:#fff5e8;font-family:Georgia;font-size:1.15rem;border:4px double rgba(255,255,255,.48)}.v7-opening.opening .v7-envelope-flap{transform:rotateX(180deg);z-index:3}.v7-opening.opening .v7-letter{transform:translateY(-110px) scale(1.03)}.v7-opening.opening .v7-seal{opacity:0}.v7-opening.gone{opacity:0;visibility:hidden}.v7-opening-hint{position:absolute;bottom:8%;z-index:3;font-size:.58rem;font-weight:800;opacity:.65}
.v7-effects{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;max-width:540px;margin:auto}.v7-effects span{position:absolute;left:var(--x);top:-12%;font-size:clamp(.72rem,3vw,1.1rem);opacity:.46;animation:v7-fall calc(9s + var(--i)*.45s) linear infinite;animation-delay:calc(var(--i)*-.8s)}.v7-effects.effect-hearts span{opacity:.38}.v7-effects.effect-bubbles span{font-size:1.5rem;color:rgba(255,255,255,.7)}.v7-effects.effect-balloons span{font-size:1.35rem;opacity:.55}@keyframes v7-fall{0%{transform:translate3d(0,-10vh,0) rotate(0)}50%{transform:translate3d(18px,55vh,0) rotate(120deg)}100%{transform:translate3d(-12px,115vh,0) rotate(260deg)}}
.v7-sheet-host{position:fixed;inset:0;z-index:9990;pointer-events:none}.v7-sheet-host.open{pointer-events:auto}.v7-sheet-backdrop{position:absolute;inset:0;background:rgba(19,16,14,.42);opacity:0;transition:.25s}.v7-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,540px);max-height:78svh;border-radius:28px 28px 0 0;background:#fffaf5;box-shadow:0 -20px 55px rgba(38,30,24,.22);transition:.3s cubic-bezier(.2,.8,.2,1);overflow:auto}.v7-sheet.tall{max-height:90svh}.v7-sheet-host.open .v7-sheet-backdrop{opacity:1}.v7-sheet-host.open .v7-sheet{transform:translate(-50%,0)}.v7-sheet-handle{width:42px;height:4px;border-radius:9px;background:#d6cec5;margin:9px auto 4px}.v7-sheet header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid rgba(50,42,35,.08);position:sticky;top:0;background:#fffaf5;z-index:2}.v7-sheet h3{font-family:var(--v7-head);font-size:1.35rem;margin:0}.v7-sheet header button{width:34px;height:34px;border:0;border-radius:50%;background:#eee7de;font-size:1.2rem}.v7-sheet-body{padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.v7-contact-list{display:grid;gap:10px}.v7-contact-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:12px;border:1px solid rgba(50,42,35,.09);border-radius:16px}.v7-contact-list strong,.v7-contact-list small{display:block}.v7-contact-list strong{font-size:.75rem}.v7-contact-list small{font-size:.58rem;opacity:.62}.v7-contact-list a,.v7-sheet-location>a{padding:9px 10px;border-radius:11px;text-decoration:none;background:#2d332e;color:#fff;font-size:.59rem;font-weight:800}.v7-sheet-location{text-align:center}.v7-sheet-location>strong{font-family:var(--v7-head);font-size:1.45rem}.v7-sheet-location>p{font-size:.68rem}.v7-sheet-map{height:250px;border-radius:18px;overflow:hidden;margin:14px 0}.v7-sheet-location>a{display:inline-flex}.v7-sheet-note{text-align:center;font-size:.75rem;line-height:1.7}.v7-sheet-actions{display:grid;gap:8px}.v7-sheet-actions button,.v7-rsvp-form button,.v7-gift-info+button{border:0;border-radius:13px;padding:13px;background:#2d332e;color:#fff;font-weight:900}.v7-sheet-actions .secondary{background:#eee7de;color:#302a26}.v7-rsvp-form{display:grid;gap:11px}.v7-rsvp-form label{display:grid;gap:5px;font-size:.62rem;font-weight:900}.v7-rsvp-form input,.v7-rsvp-form select,.v7-rsvp-form textarea{width:100%;border:1px solid #ddd4ca;border-radius:12px;padding:12px;background:#fff;font:inherit}.v7-rsvp-form textarea{min-height:100px}.v7-rsvp-form .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v7-all-wishes{display:grid;gap:8px}.v7-gift-qr{display:block;width:min(240px,80%);margin:0 auto 16px;border-radius:18px}.v7-gift-info{text-align:center;display:grid;gap:5px;margin-bottom:14px}.v7-gift-info strong{font-family:var(--v7-head);font-size:1.35rem}.v7-gift-info b{font-size:1rem}
/* Studio V7 */
.studio-v7-page{background:#f2eee8;overflow:hidden}.studio-v7{height:100vh;display:grid;grid-template-columns:210px minmax(520px,1fr) 390px;grid-template-rows:68px 1fr;grid-template-areas:"top top top" "side editor preview"}.studio-v7-topbar{grid-area:top;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line);background:rgba(250,247,242,.94);backdrop-filter:blur(12px);z-index:30}.studio-v7-title{display:flex;align-items:center;gap:10px}.studio-v7-title>div{display:grid}.studio-v7-title small{font-size:.52rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}.studio-v7-title strong{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-v7-actions{display:flex;align-items:center;gap:7px}.studio-lang-switch{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 9px;font-size:.58rem;font-weight:900}.studio-lang-switch i{position:relative;width:25px;height:14px;border-radius:99px;background:#ded6cc}.studio-lang-switch i:after{content:"";position:absolute;left:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#27302a;transition:.2s}.studio-lang-switch span{opacity:.4}.studio-lang-switch span.active{opacity:1}.studio-lang-switch span:last-child.active~i:after{transform:translateX(11px)}.studio-lang-switch.small{padding:5px 7px}.studio-v7-side{grid-area:side;border-right:1px solid var(--line);background:#f7f3ed;overflow:auto;padding:10px}.studio-v7-editor{grid-area:editor;overflow:auto;padding:22px 28px 90px}.studio-v7-preview{grid-area:preview;border-left:1px solid var(--line);background:#e9e4dd;padding:16px;display:flex;flex-direction:column;min-width:0}.studio-preview-heading{display:flex;align-items:center;justify-content:space-between;margin:0 3px 12px}.studio-preview-heading small,.studio-preview-heading strong{display:block}.studio-preview-heading small{font-size:.52rem;letter-spacing:.14em;font-weight:900;color:var(--muted)}.studio-preview-heading strong{font-size:.9rem}.preview-phone-v7{position:relative;width:min(100%,342px);height:calc(100vh - 148px);min-height:520px;max-height:760px;margin:0 auto;padding:8px;border-radius:42px;background:#11130f;box-shadow:0 30px 60px rgba(35,30,25,.22)}.preview-phone-v7 iframe{width:100%;height:100%;border:0;border-radius:34px;background:#fff}.preview-notch{position:absolute;z-index:3;top:13px;left:50%;transform:translateX(-50%);width:92px;height:23px;border-radius:99px;background:#11130f;pointer-events:none}.preview-help{text-align:center;font-size:.55rem;color:var(--muted);margin-top:10px}.setting-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.location-detect-row,.share-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.location-detect-row small{font-size:.59rem;color:var(--muted)}.schedule-dynamic-list{display:grid;gap:7px}.schedule-v7-row{display:grid;grid-template-columns:110px 1fr 36px;gap:7px}.schedule-v7-row button,.planning-task-row>button{border:0;border-radius:10px;background:#f5e5e2;color:#a13c34;font-weight:900}.toggle-row-v7{display:flex;justify-content:space-between;gap:20px;align-items:center}.toggle-row-v7 h3{margin-bottom:3px!important}.effect-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.effect-choice{position:relative;display:grid;place-items:center;gap:4px;min-height:105px;border:1px solid var(--line);background:#fff;border-radius:16px}.effect-choice>span{font-size:1.6rem}.effect-choice strong{font-size:.68rem}.effect-choice small{font-size:.5rem;color:var(--muted)}.effect-choice.selected{outline:2px solid #566657;border-color:transparent}.effect-choice.locked{opacity:.5}.planning-task-row{display:grid;grid-template-columns:1fr 34px;gap:6px}.planning-task-row label{margin:0!important}.planning-task-row.done label span{text-decoration:line-through;opacity:.5}.share-toolbar{margin-top:9px}.share-toolbar .btn{flex:1}
@media(max-width:1180px){.studio-v7{grid-template-columns:190px minmax(500px,1fr) 340px}.preview-phone-v7{width:310px}.effect-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.studio-v7-page{overflow:auto}.studio-v7{height:auto;min-height:100vh;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"top" "side" "editor"}.studio-v7-topbar{position:sticky;top:0}.studio-v7-side{position:sticky;top:68px;z-index:20;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line);padding:7px}.studio-v7-side .studio-tabs{display:flex;width:max-content}.studio-v7-side .studio-tab{width:auto;grid-template-columns:1fr auto;padding:10px 12px}.studio-v7-side .studio-tab .ico{display:none}.studio-v7-preview{display:none}.studio-v7-editor{overflow:visible;padding:18px 14px 70px}.studio-v7-actions .btn-soft{display:none}}
@media(max-width:600px){.public-card-v7{background:#f4eee5}.v7-shell{max-width:none;box-shadow:none}.v7-cover{padding-inline:14px}.v7-cover-card{border-radius:28px;padding-inline:16px}.v7-content-inner{padding-inline:13px}.v7-intro,.v7-section{border-radius:24px;padding-inline:16px}.v7-map-embed{height:190px}.v7-dock{width:calc(100% - 12px);border-radius:19px}.v7-contact-list article{grid-template-columns:1fr 1fr}.v7-contact-list article>div{grid-column:1/-1}.studio-v7-topbar{padding:8px}.studio-v7-title small{display:none}.studio-v7-title strong{max-width:120px}.studio-v7-actions{gap:4px}.studio-v7-actions .btn{padding:8px 10px;font-size:.68rem}.form-row,.contact-editor-grid,.background-upload-grid,.export-tools,.planning-summary{grid-template-columns:1fr!important}.schedule-v7-row{grid-template-columns:90px 1fr 34px}.effect-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.v7-effects,.v7-music,.v7-opening *{animation:none!important;transition:none!important}}
@media print{@page{size:A4 portrait;margin:0}.public-card-v7{background:#fff}.v7-opening,.v7-tools,.v7-dock,.v7-sheet-host,.v7-enter,.v7-effects{display:none!important}.v7-shell{max-width:none;box-shadow:none}.v7-cover{height:100vh;min-height:100vh;break-after:page;page-break-after:always}.v7-content{height:100vh;min-height:100vh;max-height:100vh;overflow:hidden;break-before:page;page-break-before:always}.v7-content-inner{transform:scale(.56);transform-origin:top center;width:178%;margin-left:-39%;padding-top:36px}.v7-page{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.v7-map-embed{height:160px}.v7-divider{height:28px}.v7-section,.v7-intro{padding-top:16px;padding-bottom:16px}.v7-content-inner{padding-bottom:0}}
.studio-lang-switch:has(span:last-child.active) i:after,.v7-lang:has(span:last-child.active) i:after{transform:translateX(11px)}

/* =========================================================
   V8 refinements — formal icons, ambient effects, Gift hub
   ========================================================= */
.v8-icon{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:currentColor}
.v8-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.v7-section-icon .v8-icon{width:28px;height:28px;margin:auto;opacity:.82}
.v7-info-grid .v8-icon{width:22px;height:22px;opacity:.76}
.v7-venue>.v8-icon{width:22px;height:22px;margin-top:2px}
.v7-enter .v8-icon{width:16px;height:16px}

/* Keep the printed glass panels formal while letting the theme remain visible. */
.v7-intro,.v7-section{
  background:rgba(255,253,249,.56)!important;
  border-color:rgba(68,53,42,.11)!important;
  box-shadow:0 16px 46px rgba(45,35,28,.08)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  backdrop-filter:blur(12px) saturate(1.08);
}
.v7-wishes blockquote,.v7-all-wishes blockquote,.v7-info-grid>div,.v7-schedule>div,.v7-dress span{
  background:rgba(255,255,255,.50)!important;
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
.v7-prayer .v7-section-icon{margin-bottom:14px}
.v7-dress span{padding:13px 12px}

/* Formal navigation icons. */
.v7-dock button{gap:4px}
.v7-dock button>.v8-icon{width:19px;height:19px;opacity:.86}
.v7-dock small{font-size:.5rem;letter-spacing:.01em}
.v7-contact-list a{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}
.v7-contact-list a .v8-icon{width:15px;height:15px}
.v7-sheet-actions button{display:flex;align-items:center;justify-content:center;gap:8px}
.v7-sheet-actions button .v8-icon{width:17px;height:17px}

/* Maps are the only places intentionally using emoji markers. */
.v8-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.v8-map-actions a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border-radius:999px;background:#2d332e;color:#fff;text-decoration:none;font:800 .65rem/1 var(--v7-body)}
.v8-map-actions a:last-child{background:rgba(255,255,255,.66);color:#302a26;border:1px solid rgba(50,42,35,.12);backdrop-filter:blur(8px)}

/* Music: only the thin ring rotates while the icon stays still. */
.v7-music{position:relative;display:grid;place-items:center;padding:0;overflow:visible!important}
.v7-music.playing{animation:none!important}
.v7-music .v8-icon{width:17px;height:17px;position:relative;z-index:2}
.music-ring{position:absolute;inset:-3px;border-radius:50%;border:1px solid transparent;border-top-color:rgba(45,51,46,.8);border-right-color:rgba(45,51,46,.26);opacity:0;transform:rotate(0)}
.v7-music.playing .music-ring{opacity:1;animation:v8-music-ring 3.8s linear infinite}
@keyframes v8-music-ring{to{transform:rotate(360deg)}}

/* Ambient effects use pure CSS shapes. They drift around their anchor points
   instead of falling vertically from the top of the card. */
.v8-effects{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;max-width:540px;margin:auto}
.v8-effects>span{position:absolute;left:var(--x);top:var(--y);width:15px;height:15px;opacity:.38;animation:v8-ambient var(--d) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.7s);will-change:transform}
@keyframes v8-ambient{
  0%{transform:translate3d(-12px,7px,0) rotate(var(--r)) scale(.92)}
  32%{transform:translate3d(9px,-13px,0) rotate(calc(var(--r) + 24deg)) scale(1.04)}
  66%{transform:translate3d(17px,9px,0) rotate(calc(var(--r) + 48deg)) scale(.96)}
  100%{transform:translate3d(-7px,-8px,0) rotate(calc(var(--r) + 72deg)) scale(1.06)}
}
.v8-effects.effect-petals>span{width:13px;height:19px;border-radius:80% 18% 76% 20%;background:rgba(132,105,92,.50);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.v8-effects.effect-hearts>span{width:17px;height:16px;background:rgba(153,91,94,.38);clip-path:polygon(50% 94%,9% 57%,2% 34%,8% 16%,24% 7%,41% 10%,50% 23%,59% 10%,76% 7%,92% 16%,98% 34%,91% 57%)}
.v8-effects.effect-bubbles>span{width:clamp(16px,5vw,32px);height:clamp(16px,5vw,32px);border-radius:50%;border:1px solid rgba(255,255,255,.54);background:rgba(255,255,255,.18);box-shadow:inset 5px 5px 12px rgba(255,255,255,.14)}
.v8-effects.effect-balloons>span{width:18px;height:24px;border-radius:50% 50% 48% 48%;background:linear-gradient(145deg,rgba(146,118,104,.40),rgba(255,255,255,.24));border:1px solid rgba(103,78,67,.14)}
.v8-effects.effect-balloons>span:after{content:"";position:absolute;top:24px;left:50%;width:1px;height:28px;background:rgba(75,64,57,.22);transform:translateX(-50%) rotate(4deg);transform-origin:top}

/* Studio effect previews: shapes only, no emoji. */
.effect-choice>span.effect-mini{font-size:initial;width:62px;height:42px;position:relative;display:block;border-radius:12px;background:linear-gradient(145deg,#f7f3ed,#fff);overflow:hidden;border:1px solid rgba(60,50,42,.07)}
.effect-mini i{position:absolute;display:block}
.effect-mini-petals i{width:9px;height:14px;border-radius:80% 18% 76% 20%;background:rgba(132,105,92,.38);transform:rotate(28deg)}
.effect-mini-petals i:nth-child(1){left:12px;top:12px}.effect-mini-petals i:nth-child(2){left:29px;top:7px;transform:rotate(72deg)}.effect-mini-petals i:nth-child(3){right:9px;bottom:8px;transform:rotate(122deg)}
.effect-mini-hearts i{width:9px;height:9px;background:rgba(153,91,94,.34);transform:rotate(45deg)}
.effect-mini-hearts i:before,.effect-mini-hearts i:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:inherit}.effect-mini-hearts i:before{left:-4.5px}.effect-mini-hearts i:after{top:-4.5px}.effect-mini-hearts i:nth-child(1){left:12px;top:17px}.effect-mini-hearts i:nth-child(2){left:29px;top:10px}.effect-mini-hearts i:nth-child(3){right:10px;top:22px}
.effect-mini-bubbles i{border-radius:50%;border:1px solid rgba(95,113,118,.34);background:rgba(255,255,255,.4)}.effect-mini-bubbles i:nth-child(1){width:12px;height:12px;left:10px;top:20px}.effect-mini-bubbles i:nth-child(2){width:18px;height:18px;left:27px;top:8px}.effect-mini-bubbles i:nth-child(3){width:9px;height:9px;right:7px;bottom:7px}
.effect-mini-balloons i{width:10px;height:14px;border-radius:50%;background:rgba(130,111,98,.28);border:1px solid rgba(70,60,52,.1)}.effect-mini-balloons i:after{content:"";position:absolute;left:50%;top:14px;width:1px;height:12px;background:rgba(70,60,52,.22)}.effect-mini-balloons i:nth-child(1){left:11px;top:7px}.effect-mini-balloons i:nth-child(2){left:27px;top:15px}.effect-mini-balloons i:nth-child(3){right:9px;top:6px}

/* Studio gift workspace. */
.formal-mark{width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;font-family:Georgia,serif!important;font-size:1rem!important;border:1px solid var(--line);background:#f8f4ee;color:#2f342f}
.gift-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.gift-account-card{padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff}
.gift-account-head{display:flex;gap:10px;align-items:center;margin-bottom:14px}.gift-account-head>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f1ebe3;font-size:.65rem;font-weight:900}.gift-account-head strong,.gift-account-head small{display:block}.gift-account-head strong{font-size:.78rem}.gift-account-head small{font-size:.58rem;color:var(--muted);margin-top:2px}.gift-wishlist-group{margin-top:18px!important}

/* Public Gift sheet: money first, Wishlist one tap beside it. */
.v8-gift-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;margin-bottom:16px;border-radius:14px;background:#eee7df}.v8-gift-tabs button{border:0;border-radius:11px;padding:10px 8px;background:transparent;color:#645b54;font:800 .65rem/1 var(--v7-body)}.v8-gift-tabs button.active{background:#fff;color:#282e29;box-shadow:0 4px 14px rgba(41,34,28,.07)}
.v8-gift-accounts{display:grid;gap:12px}.v8-gift-account{padding:16px;border:1px solid rgba(50,42,35,.09);border-radius:20px;background:rgba(255,255,255,.64)}.v8-gift-account-head{display:flex;gap:10px;align-items:center;margin-bottom:12px}.v8-gift-account-head>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eee8df;font:900 .61rem/1 var(--v7-body)}.v8-gift-account-head strong,.v8-gift-account-head small{display:block}.v8-gift-account-head strong{font-family:var(--v7-head);font-size:1.05rem}.v8-gift-account-head small{font-size:.56rem;opacity:.66;margin-top:2px}.v8-gift-account .v7-gift-qr{width:min(220px,76%);margin-bottom:11px}.v8-copy-account{width:100%;border:0;border-radius:13px;padding:12px;background:#2d332e;color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font:800 .63rem/1 var(--v7-body)}.v8-copy-account .v8-icon{width:15px;height:15px}
.v8-sheet-wishlist{display:grid;gap:9px}.v8-sheet-wishlist>a{display:grid;grid-template-columns:82px 1fr;gap:11px;padding:8px;border-radius:17px;border:1px solid rgba(50,42,35,.09);background:rgba(255,255,255,.64);text-decoration:none;color:inherit}.v8-sheet-wishlist img{width:82px;height:82px;object-fit:cover;border-radius:12px}.v8-sheet-wishlist strong,.v8-sheet-wishlist span,.v8-sheet-wishlist small{display:block}.v8-sheet-wishlist strong{font-size:.7rem}.v8-sheet-wishlist span{font-size:.58rem;font-weight:900;margin-top:6px;color:#9a563e}.v8-sheet-wishlist small{font-size:.54rem;opacity:.62;margin-top:6px;line-height:1.45}

@media(max-width:760px){.gift-account-grid{grid-template-columns:1fr}.v8-effects{max-width:none}.v7-intro,.v7-section{-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05)}}
@media(prefers-reduced-motion:reduce){.v8-effects>span,.music-ring{animation:none!important}}
@media print{.v8-effects{display:none!important}}


/* =========================================================
   V9 refinements — focused glass, opening styles, Pro flash
   ========================================================= */
/* Main content background is width-fitted, never cropped/zoomed. */
.v7-content{background-size:100% auto!important;background-repeat:repeat-y!important;background-position:top center!important}

/* Only Prayer and RSVP/Wishes use glass frames. All other content sits directly on the theme. */
.v7-intro,.v7-section{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.v7-info-grid>div,.v7-schedule>div,.v7-dress span{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:transparent!important;
}
.v7-prayer,.v7-rsvp-frame{
  background:rgba(255,253,249,.54)!important;
  border:1px solid rgba(68,53,42,.12)!important;
  box-shadow:0 16px 46px rgba(45,35,28,.08)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.08)!important;
  backdrop-filter:blur(14px) saturate(1.08)!important;
}
.v7-rsvp-frame .v7-wishes blockquote{background:rgba(255,255,255,.46)!important;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}

/* App-style map buttons. */
.v8-map-actions a{gap:8px}
.v8-map-actions .v8-icon{width:25px;height:25px;flex-basis:25px}
.v8-map-actions .app-svg{stroke:none!important}
.v8-map-actions a:first-child{background:#fff;color:#2c2f33;border:1px solid rgba(50,42,35,.12)}
.v8-map-actions a:last-child{background:#fff;color:#253640;border:1px solid rgba(50,42,35,.12)}

/* Compact yellow-orange marker for paid/future features. */
.pro-flash{display:inline-grid!important;place-items:center;min-width:25px;height:20px;padding:0 8px;margin-left:7px;border-radius:999px;background:linear-gradient(135deg,#ffd43b,#ff8a00)!important;color:#151515!important;font:950 11px/1 system-ui!important;box-shadow:0 5px 13px rgba(255,132,0,.24);border:1px solid rgba(120,72,0,.08)!important;letter-spacing:0!important;text-transform:none!important;vertical-align:middle}
.studio-tab .pro-flash{margin-left:auto}.theme-pick>.pro-flash,.opening-choice>.pro-flash{position:absolute;right:8px;top:8px}

/* Prayer editor: auto mode keeps the custom textarea visible but softly locked. */
.doa-editor-wrap{position:relative;transition:.2s}
.doa-editor-wrap.is-auto .field{filter:blur(2.8px);opacity:.46;pointer-events:none;user-select:none}
.doa-auto-mask{display:none;position:absolute;inset:0;place-items:center;font-size:.68rem;font-weight:900;color:#655c54;pointer-events:none}
.doa-editor-wrap.is-auto .doa-auto-mask{display:grid}

/* Opening selector in Studio. */
.opening-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.opening-choice{position:relative;min-height:132px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px 8px;display:grid;place-items:center;gap:7px;cursor:pointer}
.opening-choice.selected{outline:2px solid #59685c;border-color:transparent}.opening-choice.locked{opacity:.64}.opening-choice strong{font-size:.7rem}.opening-choice small{font-size:.53rem;color:var(--muted);font-weight:900}
.opening-mini{position:relative;width:76px;height:61px;display:block;overflow:hidden;border-radius:12px;background:#f1e8dc;border:1px solid rgba(70,55,43,.09)}
.opening-mini-envelope:before{content:"";position:absolute;inset:17px 8px 7px;background:#e5d0b7;border-radius:4px}.opening-mini-envelope:after{content:"";position:absolute;left:8px;right:8px;top:17px;height:27px;background:#f0dfca;clip-path:polygon(0 0,100% 0,50% 90%)}
.opening-mini-book:before,.opening-mini-book:after{content:"";position:absolute;top:10px;bottom:8px;width:31px;background:#fffaf3;border:1px solid #d9c7b1}.opening-mini-book:before{left:7px;transform:perspective(80px) rotateY(12deg)}.opening-mini-book:after{right:7px;transform:perspective(80px) rotateY(-12deg)}
.opening-mini-curtain:before,.opening-mini-curtain:after{content:"";position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#8f6b62,#c9a59a)}.opening-mini-curtain:before{left:0}.opening-mini-curtain:after{right:0;transform:scaleX(-1)}
.opening-mini-softfold:before{content:"";position:absolute;inset:7px;background:#fff9ef;transform:skewY(-7deg);box-shadow:10px 9px 0 #dfc9ae}

/* Public opening system. */
.v9-opening-stage{position:relative;z-index:4;width:min(88vw,360px);height:300px;display:grid;place-items:center}
.v9-open-trigger{position:absolute;z-index:12;left:50%;top:50%;transform:translate(-50%,-50%);min-width:118px;height:52px;padding:0 24px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(35,37,34,.88);color:#fff;box-shadow:0 13px 34px rgba(36,29,24,.25);font:900 .78rem/1 var(--v7-body);letter-spacing:.18em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.28s}
.v9-open-trigger:hover{transform:translate(-50%,-50%) scale(1.03)}
.v9-opening-stage .v7-envelope{width:330px;height:245px;pointer-events:none}
.opening-style-envelope.opening .v7-envelope-flap{transform:rotateX(180deg);z-index:3}.opening-style-envelope.opening .v7-letter{transform:translateY(-110px) scale(1.03)}.opening-style-envelope.opening .v7-seal{opacity:0}.opening-style-envelope.opening .v9-open-trigger{opacity:0;transform:translate(-50%,-70%) scale(.92)}
.v9-book{position:relative;width:300px;height:205px;perspective:1000px;filter:drop-shadow(0 24px 26px rgba(50,39,31,.23))}.v9-book-left,.v9-book-right{position:absolute;top:0;width:50%;height:100%;display:grid;place-items:center;background:#fffaf1;border:1px solid #d6c3ac;transition:transform .85s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.v9-book-left{left:0;transform-origin:right}.v9-book-right{right:0;transform-origin:left}.v9-book span{font-family:var(--v7-head);font-size:1.2rem}.opening-style-book.opening .v9-book-left{transform:rotateY(-145deg)}.opening-style-book.opening .v9-book-right{transform:rotateY(145deg)}.opening-style-book.opening .v9-open-trigger{opacity:0}
.v9-curtain{position:relative;width:300px;height:230px;overflow:hidden;border-radius:14px;box-shadow:0 22px 34px rgba(40,31,26,.2)}.v9-curtain .left,.v9-curtain .right{position:absolute;top:0;bottom:0;width:52%;background:linear-gradient(90deg,#84655e,#c7a69d 35%,#8d6b64 100%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.v9-curtain .left{left:0}.v9-curtain .right{right:0;transform:scaleX(-1)}.v9-curtain b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:var(--v7-head);font-size:1.6rem}.opening-style-curtain.opening .v9-curtain .left{transform:translateX(-104%)}.opening-style-curtain.opening .v9-curtain .right{transform:translateX(104%) scaleX(-1)}.opening-style-curtain.opening .v9-open-trigger{opacity:0}
.v9-softfold{position:relative;width:292px;height:214px;perspective:1000px}.v9-softfold>span{position:absolute;inset:0;border-radius:12px;background:#ead9c4;border:1px solid rgba(80,60,45,.12);transition:transform .85s cubic-bezier(.2,.8,.2,1)}.v9-softfold .fold-one{transform-origin:top;clip-path:polygon(0 0,100% 0,50% 52%)}.v9-softfold .fold-two{transform-origin:bottom;clip-path:polygon(0 100%,100% 100%,50% 48%)}.v9-softfold>div{position:absolute;inset:22px;background:#fff9f0;border-radius:8px;display:grid;align-content:center;justify-items:center;gap:8px}.v9-softfold>div small{font-size:.55rem;letter-spacing:.15em}.v9-softfold>div b{font-family:var(--v7-head);font-size:1.35rem}.opening-style-softfold.opening .fold-one{transform:rotateX(165deg)}.opening-style-softfold.opening .fold-two{transform:rotateX(-165deg)}.opening-style-softfold.opening .v9-open-trigger{opacity:0}

/* Wishlist manual image controls. */
.mini-upload{display:inline-flex;margin-top:7px;padding:6px 8px;border-radius:9px;background:#f3eee7;font-size:.55rem;font-weight:900;cursor:pointer}.mini-upload input{display:none}

.qr-sheet.compact img{width:min(210px,70vw)!important}

@media(max-width:760px){.opening-choice-grid{grid-template-columns:repeat(2,1fr)}.v7-content-inner{padding-inline:18px}.v7-prayer,.v7-rsvp-frame{border-radius:25px!important}.v9-opening-stage{height:280px}.v9-opening-stage .v7-envelope,.v9-book,.v9-curtain,.v9-softfold{transform:scale(.92)}}
/* Main cover text sits directly on the artwork; glass is reserved for Doa + RSVP only. */
.v7-cover-card{background:transparent!important;border-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}


/* =========================================================
   V10 refinements — dividers, full-screen openings, polish
   ========================================================= */
/* Paid marker: roomy, black lightning over yellow-orange. */
.pro-flash{color:#111!important;margin-inline-start:8px!important}
.setting-heading-row .pro-flash,.eyebrow .pro-flash{margin-inline-start:9px!important}

/* Divider picker in Studio. */
.divider-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.divider-choice{position:relative;min-height:112px;padding:12px 10px;border:1px solid var(--line);border-radius:17px;background:#fff;display:grid;place-items:center;gap:8px;cursor:pointer;text-align:center}
.divider-choice.selected{outline:2px solid #58655b;border-color:transparent}.divider-choice.locked{opacity:.66}.divider-choice strong{font-size:.69rem}.divider-choice small{font-size:.52rem;color:var(--muted);font-weight:900}
.divider-preview{width:78px;height:34px;display:flex;align-items:center;justify-content:center;gap:5px}.divider-preview i{display:block;width:25px;height:1px;background:#8d8174}.divider-preview b{display:block;position:relative;width:12px;height:12px}
.divider-preview-classic b{border:1px solid #8d8174;transform:rotate(45deg);width:7px;height:7px}
.divider-preview-botanical b:before,.divider-preview-botanical b:after{content:"";position:absolute;width:7px;height:11px;border:1px solid #74806e;border-radius:90% 15% 90% 15%;top:0}.divider-preview-botanical b:before{left:0;transform:rotate(-36deg)}.divider-preview-botanical b:after{right:0;transform:rotate(36deg) scaleX(-1)}
.divider-preview-diamond b{width:10px;height:10px;background:#8c6c55;transform:rotate(45deg);box-shadow:0 0 0 4px rgba(140,108,85,.1)}
.divider-preview-crescent b{width:13px;height:13px;border-radius:50%;background:#827567;box-shadow:5px -1px 0 0 #fff}

/* Public divider variants. */
.v7-divider{display:flex!important;align-items:center;justify-content:center;gap:10px;height:44px;margin:4px auto;width:min(82%,330px)}
.v7-divider .divider-line{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(74,61,50,.28),transparent)}
.v7-divider .divider-mark{position:relative;display:grid;place-items:center;width:30px;height:24px}.v7-divider .divider-mark i,.v7-divider .divider-mark b{display:block;position:absolute}
.divider-classic .divider-mark b{width:7px;height:7px;border:1px solid rgba(72,60,50,.52);transform:rotate(45deg)}
.divider-botanical .divider-mark b:before,.divider-botanical .divider-mark b:after{content:"";position:absolute;width:8px;height:13px;border:1px solid rgba(76,91,71,.58);border-radius:90% 15% 90% 15%;top:-7px}.divider-botanical .divider-mark b:before{right:1px;transform:rotate(-32deg)}.divider-botanical .divider-mark b:after{left:1px;transform:rotate(32deg) scaleX(-1)}
.divider-diamond .divider-mark b{width:9px;height:9px;background:rgba(122,89,65,.58);transform:rotate(45deg);box-shadow:0 0 0 4px rgba(122,89,65,.08)}
.divider-crescent .divider-mark b{width:14px;height:14px;border-radius:50%;background:rgba(90,81,73,.66);box-shadow:5px -1px 0 0 rgba(255,252,247,.9)}

/* Pro opening styles occupy the full opening viewport and no longer resemble an envelope card. */
.v9-opening-stage.is-fullscreen{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:3;overflow:hidden}
.v9-opening-stage.is-fullscreen .v9-open-trigger{z-index:20;top:52%}
.opening-style-book .v7-opening-hint,.opening-style-curtain .v7-opening-hint,.opening-style-softfold .v7-opening-hint{z-index:22}
.v10-book-screen{position:absolute;inset:0;display:flex;perspective:1800px;background:rgba(244,238,229,.12)}
.v10-book-screen .book-page{position:absolute;top:0;bottom:0;width:50.2%;display:grid;place-items:center;background:linear-gradient(90deg,rgba(249,245,238,.95),rgba(255,253,248,.82));border:0;transition:transform 1.15s cubic-bezier(.22,.75,.2,1);transform-style:preserve-3d;box-shadow:inset 0 0 80px rgba(103,83,65,.06)}
.v10-book-screen .book-page.left{left:0;transform-origin:left center}.v10-book-screen .book-page.right{right:0;transform-origin:right center}.v10-book-screen .book-page span{font-family:var(--v7-head);font-size:clamp(1.25rem,6vw,2.1rem);color:#4d4036}.v10-book-screen .book-spine{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(72,59,48,.16);z-index:2}
.opening-style-book.opening .book-page.left{transform:rotateY(92deg)}.opening-style-book.opening .book-page.right{transform:rotateY(-92deg)}
.v10-curtain-screen{position:absolute;inset:0;overflow:hidden;background:rgba(56,39,38,.12)}.v10-curtain-screen .curtain-panel{position:absolute;top:-4%;bottom:-4%;width:54%;background:repeating-linear-gradient(90deg,#76524f 0,#a87b72 10%,#694944 20%);filter:saturate(.8);transition:transform 1.15s cubic-bezier(.22,.75,.2,1);box-shadow:inset -20px 0 35px rgba(0,0,0,.12)}.v10-curtain-screen .left{left:-3%}.v10-curtain-screen .right{right:-3%;transform:scaleX(-1)}.v10-curtain-screen .curtain-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;gap:10px;z-index:4;text-shadow:0 2px 18px rgba(0,0,0,.28)}.v10-curtain-screen .curtain-center small{font-size:.65rem;letter-spacing:.22em}.v10-curtain-screen .curtain-center b{font-family:var(--v7-head);font-size:clamp(1.5rem,7vw,2.5rem)}.opening-style-curtain.opening .curtain-panel.left{transform:translateX(-103%)}.opening-style-curtain.opening .curtain-panel.right{transform:translateX(103%) scaleX(-1)}.opening-style-curtain.opening .curtain-center{opacity:0;transition:.35s}
.v10-light-screen{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,rgba(255,250,240,.55),rgba(210,191,166,.20));display:grid;place-items:center}.v10-light-screen .light-orb{position:absolute;border-radius:50%;filter:blur(18px);opacity:.65;animation:v10-orb 7s ease-in-out infinite alternate}.v10-light-screen .one{width:62vw;height:62vw;max-width:420px;max-height:420px;background:rgba(255,232,202,.72);left:-16%;top:-10%}.v10-light-screen .two{width:54vw;height:54vw;max-width:360px;max-height:360px;background:rgba(216,228,210,.56);right:-14%;bottom:-4%;animation-delay:-2s}.v10-light-screen .three{width:38vw;height:38vw;max-width:250px;max-height:250px;background:rgba(235,210,214,.48);right:8%;top:18%;animation-delay:-4s}.v10-light-screen .light-card{position:relative;z-index:3;text-align:center;padding:34px 28px;border-top:1px solid rgba(68,56,45,.22);border-bottom:1px solid rgba(68,56,45,.22);color:#4b4037}.v10-light-screen .light-card small{display:block;font-size:.62rem;letter-spacing:.22em;margin-bottom:10px}.v10-light-screen .light-card b{font-family:var(--v7-head);font-size:clamp(1.45rem,7vw,2.45rem)}.opening-style-softfold.opening .v10-light-screen{opacity:0;transform:scale(1.08);transition:opacity .9s,transform 1.1s}
@keyframes v10-orb{to{transform:translate3d(24px,18px,0) scale(1.08)}}
.opening-style-book.opening .v9-open-trigger,.opening-style-curtain.opening .v9-open-trigger,.opening-style-softfold.opening .v9-open-trigger{opacity:0;transform:translate(-50%,-50%) scale(.9)}

/* Opening button copy is fixed to Buka/Open. */
.opening-label-note strong{font-weight:900}

/* Ambient effects are intentionally more visible, but remain slow and elegant. */
.v8-effects>span{opacity:.38;filter:saturate(1.08)}
.v8-effects.effect-petals>span{box-shadow:inset 0 0 0 1px rgba(255,255,255,.26),0 7px 18px rgba(84,66,55,.07)}
.v8-effects.effect-bubbles>span{border-width:1.2px;box-shadow:inset 5px 5px 12px rgba(255,255,255,.24),0 8px 22px rgba(76,91,98,.08)}

@media(max-width:760px){.divider-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v9-opening-stage.is-fullscreen{transform:none!important}.v10-book-screen,.v10-curtain-screen,.v10-light-screen{transform:none!important}}


/* V11 refinements */
.pro-flash{color:transparent!important;font-size:0!important;position:relative;background:linear-gradient(135deg,#ffd43b,#ff8a00)!important;border:1px solid rgba(120,72,0,.10)!important;box-shadow:0 5px 13px rgba(255,132,0,.24)!important;min-width:28px!important;padding:0 9px!important}
.pro-flash::before{content:'ϟ';font-size:13px;line-height:1;color:#111!important;font-family:Arial,Helvetica,sans-serif;font-weight:900}
.color-input{height:48px;padding:4px 6px}
.v7-cover h1,.v7-couple-full strong,.v7-opening-copy strong,.v10-book-screen .book-page span,.curtain-center b,.light-card b{color:var(--name-color,#bd9863)}
.v7-kicker,.v7-date b,.v7-date strong{color:var(--name-color,#bd9863)}
.v7-divider:before,.v7-divider:after,.divider-preview i,.divider-preview b{background:var(--divider-color,#bd9863)!important;border-color:var(--divider-color,#bd9863)!important}
.v7-divider span{color:var(--divider-color,#bd9863)!important}
.v7-cover-card{max-width:430px;padding:36px 22px 28px}
.v7-arabic{margin-bottom:8px}
.v7-kicker{margin:0 0 20px}
.v7-hero-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0 2px}
.v7-hero-countdown div{padding:11px 4px;border-radius:16px;background:rgba(255,255,255,.26);border:1px solid rgba(255,255,255,.18)}
.v7-hero-countdown strong,.v7-hero-countdown span{display:block}
.v7-hero-countdown strong{font-family:var(--v7-head);font-size:1.2rem}
.v7-hero-countdown span{font-size:.52rem;font-weight:800;letter-spacing:.04em}
.v7-swipe-cta{display:inline-flex;align-items:center;gap:10px;padding-inline:17px}
.v7-swipe-cta .v7-swipe-arrow{display:inline-flex;align-items:center;animation:v11SwipeArrow 1.4s ease-in-out infinite}
.v7-swipe-cta .v8-icon{width:17px;height:17px}
@keyframes v11SwipeArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
.v7-footer{padding-top:20px;gap:8px}
.v7-footer-brand{display:inline-grid;justify-items:center;gap:8px}
.v7-footer-logo{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#1d2b26;color:#fff;font:900 14px/1 system-ui;letter-spacing:.08em;box-shadow:0 10px 20px rgba(29,43,38,.12)}
.v7-footer strong{font-family:var(--v7-head);font-size:1.1rem;letter-spacing:.08em;font-weight:700}
.v7-footer-socials{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:4px}
.v7-footer-socials a{font-size:.6rem;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.5);border:1px solid rgba(68,53,42,.10);font-family:var(--v7-body);font-weight:800}
@media(max-width:600px){.v7-hero-countdown strong{font-size:1.06rem}.v7-footer-socials a{padding:7px 10px}}


/* =========================================================
   V12 — structure, branding, openings, gift spacing, PDF
   ========================================================= */
/* Real black lightning-bolt icon inside orange/yellow premium marker. */
.pro-flash{font-size:0!important;color:transparent!important;display:inline-grid!important;place-items:center!important;min-width:30px!important;height:22px!important;padding:0 8px!important;border-radius:999px!important;background:linear-gradient(135deg,#ffd84a 0%,#ff9a1f 100%)!important;border:1px solid rgba(113,68,0,.12)!important;box-shadow:0 5px 14px rgba(218,126,14,.20)!important;vertical-align:middle!important}
.pro-flash::before{content:""!important;width:14px!important;height:14px!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111111' d='M13.3 1.8 5.1 13.1h5.5L9.8 22.2l9.1-12.4h-5.4l-.2-8z'/%3E%3C/svg%3E")!important}

/* Every TUJU brand mark uses the real image under /image/. */
.brand-mark{overflow:hidden;background:#fff!important;padding:0!important;border:1px solid rgba(28,26,24,.08)}
.brand-mark img,.seal img{width:100%;height:100%;display:block;object-fit:cover}
.seal{overflow:hidden;padding:0!important}
.v7-seal{overflow:hidden;padding:0!important;background:#fff!important;border:1px solid rgba(55,45,38,.12)}
.v7-seal img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* Opening cards: leave a clean safe zone for title and OPEN button. */
.opening-choice{padding:15px 10px 13px;grid-template-rows:68px auto 24px;align-content:center;min-height:148px}
.opening-choice>.pro-flash{top:10px!important;right:10px!important}
.opening-choice strong{font-size:.72rem;line-height:1.25;padding-inline:4px;max-width:100%;overflow-wrap:anywhere}
.opening-mini{width:78px;height:60px}
.v9-opening-stage.is-fullscreen .v9-open-trigger{top:auto!important;bottom:max(54px,calc(env(safe-area-inset-bottom) + 44px))!important;transform:translateX(-50%)!important;min-width:132px;height:50px;background:#171817;color:#fff;border-color:rgba(255,255,255,.18)}
.v9-opening-stage.is-fullscreen .v9-open-trigger:hover{transform:translateX(-50%) scale(1.03)!important}
.opening-style-book.opening .v9-open-trigger,.opening-style-curtain.opening .v9-open-trigger,.opening-style-softfold.opening .v9-open-trigger{opacity:0;transform:translateX(-50%) translateY(18px) scale(.94)!important}
.v10-book-screen .book-page{padding:13vh 16px 20vh;align-content:center;gap:14px;text-align:center}
.v10-book-screen .book-page small{font:800 .58rem/1.4 var(--v7-body);letter-spacing:.14em;opacity:.62;max-width:140px}
.v10-book-screen .book-page span{line-height:1.05;text-align:center}
.v10-curtain-screen .curtain-center,.v10-light-screen .light-card{padding-bottom:16vh}
.v10-curtain-screen .curtain-center b,.v10-light-screen .light-card b{max-width:78vw;margin:auto;line-height:1.04}

/* Gift Studio: more breathing room around bank details and QR. */
.gift-account-grid{gap:18px!important}
.gift-account-card{padding:22px!important;border-radius:22px!important}
.gift-account-head{margin-bottom:18px!important;padding-bottom:14px;border-bottom:1px solid rgba(28,26,24,.08)}
.gift-account-card .field{margin-top:12px}
.gift-qr-editor{display:grid!important;grid-template-columns:minmax(150px,210px) 1fr!important;align-items:center!important;gap:20px!important;margin-top:20px!important;padding-top:18px!important;border-top:1px solid rgba(28,26,24,.08)}
.gift-qr-preview{min-height:170px!important;border-radius:18px!important;padding:12px!important;background:#f7f3ed!important}
.gift-qr-preview img{width:100%!important;max-width:180px!important;aspect-ratio:1!important;object-fit:contain!important;border-radius:14px!important;margin:auto!important;display:block!important}
.gift-qr-editor>div:last-child{display:grid!important;gap:10px!important;align-content:center!important}
.v8-gift-accounts{display:grid;gap:16px!important}
.v8-gift-account{padding:18px!important;border-radius:20px!important;background:rgba(255,255,255,.60)!important;border:1px solid rgba(52,43,36,.09)!important}
.v8-gift-account-head{margin-bottom:14px!important;padding-bottom:12px!important;border-bottom:1px solid rgba(52,43,36,.08)!important}
.v7-gift-qr{display:block!important;width:min(220px,72vw)!important;aspect-ratio:1!important;object-fit:contain!important;margin:16px auto!important;padding:10px!important;background:#fff!important;border-radius:16px!important}
.v7-gift-info{margin:14px 0!important;padding:14px!important;border-radius:14px!important;background:rgba(255,255,255,.56)!important;text-align:center!important}

/* Public footer: image logo + tappable TUJU label, then icon-only social links. */
.v7-footer{gap:9px!important;padding-bottom:12px!important}
.v7-footer-brand{display:inline-grid!important;justify-items:center!important;gap:6px!important;width:max-content!important;margin:auto!important;text-decoration:none!important}
.v7-footer-logo-img{width:46px;height:46px;border-radius:14px;object-fit:cover;display:block;box-shadow:0 8px 20px rgba(32,28,24,.11)}
.v7-footer-brand strong{font-family:var(--v7-body)!important;font-size:.78rem!important;letter-spacing:.16em!important;font-weight:900!important}
.v7-footer>span{font-size:.62rem!important;opacity:.70!important}
.v7-footer-socials{gap:10px!important;margin-top:5px!important}
.v7-footer-socials a{width:36px!important;height:36px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.38)!important;border:1px solid rgba(58,46,38,.10)!important}
.v7-footer-socials svg{width:17px;height:17px;fill:currentColor;stroke:currentColor;stroke-width:0;color:#2d2925}
.v7-footer-socials a:nth-child(2) svg{fill:none;stroke-width:1.8}

/* Only names and dividers expose custom colors; both default to gold. */
.v7-cover h1,.v7-couple-full strong,.v7-opening-copy strong,.v10-book-screen .book-page span,.curtain-center b,.light-card b{color:var(--name-color,#bd9863)!important}
.v7-divider .divider-line{background:linear-gradient(90deg,transparent,var(--divider-color,#bd9863),transparent)!important;opacity:.72}
.divider-classic .divider-mark b,.divider-botanical .divider-mark b:before,.divider-botanical .divider-mark b:after{border-color:var(--divider-color,#bd9863)!important}
.divider-diamond .divider-mark b,.divider-crescent .divider-mark b{background:var(--divider-color,#bd9863)!important}

/* Polished 2-page PDF: cover + one complete content page. */
@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;height:auto!important;background:#fff!important}
  .public-card-v7{background:#fff!important}
  .v7-shell{width:210mm!important;max-width:none!important;margin:0!important;box-shadow:none!important;background:#fff!important}
  .v7-opening,.v7-tools,.v7-dock,.v7-sheet-host,.v7-enter,.v7-effects{display:none!important}
  .v7-cover{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:24mm 18mm!important;break-after:page!important;page-break-after:always!important;background-size:cover!important;background-position:center!important}
  .v7-cover-card{width:100%!important;max-width:145mm!important;margin:auto!important;padding:20mm 12mm!important}
  .v7-cover h1{font-size:19mm!important}
  .v7-arabic{font-size:12mm!important}
  .v7-hero-countdown{max-width:125mm!important;margin:8mm auto 0!important}
  .v7-content{width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;overflow:hidden!important;background-size:100% auto!important;background-repeat:repeat-y!important;background-position:top center!important;break-before:page!important;page-break-before:always!important}
  .v7-content-inner{width:178%!important;margin-left:-39%!important;padding:16mm 18mm 0!important;transform:scale(.56)!important;transform-origin:top center!important}
  .v7-intro,.v7-section{padding-top:14px!important;padding-bottom:14px!important}
  .v7-divider{height:25px!important}
  .v7-map-embed{display:none!important}
  .v7-footer{padding-top:10px!important}
  .v7-footer-socials{display:none!important}
  .v7-footer-logo-img{width:34px!important;height:34px!important}
}

@media(max-width:600px){
  .gift-qr-editor{grid-template-columns:1fr!important}
  .gift-qr-editor>div:last-child{grid-template-columns:1fr 1fr!important}
  .v9-opening-stage.is-fullscreen .v9-open-trigger{bottom:max(48px,calc(env(safe-area-inset-bottom) + 38px))!important}
}

.gateway-logo img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}


/* V13 — targeted fixes only */
/* Studio language switch: the thumb now reflects the selected language. */
.studio-lang-switch.is-en i:after{transform:translateX(11px)!important}

/* Keep the invitation completely hidden until Opening is triggered. */
.v7-shell.is-opening>.v7-page,
.v7-shell.is-opening>.v7-dock,
.v7-shell.is-opening>.v7-tools,
.v7-shell.is-opening>.v8-effects{visibility:hidden!important}
.v7-opening{background-color:#f4eee5!important;isolation:isolate}
.v7-opening-shade{background:linear-gradient(180deg,rgba(248,243,235,.66),rgba(248,243,235,.82))!important}
.v7-print-mode .v7-shell>.v7-page{visibility:visible!important}

/* Pro openings: keep OPEN between the centre artwork/name and helper copy. */
.v9-opening-stage.is-fullscreen .v9-open-trigger{
  top:auto!important;
  bottom:max(126px,calc(env(safe-area-inset-bottom) + 116px))!important;
  transform:translateX(-50%)!important;
}
.opening-style-book .v7-opening-hint,
.opening-style-curtain .v7-opening-hint,
.opening-style-softfold .v7-opening-hint{
  bottom:max(58px,calc(env(safe-area-inset-bottom) + 48px))!important;
}
.opening-style-book.opening .v9-open-trigger,
.opening-style-curtain.opening .v9-open-trigger,
.opening-style-softfold.opening .v9-open-trigger{
  transform:translateX(-50%) translateY(12px) scale(.94)!important;
}

/* Facebook icon: clean filled app glyph; Instagram/TikTok remain unchanged. */
.v7-footer-socials a:first-child svg{fill:#2d2925!important;stroke:none!important}

@media(max-width:600px){
  .v9-opening-stage.is-fullscreen .v9-open-trigger{bottom:max(118px,calc(env(safe-area-inset-bottom) + 108px))!important}
  .opening-style-book .v7-opening-hint,
  .opening-style-curtain .v7-opening-hint,
  .opening-style-softfold .v7-opening-hint{bottom:max(52px,calc(env(safe-area-inset-bottom) + 42px))!important}
}


/* =========================================================
   V14 — per-text styling, monogram, realistic envelope, PDF
   ========================================================= */
.field-style-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.field-style-head>label{margin:0!important}.text-style-mini{display:inline-flex;align-items:center;gap:5px}.text-style-mini select{width:132px;max-width:34vw;height:29px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 7px;font-size:.58rem}.text-style-mini input[type=color]{width:31px;height:29px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:3px;cursor:pointer}.text-style-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.text-style-system-grid>div{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:#fff}.text-style-system-grid b{font-size:.65rem}.divider-color-field{margin-top:13px;max-width:280px}.divider-color-field .color-input{max-width:84px}
/* Only names are gold by default on the main page; all other default copy is ink. */
.v7-cover{color:#111}.v7-arabic,.v7-kicker,.v7-date,.v7-hashtag,.v7-hero-countdown{color:#111}.v7-cover h1 span{color:#bd9863}.v14-monogram{font-family:'Great Vibes',cursive!important;font-size:3.15rem;line-height:.9;color:#bd9863;margin-bottom:10px;letter-spacing:.02em;user-select:none}.v14-book-monogram{font-family:'Great Vibes',cursive;font-style:normal;font-size:3rem;color:#bd9863;line-height:.8;margin-bottom:8px}
/* A more tactile, realistic free envelope. */
.v7-envelope{filter:drop-shadow(0 28px 38px rgba(48,34,25,.27));transform-style:preserve-3d}.v7-envelope-back{background:linear-gradient(145deg,#f4eadc 0%,#e7d4bc 48%,#d6b993 100%);box-shadow:inset 0 1px rgba(255,255,255,.8),inset 0 -18px 34px rgba(116,82,52,.08)}.v7-envelope-back:before{content:"";position:absolute;inset:7px;border:1px solid rgba(125,91,61,.12);border-radius:7px}.v7-envelope-front{background:linear-gradient(158deg,#f2e6d5 0%,#dec7a9 100%);box-shadow:inset 0 -12px 22px rgba(98,70,45,.08)}.v7-envelope-front:after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:53%;background:rgba(113,82,55,.11);transform:rotate(45deg);transform-origin:bottom}.v7-envelope-flap{background:linear-gradient(180deg,#f7eddf 0%,#e5cfb2 100%);backface-visibility:hidden;box-shadow:inset 0 1px rgba(255,255,255,.7)}.v7-letter{background:linear-gradient(180deg,#fffdf8,#fff8ee);box-shadow:0 16px 28px rgba(61,45,32,.18),inset 0 0 0 6px rgba(189,152,99,.025);border-color:rgba(124,92,62,.16)}.v7-letter:before{content:"";position:absolute;inset:10px;border:1px solid rgba(189,152,99,.16);pointer-events:none}.v7-seal{box-shadow:0 7px 14px rgba(78,51,31,.25),inset 0 0 0 2px rgba(255,255,255,.35)}
/* Premium openings: more breathing room and clearer hierarchy. */
.v10-book-screen .book-page{align-content:center;justify-items:center;gap:10px;padding:28px}.v10-book-screen .book-page small{font-size:.58rem;letter-spacing:.16em;text-align:center}.v10-book-screen .book-page span{font-size:clamp(1.55rem,7vw,2.45rem);text-align:center}.v10-curtain-screen .curtain-center,.v10-light-screen .light-card{gap:14px}.v10-curtain-screen .curtain-center small,.v10-light-screen .light-card small{max-width:260px;margin:auto;line-height:1.45}.v9-opening-stage.is-fullscreen .v9-open-trigger{bottom:max(132px,calc(env(safe-area-inset-bottom) + 122px))!important}.opening-style-book .v7-opening-hint,.opening-style-curtain .v7-opening-hint,.opening-style-softfold .v7-opening-hint{bottom:max(62px,calc(env(safe-area-inset-bottom) + 52px))!important}
/* Wishlist no longer requires a product-name field. */
.wishlist-editor-v6 article>div strong{display:none}
/* Dedicated PDF maker page. */
.pdf-maker-page{background:#ebe5dc;min-height:100vh}.pdf-maker{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.pdf-maker-card{width:min(760px,100%);background:#fffdfa;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.pdf-maker-logo{width:52px;height:52px;border-radius:16px;object-fit:cover;margin-bottom:16px}.pdf-preview{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.pdf-thumb{aspect-ratio:148/210;border:1px solid rgba(189,152,99,.4);border-radius:18px;padding:24px;display:grid;place-content:center;text-align:center;gap:8px;background:#faf6ef;box-shadow:0 15px 30px rgba(50,40,30,.08)}.pdf-thumb>span:first-child{font-family:'Great Vibes';font-size:2.4rem;color:#bd9863}.pdf-thumb small{letter-spacing:.13em;font-size:.6rem}.pdf-thumb strong{font-family:'Cormorant Garamond';font-size:1.45rem;color:#bd9863}.pdf-thumb em{font-size:.68rem;color:#6f6962}.pdf-thumb-details strong{font-size:1.1rem}.pdf-thumb-details>span:first-child{font-family:'Cormorant Garamond';font-size:1rem;color:#1c1a18}
@media(max-width:700px){.field-style-head{align-items:flex-start;flex-direction:column}.text-style-mini{width:100%}.text-style-mini select{flex:1;width:auto;max-width:none}.text-style-system-grid{grid-template-columns:1fr}.pdf-preview{grid-template-columns:1fr 1fr;gap:8px}.pdf-maker-card{padding:18px}.v9-opening-stage.is-fullscreen .v9-open-trigger{bottom:max(122px,calc(env(safe-area-inset-bottom) + 112px))!important}}


/* V15 production polish */
.brand-wordmark{font-weight:900!important;letter-spacing:.08em!important;white-space:nowrap}.brand-wordmark em{font-style:normal;color:#c4872f}.footer-brand .brand-wordmark em{color:#b97820}.brand .brand-mark img,.footer-brand .brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.v14-monogram,.v14-book-monogram{font-family:'Mea Culpa','Great Vibes',cursive!important;font-weight:400!important;letter-spacing:.01em!important}.v14-monogram{font-size:3.75rem!important}.v14-book-monogram{font-size:3.5rem!important}
/* Keep the invitation paper completely hidden until the envelope opens */
.opening-style-envelope:not(.opening) .v7-letter{opacity:0!important;transform:translateY(24px) scale(.94)!important;visibility:hidden}.opening-style-envelope.opening .v7-letter{opacity:1!important;visibility:visible;transform:translateY(-112px) scale(1.03)!important}.v7-letter{transition:transform .78s cubic-bezier(.18,.82,.22,1),opacity .22s ease,visibility .01s linear .05s!important}.v7-envelope{filter:drop-shadow(0 30px 44px rgba(54,38,25,.3))}.v7-envelope-back{background:linear-gradient(145deg,#f5ebdc 0%,#e3cfb4 54%,#cfae84 100%)!important}.v7-envelope-back:after{content:"";position:absolute;left:18px;right:18px;bottom:12px;height:18px;border-radius:50%;background:rgba(77,49,29,.11);filter:blur(12px)}.v7-envelope-front{background:linear-gradient(160deg,#f4e8d7 0%,#d9c09f 100%)!important}.v7-envelope-flap{background:linear-gradient(180deg,#f8efe3 0%,#e5ceb0 100%)!important}.v7-seal{width:48px!important;height:48px!important;background:radial-gradient(circle at 35% 30%,#9e7654,#765137 72%)!important;border:3px double rgba(255,239,215,.58)!important}
/* 8 divider styles */
.divider-preview-royal b,.divider-royal .divider-mark b{width:14px;height:14px;border:2px solid var(--divider-color,#bd9863);border-radius:50%;box-shadow:inset 0 0 0 3px rgba(189,152,99,.12)}.divider-preview-royal b:after,.divider-royal .divider-mark b:after{content:"";position:absolute;width:5px;height:5px;background:var(--divider-color,#bd9863);transform:rotate(45deg);left:50%;top:50%;translate:-50% -50%}.divider-preview-pearl b,.divider-pearl .divider-mark b{width:8px;height:8px;border-radius:50%;background:var(--divider-color,#bd9863);box-shadow:-11px 0 0 -1px color-mix(in srgb,var(--divider-color,#bd9863) 70%,transparent),11px 0 0 -1px color-mix(in srgb,var(--divider-color,#bd9863) 70%,transparent)}.divider-preview-arch b,.divider-arch .divider-mark b{width:18px;height:11px;border:2px solid var(--divider-color,#bd9863);border-bottom:0;border-radius:18px 18px 0 0}.divider-preview-flourish b,.divider-flourish .divider-mark b{width:18px;height:14px;border-top:2px solid var(--divider-color,#bd9863);border-radius:50%;transform:rotate(-12deg)}.divider-preview-flourish b:before,.divider-flourish .divider-mark b:before{content:"";position:absolute;width:18px;height:14px;border-bottom:2px solid var(--divider-color,#bd9863);border-radius:50%;transform:translate(-8px,2px) rotate(24deg)}
.divider-royal .divider-line{background:linear-gradient(90deg,transparent,var(--divider-color,#bd9863) 40%,var(--divider-color,#bd9863) 60%,transparent)!important}.divider-pearl .divider-line{background:radial-gradient(circle,var(--divider-color,#bd9863) 1.2px,transparent 1.5px)!important;background-size:8px 3px!important}.divider-arch .divider-line{height:2px!important;background:linear-gradient(90deg,transparent,var(--divider-color,#bd9863),transparent)!important}.divider-flourish .divider-line{height:1px!important;background:linear-gradient(90deg,transparent,var(--divider-color,#bd9863),transparent)!important}
/* 8 ambient effects */
.v8-effects.effect-fireflies>span{width:6px;height:6px;border-radius:50%;background:#ffd979;box-shadow:0 0 10px 3px rgba(255,215,121,.48);opacity:.68}.v8-effects.effect-pearls>span{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,#eee3d0 58%,#cdb99d 100%);box-shadow:0 5px 18px rgba(92,72,50,.16);opacity:.65}.v8-effects.effect-silk>span{width:70px;height:18px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);filter:blur(5px);opacity:.5}.v8-effects.effect-leaves>span{width:15px;height:24px;border-radius:95% 8% 95% 8%;background:linear-gradient(145deg,rgba(107,132,93,.5),rgba(174,190,153,.25));transform-origin:center}.effect-mini-fireflies i{width:5px;height:5px;border-radius:50%;background:#e8ba46;box-shadow:0 0 6px #e8ba46}.effect-mini-fireflies i:nth-child(1){left:12px;top:12px}.effect-mini-fireflies i:nth-child(2){left:31px;top:24px}.effect-mini-fireflies i:nth-child(3){right:10px;top:9px}.effect-mini-pearls i{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#d7c6ac)}.effect-mini-pearls i:nth-child(1){left:12px;top:11px}.effect-mini-pearls i:nth-child(2){left:29px;top:22px}.effect-mini-pearls i:nth-child(3){right:9px;top:12px}.effect-mini-silk i{width:28px;height:7px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(160,143,124,.35),transparent);filter:blur(1px)}.effect-mini-silk i:nth-child(1){left:8px;top:10px}.effect-mini-silk i:nth-child(2){left:24px;top:23px}.effect-mini-silk i:nth-child(3){right:7px;top:8px}.effect-mini-leaves i{width:9px;height:15px;border-radius:95% 8% 95% 8%;background:#9baa8d}.effect-mini-leaves i:nth-child(1){left:11px;top:12px;transform:rotate(-25deg)}.effect-mini-leaves i:nth-child(2){left:30px;top:7px;transform:rotate(32deg)}.effect-mini-leaves i:nth-child(3){right:10px;top:20px;transform:rotate(65deg)}
/* pricing */
.pricing-head-v15{max-width:800px;margin:0 auto 36px}.pricing-grid-v15{align-items:stretch;gap:22px}.price-card-v15{padding:30px;display:flex;flex-direction:column;gap:22px;border-radius:30px}.price-card-v15.featured{border:1px solid rgba(189,152,99,.38);box-shadow:0 28px 72px rgba(71,52,33,.12);background:linear-gradient(180deg,#fffdf8,#faf4e9)}.price-plan-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.price-plan-head h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:1.8rem;margin:10px 0 6px}.price-plan-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.6;max-width:36ch}.price-plan-head .price{font-family:'DM Serif Display',serif;font-size:2.2rem;white-space:nowrap}.feature-groups-v15{display:grid;gap:18px;flex:1}.feature-groups-v15 section{padding:18px;border-radius:20px;background:rgba(255,255,255,.56);border:1px solid rgba(28,26,24,.08)}.feature-groups-v15 h3{margin:0 0 12px;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#7b6e60}.price-card-v15 .price-features{display:grid;grid-template-columns:1fr 1fr;gap:9px}.price-card-v15 .price-features span{position:relative;padding-left:22px;font-size:.78rem;line-height:1.45}.price-card-v15 .price-features span:before{content:'✓';position:absolute;left:0;top:0;color:#5e775f;font-weight:900}.pricing-note-v15{margin-top:22px;padding:16px 20px;border-radius:18px;background:#ece5db;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.8rem}.payment-page{padding:42px 0 90px}.payment-page .developer-box{border-style:solid;background:#fffaf1}
@media(max-width:760px){.price-plan-head{display:grid}.price-plan-head .price{font-size:2rem}.price-card-v15 .price-features{grid-template-columns:1fr}.price-card-v15{padding:22px}.pricing-grid-v15{grid-template-columns:1fr!important}}

.brand-kad-accent{font-style:normal;color:#c4872f}


/* V16 — coded themes, single-image backgrounds, 8 openings, mobile polish */
.brand-mark,.footer-brand .brand-mark,.seal,.gateway-logo{background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.brand-mark img,.footer-brand .brand-mark img,.seal img,.gateway-logo img,.pdf-maker-logo,.v7-footer-logo-img{width:auto!important;height:100%!important;max-width:100%!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.v7-seal{background:rgba(122,86,52,.72)!important;overflow:hidden}.v7-seal img{object-fit:contain!important;border-radius:0!important;background:transparent!important;padding:7px}
.menu-btn{position:relative;border-radius:12px!important;background:rgba(255,255,255,.58)!important}
.menu-btn span{position:absolute!important;left:50%!important;width:20px!important;height:2px!important;border-radius:99px!important;background:var(--text)!important;transform:translate(-50%,-7px)!important;transition:transform .22s ease,opacity .18s ease!important}
.menu-btn span:nth-child(2){transform:translate(-50%,0)!important}.menu-btn span:nth-child(3){transform:translate(-50%,7px)!important}
.menu-btn.open span:nth-child(1){transform:translate(-50%,0) rotate(45deg)!important}.menu-btn.open span:nth-child(2){opacity:0!important}.menu-btn.open span:nth-child(3){transform:translate(-50%,0) rotate(-45deg)!important}
.theme-code-swatch{background:linear-gradient(145deg,var(--theme-a),var(--theme-b))!important;display:grid!important;place-items:center!important;position:relative!important}
.theme-code-swatch:after{content:'';position:absolute;inset:8px;border:1px solid rgba(255,255,255,.45);border-radius:10px}.theme-code-swatch span{position:relative;z-index:2;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.v7-opening{background:linear-gradient(145deg,var(--opening-a,#efe3d2),var(--opening-b,#b99769))!important;background-image:none!important}
.v7-opening-shade{background:transparent!important}
.v7-page-overlay,.v7-content-overlay{display:none!important;background:none!important;backdrop-filter:none!important;filter:none!important}
.v7-cover{background-size:cover!important;background-repeat:no-repeat!important;background-position:center!important}
.v7-content{background-size:100% 100%!important;background-repeat:no-repeat!important;background-position:top center!important;background-attachment:scroll!important}
.v7-content:before,.v7-cover:before{display:none!important}
.v16-cover-time{display:block;margin-top:8px;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.v7-hero-countdown{gap:8px;margin-top:22px}.v7-hero-countdown div{background:rgba(255,255,255,.34)!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 10px 24px rgba(36,31,27,.08);padding:14px 5px!important}.v7-hero-countdown strong{font-size:1.45rem!important}.v7-hero-countdown span{font-size:.55rem!important;text-transform:uppercase;letter-spacing:.07em}
.v7-schedule{gap:12px!important;position:relative}.v7-schedule:before{content:'';position:absolute;left:56px;top:13px;bottom:13px;width:1px;background:var(--divider-color,#bd9863);opacity:.55}.v7-schedule>div{position:relative;grid-template-columns:92px 1fr!important;background:rgba(255,255,255,.34)!important;border:1px solid rgba(255,255,255,.45);padding:14px 15px!important;border-radius:18px!important}.v7-schedule>div:before{content:'';position:absolute;left:52px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--divider-color,#bd9863);transform:translate(-50%,-50%);box-shadow:0 0 0 5px rgba(189,152,99,.13)}.v7-schedule time{text-align:left;font-size:1.04rem!important;color:var(--divider-color,#bd9863)}.v7-schedule span{text-align:left;font-size:.72rem!important}
/* 8 full-screen opening experiences */
.v16-opening-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;padding:90px 32px 190px;z-index:8;transition:opacity .55s ease,transform .7s ease}.v16-opening-center small{font-size:.66rem;letter-spacing:.18em}.v16-opening-names{font-family:var(--v7-head);font-size:clamp(1.8rem,8vw,3.15rem);font-weight:500;line-height:1.03}.v16-opening-names i{font-style:normal;font-size:.58em;opacity:.7}
.v16-book-screen,.v16-curtain-screen,.v16-light-screen,.v16-arch-screen,.v16-cinematic-screen,.v16-ribbon-screen,.v16-bloom-screen{position:absolute;inset:0;overflow:hidden}
.v16-book-screen{perspective:1300px}.v16-book-screen .book-cover{position:absolute;top:9%;bottom:9%;width:50%;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(224,207,183,.92));border:1px solid rgba(83,61,40,.18);box-shadow:inset 0 0 42px rgba(92,65,40,.08);transition:transform 1.05s cubic-bezier(.22,.75,.2,1),opacity .7s}.v16-book-screen .book-cover.left{left:0;transform-origin:left center}.v16-book-screen .book-cover.right{right:0;transform-origin:right center}.opening-style-book.opening .book-cover.left{transform:rotateY(-110deg);opacity:.3}.opening-style-book.opening .book-cover.right{transform:rotateY(110deg);opacity:.3}.opening-style-book.opening .v16-opening-center{opacity:0;transform:scale(.97)}
.v16-curtain-screen{background:radial-gradient(circle at center,rgba(255,255,255,.22),transparent 55%)}.v16-curtain-screen .curtain-rail{position:absolute;left:6%;right:6%;top:7%;height:7px;border-radius:99px;background:linear-gradient(90deg,#a6804b,#edd5a0,#9b7440);z-index:7;box-shadow:0 5px 14px rgba(54,39,27,.2)}.v16-curtain-screen .curtain-panel{position:absolute;top:8%;bottom:-4%;width:55%;background:repeating-linear-gradient(90deg,rgba(83,41,45,.94) 0 8%,rgba(145,82,80,.96) 8% 18%,rgba(76,37,43,.96) 18% 28%);box-shadow:inset -18px 0 25px rgba(0,0,0,.16);transition:transform 1.18s cubic-bezier(.22,.72,.18,1)}.v16-curtain-screen .left{left:-5%;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}.v16-curtain-screen .right{right:-5%;clip-path:polygon(0 0,100% 0,100% 100%,6% 100%)}.opening-style-curtain.opening .curtain-panel.left{transform:translateX(-106%)}.opening-style-curtain.opening .curtain-panel.right{transform:translateX(106%)}.opening-style-curtain.opening .v16-opening-center{opacity:0;transform:scale(.98)}
.v16-light-screen{background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.72),transparent 35%)}.v16-light-screen .light-ray{position:absolute;width:45%;height:150%;top:-25%;background:linear-gradient(180deg,rgba(255,255,255,.52),transparent);filter:blur(10px);transform-origin:50% 50%;transition:opacity .85s,transform 1.1s}.v16-light-screen .r1{left:4%;transform:rotate(15deg)}.v16-light-screen .r2{left:30%;transform:rotate(-7deg)}.v16-light-screen .r3{right:-5%;transform:rotate(19deg)}.opening-style-softfold.opening .light-ray{opacity:0;transform:scale(1.5)}.opening-style-softfold.opening .v16-opening-center{opacity:0;transform:scale(1.06)}
.v16-arch-screen:before{content:'';position:absolute;left:8%;right:8%;top:8%;bottom:5%;border:14px double rgba(255,255,255,.66);border-radius:48% 48% 8% 8%/30% 30% 8% 8%;box-shadow:inset 0 0 0 1px rgba(89,67,46,.18)}.v16-arch-screen .arch-door{position:absolute;top:8%;bottom:5%;width:42%;background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(190,163,127,.58));transition:transform 1s cubic-bezier(.2,.75,.2,1),opacity .8s}.v16-arch-screen .left{left:8%;transform-origin:left}.v16-arch-screen .right{right:8%;transform-origin:right}.opening-style-archway.opening .arch-door.left{transform:perspective(900px) rotateY(-105deg);opacity:.15}.opening-style-archway.opening .arch-door.right{transform:perspective(900px) rotateY(105deg);opacity:.15}.opening-style-archway.opening .v16-opening-center{opacity:0}
.v16-cinematic-screen{background:#111;color:#fff}.v16-cinematic-screen:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.16),transparent 50%),linear-gradient(135deg,var(--opening-a),var(--opening-b));opacity:.8}.cinema-line{position:absolute;left:0;right:0;height:16%;background:#0c0c0c;z-index:5;transition:transform .9s ease}.cinema-line.top{top:0}.cinema-line.bottom{bottom:0}.opening-style-cinematic.opening .cinema-line.top{transform:translateY(-110%)}.opening-style-cinematic.opening .cinema-line.bottom{transform:translateY(110%)}.opening-style-cinematic.opening .v16-opening-center{opacity:0;filter:blur(8px)}
.v16-ribbon-screen .ribbon-panel{position:absolute;inset:0;width:50%;background:linear-gradient(145deg,rgba(255,255,255,.65),rgba(208,185,153,.75));transition:transform 1s cubic-bezier(.2,.75,.2,1)}.v16-ribbon-screen .left{left:0}.v16-ribbon-screen .right{left:50%}.v16-ribbon-screen .ribbon-knot{position:absolute;left:50%;top:50%;width:78px;height:52px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#b58b52,#e1c99e);z-index:7;border-radius:16px;box-shadow:0 10px 28px rgba(64,43,25,.2);transition:opacity .35s,transform .7s}.opening-style-ribbon.opening .ribbon-panel.left{transform:translateX(-105%)}.opening-style-ribbon.opening .ribbon-panel.right{transform:translateX(105%)}.opening-style-ribbon.opening .ribbon-knot{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.2)}.opening-style-ribbon.opening .v16-opening-center{opacity:0}
.v16-bloom-screen{background:radial-gradient(circle at center,rgba(255,255,255,.48),transparent 45%)}.bloom-petal{position:absolute;width:58%;height:64%;border-radius:70% 30% 68% 32%;background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(216,177,172,.38));transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.2,.75,.2,1),opacity .8s}.bloom-petal.p1{left:-12%;top:2%;transform:rotate(-28deg)}.bloom-petal.p2{right:-12%;top:2%;transform:rotate(28deg)}.bloom-petal.p3{left:0;bottom:-20%;transform:rotate(18deg)}.bloom-petal.p4{right:0;bottom:-20%;transform:rotate(-18deg)}.opening-style-bloom.opening .p1{transform:translate(-70%,-40%) rotate(-65deg);opacity:0}.opening-style-bloom.opening .p2{transform:translate(70%,-40%) rotate(65deg);opacity:0}.opening-style-bloom.opening .p3{transform:translate(-40%,70%) rotate(45deg);opacity:0}.opening-style-bloom.opening .p4{transform:translate(40%,70%) rotate(-45deg);opacity:0}.opening-style-bloom.opening .v16-opening-center{opacity:0;transform:scale(1.06)}
.opening-style-book.opening .v9-open-trigger,.opening-style-curtain.opening .v9-open-trigger,.opening-style-softfold.opening .v9-open-trigger,.opening-style-archway.opening .v9-open-trigger,.opening-style-cinematic.opening .v9-open-trigger,.opening-style-ribbon.opening .v9-open-trigger,.opening-style-bloom.opening .v9-open-trigger{opacity:0!important;pointer-events:none!important}
.opening-style-book .v7-opening-hint,.opening-style-curtain .v7-opening-hint,.opening-style-softfold .v7-opening-hint,.opening-style-archway .v7-opening-hint,.opening-style-cinematic .v7-opening-hint,.opening-style-ribbon .v7-opening-hint,.opening-style-bloom .v7-opening-hint{z-index:24!important}
.opening-mini-archway:before,.opening-mini-cinematic:before,.opening-mini-ribbon:before,.opening-mini-bloom:before{content:'';position:absolute;inset:8px;border:1px solid #b99769;border-radius:8px}.opening-mini-cinematic:before{border-top:7px solid #222;border-bottom:7px solid #222}.opening-mini-ribbon:after{content:'';position:absolute;left:50%;top:10px;bottom:10px;width:6px;background:#c49352;transform:translateX(-50%)}.opening-mini-bloom:after{content:'✦';position:absolute;inset:0;display:grid;place-items:center;color:#b47b7b;font-size:20px}
.btn-whatsapp{background:#1f9d55!important;color:#fff!important;border-color:transparent!important}
.studio-mobile-preview-btn{display:none!important}
.studio-mobile-preview-overlay{position:fixed;inset:0;z-index:400;background:rgba(15,15,13,.82);display:none;place-items:center;padding:18px}.studio-mobile-preview-overlay.open{display:grid}.studio-mobile-preview-phone{position:relative;width:min(360px,94vw);height:min(760px,86vh);background:#111;border:8px solid #111;border-radius:44px;box-shadow:0 30px 90px rgba(0,0,0,.45);overflow:hidden}.studio-mobile-preview-phone iframe{width:100%;height:100%;border:0;border-radius:34px;background:#fff}.studio-mobile-preview-close{position:fixed;right:16px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:1.5rem;z-index:410}
@media(max-width:960px){.studio-mobile-preview-btn{display:inline-flex!important}.studio-v7-actions{flex-wrap:wrap;justify-content:flex-end}.studio-v7-topbar{height:auto;min-height:68px}.studio-v7-title{min-width:0}.studio-v7-title strong{max-width:130px}.studio-v7-actions .btn{min-height:40px;padding:8px 11px;font-size:.7rem}}
@media(max-width:800px){.nav-inner{gap:10px}.brand{gap:8px}.brand-mark{width:34px!important;height:34px!important}.nav-actions{gap:6px}.site-lang-toggle{transform:scale(.92)}.mobile-menu{max-height:calc(100vh - var(--nav));overflow:auto}.mobile-menu a{font-size:.92rem}.dashboard-head{align-items:flex-start}.user-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.user-actions .btn{width:100%;min-height:42px;padding:9px 10px}.gk-modal-card{padding:20px 16px;border-radius:20px}.qr-sheet.compact img{max-width:190px}.v7-content-inner{padding-inline:15px!important}.v7-schedule:before{left:47px}.v7-schedule>div{grid-template-columns:74px 1fr!important}.v7-schedule>div:before{left:43px}}
@media(max-width:520px){.studio-v7-title span.badge{display:none}.studio-v7-actions .studio-lang-switch{order:1}.studio-v7-actions [data-save-now]{display:none}.studio-v7-actions [data-view-public]{display:none}.studio-mobile-preview-btn{order:2}.studio-v7-actions [data-publish]{order:3}.studio-v7-topbar{padding:8px 9px}.studio-back{flex:0 0 auto}.v7-hero-countdown{gap:5px}.v7-hero-countdown div{padding:11px 2px!important}.v7-hero-countdown strong{font-size:1.2rem!important}.v7-cover-card{padding-inline:14px!important}.v16-opening-center{padding-inline:22px}.v9-open-trigger{min-width:122px!important}}

/* V16 final polish */
.brand-mark img,.footer-brand .brand-mark img,.seal img,.gateway-logo img,.pdf-maker-logo,.v7-footer-logo-img{mix-blend-mode:multiply}
@media print{.v7-content{background-size:100% 100%!important;background-repeat:no-repeat!important}.v7-page-overlay,.v7-content-overlay{display:none!important}}
@media(max-width:800px){.section{padding:62px 0}.section-sm{padding:38px 0}.title-xl{font-size:clamp(2.25rem,11vw,3.4rem)}.title-lg{font-size:clamp(2rem,10vw,3rem)}.card-pad{padding:20px}.theme-grid{grid-template-columns:1fr}.pricing-grid{gap:16px}.dashboard-hero{padding-top:24px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding-top:40px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.mobile-menu.open{animation:v16MenuIn .2s ease both}@keyframes v16MenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}


/* V17 opening, theme preview, tutorial and mobile polish */
.v7-shell.is-opening>.v7-page,.v7-shell.is-opening>.v7-dock,.v7-shell.is-opening>.v7-tools,.v7-shell.is-opening>.v8-effects{visibility:hidden!important;opacity:0!important}
.v7-shell.is-opened>.v7-page,.v7-shell.is-opened>.v7-dock,.v7-shell.is-opened>.v7-tools,.v7-shell.is-opened>.v8-effects{visibility:visible!important}
.v7-shell.cover-reveal .v7-cover{animation:v17CoverReveal .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes v17CoverReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.v7-content .v7-content-inner{opacity:0;transform:translateY(36px);transition:opacity 1s ease,transform 1.05s cubic-bezier(.2,.7,.2,1)}
.v7-content.content-reveal .v7-content-inner{opacity:1;transform:none}
.v7-opening.gone{opacity:0!important;visibility:visible!important;pointer-events:none!important;transition:opacity .65s ease!important}
.v9-open-trigger[disabled]{pointer-events:none;opacity:.68}

/* Opening stages */
.v16-opening-center{padding:78px 30px 185px!important}
.opening-style-ribbon .v16-opening-center{transform:translateY(-42px)}
.opening-style-ribbon.opening .v16-opening-center{opacity:0;transform:translateY(-56px) scale(.98)}
.v16-ribbon-screen .ribbon-panel{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(211,190,159,.86))!important}
.v16-ribbon-screen .ribbon-knot{top:55%!important}

/* richer curtain */
.v16-curtain-screen{background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.22),transparent 48%),linear-gradient(145deg,var(--opening-a),var(--opening-b))!important}
.v16-curtain-screen .curtain-rail{left:3%!important;right:3%!important;top:5%!important;height:9px!important;background:linear-gradient(90deg,#8e6e48,#f0d59b,#9a774c)!important;box-shadow:0 5px 18px rgba(50,35,20,.22)!important}
.v16-curtain-screen .curtain-panel{top:6%!important;bottom:-8%!important;width:58%!important;background:repeating-linear-gradient(90deg,rgba(78,45,49,.98) 0 5%,rgba(130,75,77,.98) 5% 12%,rgba(91,48,53,.98) 12% 20%,rgba(151,91,89,.98) 20% 27%)!important;filter:drop-shadow(0 8px 14px rgba(39,24,22,.18));box-shadow:inset -18px 0 30px rgba(0,0,0,.16),inset 13px 0 20px rgba(255,255,255,.05)!important}
.v16-curtain-screen .curtain-panel:after{content:'';position:absolute;top:0;bottom:0;width:18px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
.v16-curtain-screen .left:after{right:12%}.v16-curtain-screen .right:after{left:12%}
.opening-style-curtain.opening .curtain-panel.left{transform:translateX(-112%) skewX(-2deg)!important}.opening-style-curtain.opening .curtain-panel.right{transform:translateX(112%) skewX(2deg)!important}

/* replacement for cinematic: silk reveal */
.v17-silk-screen{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,var(--opening-a),var(--opening-b))}
.v17-silk-screen .silk-sheet{position:absolute;top:-8%;bottom:-8%;width:72%;background:linear-gradient(115deg,rgba(255,255,255,.76),rgba(255,255,255,.16) 45%,rgba(93,69,49,.12));filter:drop-shadow(0 12px 22px rgba(45,35,26,.12));transition:transform 1.25s cubic-bezier(.2,.78,.2,1),opacity 1s ease;border-radius:45%}
.v17-silk-screen .s1{left:-28%;transform:rotate(8deg)}.v17-silk-screen .s2{right:-28%;transform:rotate(-8deg)}
.v17-silk-screen .silk-glow{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 68%);filter:blur(14px);transition:opacity .9s}
.opening-style-silk.opening .s1{transform:translateX(-82%) rotate(-12deg);opacity:.05}.opening-style-silk.opening .s2{transform:translateX(82%) rotate(12deg);opacity:.05}.opening-style-silk.opening .silk-glow{opacity:0}.opening-style-silk.opening .v16-opening-center{opacity:0;transform:scale(1.035)}
.opening-style-silk.opening .v9-open-trigger{opacity:0!important;pointer-events:none!important}
.opening-style-silk .v7-opening-hint{z-index:24!important}

/* theme selector uses actual theme artwork */
.theme-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.studio-theme-card{position:relative;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:.2s ease}
.studio-theme-card.selected{outline:2px solid #705d46;outline-offset:2px}.studio-theme-card.locked{opacity:.64}
.studio-theme-select{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}
.studio-theme-thumb{display:block;aspect-ratio:4/5;background-size:cover;background-position:center;border-bottom:1px solid var(--line)}
.studio-theme-meta{display:flex;justify-content:space-between;gap:8px;padding:10px 11px}.studio-theme-meta strong{font-size:.75rem;letter-spacing:.08em}.studio-theme-meta small{font-size:.55rem;color:var(--muted);font-weight:800}
.studio-theme-card>.pro-flash{position:absolute;right:8px;top:8px}.studio-theme-preview{width:calc(100% - 20px);margin:0 10px 10px;border:1px solid var(--line);background:#f8f5ef;border-radius:10px;padding:8px;font-size:.65rem;font-weight:800;cursor:pointer}

/* interactive theme browser preview */
.theme-browser-preview{display:grid;justify-items:center;gap:14px;min-height:680px}.theme-browser-bar{text-align:center;display:grid;gap:3px}.theme-browser-bar strong{font-size:.9rem;letter-spacing:.12em}.theme-browser-bar span{font-size:.68rem;color:var(--muted)}
.theme-browser-phone{width:min(390px,92vw);height:min(700px,74vh);border:9px solid #121310;border-radius:42px;background:#121310;box-shadow:0 28px 80px rgba(30,25,20,.25);overflow:hidden}.theme-browser-phone iframe{width:100%;height:100%;border:0;border-radius:33px;background:#fff}
.theme-preview-v5{background-size:cover!important;background-position:center!important}

/* refined timeline */
.v7-schedule{position:relative;gap:0!important;padding:5px 0}.v7-schedule:before{content:'';position:absolute;left:51px;top:18px;bottom:18px;width:1px;background:linear-gradient(var(--divider-color,#bd9863),rgba(189,152,99,.12))}.v7-schedule>div{position:relative;display:grid!important;grid-template-columns:76px 1fr!important;gap:18px!important;align-items:start!important;padding:14px 8px!important;background:transparent!important;border-radius:0!important}.v7-schedule>div:before{content:'';position:absolute;left:47px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--divider-color,#bd9863);box-shadow:0 0 0 5px rgba(189,152,99,.12)}.v7-schedule time{font-size:.9rem!important;text-align:right;padding-right:9px}.v7-schedule span{font-size:.74rem!important;line-height:1.55;text-align:left;padding-top:1px}

/* tutorial */
.studio-tutorial-overlay{position:fixed;inset:0;z-index:950;display:none;pointer-events:none}.studio-tutorial-overlay.open{display:block}.studio-tutorial-card{pointer-events:auto;position:fixed;right:24px;bottom:24px;width:min(360px,calc(100vw - 30px));background:#fffdf8;border:1px solid rgba(50,42,35,.12);border-radius:22px;padding:20px;box-shadow:0 28px 90px rgba(28,23,19,.24)}.tutorial-step{font-size:.58rem;font-weight:900;letter-spacing:.14em;color:#9a7545}.studio-tutorial-card h3{font-family:'DM Serif Display',serif;font-size:1.5rem;margin:6px 0}.studio-tutorial-card p{font-size:.78rem;line-height:1.65;color:var(--muted)}.tutorial-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.tutorial-target{position:relative!important;z-index:951!important;outline:4px solid rgba(245,169,40,.88)!important;outline-offset:4px!important;box-shadow:0 0 0 9999px rgba(15,13,10,.48)!important}

/* mobile */
@media(max-width:760px){.theme-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-tutorial-card{left:15px;right:15px;bottom:15px;width:auto}.theme-browser-preview{min-height:0}.theme-browser-phone{height:72vh}}
@media(max-width:480px){.theme-pick-grid{gap:8px}.studio-theme-meta{padding:8px}.studio-v7-actions [data-start-tutorial]{display:none}.theme-browser-phone{width:94vw;height:76vh}}

.opening-mini-silk{background:linear-gradient(145deg,#efe7db,#c1a27e)!important}.opening-mini-silk:before,.opening-mini-silk:after{content:'';position:absolute;top:8%;bottom:8%;width:55%;border-radius:45%;background:rgba(255,255,255,.52)}.opening-mini-silk:before{left:-14%;transform:rotate(8deg)}.opening-mini-silk:after{right:-14%;transform:rotate(-8deg)}

/* V17 final footer/mobile refinements */
.v7-footer-logo-img{width:74px!important;height:74px!important;max-width:74px!important;object-fit:contain!important;mix-blend-mode:normal!important}
.v7-footer-brand{gap:8px!important}.v7-footer-brand strong{font-size:.86rem!important}
@media(max-width:600px){.v7-footer-logo-img{width:66px!important;height:66px!important;max-width:66px!important}.studio-v7-actions [data-start-tutorial]{display:inline-flex!important;order:1}.studio-v7-actions .studio-lang-switch{order:0}.studio-mobile-preview-btn{order:2}.studio-v7-actions [data-publish]{order:3}}


/* V18 refinements */
.theme-asset-strip{display:none!important}.theme-premium-flag{position:absolute;top:10px;right:10px;z-index:4}.theme-card{position:relative}.theme-preview-v5{position:relative}
.studio-theme-current{margin-top:13px}.studio-theme-current-card{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff}.studio-theme-current-card .studio-theme-thumb{width:92px;height:72px;border-radius:13px;background-size:cover;background-position:center}.studio-theme-current-card small,.studio-theme-current-card strong{display:block}.studio-theme-current-card small{font-size:.62rem;letter-spacing:.08em;color:var(--muted)}.studio-theme-current-card strong{margin-top:3px}.studio-theme-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.studio-theme-modal-card{position:relative;border:1px solid var(--line);border-radius:20px;padding:10px;background:#fff}.studio-theme-modal-card.selected{outline:2px solid var(--gold)}.studio-theme-modal-card.locked{background:#fffaf2}.studio-theme-modal-card .studio-theme-thumb{display:block;width:100%;aspect-ratio:4/3;border-radius:14px;background-size:cover;background-position:center}.studio-theme-modal-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 2px 7px}.studio-theme-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-theme-modal-actions .btn{min-width:0;padding-inline:10px}
.v8-effects{z-index:0!important;opacity:.76}.v7-cover,.v7-content{z-index:2}.v7-content-inner,.v7-cover-card{position:relative;z-index:3}.v7-dock,.v7-tools{z-index:80}
.v7-schedule{max-width:390px;margin:0 auto;padding:10px 0!important}.v7-schedule:before{left:62px!important;top:22px!important;bottom:22px!important;width:1.5px!important;background:linear-gradient(180deg,transparent,var(--divider-color,#bd9863) 12%,var(--divider-color,#bd9863) 88%,transparent)!important}.v7-schedule>div{grid-template-columns:84px 1fr!important;gap:24px!important;padding:16px 8px!important;min-height:58px}.v7-schedule>div:before{left:57px!important;top:21px!important;width:11px!important;height:11px!important;box-shadow:0 0 0 5px rgba(189,152,99,.10)!important}.v7-schedule time{font-size:.82rem!important;font-weight:800;text-align:right;padding-top:1px;padding-right:5px!important}.v7-schedule span{font-size:.76rem!important;line-height:1.55!important;padding:0!important}.v7-footer-logo-img{width:50px!important;height:50px!important;max-width:50px!important}.pdf-maker-logo{width:38px!important;height:38px!important;max-width:38px!important;margin-bottom:11px!important}.pdf-thumb{background-size:cover!important;background-position:center!important}.pdf-thumb-cover,.pdf-thumb-details{overflow:hidden}.pdf-thumb strong,.pdf-thumb em,.pdf-thumb small,.pdf-thumb>span{position:relative;z-index:2}
/* Faster but complete opening motions */
.v7-envelope-flap{transition-duration:.52s!important}.v7-letter{transition-duration:.64s!important}.v16-book-screen .book-cover{transition-duration:.82s!important}.v16-curtain-screen .curtain-panel{transition-duration:.88s!important}.v16-light-screen .light-ray{transition-duration:.8s!important}.v16-arch-screen .arch-door{transition-duration:.82s!important}.v17-silk-screen .silk-sheet{transition-duration:.82s!important}.v16-ribbon-screen .ribbon-panel{transition-duration:.82s!important}.v16-bloom-screen .bloom-petal{transition-duration:.84s!important}
@media(max-width:640px){.studio-theme-modal-grid{grid-template-columns:1fr}.studio-theme-current-card{grid-template-columns:76px 1fr auto}.studio-theme-current-card .studio-theme-thumb{width:76px;height:62px}.v7-schedule:before{left:54px!important}.v7-schedule>div{grid-template-columns:72px 1fr!important;gap:20px!important}.v7-schedule>div:before{left:49px!important}.v7-footer-logo-img{width:46px!important;height:46px!important;max-width:46px!important}}

/* V18 wizard theme thumbnails */
.theme-pick .swatch{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.theme-pick.locked{position:relative}.theme-pick .label{display:flex;align-items:center;justify-content:center;gap:8px}


/* V19 refinements */
/* Main content background: one image, preserve ratio, no crop/zoom/repeat. */
.v7-content{background-size:100% auto!important;background-repeat:no-repeat!important;background-position:top center!important;background-attachment:scroll!important;background-color:#f4eee5!important}
.v7-content-overlay{display:none!important}
/* Motion effects sit above background but below every text/content block. */
.v8-effects{z-index:3!important;opacity:.86!important}
.v7-cover-card,.v7-content-inner{position:relative!important;z-index:6!important}
.v7-dock,.v7-tools{z-index:80!important}
/* Timeline dot/line moved to the far left so it never crosses text. */
.v7-schedule{position:relative!important;max-width:400px!important;margin:0 auto!important;padding:8px 0 8px 28px!important}
.v7-schedule:before{left:10px!important;top:18px!important;bottom:18px!important;width:1.5px!important;background:linear-gradient(180deg,transparent,var(--divider-color,#bd9863) 10%,var(--divider-color,#bd9863) 90%,transparent)!important}
.v7-schedule>div{grid-template-columns:78px 1fr!important;gap:18px!important;padding:14px 6px!important;min-height:54px!important}
.v7-schedule>div:before{left:-23px!important;top:18px!important;width:10px!important;height:10px!important;box-shadow:0 0 0 4px rgba(189,152,99,.10)!important}
.v7-schedule time{font-size:.82rem!important;text-align:left!important;padding:0!important;font-weight:800!important}
.v7-schedule span{font-size:.76rem!important;line-height:1.55!important;padding:0!important}
/* Preview stays 1:1 inside its frame and is only refreshed manually. */
.preview-phone-v7 iframe,.studio-mobile-preview-phone iframe{transform:none!important;zoom:1!important;scale:1!important}
.studio-preview-heading-actions{display:flex;align-items:center;gap:8px}
.studio-preview-refresh,.studio-mobile-preview-tools>button:first-child{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:7px 10px;font-size:.66rem;font-weight:800;cursor:pointer}
.studio-mobile-preview-tools{position:fixed;top:14px;right:14px;z-index:415;display:flex;align-items:center;gap:8px}
.studio-mobile-preview-tools .studio-mobile-preview-close{position:static!important}
.studio-theme-modal-meta small{display:block;margin-top:3px;color:var(--muted);font-size:.6rem;font-weight:700}
/* slightly faster opening fades */
.v7-opening.gone{transition:opacity .36s ease!important}
@media(max-width:640px){.v7-schedule{padding-left:24px!important}.v7-schedule:before{left:8px!important}.v7-schedule>div{grid-template-columns:70px 1fr!important;gap:14px!important}.v7-schedule>div:before{left:-21px!important}.studio-preview-refresh{padding:6px 8px;font-size:.6rem}}


/* V20 live Studio + background/PDF refinements */
.v7-footer-logo-img{width:34px!important;height:34px!important;max-width:34px!important}
.v7-footer-brand{gap:5px!important}.v7-footer-brand strong{font-size:.76rem!important}
/* Main content uses one persistent image. It is never tiled or cover-zoomed. */
.v7-content{background-image:none!important;background-color:#f4eee5!important;isolation:isolate!important;overflow:visible!important}
.v7-content::before{content:"";position:sticky;top:0;display:block;width:100%;height:100svh;margin-bottom:-100svh;background-image:var(--page-bg);background-repeat:no-repeat;background-position:top center;background-size:100% auto;z-index:0;pointer-events:none}
.v7-content-inner{position:relative!important;z-index:6!important}
/* Motion layer remains functional but stays underneath all invitation copy. */
.v8-effects{z-index:1!important}.v7-cover-card,.v7-content-inner,.v7-section,.v7-intro{position:relative!important;z-index:6!important}
/* Timeline marker stays to the left of time. */
.v7-schedule{padding-left:34px!important}.v7-schedule:before{left:12px!important}.v7-schedule>div:before{left:-27px!important}.v7-schedule time{position:relative;z-index:2}.v7-schedule span{position:relative;z-index:2}
/* PDF previews show theme instead of a white card. */
.pdf-thumb{background-size:cover!important;background-position:center!important;padding:16px!important}
.pdf-thumb-panel{width:88%;margin:auto;padding:20px 14px;border:1px solid rgba(189,152,99,.35);border-radius:14px;background:rgba(255,253,249,.70);backdrop-filter:blur(2px);display:grid;place-items:center;gap:8px}
.pdf-thumb-panel>span:first-child{font-family:'Mea Culpa','Great Vibes',cursive;font-size:2.2rem;color:#bd9863}.pdf-thumb-details .pdf-thumb-panel>span:first-child{font-family:'Cormorant Garamond',serif;font-size:.9rem;color:#1c1a18}
/* Tutorial card always stays interactive and visible. */
.studio-tutorial-overlay.open{display:block!important}.studio-tutorial-card{z-index:980!important}.tutorial-target{z-index:970!important}
@media(max-width:600px){.v7-footer-logo-img{width:30px!important;height:30px!important;max-width:30px!important}.v7-schedule{padding-left:30px!important}.v7-schedule:before{left:10px!important}.v7-schedule>div:before{left:-24px!important}}


/* V21 — motion, background and schedule stabilization */
/* Moving effects must remain above theme artwork but below every readable element. */
.v8-effects{z-index:4!important;opacity:.96!important;visibility:visible;}
.v7-shell.is-opened>.v8-effects{display:block!important;visibility:visible!important;opacity:.96!important}
.v8-effects>span{animation-play-state:running!important;opacity:.52!important}
.v7-cover-card,.v7-content-inner,.v7-section,.v7-intro,.v7-dock,.v7-tools{position:relative;z-index:8!important}

/* One real, persistent content artwork. It keeps its natural ratio and stays with the content while scrolling. */
.v7-content{background:none!important;background-color:#f4eee5!important;position:relative!important;isolation:isolate!important;overflow:visible!important}
.v7-content::before{display:none!important}
.v21-content-bg{position:sticky;top:0;width:100%;height:100svh;margin-bottom:-100svh;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% auto!important;background-color:#f4eee5;z-index:1;pointer-events:none}
.v7-content-inner{z-index:8!important}

/* Rebuilt event schedule: clean editorial rows; marker stays beside the time only. */
.v7-schedule{display:grid!important;gap:0!important;max-width:390px!important;margin:0 auto!important;padding:0!important;text-align:left!important}
.v7-schedule:before{display:none!important}
.v7-schedule>div{position:relative!important;display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;min-height:60px!important;padding:14px 4px 14px 20px!important;border-bottom:1px solid rgba(70,55,42,.13)!important;background:transparent!important;border-radius:0!important}
.v7-schedule>div:last-child{border-bottom:0!important}
.v7-schedule>div:before{content:''!important;position:absolute!important;left:2px!important;top:50%!important;transform:translateY(-50%)!important;width:7px!important;height:7px!important;border-radius:50%!important;background:var(--divider-color,#bd9863)!important;box-shadow:0 0 0 4px rgba(189,152,99,.10)!important}
.v7-schedule time{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;min-width:68px!important;padding:7px 9px!important;border:1px solid color-mix(in srgb,var(--divider-color,#bd9863) 50%,transparent)!important;border-radius:999px!important;font-size:.72rem!important;font-weight:900!important;text-align:center!important;line-height:1!important;background:rgba(255,255,255,.28)!important;position:relative!important;z-index:9!important}
.v7-schedule span{font-size:.78rem!important;line-height:1.55!important;font-weight:650!important;padding:0!important;position:relative!important;z-index:9!important}

/* Footer link cue: subtle chevron and breathing logo signal that TUJU is tappable. */
.v7-footer-brand{position:relative!important;padding-top:18px!important}
.v7-footer-brand::before{content:'';position:absolute;top:0;left:50%;width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateX(-50%) rotate(45deg);opacity:.62;animation:v21-logo-arrow 1.25s ease-in-out infinite}
.v7-footer-logo-img{animation:v21-logo-breathe 2.2s ease-in-out infinite;transform-origin:center}
@keyframes v21-logo-arrow{0%,100%{translate:0 -3px;opacity:.38}50%{translate:0 4px;opacity:.9}}
@keyframes v21-logo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* Theme picker has no premium state: themes are artwork, plan controls features only. */
.studio-theme-current-card .pro-flash,.studio-theme-modal-card .pro-flash,.studio-theme-modal-card.locked{display:none!important}
.studio-theme-modal-card{opacity:1!important;background:#fff!important}

@media(max-width:600px){
  .v7-schedule>div{grid-template-columns:74px minmax(0,1fr)!important;gap:12px!important;padding-left:18px!important}
  .v7-schedule time{min-width:62px!important;font-size:.68rem!important}
  .v7-schedule span{font-size:.74rem!important}
}


/* V22: card types, category-aware cover and no top background gap */
.card-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.card-type-grid .choice{min-height:126px;text-align:left;align-content:start;padding:17px!important}
.card-type-grid .choice h3{margin:0 0 7px;font-size:.92rem}
.card-type-grid .choice p{font-size:.67rem;line-height:1.5;margin:0}
.v7-shell,.v7-cover{margin-top:0!important;padding-top:0!important}
.v7-cover{background-position:top center!important;background-origin:border-box!important;background-clip:border-box!important}
.v7-cover>.v7-page-overlay{top:0!important}
@media(max-width:900px){.card-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.card-type-grid{grid-template-columns:1fr!important}.card-type-grid .choice{min-height:auto}}


/* V23 — exact cover artwork, Pro custom backgrounds, clean schedule */
.v7-cover{position:relative!important;background:none!important;overflow:hidden!important;padding-top:0!important}
.v23-cover-bg{position:absolute;z-index:0;left:0;right:0;top:-52px;bottom:0;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% auto!important;background-color:#f4eee5;pointer-events:none}
.v7-cover>.v7-page-overlay{z-index:1!important;background:transparent!important}
.v7-cover-card{z-index:8!important}
/* Keep one content artwork fixed in place while the landing-page content scrolls. */
.v21-content-bg{position:sticky!important;top:0!important;width:100%!important;height:100svh!important;margin-bottom:-100svh!important;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% auto!important;background-color:#f4eee5!important;z-index:1!important;pointer-events:none!important}
/* Atur Cara should sit directly on the theme — no white/glass frame. */
.v23-schedule-section{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding-left:10px!important;padding-right:10px!important}
.v23-schedule-section .v7-schedule time{background:transparent!important}
.background-upload-card.is-locked{position:relative;opacity:.72}
.background-upload-card.is-locked input,.background-upload-card.is-locked button{cursor:not-allowed}
.background-pro-note{display:block;margin-top:7px;color:var(--muted);font-size:.58rem;font-style:normal;line-height:1.4}
@media(max-width:600px){.v23-cover-bg{top:-44px}.v23-schedule-section{padding-inline:4px!important}}

/* V24 repair + PDF page-two preview */
.pdf-v24-summary{gap:7px!important}
.pdf-v24-summary>small{font-size:.52rem!important;letter-spacing:.14em!important;font-weight:900!important}
.pdf-v24-summary>strong{font-size:1rem!important}
.pdf-v24-summary>em{font-size:.58rem!important;line-height:1.45!important}
.pdf-v24-qr-mini{display:flex;justify-content:center;gap:7px;margin-top:3px}
.pdf-v24-qr-mini img{width:34px;height:34px;object-fit:contain;background:#fff;padding:2px;border-radius:5px}


/* V25 targeted repair — public card / Studio preview / schedule */
/* Remove every visible gap around the invitation artwork. */
.public-card-v7{margin:0!important;padding:0!important;background:#f4eee5!important}
.public-card-v7 #gk-public-card{margin:0!important;padding:0!important;min-height:100vh}
.v7-shell{margin:0 auto!important;padding:0!important;background:#f4eee5!important;overflow:clip}
.v7-cover{margin:0!important;padding-top:0!important;background:#f4eee5!important;overflow:hidden!important}
.v23-cover-bg{inset:0!important;top:0!important;bottom:0!important;width:100%!important;height:100%!important;background-repeat:no-repeat!important;background-position:center top!important;background-size:cover!important;background-color:#f4eee5!important;transform:none!important}
.v7-cover>.v7-page-overlay{display:none!important}

/* One and only one Main Content artwork fills the whole landing page. */
.v7-content{position:relative!important;background:#f4eee5!important;overflow:hidden!important;isolation:isolate!important}
.v21-content-bg{position:absolute!important;inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;margin:0!important;background-repeat:no-repeat!important;background-position:center top!important;background-size:100% 100%!important;background-attachment:scroll!important;background-color:#f4eee5!important;z-index:0!important;pointer-events:none!important}
.v7-content-inner{position:relative!important;z-index:8!important}

/* Atur Cara: no white/glass frame, no pills, clean editorial list. */
.v23-schedule-section{margin:0!important;padding:26px 8px 20px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.v23-schedule-section .v7-section-icon{margin-bottom:7px!important}
.v23-schedule-section h2{margin-bottom:17px!important}
.v23-schedule-section .v7-schedule{display:grid!important;gap:0!important;width:min(100%,390px)!important;margin:0 auto!important;padding:0!important;background:transparent!important;border:0!important}
.v23-schedule-section .v7-schedule:before{display:none!important}
.v23-schedule-section .v7-schedule>div{position:relative!important;display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;min-height:0!important;padding:13px 4px 13px 16px!important;background:transparent!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--divider-color,#bd9863) 25%,transparent)!important;border-radius:0!important;box-shadow:none!important}
.v23-schedule-section .v7-schedule>div:last-child{border-bottom:0!important}
.v23-schedule-section .v7-schedule>div:before{content:''!important;position:absolute!important;left:1px!important;top:18px!important;width:5px!important;height:18px!important;border-radius:999px!important;background:var(--divider-color,#bd9863)!important;box-shadow:none!important;transform:none!important}
.v23-schedule-section .v7-schedule time{display:block!important;min-width:0!important;width:auto!important;padding:0!important;margin:1px 0 0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:.72rem!important;font-weight:900!important;line-height:1.35!important;text-align:left!important;color:inherit!important}
.v23-schedule-section .v7-schedule span{display:block!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;font-size:.78rem!important;line-height:1.6!important;font-weight:650!important;text-align:left!important;color:inherit!important}

/* Prayer stays glassy, but sits a little lower from the previous divider. */
.v7-prayer{margin-top:16px!important}

/* Rebuild Studio desktop preview as a stable, gapless phone canvas. */
.studio-v7-preview{overflow:hidden!important;min-width:0!important;padding:14px 14px 16px!important;display:flex!important;flex-direction:column!important}
.studio-preview-heading{flex:0 0 auto!important;margin:0 2px 10px!important}
.preview-phone-v7{position:relative!important;flex:1 1 auto!important;width:min(100%,342px)!important;height:calc(100vh - 145px)!important;min-height:480px!important;max-height:none!important;margin:0 auto!important;padding:8px!important;border-radius:42px!important;background:#11130f!important;overflow:hidden!important}
.preview-phone-v7 iframe{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:34px!important;background:#f4eee5!important;transform:none!important;zoom:1!important}
.public-embed{height:100vh!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow:auto!important;background:#f4eee5!important}
.public-embed #gk-public-card,.public-embed .v7-shell{width:100%!important;max-width:none!important;min-height:100%!important;margin:0!important;box-shadow:none!important}
.public-embed .v7-cover{min-height:100vh!important}
.public-embed .v7-opening,.public-embed .v7-tools,.public-embed .v7-dock,.public-embed .v8-effects{position:absolute!important}

@media(max-width:600px){
  .v23-cover-bg{background-size:cover!important;background-position:center top!important}
  .v23-schedule-section{padding-inline:2px!important}
  .v23-schedule-section .v7-schedule>div{grid-template-columns:66px minmax(0,1fr)!important;gap:12px!important;padding-left:14px!important}
  .v23-schedule-section .v7-schedule time{font-size:.68rem!important}
  .v23-schedule-section .v7-schedule span{font-size:.74rem!important}
  .v7-prayer{margin-top:13px!important}
}

/* V25 PDF preview list polish */
.pdf-v25-summary{gap:7px!important}
.pdf-v25-label{margin-top:3px;font-size:.5rem!important;letter-spacing:.14em!important;font-weight:900!important;color:#bd9863!important}
.pdf-v25-list{width:100%;display:grid;gap:5px;margin:1px 0 4px}
.pdf-v25-list>div{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:start;padding:6px 7px;border-radius:8px;background:rgba(255,253,249,.68);text-align:left}
.pdf-v25-list b{font-size:.5rem;color:#bd9863}.pdf-v25-list span{font-size:.52rem;line-height:1.4;color:#2b2723}
.pdf-v25-list.schedule>div{grid-template-columns:40px 1fr}


/* V26 targeted visual repair — preserve all existing structure */
/* Opening: remove clipping introduced by previous shell repair and restore a clean full viewport stage. */
.public-card-v7{overflow-x:hidden!important}
.v7-shell{overflow:visible!important}
.v7-opening{position:fixed!important;inset:0!important;width:100vw!important;height:100svh!important;min-height:100vh!important;z-index:9998!important;overflow:hidden!important;isolation:isolate!important}
.v7-opening .v9-opening-stage{margin:auto!important}
.opening-style-envelope .v9-opening-stage{width:min(88vw,360px)!important;height:310px!important;overflow:visible!important}
.opening-style-envelope .v7-envelope{transform:none!important;transform-origin:center!important}
.v7-opening:not(.opening) .v7-envelope-flap{transform:rotateX(0)!important}
.v7-opening:not(.opening) .v7-seal{opacity:1!important}
.public-embed .v7-shell{overflow:hidden!important}
.public-embed .v7-opening{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}

/* Main Content: one persistent artwork at its real aspect ratio. Never stretch to 100% height. */
.v7-content{position:relative!important;background:#f4eee5!important;overflow:visible!important;isolation:isolate!important}
.v21-content-bg{position:sticky!important;top:0!important;left:0!important;width:100%!important;height:100svh!important;margin:0 0 -100svh 0!important;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% auto!important;background-attachment:scroll!important;background-color:#f4eee5!important;z-index:0!important;pointer-events:none!important}
.v7-content-inner{position:relative!important;z-index:8!important}

/* Prayer + RSVP use the same soft glass language as the countdown cards. */
.v7-prayer,.v7-rsvp-frame{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05)!important;
  backdrop-filter:blur(10px) saturate(1.05)!important;
}
.v7-prayer{margin-top:18px!important}

/* PDF preview frame: wider left/right, with list rows that fill the panel instead of hugging text. */
.pdf-thumb-panel{width:94%!important;padding-left:18px!important;padding-right:18px!important}
.pdf-v25-list{width:100%!important}
.pdf-v25-list>div{width:100%!important;grid-template-columns:40px minmax(0,1fr)!important;padding:7px 10px!important}
.pdf-v25-list.schedule>div{grid-template-columns:48px minmax(0,1fr)!important}

@media(max-width:600px){
  .opening-style-envelope .v9-opening-stage{height:290px!important}
  .v7-prayer,.v7-rsvp-frame{border-radius:22px!important}
}


/* V27 targeted repair — fixed mobile card viewport, opening visibility, persistent content art, wider PDF */
/* Public card is always presented as a mobile invitation, even on desktop browsers. */
.public-card-v7{background:#d8d2c9!important;min-height:100vh!important}
.public-card-v7.opening-active{overflow:hidden!important;height:100dvh!important}
.public-card-v7 #gk-public-card{width:100%!important;max-width:430px!important;margin:0 auto!important;min-height:100vh!important;background:#f4eee5!important;box-shadow:0 0 54px rgba(37,31,26,.20)!important}
.v7-shell{width:100%!important;max-width:430px!important;margin:0 auto!important;min-height:100vh!important;background:#f4eee5!important;box-shadow:none!important}

/* Opening uses the same mobile width and the Open button is always visible without scrolling. */
.v7-opening{left:50%!important;right:auto!important;top:0!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(100vw,430px)!important;height:100dvh!important;min-height:100svh!important;max-height:100dvh!important;overflow:hidden!important;margin:0!important}
.v7-opening .v9-opening-stage{max-height:100dvh!important;margin:0 auto!important}
.opening-style-envelope .v9-opening-stage{height:min(310px,46dvh)!important;min-height:250px!important}
.opening-style-envelope .v9-open-trigger{top:54%!important}
.v9-opening-stage.is-fullscreen .v9-open-trigger{bottom:max(92px,calc(env(safe-area-inset-bottom) + 78px))!important}
.v7-opening-hint{bottom:max(34px,calc(env(safe-area-inset-bottom) + 24px))!important}

/* Main Content keeps one exact artwork fixed in place from its top through the footer/logo. */
.v7-content{position:relative!important;background:#f4eee5!important;overflow:visible!important;isolation:isolate!important}
.v21-content-bg{position:sticky!important;top:0!important;left:0!important;width:100%!important;height:100dvh!important;min-height:100svh!important;margin:0 0 -100dvh 0!important;background-repeat:no-repeat!important;background-position:top center!important;background-size:100% auto!important;background-attachment:scroll!important;background-color:#f4eee5!important;z-index:0!important;pointer-events:none!important;transform:none!important}
.v7-content-inner{position:relative!important;z-index:8!important;margin-top:0!important}
.v7-footer{position:relative!important;z-index:8!important}

/* Studio iframe stays mobile-sized and gapless. */
.public-embed{background:#f4eee5!important}
.public-embed #gk-public-card,.public-embed .v7-shell{width:100%!important;max-width:430px!important;margin:0 auto!important;box-shadow:none!important}
.public-embed .v7-opening{position:absolute!important;left:0!important;transform:none!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important}

/* PDF preview/details panels fill the page width instead of hugging the text. */
.pdf-thumb-panel{width:98%!important;max-width:none!important;padding-left:20px!important;padding-right:20px!important}
.pdf-v25-list.contacts>div{grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important}
.pdf-v25-list.contacts span{display:grid!important;gap:2px!important}
.pdf-v25-list.contacts span strong{font-size:.53rem!important;line-height:1.25!important;color:#2b2723!important}
.pdf-v25-list.contacts span small{font-size:.49rem!important;line-height:1.3!important;color:#6b625a!important}
.pdf-v25-list.schedule>div{grid-template-columns:52px minmax(0,1fr)!important}

@media(max-width:430px){
  .public-card-v7 #gk-public-card,.v7-shell{max-width:none!important}
  .v7-opening{width:100vw!important}
}


/* V28 targeted repair — cover gap, Studio preview state, matching glass */
/* Halaman Utama uses the artwork directly on the section so it begins at pixel 0. */
.v7-cover{
  margin:0!important;
  padding-top:0!important;
  background-repeat:no-repeat!important;
  background-position:top center!important;
  background-size:100% auto!important;
  background-color:#f4eee5!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
}
.v23-cover-bg{display:none!important}
.v7-cover>.v7-page-overlay{inset:0!important;top:0!important;margin:0!important}

/* Make Doa + RSVP use exactly the same glass recipe as countdown tiles. */
.v7-hero-countdown div,
.v7-prayer,
.v7-rsvp-frame{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05)!important;
  backdrop-filter:blur(10px) saturate(1.05)!important;
}
.v7-prayer{margin-top:18px!important}

/* Studio iframe must render the exact same card canvas as the public URL. */
.public-embed,.public-embed body{margin:0!important;padding:0!important}
.public-embed #gk-public-card,.public-embed .v7-shell{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  min-height:100vh!important;
  background:#f4eee5!important;
}
.public-embed .v7-cover{
  width:100%!important;
  margin:0!important;
  padding-top:0!important;
  background-position:top center!important;
  background-size:100% auto!important;
}
/* Sticky content artwork behaves inside iframe scroll container without a blank strip. */
.public-embed .v21-content-bg{
  position:sticky!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:100vh!important;
  margin:0 0 -100vh 0!important;
  background-repeat:no-repeat!important;
  background-position:top center!important;
  background-size:100% auto!important;
  transform:none!important;
}
.preview-phone-v7 iframe{display:block!important;margin:0!important;padding:0!important}


/* V29 definitive artwork repair — do not let legacy background shorthands wipe theme images. */
.v7-cover,
.public-embed .v7-cover{
  background-image:var(--gk-main-art)!important;
  background-color:#f4eee5!important;
  background-repeat:no-repeat!important;
  background-position:top center!important;
  background-size:100% auto!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
  margin:0!important;
  padding-top:0!important;
}
.v7-cover::before,.v7-cover::after,.v23-cover-bg{display:none!important}
.v7-cover>.v7-page-overlay{background:transparent!important;inset:0!important;margin:0!important}

/* Main Content always reads the exact same content artwork in public + Studio preview. */
.v7-content,.public-embed .v7-content{
  position:relative!important;
  background:transparent!important;
  background-image:none!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.v21-content-bg,
.public-embed .v21-content-bg{
  display:block!important;
  position:sticky!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100svh!important;
  margin:0 0 -100dvh 0!important;
  background-image:var(--gk-content-art)!important;
  background-color:#f4eee5!important;
  background-repeat:no-repeat!important;
  background-position:top center!important;
  background-size:100% auto!important;
  background-attachment:scroll!important;
  z-index:0!important;
  pointer-events:none!important;
  transform:none!important;
}
.v7-content-inner{position:relative!important;z-index:8!important;margin-top:0!important}

/* Same glass intensity for countdown, prayer and RSVP. */
.v7-hero-countdown div,
.v7-prayer,
.v7-rsvp-frame{
  background:rgba(255,255,255,.32)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05)!important;
  backdrop-filter:blur(10px) saturate(1.05)!important;
}
.v7-prayer{margin-top:18px!important}

/* Studio phone canvas has no internal top/bottom strip. */
.preview-phone-v7{overflow:hidden!important}
.preview-phone-v7 iframe{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;background:#f4eee5!important}
.public-embed{margin:0!important;padding:0!important;background:#f4eee5!important}
.public-embed #gk-public-card,.public-embed .v7-shell{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}


/* V30 final targeted visual repair: artwork layers + prayer/RSVP only. */
/* Cover artwork is a real image layer, not a background shorthand. This avoids the
   accumulated legacy background rules and removes the visible top strip. */
.v7-cover{
  position:relative!important;
  overflow:hidden!important;
  background:#f4eee5!important;
  isolation:isolate!important;
  margin:0!important;
  padding-top:0!important;
}
.v30-cover-art{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  background:#f4eee5!important;
}
.v30-cover-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:scale(1.10)!important;
  transform-origin:center center!important;
}
.v7-cover>.v7-page-overlay{z-index:1!important}
.v7-cover>.v7-cover-card{position:relative!important;z-index:3!important}

/* Main-content artwork is fixed to the card viewport while the content is visible.
   Public URL and Studio iframe therefore use exactly the same paint model. */
.v7-content{
  position:relative!important;
  z-index:1!important;
  background:#f4eee5!important;
  background-image:none!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.v7-cover{z-index:2!important}
.v30-content-art{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  width:min(430px,100vw)!important;
  height:100dvh!important;
  min-height:100svh!important;
  transform:translateX(-50%)!important;
  z-index:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
  background:#f4eee5!important;
  transition:opacity .35s ease!important;
}
.v7-content.content-reveal .v30-content-art{opacity:1!important}
.v30-content-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center top!important;
}
.v7-content-inner{position:relative!important;z-index:8!important}
/* Disable only the obsolete content-art layer if an old cached render still contains it. */
.v21-content-bg{display:none!important}

/* Restore Countdown exactly to its established visual recipe. */
.v7-hero-countdown div{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
/* Only Doa and RSVP copy the Countdown card look; Countdown itself is not derived
   from these sections. */
.v7-prayer,
.v7-rsvp-frame{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-radius:16px!important;
}
.v7-prayer{margin-top:18px!important}

/* Same canvas inside Studio: no additional iframe-specific artwork sizing. */
.public-embed .v30-content-art{
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  transform:translateX(-50%)!important;
}
.public-embed .v30-cover-art img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:scale(1.10)!important;
}


/* V31 targeted stability patch — envelope, content artwork, autosave UI, moving action dock. */
/* Envelope: restore one clean geometry in both public URL and Studio iframe. */
.opening-style-envelope .v9-opening-stage{
  position:relative!important;
  width:min(88%,350px)!important;
  height:315px!important;
  min-height:315px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  margin:auto!important;
}
.opening-style-envelope .v7-envelope{
  position:relative!important;
  width:min(100%,330px)!important;
  height:245px!important;
  transform:none!important;
  margin:0 auto!important;
}
.opening-style-envelope:not(.opening) .v7-letter{opacity:0!important;visibility:hidden!important;transform:translateY(22px) scale(.95)!important}
.opening-style-envelope.opening .v7-letter{opacity:1!important;visibility:visible!important;transform:translateY(-108px) scale(1.02)!important}
.opening-style-envelope .v9-open-trigger{top:56%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
.public-embed .opening-style-envelope .v9-opening-stage{height:300px!important;min-height:300px!important}

/* Halaman Utama is deliberately a little taller so Main Content cannot bleed above it. */
.v7-cover,.public-embed .v7-cover{min-height:108svh!important;height:auto!important;overflow:hidden!important}
.v30-cover-art{inset:0!important}
.v30-cover-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;transform:none!important}

/* Main Content: one reliable artwork layer, clipped to Main Content itself.
   Custom data-URL backgrounds and theme files use the exact same model in Studio/public. */
.v7-content,.public-embed .v7-content{position:relative!important;overflow:hidden!important;background:#f4eee5!important;isolation:isolate!important}
.v30-content-art,.public-embed .v30-content-art{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  transform:none!important;
  opacity:1!important;
  overflow:hidden!important;
  pointer-events:none!important;
  background:#f4eee5!important;
  z-index:0!important;
}
.v30-content-art img,.public-embed .v30-content-art img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
}
.v7-content-inner{position:relative!important;z-index:8!important}

/* Action buttons follow the document as a sticky toolbar instead of being fixed to the viewport bottom. */
.v7-dock,.public-embed .v7-dock{
  position:sticky!important;
  top:64px!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:calc(100% - 18px)!important;
  max-width:414px!important;
  margin:-64px auto 16px!important;
  z-index:82!important;
}

/* Planning budget — clear fields and save action. */
.budget-table-v31{display:grid!important;gap:10px!important}
.budget-row-v31{display:grid!important;grid-template-columns:minmax(150px,1.5fr) minmax(105px,.8fr) minmax(105px,.8fr) 36px!important;gap:8px!important;align-items:end!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:rgba(255,255,255,.5)!important}
.budget-row-v31 .field{margin:0!important}.budget-row-v31 .field label{display:block!important;margin:0 0 5px!important;font-size:.61rem!important;font-weight:900!important;color:var(--muted)!important}
.budget-remove-v31{height:44px!important;border:0!important;border-radius:11px!important;background:#f5e5e2!important;color:#a13c34!important;font-weight:900!important;cursor:pointer!important}

/* Wishlist address is a separate copyable row. */
.v31-wishlist-item{display:grid!important;gap:8px!important;padding:8px!important;border-radius:18px!important;background:rgba(255,255,255,.62)!important;border:1px solid rgba(45,37,31,.08)!important}
.v31-wishlist-product{display:grid!important;grid-template-columns:78px 1fr!important;gap:10px!important;align-items:center!important;color:inherit!important;text-decoration:none!important}
.v31-wishlist-product img{width:78px!important;height:78px!important;object-fit:cover!important;border-radius:13px!important}
.v31-wishlist-product strong,.v31-wishlist-product span{display:block!important}.v31-wishlist-product strong{font-size:.72rem!important}.v31-wishlist-product span{font-size:.58rem!important;margin-top:5px!important;font-weight:900!important}
.v31-wishlist-address{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important;padding:9px 10px!important;border-radius:12px!important;background:rgba(244,238,229,.74)!important}
.v31-wishlist-address small{font-size:.58rem!important;line-height:1.45!important}.v31-wishlist-address button{display:inline-flex!important;align-items:center!important;gap:5px!important;border:0!important;border-radius:999px!important;background:#1d2b26!important;color:#fff!important;padding:8px 10px!important;font-size:.56rem!important;font-weight:900!important;cursor:pointer!important}.v31-wishlist-address .v8-icon{width:14px!important;height:14px!important}

@media(max-width:720px){
  .budget-row-v31{grid-template-columns:1fr 1fr 36px!important}.budget-name-field{grid-column:1/-1!important}.budget-row-v31 .field:nth-child(2){grid-column:1}.budget-row-v31 .field:nth-child(3){grid-column:2}.budget-remove-v31{grid-column:3;grid-row:2}
  .v7-dock,.public-embed .v7-dock{top:58px!important;width:calc(100% - 12px)!important;margin:-62px auto 14px!important}
}


/* V32 targeted: action dock follows the user only after entering Main Content. */
.v7-dock,.public-embed .v7-dock{
  position:fixed!important;
  top:68px!important;
  bottom:auto!important;
  left:50%!important;
  width:min(414px,calc(100vw - 16px))!important;
  margin:0!important;
  transform:translate(-50%,-10px)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  z-index:86!important;
}
.v7-shell.dock-visible>.v7-dock{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,0)!important;
}
.public-embed .v7-shell.dock-visible>.v7-dock{position:fixed!important;top:62px!important}
[data-wish-add]{font-weight:900!important;min-height:46px!important}
@media(max-width:520px){.v7-dock,.public-embed .v7-dock{top:60px!important;width:calc(100vw - 12px)!important}}


/* V33 targeted — restore V20 action dock behaviour only. */
.v7-dock,.public-embed .v7-dock{
  position:fixed!important;
  z-index:88!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  width:min(calc(100% - 16px),414px)!important;
  max-width:414px!important;
  margin:0!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:1fr!important;
  padding:7px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.92)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 12px 45px rgba(35,29,24,.22)!important;
  border:1px solid rgba(55,45,37,.1)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.v7-shell.is-opening>.v7-dock{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.v7-shell.is-opened>.v7-dock{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(max-width:520px){.v7-dock,.public-embed .v7-dock{width:calc(100% - 12px)!important;border-radius:19px!important}}

/* V34 targeted only: natural-size content artwork, reliable one-click ticks, raised envelope. */
/* Main Content artwork keeps its original aspect ratio. No cover crop, no zoom, no stretch.
   The exact same rule is used for the public URL and Studio iframe. */
.v7-content,
.public-embed .v7-content{
  position:relative!important;
  overflow:hidden!important;
  background:#f4eee5!important;
}
.v30-content-art,
.public-embed .v30-content-art{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  transform:none!important;
  overflow:hidden!important;
  background:#f4eee5!important;
  pointer-events:none!important;
  z-index:0!important;
}
.v30-content-art img,
.public-embed .v30-content-art img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top center!important;
  transform:none!important;
  margin:0!important;
}

/* Make every Studio switch a single-click target. */
.feature-toggle-list .toggle-row,
.toggle-row-v7,
.planning-task-list label{
  cursor:pointer!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.switch{
  cursor:pointer!important;
}
.switch input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:3!important;
}
.planning-task-list label{
  min-height:46px!important;
  padding:11px 13px!important;
}
.planning-task-list input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:0!important;
  accent-color:#1d2b26!important;
  cursor:pointer!important;
}
.planning-task-row.done label{
  background:#f4f6f2!important;
  border-color:rgba(47,115,82,.18)!important;
}
.planning-task-row.done label span{
  text-decoration:line-through!important;
  opacity:.5!important;
}

/* Envelope sits higher inside the fixed opening viewport; the page itself remains non-scrollable. */
.opening-style-envelope .v9-opening-stage{
  transform:translateY(-7vh)!important;
  margin:auto!important;
}
.public-embed .opening-style-envelope .v9-opening-stage{
  transform:translateY(-5vh)!important;
}
.opening-style-envelope .v9-open-trigger{
  top:57%!important;
}
@media(max-height:620px){
  .opening-style-envelope .v9-opening-stage{transform:translateY(-4vh)!important;height:285px!important;min-height:285px!important}
  .public-embed .opening-style-envelope .v9-opening-stage{transform:translateY(-3vh)!important}
}

/* V35 targeted repair only: opening stays static until Open, envelope geometry restored,
   and one natural-size content artwork remains behind the entire Main Content/footer. */

/* Do not allow any document movement while the opening overlay is active. */
body.opening-active{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
body.opening-active .v7-shell{
  height:100dvh!important;
  overflow:hidden!important;
}

/* Final envelope geometry. Keep the paper hidden until the flap has started opening. */
.opening-style-envelope .v9-opening-stage{
  width:min(88vw,350px)!important;
  height:300px!important;
  min-height:300px!important;
  transform:translateY(-8vh)!important;
  overflow:visible!important;
}
.opening-style-envelope .v7-envelope{
  position:relative!important;
  display:block!important;
  width:min(82vw,326px)!important;
  height:228px!important;
  margin:0 auto!important;
  transform:none!important;
  filter:drop-shadow(0 24px 30px rgba(50,35,24,.25))!important;
  perspective:1000px!important;
}
.opening-style-envelope .v7-envelope-back{
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:176px!important;
  border-radius:10px!important;
  clip-path:none!important;
  background:linear-gradient(145deg,#f2e6d6 0%,#dec7aa 58%,#cda981 100%)!important;
  border:1px solid rgba(94,67,44,.16)!important;
  z-index:1!important;
}
.opening-style-envelope .v7-envelope-front{
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:176px!important;
  border-radius:0 0 10px 10px!important;
  clip-path:polygon(0 15%,50% 57%,100% 15%,100% 100%,0 100%)!important;
  background:linear-gradient(160deg,#f2e4d1 0%,#d8bd99 100%)!important;
  border:0!important;
  z-index:5!important;
}
.opening-style-envelope .v7-envelope-flap{
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:52px!important;
  bottom:auto!important;
  height:132px!important;
  border-radius:10px 10px 0 0!important;
  clip-path:polygon(0 0,100% 0,50% 100%)!important;
  transform-origin:50% 0!important;
  transform:rotateX(0deg)!important;
  background:linear-gradient(180deg,#f8efe3 0%,#e2c8a7 100%)!important;
  border:1px solid rgba(94,67,44,.12)!important;
  z-index:6!important;
  backface-visibility:hidden!important;
}
.opening-style-envelope:not(.opening) .v7-letter{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(20px) scale(.96)!important;
}
.opening-style-envelope.opening .v7-envelope-flap{
  transform:rotateX(180deg)!important;
  z-index:2!important;
}
.opening-style-envelope.opening .v7-letter{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(-98px) scale(1.01)!important;
}
.opening-style-envelope .v7-seal{
  top:116px!important;
  z-index:8!important;
}
.opening-style-envelope .v9-open-trigger{
  top:58%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
.public-embed .opening-style-envelope .v9-opening-stage{
  transform:translateY(-6vh)!important;
}

/* Main Content uses one natural-aspect artwork as a fixed card backdrop.
   It never repeats, never cover-crops and does not resize while the content scrolls. */
.v7-content,
.public-embed .v7-content{
  position:relative!important;
  background:#f4eee5!important;
  background-image:none!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.v30-content-art,
.public-embed .v30-content-art{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  width:min(430px,100vw)!important;
  height:100dvh!important;
  min-height:100svh!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  pointer-events:none!important;
  z-index:0!important;
  background:#f4eee5!important;
  opacity:0!important;
}
.v7-content.content-reveal .v30-content-art,
.public-embed .v7-content.content-reveal .v30-content-art{
  opacity:1!important;
}
.v30-content-art img,
.public-embed .v30-content-art img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top center!important;
  transform:none!important;
  margin:0!important;
}
.v7-content-inner,
.v7-footer{
  position:relative!important;
  z-index:8!important;
}


/* V36 targeted polish only — mobile Studio/nav, Dashboard metrics, envelope seal/button,
   and cover isolation. Existing structure/features remain unchanged. */

/* Mobile Studio: remove the embedded desktop Live Preview panel completely.
   The existing Preview button + fullscreen preview overlay remain available. */
@media(max-width:960px){
  .studio-v7-preview{display:none!important;visibility:hidden!important;width:0!important;min-width:0!important;padding:0!important;border:0!important}
  .studio-v7{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;grid-template-areas:"top" "side" "editor"!important}
  .studio-v7-editor{min-width:0!important;width:100%!important}
}

/* Keep BM/EN, profile and hamburger anchored to the right on every mobile page. */
@media(max-width:800px){
  .nav-inner{justify-content:flex-start!important;gap:8px!important}
  .nav-inner>.brand{margin-right:auto!important;flex:0 1 auto!important;min-width:0!important}
  .nav-actions{margin-left:auto!important;justify-content:flex-end!important;align-items:center!important;flex:0 0 auto!important;gap:6px!important}
  .nav-actions .site-lang-toggle,.nav-actions .user-menu,.nav-actions .menu-btn{flex:0 0 auto!important}
  .nav-actions .user-chip{width:42px!important;min-width:42px!important;padding:4px!important;justify-content:center!important}
  .nav-actions .user-chip span{width:32px!important;height:32px!important}
}

/* Dashboard keeps only the two card-level metrics. */
.dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:560px){.dashboard .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Envelope: clean blank wax-style circle in the centre, no logo/text.
   The Open button is visually separated below the envelope. */
.opening-style-envelope .v9-opening-stage{
  position:relative!important;
  width:min(88vw,350px)!important;
  height:365px!important;
  min-height:365px!important;
  transform:translateY(-6vh)!important;
  overflow:visible!important;
  display:block!important;
}
.opening-style-envelope .v7-envelope{
  position:absolute!important;
  top:18px!important;
  left:50%!important;
  width:min(82vw,326px)!important;
  height:228px!important;
  margin:0!important;
  transform:translateX(-50%)!important;
}
.opening-style-envelope .v7-seal{
  left:50%!important;
  top:116px!important;
  width:46px!important;
  height:46px!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 34% 28%,#b58a61 0%,#8e6545 48%,#6e4a31 100%)!important;
  border:3px double rgba(255,242,221,.68)!important;
  box-shadow:0 8px 18px rgba(72,47,29,.24),inset 0 0 0 2px rgba(255,255,255,.12)!important;
  overflow:hidden!important;
  padding:0!important;
}
.opening-style-envelope .v7-seal img{display:none!important}
.opening-style-envelope .v9-open-trigger{
  top:auto!important;
  bottom:14px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  min-width:126px!important;
}
.opening-style-envelope .v9-open-trigger:hover{transform:translateX(-50%) scale(1.03)!important}
.opening-style-envelope.opening .v9-open-trigger{transform:translateX(-50%) translateY(10px) scale(.94)!important}
.public-embed .opening-style-envelope .v9-opening-stage{transform:translateY(-5vh)!important}
@media(max-height:640px){
  .opening-style-envelope .v9-opening-stage{height:330px!important;min-height:330px!important;transform:translateY(-4vh)!important}
  .opening-style-envelope .v7-envelope{top:4px!important;transform:translateX(-50%) scale(.91)!important;transform-origin:top center!important}
  .opening-style-envelope .v9-open-trigger{bottom:4px!important}
}

/* Halaman Utama always paints above Main Content while it is visible.
   Extend its artwork slightly beyond the top edge so no Main Content strip can peek through. */
.v7-cover,.public-embed .v7-cover{position:relative!important;z-index:20!important;margin-top:0!important;overflow:hidden!important}
.v30-cover-art,.public-embed .v30-cover-art{top:-34px!important;right:0!important;bottom:0!important;left:0!important;height:auto!important;z-index:0!important}
.v30-cover-art img,.public-embed .v30-cover-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
.v7-content,.public-embed .v7-content{z-index:1!important}
.v7-content:not(.content-reveal) .v30-content-art,.public-embed .v7-content:not(.content-reveal) .v30-content-art{opacity:0!important;visibility:hidden!important}
.v7-content.content-reveal .v30-content-art,.public-embed .v7-content.content-reveal .v30-content-art{visibility:visible!important}

/* V37 targeted final fix — cover artwork, tool layering, prayer/RSVP recipe only. */
/* Crop only the empty top strip of the cover artwork. The BM/EN + music tools stay above it. */
.v7-cover,
.public-embed .v7-cover{
  position:relative!important;
  margin:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  z-index:20!important;
}
.v30-cover-art,
.public-embed .v30-cover-art{
  position:absolute!important;
  top:-72px!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  height:auto!important;
  overflow:hidden!important;
  pointer-events:none!important;
  z-index:0!important;
  background:transparent!important;
}
.v30-cover-art img,
.public-embed .v30-cover-art img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  margin:0!important;
}
.v7-cover-card{position:relative!important;z-index:5!important}
.v7-tools,
.public-embed .v7-tools{
  z-index:220!important;
  pointer-events:none!important;
}
.v7-tools>*{pointer-events:auto!important}

/* Countdown remains untouched. Doa and RSVP copy the countdown-card visual values exactly. */
.v7-prayer,
.v7-rsvp-frame{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 10px 24px rgba(36,31,27,.08)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-radius:16px!important;
}
.v7-prayer{margin-top:18px!important}

@media(max-width:600px){
  .v30-cover-art,
  .public-embed .v30-cover-art{top:-64px!important}
}

/* V38 targeted mobile/layout repair only. No structural feature changes. */

/* On phones / touch devices Studio never keeps the embedded right-side Live Preview.
   Preview remains available through the existing Preview button + fullscreen overlay. */
@media (max-width:1100px), (hover:none) and (pointer:coarse){
  .studio-v7-preview{display:none!important;visibility:hidden!important;width:0!important;min-width:0!important;max-width:0!important;height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important}
  .studio-v7{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;grid-template-areas:"top" "side" "editor"!important;width:100%!important;max-width:100%!important}
  .studio-v7-editor{width:100%!important;min-width:0!important;max-width:100%!important}
}
.studio-mobile-layout .studio-v7-preview{display:none!important}
.studio-mobile-layout .studio-v7{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"top" "side" "editor"!important}

/* Mobile site header: language, profile and hamburger stay flush right. */
@media(max-width:800px){
  .site-nav .nav-inner.container{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:6px!important;
    width:calc(100% - 18px)!important;
    margin:0 auto!important;
  }
  .site-nav .nav-inner>.brand{grid-column:1!important;min-width:0!important;max-width:100%!important;margin:0!important;overflow:hidden!important}
  .site-nav .nav-links{display:none!important}
  .site-nav .nav-actions{
    grid-column:2!important;
    justify-self:end!important;
    margin:0!important;
    width:max-content!important;
    max-width:none!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:5px!important;
  }
  .site-nav .site-lang-toggle{min-width:72px!important;width:72px!important;transform:none!important;flex:0 0 72px!important}
  .site-nav .user-menu{flex:0 0 42px!important;width:42px!important}
  .site-nav .user-chip{width:42px!important;min-width:42px!important;max-width:42px!important;padding:4px!important}
  .site-nav .menu-btn{display:grid!important;flex:0 0 42px!important;width:42px!important;height:42px!important}
  .site-nav .nav-cta,.site-nav .user-chip b{display:none!important}
}

/* Cover artwork source contains an intentional blank strip at the top.
   Crop only that strip responsively while keeping BM/EN + music above the artwork. */
.v7-cover,.public-embed .v7-cover{position:relative!important;overflow:hidden!important;background:#f4eee5!important}
.v30-cover-art,.public-embed .v30-cover-art{
  --gk-cover-crop:clamp(92px,22vw,126px);
  position:absolute!important;
  inset:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:0!important;
}
.v30-cover-art img,.public-embed .v30-cover-art img{
  position:absolute!important;
  left:0!important;
  top:calc(-1 * var(--gk-cover-crop))!important;
  width:100%!important;
  height:calc(100% + var(--gk-cover-crop))!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
  margin:0!important;
}
.v7-tools,.public-embed .v7-tools{z-index:260!important}


/* V39 pre-launch UX polish */
.password-field{position:relative}.password-field .input{padding-right:52px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.password-toggle:hover,.password-toggle.active{background:var(--surface-2);color:var(--text)}.password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.auth-field-meta{display:flex;justify-content:flex-end;margin-top:7px}.auth-field-meta a,.auth-back-link{font-size:.78rem;font-weight:800;color:var(--dark)}.auth-back-link{display:inline-block;margin-top:18px}.auth-single{grid-template-columns:1fr;min-height:calc(100vh - var(--nav));}.auth-single .auth-form-wrap{min-height:calc(100vh - var(--nav));}

.hero-theme-showcase{min-height:620px}.hero-theme-deck{position:relative;width:min(430px,100%);height:590px;margin:auto;perspective:1200px}.hero-deck-phone{--deck-bg:none;position:absolute;left:50%;top:50%;width:244px;height:500px;padding:7px;border-radius:36px;background:#161816;box-shadow:0 28px 70px rgba(35,29,24,.22);transform-origin:center;transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .5s ease,filter .5s ease;overflow:hidden}.hero-deck-notch{position:absolute;z-index:4;top:8px;left:50%;width:76px;height:18px;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#161816}.hero-deck-screen{width:100%;height:100%;border-radius:30px;background-image:var(--deck-bg);background-size:cover;background-position:center;overflow:hidden;position:relative}.hero-deck-overlay{position:absolute;inset:auto 14px 20px;padding:13px;border-radius:16px;background:rgba(255,252,247,.68);backdrop-filter:blur(10px);text-align:center;border:1px solid rgba(255,255,255,.38)}.hero-deck-overlay small,.hero-deck-overlay strong{display:block}.hero-deck-overlay small{font-size:.55rem;letter-spacing:.12em;font-weight:900}.hero-deck-overlay strong{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-top:4px}.hero-deck-phone[data-pos="0"]{z-index:5;transform:translate(-50%,-50%) translateX(0) rotate(0) scale(1);opacity:1}.hero-deck-phone[data-pos="1"]{z-index:4;transform:translate(-50%,-50%) translateX(112px) rotate(7deg) scale(.90);opacity:.82}.hero-deck-phone[data-pos="2"]{z-index:3;transform:translate(-50%,-50%) translateX(185px) rotate(12deg) scale(.78);opacity:.42;filter:saturate(.75)}.hero-deck-phone[data-pos="3"]{z-index:2;transform:translate(-50%,-50%) translateX(-185px) rotate(-12deg) scale(.78);opacity:.42;filter:saturate(.75)}.hero-deck-phone[data-pos="4"]{z-index:4;transform:translate(-50%,-50%) translateX(-112px) rotate(-7deg) scale(.90);opacity:.82}.hero-deck-caption{position:absolute;z-index:8;bottom:15px;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:3px;min-width:220px}.hero-deck-caption span{padding:7px 11px;border-radius:999px;background:#1d2b26;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.08em}.hero-deck-caption small{font-size:.58rem;color:var(--muted);text-align:center}

.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.home-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}.home-type-card{display:grid;grid-template-rows:160px 1fr;background:rgba(255,253,250,.78);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.home-type-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.home-type-art{position:relative;background:#e9e1d6 center/cover no-repeat}.home-type-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(25,22,18,.14))}.home-type-art>span{position:absolute;z-index:2;top:12px;left:12px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.82);font-size:.58rem;font-weight:900}.home-type-copy{padding:17px}.home-type-copy strong{font-family:'DM Serif Display',serif;font-size:1.22rem;font-weight:400}.home-type-copy p{min-height:48px;margin:7px 0 12px;color:var(--muted);font-size:.75rem;line-height:1.55}.home-type-link{font-size:.72rem;font-weight:900}

@media(max-width:900px){.home-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-theme-showcase{min-height:540px}.hero-theme-deck{height:520px}.hero-deck-phone{width:214px;height:438px}.hero-deck-phone[data-pos="1"]{transform:translate(-50%,-50%) translateX(84px) rotate(7deg) scale(.90)}.hero-deck-phone[data-pos="4"]{transform:translate(-50%,-50%) translateX(-84px) rotate(-7deg) scale(.90)}.hero-deck-phone[data-pos="2"]{transform:translate(-50%,-50%) translateX(132px) rotate(12deg) scale(.78)}.hero-deck-phone[data-pos="3"]{transform:translate(-50%,-50%) translateX(-132px) rotate(-12deg) scale(.78)}}
@media(max-width:600px){.hero-stage.hero-theme-showcase{min-height:475px}.hero-theme-deck{height:450px;width:100%}.hero-deck-phone{width:185px;height:380px;border-radius:30px}.hero-deck-screen{border-radius:24px}.hero-deck-phone[data-pos="1"]{transform:translate(-50%,-50%) translateX(66px) rotate(6deg) scale(.90)}.hero-deck-phone[data-pos="4"]{transform:translate(-50%,-50%) translateX(-66px) rotate(-6deg) scale(.90)}.hero-deck-phone[data-pos="2"]{transform:translate(-50%,-50%) translateX(100px) rotate(10deg) scale(.76)}.hero-deck-phone[data-pos="3"]{transform:translate(-50%,-50%) translateX(-100px) rotate(-10deg) scale(.76)}.hero-deck-caption{bottom:3px}.float-note.one,.float-note.two{display:none}.home-type-grid{grid-template-columns:1fr}.home-type-card{grid-template-columns:118px 1fr;grid-template-rows:1fr;min-height:128px}.home-type-art{min-height:128px}.home-type-copy{padding:15px}.home-type-copy p{min-height:0;margin-bottom:8px}
  .site-nav .site-lang-toggle{width:74px!important;min-width:74px!important;height:38px!important;padding:3px 5px!important;overflow:hidden!important}.site-nav .site-lang-toggle span{width:26px!important;font-size:.62rem!important}.site-nav .site-lang-toggle i{left:4px!important;width:30px!important;height:30px!important}.site-nav .site-lang-toggle.lang-en i{left:39px!important}.site-nav .site-lang-toggle.lang-ms i{left:4px!important}
}

.password-toggle.active:after{content:"";position:absolute;width:22px;height:1.5px;background:currentColor;transform:rotate(-45deg);border-radius:99px}

/* V45 — homepage phone deck uses real /card previews; V39 Studio untouched */
.hero-deck-live{pointer-events:none}
.hero-deck-live .hero-deck-screen{background:#f4eee5!important}
.hero-deck-iframe{display:block;width:100%;height:100%;border:0;margin:0;padding:0;background:#f4eee5;pointer-events:none;transform:none!important;zoom:1!important}

/* V46 targeted launch-flow refinements */
.dashboard-user-email{margin:4px 0 0;color:var(--muted);font-size:.88rem;font-weight:700;word-break:break-word}
.receipt-email-box{margin-top:18px}.receipt-email-box input[readonly]{background:#f3efe9;color:#4f4a44;cursor:not-allowed}.receipt-success{display:grid;gap:3px;margin:18px auto 22px;padding:14px 18px;max-width:420px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.62)}.receipt-success small,.receipt-success span{color:var(--muted);font-size:.72rem}.receipt-success strong{font-size:.92rem;word-break:break-all}.modal-action-row{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.studio-theme-filter{display:grid;gap:7px;margin:18px 0 20px}.studio-theme-filter label{font-size:.72rem;font-weight:900;color:var(--muted)}


/* V47 final pre-launch targeted fixes only: persistent delete + cover top crop. */
.v30-cover-art,
.public-embed .v30-cover-art{
  --gk-cover-crop:clamp(142px,31vw,186px)!important;
  top:0!important;
  bottom:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.v30-cover-art img,
.public-embed .v30-cover-art img{
  top:calc(-1 * var(--gk-cover-crop))!important;
  height:calc(100% + var(--gk-cover-crop))!important;
  object-fit:cover!important;
  object-position:center top!important;
}


/* V49 launch-candidate: keep cover artwork at original scale; only remove detected empty top strip. */
.v30-cover-art,.public-embed .v30-cover-art{
  --gk-cover-shift:0px;
  position:absolute!important;
  inset:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:0!important;
}
.v30-cover-art img,.public-embed .v30-cover-art img{
  position:absolute!important;
  top:calc(-1 * var(--gk-cover-shift))!important;
  left:0!important;
  width:100%!important;
  height:auto!important;
  min-width:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:top center!important;
  transform:none!important;
  margin:0!important;
}
.card-expiry-note{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border-radius:999px;background:#f5efe5;border:1px solid rgba(138,104,56,.14);color:#725b39;font-size:.66rem;font-weight:800;line-height:1.2}
.card-expiry-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* V49 cover sizing: match the artwork's natural aspect ratio like a true mobile invitation canvas. */
.v7-cover,.public-embed .v7-cover{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:var(--gk-cover-aspect,9 / 16)!important;
  padding-top:0!important;
  margin-top:0!important;
}


/* V50 targeted cover fix: original artwork scale, no zoom; lift whole canvas only. */
.v7-cover,.public-embed .v7-cover{
  --gk-cover-trim:52px;
  position:relative!important;
  display:block!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#f4eee5!important;
}
.v30-cover-art,.public-embed .v30-cover-art{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  height:auto!important;
  margin:calc(-1 * var(--gk-cover-trim)) 0 0!important;
  overflow:hidden!important;
  z-index:0!important;
}
.v30-cover-art img,.public-embed .v30-cover-art img{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
  margin:0!important;
}
.v7-cover>.v7-cover-card,.public-embed .v7-cover>.v7-cover-card{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:min(calc(100% - 28px),420px)!important;
  transform:translate(-50%,-50%)!important;
  z-index:8!important;
}
.v7-cover>.v7-page-overlay,.public-embed .v7-cover>.v7-page-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
}

/* V51 final targeted cover alignment + wedding monogram. No structural changes. */
.v7-cover,.public-embed .v7-cover{
  --gk-cover-trim:clamp(78px,18vw,108px)!important;
  margin-top:0!important;
  padding-top:0!important;
  overflow:hidden!important;
}
.v30-cover-art,.public-embed .v30-cover-art{
  margin:calc(-1 * var(--gk-cover-trim)) 0 0!important;
}
.v30-cover-art img,.public-embed .v30-cover-art img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
}
.v7-monogram{
  font-family:'Great Vibes','Mea Culpa',cursive!important;
  font-size:2.65rem!important;
  font-weight:400!important;
  line-height:.88!important;
  letter-spacing:.055em!important;
  color:#171411!important;
  margin:0 0 9px!important;
  text-transform:none!important;
  font-style:normal!important;
}
@media(max-width:600px){
  .v7-cover,.public-embed .v7-cover{--gk-cover-trim:82px!important}
  .v7-monogram{font-size:2.45rem!important}
}


/* V52 launch-targeted cover fix: preserve original artwork size; dynamic trim comes from kad-public.js. */
.v7-cover,.public-embed .v7-cover{
  margin-top:0!important;
  padding-top:0!important;
  overflow:hidden!important;
}
.v30-cover-art,.public-embed .v30-cover-art{
  margin:calc(-1 * var(--gk-cover-trim,0px)) 0 0!important;
}
.v30-cover-art img,.public-embed .v30-cover-art img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center top!important;
  transform:none!important;
}
.v7-monogram{
  font-family:'Great Vibes','Mea Culpa',cursive!important;
  font-size:2.85rem!important;
  font-weight:400!important;
  letter-spacing:.025em!important;
  line-height:.9!important;
}

/* V53 targeted UI test: move language/music controls away from cover top. */
.v7-tools{
  top:auto!important;
  left:auto!important;
  right:max(12px,calc((100vw - 430px)/2 + 12px))!important;
  bottom:92px!important;
  width:auto!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:9px!important;
  pointer-events:none!important;
}
.v7-tools>*{pointer-events:auto!important}
.v7-lang{order:1!important}
.v7-music{order:2!important}
.public-embed .v7-tools{
  position:absolute!important;
  top:auto!important;
  left:auto!important;
  right:10px!important;
  bottom:84px!important;
  transform:none!important;
}
@media(max-width:600px){
  .v7-tools{
    right:10px!important;
    bottom:84px!important;
  }
  .v7-lang{padding:6px 8px!important}
  .v7-music{width:36px!important;height:36px!important}
}

/* V54 targeted correction only: tools sit fixed at lower-right above action dock. */
.v7-tools{
  position:fixed!important;
  top:auto!important;
  left:auto!important;
  right:max(10px,calc((100vw - 430px)/2 + 10px))!important;
  bottom:78px!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:8px!important;
  z-index:96!important;
  pointer-events:none!important;
}
.v7-tools>*{pointer-events:auto!important}
.v7-lang{order:1!important}
.v7-music{order:2!important}
.public-embed .v7-tools{
  position:absolute!important;
  top:auto!important;
  left:auto!important;
  right:10px!important;
  bottom:76px!important;
  width:auto!important;
  transform:none!important;
  z-index:96!important;
}
@media(max-width:600px){
  .v7-tools{
    right:10px!important;
    bottom:76px!important;
  }
  .v7-lang{padding:6px 8px!important}
  .v7-music{width:36px!important;height:36px!important}
}


/* V55 launch-candidate targeted polish: vertical language toggle + wishlist address copy. */
.v7-lang{
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:38px!important;
  padding:8px 7px!important;
  border-radius:18px!important;
}
.v7-lang span{
  display:block!important;
  min-width:20px!important;
  text-align:center!important;
  line-height:1!important;
}
.v7-lang i{
  width:13px!important;
  height:25px!important;
  flex:0 0 25px!important;
}
.v7-lang i:after{
  width:9px!important;
  height:9px!important;
  left:2px!important;
  top:2px!important;
  transform:translateY(0)!important;
}
.v7-lang:has(span:last-child.active) i:after{
  transform:translateY(12px)!important;
}
.v7-lang span:first-child.active + i:after{
  transform:translateY(0)!important;
}
.v31-wishlist-address{
  padding:11px 12px!important;
  border-radius:15px!important;
  background:rgba(255,253,249,.78)!important;
  border:1px solid rgba(45,37,31,.10)!important;
  box-shadow:0 8px 22px rgba(54,43,35,.06)!important;
}
.v55-wishlist-address-copy{min-width:0!important;display:grid!important;gap:3px!important}
.v55-wishlist-address-copy>span{font-size:.49rem!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:900!important;opacity:.52!important}
.v55-wishlist-address-copy>small{font-size:.60rem!important;line-height:1.5!important;color:#3d3732!important;word-break:break-word!important}
.v31-wishlist-address button{
  min-width:72px!important;
  justify-content:center!important;
  padding:9px 11px!important;
  box-shadow:0 7px 16px rgba(29,43,38,.14)!important;
}
@media(max-width:600px){
  .v7-lang{padding:7px 6px!important;gap:4px!important;min-width:36px!important}
  .v31-wishlist-address{grid-template-columns:minmax(0,1fr) auto!important}
}

/* V58 auth feedback */
.auth-message{margin-top:10px;padding:11px 13px;border-radius:12px;font-size:.78rem;font-weight:800;line-height:1.45;border:1px solid transparent}
.auth-message[hidden]{display:none!important}.auth-message.error{background:#fff2f1;border-color:#f2c9c5;color:#8a2d27}.auth-message.success{background:#eef8f0;border-color:#c9e3ce;color:#28623a}

/* Upgrade checkout · AffanPay */
.affanpay-gateway-note{display:flex;align-items:center;gap:12px;padding:14px 15px;margin:18px 0 8px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.58)}
.affanpay-gateway-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:#edf1ec;color:var(--dark)}
.affanpay-gateway-note strong,.affanpay-gateway-note small{display:block}.affanpay-gateway-note strong{font-size:.78rem}.affanpay-gateway-note small{margin-top:3px;color:var(--muted);font-size:.63rem;line-height:1.45}
.affanpay-checkout-btn{width:100%;min-height:50px;margin-top:6px;font-size:.94rem}.affanpay-checkout-btn svg{flex:0 0 auto}
.affanpay-secure-line{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--muted);font-size:.63rem;font-weight:700}.affanpay-secure-line svg{color:#5d765f}
