@font-face{font-family:Railway;src:url(../assets/fonts/Railway.otf) format('opentype');font-display:swap}
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Inter:wght@400;500;600&display=swap');
:root{--forest:#133016;--olive:#977138;--tan:#f2b272;--bark:#4d290e;--paper:#faf8f3;--ink:#1d2a1e;--muted:#6f7568;--line:#e7e2d6}
*{box-sizing:border-box;margin:0;padding:0}
body{padding-top:76px;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:1.05}
.wrap{width:100%;padding:0 clamp(20px,4.5vw,72px)}
header{position:fixed;top:0;left:0;right:0;z-index:10;background:rgba(250,248,243,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;font-family:Fraunces,serif;font-size:21px;color:var(--forest)}
.brand img{height:48px}
nav ul{display:flex;gap:36px;list-style:none;font-size:14px;font-weight:500}
nav ul a{color:var(--muted);transition:.2s}nav ul a:hover,nav ul a.on{color:var(--forest)}
.btn{display:inline-block;background:var(--forest);color:#fff;padding:15px 30px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:.02em;transition:.25s}
.btn:hover{background:var(--bark);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}
.btn.ghost:hover{background:var(--forest);color:#fff}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);font-weight:600}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;padding:120px 0 130px}
.hero h1{font-size:clamp(48px,6.4vw,92px);color:var(--forest);margin:22px 0 28px}
.hero h1 em{font-style:italic;color:var(--olive)}
.hero p{font-size:19px;color:var(--muted);max-width:470px;margin-bottom:40px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-art{position:relative;aspect-ratio:1}
.hero-art .disc{position:absolute;inset:6%;border-radius:50%;background:repeating-radial-gradient(circle at 52% 48%,#e9b67e 0 9px,#d79c62 10px 12px,#eabc87 13px 22px);box-shadow:0 0 0 14px var(--bark),0 40px 80px -30px rgba(77,41,14,.6)}
.hero-art .disc:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35),transparent 50%)}
.hero-art img{position:absolute;inset:-4%;width:108%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.15));display:none}
.hero-art .logo{position:absolute;inset:0;display:grid;place-items:center}
.hero-art .logo img{display:block;position:static;width:100%;}
.strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip div{padding:44px 32px}.strip div+div{border-left:1px solid var(--line)}
.strip b{display:block;font-family:Fraunces,serif;font-weight:400;font-size:26px;color:var(--forest);margin-bottom:6px}
.strip span{color:var(--muted);font-size:15px}
section.block{padding:130px 0}
.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:56px;gap:24px}
.head h2{font-size:clamp(36px,4vw,56px);color:var(--forest);margin-top:14px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.card{display:block;transition:.3s}
.card .art{aspect-ratio:4/3;background:#efe9dc;border-radius:18px;display:grid;place-items:center;overflow:hidden;position:relative}
.card .slab{width:82%;height:50%;transition:transform .5s}
.card .slab.burl{width:56%;height:66%}
.card:hover .slab{transform:scale(1.05) rotate(-1deg)}
.tag{position:absolute;top:14px;left:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.8);padding:5px 10px;border-radius:999px;color:var(--muted)}
.card .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px}
.card h3{font-size:23px;color:var(--forest)}
.card .price{font-weight:600}
.card .specs{font-size:14px;color:var(--muted);margin-top:4px}
.about{background:var(--forest);color:#e8e6dc}
.about .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.about h2{color:#fff;font-size:clamp(36px,4vw,56px);margin:14px 0 72px;max-width:720px}
.about .eyebrow{color:var(--tan)}
.about h3{font-size:26px;color:var(--tan);margin-bottom:14px}
.about p{color:#b9c0b2;font-size:16px}
footer{padding:64px 0 48px;font-size:14px;color:var(--muted)}
footer .row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
footer .note{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:12px}
/* shop */
.page-head{padding:90px 0 50px}.page-head h1{font-size:clamp(44px,5vw,72px);color:var(--forest);margin-top:14px}
.page-head p{color:var(--muted);margin-top:14px;max-width:560px}
.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:20px 0 40px;border-bottom:1px solid var(--line);margin-bottom:48px}
.filters select{appearance:none;font:inherit;font-size:14px;padding:12px 40px 12px 18px;border:1px solid var(--line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23977138'/%3E%3C/svg%3E") no-repeat right 16px center;cursor:pointer}
.filters .count{margin-left:auto;font-size:14px;color:var(--muted)}
.pill{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bark);background:#f6e6d2;padding:6px 12px;border-radius:999px;margin-top:18px}
.empty{grid-column:1/-1;text-align:center;padding:80px;color:var(--muted)}
/* product */
.pd{display:grid;grid-template-columns:1.2fr .8fr;gap:72px;padding:70px 0 120px;align-items:start}
.pd .art{aspect-ratio:1;border-radius:24px;background:#efe9dc;display:grid;place-items:center}
.pd .slab{width:84%;height:44%}.pd .slab.burl{width:62%;height:62%}
.pd h1{font-size:56px;color:var(--forest);margin:12px 0 8px}
.pd .price{font-size:28px;font-family:Fraunces,serif;margin-bottom:32px}
.pd table{width:100%;border-collapse:collapse;margin-bottom:36px;font-size:15px}
.pd td{padding:14px 0;border-bottom:1px solid var(--line)}.pd td:last-child{text-align:right;font-weight:500}
.pd .back{font-size:14px;color:var(--muted)}
@media(max-width:900px){.hero,.pd{grid-template-columns:1fr;padding:64px 0}.grid,.about .cols{grid-template-columns:1fr 1fr}.strip{grid-template-columns:1fr}.strip div+div{border-left:0;border-top:1px solid var(--line)}nav ul{gap:20px}.hero-art{max-width:420px}}
@media(max-width:600px){.grid,.about .cols{grid-template-columns:1fr}.wrap{padding:0 20px}section.block{padding:84px 0}.head{flex-direction:column;align-items:start}}
.edge{width:100%;height:100%;display:grid;place-items:center;filter:drop-shadow(0 2px 0 #4d290e) drop-shadow(0 -2px 0 #4d290e) drop-shadow(0 18px 18px rgba(77,41,14,.25))}
.card .slab{width:84%;height:62%}.pd .slab{width:86%;height:54%}
.hero h1 em{padding-right:.08em}

.brand span{font-family:Railway,'Gill Sans',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:19px;color:var(--forest)}
.hero{grid-template-columns:1fr 1fr}
.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.about-hero{padding:110px 0 90px;border-bottom:1px solid var(--line)}
.about-hero h1{font-size:clamp(48px,6vw,88px);color:var(--forest);margin-top:18px;max-width:14ch}
.about-hero p{font-size:20px;color:var(--muted);max-width:620px;margin-top:28px}
.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px;padding:110px 0}
.about-grid h3{font-size:26px;color:var(--forest);margin:14px 0 12px}.about-grid p{color:var(--muted)}
.about-grid .n{font-family:Fraunces,serif;color:var(--olive);font-size:15px}
.cta-band{background:var(--forest);color:#fff;padding:100px 0}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(34px,4vw,54px);max-width:18ch}.cta-band .btn{background:var(--tan);color:var(--forest)}
@media(max-width:900px){.about-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.about-grid{grid-template-columns:1fr}}
.hero{grid-template-columns:1.3fr .7fr}.hero-art{max-width:560px;justify-self:end;width:100%}
.ship-sec{padding:96px 0;border-bottom:1px solid var(--line)}
.ship-sec h2{font-size:clamp(32px,3.4vw,48px);color:var(--forest)}
.ship-sec .steps{padding:56px 0 0;grid-template-columns:repeat(3,1fr);row-gap:64px}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.lede{font-size:18px;color:var(--muted);max-width:640px;margin-top:14px}
.factors{list-style:none}.factors li{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.factors li:first-child{border-top:1px solid var(--line)}.factors b{font-family:Fraunces,serif;font-weight:400;font-size:21px;color:var(--forest)}.factors span{color:var(--muted)}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:Fraunces,serif;font-size:21px;color:var(--forest);display:flex;justify-content:space-between}
.faq summary::after{content:"+";color:var(--olive)}.faq details[open] summary::after{content:"–"}.faq p{color:var(--muted);margin-top:10px}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:24px}.ship-sec .steps{grid-template-columns:1fr 1fr}.factors li{grid-template-columns:1fr;gap:4px}}
@media(max-width:600px){.ship-sec .steps{grid-template-columns:1fr}}
.hero{grid-template-columns:1fr 1.15fr;padding:72px 0 96px}
.hero-photo{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 40px 80px -40px rgba(19,48,22,.45)}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:48px 0 72px}.hero-photo{aspect-ratio:4/3;border-radius:20px}}

.menu-btn{display:none}
@media(max-width:768px){
 header .brand span{display:inline;font-size:16px}
 .brand img{height:40px}
 .menu-btn{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:10px;margin-right:-10px}
 .menu-btn span{display:block;height:2px;width:24px;background:var(--forest);border-radius:2px;transition:transform .3s,opacity .2s}
 .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
 .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 nav ul#site-menu{position:fixed;top:76px;left:0;right:0;height:calc(100vh - 76px);flex-direction:column;gap:0;padding:16px clamp(20px,4.5vw,72px);background:var(--paper);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
 nav ul#site-menu.open{visibility:visible;opacity:1;transform:none}
 nav ul#site-menu li{border-bottom:1px solid var(--line)}
 nav ul#site-menu a{display:block;padding:22px 0;font-family:Fraunces,serif;font-size:30px;color:var(--forest)}
 nav ul#site-menu a.on{color:var(--olive)}
 body.menu-open{overflow:hidden}
}
.about-top{border-bottom:1px solid var(--line)}
.masonry{columns:3;column-gap:28px}
.g-item{break-inside:avoid;margin:0 0 28px}
.g-item button{display:block;width:100%;padding:0;border:0;background:#efe9dc;border-radius:28px;overflow:hidden;cursor:zoom-in;box-shadow:0 30px 60px -40px rgba(19,48,22,.45)}
.g-item img{display:block;width:100%;height:auto;transition:transform .5s}
.g-item button:hover img{transform:scale(1.03)}
.g-item button:focus-visible{outline:3px solid var(--olive);outline-offset:3px}
.lb{position:fixed;inset:0;z-index:50;background:rgba(12,22,13,.94);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:min(92vw,1200px);max-height:86vh;border-radius:16px;object-fit:contain}
.lb button{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:0;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.22)}
.lb-x{top:20px;right:20px}.lb-prev{left:20px}.lb-next{right:20px}
.lb-c{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#cfd4c9;font-size:13px;letter-spacing:.1em}
@media(max-width:900px){.masonry{columns:2;column-gap:18px}.g-item{margin-bottom:18px}.g-item button{border-radius:20px}}
@media(max-width:600px){.masonry{columns:1}.lb-prev,.lb-next{top:auto;bottom:12px}.lb-prev{left:16px}.lb-next{right:16px}}

.empty-state{text-align:center;padding:110px 20px 150px;border-top:1px solid var(--line)}
.empty-state h2{font-size:clamp(36px,4.4vw,60px);color:var(--forest);margin:16px 0 18px}
.empty-state p{color:var(--muted);max-width:520px;margin:0 auto 36px;font-size:18px}
.empty-state .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
[hidden]{display:none!important}
@media(max-width:768px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters select{width:100%}.filters .count{grid-column:1/-1;margin:4px 0 0}}
