:root{--bg:#fff6f6;--sand:#efe5dc;--blush:#e5d5d6;--rose:#a24d4d;--nav:#7b7f8c;--navon:#2c3040;--card:#fff;--cardtxt:#a24d4d;
--rust:#9a4a22;--cacao:#774b33;--brown:#6e4015;--gold:#c68a37;--peach:#e0a98f;--brownTxt:#6e4015;
--serif:'Sorts Mill Goudy',Georgia,serif;--disp:'Gilda Display',Georgia,serif;--sans:'Mulish',system-ui,sans-serif;--cap:'Montserrat','Mulish',sans-serif;--script:'Great Vibes','Brush Script MT',cursive;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1f1615;--sand:#2b201c;--blush:#2d2223;--rose:#e2a8a2;--nav:#b5a8a8;--navon:#fff;--card:#241a1a;--cardtxt:#e2a8a2}}
:root[data-theme="dark"]{--bg:#1f1615;--sand:#2b201c;--blush:#2d2223;--rose:#e2a8a2;--nav:#b5a8a8;--navon:#fff;--card:#241a1a;--cardtxt:#e2a8a2}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--rose);font-family:var(--sans);line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:10}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:11;background:var(--bg);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 22px;padding:14px 28px}
nav a{text-decoration:none;color:var(--nav);font-size:1.15rem}
nav a[aria-current="page"]{color:var(--navon)}
nav a:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.page{display:none}.page.on{display:block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:52px 64px}
.split .ph{aspect-ratio:4/5;overflow:hidden}
.split.wide .ph{aspect-ratio:3/2}
.txt{text-align:center;max-width:620px;margin:0 auto}
.on-dark{color:#fbefe8}
h1,h2,h3{font-family:var(--disp);font-weight:400;margin:0;line-height:1.1}
.hero-h{font-size:clamp(2.6rem,6vw,4.6rem);color:var(--peach)}
.cap{font-family:var(--cap);font-weight:300;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(1.05rem,2.6vw,2rem);margin:.4rem 0 2rem;color:var(--peach)}
.txt p{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.5;margin:0 0 1.4rem}
.btn{display:inline-block;border:1px solid currentColor;padding:.7rem 1.1rem;text-decoration:none;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;margin-top:.6rem;color:inherit}
.btn:hover{background:rgba(255,255,255,.14)}
.facts{display:grid;gap:34px;text-align:center;font-family:var(--serif);font-size:1.35rem;line-height:1.45;color:var(--brownTxt)}
.ic{display:block;width:40px;height:40px;margin:0 auto 12px;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sand{background:var(--sand)}.sand .facts{color:var(--rose)}
.rust{background:var(--rust)}.cacao{background:var(--cacao)}.brown{background:var(--brown)}.ochre{background:var(--gold)}.rosebg{background:#a24d4d}
.quotes{padding:72px 24px;display:grid;justify-items:center;gap:40px;background:var(--tex) center/cover,#ece1d6}
.quotes h2{font-size:clamp(2.4rem,6vw,4.2rem);color:#a24d4d}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:1100px;width:100%;align-items:start}
.q{position:relative;background:#fff6f6;color:#8f3f3f;padding:34px 36px;border-radius:30px;text-align:left;font-size:1.02rem;line-height:1.7}
.q::after{content:"";position:absolute;bottom:-12px;left:48px;width:26px;height:26px;background:#fff6f6;transform:rotate(45deg);border-radius:4px}
.q:nth-child(even)::after{left:auto;right:48px}
.center{text-align:center;padding:72px 28px}
.h-big{font-size:clamp(2.2rem,5vw,3.8rem);color:var(--rose)}
.choose{background:var(--blush);padding:72px 40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1220px;margin:44px auto 0}
.card{background:var(--card);border:1px solid var(--rose);color:var(--cardtxt);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:40px 26px 28px;text-align:center;min-height:380px}
.card p{margin:0;font-size:1rem}
.card b{font-weight:600;display:block;font-size:1.4rem}
.card i{font-family:var(--script);font-style:normal;font-size:2.15rem;line-height:1.25;display:block;letter-spacing:.01em}
.card{cursor:pointer;transition:background .25s,color .25s,transform .25s}
.rape{background:#3a261b}
.zdiv{display:flex;align-items:center;gap:18px;padding:56px 64px;background:var(--bg)}
.zdiv span{flex:1;height:1px;background:var(--gold)}
.zdiv i{color:var(--gold);font-style:normal;font-size:1.5rem}
@media (min-width:761px){.split.rev>.ph{order:2}}
.mailalt{font-size:.95rem;margin-top:8px;opacity:.9}
.mailalt a{text-decoration:underline}
.card:hover,.card:focus-visible{background:var(--rose);color:var(--card);transform:translateY(-3px)}
.card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero{min-height:78vh;display:grid;place-items:center;text-align:center;color:#fff;padding:60px 20px;background:linear-gradient(rgba(50,25,10,.30),rgba(50,25,10,.30)),var(--hero) center/cover,#b9803f;text-shadow:0 1px 14px rgba(40,20,8,.45)}
.hero h1{font-style:italic;font-size:clamp(2.8rem,8vw,6rem)}
.hero small{font-family:var(--disp);font-size:1.7rem;display:block;margin-bottom:22vh}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;padding:72px 64px;max-width:1200px;margin:0 auto}
.about .circle{width:min(370px,100%);aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0 auto 28px}
.about h2{text-align:center;font-size:clamp(2.4rem,5vw,3.6rem)}
.about p{margin:0 0 1.4rem;text-align:center}
.shop{padding:40px 40px 20px;max-width:1240px;margin:0 auto}
.shop h2{font-size:clamp(2.2rem,5vw,3.6rem);margin:30px 0 22px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tile{position:relative;aspect-ratio:2/3;overflow:hidden;display:block}
.tall{aspect-ratio:1/1.95}
.book{padding:56px 24px;text-align:center;max-width:960px;margin:0 auto}
.book iframe{width:100%;height:min(82vh,840px);border:0;margin:20px 0}
h1,h2{text-wrap:balance}
.tile .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;padding:20px;text-align:center;color:#fff;background:linear-gradient(transparent 35%,rgba(40,20,10,.62))}
.tile .ov span{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.tile .ov h3{font-size:1.8rem}
.tile .ov em{font-style:normal;background:#000;padding:2px 10px;border-radius:6px;font-size:.9rem}
.tile .ov .btn{background:rgba(239,229,220,.9);color:#3a2418;border-color:#3a2418;font-size:.8rem;padding:.55rem .9rem}
.contact{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:64px;padding:0 64px 72px;align-items:center}
.contact .ph{aspect-ratio:3/4;overflow:hidden}
.contact dt{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin-top:28px;opacity:.9}
.contact dd{margin:6px 0 0;font-size:clamp(1.3rem,3vw,2rem)}
.contact h1{font-size:clamp(2.2rem,5vw,3.6rem);padding:56px 64px 36px;color:#fff}
.contact-wrap{color:#fff}
footer{text-align:center;padding:28px;font-size:.9rem;opacity:.8}
@media (max-width:760px){
 .split,.about,.contact{grid-template-columns:1fr;padding:36px 22px;gap:30px}
 .cards{grid-template-columns:1fr}
 .card{min-height:0;gap:22px}
 .grid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:74%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
 .tile{scroll-snap-align:start}
 .split .ph{aspect-ratio:1/1}
 .shop{padding:24px 18px}
 .hero small{margin-bottom:14vh}
 nav{justify-content:center;gap:2px 16px;padding:10px 12px}
 nav a{font-size:1rem}
 .contact h1{padding:36px 22px 0}
 .contact-wrap .contact{padding-top:20px}
 .qgrid{grid-template-columns:1fr;gap:40px}
 .q{padding:26px 22px}
 .quotes{padding:48px 18px}
 .contact dd{word-break:break-word}
}

button.btn{background:none;font-family:inherit;cursor:pointer;color:var(--rose)}
.consent{border:1px solid var(--rose);padding:26px 22px;margin:22px 0;text-align:center}
.consent p{margin:0 0 14px;font-size:1rem}
.consent .btn{margin:6px 6px 0}
.faq,.legal{max-width:860px;margin:0 auto;padding:56px 24px 72px}
.faq h1,.legal h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:12px}
.faq .lead{font-size:1.15rem;margin:0 0 30px}
.faq details{border-top:1px solid var(--gold);padding:16px 4px}
.faq details:last-of-type{border-bottom:1px solid var(--gold)}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.3rem;line-height:1.35}
.faq details p{margin:12px 0 4px;font-size:1.05rem}
.legal h2{font-size:1.5rem;margin:34px 0 8px}
.legal p,.legal li{font-size:1.02rem}
.legal .meta{opacity:.8;font-size:.95rem}
.contact-wrap h1{max-width:900px;margin:0 auto;padding:64px 24px 8px;text-align:center;font-size:clamp(2.2rem,5vw,3.6rem);color:#fff}
.contact-wrap h1::after{content:"";display:block;width:64px;height:1px;background:var(--gold);margin:22px auto 0}
.contact-wrap .contact{padding-top:36px}
.faq ul{margin:10px 0 10px;padding-left:1.3rem}
.tile .pov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px 16px 90px;text-align:center;color:#fff;background:linear-gradient(rgba(40,20,10,.12),rgba(40,20,10,.34) 48%,rgba(40,20,10,.12));text-shadow:0 1px 10px rgba(30,15,8,.55);pointer-events:none}
.tile .pov small{font-size:.85rem;letter-spacing:.16em;text-transform:uppercase}
.tile .pov b{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.1}
.tile .pov em{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-style:normal;white-space:nowrap;border:1px solid #3a2418;background:rgba(239,229,220,.92);color:#3a2418;padding:.65rem 1.1rem;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-shadow:none}
.tile:hover .pov em,.tile:focus-visible .pov em{background:#fff}
footer a{text-decoration:underline}
footer .fl{margin-top:6px}
