:root{
  --espresso:#211A15; --hide:#3A2C22; --cognac:#8A5A2B; --brass:#B08D57;
  --bone:#EDE7DC; --bone-2:#E3DBCC; --paper:#F5F1E9; --ink:#1B1510;
  --muted:#6A5A47; --line:#D8CDBB;
  box-sizing:border-box;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.01em;margin:0}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.kicker{color:var(--cognac);font-size:14px;margin:0 0 18px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:34px;height:1px;background:var(--brass);display:inline-block}
.lede{color:var(--muted);max-width:46ch;font-size:18px}
.btn{display:inline-block;text-decoration:none;padding:14px 26px;border-radius:2px;font-size:15px;font-weight:500;border:0;cursor:pointer;transition:.15s;font-family:inherit}
.btn-solid{background:var(--brass);color:var(--espresso)}.btn-solid:hover{background:#c29a63}
.btn-ghost{border:1px solid rgba(237,231,220,.4);color:var(--bone)}.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.btn-dark{background:var(--espresso);color:var(--bone)}.btn-dark:hover{background:var(--hide)}
.btn-lg{padding:17px 30px;font-size:16px;width:100%;text-align:center}
/* header */
header{position:sticky;top:0;z-index:30;background:rgba(245,241,233,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{text-decoration:none}
.logo{height:26px;width:auto}
.mark{font-family:"Fraunces",serif;font-weight:600;font-size:22px;letter-spacing:.14em;text-transform:uppercase}
nav{display:flex;gap:30px;font-size:15px}
nav a{text-decoration:none;color:var(--hide)}nav a:hover,nav a.on{color:var(--cognac)}
.mnav-t,.mnav-b{display:none}
/* hero */
.hero{background:radial-gradient(120% 90% at 78% 8%,rgba(176,141,87,.16),transparent 60%),linear-gradient(180deg,var(--espresso),var(--hide));color:var(--bone)}
.hero-in{display:grid;grid-template-columns:1fr;gap:40px;padding:92px 24px 84px}
.hero-photo .hero-in{grid-template-columns:1.05fr .95fr;align-items:center}
.hero h1{font-size:clamp(40px,7vw,74px);color:var(--bone);max-width:15ch;font-weight:400}
.hero h1 em{font-style:italic;color:var(--brass)}
.hero .lede{color:#D9CFC0;margin:24px 0 32px}
.hero .kicker{color:var(--brass)}.hero .kicker::before{background:var(--brass)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.ship{margin-top:38px;font-size:13px;color:#B9AC99}
.hero-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
/* sections */
.section{padding:80px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:38px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(28px,4vw,40px)}.sec-head p{margin:6px 0 0;color:var(--muted)}
.page-head{padding:70px 0 10px}.page-head h1{font-size:clamp(34px,5vw,58px);max-width:16ch}
.page-head.narrow h1{font-size:clamp(30px,4vw,44px)}
.grid{display:grid;gap:20px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}
.card a{text-decoration:none}
.shot{aspect-ratio:4/5;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(150deg,var(--bone),var(--bone-2))}
.shot img{width:100%;height:100%;object-fit:cover}
.shot.ph,.pg-main.ph{display:flex;align-items:center;justify-content:center;flex-direction:column}
.shot.ph span,.pg-main.ph span{font-family:"Fraunces",serif;font-size:26px;color:rgba(58,44,34,.30)}
.shot.ph small,.pg-main.ph small{font-size:11px;color:var(--muted);margin-top:6px}
.card-body{padding:20px 20px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-body h3{font-size:22px}.card-body h3 a{text-decoration:none}
.card-body .desc{color:var(--muted);font-size:14px;flex:1}
.price-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.price{font-family:"Fraunces",serif;font-size:21px;color:var(--cognac)}
.view{font-size:14px;text-decoration:none;color:var(--hide);border-bottom:1px solid var(--brass);padding-bottom:2px}
/* ethos */
.ethos{background:var(--espresso);color:var(--bone)}.ethos .wrap{padding:76px 24px}
.ethos h2{color:var(--bone);font-size:clamp(26px,3.4vw,36px);max-width:20ch;margin-bottom:40px}
.vals{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(176,141,87,.25)}
.val{background:var(--espresso);padding:24px 18px}
.val h3{color:var(--brass);font-size:18px;margin-bottom:8px}.val p{color:#C9BEAD;font-size:13.5px;margin:0}
/* story */
.story .wrap,.story-in{padding:76px 24px}.story-in{max-width:760px;margin:0 auto}
.story h2{font-size:clamp(24px,3vw,34px);margin:34px 0 16px}
.story p{color:var(--hide);margin:0 0 16px}
.narrow-w{max-width:640px}
/* pdp */
.pdp-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;padding:56px 24px 84px;align-items:start}
.pg-main{aspect-ratio:4/5;background:linear-gradient(150deg,var(--bone),var(--bone-2));border:1px solid var(--line);border-radius:3px;overflow:hidden}
.pg-main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.thumb{width:64px;height:64px;padding:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:#fff;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover}
.pg-info .kicker{color:var(--cognac)}
.pg-info h1{font-size:clamp(30px,4vw,44px);margin:4px 0 10px}
.pg-price{font-family:"Fraunces",serif;font-size:26px;color:var(--cognac);margin:0 0 18px}
.pg-desc{color:var(--hide);margin:0 0 20px}
.feats{list-style:none;padding:0;margin:0 0 28px}
.feats li{padding:9px 0;border-top:1px solid var(--line);color:var(--hide);font-size:15px}
.feats li::before{content:"—  ";color:var(--brass)}
.buy{margin:0 0 12px}
.ship-line{font-size:13px;color:var(--muted)}
/* footer */
footer{background:var(--hide);color:#C9BEAD;font-size:14px}
.foot{padding:56px 24px 28px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot .mark{color:var(--bone);font-size:18px;margin-bottom:12px}
.ft-h{color:var(--bone);margin:0 0 10px}
.addr{color:#A99A85;font-size:12.5px;line-height:1.5;max-width:26ch;margin-top:6px}
footer a{color:#C9BEAD;text-decoration:none}footer a:hover{color:var(--brass)}
.sub{padding:0 24px 40px;font-size:12px;color:#8A7A66;border-top:1px solid rgba(176,141,87,.18);padding-top:20px}
/* responsive */
@media(max-width:900px){.hero-photo .hero-in{grid-template-columns:1fr}.hero-media{order:-1}
  .pdp-in{grid-template-columns:1fr;gap:28px}}
@media(max-width:820px){.grid-4{grid-template-columns:1fr 1fr}.vals{grid-template-columns:repeat(2,1fr)}
  nav{position:fixed;inset:66px 0 auto 0;background:var(--espresso);flex-direction:column;gap:0;padding:8px 0;
    transform:translateY(-120%);transition:.25s;box-shadow:0 12px 30px rgba(0,0,0,.25)}
  nav a{color:var(--bone);padding:15px 24px}nav a.on{color:var(--brass)}
  .mnav-t:checked~nav{transform:translateY(0)}
  .mnav-b{display:block;width:26px;height:20px;position:relative;cursor:pointer}
  .mnav-b span,.mnav-b::before,.mnav-b::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--espresso)}
  .mnav-b::before{top:0}.mnav-b span{top:9px}.mnav-b::after{bottom:0}}
@media(max-width:560px){.grid-4{grid-template-columns:1fr}.vals{grid-template-columns:1fr}
  .hero-in{padding:70px 24px 60px}.foot{gap:22px}}
/* --- QA sweep: a11y + mobile polish --- */
header{padding-top:env(safe-area-inset-top,0px)}
.sub{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
a:focus-visible,button:focus-visible,.btn:focus-visible,.thumb:focus-visible,.view:focus-visible,.mnav-b:focus-visible{outline:2px solid var(--cognac);outline-offset:3px;border-radius:2px}
.hero .btn-ghost:focus-visible,nav a:focus-visible{outline-color:var(--brass)}
.sub{color:#A99A85}
.addr{color:#B9AC99}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* --- PDP: trust line, buy row, WhatsApp, reviews --- */
.trust{font-size:13px;color:var(--hide);margin:0 0 18px;display:inline-flex;align-items:center;gap:8px;
  background:#F0EADF;border:1px solid var(--line);padding:7px 12px;border-radius:3px}
.trust::before{content:"✓";color:#3f8f5b;font-weight:700}
.buy-row{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.buy-row>.btn,.buy-row>form{flex:1 1 190px}
.buy-row .btn-lg{width:100%;margin:0}
.btn-wa{background:#25D366;color:#0a3d1f}
.btn-wa:hover{background:#20bd5a}
.reviews-wrap{background:var(--bone);border-top:1px solid var(--line)}
.reviews-wrap .wrap{padding:64px 24px}
.reviews-wrap h2{font-size:clamp(24px,3vw,34px);margin-bottom:28px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:3px;padding:22px}
.stars{color:var(--brass);letter-spacing:2px;margin-bottom:10px}
.review blockquote{margin:0 0 14px;color:var(--hide);font-size:15px;line-height:1.55}
.review figcaption{color:var(--muted);font-size:13px;font-weight:500}
@media(max-width:820px){.reviews{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.reviews{grid-template-columns:1fr}.buy-row>.btn,.buy-row>form{flex:1 1 100%}}
/* --- benefit strip + about image --- */
.benefits{background:#fff;border-bottom:1px solid var(--line)}
.benefits-row{display:flex;justify-content:space-between;gap:16px;padding:26px 24px;flex-wrap:wrap}
.benefit{display:flex;align-items:center;gap:12px;flex:1 1 200px;justify-content:center}
.benefit img{width:44px;height:44px;object-fit:contain;flex:0 0 auto}
.benefit span{font-size:15px;color:var(--hide);font-weight:500}
.about-img{margin:0 0 30px;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.about-img img{width:100%;max-height:460px;object-fit:cover}
@media(max-width:560px){.benefit{flex:1 1 44%;justify-content:flex-start}}
