:root{
  --font-heading:"Source Serif 4","Source Serif Pro",Georgia,serif;
  --font-body:"Source Sans 3","Source Sans Pro",system-ui,sans-serif;
  --bg:#F7F3EA; --surface:#FFFFFF; --text:#2F2B28; --divider:#E1D9CC;
  --accent:#474823; --accent-100:#EEF0E1; --accent-2:#6A3B59; --accent-2-100:#EED7DD;
  --gold:#D3AE4E; --neutral-700:#756F68; --pink-logo:#D99FAE;
  --shadow-sm:0 2px 10px rgba(47,43,40,.06); --shadow-md:0 10px 28px rgba(47,43,40,.10); --shadow-lg:0 18px 44px rgba(47,43,40,.16);
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{color:var(--accent);font-family:var(--font-heading);font-weight:400;line-height:1.1;margin:0}
a{color:var(--accent-2);text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
.w{max-width:1120px;margin:0 auto;padding:0 40px}
.tag{display:inline-block;padding:7px 14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--accent-2-100);color:var(--accent-2);border-radius:999px}
.tag-inverse{background:rgba(255,255,255,.16);color:#fff}
.tag-onlight{background:#FFFFFF;color:var(--accent-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 24px;font-size:15px;font-weight:700;border:none;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:var(--accent);color:#F7F3EA}
.btn-primary:hover{background:#3A3B1C;color:#F7F3EA}
.btn-secondary{background:#FFFFFF;color:var(--accent);box-shadow:inset 0 0 0 1px var(--divider)}
.btn-secondary:hover{background:var(--accent-100);color:var(--accent)}
.btn-gold{background:var(--gold);color:#2B281E}
.btn-gold:hover{background:#C29D3F}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}
select.input,input.input{appearance:none;background-color:#FFFFFF;padding:0 14px;min-height:48px;font-size:15px;border-radius:14px;border:1px solid var(--divider);color:var(--text);font-family:inherit;width:100%}
select.input{background-image:linear-gradient(45deg,transparent 50%,var(--accent) 50%),linear-gradient(135deg,var(--accent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--accent)}

header{position:sticky;top:0;z-index:10;background:var(--bg);box-shadow:0 1px 0 var(--divider)}
.head{height:84px;display:flex;align-items:center;gap:24px}
.logo{font-family:var(--font-heading);font-size:32px;color:var(--accent-2);margin-right:auto;white-space:nowrap}
.logo span{color:var(--pink-logo)}
nav.mainnav{display:flex;gap:4px;flex-wrap:wrap;font-size:15px;font-weight:600}
nav.mainnav a{color:var(--accent);padding:10px 16px;border-radius:999px}
nav.mainnav a:hover{background:var(--accent-100)}
nav.mainnav a.active{background:var(--accent-100)}
.bag{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--accent-2-100);color:var(--accent-2);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.bag:hover{color:var(--accent-2);background:#E6C4CE}

.hero{padding:64px 0 72px}
.heroGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:center}
.hero h1{font-size:clamp(44px,5.2vw,66px);line-height:1.04}
.hero p.lead,p.lead{font-size:19px;line-height:1.6;max-width:32em;color:#615B56}
.heroImgWrap{position:relative;padding:0 0 120px 0}
.heroImgWrap .heroArt{width:88%;margin-left:auto;aspect-ratio:1/1;border-radius:999px 999px 32px 32px;background:radial-gradient(circle at 32% 28%,#8B8F4E 0%,#5B5C31 42%,#474823 78%);position:relative;overflow:hidden}
.heroArt::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 78%,rgba(211,174,78,.35),transparent 55%);z-index:1;pointer-events:none}
.heroArt svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34%;height:34%;color:#F7F3EA;opacity:.9}
.heroArt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.heroCard{position:absolute;left:0;bottom:0;width:min(100%,400px);background:linear-gradient(135deg,#474823 0%,#5A5A2E 60%,#6B6538 100%);color:#F7F3EA;border-radius:32px;padding:28px 28px 20px;box-shadow:var(--shadow-lg)}
.heroCard h3{color:#FFFFFF;font-size:26px;margin-bottom:14px}
.checkRow{display:flex;gap:12px;align-items:center;font-size:15px;line-height:1.35;padding:5px 0}
.checkDot{flex:none;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#2B281E;display:grid;place-items:center}

.finderCard{background:linear-gradient(135deg,#EED7DD 0%,#F3E4E2 50%,#F7F3EA 100%);border-radius:36px;padding:40px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:32px;align-items:center;margin-bottom:0}
.finderCard p{color:#5A4A52}
.finderFields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}

.secHead{display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:760px;margin-bottom:36px}
.secHead h2{font-size:clamp(34px,3.8vw,46px);line-height:1.08}
.secHead p{font-size:16px;line-height:1.65;color:var(--neutral-700)}

.catsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.cat{cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:32px;background:#FFFFFF;box-shadow:var(--shadow-sm);border:none;text-align:left;font-family:inherit;transition:transform .2s,box-shadow .2s}
.cat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.catIcon{width:56px;height:56px;border-radius:50%;background:var(--accent-100);color:var(--accent);display:grid;place-items:center;margin-bottom:6px}
.cat .name{font-family:var(--font-heading);font-size:26px;line-height:1.1;color:var(--accent)}
.cat .desc{font-size:15px;line-height:1.55;color:var(--neutral-700);flex:1}
.cat .link{font-size:15px;font-weight:700;color:var(--accent-2)}

.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.tab{cursor:pointer;padding:11px 20px;border-radius:999px;font-size:15px;font-weight:700;box-shadow:inset 0 0 0 1px var(--divider);background:#FFFFFF;color:var(--accent);border:none;font-family:inherit;display:inline-flex}
.tab.active{background:var(--accent);color:#F7F3EA;box-shadow:none}

.shopCat{background:#FFFFFF;border-radius:40px;padding:40px;display:flex;flex-direction:column;gap:28px;box-shadow:var(--shadow-sm)}
.shopCatTop{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.shopCatTop .info{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:720px}
.shopCatTop h2{font-size:clamp(30px,3.2vw,40px);line-height:1.1}
.shopCatTop p{font-size:16px;line-height:1.6;color:var(--neutral-700)}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.product{display:flex;flex-direction:column;background:var(--bg);border-radius:28px;padding:12px}
.thumbLink{display:block}
.thumb{width:100%;aspect-ratio:4/3;border-radius:20px;display:grid;place-items:center;position:relative;overflow:hidden}
.thumb svg{width:30%;height:30%;position:relative}
.thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 85%,rgba(255,255,255,.25),transparent 60%)}
.thumb.big{aspect-ratio:1/1;border-radius:32px}
.thumb-a{background:linear-gradient(135deg,#7C7F3F,#474823)}
.thumb-b{background:linear-gradient(135deg,#D3AE4E,#A9803A)}
.thumb-c{background:linear-gradient(135deg,#8C4B71,#6A3B59)}
.thumb-d{background:linear-gradient(135deg,#5B5C31,#3A3B1C)}
.thumb-e{background:linear-gradient(135deg,#B98A9A,#6A3B59)}
.thumb-f{background:linear-gradient(135deg,#DCC98A,#D3AE4E)}
.thumb-g{background:linear-gradient(135deg,#8A9A6B,#474823)}
.product .body{display:flex;flex-direction:column;gap:8px;padding:18px 12px 8px;flex:1}
.product .kind{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}
.product h3{font-size:23px;line-height:1.15;font-family:var(--font-heading);font-weight:400}
.product h3 a{color:var(--accent)}
.product .desc{font-size:15px;line-height:1.55;color:var(--neutral-700);flex:1}
.product .row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.price{font-family:var(--font-heading);font-size:28px;color:var(--accent-2);font-variant-numeric:tabular-nums}
.price.big{font-size:36px}
.product .acts,.acts{display:flex;gap:8px;flex-wrap:wrap}
.product .acts .btn{padding:10px 16px;font-size:14px}
.product .acts .btn-primary{min-width:112px}

.memberSection{position:relative;overflow:hidden;background:linear-gradient(120deg,#474823 0%,#56572C 55%,#6B6538 100%);color:#F7F3EA;border-radius:48px;padding:64px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:48px;align-items:center;margin-bottom:64px}
.memberSection h1,.memberSection h2{color:#FFFFFF;font-size:clamp(38px,4.4vw,54px);line-height:1.04}
.memberSection > div:first-child p{font-size:18px;line-height:1.6;max-width:30em;color:#EFECDF}
.memberBox{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:36px;padding:32px}
.memberPrice{font-family:var(--font-heading);font-size:56px;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.memberList{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 16px;margin:18px 0}
.memberItem{display:flex;gap:10px;align-items:center;font-size:15px}
.memberDot{flex:none;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#2B281E;display:grid;place-items:center}

.builderSection{background:linear-gradient(135deg,#EED7DD 0%,#F3E4E2 50%,#F7F3EA 100%);border-radius:48px;padding:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:40px;align-items:center}
.builderSection h2{font-size:clamp(34px,3.8vw,46px);line-height:1.08}
.builderSection > div:first-child p{font-size:16px;line-height:1.65;color:#5A4A52}
.builderCard{background:#FFFFFF;border-radius:32px;padding:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;box-shadow:var(--shadow-md)}

footer{background:#FFFFFF}
.footRow{padding:36px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:15px;color:var(--neutral-700)}
.footLogo{font-family:var(--font-heading);font-size:24px;color:var(--accent-2)}
.pinklogo{color:var(--pink-logo)}
.footnav{display:flex;gap:18px;flex-wrap:wrap;font-weight:600}

@media(max-width:640px){.w{padding:0 20px}nav.mainnav{display:none}.hero,.sec{padding-left:0;padding-right:0}}
.sec{padding:96px 0 40px}
.sec:first-of-type{padding-top:40px}
:root{color-scheme:light}

/* ---- inner pages ---- */
.crumbs{padding:22px 0 0;font-size:14px;color:var(--neutral-700)}
.crumbs a{color:var(--neutral-700);font-weight:600}
.crumbs a:hover{color:var(--accent)}
.crumbs span{margin:0 4px}
.catHero{padding:28px 0 8px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;max-width:760px}
.catHero h1{font-size:clamp(34px,4vw,50px);line-height:1.06}
.catHero p{font-size:17px;line-height:1.6;color:var(--neutral-700)}
.crossPromo{background:#FFFFFF;border-radius:32px;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;box-shadow:var(--shadow-sm)}

.productLayout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px;align-items:start}
.productArt{position:sticky;top:110px}
.productInfo{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.productInfo h1{font-size:clamp(30px,3.4vw,42px);line-height:1.1}
.includesBox{background:#FFFFFF;border-radius:24px;padding:24px;box-shadow:var(--shadow-sm);width:100%}
.includesBox ul{margin:0;padding-left:20px;color:var(--neutral-700);font-size:15px;line-height:1.8}
.finePrint{font-size:13px;color:var(--neutral-700);line-height:1.6}

.emptyState{background:#FFFFFF;border-radius:32px;padding:56px 32px;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center;box-shadow:var(--shadow-sm)}
.cartLayout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
@media(max-width:800px){.cartLayout,.checkoutLayout{grid-template-columns:1fr}}
.cartItems{display:flex;flex-direction:column;gap:14px}
.cartItem{background:#FFFFFF;border-radius:24px;padding:16px;display:flex;gap:16px;align-items:center;box-shadow:var(--shadow-sm)}
.cartItem .thumb{width:88px;aspect-ratio:1/1;flex:none;border-radius:16px}
.cartItem .ci-body{flex:1;display:flex;flex-direction:column;gap:4px}
.cartItem .ci-title{font-family:var(--font-heading);font-size:19px;color:var(--accent)}
.cartItem .ci-kind{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent-2)}
.cartItem .ci-remove{font-size:13px;font-weight:600;color:var(--neutral-700);background:none;border:none;cursor:pointer;padding:0;text-align:left}
.cartItem .ci-remove:hover{color:var(--accent-2)}
.cartSummary{background:#FFFFFF;border-radius:28px;padding:28px;box-shadow:var(--shadow-sm);position:sticky;top:110px}
.sumRow{display:flex;justify-content:space-between;font-size:16px;padding:6px 0}

.checkoutBanner{background:var(--accent-2-100);color:var(--accent-2);border-radius:20px;padding:16px 22px;font-size:14px;font-weight:600;line-height:1.5}
.checkoutLayout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.checkoutFields{background:#FFFFFF;border-radius:28px;padding:32px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}
.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.twoCol{grid-template-columns:1fr}}
.checkoutItem{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;color:var(--neutral-700)}
.successIcon{width:64px;height:64px;border-radius:50%;background:var(--accent);color:#F7F3EA;display:grid;place-items:center;margin:0 auto 20px;font-size:30px}
