:root{--bg:#f4efe7;--paper:#fbf8f3;--tint:#ebe3d6;--ink:#1b1916;--m:#6b645a;--ln:#d9cfbf;--a:#c2532b;--a2:#9e3f1d;--serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17px/1.7 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--a)}a:hover{color:var(--a2)}figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.05;margin:0 0 .45em;letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,7.5vw,6rem);font-weight:500}h2{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:500}h3{font-size:1.35rem}
em{font-style:italic;color:var(--a)}p{margin:0 0 1em}
.w{max-width:1240px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99}
.eyebrow{font:600 .74rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--m);margin-bottom:18px}
.lead{font-size:1.2rem;color:var(--m);max-width:560px}.c{text-align:center}.note{color:var(--m);font-size:.9rem}
.bar{background:var(--ink);color:#e9e1d4;text-align:center;font-size:.8rem;letter-spacing:.06em;padding:8px 16px}.bar p{margin:0}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(244,239,231,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:.3s}
header.sc{border-color:var(--ln)}
.hd{display:flex;align-items:center;justify-content:space-between;min-height:78px;transition:min-height .3s}header.sc .hd{min-height:62px}
.logo{display:flex;align-items:center;gap:10px;font:600 1.45rem var(--serif);color:var(--ink);text-decoration:none;letter-spacing:-.01em}.logo em{font-weight:400;margin-left:4px}.logo img{width:34px;height:34px}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:36px}
nav a{color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;position:relative;padding:6px 0}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--a);transition:right .35s}nav a:hover:after,nav a[aria-current]:after{right:0}nav a[aria-current]{color:var(--a)}
.mt{display:none;background:none;border:0;cursor:pointer;padding:10px;position:relative;width:44px;height:44px}.mt span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:.3s}.mt span:first-child{top:16px}.mt span:nth-child(2){top:26px}.mt b{position:absolute;left:-999px}
nav.open .mt span:first-child{top:21px;transform:rotate(45deg)}nav.open .mt span:nth-child(2){top:21px;transform:rotate(-45deg)}
@media(max-width:820px){.mt{display:block}nav ul{position:fixed;inset:0;top:0;z-index:-1;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:26px;opacity:0;visibility:hidden;transition:.35s}nav.open ul{opacity:1;visibility:visible}nav a{font:500 2.2rem var(--serif);letter-spacing:0;text-transform:none}}
/* buttons */
.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;padding:17px 32px;border:1px solid var(--ink);transition:.3s;cursor:pointer;font-family:var(--sans);margin:4px 14px 4px 0}
.btn:hover{background:var(--a);border-color:var(--a);color:#fff}.btn.o{background:transparent;color:var(--ink)}.btn.o:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lnk{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--a);padding-bottom:2px}.lnk:hover{color:var(--a)}
section{padding:90px 0}section.top{padding-top:30px}.tint{background:var(--tint)}
/* hero */
.hero{padding:70px 0 0}.hero h1{max-width:1000px;margin-bottom:.5em}
.hrow{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;border-top:1px solid var(--ln);padding-top:28px;margin-bottom:56px}.hrow .lead{margin:0}
.hfig{overflow:hidden}.hfig img{width:100%;height:min(78vh,720px);min-height:340px;object-fit:cover}
.sh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 30px;border-bottom:1px solid var(--ln);padding-bottom:22px;margin-bottom:44px}.sh .eyebrow{width:100%;margin-bottom:10px}.sh h2{margin:0}
/* categories */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.cc{color:var(--ink);text-decoration:none;display:block}.cc:hover{color:var(--ink)}
.cc .num{font:500 .85rem var(--serif);color:var(--a);display:block;margin:18px 0 4px}.cc h3{font-size:1.7rem;margin-bottom:6px}.cc p{color:var(--m);font-size:.95rem}
.cats .cc:nth-child(even){margin-top:56px}
.pi{position:relative;overflow:hidden;background:var(--paper)}.pi img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.cc:hover img,.pc:hover img{transform:scale(1.045)}
/* products */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:48px 28px}
.pc{color:var(--ink);text-decoration:none;display:block}.pc:hover{color:var(--ink)}
.pc small{display:block;margin-top:18px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--m)}
.pc h3{font-size:1.25rem;font-weight:500;margin:6px 0 10px;line-height:1.25}.pc:hover h3{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:4px}
.price{font-weight:700;font-size:1.05rem;margin:0}.price s{color:var(--m);font-weight:400;font-size:.88em;margin-left:6px}
.badge{position:absolute;top:14px;left:14px;background:var(--a);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:6px 10px}
/* why */
.pts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:p}
.pts li{counter-increment:p;border-top:2px solid var(--ink);padding-top:22px}.pts li:before{content:counter(p,upper-roman)".";font:italic 500 2.6rem var(--serif);color:var(--a);display:block;margin-bottom:10px}.pts p{color:var(--m)}
/* quote */
.quote{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
blockquote{font:italic 500 clamp(1.8rem,3.6vw,2.8rem)/1.2 var(--serif);margin:0 0 .6em}
/* split, product */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.crumb{font-size:.82rem;letter-spacing:.06em;color:var(--m);padding-top:26px;margin:0}.crumb a{color:var(--m);text-decoration:none}.crumb a:hover{color:var(--a)}
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}.gal{position:sticky;top:96px}
.pd h1{font-size:clamp(2rem,4vw,3.2rem)}.pd .price{font-size:1.7rem;margin:6px 0 4px}
.pd ul{list-style:none;padding:0;margin:24px 0;border-top:1px solid var(--ln)}.pd li{padding:12px 0;border-bottom:1px solid var(--ln);display:flex;gap:14px}.pd li:before{content:"—";color:var(--a)}
.prose{max-width:760px}.prose h2{font-size:1.7rem;margin-top:1.8em}
form{display:grid;gap:22px;background:var(--paper);padding:36px;border:1px solid var(--ln)}
label{display:grid;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
input,textarea{font:400 1rem var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:10px 0;border-radius:0}input:focus,textarea:focus{outline:none;border-color:var(--a)}
/* footer */
footer{background:var(--ink);color:#d8cfc1;padding:90px 0 34px}
.fbig{font:500 clamp(2rem,5vw,4rem)/1.1 var(--serif);color:var(--paper);max-width:900px;margin-bottom:64px}.fbig em{color:#e58a63}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;border-top:1px solid #3b362f;padding-top:40px}
footer h2{font:700 .75rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--paper);margin-bottom:16px}
footer ul{list-style:none;padding:0;margin:0}footer li{margin:7px 0}footer a{color:#d8cfc1;text-decoration:none}footer a:hover{color:#e58a63}footer p{font-size:.95rem}
.copy{border-top:1px solid #3b362f;margin-top:40px;padding-top:22px;font-size:.8rem;color:#9a9083}
/* reveal */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
.js .rv-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}.js .rv-img.in{clip-path:inset(0 0 0 0)}
.js .rv-img img{transform:scale(1.12);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}.js .rv-img.in img{transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.js .rv{opacity:1;transform:none}.js .rv-img{clip-path:none}.js .rv-img img{transform:none}}
@media(max-width:960px){.cats{grid-template-columns:1fr 1fr}.pts{grid-template-columns:1fr}.quote,.split,.pd{grid-template-columns:1fr;gap:36px}.gal{position:static}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){body{font-size:16px}.w{padding:0 18px}section{padding:64px 0}.hero{padding-top:44px}.hfig img{height:56vh}.cats{gap:18px}.cats .cc:nth-child(even){margin-top:36px}.cc h3{font-size:1.3rem}.cc p{display:none}.grid{grid-template-columns:1fr 1fr;gap:32px 14px}.pc h3{font-size:1rem}.btn{padding:15px 22px}.fgrid{grid-template-columns:1fr}form{padding:24px}.bar{font-size:.7rem}}

html.force .rv,html.force .rv-img{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}html.force .rv-img img{transform:none!important;transition:none!important}
