:root{--cream:#FAF6EF;--white:#FFFDF9;--ink:#1B1F24;--sea:#0E3B43;--sea-d:#092A30;--coral:#E4572E;--coral-d:#C7461F;--sand:#E8DFCF;--mute:#6B6F76;--max:1200px;--r:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3{font-family:'Fraunces','Georgia',serif;font-weight:600;line-height:1.08;margin:0 0 .45em;letter-spacing:-.015em}
h1{font-size:clamp(2.4rem,5.5vw,4rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:64ch}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
/* header */
.hdr{background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--sand)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand svg{height:46px;width:auto}
.nav{display:flex;gap:30px;align-items:center;font-weight:600;font-size:.95rem}
.nav a{text-decoration:none;color:var(--sea);position:relative}
.nav a[aria-current]::after,.nav a:not(.btn):hover::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--coral)}
.menu-btn{display:none;background:none;border:1px solid var(--sea);color:var(--sea);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer}
.btn{display:inline-block;background:var(--sea);color:#fff;text-decoration:none;padding:13px 24px;border-radius:999px;font-weight:700;border:0;font-family:inherit;font-size:.97rem;cursor:pointer}
.btn:hover{background:var(--sea-d)}
.btn.coral{background:var(--coral)}
.btn.coral:hover{background:var(--coral-d)}
.btn.line{background:transparent;color:var(--sea);border:1.5px solid var(--sea)}
.btn.line:hover{background:var(--sea);color:#fff}
/* hero */
.hero{padding:72px 0 40px;text-align:center}
.hero h1{max-width:18ch;margin:0 auto .4em}
.hero h1 em{font-style:italic;color:var(--coral)}
.hero p{margin:0 auto 28px;max-width:56ch;font-size:1.15rem;color:var(--mute)}
.hero .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:52px}
.strip figure{margin:0;aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:var(--sand)}
.strip figure:nth-child(2){transform:translateY(22px)}
.strip figure:nth-child(4){transform:translateY(22px)}
.strip img{width:100%;height:100%;object-fit:cover}
/* sections */
section{padding:72px 0}
.head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.head p{color:var(--mute);margin:0}
.head a{font-weight:700;color:var(--sea)}
/* categories */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cats a{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--sand);border-radius:var(--r);padding:18px 20px;text-decoration:none}
.cats a:hover{border-color:var(--sea)}
.cats i{flex:0 0 14px;height:14px;border-radius:50%;display:block}
.cats strong{display:block;font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem}
.cats span{font-size:.9rem;color:var(--mute)}
/* products */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--white);border:1px solid var(--sand);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card a.img{display:block;aspect-ratio:1;overflow:hidden;background:var(--sand)}
.card a.img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.card:hover a.img img{transform:scale(1.03)}
.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .cat{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.card h3{font-size:1.1rem;margin:0}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card p{font-size:.92rem;color:#454a52;margin:0;flex:1}
.card .foot{margin-top:10px;padding-top:12px;border-top:1px solid var(--sand);display:flex;justify-content:space-between;align-items:center;font-size:.9rem}
.card .foot span{color:var(--mute)}
.card .foot a{font-weight:700;color:var(--coral);text-decoration:none}
/* how */
.how{background:var(--sea);color:#fff;border-radius:28px;padding:56px 48px}
.how h2{color:#fff}
.how .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:8px}
.how .steps h3{color:var(--coral);font-size:1.05rem;font-family:'Manrope',sans-serif;font-weight:700;margin-bottom:6px}
.how .steps p{color:#D6E0E2;font-size:.95rem;margin:0}
.how .steps div::before{content:attr(data-n);display:block;font-family:'Fraunces',serif;font-size:2.4rem;line-height:1;color:#fff;opacity:.35;margin-bottom:8px}
/* facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.facts div{background:var(--white);border:1px solid var(--sand);border-radius:var(--r);padding:26px}
.facts p{font-size:.96rem;color:#454a52;margin:0}
/* product page */
.crumbs{font-size:.9rem;color:var(--mute);margin-bottom:22px}
.crumbs a{text-decoration:none}
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.pdp figure{margin:0;aspect-ratio:1;border-radius:24px;overflow:hidden;background:var(--sand)}
.pdp figure img{width:100%;height:100%;object-fit:cover}
.pdp .sku{color:var(--mute);font-size:.92rem}
.quote{background:var(--white);border:1px solid var(--sand);border-radius:var(--r);padding:22px 24px;margin:22px 0}
.quote strong{font-family:'Fraunces',serif;font-size:1.3rem;display:block;margin-bottom:6px}
.quote p{font-size:.95rem;color:#454a52;margin:0 0 16px}
.quote .actions{display:flex;gap:10px;flex-wrap:wrap}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.meta div{background:var(--white);border:1px solid var(--sand);border-radius:12px;padding:12px 14px;font-size:.9rem;font-weight:600}
.meta span{display:block;color:var(--mute);font-size:.8rem;font-weight:500}
table.specs{width:100%;border-collapse:collapse;font-size:.95rem;margin-top:8px}
table.specs th,table.specs td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--sand);vertical-align:top}
table.specs th{width:40%;color:var(--mute);font-weight:500}
/* filters */
.filters{display:flex;gap:10px;flex-wrap:wrap}
.filters button{background:var(--white);border:1px solid var(--sand);border-radius:999px;padding:9px 18px;font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;color:var(--sea)}
.filters button[aria-pressed=true]{background:var(--sea);color:#fff;border-color:var(--sea)}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.contact dt{color:var(--mute);font-size:.88rem;margin-top:16px}
.contact dd{margin:2px 0 0;font-size:1.02rem}
.contact dd .flag{margin-right:8px}
form.q{background:var(--white);border:1px solid var(--sand);border-radius:24px;padding:30px}
form.q label{display:block;font-size:.9rem;font-weight:600;margin:14px 0 6px}
form.q input,form.q textarea,form.q select{width:100%;padding:12px 14px;border:1px solid var(--sand);border-radius:12px;font:inherit;background:var(--cream)}
form.q input:focus,form.q textarea:focus,form.q select:focus,a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
form.q .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.q .btn{width:100%;margin-top:22px}
form.q small{display:block;color:var(--mute);margin-top:10px;font-size:.85rem}
/* prose */
.prose{max-width:76ch}
.prose h2{font-size:1.6rem;margin-top:2em}
.prose ul{padding-left:1.2em}
.pagehead{padding:56px 0 8px}
.pagehead p{color:var(--mute);font-size:1.1rem}
/* footer */
.ftr{background:var(--sea);color:#D6E0E2;padding:56px 0 30px;font-size:.93rem;margin-top:24px}
.ftr .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;gap:32px}
.ftr h4{color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;margin:0 0 12px}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin:7px 0}
.ftr a{text-decoration:none;color:#D6E0E2}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr .legal{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:20px;font-size:.85rem;color:#A9B8BB;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ftr .legal p{margin:0;max-width:none}
.ftr .brand svg text{fill:#fff}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}.cats{grid-template-columns:repeat(2,1fr)}.how .steps{grid-template-columns:repeat(2,1fr)}.ftr .cols{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
 .grid,.cats,.how .steps,.facts,.pdp,.contact,.meta,.ftr .cols{grid-template-columns:1fr}
 .grid{grid-template-columns:1fr 1fr;gap:14px}
 .strip{grid-template-columns:1fr 1fr}.strip figure:nth-child(n){transform:none}
 .hero{padding-top:48px}
 .how{padding:40px 26px;border-radius:20px}
 .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--sand);flex-direction:column;align-items:stretch;padding:12px 28px 20px;gap:6px}
 .nav.open{display:flex}.nav a{padding:10px 0}.nav a::after{display:none}.nav .btn{text-align:center;margin-top:8px}
 .menu-btn{display:block}
 section{padding:48px 0}
 form.q .row{grid-template-columns:1fr}
}
