:root{--rose:#D98A83;--rose-d:#B96A64;--blush:#F6DDD6;--cream:#FDF6EF;--brown:#5E4034;--gold:#C9A27A;--line:#E8D5C4;--f1:'Cormorant Garamond',Georgia,serif;--f2:'Jost',system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:17px/1.7 var(--f2);color:var(--brown);background:var(--cream) radial-gradient(#e8d5c455 1px,transparent 1px) 0 0/22px 22px;overflow-x:hidden}
img,svg{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--f1);font-weight:500;line-height:1.1;color:var(--brown)}
h1{font-size:clamp(2.6rem,7vw,5rem)}h2{font-size:clamp(2rem,4.5vw,3.2rem)}h3{font-size:1.5rem}
em{color:var(--rose-d)}.wrap{width:min(1120px,92%);margin:auto}section{padding:clamp(3rem,8vw,6rem) 0}
.eyebrow{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rose-d);margin-bottom:.8rem}
.orn{display:flex;align-items:center;gap:12px;color:var(--gold);justify-content:center;margin:1.2rem 0}.orn:before,.orn:after{content:"";height:1px;width:70px;background:var(--gold)}
.btn{display:inline-block;padding:.85rem 1.8rem;border:1.5px solid var(--rose-d);background:var(--rose);color:#fff;text-decoration:none;letter-spacing:.14em;font-size:.8rem;text-transform:uppercase;cursor:pointer;font-family:var(--f2);border-radius:999px;transition:.3s}
.btn:hover{background:var(--brown);border-color:var(--brown);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--brown);border-color:var(--brown)}.btn.ghost:hover{background:var(--brown);color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
header{position:sticky;top:0;z-index:20;background:#fdf6efee;backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0}.bar img{height:64px;width:64px;object-fit:cover;border-radius:50%}
nav{display:flex;gap:2rem}nav a{text-decoration:none;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem 0;border-bottom:2px solid transparent;transition:.3s}
nav a:hover,nav a[aria-current]{border-color:var(--rose);color:var(--rose-d)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.burger span{display:block;height:2px;background:var(--brown);margin:6px 8px;transition:.3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;min-height:78vh}.hero p{max-width:30em;margin:1.2rem 0 2rem;font-size:1.1rem}.hero .btns{display:flex;gap:1rem;flex-wrap:wrap}
.frame{border:1px solid var(--gold);padding:10px;border-radius:200px 200px 12px 12px;background:#fff8}.frame>*{border-radius:190px 190px 6px 6px;overflow:hidden;width:100%}
.page-hero{text-align:center;padding:clamp(3rem,8vw,5.5rem) 0 2rem;background:linear-gradient(var(--blush),transparent)}.page-hero p{max-width:34em;margin:1rem auto 0}
.note{background:#fffdf9;border:1px solid var(--line);box-shadow:8px 8px 0 var(--blush);padding:clamp(1.6rem,5vw,3.5rem);max-width:760px;margin:auto;position:relative;transform:rotate(-.6deg)}
.note:before{content:"";position:absolute;inset:8px;border:1px dashed var(--gold);pointer-events:none}.note p{margin:1rem 0}.sig{font-family:var(--f1);font-style:italic;font-size:1.6rem;color:var(--rose-d)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem}
.card{background:#fffdf9;border:1px solid var(--line);padding:10px;transition:.35s}.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px #5e403422}
.card .im{overflow:hidden}.card svg{transition:transform .6s}.card:hover svg{transform:scale(1.07)}.card .tx{padding:1rem .6rem .6rem}.card small{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-d)}.card p{font-size:.95rem}.price{color:var(--gold);font-style:italic}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem;text-align:center}.three>div{padding:1.5rem;border-top:2px solid var(--rose)}
.cta{background:var(--brown);color:var(--cream);text-align:center}.cta h2{color:var(--cream)}.cta .btns{margin-top:1.6rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta .ghost{color:var(--cream);border-color:var(--cream)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.split.rev>:first-child{order:2}
.filters{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:1.5rem 0}.chip{padding:.45rem 1.1rem;border:1px solid var(--gold);background:none;border-radius:99px;cursor:pointer;font:inherit;font-size:.85rem;color:var(--brown)}.chip[aria-pressed=true]{background:var(--rose);color:#fff;border-color:var(--rose)}
input,select,textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--gold);background:#fffdf9;font:inherit;color:var(--brown);border-radius:6px}
.search{max-width:360px;margin:auto}label{display:block;font-size:.85rem;letter-spacing:.08em;margin:1rem 0 .3rem}.err{color:#a3392f;font-size:.85rem;min-height:1.2em}
form{background:#fffdf9;border:1px solid var(--line);padding:clamp(1.4rem,4vw,2.5rem);box-shadow:8px 8px 0 var(--blush)}.status{margin-top:1rem;padding:.9rem;border-radius:6px;display:none}.status.show{display:block}.status.ok{background:#e6f2e3}.status.bad{background:#fbe4e0}
.cinfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.cinfo a,.cinfo div{padding:1.2rem;border:1px solid var(--line);background:#fffdf9;text-decoration:none}.cinfo b{display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-d)}
.mason{columns:3 240px;column-gap:1rem}.mason button{break-inside:avoid;margin-bottom:1rem;display:block;width:100%;border:8px solid #fffdf9;outline:1px solid var(--line);background:none;padding:0;cursor:zoom-in;overflow:hidden}.mason svg{transition:transform .6s}.mason button:hover svg{transform:scale(1.08)}
dialog{border:0;background:transparent;padding:0;max-width:none;max-height:none;margin:auto;overflow:visible}dialog::backdrop{background:#3a251dd9}
.lb{width:min(760px,92vw);position:relative;color:#fff;text-align:center}.lb button{position:absolute;top:50%;background:#fffdf9;border:0;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:1.3rem}.lb .p{left:-12px}.lb .n{right:-12px}.lb .x{top:-52px;right:0}
.welcome{width:min(480px,92vw);background:var(--cream);border:1px solid var(--gold);outline:8px solid var(--blush);text-align:center;padding:2.5rem 1.6rem;animation:pop .6s ease}.welcome img{width:110px;margin:0 auto 1rem;border-radius:50%}.welcome p{margin:1rem 0 1.5rem}.welcome .x{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--brown)}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.95)}}
footer{background:#4a3128;color:#f1e3d6;padding:3.5rem 0 1.5rem;margin-top:0}footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}footer a{display:block;text-decoration:none;opacity:.85;padding:.15rem 0}footer a:hover{color:var(--blush)}footer img{height:80px;border-radius:50%;margin-bottom:.8rem}footer small{display:block;text-align:center;margin-top:2rem;opacity:.6}
.rv{opacity:0;transform:translateY(24px);transition:.8s}.rv.in{opacity:1;transform:none}
@media(max-width:820px){.burger{display:block}nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .4s}nav.open{max-height:420px}nav a{padding:1rem 6%}.hero,.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}footer .cols{grid-template-columns:1fr}.lb .p{left:4px}.lb .n{right:4px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
/* ===== THEME v2: evening patisserie. Edit tokens here. ===== */
:root{--bg:#2A1A14;--bg-deep:#1E120D;--bg-soft:#3A2620;--surface:#F1E4D0;--ink:#3B261C;--text:#F3E8D8;--muted:#CDB8A0;--gold:#D4AF7A;--rose-d:#A4534D;--btn:#AE564E;--line:#5A3E31;--blush:#3A2620;--brown:#F3E8D8;--cream:#2A1A14}
body{background:var(--bg) radial-gradient(#ffffff0b 1px,transparent 1px) 0 0/22px 22px;color:var(--text)}
h1,h2,h3{color:inherit}em{color:var(--gold)}.eyebrow{color:var(--gold)}
header{background:#1E120Dee;border-bottom:1px solid var(--line)}.bar img{box-shadow:0 0 0 2px var(--gold)}
nav a{color:var(--text)}nav a:hover,nav a[aria-current]{border-color:var(--gold);color:var(--gold)}
.page-hero{background:linear-gradient(var(--bg-soft),transparent)}
.btn{background:var(--btn);border-color:var(--btn);color:#fff}.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--bg-deep)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--text)}.btn.ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--bg-deep)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.card,.note,form,.cinfo a,.cinfo div{background:var(--surface);color:var(--ink);border-color:#D6BFA2}
.card{display:block;width:100%;text-align:left;font:inherit;cursor:pointer}.card:hover{box-shadow:0 14px 30px #0009}
.card .im{display:block}.card .tx{display:block}.card small,.cinfo b,.note .eyebrow{color:var(--rose-d);display:block}
.card .nm{display:block;font:500 1.5rem/1.15 var(--f1);margin:.2rem 0 .3rem}.card .sd{display:block;font-size:.95rem}
.card .price,#pd .price{color:#7C5226;display:block;margin:.4rem 0;font-style:italic}.card .more{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-d);margin-top:.5rem}
.card em,.note em,form em{color:var(--rose-d)}
.note{box-shadow:8px 8px 0 #0006}form{box-shadow:8px 8px 0 #0006}.note:before{border-color:#C9A27A}
input,select,textarea{background:#FBF3E8;color:var(--ink);border-color:#B99568}
.chip{color:var(--text);border-color:var(--gold)}.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--bg-deep)}
.frame{background:#F1E4D014;border-color:var(--gold)}
.cta{background:#4A2E22;border-block:1px solid var(--gold);color:var(--text)}.cta .ghost{color:var(--text);border-color:var(--text)}
.mason button{border-color:var(--surface);outline-color:var(--line)}
.welcome{background:var(--surface);color:var(--ink);outline:8px solid #0004}.welcome .x{color:var(--ink)}.welcome h2{color:var(--ink)}
footer{background:var(--bg-deep);color:var(--text);border-top:1px solid var(--gold)}footer img{box-shadow:0 0 0 2px var(--gold)}
.sizes{list-style:none;padding:0;display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 1rem}.sizes li{border:1px solid #B99568;border-radius:99px;padding:.15rem .8rem;font-size:.85rem}
.lbl{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose-d);margin-top:1rem}.hint{font-size:.88rem;margin-top:.8rem}.hint a{color:var(--rose-d)}
.badge{display:inline-block;background:#E5D2B3;border:1px solid #B99568;border-radius:99px;padding:.1rem .8rem;font-size:.8rem}
body.lock{overflow:hidden}
#pd{width:min(860px,94vw)}#pd[open]{animation:pop .35s ease}#pd.closing{animation:out .22s ease forwards}@keyframes out{to{opacity:0;transform:translateY(16px) scale(.97)}}
#pd .pd{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);color:var(--ink);max-height:90vh;overflow-y:auto;border:1px solid var(--gold);outline:8px solid #0005}
#pd .pdimg svg,#pd .pdimg img{width:100%;height:100%;min-height:260px;object-fit:cover}#pd .pdtx{padding:2rem 1.6rem}#pd h2{font-size:2.3rem;margin:.3rem 0}
#pd>.x{position:absolute;top:10px;right:10px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font-size:1.5rem;cursor:pointer}
.cwrap{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;max-width:820px;margin:0 auto}
.cbtn{display:flex;align-items:center;justify-content:center;gap:.9rem;padding:1.4rem 1rem;border-radius:14px;text-decoration:none;font-family:var(--f1);font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;transition:.3s;border:2px solid transparent;text-align:center}
.cbtn svg{width:30px;height:30px;flex:none}.cbtn.call{background:var(--gold);color:#2A1A14}.cbtn.wa{background:#2F6B4E;color:#F3E8D8;border-color:#7FB79A}
.cbtn[href]:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0008}.cbtn.off{opacity:.55;cursor:not-allowed}.cbtn small{display:block;font:300 .7rem var(--f2);letter-spacing:.14em}
.cnote{max-width:640px;margin:1.6rem auto 0;text-align:center;color:var(--muted);font-size:.95rem}
@media(max-width:820px){nav{background:var(--bg-deep)}#pd .pd,.cwrap{grid-template-columns:1fr}#pd .pdimg svg,#pd .pdimg img{min-height:0;height:auto}.cbtn{font-size:1.25rem}}
/* Fun Zone */
nav{gap:1.5rem}.panel{background:var(--surface);color:var(--ink);border:1px solid #D6BFA2;padding:clamp(1.4rem,4vw,2.5rem);box-shadow:8px 8px 0 #0006;max-width:900px;margin:2rem auto 0}
.panel h3{margin:.2rem 0 .6rem}.opt{display:block;width:100%;text-align:left;padding:.75rem 1rem;margin:.45rem 0;border:1px solid #B99568;background:#FBF3E8;border-radius:8px;font:inherit;color:var(--ink);cursor:pointer;transition:.2s}
.opt:hover,.opt[aria-pressed=true]{background:var(--gold);border-color:#8A6A3E}.sws{display:flex;gap:.5rem;flex-wrap:wrap}.sw{width:auto;margin:.2rem 0;padding:.4rem 1rem}
.res{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.resimg{border:8px solid #FBF3E8;outline:1px solid #D6BFA2}.panel .btn.ghost:hover{color:var(--bg-deep)}
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.mc{aspect-ratio:4/3;border:0;background:var(--btn);color:#F3E8D8;font-size:2rem;border-radius:10px;cursor:pointer;overflow:hidden;padding:0;transition:transform .3s}.mc:hover{transform:scale(1.04)}.mc.up{background:var(--surface)}.mc.done{outline:3px solid var(--gold)}.mc svg{width:100%;height:100%}
.bar2{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}
@media(max-width:820px){.res{grid-template-columns:1fr}.mem{grid-template-columns:repeat(3,1fr)}}
#hd{display:contents}
/* ===== Pinterest-classy layer ===== */
body::before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.07;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.script{font-family:'Pinyon Script',cursive;font-weight:400;color:var(--gold);line-height:1.1}.script.big{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.4rem}
em{font-family:var(--f1);font-style:italic}.lead{max-width:30em;margin:1.2rem 0 2rem;font-size:1.1rem;color:var(--muted)}
.cov svg,.cov img{width:100%;height:100%;display:block}.arch{border-radius:999px 999px 16px 16px;overflow:hidden}
.hero2{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;min-height:82vh;padding:2rem 0}.hero2 .btns{display:flex;gap:1rem;flex-wrap:wrap}.hero2 h1{font-size:clamp(2.6rem,6.5vw,4.8rem)}
.collage{position:relative;aspect-ratio:1/1.12;max-width:520px;width:100%;margin-left:auto}
.c1{position:absolute;right:0;top:0;width:64%;height:82%;border:1px solid var(--gold);padding:8px;background:#F1E4D01a;box-shadow:0 20px 40px #0007}.c1 svg{border-radius:999px 999px 10px 10px}
.c2{position:absolute;left:0;bottom:4%;width:42%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid var(--surface);box-shadow:0 14px 30px #0008}
.pola{position:absolute;left:6%;top:6%;width:36%;background:var(--surface);padding:8px 8px 4px;transform:rotate(-6deg);box-shadow:0 14px 30px #0008;text-align:center;transition:.4s}.pola:hover{transform:rotate(0) scale(1.04)}.pola .cov{aspect-ratio:1}.pola .script{color:var(--rose-d);font-size:1.2rem}
.stamp{position:absolute;right:-2%;bottom:2%;width:112px;height:112px;color:var(--gold);background:var(--bg);border-radius:50%}.rot{width:100%;animation:spin 22s linear infinite}.hrt{position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;color:var(--rose-d)}@keyframes spin{to{transform:rotate(360deg)}}
.vt{position:absolute;right:-1.7rem;top:20%;writing-mode:vertical-rl;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.ticker{overflow:hidden;border-block:1px solid var(--line);padding:.8rem 0;background:var(--bg-deep)}.ticker div{display:flex;width:max-content;animation:tick 30s linear infinite}.ticker span{font:italic 1.3rem var(--f1);color:var(--gold);white-space:pre;padding-right:.5rem}@keyframes tick{to{transform:translateX(-50%)}}
.tape{position:absolute;top:-14px;left:50%;width:110px;height:28px;margin-left:-55px;background:#D9B27Ccc;transform:rotate(-3deg);box-shadow:0 2px 4px #0003}
.tres{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem;margin-top:2.5rem}.tre{text-decoration:none;text-align:center;display:block}.tre .arch{aspect-ratio:3/4;border:1px solid var(--gold);padding:7px;transition:.5s}.tre .arch svg{border-radius:999px 999px 10px 10px;transition:transform .8s}.tre:hover .arch{transform:translateY(-8px)}.tre:hover svg{transform:scale(1.06)}
.tre .no{font-size:.72rem;letter-spacing:.3em;color:var(--gold);margin-top:1rem}.tre .cap{font-style:italic;color:var(--muted);font-size:.9rem}
.mood{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;grid-auto-flow:dense;gap:.9rem}.t{overflow:hidden;border-radius:10px;display:block;transition:.4s}.t.big{grid-column:span 2;grid-row:span 2}.t.tall{grid-row:span 2}.t.wide{grid-column:span 2}
.t.cov:hover{transform:rotate(-1.5deg) scale(1.02)}.t.q{background:var(--surface);color:var(--ink);display:grid;place-items:center;text-align:center;padding:1rem}.t.q h3{font-size:1.35rem}.t.q.rose{background:var(--btn)}.t.q.rose .script{color:#F3E8D8;font-size:2rem}.t.q.dk{background:var(--bg-deep);color:var(--text);border:1px solid var(--gold)}
.t.heart{background:#F6DDD6;color:var(--rose-d);display:grid;place-items:center;font-size:2.6rem}
@media(max-width:820px){.hero2{grid-template-columns:1fr;min-height:0}.collage{margin:1rem auto 2rem;max-width:420px}.vt{display:none}.stamp{width:88px;height:88px}.mood{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}}
@media(prefers-reduced-motion:reduce){.rot,.ticker div{animation:none!important}}
main{overflow-x:clip}

/* ===== v3: fixes + upgrades ===== */
[hidden]{display:none!important}
html{scroll-padding-top:90px}
/* noise now lives in the body background (cheap) instead of a full-screen fixed overlay (janky on phones) */
body::before{display:none}
body{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E"),radial-gradient(#ffffff0b 1px,transparent 1px) 0 0/22px 22px,var(--bg)}
/* content must stay visible without JS */
.rv{opacity:1;transform:none}.js .rv{opacity:0;transform:translateY(24px)}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}
/* accessibility */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--gold);color:var(--bg-deep);padding:.6rem 1rem;border-radius:6px;text-decoration:none}.skip:focus{left:8px}
.ns{display:flex;gap:1rem;padding:.8rem 4%;justify-content:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* mobile menu: closed links must not be tabbable */
@media(max-width:820px){nav{visibility:hidden;transition:max-height .4s,visibility 0s .4s}nav.open{visibility:visible;transition:max-height .4s}}
/* lightbox */
.lb .p,.lb .n{transform:translateY(-50%)}.lb{max-height:92vh}
#lbimg svg,#lbimg img{width:100%;max-height:78vh;object-fit:contain;background:var(--bg-soft)}
#lbcap{margin-top:.8rem;font-size:.9rem;color:var(--muted)}
.mason img{width:100%;height:auto;display:block;transition:transform .6s}.mason button:hover img{transform:scale(1.08)}
.cov img{object-fit:cover}.card .im img{width:100%;aspect-ratio:4/3;object-fit:cover}
/* forms */
.status a.btn{margin:.3rem .3rem 0 0;font-size:.72rem;padding:.65rem 1.2rem}.status .sb{display:block;margin-top:.6rem}
.status.bad{color:#4a1a14}.status.ok{color:#17361a}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a3392f;box-shadow:0 0 0 2px #a3392f33}
/* quiz progress */
.prog{height:6px;background:#E5D2B3;border-radius:9px;overflow:hidden;margin-bottom:1rem}.prog span{display:block;height:100%;background:var(--btn);transition:width .4s}
.panel h3:focus{outline:none}
/* floating WhatsApp */
.fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;width:56px;height:56px;border-radius:50%;background:#2F6B4E;color:#F3E8D8;display:grid;place-items:center;box-shadow:0 8px 22px #000a;border:2px solid #7FB79A;transition:.3s}.fab:hover{transform:translateY(-3px) scale(1.05)}.fab svg{width:28px;height:28px}
/* contrast + touch-device polish */
footer small{opacity:.78}.cnote,.lead{color:#D8C6AF}
@media(hover:none){.card:hover,.tre:hover .arch,.t.cov:hover{transform:none}}
@media print{header,footer,.fab,.ticker,.stamp,dialog{display:none!important}body{background:#fff;color:#000}}

/* ===== v4: DDBakery logo + real photos ===== */
/* logo is a full square artwork on cream: show it whole (no circle crop), keep proportions */
.bar img{height:72px;width:72px;object-fit:contain;border-radius:12px;box-shadow:0 0 0 1px var(--gold);background:#FFF8EA}
footer img{height:96px;width:96px;object-fit:contain;border-radius:14px;box-shadow:0 0 0 1px var(--gold);background:#FFF8EA}
.welcome img{width:180px;height:auto;aspect-ratio:1;border-radius:16px;box-shadow:0 0 0 1px var(--gold)}
@media(max-width:820px){.bar img{height:60px;width:60px}}
/* photos */
.cov img{width:100%;height:100%;object-fit:cover;display:block}
.frame>div{aspect-ratio:4/3}.frame img{width:100%;height:100%;object-fit:cover}
.card .im img,.card .im svg{width:100%;aspect-ratio:4/3;object-fit:cover}
.card .im img.pimg{aspect-ratio:16/9}
.tre .arch img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 10px 10px;transition:transform .8s}.tre:hover img{transform:scale(1.06)}
.c1 img{border-radius:999px 999px 10px 10px}
.t.cov img{transition:transform .6s}.t.cov:hover img{transform:scale(1.05)}
#pd .pd.wide{grid-template-columns:1fr}#pd .pd.wide .pdimg img{min-height:0;height:auto;aspect-ratio:16/9;max-height:46vh}
.facts{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* ===== v5: LIGHT THEME (edit the tokens in :root below) ===== */
:root{--bg:#FFF8F1;--bg-deep:#4A2E22;--bg-soft:#FBE9E1;--surface:#FFFFFF;--ink:#4A3128;--text:#4A3128;--muted:#7D6254;--gold:#B07F4F;--rose-d:#A4534D;--btn:#AE564E;--line:#EAD7C6;--blush:#F9E4DC;--brown:#4A3128;--cream:#FFF8F1}
body{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E"),radial-gradient(#b07f4f1f 1px,transparent 1px) 0 0/22px 22px,var(--bg);color:var(--text)}
em{color:var(--rose-d)}.eyebrow{color:var(--rose-d)}.lead,.cnote,.tre .cap,.vt{color:var(--muted)}
header{background:#FFF8F1f2;border-bottom:1px solid var(--line)}
nav a{color:var(--text)}nav a:hover,nav a[aria-current]{border-color:var(--rose);color:var(--rose-d)}
.btn:hover{background:var(--bg-deep);border-color:var(--bg-deep);color:#fff}
.btn.ghost{color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.chip{color:var(--ink);border-color:var(--gold)}.chip[aria-pressed=true]{background:var(--btn);border-color:var(--btn);color:#fff}
.card,.note,form,.cinfo a,.cinfo div,.panel{border-color:var(--line)}
.card:hover{box-shadow:0 14px 30px #5e403426}.note,form,.panel{box-shadow:8px 8px 0 var(--blush)}
input,select,textarea{background:#FFFDF9;border-color:#D9BFA3;color:var(--ink)}
.frame{background:#fff8}.page-hero{background:linear-gradient(var(--bg-soft),transparent)}
.cta{background:var(--blush);color:var(--ink);border-block:1px solid var(--line)}.cta h2{color:var(--ink)}.cta .ghost{color:var(--ink);border-color:var(--ink)}.cta .ghost:hover{color:#fff}
.ticker{background:var(--blush)}.ticker span{color:var(--rose-d)}.stamp{background:var(--bg)}
.c1{background:#fff8;box-shadow:0 20px 40px #5e403433}.c2{box-shadow:0 14px 30px #5e403440}.pola{box-shadow:0 14px 30px #5e403440}
.tre .no{color:var(--rose-d)}
footer{background:var(--blush);color:var(--ink);border-top:1px solid var(--line)}footer a:hover{color:var(--rose-d)}footer small{opacity:.8}
.welcome{outline:8px solid var(--blush)}#pd .pd{outline:8px solid #5e403422}
.opt:hover,.opt[aria-pressed=true]{background:#F3D9C4;border-color:var(--gold)}
.cbtn[href]:hover{box-shadow:0 10px 24px #5e403440}
#lbcap{color:#F3E8D8}.skip{color:#fff;background:var(--bg-deep)}
@media(max-width:820px){nav{background:var(--bg)}}
.btn:disabled:hover{background:var(--btn)}

/* ===== menu: show every product photo WHOLE (no cropping) ===== */
.card .im{background:#fff;overflow:hidden}
.card .im img.pimg{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#fff}
#pd .pd.wide .pdimg{background:#fff}#pd .pd.wide .pdimg img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:contain}

/* ===== Fun Zone: gently highlighted ===== */
nav a.fz{background:var(--blush);border-radius:99px;padding:.3rem .9rem;border-bottom-color:transparent}
nav a.fz::after{content:" ✦";color:var(--rose-d);font-size:.75em}
nav a.fz:hover,nav a.fz[aria-current]{background:#F3D3C8;border-color:transparent}
@media(max-width:820px){nav a.fz{background:none;border-radius:0;padding:1rem 6%}}
.fzsec{padding:clamp(2rem,5vw,3.5rem) 0}.fzbox{background:var(--blush);border:1px dashed var(--gold);border-radius:22px;padding:clamp(1.6rem,4vw,2.6rem) 1rem}

/* ===== reviews ===== */
.facts{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-d);margin:0 0 1.4rem}
.revs{background:var(--bg-soft);border-top:1px solid var(--line)}.rsum{margin-top:.8rem;color:var(--muted)}.rsum b{color:var(--ink)}
.rstars{color:#E0A526;letter-spacing:.08em;white-space:nowrap}.rstars i{font-style:normal;color:#E3D3C3}
.rlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:2rem 0}
.rcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem;margin:0}.rcard blockquote{margin:.6rem 0;margin-inline:0;color:var(--ink)}.rcard figcaption{font-size:.85rem;color:var(--muted)}
.rform{max-width:560px;margin:2rem auto 0}.rform h3{margin-bottom:.2rem}
.stars{display:flex;gap:.2rem}.stars button{background:none;border:0;cursor:pointer;font-size:2.2rem;line-height:1;padding:.1rem .15rem;color:#E3D3C3;transition:transform .15s}.stars button.on,.stars button.pv{color:#E0A526}.stars button:hover{transform:scale(1.15)}

/* ===== v6: product photos of any shape show whole ===== */
.card .im img.pimg{aspect-ratio:auto;height:auto;object-fit:contain}
.card .im{display:flex;align-items:center;justify-content:center}
#pd .pdimg{background:#fff;display:flex;align-items:center;justify-content:center}
#pd .pdimg img{object-fit:contain;background:#fff;max-height:70vh}
@media(max-width:820px){#pd .pdimg img{max-height:55vh;width:auto;max-width:100%;margin:auto}}

/* ===== v7: multi-photo products, shop gallery, call section. Photos always shown whole (never cropped) ===== */
.card .im{min-height:220px;background:#fff}
.card .im img.pimg{width:auto;max-width:100%;height:auto;max-height:420px;object-fit:contain;aspect-ratio:auto}
.card .im svg{aspect-ratio:4/3;height:auto}
#pd .pdimg{flex-direction:column;gap:.6rem;padding:.6rem}
#pd .pdimg img.pimg{width:100%;height:auto;min-height:0;max-height:68vh;object-fit:contain;background:#fff}
#pd .pd.wide .pdimg img.pimg{aspect-ratio:auto;max-height:60vh}
.thumbs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.thumbs .th{width:64px;height:64px;padding:2px;background:#fff;border:2px solid #D6BFA2;border-radius:8px;cursor:pointer}
.thumbs .th[aria-pressed="true"]{border-color:var(--gold,#C79A4B);box-shadow:0 0 0 2px #C79A4B66}
.thumbs .th img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:820px){#pd .pdimg img.pimg{max-height:55vh;width:auto;max-width:100%}}
.sgal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem;align-items:start}
.sgi{display:block;border:8px solid #fffdf9;outline:1px solid var(--line);background:#fffdf9;transition:transform .35s,box-shadow .35s}
.sgi:hover{transform:translateY(-6px);box-shadow:0 14px 30px #0006}
.sgi img{width:100%;height:auto;display:block;object-fit:contain}
@media(max-width:700px){.sgal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.8rem}.sgi{flex:0 0 72vw;scroll-snap-align:center}}
.menucall{padding:3.5rem 0}
.mcbtns{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:1rem;justify-content:center}
@media(max-width:560px){.mcbtns{grid-template-columns:1fr}}
#pd .thumbs .th img{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;background:#fff}
#pd .pd.wide .pdimg img.pimg{max-height:46vh}
