:root{--ink:#3a2818;--brown:#4a3728;--gold:#c49a4a;--sage:#8aab9e;--moss:#4a5c50;--blush:#e8c5c1;--cream:#faf7f3;--paper:#f4f0eb;--serif:'Playfair Display',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px}
img,svg{max-width:100%;display:block}a{color:var(--moss)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,7vw,4rem)}h2{font-size:clamp(1.7rem,4.5vw,2.6rem)}h3{font-size:1.3rem}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--moss);font-weight:500;margin-bottom:.8em;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
header.site{position:sticky;top:0;z-index:10;background:rgba(250,247,243,.94);backdrop-filter:blur(6px);border-bottom:1px solid #eadfd2}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--serif);font-size:1.6rem;text-decoration:none;color:var(--ink)}.logo span{color:var(--gold)}
nav.main{display:none;gap:22px;align-items:center}nav.main a{text-decoration:none;color:var(--brown);font-size:.92rem}
nav.main a.on{color:var(--gold)}
.menu-btn{background:none;border:1px solid var(--brown);border-radius:2px;padding:6px 12px;font:inherit;font-size:.85rem;color:var(--brown)}
#mnav{display:none;border-top:1px solid #eadfd2;padding:10px 22px 18px}#mnav.open{display:block}#mnav a{display:block;padding:9px 0;color:var(--brown);text-decoration:none;border-bottom:1px solid #f0e7dc}
.btn{display:inline-block;background:var(--moss);color:#fff!important;text-decoration:none;padding:14px 26px;border-radius:2px;letter-spacing:.06em;font-size:.92rem;border:0;cursor:pointer;font-family:var(--sans)}
.btn.ghost{background:transparent;color:var(--moss)!important;border:1px solid var(--moss)}.btn.gold{background:var(--gold);color:var(--ink)!important}
@media(min-width:900px){nav.main{display:flex}.menu-btn{display:none}}
section{padding:64px 0}.alt{background:var(--paper)}.dark{background:var(--moss);color:#f4f0eb}.dark h2,.dark .eyebrow{color:#f4f0eb}
.hero{padding:44px 0 56px}.hero .grid{display:grid;gap:36px;align-items:center}
.hero p.lede{font-size:1.15rem;max-width:34em;color:var(--brown)}
.grid2,.grid3{display:grid;gap:28px}
@media(min-width:800px){.hero .grid{grid-template-columns:1.05fr 1fr}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid #eadfd2;padding:28px;border-radius:2px}
.ph{position:relative;background:#fff;border:1px solid #e3d6c6;box-shadow:0 18px 40px -24px rgba(58,40,24,.45)}
.ph .tag{position:absolute;top:10px;left:10px;background:var(--blush);color:var(--ink);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:2px}
.ph figcaption{padding:12px 14px;font-size:.88rem;color:var(--brown);border-top:1px solid #f0e7dc}
.steps{counter-reset:s;display:grid;gap:22px}.steps li{list-style:none;counter-increment:s;padding-left:58px;position:relative}
.steps li:before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--serif);font-size:1.9rem;color:var(--gold)}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}.steps li{padding:52px 0 0}}
.price{font-family:var(--serif);font-size:2.6rem;color:var(--moss)}
.lookbook{display:grid;gap:26px}@media(min-width:800px){.lookbook{grid-template-columns:repeat(2,1fr)}.lookbook .wide{grid-column:span 2}}
.note{background:#fff7e8;border-left:3px solid var(--gold);padding:12px 16px;font-size:.9rem}
form .row{display:grid;gap:16px}@media(min-width:700px){form .row{grid-template-columns:1fr 1fr}}
label{display:block;font-size:.85rem;letter-spacing:.04em;margin:0 0 6px;color:var(--brown)}
input,select,textarea{width:100%;padding:12px;border:1px solid #d9cbb9;background:#fff;font:inherit;border-radius:2px}
.field{margin-bottom:18px}.turnstile{border:1px dashed var(--sage);padding:14px;font-size:.85rem;color:var(--moss);margin:10px 0 20px}
#thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#thumbs img{width:64px;height:64px;object-fit:cover}
footer{background:var(--ink);color:#d8cbbb;padding:48px 0;font-size:.9rem}footer a{color:#e8c5c1}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto;max-width:600px}
blockquote{font-family:var(--serif);font-style:italic;font-size:1.4rem;margin:0;color:var(--brown)}

mark.tbd{background:#fde68a;color:#3a2818;outline:1px dashed #b45309;padding:1px 5px;border-radius:2px;font-style:normal;font-family:var(--sans);font-size:.9em}
.dark .eyebrow{color:#e8c5c1}.ph img{width:100%;height:auto;aspect-ratio:auto}
.ph .tag{background:#3a2818;color:#faf7f3;z-index:1}
.slot{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#faf7f3,#faf7f3 12px,#f4f0eb 12px,#f4f0eb 24px);padding:20px;text-align:center}
small{display:block;font-size:.8rem;color:#6b5a48;margin-top:4px}
@media(min-width:900px){.steps.five{grid-template-columns:repeat(5,1fr)}}
.dark mark.tbd{color:#3a2818}
.grid4{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}@media(min-width:800px){.grid4{grid-template-columns:repeat(4,1fr)}}
.ph.book img{width:100%;height:auto}.ph.book figcaption{font-size:.8rem}.ph.book a{display:block;cursor:zoom-in}
.soon{display:inline-block;background:var(--moss);color:#fff;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;padding:5px 12px;border-radius:2px}
#lbx{position:fixed;inset:0;background:rgba(30,20,12,.88);z-index:50;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px}#lbx[hidden]{display:none}
#lbx figure{margin:0;max-width:min(92vw,720px)}#lbx img{max-height:84vh;width:auto;margin:0 auto;background:#fff}#lbx figcaption{color:#f4f0eb;text-align:center;padding:8px;font-size:.9rem}
#lbx button{background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:8px}#lbx-x{position:absolute;top:8px;right:12px}
.faq details{border-bottom:1px solid #eadfd2;padding:16px 0}.faq summary{font-family:var(--serif);font-size:1.2rem;cursor:pointer}.faq details[open] p{margin:.6em 0 0}
.plain{padding-left:1.2em}.plain li{margin-bottom:.6em}
