:root{--bg:#090909;--s1:#121212;--s2:#181818;--line:#2a2a2a;--tx:#f4efe6;--mut:#b7b1a4;--gold:#d4af37;--moss:#2e503a;--sage:#8fae9b}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}
body{font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--tx);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4,.wm{font-family:'Playfair Display',serif;font-weight:500;line-height:1.15;color:#fff}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}h1 em{font-style:normal;color:var(--gold)}h2{font-size:clamp(1.7rem,3.5vw,2.6rem);margin-bottom:1rem}h3{font-size:1.25rem}
p{margin-bottom:1rem;color:#dcd6c9}.lead{font-family:'Cormorant Garamond',serif;font-size:1.4rem;line-height:1.5;max-width:44rem;color:var(--tx)}.center .lead{margin-inline:auto}
.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;font-weight:600}
.small{font-size:.82rem;color:var(--mut)}.center{text-align:center}.wrap{max-width:1160px;margin:auto;padding:0 1.5rem}.narrow{max-width:800px}
strong{color:#fff}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(9,9,9,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand img{height:52px;width:auto;filter:brightness(1.2)}
.bt{font-family:'Playfair Display',serif;font-size:1.35rem;color:#fff}.bt small{font-family:'Montserrat';font-size:.6rem;letter-spacing:.3em;color:var(--gold);margin-left:.2rem}
.nav{display:flex;align-items:center;gap:1.4rem}.nav a{text-decoration:none;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:.3rem 0;border-bottom:1px solid transparent;color:var(--tx)}
.nav a:hover,.nav a.on{border-color:var(--gold);color:#fff}.nav .btn{border:1px solid #fff;color:#0b0b0b}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}.burger span{display:block;height:2px;background:#fff;margin:7px 8px}
/* buttons */
.btn{display:inline-block;background:#f4efe6;color:#0b0b0b;padding:.95rem 1.9rem;font:600 .74rem 'Montserrat';letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid #f4efe6;cursor:pointer;transition:.25s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#0b0b0b}.btn.sm{padding:.65rem 1.2rem}.btn.gold{background:var(--gold);border-color:var(--gold);color:#0b0b0b}.btn.gold:hover{background:#fff;border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:#6b6b6b}.btn.ghost:hover{background:#fff;color:#0b0b0b;border-color:#fff}
.link{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--gold);font-weight:600}.link:hover{color:#fff}
.cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem}.cta.c{justify-content:center}
/* wordmark */
.wmk{--w:340px;width:var(--w);max-width:100%;margin:0 0 1.2rem}.wmk.left{margin-left:0}.wmk.lg{--w:520px}.wmk.sm{--w:min(300px,80vw);margin:0 auto 1.2rem}.wmk.sm.left{margin-left:0}
.wmk img{width:100%;height:auto}.wmk .sub{display:flex;align-items:center;gap:.9em;font-family:'Cormorant Garamond',serif;font-weight:600;color:#f5f5f5;font-size:calc(var(--w)*.085);letter-spacing:.32em;margin-top:.15em;line-height:1}
.wmk .sub i{flex:1;height:1px;background:#f5f5f5;opacity:.55}.wmk .sub{padding-left:.3em}
.brand-card .wmk{--w:340px}
/* hero + textures */
.hero{padding:4rem 0;background:linear-gradient(90deg,rgba(9,9,9,.94) 0%,rgba(9,9,9,.7) 55%,rgba(9,9,9,.85) 100%),url(../assets/tex-water.jpg) center/cover}
.hero-in{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-logo{width:100%;max-width:560px;margin:auto;filter:brightness(1.2) drop-shadow(0 0 40px rgba(212,175,55,.15))}
.sec{padding:5rem 0}.alt{background:#0f0f0f;border-block:1px solid #1b1b1b}
.band{background:linear-gradient(rgba(6,14,9,.82),rgba(6,14,9,.9)),url(../assets/tex-moss.jpg) center/cover;border-block:1px solid var(--line)}.band h2{color:#fff}
.phead{padding:4.5rem 0 2.5rem;text-align:center;background:linear-gradient(rgba(9,9,9,.55),var(--bg)),url(../assets/tex-water.jpg) center/cover}.phead .lead{margin:1rem auto 0}
.strip{height:120px;background:linear-gradient(90deg,var(--bg),transparent 18%,transparent 82%,var(--bg)),linear-gradient(rgba(9,9,9,.35),rgba(9,9,9,.35)),url(../assets/tex-both.jpg) center/cover;border-block:1px solid var(--line)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}.center-y{align-items:center}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:2rem 0 1rem}
.card{background:var(--s1);border:1px solid var(--line);padding:2.2rem;position:relative}.card h2{font-size:1.9rem}.card ul{margin:0 0 1rem 1.1rem;color:#dcd6c9}.card li{margin-bottom:.3rem}
.tag{font-family:'Cormorant Garamond';font-style:italic;font-size:1.2rem;color:var(--sage)}
.brand-card{padding:3rem;display:flex;flex-direction:column;align-items:flex-start}.brand-card.clawed{border-top:3px solid #fff}.brand-card.moss{border-top:3px solid var(--sage);background:linear-gradient(rgba(14,26,18,.88),rgba(14,20,16,.94)),url(../assets/tex-moss.jpg) center/cover}
.mini{display:block;text-decoration:none;text-align:center;background:var(--s1);border:1px solid var(--line);padding:1.8rem 1rem;transition:.25s}a.mini:hover{border-color:var(--gold);transform:translateY(-3px)}.mini p{margin:.4rem 0 0;color:var(--gold);font-weight:600}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.svc{background:var(--s1);border:1px solid var(--line);display:flex;flex-direction:column}
.svc-img{width:100%;aspect-ratio:4/3;object-fit:cover}.svc-b{padding:1.4rem;display:flex;flex-direction:column;flex:1}.svc-b .link{margin-top:auto}
.row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.price{font-family:'Playfair Display';color:var(--gold);font-size:1.15rem;white-space:nowrap}.dur{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:.2rem 0 .7rem}
.levels{list-style:none;padding:0;margin:2rem 0}.levels li{padding:1rem 0;border-bottom:1px solid var(--line);color:#dcd6c9}.levels b{display:inline-block;min-width:6rem;color:var(--gold);font-family:'Playfair Display'}
.check{list-style:none;padding:0}.check li{padding-left:1.8rem;position:relative;margin-bottom:.7rem;color:#dcd6c9}.check li:before{content:'\2726';position:absolute;left:0;color:var(--gold)}
.tbl-wrap{overflow-x:auto;margin:2rem 0}.tbl{width:100%;border-collapse:collapse;background:var(--s1);min-width:560px}.tbl th,.tbl td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--line)}.tbl th{font-family:'Playfair Display';font-weight:500;background:#000;color:var(--gold)}.tbl td:first-child{font-weight:600;color:var(--sage)}
/* gallery */
.gal3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2rem 0}.masonry{columns:3;column-gap:1.2rem}.masonry .g{break-inside:avoid;margin-bottom:1.2rem}.masonry .g img{height:auto}
figure{margin:0;position:relative;overflow:hidden;background:#151515;min-height:280px}figure img{width:100%;height:100%;object-fit:cover;transition:.5s}figure:hover img{transform:scale(1.04)}
figcaption{position:absolute;left:0;right:0;bottom:0;padding:.9rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:.78rem;letter-spacing:.06em}
.rev{background:var(--s1);border:1px solid var(--line);padding:1.8rem;min-height:0}.rev .stars{color:var(--gold);letter-spacing:.2em;margin-bottom:.6rem}.rev blockquote{font-family:'Cormorant Garamond',serif;font-size:1.2rem;line-height:1.5;margin-bottom:1rem}.rev figcaption{position:static;background:none;color:var(--gold);font-weight:600;padding:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}.revs{margin-top:2rem}.loc p{margin-bottom:1rem}
.portrait{aspect-ratio:4/5;background:linear-gradient(rgba(9,9,9,.5),rgba(9,9,9,.85)),url(../assets/tex-moss.jpg) center/cover;position:relative;overflow:hidden;border:1px solid var(--gold)}.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.portrait .ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-family:'Playfair Display';font-size:1.6rem;text-align:center;padding:1rem;z-index:0}
.pull{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:#fff;display:block;border-left:2px solid var(--gold);padding-left:1rem}
/* forms */
.form label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:1.1rem;color:var(--tx)}.form input,.form select,.form textarea{display:block;width:100%;margin-top:.4rem;padding:.85rem;border:1px solid #333;background:#0c0c0c;font:400 1rem 'Montserrat';color:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gold);outline-offset:0}.f2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form fieldset{border:1px solid #333;padding:1rem 1.2rem;margin-bottom:1.2rem}.form legend{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:0 .4rem;color:var(--gold)}
.form label.ck{text-transform:none;letter-spacing:0;font-weight:400;font-size:.95rem;margin-bottom:.5rem;display:flex;gap:.6rem;align-items:center}.form label.ck input{width:auto;margin:0;accent-color:var(--gold)}.hp{position:absolute;left:-9999px}
.side{padding:2rem;background:var(--s1);border:1px solid var(--line);align-self:start}.side h3{margin:1.2rem 0 .5rem}.side h3:first-child{margin-top:0}.side a{color:var(--gold)}.moss-side{background:linear-gradient(rgba(14,26,18,.9),rgba(12,18,14,.95)),url(../assets/tex-moss.jpg) center/cover}
/* footer */
.ftr{background:linear-gradient(rgba(5,5,5,.9),rgba(5,5,5,.96)),url(../assets/tex-moss.jpg) center/cover;color:var(--mut);padding:4rem 0 1.5rem;border-top:1px solid var(--line)}.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:2rem}.ftr h4{color:var(--gold);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-family:'Montserrat'}.ftr a{display:block;text-decoration:none;font-size:.9rem;margin-bottom:.4rem;color:var(--tx)}.ftr a:hover{color:var(--gold)}.ftr p{font-size:.9rem;color:var(--mut)}.ftr .wmk{--w:220px}.copy{text-align:center;font-size:.72rem;letter-spacing:.1em;color:var(--mut);margin-top:3rem;padding-top:1.5rem;border-top:1px solid #1e1e1e}
@media(max-width:900px){.hero-in,.two,.three,.grid3,.svc-grid,.gal3,.ftr-in{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.masonry{columns:2}.f2{grid-template-columns:1fr}.hero-logo{max-width:380px}
.burger{display:block}.nav{position:fixed;inset:78px 0 auto 0;background:#090909;flex-direction:column;padding:1.5rem;gap:1.1rem;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.3s;z-index:-1}body.menu .nav{transform:none}.sec{padding:3.5rem 0}.wmk{--w:min(320px,85vw)}}
@media(max-width:560px){.masonry{columns:1}.grid4{grid-template-columns:1fr}}

.jar{width:100%;max-width:420px;margin:0 auto 1.4rem;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}.brand-card .jar{max-height:300px;width:auto;margin:0 auto 1.6rem}

.banner{background:#000;border-bottom:1px solid var(--line)}.banner img{width:100%;height:auto;display:block}.intro{padding:3.5rem 0 4rem;background:linear-gradient(rgba(9,9,9,.9),rgba(9,9,9,.96)),url(../assets/tex-water.jpg) center/cover}.intro .lead{margin:1rem auto 0}


.brand-card .cta{margin-bottom:1.5rem}.card-photo{margin-top:auto;width:100%;flex:1 1 auto;min-height:240px;max-height:420px;object-fit:cover;border:1px solid var(--line)}.brand-card.moss .jar{align-self:center}
.brand{gap:0}.brand img{height:58px}

@media(max-width:900px){
 .hdr-in{height:68px}.brand img{height:48px}.nav{inset:68px 0 auto 0;max-height:calc(100vh - 68px);overflow:auto}
 .nav a{font-size:.85rem;padding:.6rem 0}.nav .btn{text-align:center;padding:.9rem 1rem}
 .card,.brand-card{padding:1.6rem}.brand-card{padding:1.8rem}.side{padding:1.5rem}
 .phead{padding:3rem 0 1.8rem}.intro{padding:2.5rem 0 3rem}.sec{padding:3rem 0}
 .lead{font-size:1.25rem}.cta{gap:.7rem}.cta .btn{flex:1 1 auto;text-align:center}
 .card-photo{min-height:220px;max-height:340px}
 .row{flex-wrap:wrap}.tbl th,.tbl td{padding:.8rem .9rem;font-size:.9rem}
 figure{min-height:200px}.svc-img{aspect-ratio:16/10}
 .ftr{padding:3rem 0 1.2rem}.ftr-in{gap:1.6rem}
}
@media(max-width:560px){.wrap{padding:0 1.1rem}.btn{padding:.9rem 1.2rem;letter-spacing:.14em}.f2{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr;gap:.8rem}.mini{padding:1.2rem .6rem}.masonry{columns:1}.levels b{display:block;min-width:0}.eyebrow{letter-spacing:.24em}h1{font-size:2.3rem}}
.two>*,.three>*,.grid3>*{min-width:0}
@media(max-width:560px){.brand-card .wmk{--w:250px}.wmk{--w:min(300px,78vw)}.ftr .wmk{--w:200px}.card h2{font-size:1.6rem}}
