:root{--bg:#0c0812;--surface:#171020;--line:#2e2340;--text:#fcf5f9;--muted:#c4b7ce;--pink:#ff4fa3;--gold:#ffc94d;--blush:#f8dde8;--blush-ink:#3a1830;--wa:#1fa55a;--ink-on-pink:#1a0b14;--r:14px;
--display:"Baloo 2","Trebuchet MS",system-ui,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--body);-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:var(--display);line-height:1.12;margin:0 0 .5em;font-weight:800;color:var(--text)}
h1{font-size:clamp(2.3rem,6.4vw,4.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.65rem,4vw,2.4rem)}h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em;max-width:66ch}a{color:inherit}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:68px 0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}

/* header */
header{position:sticky;top:0;z-index:40;background:#000;border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .wrap{display:flex;align-items:center;gap:18px;height:68px}
.logo{display:block;line-height:0;flex:none}.logo img{height:50px;width:auto;display:block}
nav#nav{margin-left:auto}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
nav a{display:block;text-decoration:none;font-weight:500;font-size:.95rem;padding:8px 12px;border-radius:999px}
nav a:hover{background:var(--surface)}
nav li{position:relative}
nav ul ul{display:none;position:absolute;top:100%;left:0;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px;min-width:250px;box-shadow:0 14px 34px rgba(0,0,0,.5)}
nav li:hover>ul,nav li:focus-within>ul{display:flex}
nav ul ul a{border-radius:8px}
.hdr-cta{display:flex;gap:8px;flex:none}
.menu{display:none;margin-left:auto;background:none;border:2px solid var(--pink);color:var(--text);border-radius:10px;padding:8px 14px;font:600 .9rem var(--body)}

/* buttons */
.btn{display:inline-block;padding:13px 24px;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid var(--gold);color:var(--text);line-height:1.2;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.p{background:var(--pink);border-color:var(--pink);color:var(--ink-on-pink)}
.btn.p:hover{background:#ff6bb2}
.btn.s:hover{background:var(--surface)}
.btn.sm{padding:9px 18px;font-size:.92rem}
.btn.wa-btn{background:var(--wa);border-color:var(--wa);color:#fff}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* hero */
.hero{padding:56px 0 64px;background:radial-gradient(640px 360px at 92% 8%,rgba(255,79,163,.2),transparent),var(--bg)}
.hero .grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.lead{font-size:1.2rem;color:var(--text);max-width:34ch}
.proof{color:var(--muted);font-size:.95rem;margin-top:18px}
.ask{margin:30px 0 10px;font-weight:600;color:var(--muted);font-size:.95rem}
.photo{position:relative}
.heroimg,.gal img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--r)}
.heroimg{aspect-ratio:4/5;border:1px solid var(--line)}
.sticker{position:absolute;left:-18px;top:22px;width:118px;height:118px;border-radius:50%;background:var(--gold);color:#2a1a00;display:grid;place-content:center;text-align:center;font:800 .95rem/1.1 var(--display);transform:rotate(-9deg);box-shadow:0 8px 22px rgba(0,0,0,.45)}
.sticker b{display:block;font-size:2.05rem;line-height:1}

/* chips */
.tags{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:16px 0}
.tags a{display:block;text-decoration:none;padding:8px 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);font-weight:500;font-size:.95rem}
.tags a:hover{border-color:var(--pink)}

/* occasion grid */
.occ{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:28px 0 0;padding:0;list-style:none}
.occ a{display:block;height:100%;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;transition:border-color .15s}
.occ a:hover{border-color:var(--pink)}
.occ b{display:block;font:700 1.2rem var(--display);margin-bottom:2px}
.occ span{color:var(--muted);font-size:.95rem;line-height:1.45;display:block}
.occ .more a{border-style:dashed;border-color:var(--gold)}

/* blush bouquet band */
.blush{background:var(--blush);color:var(--blush-ink)}
.blush h2,.blush h3{color:var(--blush-ink)}
.blush .btn{border-color:var(--blush-ink);color:var(--blush-ink)}
.blush .btn.p{background:var(--blush-ink);color:#fff}
.blush .btn.s:hover{background:#f0c6d8}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:26px}
.gal figure{margin:0}
.gal img{aspect-ratio:3/4}
.gal figcaption{font-size:.9rem;margin-top:6px}
.blush .gal figcaption{color:#6b3a58}
.gal figcaption{color:var(--muted)}

/* steps, facts, faq */
.steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px 20px 70px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:20px;top:18px;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#2a1a00;display:grid;place-items:center;font:800 1.1rem var(--display)}
.steps b{display:block;margin-bottom:2px}.steps span{color:var(--muted);font-size:.96rem;line-height:1.5;display:block}
.facts{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.facts li{border-left:4px solid var(--pink);padding:2px 0 2px 14px;color:var(--muted);font-size:.97rem;line-height:1.5}.facts b{display:block;color:var(--text);font-size:1.02rem}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px;max-width:760px}
summary{cursor:pointer;font-weight:600}
details[open]{border-color:var(--pink)}
details p{margin:10px 0 0;color:var(--muted)}

/* price + cta bands */
.pricebox{background:linear-gradient(135deg,#4b1a7a,#b3156f);border-radius:20px;padding:40px 30px}
.pricebox .btn{border-color:#fff}.pricebox p{color:#f6e8f1}
.ctaband{background:var(--surface);text-align:center;border-top:1px solid var(--line)}
.ctaband p{margin-left:auto;margin-right:auto}.ctaband .ctas{justify-content:center}

/* inner pages */
.pgs{padding:40px 0 72px}
.crumb{font-size:.9rem;color:var(--muted);margin-bottom:22px}.crumb a{color:var(--gold)}
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
.narrow{max-width:760px}
.sp{margin-top:52px}
.small{font-size:.9rem;color:var(--muted)}
.bullets{padding-left:1.2em;max-width:66ch}.bullets li{margin-bottom:.35em}
.faqs{margin-top:48px}

/* forms */
form{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:28px}
label{display:grid;gap:6px;font-weight:500;font-size:.93rem}.full{grid-column:1/-1}
input,select,textarea{font:inherit;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--pink);outline:none;box-shadow:0 0 0 3px rgba(255,79,163,.25)}
#msg{grid-column:1/-1;min-height:1.4em;font-weight:500;color:var(--gold)}

/* footer */
footer{background:#000;border-top:1px solid var(--line);padding:48px 0 calc(48px + env(safe-area-inset-bottom,0px));color:var(--muted)}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
footer h3{font:700 1rem var(--display);color:var(--text);margin-bottom:.6em}
footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:.4em}
footer a{text-decoration:none}footer a:hover{color:var(--gold)}
footer p{margin:.4em 0}.flogo img{height:62px;width:auto;display:block;margin-bottom:10px}

/* floating contact */
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--wa);color:#fff;border-radius:999px;padding:13px 20px;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.bar{display:none}

@media(max-width:860px){
 section{padding:52px 0}
 .hero{padding:36px 0 48px}.hero .grid,.grid2,.split{grid-template-columns:1fr;gap:28px}
 .heroimg{aspect-ratio:4/3;object-position:center 30%}
 .sticker{left:auto;right:12px;top:-18px;width:100px;height:100px}.sticker b{font-size:1.75rem}
 .menu{display:block}.hdr-cta{display:none}
 nav#nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#000;border-bottom:1px solid var(--line);padding:10px 20px 18px;max-height:calc(100vh - 80px);overflow:auto}
 nav#nav.open{display:block}
 nav ul{flex-direction:column;gap:2px}
 nav ul ul{display:flex;position:static;border:0;background:none;box-shadow:none;padding:0 0 6px 14px;min-width:0}
 nav a{padding:10px 8px}
 footer .cols{grid-template-columns:1fr 1fr}footer .cols>div:first-child{grid-column:1/-1}
 form{grid-template-columns:1fr}
 .wa{display:none}
 .gal.rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:26px -20px 0;padding:0 20px 8px}
 .gal.rail figure{flex:0 0 min(62vw,250px);scroll-snap-align:start}
 .bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(0,0,0,.94);backdrop-filter:blur(8px);padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
 .bar a{text-align:center;padding:12px 8px;border-radius:999px;font-weight:700;text-decoration:none;color:#fff}
 .bar .w{background:var(--wa)}.bar .c{background:var(--pink);color:var(--ink-on-pink)}
 footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* gallery, strips, video, lightbox */
.gsec{margin-top:56px;scroll-margin-top:90px}.gsec h2{margin-bottom:.3em}
.jump{margin:22px 0 0}
.strip{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--r)}
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:22px}
.vids figure{margin:0}
video{display:block;width:100%;height:auto;max-height:70vh;background:#000;border-radius:var(--r);border:1px solid var(--line)}
.vids figcaption{font-size:.9rem;color:var(--muted);margin-top:6px}
dialog#lb{border:0;background:transparent;padding:0;max-width:min(94vw,900px);max-height:94vh;color:var(--text);text-align:center;overflow:visible}
dialog#lb::backdrop{background:rgba(0,0,0,.88)}
dialog#lb img{display:block;margin:0 auto 12px;max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:12px}
