/* Black Card LLC — shared stylesheet (built from BLACK_CARD_HOME_LANDING.html) */
:root{
  --ink:#111014; --charcoal:#1C1B21; --navy:#232D51; --navy-dp:#161B33;
  --ivory:#F7F3E9; --paper:#EFE9DA; --gold:#B8923F; --gold-lt:#D4AE63;
  --indigo:#3E4E93; --olive:#5D7C46; --mustard:#CDB94C; --umber:#6B4A32; --plum:#5B2A3E;
  --hair-dk: rgba(247,243,233,0.14); --hair-lt: rgba(17,16,20,0.13);
  --max: 1180px;
  color-scheme: dark;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--ink); color:var(--ivory); font-family:'Libre Franklin', 'Helvetica Neue', Arial, sans-serif; font-size:16px; line-height:1.7; font-weight:400; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
:focus-visible{outline:2px solid var(--gold-lt); outline-offset:3px;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 44px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }
.narrow{max-width:760px; margin:0 auto;}
.center{text-align:center;}
.chapter{font-family:'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight:600; font-size:13px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:14px; justify-content:center; margin:0 0 22px;}
.chapter.left{justify-content:flex-start;}
.chapter .ln{width:34px; height:1px; background:var(--gold);}
h1,h2,h3,h4{font-family:'Fraunces', Georgia, serif; font-weight:500; margin:0; letter-spacing:-0.01em; line-height:1.14; text-wrap:balance;}
.quote{font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:440;}
.btn{font-family:'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight:600; font-size:15px; letter-spacing:0.09em; text-transform:uppercase; padding:16px 32px; border-radius:1px; border:1px solid transparent; display:inline-flex; align-items:center; gap:10px; cursor:pointer; transition:background .25s ease, border-color .25s ease, color .25s ease; background:none; color:inherit;}
.btn-gold{background:var(--gold); color:var(--ink);}
.btn-gold:hover{background:var(--gold-lt);}
.btn-line-dk{border-color:rgba(247,243,233,0.35); color:var(--ivory);}
.btn-line-dk:hover{border-color:var(--gold); color:var(--gold-lt);}
.btn-line-lt{border-color:rgba(17,16,20,0.3); color:var(--ink);}
.btn-line-lt:hover{border-color:var(--navy); color:var(--navy);}
.btn-navy{background:var(--navy); color:var(--ivory);}
.btn-navy:hover{background:var(--gold); color:var(--ink);}
section{padding:130px 0;}
@media (max-width:640px){ section{padding:84px 0;} }
.panel-ink{background:var(--ink);}
.panel-charcoal{background:var(--charcoal);}
.panel-ivory{background:var(--ivory); color:var(--ink);}
.panel-paper{background:var(--paper); color:var(--ink);}
.hr-dk{height:1px; background:var(--hair-dk);}
.hr-lt{height:1px; background:var(--hair-lt);}
.reveal{opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
.section-title{font-size:clamp(26px,3vw,36px);}
.panel-ivory .section-title, .panel-paper .section-title{color:var(--ink);}
.lede-dk{font-size:16.5px; color:rgba(247,243,233,0.72); max-width:62ch; margin:24px auto 0; line-height:1.75;}
.lede-lt{font-size:16.5px; color:rgba(17,16,20,0.72); max-width:62ch; margin:24px auto 0; line-height:1.75;}

/* duotone */
.duotone{position:relative; overflow:hidden; background:var(--ink);}
.duotone img{filter:grayscale(1) contrast(1.08) brightness(0.88); transition:filter .55s ease, transform .8s cubic-bezier(.2,.7,.2,1);}
.duotone::after{content:""; position:absolute; inset:0; background:var(--navy-dp); mix-blend-mode:color; opacity:0.62; pointer-events:none; transition:opacity .5s ease;}
.duotone:hover img{filter:grayscale(0) saturate(1.45) contrast(1.08) brightness(1.03); transform:scale(1.045);}
.duotone:hover::after{opacity:0;}

/* NAV */
header.site{position:fixed; top:0; left:0; right:0; z-index:60; transition:background .3s ease, border-color .3s ease; border-bottom:1px solid transparent;}
header.site.scrolled, header.site.solid{background:rgba(17,16,20,0.94); backdrop-filter:blur(10px); border-bottom-color:var(--hair-dk);}
.nav-row{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:22px 44px; max-width:var(--max); margin:0 auto;}
.brand{justify-self:start;}
.brand img{height:28px; width:auto; display:block;}
nav.links{justify-self:center; display:flex; align-items:center; gap:36px;}
nav.links a{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:14px; letter-spacing:0.14em; text-transform:uppercase; opacity:0.82; position:relative; padding-bottom:5px;}
nav.links a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--gold); transition:right .3s ease;}
nav.links a:hover, nav.links a.active{opacity:1;}
nav.links a:hover::after, nav.links a.active::after{right:0;}
.nav-actions{justify-self:end; display:flex; align-items:center; gap:16px;}
.nav-phone{font-family:'Barlow Condensed',sans-serif; font-size:13.5px; letter-spacing:0.04em; opacity:0.8;}
.nav-actions .btn{padding:11px 20px; font-size:13px;}
.cart-btn{position:relative; background:none; border:1px solid var(--hair-dk); color:var(--ivory); width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s ease;}
.cart-btn:hover{border-color:var(--gold);}
.cart-btn svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.cart-count{position:absolute; top:-7px; right:-7px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:var(--gold); color:var(--ink); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:12px; line-height:19px; text-align:center;}
.cart-count[data-zero="1"]{display:none;}
.menu-btn{display:none; background:none; border:1px solid var(--hair-dk); color:var(--ivory); padding:9px 14px; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; font-size:12.5px; cursor:pointer;}
.mobile-nav{display:none; position:fixed; inset:0; z-index:55; background:var(--ink); padding:110px 28px 44px; flex-direction:column; gap:18px; overflow-y:auto;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:'Fraunces',serif; font-weight:500; font-size:24px; color:var(--ivory); border-bottom:1px solid var(--hair-dk); padding-bottom:16px;}
.mobile-nav a.active{color:var(--gold-lt);}
.mobile-nav .mn-meta{font-family:'Barlow Condensed',sans-serif; letter-spacing:0.08em; color:rgba(247,243,233,0.6); font-size:14px; border:none;}
@media (max-width:1060px){ nav.links{gap:24px;} .nav-phone{display:none;} }
@media (max-width:960px){ nav.links{display:none;} .nav-actions .btn{display:none;} .menu-btn{display:block;} .nav-row{grid-template-columns:1fr auto; padding:18px 20px;} }

/* HERO */
.hero{position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:0;}
.hero--page{min-height:auto; padding:180px 0 110px;}
@media (max-width:640px){ .hero--page{padding:140px 0 80px;} }
.hero-bg{position:absolute; inset:0;}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:center 40%;}
.hero-slide{position:absolute; inset:0; opacity:0; animation:heroSlide 30s infinite;}
.hero-slide:nth-child(1){animation-delay:0s;} .hero-slide:nth-child(2){animation-delay:-5s;} .hero-slide:nth-child(3){animation-delay:-10s;}
.hero-slide:nth-child(4){animation-delay:-15s;} .hero-slide:nth-child(5){animation-delay:-20s;} .hero-slide:nth-child(6){animation-delay:-25s;}
.hero-still{position:absolute; inset:0;}
@keyframes heroSlide{ 0%{opacity:0; transform:scale(1.04);} 3%{opacity:1;} 14%{opacity:1; transform:scale(1.12);} 16.6%{opacity:0; transform:scale(1.14);} 100%{opacity:0;} }
@media (prefers-reduced-motion: reduce){ .hero-slide{animation:none !important; opacity:0;} .hero-slide:first-child{opacity:1;} }
.hero-bg::before{content:""; position:absolute; inset:0; background:rgba(17,16,20,0.72); z-index:1;}
.hero-bg::after{content:""; position:absolute; inset:0; z-index:1; background:radial-gradient(90% 60% at 50% 30%, rgba(17,16,20,0.35), rgba(17,16,20,0.88) 78%);}
.hero-content{position:relative; z-index:2; padding:0 24px; max-width:900px;}
.hero-mark{width:1px; height:52px; background:linear-gradient(to bottom, transparent, var(--gold)); margin:0 auto 30px;}
.hero h1{font-size:clamp(36px,5.6vw,66px); color:var(--ivory); font-weight:500;}
.hero--page h1{font-size:clamp(34px,4.8vw,58px);}
.hero-quote{margin:32px auto 0; max-width:46ch; font-size:20px; color:rgba(247,243,233,0.85);}
.hero-quote .mark{color:var(--gold-lt); font-size:1.4em; line-height:0; vertical-align:-0.08em;}
.hero-rule{width:60px; height:1px; background:var(--gold); margin:36px auto;}
.cta-row{display:flex; flex-wrap:wrap; gap:16px; margin-top:12px; justify-content:center;}
.hero-invite{margin-top:44px; font-size:14px; color:rgba(247,243,233,0.55); max-width:46ch; margin-left:auto; margin-right:auto;}
.hero-invite b{color:var(--ivory); font-weight:600;}
.crumbs{font-family:'Barlow Condensed',sans-serif; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(247,243,233,0.55); margin-top:34px;}
.crumbs a:hover{color:var(--gold-lt);}

/* COMMITMENTS */
.commit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:64px;}
@media (max-width:900px){.commit-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:540px){.commit-grid{grid-template-columns:1fr;}}
.commit-item{padding:0 32px; border-left:1px solid var(--hair-lt); text-align:left; transition:transform .35s ease;}
.commit-item:first-child{border-left:none;}
@media (max-width:900px){ .commit-item:nth-child(2n+1){border-left:none;} .commit-item{margin-bottom:36px;} }
@media (max-width:540px){ .commit-item{border-left:none; padding:0;} }
.commit-item .num, .impact-item .num{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:15px; color:var(--gold); display:block; margin-bottom:16px;}
.icon{width:30px; height:30px; stroke:var(--gold); fill:none; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:18px; transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.commit-item:hover .icon{transform:translateY(-3px) scale(1.06);}
.commit-item h4{font-size:19px; margin-bottom:12px; font-weight:500;}
.commit-item p{margin:0; font-size:14.5px; color:rgba(17,16,20,0.66); line-height:1.65;}
.commit-item:hover{transform:translateY(-4px);}

/* INTRO */
.intro-grid{display:grid; grid-template-columns:0.86fr 1.14fr; gap:88px; align-items:center;}
@media (max-width:960px){.intro-grid{grid-template-columns:1fr; gap:52px;}}
.intro-grid > *{min-width:0;}
.intro-photo{position:relative; padding:18px;}
.intro-photo::before{content:""; position:absolute; inset:0; border:1px solid var(--gold); pointer-events:none;}
.intro-photo .duotone{width:100%; height:560px;}
@media (max-width:640px){ .intro-photo .duotone{height:380px;} }
.intro-photo .duotone img{width:100%; height:100%; object-fit:cover;}
.intro-photo-tag{position:absolute; left:18px; bottom:18px; background:var(--ink); color:var(--ivory); padding:12px 20px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; z-index:2;}
.intro-title{font-size:clamp(30px,3.4vw,42px); color:var(--ink);}
.intro-title .sub{display:block; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--navy); font-size:0.36em; margin-top:16px;}
.intro-copy{margin-top:30px;}
.intro-copy p{margin:0 0 22px; font-size:16.5px; color:rgba(17,16,20,0.78);}
.intro-copy p:last-child{margin-bottom:0;}
.panel-ink .intro-title{color:var(--ivory);} .panel-ink .intro-title .sub{color:var(--gold-lt);}
.panel-ink .intro-copy p{color:rgba(247,243,233,0.72);}

/* PULL QUOTE */
.pull{background:var(--navy-dp); position:relative; padding:0;}
.pull::before, .pull::after{content:""; position:absolute; left:0; right:0; height:1px; background:var(--gold);}
.pull::before{top:0;} .pull::after{bottom:0;}
.pull .wrap{padding-top:96px; padding-bottom:96px; text-align:center;}
.pull p.lede{font-size:16.5px; color:rgba(247,243,233,0.75); max-width:56ch; margin:0 auto 20px;}
.pull a.services-link{font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; font-size:13.5px; border-bottom:1px solid var(--gold-lt); padding-bottom:4px;}
.pull a.services-link:hover{color:var(--gold-lt);}
.pull .closer{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:clamp(22px,2.6vw,28px); color:var(--ivory); max-width:34ch; margin:36px auto 0; line-height:1.4;}

/* APPROACH */
.approach-list{max-width:920px; margin:64px auto 0; text-align:left;}
.approach-item{display:grid; grid-template-columns:90px 1fr; gap:36px; padding:38px 0; border-top:1px solid var(--hair-dk); transition:background .3s ease;}
.approach-list .approach-item:last-child{border-bottom:1px solid var(--hair-dk);}
.approach-item .rn{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:26px; color:var(--gold); transition:transform .35s ease;}
.approach-item h3{font-size:19px; color:var(--ivory); margin-bottom:12px; font-weight:500;}
.approach-item p{margin:0 0 10px; font-size:14.5px; color:rgba(247,243,233,0.62); line-height:1.75; max-width:64ch;}
.approach-item p:last-child{margin-bottom:0;}
.approach-item:hover{background:rgba(247,243,233,0.025);}
.approach-item:hover .rn{transform:translateX(4px); color:var(--gold-lt);}
@media (max-width:640px){ .approach-item{grid-template-columns:1fr; gap:10px;} }

/* IMPACT */
.impact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:64px;}
@media (max-width:900px){.impact-grid{grid-template-columns:1fr;}}
.impact-item{padding:0 34px; border-left:1px solid var(--hair-lt); text-align:left;}
.impact-item:first-child{border-left:none;}
@media (max-width:900px){ .impact-item{border-left:none; border-top:1px solid var(--hair-lt); padding:44px 0 0; margin-top:44px;} .impact-item:first-child{border-top:none; padding-top:0; margin-top:0;} }
.impact-item:hover .icon{transform:rotate(-6deg) scale(1.08);}
.impact-item h3{font-size:19px; margin-bottom:14px; font-weight:500;}
.impact-item p{margin:0; font-size:14.5px; color:rgba(17,16,20,0.68); line-height:1.72;}

/* CONTACT block */
.closing p{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:clamp(20px,2.4vw,27px); line-height:1.55; color:var(--ivory); max-width:820px; margin:0 auto; text-align:center;}
.contact-grid{margin-top:76px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; padding-top:56px; border-top:1px solid var(--hair-dk);}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-grid > *{min-width:0;}
.contact-list div.row{padding:20px 0; border-bottom:1px solid var(--hair-dk); font-size:16.5px; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px;}
.contact-list div.row:last-child{border-bottom:none;}
.contact-list .eyebrow{flex-basis:100%; display:block; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); margin-bottom:3px;}
.contact-list a:hover{color:var(--gold-lt);}
.copy-btn{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; background:none; border:1px solid var(--hair-dk); color:rgba(247,243,233,0.7); padding:4px 10px; cursor:pointer;}
.copy-btn:hover{border-color:var(--gold); color:var(--gold-lt);}
.contact-photo{padding:14px; border:1px solid var(--gold);}
.contact-photo .duotone{height:320px;}
.contact-photo .duotone img{width:100%; height:100%; object-fit:cover;}

/* SERVICES DECK */
.deck-intro{max-width:640px; margin:0 auto 8px; text-align:center; font-size:15px; color:rgba(17,16,20,0.66);}
.deck-controls{display:flex; align-items:center; justify-content:center; gap:18px; margin:30px 0 36px;}
.deck-btn-shuffle{font-family:'Barlow Condensed', sans-serif; font-weight:600; font-size:14px; letter-spacing:0.08em; text-transform:uppercase; background:var(--navy); color:var(--ivory); border:none; padding:14px 26px; border-radius:30px; display:inline-flex; align-items:center; gap:10px; cursor:pointer; transition:transform .2s ease, background .2s ease;}
.deck-btn-shuffle:hover{background:var(--gold); color:var(--ink); transform:translateY(-2px);}
.deck-btn-shuffle svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .5s ease;}
.deck-btn-shuffle.spin svg{transform:rotate(360deg);}
.deck-arrow{width:40px; height:40px; border-radius:50%; border:1px solid var(--hair-lt); background:none; color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s ease, background .2s ease;}
.deck-arrow:hover{border-color:var(--gold); background:rgba(184,146,63,0.08);}
.deck-arrow svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.lane{display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x proximity; padding:10px 4px 26px; cursor:grab; scrollbar-width:thin; scrollbar-color:var(--gold) transparent;}
.lane.dragging{cursor:grabbing; scroll-snap-type:none;}
.lane::-webkit-scrollbar{height:6px;}
.lane::-webkit-scrollbar-thumb{background:var(--hair-lt); border-radius:3px;}
.svc-card{flex:0 0 272px; height:360px; perspective:1400px; scroll-snap-align:start; transition:transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s ease;}
.svc-card-inner{position:relative; width:100%; height:100%; transition:transform .65s cubic-bezier(.2,.85,.25,1); transform-style:preserve-3d; border-radius:10px;}
.svc-card.flipped .svc-card-inner{transform:rotateY(180deg);}
.svc-card-face{position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; border-radius:10px; overflow:hidden; cursor:pointer;}
.svc-card-front{background:var(--accent, var(--indigo)); display:flex; flex-direction:column; justify-content:space-between; padding:22px;}
.svc-card-front .idx{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:13px; letter-spacing:0.1em; color:rgba(255,255,255,0.75);}
.svc-card-front .drip{width:38px; height:38px; opacity:0.85; align-self:flex-end; margin-top:-6px; transition:transform .3s ease;}
.svc-card-front .drip svg{width:100%; height:100%; stroke:rgba(255,255,255,0.85); fill:none; stroke-width:1.3;}
.svc-card-front .front-bottom{background:linear-gradient(to top, rgba(0,0,0,0.42), transparent 130%); margin:0 -22px -22px; padding:20px 22px;}
.svc-card-front h3{font-size:19px; color:#fff; font-weight:500; line-height:1.2; margin-bottom:8px;}
.hint{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.72); display:flex; align-items:center; gap:6px;}
.hint svg{width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:1.6;}
.svc-card:hover .svc-card-front .drip{transform:translateY(2px);}
.svc-card-back{background:var(--ivory); transform:rotateY(180deg); padding:24px; display:flex; flex-direction:column; border:1px solid var(--hair-lt);}
.svc-card-back .tab{width:32px; height:4px; border-radius:2px; background:var(--accent, var(--indigo)); margin-bottom:16px;}
.svc-card-back h3{font-size:16.5px; color:var(--ink); font-weight:600; margin-bottom:10px; line-height:1.25;}
.svc-card-back p{font-size:12.8px; color:rgba(17,16,20,0.72); line-height:1.62; margin:0; overflow-y:auto; flex:1;}
.svc-card-back .extra{display:inline-block; margin-top:10px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:11px; color:var(--navy); text-transform:uppercase; letter-spacing:0.05em; border-bottom:1px solid currentColor;}
.svc-card-back .back-hint{margin-top:12px; color:var(--gold);}
@media (max-width:640px){ .svc-card{flex-basis:238px; height:330px;} }
.svc-card:focus-visible{outline:none;}
.svc-card:focus-visible .svc-card-inner{outline:2px solid var(--gold); outline-offset:4px; border-radius:12px;}

/* SERVICES INDEX (services page) */
.svc-groups{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:40px 48px; margin-top:56px; text-align:left;}
.svc-group h3{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-lt); padding-bottom:12px; border-bottom:1px solid var(--hair-dk); margin-bottom:6px; display:flex; align-items:center; gap:10px;}
.svc-group h3 .sw{width:10px; height:10px; border-radius:50%; background:var(--accent);}
.svc-group a{display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--hair-dk); font-family:'Fraunces',serif; font-size:17px; transition:color .2s ease, padding .25s ease;}
.svc-group a span{color:var(--gold); font-family:'Barlow Condensed',sans-serif; font-size:13px; letter-spacing:0.08em;}
.svc-group a:hover{color:var(--gold-lt); padding-left:6px;}
.svc-detail{display:grid; grid-template-columns:220px 1fr; gap:48px; padding:56px 0; border-top:1px solid var(--hair-lt); scroll-margin-top:90px;}
.svc-detail:last-child{border-bottom:1px solid var(--hair-lt);}
.svc-detail > *{min-width:0;}
@media (max-width:760px){ .svc-detail{grid-template-columns:1fr; gap:16px; padding:40px 0;} }
.svc-meta .idx{font-family:'Fraunces',serif; font-style:italic; font-size:34px; color:var(--gold); line-height:1;}
.svc-meta .cat{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(17,16,20,0.6);}
.svc-meta .cat i{width:9px; height:9px; border-radius:50%; background:var(--accent);}
.svc-body h3{font-size:clamp(22px,2.4vw,28px); color:var(--ink); margin-bottom:16px;}
.svc-body p{margin:0; font-size:16px; color:rgba(17,16,20,0.74); max-width:66ch;}
.svc-body .svc-links{margin-top:20px; display:flex; flex-wrap:wrap; gap:18px;}
.textlink{font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; font-size:13px; border-bottom:1px solid var(--gold); padding-bottom:3px; color:var(--navy);}
.panel-ink .textlink, .panel-charcoal .textlink{color:var(--ivory);}
.textlink:hover{color:var(--gold);}

/* TESTIMONIALS */
.testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--hair-dk); margin-top:64px; border:1px solid var(--hair-dk);}
@media (max-width:820px){ .testi-grid{grid-template-columns:1fr;} }
.testi{background:var(--charcoal); padding:44px 40px; text-align:left;}
@media (max-width:640px){ .testi{padding:32px 24px;} }
.testi blockquote{margin:0; font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:20px; line-height:1.5; color:var(--ivory);}
.testi blockquote::before{content:"“"; color:var(--gold-lt); font-size:1.5em; line-height:0; vertical-align:-0.25em; margin-right:4px;}
.testi cite{display:block; margin-top:22px; font-style:normal; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; font-size:13px; color:var(--gold);}

/* PARTNERS */
.partner-cols{columns:3 240px; column-gap:48px; margin-top:56px; text-align:left;}
.partner-cols li{break-inside:avoid; list-style:none; padding:10px 0; border-bottom:1px solid var(--hair-lt); font-size:14.5px; color:rgba(17,16,20,0.78);}
.partner-cols{padding:0;}
.partner-strip{display:flex; gap:44px; width:max-content; animation:marquee 60s linear infinite; padding:26px 0;}
.partner-strip span{font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:rgba(247,243,233,0.7); white-space:nowrap;}
.partner-strip span::after{content:"·"; color:var(--gold); margin-left:44px;}
.partner-strip:hover{animation-play-state:paused;}

/* GALLERY */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--hair-dk); margin-top:64px;}
@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
.gallery-grid figure{margin:0; position:relative; cursor:zoom-in;}
.gallery-grid .duotone{height:230px;}
.gallery-grid img{width:100%; height:230px; object-fit:cover;}
@media (max-width:540px){ .gallery-grid .duotone, .gallery-grid img{height:170px;} }
.gallery-grid figcaption{position:absolute; left:0; right:0; bottom:0; padding:16px 18px; z-index:2; background:linear-gradient(to top, rgba(17,16,20,0.9), transparent); font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ivory); text-align:left;}
.gallery-grid figcaption small{display:block; font-weight:500; font-size:11px; letter-spacing:0.12em; color:var(--gold-lt);}
.gallery-grid figure.is-hidden{display:none;}
.chips{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:40px;}
.chip{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:13px; letter-spacing:0.1em; text-transform:uppercase; padding:10px 18px; border:1px solid var(--hair-dk); background:none; color:rgba(247,243,233,0.78); cursor:pointer; border-radius:30px; transition:all .2s ease;}
.chip:hover{border-color:var(--gold); color:var(--gold-lt);}
.chip.on{background:var(--gold); border-color:var(--gold); color:var(--ink);}
.panel-ivory .chip, .panel-paper .chip{border-color:var(--hair-lt); color:rgba(17,16,20,0.75);}
.panel-ivory .chip.on, .panel-paper .chip.on{background:var(--navy); border-color:var(--navy); color:var(--ivory);}
.chip .n{opacity:0.6; margin-left:6px;}
.gal-count{margin-top:18px; font-family:'Barlow Condensed',sans-serif; letter-spacing:0.1em; font-size:13px; color:rgba(247,243,233,0.5); text-transform:uppercase;}
.lightbox{position:fixed; inset:0; z-index:90; background:rgba(10,10,12,0.96); display:flex; align-items:center; justify-content:center; padding:60px 16px;}
.lightbox img{max-height:80vh; max-width:min(1100px,100%); object-fit:contain; box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.lb-cap{position:absolute; bottom:22px; left:0; right:0; text-align:center; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; font-size:13px; color:var(--ivory);}
.lb-cap small{color:var(--gold-lt); margin-left:10px;}
.lb-btn{position:absolute; background:none; border:1px solid var(--hair-dk); color:var(--ivory); width:48px; height:48px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.lb-btn:hover{border-color:var(--gold); color:var(--gold-lt);}
.lb-btn svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8;}
.lb-prev{left:18px; top:50%; transform:translateY(-50%);} .lb-next{right:18px; top:50%; transform:translateY(-50%);} .lb-close{right:18px; top:18px;}

/* MARQUEE */
.marquee-wrap{padding:26px 0; overflow:hidden;}
.marquee-track{display:flex; gap:2px; width:max-content; animation:marquee 46s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.mq-item{width:220px; height:150px; flex:none; position:relative; overflow:hidden;}
.mq-item img{width:100%; height:100%; object-fit:cover;}
@media (max-width:700px){ .mq-item{width:160px; height:110px;} }

/* SUSTAIN */
.sustain{display:grid; grid-template-columns:1fr 0.5fr; gap:60px; align-items:start; margin-top:24px;}
@media (max-width:900px){.sustain{grid-template-columns:1fr;}}
.sustain p{font-size:15.5px; color:rgba(17,16,20,0.74); margin:0 0 18px; line-height:1.75;}
.sustain-tag{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:24px; color:var(--olive); padding-left:22px; border-left:1px solid var(--olive);}
.sustain-tag a:hover{color:var(--ink);}
.sdg-row{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hair-lt); margin-top:56px; border:1px solid var(--hair-lt);}
@media (max-width:760px){ .sdg-row{grid-template-columns:1fr;} }
.sdg{background:var(--paper); padding:32px 28px; text-align:left;}
.sdg b{display:block; font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:40px; color:var(--olive); line-height:1;}
.sdg span{display:block; margin-top:10px; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; font-size:13px; color:var(--ink);}
.sdg p{margin:8px 0 0; font-size:14px; color:rgba(17,16,20,0.68);}

/* FORMS */
.form-shell{display:grid; grid-template-columns:0.8fr 1.2fr; gap:72px; align-items:start;}
@media (max-width:960px){ .form-shell{grid-template-columns:1fr; gap:48px;} }
.form-shell > *{min-width:0;}
.form-card{background:var(--ivory); color:var(--ink); padding:44px; border-top:3px solid var(--gold);}
@media (max-width:640px){ .form-card{padding:28px 20px;} }
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px 22px;}
@media (max-width:600px){ .form-grid{grid-template-columns:1fr;} }
.field{display:flex; flex-direction:column; gap:7px; min-width:0;}
.field.full{grid-column:1/-1;}
.field label, .field legend{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--navy);}
.field label .req{color:var(--gold);}
.field input, .field select, .field textarea{font:inherit; font-size:15px; color:var(--ink); background:#fff; border:1px solid rgba(17,16,20,0.2); border-radius:1px; padding:12px 14px; width:100%; color-scheme:light; transition:border-color .2s ease, box-shadow .2s ease;}
.field textarea{min-height:130px; resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(35,45,81,0.14);}
.field .help{font-size:12.5px; color:rgba(17,16,20,0.55);}
.field.bad input, .field.bad select, .field.bad textarea{border-color:#a3322a;}
.field .err{font-size:12.5px; color:#a3322a; display:none;}
.field.bad .err{display:block;}
fieldset.field{border:none; padding:0; margin:0;}
.checks{display:flex; flex-wrap:wrap; gap:10px;}
.checks label{font-family:'Libre Franklin',sans-serif; text-transform:none; letter-spacing:0; font-weight:400; font-size:14px; color:var(--ink); display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(17,16,20,0.18); padding:8px 12px; cursor:pointer; background:#fff;}
.checks input{accent-color:var(--navy);}
.form-foot{display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:28px;}
.form-foot small{font-size:12.5px; color:rgba(17,16,20,0.55); max-width:46ch;}
.form-done{display:none; margin-top:24px; padding:20px 22px; background:rgba(93,124,70,0.1); border-left:3px solid var(--olive); font-size:14.5px;}
.form-done.show{display:block;}
.form-done b{font-family:'Fraunces',serif; font-weight:500; font-size:18px; display:block; margin-bottom:6px;}
.side-list{list-style:none; padding:0; margin:28px 0 0;}
.side-list li{padding:16px 0 16px 30px; border-top:1px solid var(--hair-dk); position:relative; font-size:15px; color:rgba(247,243,233,0.75);}
.side-list li::before{content:""; position:absolute; left:0; top:24px; width:14px; height:1px; background:var(--gold);}
.side-list li b{color:var(--ivory); font-weight:600;}
.callout{margin-top:30px; padding:22px 24px; border:1px solid var(--gold); font-size:15px; color:rgba(247,243,233,0.85);}
.callout b{color:var(--gold-lt);}

/* FAQ */
.faq{max-width:860px; margin:56px auto 0; text-align:left;}
.faq details{border-top:1px solid var(--hair-lt);}
.faq details:last-child{border-bottom:1px solid var(--hair-lt);}
.faq summary{list-style:none; cursor:pointer; padding:24px 44px 24px 0; position:relative; font-family:'Fraunces',serif; font-size:19px; color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; position:absolute; right:6px; top:18px; font-family:'Barlow Condensed',sans-serif; font-size:28px; color:var(--gold); transition:transform .25s ease;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin:0 0 24px; font-size:15.5px; color:rgba(17,16,20,0.72); max-width:68ch;}
.faq details p a{border-bottom:1px solid var(--gold);}

/* PRODUCTS */
.shop-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px;}
.shop-tools{display:flex; flex-wrap:wrap; gap:12px; align-items:center;}
.shop-search{font:inherit; font-size:14.5px; padding:11px 14px; border:1px solid var(--hair-lt); background:#fff; color:var(--ink); min-width:0; width:240px; max-width:100%; color-scheme:light;}
.shop-sort{font:inherit; font-size:14px; padding:11px 12px; border:1px solid var(--hair-lt); background:#fff; color:var(--ink); color-scheme:light;}
.prod-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:24px; margin-top:36px;}
.prod{background:#fff; border:1px solid var(--hair-lt); display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease;}
.prod:hover{transform:translateY(-4px); box-shadow:0 18px 40px rgba(17,16,20,0.08);}
.prod.is-hidden{display:none;}
.prod-art{height:150px; background:var(--accent, var(--navy)); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.prod-art svg{width:56px; height:56px; stroke:rgba(255,255,255,0.86); fill:none; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round;}
.prod-art .cat{position:absolute; left:14px; top:12px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.78);}
.prod-body{padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; gap:10px;}
.prod-body h3{font-size:16px; line-height:1.3; color:var(--ink); font-weight:500;}
.prod-body .note{font-size:12.5px; color:rgba(17,16,20,0.55);}
.prod-price{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:22px; letter-spacing:0.02em; color:var(--navy); font-variant-numeric:tabular-nums;}
.prod-price small{font-weight:500; font-size:13px; color:rgba(17,16,20,0.55); letter-spacing:0.06em; text-transform:uppercase;}
.prod-actions{margin-top:auto; display:flex; gap:10px; align-items:center; padding-top:8px;}
.prod-actions select{font:inherit; font-size:13px; padding:9px 8px; border:1px solid var(--hair-lt); background:#fff; color:var(--ink); color-scheme:light;}
.add-btn{flex:1; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; font-size:13px; background:var(--navy); color:var(--ivory); border:none; padding:11px 12px; cursor:pointer; transition:background .2s ease;}
.add-btn:hover{background:var(--gold); color:var(--ink);}
.add-btn.added{background:var(--olive);}
.prod-link{font-size:12px; color:rgba(17,16,20,0.55); border-bottom:1px solid var(--hair-lt);}
.prod-link:hover{color:var(--navy);}
.perk-row{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:56px; border-top:1px solid var(--hair-dk); border-bottom:1px solid var(--hair-dk);}
@media (max-width:860px){ .perk-row{grid-template-columns:repeat(2,1fr);} }
.perk{padding:28px 24px; border-left:1px solid var(--hair-dk); text-align:left;}
.perk:first-child{border-left:none;}
@media (max-width:860px){ .perk:nth-child(3){border-left:none;} .perk:nth-child(n+3){border-top:1px solid var(--hair-dk);} }
.perk b{display:block; font-family:'Fraunces',serif; font-weight:500; font-size:18px; color:var(--ivory); margin-bottom:6px;}
.perk span{font-size:13.5px; color:rgba(247,243,233,0.6);}

/* CART */
.cart-scrim{position:fixed; inset:0; background:rgba(10,10,12,0.6); z-index:80;}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:min(420px,100%); background:var(--ivory); color:var(--ink); z-index:81; display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,0.3); transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.cart-drawer.open{transform:translateX(0);}
.cart-top{display:flex; justify-content:space-between; align-items:center; padding:24px 26px; border-bottom:1px solid var(--hair-lt);}
.cart-top h3{font-size:22px;}
.cart-x{background:none; border:1px solid var(--hair-lt); width:38px; height:38px; cursor:pointer; color:var(--ink); font-size:18px;}
.cart-items{flex:1; overflow-y:auto; padding:8px 26px;}
.cart-empty{padding:40px 0; text-align:center; color:rgba(17,16,20,0.6); font-size:14.5px;}
.cart-line{display:grid; grid-template-columns:1fr auto; gap:6px 12px; padding:18px 0; border-bottom:1px solid var(--hair-lt);}
.cart-line .nm{font-size:14.5px; font-weight:500;}
.cart-line .vr{font-size:12.5px; color:rgba(17,16,20,0.55);}
.cart-line .pr{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:17px; text-align:right; font-variant-numeric:tabular-nums;}
.qty{display:inline-flex; align-items:center; border:1px solid var(--hair-lt);}
.qty button{background:none; border:none; width:30px; height:30px; cursor:pointer; color:var(--ink); font-size:16px;}
.qty span{min-width:30px; text-align:center; font-variant-numeric:tabular-nums; font-size:14px;}
.rm{background:none; border:none; font-size:12px; color:rgba(17,16,20,0.55); cursor:pointer; text-decoration:underline; justify-self:end;}
.cart-sum{padding:20px 26px 26px; border-top:1px solid var(--hair-lt); background:var(--paper);}
.sum-row{display:flex; justify-content:space-between; font-size:14.5px; padding:4px 0; font-variant-numeric:tabular-nums;}
.sum-row.total{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px; padding-top:10px; border-top:1px solid var(--hair-lt); margin-top:6px;}
.sum-row.disc{color:var(--olive);}
.cart-sum .fine{font-size:12px; color:rgba(17,16,20,0.55); margin:12px 0 16px;}
.cart-sum .btn{width:100%; justify-content:center;}

/* PRIVACY / prose */
.prose{max-width:760px; margin:0 auto; text-align:left;}
.prose h2{font-size:24px; color:var(--ink); margin:48px 0 14px;}
.prose h2:first-child{margin-top:0;}
.prose p, .prose li{font-size:15.5px; color:rgba(17,16,20,0.76); line-height:1.75;}
.prose ul{padding-left:20px;}
.prose .stamp{font-family:'Barlow Condensed',sans-serif; letter-spacing:0.12em; text-transform:uppercase; font-size:13px; color:var(--gold); margin-top:48px; padding-top:20px; border-top:1px solid var(--hair-lt);}
.toc{position:sticky; top:96px; align-self:start;}
.toc a{display:block; padding:7px 0; font-size:13.5px; color:rgba(17,16,20,0.6); border-bottom:1px solid var(--hair-lt);}
.toc a:hover{color:var(--navy);}
.prose-shell{display:grid; grid-template-columns:220px 1fr; gap:64px;}
.prose-shell > *{min-width:0;}
@media (max-width:900px){ .prose-shell{grid-template-columns:1fr;} .toc{position:static;} }

/* PILLARS */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:64px; text-align:left;}
@media (max-width:860px){ .pillars{grid-template-columns:1fr;} }
.pillar{padding:0 34px; border-left:1px solid var(--hair-dk);}
.pillar:first-child{border-left:none; padding-left:0;}
@media (max-width:860px){ .pillar{border-left:none; padding:28px 0; border-top:1px solid var(--hair-dk);} .pillar:first-child{border-top:none;} }
.pillar h3{font-size:21px; margin-bottom:12px;}
.pillar p{margin:0; font-size:14.5px; color:rgba(247,243,233,0.66);}
.pillar .icon{stroke:var(--olive); stroke:#8FAE74;}

/* FOOTER */
footer.site{background:var(--charcoal); padding:80px 0 0; text-align:center;}
footer.site .brand-mark{margin-bottom:24px;}
footer.site .brand-mark img{height:26px; width:auto; display:inline-block;}
footer.site .tag{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:18px; color:rgba(247,243,233,0.6); margin:0 0 56px;}
.foot-cols{display:grid; grid-template-columns:repeat(4,1fr); gap:40px; text-align:left; padding-bottom:56px; border-bottom:1px solid var(--hair-dk); max-width:1000px; margin:0 auto;}
@media (max-width:860px){.foot-cols{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.foot-cols{grid-template-columns:1fr;}}
footer.site h4{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-lt); margin:0 0 16px;}
footer.site .foot-col p, footer.site .foot-col a{display:block; font-size:14.5px; color:rgba(247,243,233,0.68); margin:0 0 10px; line-height:1.6;}
footer.site .foot-col a:hover{color:var(--gold-lt);}
.foot-bottom{padding:26px 44px; max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-family:'Barlow Condensed',sans-serif; font-size:12px; letter-spacing:0.04em; color:rgba(247,243,233,0.38);}
.foot-bottom a{text-decoration:underline;}
@media (max-width:640px){ .foot-bottom{padding:24px 20px;} }

.skip-link{position:absolute; left:-9999px; top:0; background:var(--gold); color:var(--ink); padding:10px 16px; z-index:200;}
.skip-link:focus{left:16px; top:16px;}
.progress-bar{position:fixed; top:0; left:0; height:2px; background:var(--gold); z-index:100; width:0%; transition:width .1s linear;}
.tilt{transform-style:preserve-3d; will-change:transform; transition:transform .25s ease-out;}
.toast{position:fixed; left:50%; bottom:28px; transform:translate(-50%, 20px); background:var(--navy); color:var(--ivory); border:1px solid var(--gold); padding:12px 20px; font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; font-size:13px; z-index:95; opacity:0; pointer-events:none; transition:opacity .25s ease, transform .25s ease;}
.toast.show{opacity:1; transform:translate(-50%,0);}

/* ADDITIONS */
[id]{scroll-margin-top:96px;}
.shop-empty{padding:48px 0; text-align:center; color:rgba(17,16,20,0.6);}
.shop-count{font-family:'Barlow Condensed',sans-serif; letter-spacing:0.1em; text-transform:uppercase; font-size:13px; color:rgba(17,16,20,0.55);}
.partner-head{font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; font-size:13px; color:var(--navy); margin:56px 0 0; text-align:left;}
.partner-head + .partner-cols{margin-top:18px;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; text-align:left;}
.split > *{min-width:0;}
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:36px;} }
.split p{margin:0 0 18px; font-size:16px; line-height:1.75;}
.panel-ivory .split p, .panel-paper .split p{color:rgba(17,16,20,0.76);}
.panel-ink .split p, .panel-charcoal .split p{color:rgba(247,243,233,0.72);}
.big-quote{font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:clamp(24px,2.8vw,32px); line-height:1.35;}
.panel-ivory .big-quote, .panel-paper .big-quote{color:var(--navy);}
.svc-card-back .extra{cursor:pointer;}
.svc-card-back .more{display:inline-block; margin-top:10px; margin-right:12px; font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:11px; color:var(--gold); text-transform:uppercase; letter-spacing:0.08em; border-bottom:1px solid currentColor;}
.mini-photos{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:28px;}
.mini-photos .duotone{height:150px;} .mini-photos img{width:100%; height:150px; object-fit:cover;}
.form-done a{border-bottom:1px solid var(--gold);}
.photo-note{font-size:13.5px; color:rgba(17,16,20,0.62); background:var(--paper); padding:12px 14px; border-left:3px solid var(--gold);}
.hero{overflow:hidden;}
.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:900px){ .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
.gallery-grid figcaption{overflow-wrap:anywhere;}
.nav-phone, .nav-actions .btn{white-space:nowrap;}
@media (max-width:1240px){ .nav-phone{display:none;} }
@media (max-width:1340px){ .nav-phone{display:none;} }
.checks label{white-space:nowrap;}

/* PRODUCT DETAIL MODAL */
.prod-open{background:none; border:0; padding:0; margin:0; font:inherit; color:inherit; text-align:left; cursor:pointer; display:block; width:100%;}
.prod-body h3 .prod-open:hover{color:var(--navy); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px;}
.prod-link.prod-open{width:auto; font-size:12.5px; color:var(--navy); border-bottom:1px solid var(--gold); align-self:flex-start;}
.prod-art.has-img{background:#fff; border-bottom:1px solid var(--hair-lt);}
.prod-art.has-img img{width:100%; height:100%; object-fit:contain; padding:16px 16px 10px; transition:transform .4s ease;}
.prod:hover .prod-art.has-img img{transform:scale(1.04);}
.prod-art.has-img .cat{color:var(--ink); background:rgba(239,233,218,0.92); padding:3px 8px; z-index:1;}
.pm-scrim{position:fixed; inset:0; z-index:85; background:rgba(10,10,12,0.72); display:flex; align-items:center; justify-content:center; padding:24px 16px;}
.pm{background:var(--ivory); color:var(--ink); width:min(980px,100%); max-height:calc(100vh - 48px); overflow:auto; display:grid; grid-template-columns:0.9fr 1.1fr; position:relative; border-top:3px solid var(--gold); box-shadow:0 40px 100px rgba(0,0,0,0.5);}
.pm > *{min-width:0;}
@media (max-width:780px){ .pm{grid-template-columns:1fr;} }
.pm-media{background:#fff; display:flex; align-items:center; justify-content:center; min-height:300px; position:relative; border-right:1px solid var(--hair-lt);}
.pm-media img{max-width:100%; max-height:440px; object-fit:contain; padding:28px;}
.pm-media.noimg{background:var(--accent,var(--navy));}
.pm-media.noimg svg{width:96px; height:96px; stroke:rgba(255,255,255,0.86); fill:none; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round;}
.pm-body{padding:36px 36px 32px;}
@media (max-width:640px){ .pm-body{padding:26px 20px;} }
.pm-cat{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold);}
.pm-body h3{font-size:clamp(22px,2.6vw,28px); margin:8px 0 6px;}
.pm-num{display:block; font-family:'Barlow Condensed',sans-serif; letter-spacing:0.1em; font-size:13px; color:rgba(17,16,20,0.55); text-transform:uppercase;}
.pm-buy{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:18px 0 6px; padding:16px 0; border-top:1px solid var(--hair-lt); border-bottom:1px solid var(--hair-lt);}
.pm-buy .prod-price{margin-right:auto;}
.pm-buy select{font:inherit; font-size:13px; padding:10px 8px; border:1px solid var(--hair-lt); background:#fff; color:var(--ink); color-scheme:light;}
.pm-buy .add-btn{flex:0 0 auto; padding:12px 20px;}
.pm-desc{font-size:15px; color:rgba(17,16,20,0.78); line-height:1.7; margin:16px 0 0;}
.pm-body h4{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:12.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--navy); margin:22px 0 8px;}
.pm-body ul{margin:0; padding-left:18px; font-size:14px; color:rgba(17,16,20,0.75);}
.pm-body ul li{margin:3px 0;}
.pm-body > p, .pm-body .pm-spec > p{font-size:14px; color:rgba(17,16,20,0.75);}
.pm-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.pm-table th{text-align:left; font-weight:600; color:var(--ink); padding:8px 14px 8px 0; border-top:1px solid var(--hair-lt); width:36%; vertical-align:top;}
.pm-table td{padding:8px 0; border-top:1px solid var(--hair-lt); color:rgba(17,16,20,0.78);}
.pm-close{position:absolute; top:12px; right:12px; width:40px; height:40px; background:var(--ivory); border:1px solid var(--hair-lt); cursor:pointer; font-size:20px; color:var(--ink); z-index:2;}
.pm-close:hover{border-color:var(--gold);}
.pm-foot{display:flex; flex-wrap:wrap; gap:16px; margin-top:26px; align-items:center;}
.pm-foot a.textlink{font-size:12.5px;}
@media (max-width:1400px){ .nav-phone{display:none;} }
.contact-photo{align-self:start;}
.contact-photo .duotone{height:auto; aspect-ratio:1636/914;}
.boots{margin:36px 0 0; max-width:340px;}
.boots img{width:100%; height:auto; filter:drop-shadow(0 18px 30px rgba(0,0,0,0.55));}
.boots figcaption{font-family:'Fraunces',serif; font-style:italic; font-size:16px; color:rgba(247,243,233,0.6); margin-top:10px;}

/* BOOTS — edge-lit under a work light */
.boots{margin:44px 0 0; max-width:380px; position:relative;}
.boots-stage{position:relative; padding:34px 10px 18px; isolation:isolate;}
.boots-stage::before{content:""; position:absolute; z-index:-1; left:-8%; right:-8%; top:0; bottom:-6%;
  background:radial-gradient(60% 46% at 52% 82%, rgba(212,174,99,0.30), rgba(212,174,99,0.10) 45%, transparent 72%),
             linear-gradient(180deg, transparent 0%, rgba(212,174,99,0.05) 40%, transparent 100%);
  clip-path:polygon(36% 0, 64% 0, 100% 100%, 0 100%);}
.boots-stage::after{content:""; position:absolute; z-index:-1; left:4%; right:4%; bottom:20px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-lt) 50%, var(--gold) 70%, transparent);}
.boots-stage img{width:100%; height:auto; display:block; position:relative;
  filter:brightness(1.45) contrast(1.1) saturate(0.9) drop-shadow(0 0 1px rgba(212,174,99,0.85)) drop-shadow(0 -2px 10px rgba(212,174,99,0.22)) drop-shadow(0 14px 10px rgba(0,0,0,0.6));
  transition:filter .5s ease, transform .5s ease;}
.boots:hover .boots-stage img{transform:translateY(-3px); filter:brightness(1.6) contrast(1.1) saturate(1) drop-shadow(0 0 1px rgba(212,174,99,1)) drop-shadow(0 -2px 14px rgba(212,174,99,0.32)) drop-shadow(0 18px 12px rgba(0,0,0,0.6));}

/* PRODUCT PHOTOS — knock out white backgrounds, keep label clear */
.prod-art.has-img{background:radial-gradient(80% 70% at 50% 60%, #FBF8F1, var(--paper)); border-bottom:1px solid var(--hair-lt); height:190px; padding:40px 18px 14px; display:flex; align-items:center; justify-content:center;}
.prod-art.has-img img{width:100%; height:100%; object-fit:contain; object-position:center; padding:0; mix-blend-mode:multiply;}
.prod-art.has-img .cat{top:12px; left:12px; background:none; padding:0; color:rgba(17,16,20,0.6);}
.pm-media{background:radial-gradient(80% 70% at 50% 55%, #FBF8F1, var(--paper));}
.pm-media img{mix-blend-mode:multiply;}
.prod-art{height:190px;}

/* CLAY PANEL (About — BlackWeld origin) */
.panel-clay{background:#814c3b; color:var(--ivory);}
.panel-clay .chapter{color:#F1D9A0;} .panel-clay .chapter .ln{background:#F1D9A0;}
.panel-clay .split p{color:rgba(247,243,233,0.9);}
.panel-clay .boots figcaption{color:rgba(247,243,233,0.78);}
.panel-clay .boots-stage::before{background:radial-gradient(60% 40% at 52% 84%, rgba(30,14,10,0.42), rgba(30,14,10,0.12) 50%, transparent 74%); clip-path:none;}
.panel-clay .boots-stage::after{background:linear-gradient(90deg, transparent, rgba(247,243,233,0.45) 30%, rgba(247,243,233,0.6) 50%, rgba(247,243,233,0.45) 70%, transparent);}
.panel-clay .boots-stage img{filter:brightness(1.12) contrast(1.06) drop-shadow(0 16px 12px rgba(30,12,8,0.55));}
.panel-clay .boots:hover .boots-stage img{filter:brightness(1.2) contrast(1.06) drop-shadow(0 20px 14px rgba(30,12,8,0.55));}

/* keyed (background-removed) product photos */
.prod-art.has-img img.keyed, .pm-media img.keyed{mix-blend-mode:normal; filter:drop-shadow(0 10px 10px rgba(17,16,20,0.16));}
.panel-clay .boots-stage::before{left:6%; right:6%; top:auto; bottom:6px; height:44px; background:radial-gradient(closest-side, rgba(30,12,8,0.5), rgba(30,12,8,0.18) 60%, transparent); clip-path:none;}
.panel-clay .boots-stage::after{display:none;}

/* PRODUCT PHOTOS — one consistent "medium" size, never stretched */
.prod-art.has-img img, .prod-art.has-img img.keyed{width:auto; height:auto; max-width:min(150px,62%); max-height:112px; object-fit:contain; transform:none;}
.prod:hover .prod-art.has-img img{transform:translateY(-2px) scale(1.03);}
.pm-media img, .pm-media img.keyed{width:auto; height:auto; max-width:min(300px,78%); max-height:280px; padding:0; object-fit:contain;}
.prod-art.has-img img, .prod-art.has-img img.keyed{height:112px; width:auto; max-width:min(150px,62%); max-height:none; object-fit:contain;}
.pm-media img, .pm-media img.keyed{height:260px; width:auto; max-width:78%; max-height:none; object-fit:contain;}

/* QUANTITY STEPPERS */
.prod-actions{flex-wrap:wrap;}
.prod-actions .add-btn{flex:1 0 100%;}
.qty-step{display:inline-flex; align-items:stretch; border:1px solid rgba(17,16,20,0.22); background:#fff; height:38px;}
.prod-actions select{height:38px;}
.qty-step button{width:34px; background:none; border:0; cursor:pointer; font-size:18px; line-height:1; color:var(--navy); transition:background .15s ease;}
.qty-step button:hover{background:var(--paper);}
.qty-step input, .qty .qty-in{width:52px; border:0; border-left:1px solid var(--hair-lt); border-right:1px solid var(--hair-lt); text-align:center; font:inherit; font-size:15px; font-weight:600; color:var(--ink); background:#fff; font-variant-numeric:tabular-nums; -moz-appearance:textfield; appearance:textfield; color-scheme:light;}
.qty-step input::-webkit-outer-spin-button, .qty-step input::-webkit-inner-spin-button, .qty .qty-in::-webkit-outer-spin-button, .qty .qty-in::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
.qty-step input:focus, .qty .qty-in:focus{outline:2px solid var(--gold); outline-offset:-2px;}
.qty .qty-in{width:56px; height:30px; font-size:14px;}
.pm-sel{display:inline-flex; gap:10px; align-items:center;}
.cart-line .qty{justify-self:start;}

/* BlackWeld quote intake */
.quote-overlay[hidden]{display:none!important}.quote-overlay{position:fixed;inset:0;background:rgba(0,0,0,.77);z-index:3000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 18px}.quote-lock{overflow:hidden}.quote-panel{position:relative;background:#f7f3e9;color:#181819;width:min(900px,100%);padding:clamp(22px,4vw,48px);border-top:5px solid #b78b22;box-shadow:0 16px 65px #0008}.quote-panel h2{font-size:clamp(28px,3vw,44px);margin:12px 0}.quote-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:34px;cursor:pointer}.quote-intro{max-width:70ch}.quote-summary{white-space:pre-line;max-height:220px;overflow:auto;padding:18px;background:#e9e3d3;border-left:3px solid #b78b22;margin:22px 0;line-height:1.7}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}.quote-grid label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:7px}.quote-grid input,.quote-grid select,.quote-grid textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;background:#fff;border:1px solid #a5a39d;border-radius:0;font:inherit;color:#161719}.quote-grid textarea{min-height:95px}.quote-wide{grid-column:1/-1}.quote-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.quote-feedback{font-size:15px;line-height:1.65;font-weight:600;padding:14px;background:#e8eadf}.quote-feedback:empty{display:none}@media(max-width:650px){.quote-grid{grid-template-columns:1fr}.quote-overlay{padding:10px}.quote-panel{padding:22px 16px}.quote-actions .btn{width:100%}}

.quote-brand{display:flex;align-items:center;justify-content:flex-start;margin:0 0 16px}.quote-brand-logo{display:block;width:96px;max-width:32%;height:auto;object-fit:contain}@media(max-width:650px){.quote-brand-logo{width:76px}}

.quote-done-close{display:block;margin-top:16px}.quote-done-close[hidden]{display:none!important}

/* Accessible floating back-to-top control */
.bc-back-top{position:fixed;right:clamp(18px,2.6vw,40px);bottom:clamp(18px,3vw,42px);z-index:1900;width:52px;height:52px;display:grid;place-items:center;border:2px solid #6e364c;border-radius:50%;background:#6e364c;color:white;box-shadow:0 5px 22px rgba(0,0,0,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .22s ease}.bc-back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.bc-back-top:hover{background:#51263a}.bc-back-top:focus-visible{outline:3px solid #d4af37;outline-offset:3px}@media(max-width:650px){.bc-back-top{width:46px;height:46px;right:16px;bottom:18px}}@media(prefers-reduced-motion:reduce){.bc-back-top{transition:none}}
