:root{font-family:Tahoma,"Segoe UI",Arial,sans-serif;color-scheme:dark;--bg:#100d1e;--surface:#211b36;--surface2:#29223e;--text:#f7f2ff;--muted:#bbb2d2;--pink:#fa91c6;--purple:#bd99ff;--border:rgba(255,255,255,.12);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 84% 5%,#24123d 0,transparent 39%),radial-gradient(ellipse at 12% 34%,#201c48 0,transparent 34%),var(--bg);line-height:1.75}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{line-height:1.45}h2{font-size:clamp(1.45rem,3.2vw,2.25rem);margin-bottom:.5rem}strong{font-weight:700}.container{width:min(1160px,calc(100% - 36px));margin:auto}.skip-link{position:absolute;inset-inline-start:-999px;background:#fff;color:#111;padding:9px;z-index:200}.skip-link:focus{inset-inline-start:20px;top:10px}.site-header{position:sticky;top:0;z-index:20;background:rgba(17,13,29,.85);backdrop-filter:blur(24px);border-bottom:1px solid var(--border)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}.brand{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:900;line-height:1.2;white-space:nowrap}.brand small{display:block;font-size:.57rem;font-weight:700;letter-spacing:.23em;color:var(--pink);direction:ltr}.brand-mark{font-size:1.6rem;color:var(--pink);border:1px solid var(--border);background:#28203b;border-radius:15px;width:45px;height:45px;display:grid;place-items:center}.nav{display:flex;gap:30px;color:#d0c8df;font-size:.94rem}.nav a:hover,.nav a:focus-visible{color:#fff}.header-cta{border:1px solid #ab88e9;background:#432d69;border-radius:15px;padding:9px 17px;font-weight:700;font-size:.91rem}.header-cta:hover,.header-cta:focus-visible{background:#594080}.hero{padding-block:80px 60px;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:45px;min-height:600px}.eyebrow{color:var(--pink);font-weight:800;font-size:.82rem;letter-spacing:.025em}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 18px var(--pink);margin-inline-end:6px}.hero h1{font-size:clamp(2.25rem,4.5vw,4rem);letter-spacing:-1.2px;font-weight:900;margin:15px 0 23px}.hero h1 em{color:var(--pink);font-style:normal}.hero h1 em:last-child{color:#c5abff}.hero-description{font-size:1.04rem;color:var(--muted);max-width:570px;line-height:2.1}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{border-radius:16px;padding:11px 23px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--border)}.button.primary{background:linear-gradient(110deg,#a57afb,#ff91c8);color:#1e1131;border:0;box-shadow:0 14px 40px #c67bdb25}.button.secondary{background:#ffffff0a;color:var(--text)}.button:hover{filter:brightness(1.13)}.hero-pillars{color:#b5abca;display:flex;gap:15px;flex-wrap:wrap;margin-top:32px;font-size:.8rem}.hero-art{position:relative;min-height:490px;display:grid;place-items:center;isolation:isolate}.glow{position:absolute;filter:blur(50px);border-radius:100%;z-index:-1}.glow.first{width:280px;height:280px;background:#7132a25a;top:8%;right:12%}.glow.second{width:250px;height:250px;background:#a33d7166;bottom:4%;left:12%}.art-card{width:min(340px,79%);aspect-ratio:.77;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:26px;border:1px solid #ffffff36;border-radius:26px;background:radial-gradient(circle at 35% 20%,#61407785,transparent 55%),linear-gradient(160deg,#312044,#3a214a 54%,#281a36);box-shadow:0 30px 80px #08030b99,0 1px 25px #ff9fc219 inset;transform:rotate(4deg)}.art-decoration{position:absolute;top:27px;color:#edb4dc;letter-spacing:14px}.art-heart{font-size:4.3rem;color:#ff8fc6;text-shadow:0 0 30px #ff80b288;line-height:1.5}.art-card h2{font-size:2.15rem}.art-card p{color:#ecd7f1;font-size:.9rem}.art-bottom{position:absolute;bottom:27px;font-weight:800;font-size:.77rem;color:#f3b5dc}.floating-note{position:absolute;background:#fff1;color:#fff;padding:8px 18px;border:1px solid #ffffff2f;border-radius:14px;backdrop-filter:blur(12px);font-size:.8rem;box-shadow:0 17px 35px #0004}.floating-note.top{top:45px;left:5%;transform:rotate(-7deg)}.floating-note.bottom{bottom:42px;right:0;transform:rotate(5deg)}.section{padding-block:68px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.section-subtitle{color:var(--muted)}.counter,.phase-pill{color:#e2ccff;border:1px solid #a47cdf65;border-radius:100px;background:#734ba125;white-space:nowrap;padding:7px 16px;font-size:.85rem}.category-filter{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}.filter-button{border:1px solid var(--border);color:#e0d8ed;border-radius:100px;background:#ffffff0b;padding:7px 16px}.filter-button.selected,.filter-button:hover{background:#64428b;border-color:#b88aff;color:#fff}.occasion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.occasion-card{text-align:right;display:flex;flex-direction:column;align-items:flex-start;min-height:195px;gap:7px;padding:22px;border-radius:19px;border:1px solid var(--border);background:linear-gradient(156deg,#2b203f,#1e1931);color:var(--text);transition:transform .15s,border-color .15s}.occasion-card:hover,.occasion-card:focus-visible{transform:translateY(-4px);border-color:#ca9efe;box-shadow:0 15px 28px #0003}.occasion-card strong{font-size:1.04rem}.occasion-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#ffffff12;font-size:1.65rem;margin-bottom:8px}.occasion-description{font-size:.83rem;color:#c7bfd4}.occasion-tag{font-size:.7rem;color:#f4c1e0;margin-top:auto}.occasion-tag.paid{color:#f1c981}.how-section{padding-block:65px;background:#ffffff06;border-block:1px solid var(--border)}.how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:27px}.how-grid>div{border:1px solid var(--border);border-radius:18px;background:#2d2440aa;padding:24px}.how-grid b{color:var(--pink);font-size:1.2rem}.how-grid h3{font-size:1.03rem;margin:8px 0}.how-grid p{font-size:.85rem;color:var(--muted);margin:0}.studio-section{padding-bottom:110px}.studio{display:grid;grid-template-columns:minmax(300px, .87fr) minmax(0,1.13fr);gap:20px;align-items:start}.studio-sidebar{background:#231d34;border:1px solid var(--border);border-radius:22px;padding:26px}.field{border:0;padding:0;margin:0 0 20px;min-width:0}.field>label,.field>legend{display:block;color:#faf6fe;font-size:.91rem;font-weight:800;margin:0 0 8px}.field>legend{padding:0 0 9px}.field>label:not(:first-child){margin-top:14px}.field input:not([type=file]),.field select,.field textarea{background:#181429;color:#fff;border:1px solid #ffffff2c;border-radius:11px;padding:11px 13px;width:100%;outline:0}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:#c695ff;box-shadow:0 0 0 3px #a77bfb44}.field textarea{resize:vertical;min-height:100px}.field input[type=file]{display:block;max-width:100%;font-size:.83rem;background:#171328;padding:9px;border:1px dashed #8f799f;border-radius:12px}.field input[type=file]::file-selector-button{border:0;border-radius:8px;background:#805ab3;color:#fff;padding:8px 11px;margin-inline-end:12px}.field-help{font-size:.78rem;color:var(--muted);margin:6px 0 0}.editor-actions{display:flex;flex-wrap:wrap;gap:12px}.editor-actions .button{font-size:.82rem}.editor-status{color:#d6c6e7;font-size:.83rem;min-height:32px;margin:14px 0 0}.studio-preview-panel{border:1px solid var(--border);background:#1c172e;padding:22px;border-radius:22px;position:sticky;top:100px}.preview-heading{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:15px}.preview-heading span{color:var(--muted);font-size:.78rem}.preview{--card-primary:#c4a0ff;--card-bg:#120d2c;--card-highlight:#ff92cc;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;overflow:hidden;min-height:440px;padding:45px 30px;border-radius:18px;color:#fff;background:radial-gradient(circle at 25% 16%,color-mix(in srgb,var(--card-highlight) 27%,transparent),transparent 48%),var(--card-bg);border:1px solid color-mix(in srgb,var(--card-primary) 35%,transparent)}.preview[aria-hidden=true]{visibility:hidden}.preview::before,.preview::after{content:"✦";position:absolute;color:var(--card-highlight);opacity:.55;font-size:2rem}.preview::before{top:35px;left:37px}.preview::after{bottom:55px;right:35px}.preview-ornament{color:var(--card-primary);letter-spacing:.4rem;font-size:1.2rem}.preview-kicker{color:var(--card-highlight);font-size:.85rem;font-weight:800;margin-bottom:0}.preview h3{font-size:clamp(1.6rem,2.8vw,2.3rem);color:var(--card-primary);max-width:420px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.preview #preview-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:470px;line-height:2.1}.preview #preview-signature{font-weight:800;color:var(--card-highlight);overflow-wrap:anywhere}.preview-footer{font-size:.7rem;color:#fff9;letter-spacing:.12em;margin-top:10px}.photo-pair{display:flex;justify-content:center;gap:9px;margin-block:10px}.photo-pair img{width:90px;height:90px;object-fit:cover;border:3px solid var(--card-primary);border-radius:50%}.photo-pair img[hidden]{display:none}.preview.layout-postcard{border-radius:45px 15px;background:linear-gradient(135deg,color-mix(in srgb,var(--card-bg) 90%,white),var(--card-bg))}.preview.layout-postcard h3{font-family:Georgia,Tahoma,serif;font-style:italic}.preview.layout-celebration{background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--card-highlight) 55%,transparent),transparent 30%),radial-gradient(circle at 84% 85%,color-mix(in srgb,var(--card-primary) 30%,transparent),transparent 38%),var(--card-bg)}.preview.layout-celebration::before{content:"🎉"}.preview.layout-celebration::after{content:"✶"}.preview.layout-storybook{border:11px double color-mix(in srgb,var(--card-primary) 25%,transparent);border-radius:12px;box-shadow:inset 0 0 0 1px #ffffff3b}.preview.layout-formal{border-radius:6px;outline:1px solid var(--card-primary);outline-offset:-16px}.preview.layout-formal::before,.preview.layout-formal::after{content:"❦"}.preview.layout-formal h3{font-family:Georgia,Tahoma,serif}.preview-disclaimer{margin:18px 0 0;color:#bfb4d0;font-size:.82rem}.site-footer{border-top:1px solid var(--border);padding-block:27px;background:#110e1c}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-row strong{color:var(--pink);font-size:1.3rem}.footer-row p{color:var(--muted);font-size:.81rem;margin:5px 0 0}.footer-row small{color:var(--muted)}button:focus-visible,a:focus-visible{outline:3px solid #f9bcf1;outline-offset:3px}button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1050px){.occasion-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:12px}.nav{gap:14px}.how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio{grid-template-columns:minmax(275px,.85fr) minmax(0,1.15fr)}}
@media(max-width:760px){.header-row{min-height:69px}.brand{font-size:1.25rem}.brand-mark{width:39px;height:39px}.nav{display:none}.header-cta{font-size:.82rem;padding:7px 12px}.hero{grid-template-columns:1fr;padding-block:50px 20px;min-height:0;text-align:center}.hero h1{font-size:clamp(2rem,8vw,3rem)}.hero-description{margin:auto}.hero-buttons,.hero-pillars{justify-content:center}.hero-art{min-height:350px}.art-card{max-width:250px}.art-card h2{font-size:1.6rem}.art-heart{font-size:3rem}.floating-note{font-size:.7rem}.section{padding-block:49px}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.occasion-card{min-height:185px;padding:16px}.occasion-icon{height:47px;width:47px;font-size:1.35rem}.studio{grid-template-columns:1fr}.studio-preview-panel{position:static}.studio-sidebar,.studio-preview-panel{padding:17px}.footer-row{flex-direction:column;text-align:center}.how-grid{gap:9px}.how-grid>div{padding:16px}}
@media(max-width:400px){.container{width:min(100% - 22px,1160px)}.occasion-grid{gap:8px}.occasion-card{padding:13px;min-height:185px}.occasion-card strong{font-size:.91rem}.occasion-description{font-size:.73rem}.hero-pillars{gap:7px}.category-filter{gap:6px}.filter-button{font-size:.81rem;padding:5px 10px}.preview{padding:35px 12px}.preview h3{font-size:1.5rem}.photo-pair img{width:65px;height:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* PHASE 02: discoverability, dedicated occasion pages and curated design gallery */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.occasion-search-row{position:relative;max-width:760px;margin:4px 0 22px}
.occasion-search-row input{font:inherit;width:100%;padding:16px 45px 16px 18px;border:1px solid #ffffff4a;border-radius:17px;background:#241c37;color:#fff;min-height:54px;outline:none}
.occasion-search-row input:focus-visible{outline:3px solid #c695ff;outline-offset:3px}
.occasion-search-row input::placeholder{color:#b8accb}
.occasion-search-row>span{position:absolute;right:17px;top:10px;font-size:1.6rem;color:#d9b4f8;pointer-events:none}
.empty-results{border:1px dashed #9f7dce;background:#ffffff09;padding:40px 22px;text-align:center;border-radius:20px}
.empty-results[hidden]{display:none}
.empty-results strong{display:block;font-size:1.2rem;margin-bottom:8px}
.empty-results p{color:var(--muted)}
.occasion-card{text-decoration:none}
.occasion-card:hover .occasion-icon{background:#ab85e52d}
.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.design-card{display:flex;flex-direction:column;min-width:0;border:1px solid #ffffff24;border-radius:24px;background:linear-gradient(160deg,#2e2542,#1b172c);padding:9px;transition:transform .2s,border-color .2s}
.design-card:hover,.design-card:focus-visible{transform:translateY(-4px);border-color:#d3a4f1}
.design-art{--card-primary:#ffdeba;--card-bg:#3c2e50;--card-highlight:#ffcae0;position:relative;min-height:275px;border:1px solid color-mix(in srgb,var(--card-primary) 50%,transparent);border-radius:17px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px 18px;gap:16px;background:radial-gradient(circle at 78% 13%,color-mix(in srgb,var(--card-highlight) 43%,transparent),transparent 43%),radial-gradient(circle at 10% 100%,color-mix(in srgb,var(--card-primary) 22%,transparent),transparent 43%),var(--card-bg)}
.design-art::before,.design-art::after{content:'✦';position:absolute;color:var(--card-highlight);font-size:1.6rem;opacity:.56}
.design-art::before{top:18px;right:18px}.design-art::after{bottom:18px;left:20px}
.design-art-ornament{color:var(--card-highlight);letter-spacing:.4rem;font-size:1.1rem}
.design-art>strong{font-size:clamp(1.2rem,2.3vw,1.65rem);color:var(--card-primary);line-height:1.7;overflow-wrap:anywhere;max-width:260px;position:relative;z-index:1}
.design-art small{color:var(--card-highlight);opacity:.84;font-size:.73rem;letter-spacing:.12em}
.design-art.layout-formal{border-radius:7px;outline:1px solid color-mix(in srgb,var(--card-primary) 42%,transparent);outline-offset:-12px}
.design-art.layout-formal::before,.design-art.layout-formal::after{content:'❦'}
.design-art.layout-postcard{border-radius:45px 13px 45px 13px}
.design-art.layout-storybook{border:9px double color-mix(in srgb,var(--card-primary) 65%,transparent)}
.design-art.layout-celebration{background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--card-highlight) 45%,transparent),transparent 30%),radial-gradient(circle at 80% 80%,color-mix(in srgb,var(--card-primary) 30%,transparent),transparent 35%),var(--card-bg)}
.design-art.layout-celebration::after{content:'✳'}
.design-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 13px 11px}
.design-card-footer>span:first-child{display:flex;flex-direction:column;gap:2px}
.design-card-footer strong{font-size:1.02rem}.design-card-footer small{font-size:.79rem;color:var(--muted)}
.design-arrow{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;border:1px solid #ffffff3b;background:#8c61b745;font-size:1.3rem}
.breadcrumbs{display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding-top:24px;color:#c3bad0;font-size:.85rem}
.breadcrumbs a:hover,.back-link a:hover{color:var(--pink)}
.detail-hero{display:grid;grid-template-columns:1fr .78fr;gap:70px;align-items:center;padding-block:65px 50px}
.detail-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);margin:0 0 15px}
.detail-description{font-size:1.1rem;color:var(--muted)}
.detail-icon{font-size:3rem;margin:0 0 11px}
.detail-badges{display:flex;flex-wrap:wrap;gap:10px;color:#f8d5ef;font-size:.81rem}
.detail-badges span{background:#ffffff10;border:1px solid #ffffff24;padding:7px 13px;border-radius:50px}
.detail-visual{position:relative;text-align:center;min-height:330px;border:1px solid #ffffff36;box-shadow:0 24px 90px #0004;border-radius:130px 38px 130px 38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle at 25% 15%,#ad5e9355,transparent 40%),linear-gradient(145deg,#512c61,#302642 70%,#231e40);transform:rotate(-2deg)}
.detail-visual-deco{color:#ecb4e6;letter-spacing:1em}.detail-visual-heart{font-size:5.5rem;color:#ffbfdc;line-height:.9;text-shadow:0 0 30px #df8ad775}
.detail-visual p{font-size:2rem;font-weight:900;line-height:1.5;margin:0}.detail-visual>span:last-child{font-size:.75rem;color:#d4add9;letter-spacing:.2em}
.detail-note{color:var(--muted);font-size:.85rem;line-height:1.9;margin-top:25px}
.related-section{margin:30px 0 80px;border-top:1px solid var(--border);padding-top:45px}
.related-links{display:flex;flex-wrap:wrap;gap:11px}
.related-pill{border:1px solid #ffffff30;background:#332641;border-radius:60px;padding:8px 15px;font-size:.86rem}
.related-pill:hover{border-color:#c897f6}
.back-link{margin-top:26px;color:var(--pink);font-weight:bold}
@media(max-width:1050px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero{gap:35px}}
@media(max-width:760px){.detail-hero{grid-template-columns:1fr;padding-block:40px;gap:35px}.detail-visual{min-height:250px;max-width:430px;width:100%;margin-inline:auto}.design-art{min-height:245px}}
@media(max-width:520px){.design-grid{grid-template-columns:1fr}.design-art{min-height:255px}.occasion-search-row input{font-size:.9rem}.detail-hero h1{font-size:2.5rem}}
/* Prevent decorative glows from extending the document on narrow 320px screens. */
.hero-art{overflow:clip}

/* Phase 04 - template-scoped design language; no user-generated stylesheet. */
.design-canvas{isolation:isolate;position:relative;--pattern:transparent; background:var(--card-bg);transition:background .25s}
.design-canvas::before,.design-canvas::after{pointer-events:none;z-index:0}
.design-canvas>*:not(.custom-design-background){position:relative;z-index:1}
.design-canvas .custom-design-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.44;z-index:0;pointer-events:none;filter:saturate(.8)}
.design-canvas[data-background="midnight"]{background:radial-gradient(circle at 40% 0%,#ffffff27,transparent 36%),radial-gradient(circle at 95% 85%,var(--card-highlight),transparent 78%),var(--card-bg)}
.design-canvas[data-background="aurora"]{background:radial-gradient(ellipse at 0 100%,#7c4bf380,transparent 55%),radial-gradient(ellipse at 90% 0%,var(--card-highlight),transparent 65%),var(--card-bg)}
.design-canvas[data-background="sunset"]{background:linear-gradient(135deg,var(--card-bg),#9b507c,var(--card-highlight))}
.design-canvas[data-background="bloom"]{background:radial-gradient(circle at 15% 15%,var(--card-highlight),transparent 35%),radial-gradient(circle at 85% 82%,var(--card-primary),transparent 58%),var(--card-bg)}
.design-canvas[data-background="gold"]{background:linear-gradient(145deg,var(--card-bg),#66512b,var(--card-bg))}
.design-canvas[data-background="sky"]{background:linear-gradient(160deg,#282759,var(--card-bg) 53%,#6789ad)}
.design-canvas[data-background="ribbons"]{background:repeating-linear-gradient(135deg,#ffffff09 0 14px,transparent 14px 42px),var(--card-bg)}
.design-canvas[data-background="minimal"]{background:var(--card-bg)}
.design-canvas[data-frame="halo"]{border-radius:46% 46% 22px 22px/18% 18% 22px 22px;box-shadow:inset 0 0 0 1px #ffffff57}
.design-canvas[data-frame="glass"]{border-radius:26px;box-shadow:inset 0 0 35px #ffffff29,0 10px 35px #08061245}
.design-canvas[data-frame="paper"]{border-radius:4px 26px 4px 26px;outline:1px solid #ffffff81;outline-offset:-13px}
.design-canvas[data-frame="film"]{border-radius:12px;border-block:15px solid #080514!important;box-shadow:inset 0 0 0 2px #ffffff30}
.design-canvas[data-frame="polaroid"]{border-radius:8px 8px 4px 4px;border:10px solid #f7eeec!important;border-bottom-width:29px!important;box-shadow:0 13px 29px #0006}
.design-canvas[data-frame="arch"]{border-radius:50% 50% 4px 4px/30% 30% 4px 4px;outline:2px solid var(--card-primary);outline-offset:-10px}
.design-canvas[data-frame="floral"]{border-radius:43px 8px 43px 8px;outline:4px double color-mix(in srgb,var(--card-primary) 55%,transparent);outline-offset:-12px}
.design-canvas[data-frame="ornate"]{border-radius:6px;outline:1px solid var(--card-primary);outline-offset:-20px}
.design-canvas[data-motif="stars"]::before{content:'✦  ·  ✧  ·  ✦';inset:auto 0 13%;position:absolute;letter-spacing:.7em;font-size:1.1em}
.design-canvas[data-motif="petals"]::before{content:'❀  ✿  ❀';position:absolute;top:9%;right:7%;font-size:1.5em}
.design-canvas[data-motif="confetti"]::before{content:'✺  ✦  ◈  ✧';position:absolute;inset:6% 0 auto;letter-spacing:.6em}
.design-canvas[data-motif="rays"]::before{content:'☼';position:absolute;right:6%;top:4%;font-size:3.2em;opacity:.5}
.design-canvas[data-motif="geometry"]::before{content:'◇  △  ◇';position:absolute;inset:auto 0 7%;letter-spacing:.4em}
.design-canvas[data-motif="sparkle"]::before{content:'✦';position:absolute;right:11%;top:12%;font-size:2.6em}
.design-canvas[data-motif="none"]::before,.design-canvas[data-motif="none"]::after{content:none}
.design-canvas[data-typography="classic"] h3,.design-canvas[data-typography="classic"]>strong{font-family:Georgia,Tahoma,serif}
.design-canvas[data-typography="editorial"] h3,.design-canvas[data-typography="editorial"]>strong{font-weight:900;letter-spacing:-.06em}
.design-canvas[data-typography="handwritten"] h3,.design-canvas[data-typography="handwritten"]>strong{font-style:italic;line-height:1.9}
.design-canvas[data-alignment="right"]{text-align:right;align-items:flex-start}
.design-canvas[data-alignment="left"]{text-align:left;align-items:flex-end}
.design-canvas[data-alignment="center"]{text-align:center;align-items:center}
.design-canvas[data-photo-shape="arch"] .photo-pair img{border-radius:48% 48% 7% 7%}
.design-canvas[data-photo-shape="polaroid"] .photo-pair img{border-radius:4px;border:7px solid #fff;border-bottom-width:14px;transform:rotate(-4deg)}
.design-canvas[data-photo-shape="square"] .photo-pair img{border-radius:12px}
@media(prefers-reduced-motion:no-preference){.design-canvas[data-motion="gentle"] .preview-ornament{animation:lahzetnaTwinkle 5s ease-in-out infinite}@keyframes lahzetnaTwinkle{50%{opacity:.55;transform:translateY(-4px)}}}
@media(max-width:400px){.design-canvas{max-width:100%;overflow:hidden}.design-canvas[data-frame="polaroid"]{border-width:7px!important;border-bottom-width:20px!important}}

/* Phase05 beginner guided builder: controls stay available without horizontal scrolling. */
.wizard-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:22px}
.wizard-progress button{padding:9px 5px;border-radius:10px;border:1px solid #ffffff27;background:#161225;color:#d4c9e4;font-size:.78rem}
.wizard-progress button[aria-current=step]{background:#68428c;border-color:#e5b3ff;color:#fff;font-weight:800}
.wizard-pane[hidden],.wizard-footer button[hidden],#share-result[hidden]{display:none}
.wizard-footer{display:flex;gap:10px;justify-content:space-between;margin:16px 0 20px}.wizard-footer .button{flex:1}
.wizard-pane h3{font-size:1.1rem}.soft-divider{border:0;border-top:1px solid #ffffff26;margin:22px 0}
#share-result{display:grid;gap:10px;margin-top:16px;min-width:0}#share-result input{min-width:0;width:100%;background:#151225;color:#fff;border:1px solid #ffffff55;border-radius:10px;padding:11px;direction:ltr}
#share-button{margin-top:12px}.wizard-pane .editor-actions{margin:12px 0}.wizard-pane .editor-actions .button{flex-grow:1}
@media(max-width:760px){.wizard-progress{position:relative}.wizard-progress button{font-size:.69rem;padding:9px 3px}.wizard-footer{position:sticky;bottom:6px;z-index:4;background:#231d34eb;padding:8px;border-radius:12px}}
.share-page{padding-block:60px 90px;max-width:740px;text-align:center}.share-page #shared-preview{margin:28px auto;min-height:500px}.share-page #shared-preview[hidden]{display:none}
#shared-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;max-width:500px}#shared-title{font-size:clamp(1.45rem,4vw,2.3rem);color:var(--card-primary);overflow-wrap:anywhere}

/* Phase 06: compact, accessible local music/story timing studio */
.music-studio{border:1px solid #ffffff32;background:#1a1530;border-radius:17px;padding:18px;margin:23px 0;min-width:0}
.music-studio h3{font-size:1.1rem;margin:0 0 10px}
.music-studio input[type=file]{max-width:100%;font-size:.85rem}
.music-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.music-range label{display:flex;flex-direction:column;gap:5px;font-size:.82rem}
.music-studio input[type=number]{width:100%;min-width:0;box-sizing:border-box;background:#100d21;border:1px solid #6f5e86;color:#fff;border-radius:9px;padding:10px;font:inherit}
.music-actions{display:flex;flex-wrap:wrap;gap:8px}.music-actions .button{flex:1}
#music-seek{width:100%;accent-color:#db8cc8}
.cue-details{margin-top:16px;border:1px solid #ffffff27;border-radius:10px;padding:12px}
.cue-details summary{cursor:pointer;font-weight:650}
.cue-head,.cue-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,.7fr) minmax(0,.7fr);align-items:center;gap:6px;margin-top:8px}
.cue-head{font-size:.73rem;color:#d6c3e3}.cue-row label{font-size:.75rem}
.cue-row input{min-width:0!important;padding:8px 3px!important;text-align:center}
#music-feedback{min-height:18px;color:#ead0f2}.preview [hidden]{display:none!important}
@media(max-width:400px){.music-studio{padding:12px}.cue-head,.cue-row{grid-template-columns:minmax(65px,1fr) minmax(0,.68fr) minmax(0,.68fr)}}
/* Phase07 browser-only video builder */
.video-studio{border:1px solid rgba(206,177,255,.35);border-radius:20px;padding:16px;margin:24px 0;background:rgba(71,47,108,.12)}
.video-studio h3{margin:0 0 8px}.video-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.video-settings label{display:grid;gap:6px;font-size:.88rem}.video-settings select{width:100%;min-width:0;max-width:100%;padding:10px;border-radius:10px;background:#201a34;color:white;border:1px solid #817598}
#video-canvas{display:block;width:min(100%,230px);height:auto;max-height:290px;object-fit:contain;margin:12px auto;border-radius:14px;background:#281a41}
.video-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}#video-progress{width:100%;height:11px;margin:10px 0;accent-color:#db80c4}
#video-result{display:block;width:100%;max-width:300px;max-height:400px;margin:10px auto;border-radius:12px}#video-result[hidden],#video-download[hidden]{display:none!important}
#video-download{display:inline-flex;justify-content:center;margin-top:12px}
@media(max-width:500px){.video-settings{grid-template-columns:minmax(0,1fr)}.video-studio{padding:12px}}

.video-rights{display:flex;align-items:flex-start;gap:9px;line-height:1.6;font-size:.9rem;margin:12px 0;cursor:pointer}.video-rights input{width:18px;height:18px;flex:0 0 18px;margin-top:4px;accent-color:#d178c5}

.premium-wedding-link{margin:20px 0;border:1px solid #c4a4db55;border-radius:18px;padding:17px;background:linear-gradient(125deg,#342348,#482c4d);color:#fff}.premium-wedding-link h3{margin:0 0 8px}.premium-wedding-link p{color:#f1e4f0;line-height:1.7}

/* Phase09 ads: free occasion pages only; section is hidden until an approved publisher is enabled. */
.free-ad-placement{padding:20px;margin:20px 0;min-height:100px;border:1px solid #524268;border-radius:16px;overflow:hidden;text-align:center}
.free-ad-placement[hidden]{display:none!important}
