
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ============ 5-COLOUR PALETTE ============ */
:root{
  --white:#ffffff;
  --black:#1a1a1a;
  --cream:#f5f0e8;
  --grey:#c8c2b4;
  --gold:#b8963e;

  --serif:'Fraunces',serif;
  --body:'Inter',sans-serif;
  --mono:'DM Mono',monospace;
}

/* light section colours */
.light{ background:var(--cream); color:var(--black); }
.light .sub    { color:#555048; }   /* readable dark grey on cream */
.light .muted  { color:#888070; }   /* secondary info, still legible */
.light .rule   { border-color:var(--grey); }

/* dark section colours */
.dark{ background:var(--black); color:var(--white); }
.dark .sub     { color:#b0a898; }   /* readable light grey on black */
.dark .muted   { color:#787060; }
.dark .rule    { border-color:#3a3830; }

html{
  scroll-behavior:smooth;
  color-scheme:light;
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--body);
  background:var(--cream);
  color:var(--black);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--white)}

/* ============ PLACEHOLDER BLOCKS ============ */
.ph{
  background:var(--grey);
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:var(--black);
  font-family:var(--mono);font-size:0.78rem;letter-spacing:.06em;text-transform:uppercase;
  line-height:1.8;padding:1.5rem;border:1px dashed var(--black);min-height:240px;
}
.dark .ph{
  background:#2a2826;
  color:var(--white);
  border-color:var(--white);
}
.ph span{max-width:240px}

/* ============ NAV ============ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.4rem 3rem;
  background:rgba(245,240,232,0.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--grey);
}
.nav-mark{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.nav-mark img{height:24px;width:auto}
.nav-mark .bar{width:1px;height:18px;background:var(--grey)}
.nav-mark .word{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--black)}
.nav-links{display:flex;gap:2.6rem;list-style:none;align-items:center}
.nav-links a{
  font-family:var(--mono);font-size:0.68rem;letter-spacing:.08em;
  color:#666058;transition:color .2s;
}
.nav-links a:hover{color:var(--black)}
.nav-cta{border-bottom:1px solid var(--grey) !important;padding-bottom:2px}
.nav-cta:hover{border-color:var(--gold) !important;color:var(--gold) !important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hamburger span{display:block;width:20px;height:1px;background:var(--black)}
@media(max-width:880px){.nav-links{display:none}.hamburger{display:flex}nav{padding:1.1rem 1.5rem}}

.mob-nav{
  display:none;position:fixed;inset:0;z-index:300;
  background:var(--cream);flex-direction:column;align-items:center;justify-content:center;gap:2rem;
}
.mob-nav.open{display:flex}
.mob-nav a{font-family:var(--serif);font-size:1.7rem;color:var(--black)}
.mob-close{position:absolute;top:1.5rem;right:1.6rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--black)}

/* ============ SECTION STRUCTURE ============ */
section{padding:5.5rem 3rem}
.section-inner{max-width:1280px;margin:0 auto}
@media(max-width:600px){section{padding:4rem 1.5rem}}

.row-label{
  display:flex;align-items:baseline;
  padding-bottom:.9rem;margin-bottom:2.6rem;
  border-bottom:1px solid var(--grey);
}
.dark .row-label{border-color:#3a3830}
.row-label .tag{
  font-family:var(--mono);font-size:0.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:#888070;
}
.dark .row-label .tag{color:#b0a898}
.row-label .tag.gold{color:var(--gold)}
.row-label .ct{font-family:var(--mono);font-size:0.64rem;color:#888070}
.dark .row-label .ct{color:#b0a898}

.s-h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.7rem,3.2vw,2.5rem);
  line-height:1.2;margin-bottom:1.1rem;max-width:640px;
  color:var(--black);
}
.dark .s-h2{color:var(--white)}
.s-h2 i{font-style:italic}

.s-intro{font-size:0.98rem;line-height:1.85;max-width:520px;color:#555048}
.dark .s-intro{color:#b0a898}

/* ============ MEMBERS FORMS ============ */
.members-forms{margin-top:2.4rem;display:flex;flex-direction:column;gap:.6rem}
.members-panel{border:1px solid #3a3830}
.members-panel-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:1.1rem 1.4rem;background:transparent;border:none;cursor:pointer;
  font-family:var(--mono);font-size:0.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--white);text-align:left;transition:background .2s;
}
.members-panel-btn:hover{background:rgba(255,255,255,0.04)}
.members-panel-btn.open{background:rgba(255,255,255,0.06)}
.panel-arrow{font-size:1.1rem;color:var(--gold);transition:transform .25s;line-height:1;flex-shrink:0}
.members-panel-btn.open .panel-arrow{transform:rotate(45deg)}
.members-panel-body{
  display:none;padding:1.4rem;border-top:1px solid #3a3830;
}
.members-panel-body.open{display:block}
.members-code-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:.07em;text-transform:uppercase;color:#888070;margin-bottom:.5rem;display:block}
.members-code-row{display:flex;gap:.8rem;align-items:flex-end}
.members-code-row input{flex:1;background:transparent;border:none;border-bottom:1px solid #3a3830;padding:.7rem 0;font-family:var(--body);font-size:0.95rem;color:var(--white);border-radius:0}
.members-code-row input:focus{outline:none;border-color:var(--gold)}
.members-code-row .form-submit{margin-top:0;padding:.7rem 1.2rem;flex-shrink:0;background:transparent;border:1px solid #3a3830;color:var(--white)}
.members-code-row .form-submit:hover{background:var(--gold);border-color:var(--gold)}
#members .form input,#members .form textarea{background:transparent;border-bottom:1px solid #3a3830;color:var(--white)}
#members .form input:focus,#members .form textarea:focus{border-color:var(--gold)}
#members .form label{color:#888070}
#members .form-submit{background:transparent;border:1px solid #3a3830;color:var(--white)}
#members .form-submit:hover{background:var(--gold);border-color:var(--gold)}
.qz-carousel{position:relative;overflow:hidden}
.qz-slides{display:flex;transition:transform .5s ease}
.qz-slides img{flex-shrink:0;width:100%}
.qz-dots{
  display:flex;justify-content:center;gap:.5rem;
  padding:.8rem 0 0;
}
.qz-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(247,245,240,0.3);cursor:pointer;
  transition:background .2s;
}
.qz-dot.active{background:var(--gold)}

/* ============ MEMBERS DARK FIX ============ */
#members.dark .s-h2{color:var(--white)}
#members.dark .s-intro{color:#b0a898}
#members.dark .comm-row p{color:var(--white)}
#members.dark .comm-rows{border-top:1px solid #3a3830;margin-top:1.8rem}
#members.dark .comm-row{border-bottom:1px solid #3a3830}
#members.dark .text-link{color:var(--white);border-color:rgba(255,255,255,0.3)}
#members.dark .text-link:hover{color:var(--gold);border-color:var(--gold)}
#members.dark .row-label{border-color:#3a3830}
#members.dark .row-label .tag{color:var(--gold)}
.scorecard-strip{
  background:var(--cream);
  border-bottom:1px solid var(--grey);
  padding:.75rem 0;
  overflow:hidden;
  white-space:nowrap;
}
.scorecard-inner{
  display:inline-block;
  animation:scroll-left 18s linear infinite;
  font-family:var(--mono);font-size:0.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:#888070;
}
.sc-dot{color:var(--black);padding:0 1.2rem;opacity:.3}
@keyframes scroll-left{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.hero{padding:61.8px 0 0;background:var(--cream)}
.hero-frame{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  position:relative;
}
@media(min-width:700px){.hero-frame{aspect-ratio:16/9}}
.hero-frame img{
  width:100%;height:100%;object-fit:cover;
  object-position:center 65%;
  display:block;
}
.hero-frame::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:18%;
  background:linear-gradient(to bottom, transparent, var(--cream));
  pointer-events:none;
}
.hero-cap{
  max-width:1280px;margin:0 auto;padding:1.4rem 3rem 0;
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;
}
.hero-cap-text{
  font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15rem;
  color:var(--black);max-width:480px;line-height:1.5;
}
.hero-cap-meta{
  font-family:var(--mono);font-size:0.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:#888070;text-align:right;
}
@media(max-width:700px){.hero-cap{flex-direction:column}.hero-cap-meta{text-align:left}}

/* ============ BRAND — LIGHT ============ */
#brand{background:var(--cream);color:var(--black)}
.brand-body{max-width:700px}
.brand-body p{font-size:0.98rem;line-height:1.9;color:var(--black);margin-bottom:1.1rem}
.brand-float{float:right;width:210px;margin:0 0 1.4rem 2.2rem}
.brand-float img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center top;display:block}
.brand-clearfix::after{content:'';display:table;clear:both}
.brand-founders{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  margin-top:1.2rem;
  max-width:480px;
}
.founder{position:relative;overflow:hidden}
.founder-photo{
  width:100%;aspect-ratio:1/1;overflow:hidden;
  background:#e9e5d9;
  display:flex;align-items:center;justify-content:center;
  text-align:center;font-family:var(--mono);font-size:0.6rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--black);
  padding:0;line-height:1.6;
}
.founder-photo img{
  width:100%;height:100%;object-fit:cover;
  object-position:center center;display:block;
}
.founder-overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:.6rem .8rem;
  background:linear-gradient(to top, rgba(26,26,26,0.82), transparent);
  font-family:var(--serif);font-size:0.82rem;color:#ffffff;font-style:italic;
}
@media(max-width:600px){
  .brand-float{width:130px;margin:0 0 1rem 1.2rem}
  .brand-founders{max-width:100%}
}

.scorecard{margin-top:2.8rem;border-top:1px solid var(--grey)}
.sc-row{
  display:flex;justify-content:space-between;
  padding:.85rem 0;border-bottom:1px solid var(--grey);
  font-family:var(--mono);font-size:0.78rem;
}
.sc-row span:first-child{color:#888070}
.sc-row span:last-child{color:var(--black)}

/* ============ THE EDIT — DARK ============ */
#edit{background:var(--black);color:var(--white)}
.edit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.edit-card{position:relative;border-right:1px solid #3a3830;border-bottom:1px solid #3a3830}
.edit-card:nth-child(4){border-right:none}
.edit-card .frame{aspect-ratio:3/4;overflow:hidden}
.edit-card img,.edit-card video{width:100%;height:100%;object-fit:cover;display:block}
.edit-card .cap b{font-family:var(--serif);font-weight:400;font-size:0.92rem;display:block;margin-bottom:.2rem;color:var(--white)}
.edit-card .cap span{font-family:var(--mono);font-size:0.6rem;letter-spacing:.06em;text-transform:uppercase;color:#b0a898}
.edit-pad{padding:1rem 1.4rem 1.4rem}
.edit-card:first-child .edit-pad,.edit-card:nth-child(4n+1) .edit-pad{padding-left:0}
@media(max-width:880px){.edit-grid{grid-template-columns:repeat(2,1fr)}.edit-card:nth-child(2n){border-right:none}}
@media(max-width:560px){.edit-grid{grid-template-columns:1fr}.edit-card{border-right:none!important}}

/* ============ COMMISSION — LIGHT ============ */
#commission{background:var(--cream);color:var(--black)}
.comm-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:start}
@media(max-width:880px){.comm-grid{grid-template-columns:1fr;gap:2rem}}
.comm-photo .ph{aspect-ratio:4/5;min-height:auto}
.comm-rows{border-top:1px solid var(--grey);margin-top:1.8rem}
.comm-row{padding:1.3rem 0;border-bottom:1px solid var(--grey);display:flex;gap:1.5rem}
.comm-row .n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1rem;flex-shrink:0;width:1.6rem}
.comm-row p{font-size:0.92rem;line-height:1.7;color:var(--black)}
.dark .comm-row p{color:var(--white)}
.dark .text-link{color:var(--white);border-color:rgba(255,255,255,0.3)}
.dark .text-link:hover{color:var(--gold);border-color:var(--gold)}
.dark .s-intro{color:#b0a898}
.text-link{
  font-family:var(--mono);font-size:0.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--black);border-bottom:1px solid var(--grey);padding-bottom:3px;
  display:inline-block;margin-top:1.8rem;transition:border-color .2s,color .2s;
}
.text-link:hover{border-color:var(--gold);color:var(--gold)}

/* ============ DROPS — DARK ============ */
#drops{background:var(--black);color:var(--white)}
.drops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
@media(max-width:880px){.drops-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:600px){.drops-grid{grid-template-columns:1fr}}
.drop-status{
  font-family:var(--mono);font-size:0.6rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem;
}
.drop-name{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin-bottom:.4rem;color:var(--white)}
.drop-desc{font-size:0.88rem;line-height:1.7;color:#b0a898}

/* ============ MEMBERS — LIGHT ============ */
#members.dark{background:#1a1a1a !important;color:#ffffff !important}
.members-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border-top:1px solid var(--grey);border-left:1px solid var(--grey);
}
.tier{padding:2.4rem;border-right:1px solid var(--grey);border-bottom:1px solid var(--grey)}
@media(max-width:760px){.members-grid{grid-template-columns:1fr}.tier{border-right:none}}
.tier-name{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin-bottom:.3rem;color:var(--black)}
.tier-price{font-family:var(--mono);font-size:0.7rem;letter-spacing:.06em;text-transform:uppercase;color:#888070;margin-bottom:1.5rem}
.tier.featured .tier-price{color:var(--gold)}
.tier ul{list-style:none}
.tier li{font-size:0.88rem;line-height:1.7;color:#555048;padding:.6rem 0;border-top:1px solid var(--grey)}
.tier li:first-child{border-top:none}

/* ============ CONTACT — LIGHT ============ */
#contact{background:var(--cream);color:var(--black)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:4.5rem;align-items:start}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}
.contact-info p{font-size:0.95rem;line-height:1.85;color:#555048;margin-bottom:1.6rem;max-width:420px}
.contact-channel{padding:1rem 0;border-top:1px solid var(--grey);display:flex;align-items:baseline;gap:1rem}
.contact-channel:first-of-type{border-top:1px solid var(--grey);margin-top:.6rem}
.contact-channel .lbl{font-family:var(--mono);font-size:0.6rem;letter-spacing:.08em;text-transform:uppercase;color:#888070;width:5.5rem;flex-shrink:0}
.contact-channel a{font-family:var(--body);font-size:0.92rem;color:var(--black);transition:color .2s}
.contact-channel a:hover{color:var(--gold)}

.form{display:flex;flex-direction:column;gap:1.3rem}
.form label{font-family:var(--mono);font-size:0.6rem;letter-spacing:.07em;text-transform:uppercase;color:#888070;margin-bottom:.5rem;display:block}
.form input,.form select,.form textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--grey);
  padding:.7rem .6rem;font-family:var(--body);font-size:0.95rem;
  color:var(--black);border-radius:0;
}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.form textarea{resize:vertical;min-height:90px}
.form-submit{
  margin-top:.8rem;background:var(--black);color:var(--white);border:1px solid var(--black);
  padding:.95rem 2rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;transition:background .2s,border-color .2s,color .2s;align-self:flex-start;
}
.form-submit:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
.form-submit:disabled{opacity:.55;cursor:default}
.f-success{display:none;padding:1.8rem 0;border-top:1px solid var(--gold);color:var(--black)}
.f-success b{font-family:var(--serif);font-size:1.1rem;display:block;margin-bottom:.4rem;color:var(--black)}

/* ============ FOOTER — DARK ============ */
footer{
  background:var(--black);color:var(--white);
  padding:4rem 3rem 2rem;
  border-top:1px solid #3a3830;
}
.f-inner{max-width:1280px;margin:0 auto}
footer .f-brand{margin-bottom:3rem}
footer .f-cols{display:flex;gap:4rem;margin-bottom:3rem}
@media(max-width:600px){footer .f-cols{gap:2.5rem;flex-wrap:wrap}}
.f-col h4{font-family:var(--mono);font-size:0.6rem;letter-spacing:.1em;text-transform:uppercase;color:#888070;margin-bottom:1rem}
.f-col ul{list-style:none}
.f-col li{margin-bottom:.55rem}
.f-col a{font-size:0.88rem;color:#b0a898;transition:color .2s}
.f-col a:hover{color:var(--white)}
.f-mark{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}
.f-mark img{height:22px}
.f-mark .bar{width:1px;height:16px;background:#3a3830}
.f-mark .word{font-family:var(--serif);font-size:0.95rem;color:var(--white)}
.f-tagline{font-size:0.84rem;color:#888070;line-height:1.7}
.f-bottom{
  padding-top:1.5rem;border-top:1px solid #3a3830;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
@media(max-width:600px){footer{padding:3rem 1.5rem 1.5rem}.f-bottom{flex-direction:column;align-items:flex-start}}
.f-copy{font-family:var(--mono);font-size:0.62rem;color:#888070;letter-spacing:.04em}
.f-built{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:0.62rem;letter-spacing:.06em;text-transform:uppercase;color:#888070;transition:color .2s}
.f-built img{width:16px;height:16px;border-radius:50%}
.f-built:hover{color:var(--gold)}

/* ============ GOLD TRIM ACCENTS ============ */
.gold-accent{color:var(--gold)}

:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important}}

/* ================= VX MULTI-PAGE ADDITIONS ================= */
.nav-links a.active{color:var(--black)}
.nav-links a.active::after{content:'';display:block;height:1px;background:var(--gold);margin-top:3px}
.nav-right{display:flex;align-items:center;gap:1.4rem}
.bk-btn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:0.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--black);padding:4px 0}
.bk-btn .bk-count{min-width:18px;height:18px;padding:0 5px;border-radius:9px;border:1px solid var(--gold);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-size:0.6rem;letter-spacing:0}
.bk-btn.has-items .bk-count{background:var(--gold);color:var(--white)}
@media(max-width:880px){.nav-right{gap:1rem}}

/* static scorecard strip (no scrolling) */
.scorecard-inner{animation:none;display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 0;width:100%}

/* page header for inner pages */
.page-head{padding:calc(61.8px + 4.5rem) 3rem 3.2rem;background:var(--cream)}
.page-head.dark{background:var(--black)}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.12;margin-bottom:1rem;max-width:760px}
.page-head h1 i{font-style:italic}
.page-head.dark h1{color:var(--white)}
.page-head .s-intro{max-width:600px}
@media(max-width:600px){.page-head{padding:calc(56px + 3rem) 1.5rem 2.4rem}}

/* hero actions */
.hero-actions{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--black);color:var(--white);border:1px solid var(--black);padding:.95rem 1.8rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
.btn.ghost{background:transparent;color:var(--black);border-color:var(--grey)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}
.dark .btn{background:var(--white);color:var(--black);border-color:var(--white)}
.dark .btn:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
.dark .btn.ghost{background:transparent;color:var(--white);border-color:#3a3830}
.btn[disabled]{opacity:.45;cursor:default;pointer-events:none}

/* product cards */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2.4rem}
@media(max-width:980px){.shop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.shop-grid{grid-template-columns:1fr;gap:2.6rem}}
.p-card{display:flex;flex-direction:column}
.p-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e9e5d9;margin-bottom:1.1rem}
.dark .p-media{background:#2a2826}
.p-media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:opacity .35s ease}
.p-flag{position:absolute;top:.9rem;left:.9rem;background:var(--cream);color:var(--black);font-family:var(--mono);font-size:0.56rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .6rem;border:1px solid var(--gold)}
.p-status{font-family:var(--mono);font-size:0.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.p-name{font-family:var(--serif);font-weight:400;font-size:1.2rem;margin-bottom:.25rem}
.p-meta{font-family:var(--mono);font-size:0.66rem;letter-spacing:.06em;text-transform:uppercase;color:#888070;margin-bottom:.75rem}
.dark .p-meta{color:#b0a898}
.p-desc{font-size:0.88rem;line-height:1.75;color:#555048;margin-bottom:1rem}
.dark .p-desc{color:#b0a898}
.p-opts{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.1rem;margin-top:auto}
.p-opt-lbl{font-family:var(--mono);font-size:0.58rem;letter-spacing:.08em;text-transform:uppercase;color:#888070;margin-bottom:.45rem;display:block}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{background:transparent;border:1px solid var(--grey);color:var(--black);font-family:var(--body);font-size:0.78rem;padding:.42rem .7rem;cursor:pointer;transition:border-color .2s,background .2s,color .2s;line-height:1.2}
.chip:hover{border-color:var(--black)}
.chip.on{background:var(--black);border-color:var(--black);color:var(--white)}
.chip[disabled]{opacity:.38;text-decoration:line-through;cursor:default}
.chip small{display:block;font-family:var(--mono);font-size:0.52rem;letter-spacing:.06em;color:var(--gold);margin-top:2px;text-transform:uppercase}
.chip.on small{color:#e9d9a8}
.qty{display:inline-flex;align-items:center;border:1px solid var(--grey)}
.qty button{width:34px;height:34px;background:none;border:none;cursor:pointer;font-size:1rem;color:var(--black)}
.qty input{width:42px;height:34px;border:none;border-left:1px solid var(--grey);border-right:1px solid var(--grey);text-align:center;font-family:var(--body);font-size:0.88rem;background:transparent;color:var(--black);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.p-add{align-self:flex-start}
.p-hint{font-family:var(--mono);font-size:0.58rem;letter-spacing:.06em;text-transform:uppercase;color:#c0392b;margin-top:.5rem;min-height:1em}

/* feature (home) */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.feature .p-media{margin-bottom:0}
@media(max-width:880px){.feature{grid-template-columns:1fr;gap:2rem}}

/* teaser cards */
.teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
@media(max-width:880px){.teasers{grid-template-columns:1fr}}
.teaser .frame{aspect-ratio:4/5;overflow:hidden;margin-bottom:1rem;background:#e9e5d9}
.teaser .frame img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .8s ease}
.teaser:hover .frame img{transform:scale(1.03)}
.teaser b{font-family:var(--serif);font-weight:400;font-size:1.1rem;display:block;margin-bottom:.3rem}
.teaser span{font-family:var(--mono);font-size:0.62rem;letter-spacing:.08em;text-transform:uppercase;color:#888070}

/* split block */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:4.5rem;align-items:start}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:2rem}}
.split .frame img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}

/* bespoke builder */
.builder{border:1px solid var(--grey);padding:2.2rem;background:var(--white)}
@media(max-width:600px){.builder{padding:1.4rem}}
.builder .form{gap:1.2rem}
.b-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media(max-width:600px){.b-row{grid-template-columns:1fr}}
.b-note{font-size:0.82rem;line-height:1.7;color:#555048;margin-top:.2rem}

/* gallery strip */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
@media(max-width:880px){.gallery{grid-template-columns:repeat(2,1fr)}}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top}

/* ================= ENQUIRY BASKET ================= */
.bk-overlay{position:fixed;inset:0;background:rgba(26,26,26,.45);z-index:400;opacity:0;pointer-events:none;transition:opacity .3s}
.bk-overlay.open{opacity:1;pointer-events:auto}
.bk-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--cream);z-index:410;transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;border-left:1px solid var(--grey)}
.bk-drawer.open{transform:none}
.bk-head{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 1.6rem;border-bottom:1px solid var(--grey)}
.bk-head h3{font-family:var(--serif);font-weight:400;font-size:1.25rem}
.bk-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--black)}
.bk-body{flex:1;overflow-y:auto;padding:1.2rem 1.6rem 1.6rem}
.bk-empty{font-size:0.92rem;line-height:1.8;color:#555048;padding:1rem 0}
.bk-item{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--grey);align-items:start}
.bk-item img{width:64px;height:80px;object-fit:cover;object-position:center top;background:#e9e5d9}
.bk-item b{font-family:var(--serif);font-weight:400;font-size:0.98rem;display:block;margin-bottom:.2rem}
.bk-item .bk-var{font-size:0.78rem;color:#555048;line-height:1.55}
.bk-item .bk-price{font-family:var(--mono);font-size:0.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-top:.35rem}
.bk-item .qty{margin-top:.55rem}
.bk-item .qty button,.bk-item .qty input{height:28px}
.bk-item .qty button{width:28px}
.bk-rm{background:none;border:none;font-family:var(--mono);font-size:0.56rem;letter-spacing:.08em;text-transform:uppercase;color:#888070;cursor:pointer;text-decoration:underline}
.bk-sum{padding:1rem 0 .4rem;font-size:0.82rem;line-height:1.8;color:#555048}
.bk-sum strong{color:var(--black);font-weight:500}
.bk-step{margin-top:1.2rem}
.bk-step h4{font-family:var(--mono);font-size:0.62rem;letter-spacing:.1em;text-transform:uppercase;color:#888070;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--grey)}
.bk-form .form{gap:1rem}
.bk-form .form-submit{width:100%;justify-content:center;text-align:center}
.bk-done{display:none;padding:1.6rem 0}
.bk-done b{font-family:var(--serif);font-weight:400;font-size:1.2rem;display:block;margin-bottom:.5rem}
.bk-done p{font-size:0.9rem;line-height:1.8;color:#555048}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,140%);background:var(--black);color:var(--white);font-family:var(--mono);font-size:0.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1.2rem;z-index:420;display:flex;gap:1rem;align-items:center;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.toast.show{transform:translate(-50%,0)}
.toast button{background:none;border:none;color:var(--gold);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-decoration:underline}
@media(prefers-reduced-motion:reduce){.bk-drawer,.bk-overlay,.toast{transition:none}}

/* controls on dark sections */
.dark .chip{border-color:#3a3830;color:var(--white)}
.dark .chip:hover{border-color:var(--white)}
.dark .chip.on{background:var(--white);border-color:var(--white);color:var(--black)}
.dark .chip.on small{color:var(--gold)}
.dark .qty{border-color:#3a3830}
.dark .qty button,.dark .qty input{color:var(--white)}
.dark .qty input{border-color:#3a3830}
.dark .p-opt-lbl{color:#b0a898}
.dark .p-name{color:var(--white)}
.dark .p-hint{color:#e07b6e}
.dark .text-link{color:var(--white);border-color:rgba(255,255,255,.3)}

/* ============ TYPE REFINEMENT: two families, classic serif + clean sans ============ */
:root{--serif:'EB Garamond',Georgia,serif;--body:'Jost',system-ui,sans-serif;--mono:'Jost',system-ui,sans-serif}
body{font-size:16.5px;line-height:1.75;font-weight:400}
h1,h2,h3,.s-h2,.hero h1,.page-head h1{font-family:var(--serif);font-weight:400;letter-spacing:-.005em}
.s-h2{line-height:1.12}
/* labels formerly in mono: small caps style in the sans */
.row-label,.row-label .ct,.nav-links a,.panel-head,.btn,.form-submit,.bk-btn,.p-flag,.p-status,.p-meta,.p-opt-lbl,
.teaser span,.bk-step h4,.toast,.f-col h4,.f-copy,.f-built,.form label,.members-code-label,.contact-channel .lbl,
.tier-price,.edit-card .cap span,.drop-tag,.p-hint,.bk-rm,.bk-item .bk-price,.chip small{
  font-family:var(--body);font-weight:500;letter-spacing:.16em}
.btn,.form-submit{font-size:.72rem;padding:1rem 2rem}
.p-name,.tier-name,.drop-name{font-family:var(--serif)}

/* ============ CLEAN-UP PASS ============ */
.hero-cap{align-items:flex-end;padding:2.4rem 3rem 3rem;gap:1.6rem}
.hero-h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.05;color:var(--black)}
.hero-h1 i{font-style:italic}
.hero-sub{margin-top:.7rem;color:#555048;font-size:1rem}
@media(max-width:700px){.hero-cap{padding:1.8rem 1.4rem 2.4rem;align-items:flex-start}}
.p-price{font-family:var(--serif);font-size:1.6rem;line-height:1;margin:.2rem 0 .5rem}
.dark .p-price{color:var(--white)}
.feature{gap:5rem}
.feature .p-name{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.p-select{width:100%;max-width:340px;background:transparent;border:1px solid var(--grey);padding:.7rem .8rem;font-family:var(--body);font-size:.9rem;color:var(--black);border-radius:0;appearance:auto}
.dark .p-select{border-color:#3a3830;color:var(--white);background:#1a1a1a}

/* ============ PROFESSIONAL TYPE: single sans family (aligned with Benoil) ============ */
:root{--serif:'Lato',system-ui,sans-serif;--body:'Lato',system-ui,sans-serif;--mono:'Lato',system-ui,sans-serif}
body{font-size:16px;line-height:1.7}
h1,h2,h3,.s-h2,.hero-h1,.page-head h1,.p-name,.tier-name,.drop-name{font-family:var(--body);font-weight:700;letter-spacing:-.01em}
.s-h2{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.2}
.hero-h1{font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.15}
h1 i,h2 i,h3 i,.s-h2 i,.hero-h1 i{font-style:normal}
.p-price{font-family:var(--body);font-weight:700}
.nav-mark .word,.f-mark .word{font-family:var(--body);font-weight:700;letter-spacing:.01em}
.nav-links a{letter-spacing:.04em;text-transform:none;font-size:.88rem;font-weight:400}
.row-label,.row-label .ct,.p-status,.p-meta,.p-opt-lbl,.teaser span,.bk-step h4,.f-col h4,.form label,.members-code-label,.contact-channel .lbl,.tier-price,.edit-card .cap span,.p-hint,.bk-item .bk-price,.chip small{letter-spacing:.08em;font-weight:700}
.btn,.form-submit,.bk-btn{letter-spacing:.06em;font-weight:700}
.mob-nav a{font-family:var(--body);font-weight:700}
.hero-cap-text,.brand-quote,.comm-row .n{font-style:normal}

/* ============ HERO CAPTION: lighter, aligned to the section grid ============ */
.hero-cap{max-width:calc(1280px + 6rem);padding:2.6rem 3rem 3.2rem;align-items:center;gap:2rem}
.hero-h1{font-weight:300;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.25;letter-spacing:0}
.hero-sub{margin-top:.45rem;font-size:.95rem;color:#6b6558}
@media(max-width:600px){.hero-cap{padding:1.8rem 1.5rem 2.4rem;align-items:flex-start}}

/* ============ GOLD CURSOR ============ */
@media(pointer:fine){
  *{cursor:none !important}
  .cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;width:10px;height:10px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);transition:width .2s ease,height .2s ease,background .2s ease}
  .cursor-ring{position:fixed;top:0;left:0;z-index:9998;pointer-events:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);transform:translate(-50%,-50%);transition:transform .12s ease,width .2s ease,height .2s ease,opacity .2s ease;opacity:.6}
  .cursor.hover{width:6px;height:6px}
  .cursor-ring.hover{width:52px;height:52px;opacity:.4}
}
@media not (pointer:fine){.cursor,.cursor-ring{display:none}}

/* ============ REFINE: lighter headings, roomier brand layout ============ */
h1,h2,.s-h2,.page-head h1{font-weight:400;letter-spacing:-.005em}
.s-h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.18}
.p-name,.tier-name,.drop-name,.edit-card .cap b{font-weight:400}
.feature .p-name{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.p-price{font-weight:400}
#brand .s-h2{max-width:none;margin-bottom:2.4rem}
@media(min-width:900px){
  .brand-body{display:grid;grid-template-columns:minmax(0,560px) 340px;column-gap:clamp(3rem,8vw,7rem);max-width:none;align-items:start}
  .brand-body>*{grid-column:1}
  .brand-body .brand-float{grid-column:2;grid-row:1/span 6;float:none;width:100%;margin:0}
  .brand-body .brand-float img{aspect-ratio:4/5}
  .brand-clearfix::after{display:none}
  .brand-founders{margin-top:3rem}
}

/* ============ CLEANER BUTTONS: thin outline, subtle gold on hover ============ */
.btn,.form-submit{background:transparent;color:var(--black);border:1px solid rgba(26,26,26,.55);padding:.85rem 1.7rem;font-size:.7rem;letter-spacing:.14em;font-weight:700;border-radius:0;box-shadow:none}
.btn:hover,.form-submit:hover{background:transparent;border-color:var(--gold);color:var(--gold)}
.btn.ghost{border-color:var(--grey);color:var(--black)}
.dark .btn,.dark .form-submit,.dark .btn.ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.45)}
.dark .btn:hover,.dark .form-submit:hover,.dark .btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}

/* ============ HERO CAPTION: centred, quiet, blended into the fade ============ */
.hero-frame::after{height:30%}
.hero-cap{position:relative;z-index:2;margin:-1.2rem auto 0;max-width:760px;padding:0 1.5rem 4.2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4rem}
.hero-h1{font-weight:300;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.3;letter-spacing:.01em}
.hero-sub{margin-top:.35rem;font-size:.9rem;color:#6b6558}
.hero-actions{justify-content:center;gap:1.8rem}
@media(max-width:600px){.hero-cap{margin-top:-1.5rem;padding:0 1.5rem 3rem}}

/* ============ BRAND: photo tucked beside the paragraphs ============ */
@media(min-width:900px){
  .brand-body{grid-template-columns:minmax(0,540px) 230px;column-gap:3.5rem}
  .brand-body .brand-float{grid-row:1/span 3;margin-top:.35rem}
  .brand-body .brand-float img{aspect-ratio:3/4}
}

/* ===== SHARED KIT: reCAPTCHA and cookie notice ===== */
.rc-wrap{padding:1rem 1.25rem .9rem;display:flex;flex-direction:column;gap:.55rem}
.rc-widget{min-height:78px}
.rc-msg{display:none;font-size:.78rem;line-height:1.5;color:#c0392b}
.rc-msg.show{display:block}
.rc-note{font-size:.68rem;line-height:1.6;opacity:.75;margin:0}
.rc-note a{text-decoration:underline}
@media(max-width:360px){.rc-widget{transform:scale(.88);transform-origin:0 0;min-height:70px}}
.kit-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.ck-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:100000;max-width:620px;margin:0 auto;background:#1a1a1a;color:#ffffff;font-family:'Lato',system-ui,sans-serif;
  display:flex;align-items:center;gap:1rem;padding:.95rem 1.1rem;box-shadow:0 12px 32px rgba(0,0,0,.25);border-radius:4px;transform:translateY(140%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ck-bar.show{transform:none}
.ck-bar p{margin:0;font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.75);flex:1}
.ck-bar a{color:#b8963e;text-decoration:underline}
.ck-bar button{flex-shrink:0;background:#b8963e;color:#ffffff;border:0;padding:.6rem 1.3rem;font-family:'Lato',system-ui,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.04em;cursor:pointer;border-radius:2px}
@media(max-width:560px){.ck-bar{flex-direction:column;align-items:stretch;text-align:left}.ck-bar button{width:100%}}
@media(prefers-reduced-motion:reduce){.ck-bar{transition:none}}
.form .rc-wrap{padding:.25rem 0 .5rem;color:#6b6558}
.dark .form .rc-wrap{color:#b0a898}
