
.mobile-only{display:none}
@media (max-width:760px){.mobile-only{display:flex}}
:root{
  --black:#000;
  --char:#141414;
  --grey-1:#1f1f1f;
  --grey-2:#2b2b2b;
  --rule:#3a3a3a;
  --stage-hi:#353535;--stage-hi-2:#3b3b3b;--shadow-op:.5;--err:var(--err);
  color-scheme:dark;
  --grey:#8e8c88;
  --grey-light:#cfcdc9;
  --white:#fff;
  --beige:#e6dccb;
  --l-base:#24201e;--l-light:#423c38;--l-dark:#0c0b0a;--l-thread:#9a958f;--l-edge:#000;
  --display:"Lexend Exa","Helvetica Neue",Arial,sans-serif;
  --sans:"Lexend","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(1rem,2.4vw,2rem);
  --b:1px solid var(--rule);
}
[data-leather="black"]{--l-base:#24201e;--l-light:#423c38;--l-dark:#0c0b0a;--l-thread:#9a958f;--l-edge:#000}
[data-leather="brown"]{--l-base:#5b3523;--l-light:#7c4b33;--l-dark:#341d12;--l-thread:#d9c3a5;--l-edge:#24130b}
[data-leather="camel"]{--l-base:#b8834f;--l-light:#d3a26d;--l-dark:#8b5d33;--l-thread:#f3e6d0;--l-edge:#5c3b1d}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--white);outline-offset:-2px}
p{margin:0 0 1em;max-width:36em}
h1,h2,h3{margin:0;font-weight:400}

/* giant type: fitted to its container width by script, with a vw fallback */
.mega{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.82;letter-spacing:-.045em;white-space:nowrap;display:block;font-size:15vw}
.big{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:-.03em;line-height:.95;font-size:clamp(2.2rem,6vw,6rem)}
.mid{font-family:var(--display);font-weight:300;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.4rem,2.6vw,2.4rem)}
.small{font-size:.9rem;color:var(--grey)}
.muted{color:var(--grey)}

/* ---------- grid system: every block is a cell with hard rules ---------- */
.row{display:grid;border-bottom:var(--b)}
.cell{padding:var(--pad);min-width:0}
.cell + .cell{border-left:var(--b)}
@media (max-width:860px){
  .row{grid-template-columns:1fr!important}
  .cell + .cell{border-left:0;border-top:var(--b)}
}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:20;background:var(--black);border-bottom:var(--b);display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(3,1fr) auto 1fr}
.site-head a{display:flex;align-items:center;padding:0 var(--pad);height:3.75rem;text-decoration:none;font-size:.92rem;border-left:var(--b);transition:background .15s,color .15s}
.site-head a:first-child{border-left:0}
.site-head a:hover{background:var(--white);color:var(--black)}
.site-head .logo svg{height:1.6rem;width:auto}
.site-head .order-link{background:var(--white);color:var(--black);justify-content:space-between}
.site-head .order-link:hover{background:var(--beige)}
.menu-btn{display:none}
.menu{display:none}
@media (max-width:760px){
  .site-head{grid-template-columns:1fr auto auto auto}
  .site-head a.hide-sm{display:none}
  .site-head .logo svg{height:1.5rem}
  .menu-btn{display:flex;align-items:center;gap:.6rem;height:3.75rem;padding:0 var(--pad);background:var(--black);color:var(--white);border:0;border-left:var(--b);font:inherit;font-size:.92rem;cursor:pointer}
  .menu-btn i{position:relative;width:16px;height:1px;background:currentColor;transition:background .2s}
  .menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;width:16px;height:1px;background:currentColor;transition:transform .25s}
  .menu-btn i::before{top:-5px}.menu-btn i::after{top:5px}
  .menu-open .menu-btn i{background:transparent}
  .menu-open .menu-btn i::before{transform:translateY(5px) rotate(45deg)}
  .menu-open .menu-btn i::after{transform:translateY(-5px) rotate(-45deg)}
  .menu{position:fixed;inset:3.75rem 0 0;z-index:19;background:var(--black);display:flex;flex-direction:column;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .2s,visibility 0s .2s}
  .menu-open .menu{visibility:visible;opacity:1;transition:opacity .2s}
  .menu a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.1rem var(--pad);border-bottom:var(--b);text-decoration:none;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2.2rem,12vw,3.4rem);line-height:1}
  .menu a small{font-family:var(--sans);font-size:.85rem;text-transform:none;letter-spacing:0;color:var(--grey);font-weight:300}
  .menu a:active{background:var(--white);color:var(--black)}
  .menu .menu-foot{margin-top:auto;padding:var(--pad);color:var(--grey);font-size:.9rem}
  body.menu-open{overflow:hidden}
}

/* ---------- hero ---------- */
.hero-logo{padding:clamp(1.5rem,3vw,3rem) var(--pad) clamp(1rem,2vw,2rem);border-bottom:var(--b)}
.hero-logo svg{width:100%;height:auto}
@media (prefers-reduced-motion:no-preference){
}
.hero{grid-template-columns:1.25fr 1fr}
.hero-stage{background:radial-gradient(60% 55% at 50% 50%,var(--stage-hi) 0%,var(--grey-1) 75%);display:grid;place-items:center;min-height:min(70vh,640px);padding:clamp(2rem,5vw,4rem)}
.hero-stage svg{width:88%}
.hero-copy{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem}
.hero-copy h1{font-size:clamp(2.4rem,5.6vw,5.6rem)}
.hero-copy .lede{font-size:1.15rem;color:var(--grey-light)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--b)}
.facts div{padding:1.1rem var(--pad);font-size:.95rem}
.facts div + div{border-left:var(--b)}
.facts strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:-.03em;line-height:1.1}


/* ---------- product ---------- */
.product-name{border-bottom:var(--b);padding:clamp(1.25rem,3vw,2.5rem) var(--pad) clamp(.6rem,1.4vw,1.2rem);overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:0}
@media (max-width:640px){.product-name{flex-direction:column;align-items:flex-start;gap:.5rem}}
.product-name .mega{flex:1}
.product-name .kind{font-size:.95rem;color:var(--grey);white-space:nowrap;padding-bottom:.4rem}
.product{grid-template-columns:1.4fr 1fr}
.product--grey{background:var(--char)}
.product-stage{margin:0;background:radial-gradient(60% 55% at 50% 50%,var(--stage-hi) 0%,var(--grey-1) 75%);display:grid;place-items:center;min-height:min(80vh,760px);position:relative;padding:clamp(2rem,4vw,4rem)}
.product--grey .product-stage{background:radial-gradient(60% 55% at 50% 50%,var(--stage-hi-2) 0%,var(--grey-2) 75%)}
.product-stage svg{width:86%}
.product-stage figcaption{position:absolute;left:var(--pad);top:var(--pad);font-size:.9rem;color:var(--grey)}
.product-info{padding:0;display:flex;flex-direction:column}
.product-info > *{padding:var(--pad);border-bottom:var(--b)}
.product-info > *:last-child{border-bottom:0;margin-top:auto}
.product-info .lede{font-size:1.15rem;color:var(--grey-light);margin:0}

/* colour blocks */
.colours{border:0;margin:0;padding:0!important;min-width:0}
.colours legend{padding:var(--pad) var(--pad) .85rem;font-size:.95rem;float:left;width:100%}
.colours legend output{color:var(--grey)}
.colour-row{display:grid;grid-template-columns:repeat(3,1fr);clear:both;border-top:var(--b)}
.colour{position:relative;display:block;height:5.5rem;background:var(--c);cursor:pointer}
.colour + .colour{border-left:var(--b)}
.colour input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.colour span{position:absolute;left:.8rem;bottom:.6rem;font-size:.85rem;color:var(--ink,#fff)}
.colour input:checked ~ span::before{content:"";display:inline-block;width:.55rem;height:.55rem;background:currentColor;margin-right:.45rem;vertical-align:.08em}
.colour:has(input:checked){box-shadow:inset 0 0 0 3px var(--white)}
.colour:has(input:focus-visible){outline:2px solid var(--white);outline-offset:-6px}

.specs{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.75rem;font-size:.95rem}
.specs dt{color:var(--grey)}
.specs dd{margin:0}
.cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:4.5rem;padding:0 var(--pad);background:var(--white);color:var(--black);font:inherit;font-family:var(--display);font-weight:400;font-size:clamp(1rem,1.4vw,1.2rem);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;transition:background .15s}
.cta:hover{background:var(--beige)}
.cta-wrap{padding:0!important}
.cta .plus{font-size:1.6em;line-height:1;font-weight:200}

/* svg leather */
.leather{fill:var(--l-base);transition:fill .5s ease}
.leather-dark{fill:var(--l-dark);transition:fill .5s ease}
.leather-light{fill:var(--l-light);transition:fill .5s ease}
.edge{fill:none;stroke:var(--l-edge);transition:stroke .5s ease}
.thread{fill:none;stroke:var(--l-thread);stroke-width:1.6;stroke-dasharray:5 4;stroke-linecap:round;transition:stroke .5s ease}
.handle{fill:none;stroke:var(--l-base);transition:stroke .5s ease}
.metal{fill:#a8a6a1}.metal-dark{fill:#5f5d5a}.shadow{fill:#000;opacity:var(--shadow-op)}

/* ---------- collection grid ---------- */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:clamp(3rem,7vw,6rem) var(--pad) var(--pad);border-bottom:var(--b)}
.collection{grid-template-columns:repeat(3,1fr)}
.collection .cell{padding:0;text-decoration:none;display:flex;flex-direction:column}
.collection .cell:nth-child(n+4){border-top:var(--b)}
.collection .cell:nth-child(3n+1){border-left:0}
.tile-stage{aspect-ratio:1/1;display:grid;place-items:center;background:var(--grey-1);transition:background .15s}
.tile-stage svg{width:72%}
.tile-label{display:flex;justify-content:space-between;padding:.9rem var(--pad);border-top:var(--b);font-size:.95rem}
.tile-label span:last-child{color:var(--grey)}
.collection .cell:hover .tile-stage{background:var(--grey-2)}
.collection .cell:hover .tile-label{background:var(--white);color:var(--black)}
.collection .cell:hover .tile-label span:last-child{color:var(--grey)}
@media (max-width:860px){.collection{grid-template-columns:1fr 1fr!important}.collection .cell{border-left:0!important;border-top:var(--b)}.collection .cell:nth-child(even){border-left:var(--b)!important}.collection .cell:nth-child(-n+2){border-top:0}}

/* ---------- detail ---------- */
.detail{position:relative;background:var(--grey-2);border-bottom:var(--b);overflow:hidden}
.detail svg.crop{width:100%;height:min(90vh,820px)}
.detail-text{position:absolute;inset:auto 0 0 0;display:grid;grid-template-columns:1fr minmax(0,26rem);align-items:end;gap:2rem;padding:var(--pad);pointer-events:none}
.detail-text .big{font-size:clamp(2.6rem,9vw,9rem);line-height:.85;text-shadow:0 2px 40px rgba(0,0,0,.35)}
.detail-text p{background:var(--black);padding:var(--pad);margin:0;font-size:.98rem;color:var(--grey-light)}
@media (max-width:860px){.detail-text{position:static;grid-template-columns:1fr}.detail svg.crop{height:auto;aspect-ratio:1/1}.detail-text .big{text-shadow:none}}

/* ---------- craft ---------- */
.craft{grid-template-columns:repeat(4,1fr)}
.craft .cell{padding-top:0;display:flex;flex-direction:column}
.step-n{font-family:var(--display);font-weight:200;font-size:clamp(6rem,13vw,12rem);line-height:.85;letter-spacing:-.06em;margin:0 0 1.5rem -.06em;color:var(--white)}
.craft h3{font-family:var(--display);font-weight:400;font-size:1.05rem;margin-bottom:.6rem;letter-spacing:-.01em}
.craft p{color:var(--grey);font-size:.97rem}
@media (max-width:1000px) and (min-width:861px){.craft{grid-template-columns:1fr 1fr}.craft .cell:nth-child(3){border-left:0}.craft .cell:nth-child(n+3){border-top:var(--b)}}

/* ---------- patina ---------- */
.patina{grid-template-columns:repeat(3,1fr)}
.patina .cell{padding:0;display:flex;flex-direction:column}
.age{display:grid;grid-template-rows:repeat(3,minmax(4.5rem,1fr));min-height:22rem}
.age i{display:flex;align-items:flex-end;padding:.6rem var(--pad);font-style:normal;font-size:.82rem;color:rgba(255,255,255,.7)}
.age--camel i{color:rgba(0,0,0,.6)}
.patina .text{padding:var(--pad);border-top:var(--b)}
.patina h3{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:.5rem}
.patina p{color:var(--grey);font-size:.97rem}

/* ---------- order ---------- */
.order{grid-template-columns:1fr 1.3fr;background:var(--char)}
.order .cell:first-child{display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.order .lede{color:var(--grey-light);font-size:1.1rem}
form{display:grid;grid-template-columns:1fr 1fr;padding:0!important}
.field{display:flex;flex-direction:column;padding:1rem var(--pad) .25rem;border-bottom:var(--b)}
.field:nth-child(even){border-left:var(--b)}
.field--full{grid-column:1/-1;border-left:0!important}
label{font-size:.85rem;color:var(--grey)}
input[type=text],input[type=email],input[type=tel],select,textarea{font:inherit;font-family:var(--display);font-weight:300;font-size:clamp(1.1rem,1.6vw,1.4rem);letter-spacing:-.02em;color:var(--white);background:transparent;border:0;border-radius:0;padding:.4rem 0 .9rem;width:100%;appearance:none}
select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23fff' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat right .2rem center}
select option{color:#000}
.field:focus-within{background:var(--grey-1)}
input:focus,select:focus,textarea:focus{outline:none}
textarea{min-height:6rem;resize:vertical}
::placeholder{color:var(--grey);opacity:.75}
.form-foot{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.form-foot .cta{min-height:5.5rem}
.form-status{margin:0;padding:1rem var(--pad);font-size:.95rem;display:flex;align-items:center}
@media (max-width:560px){form,.form-foot{grid-template-columns:1fr}.field:nth-child(even){border-left:0}}

/* ---------- footer ---------- */
.site-foot .foot-logo{padding:clamp(2rem,5vw,4rem) var(--pad);border-bottom:var(--b)}
.site-foot .foot-logo svg{width:100%;height:auto;color:var(--white)}
.foot-row{grid-template-columns:repeat(4,1fr);border-bottom:0}
.foot-row .cell{font-size:.92rem;text-decoration:none}
.foot-row a.cell:hover{background:var(--white);color:var(--black)}
.foot-row .cell:last-child{color:var(--grey)}

html{scroll-padding-top:3.75rem}

body{-webkit-tap-highlight-color:transparent}
@media (max-width:860px){
  .product-stage,.hero-stage{min-height:0;aspect-ratio:5/4}
  .product .product-stage{order:-1}
  .site-head .order-link{gap:1.25rem}
  .hero-copy{gap:1.5rem}
  .hero-copy h1{font-size:clamp(2.3rem,10.4vw,4.5rem);line-height:.98}
  .section-head{flex-direction:column;align-items:flex-start;gap:.6rem;padding-top:clamp(3rem,12vw,5rem)}
  .section-head .big{font-size:clamp(2.4rem,12.5vw,5rem);line-height:.92}
  .product-info .lede{font-size:1.05rem}
  .detail-text{padding:0}
  .detail-text .big{padding:var(--pad);font-size:clamp(2.6rem,13vw,5rem)}
  .detail-text p{border-top:var(--b)}
  /* craft: number beside text */
  .craft .cell{display:grid;grid-template-columns:clamp(4.5rem,22vw,7rem) 1fr;column-gap:1rem;padding-top:var(--pad)}
  .craft .step-n{grid-row:span 2;font-size:clamp(4.5rem,22vw,7rem);margin:0}
  .craft h3{align-self:end;margin-top:.2rem}
  /* patina: bars run across, shorter */
  .patina .cell + .cell{border-top:var(--b)}
  .age{grid-template-rows:none;grid-template-columns:repeat(3,1fr);min-height:0;height:6.5rem}
  .order .cell:first-child{gap:1rem}
  .order .lede{font-size:1.05rem}
  .form-foot .cta{min-height:4.75rem}
  .form-status:empty{display:none}
}
@media (max-width:560px){
  :root{--pad:1rem}
  .facts strong{font-size:1.9rem}
  .facts div{padding:.9rem var(--pad);font-size:.85rem;line-height:1.35}
  .hide-xs{display:none}
  .colour{height:4.5rem}
  .colour span{left:.6rem;font-size:.8rem}
  .specs{grid-template-columns:5.5rem 1fr;gap:.5rem 1rem;font-size:.92rem}
  .cta{min-height:4rem}
  .collection .tile-label{flex-direction:column;gap:0;padding:.7rem var(--pad);font-size:.9rem;line-height:1.35}
  .collection .tile-label span:last-child{font-size:.85rem}
  .tile-stage svg{width:80%}
  .product-name .kind{padding-bottom:0}
  .foot-row{grid-template-columns:1fr 1fr!important}
  .foot-row .cell:nth-child(even){border-left:var(--b)}
  .foot-row .cell:nth-child(n+3){border-top:var(--b)}
  .foot-row .cell + .cell:nth-child(odd){border-left:0}
  .foot-row .cell:nth-child(2){border-top:0}
  .foot-row .cell{font-size:.85rem;overflow-wrap:anywhere}
}
@media (max-width:360px){
  .site-head .order-link span{display:none}
  .menu-btn{gap:.45rem}
}

/* ---------- buying ---------- */
.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.price{font-family:var(--display);font-weight:300;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.04em;line-height:1}
.buy{display:grid;grid-template-columns:auto 1fr;padding:0!important;border-top:var(--b);margin-top:auto}
.product-info > .buy:last-child{margin-top:auto}
.qty{display:flex;align-items:stretch;border-right:var(--b)}
.qty button{width:3.5rem;background:transparent;border:0;color:var(--white);font:inherit;font-size:1.4rem;cursor:pointer}
.qty button:hover{background:var(--grey-2)}
.qty output{display:grid;place-items:center;min-width:2.5rem;font-family:var(--display);font-size:1.1rem}
.cta.add{min-height:4.5rem}
.cta.add [data-total]{font-family:var(--display);opacity:.7}
.cta.added{background:var(--beige)}
.tile-label em{font-style:normal;color:var(--grey);margin-left:.6rem}
.howto-foot{display:flex;justify-content:flex-end;border-bottom:var(--b)}
.howto-foot .cta{width:auto;min-width:min(100%,22rem)}
.site-head .cart-btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--pad);height:3.75rem;border:0;border-left:var(--b);font:inherit;font-size:.92rem;cursor:pointer;background:var(--white);color:var(--black)}
.site-head .cart-btn:hover{background:var(--beige)}
.cart-count{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;background:var(--black);color:var(--white);font-size:.8rem;border-radius:999px}
.cart-count.bump{animation:bump .4s ease}
@keyframes bump{50%{transform:scale(1.35)}}

/* ---------- cart drawer ---------- */
.cart-scrim{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.6)}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:31;width:min(500px,100vw);background:var(--black);border-left:var(--b);display:flex;flex-direction:column;overflow:hidden}
.cart[hidden],.cart-scrim[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.cart:not([hidden]){animation:slide .3s cubic-bezier(.2,.7,.2,1)}@keyframes slide{from{transform:translateX(100%)}}}
.cart-head{display:flex;align-items:center;justify-content:space-between;border-bottom:var(--b);min-height:3.75rem;padding-left:var(--pad)}
.cart-head h2{font-family:var(--display);font-weight:300;font-size:1.3rem;letter-spacing:-.02em;text-transform:uppercase}
.cart-close{align-self:stretch;padding:0 var(--pad);background:transparent;color:var(--white);border:0;border-left:var(--b);font:inherit;font-size:.92rem;cursor:pointer}
.cart-close:hover{background:var(--white);color:var(--black)}
.cart-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--b);font-size:.85rem}
.cart-steps li{padding:.75rem var(--pad);color:var(--grey)}
.cart-steps li + li{border-left:var(--b)}
.cart-steps li.on{background:var(--white);color:var(--black)}
.cart-steps li.done{color:var(--white)}
.cart-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto}
.cart-panel[hidden]{display:none}
.cart-items{list-style:none;margin:0;padding:0}
.cart-item{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1rem;align-items:center;padding:1rem var(--pad);border-bottom:var(--b)}
.cart-item .thumb{aspect-ratio:1/1;background:var(--grey-1);display:grid;place-items:center}
.cart-item .thumb svg{width:84%}
.cart-item h3{font-family:var(--display);font-weight:400;font-size:1rem;margin:0}
.cart-item p{margin:.1rem 0 .5rem;font-size:.88rem;color:var(--grey)}
.cart-item .qty{border:var(--b);display:inline-flex;height:2.4rem}
.cart-item .qty button{width:2.4rem;font-size:1.1rem}
.cart-item .qty output{min-width:2rem;font-size:.95rem}
.cart-item .line{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;font-family:var(--display);font-size:1rem}
.remove{background:none;border:0;color:var(--grey);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer;padding:0}
.remove:hover{color:var(--white)}
.cart-empty{padding:2.5rem var(--pad);display:none}
.cart-empty .link{margin-right:1.5rem}
.is-empty .cart-empty{display:block}
.is-empty .cart-sum{display:none}
.cart-sum{margin-top:auto;border-top:var(--b)}
.totals{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;margin:0;padding:var(--pad) var(--pad) .5rem;font-size:.95rem}
.totals dt{color:var(--grey)}
.totals dd{margin:0;text-align:right}
.totals .grand{font-family:var(--display);font-size:1.4rem;color:var(--white);letter-spacing:-.02em;padding-top:.6rem;border-top:var(--b);margin-top:.4rem}
.cart-sum .small{padding:0 var(--pad) var(--pad);margin:0}
#checkout{display:flex;flex-direction:column;flex:1}
#checkout .field{padding:.9rem var(--pad) .15rem}
#checkout input,#checkout textarea{font-size:1.1rem}
#checkout textarea{min-height:4.5rem}
.form-error{margin:0;padding:0 var(--pad);color:var(--err);font-size:.92rem}
.form-error:not(:empty){padding:.9rem var(--pad)}
.field.invalid{background:rgba(232,180,160,.08)}
.field.invalid label{color:var(--err)}
.cart-actions{margin-top:auto;display:grid;grid-template-columns:auto 1fr;border-top:var(--b)}
.back{background:transparent;border:0;border-right:var(--b);color:var(--white);font:inherit;padding:0 var(--pad);cursor:pointer}
.back:hover{background:var(--grey-2)}
.review{padding:var(--pad)}
.review h3{font-size:.85rem;color:var(--grey);font-weight:400;margin:1.25rem 0 .4rem}
.review h3:first-child{margin-top:0}
.review ul{list-style:none;margin:0;padding:0}
.review li{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:var(--b);font-size:.95rem}
.review p{margin:0;font-size:.95rem}
.done{padding:var(--pad);gap:1rem}
.done-big{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(2.4rem,9vw,3.6rem);line-height:.95;margin:1rem 0}
.done .cta{margin-top:auto}
body.cart-open{overflow:hidden}
@media (max-width:760px){
  .site-head{grid-template-columns:1fr auto auto auto}
  .buy .qty button{width:3rem}
  .howto-foot .cta{width:100%}
}
@media (max-width:560px){
  .cart-item{grid-template-columns:4.25rem 1fr auto;gap:.75rem}
  .tile-label em{display:block;margin:0}
}

/* ---------- compact mobile: collapsible text, swipe rows, docked buy bar ---------- */
.more summary{display:none}
.more{padding:var(--pad)}
.dock{display:none}
@media (max-width:760px){
  .product-info .lede{cursor:pointer}
  .lede .clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;position:relative}
  .lede.open .clamp{display:block;-webkit-line-clamp:unset}
  .lede:not(.open) .clamp::after{content:"More";position:absolute;right:0;bottom:0;padding-left:2.5rem;background:linear-gradient(90deg,transparent,var(--bgc,var(--black)) 2rem);text-decoration:underline;font-size:.92rem;line-height:1.75}
  .product--grey .product-info .lede{--bgc:var(--char)}
  .more{padding:0!important}
  .more summary{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--pad);cursor:pointer;list-style:none;font-size:.95rem}
  .more summary::-webkit-details-marker{display:none}
  .more summary::after{content:"+";font-size:1.4rem;font-weight:200;line-height:1}
  .more[open] summary::after{content:"−"}
  .more .specs{padding:0 var(--pad) var(--pad)}
  .hero-copy .lede,.product-name .kind{font-size:.92rem}
  .hero-copy .lede{font-size:1rem}
  .detail-text p{font-size:.92rem}

  /* swipe rows instead of tall stacks */
  .swipe{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .swipe::-webkit-scrollbar{display:none}
  .swipe > *{scroll-snap-align:start;border-top:0!important;border-left:0!important;border-right:var(--b)!important}
  .collection.swipe{grid-auto-columns:62%}
  .craft.swipe .cell{display:flex;flex-direction:column;min-height:16rem}
  .craft.swipe h3{align-self:auto;margin-top:0}
  .craft.swipe .step-n{font-size:5.5rem;margin-bottom:1rem}
  .craft.swipe p{font-size:.92rem}
  .patina.swipe .age{height:5rem}
  .patina.swipe p{font-size:.9rem}
  .swipe-hint{display:flex;justify-content:space-between;align-items:center;padding:.6rem var(--pad);border-bottom:var(--b);font-size:.8rem;color:var(--grey)}
  .swipe-dots{display:flex;gap:.35rem}
  .swipe-dots i{width:.4rem;height:.4rem;border-radius:50%;background:var(--grey-2);transition:background .2s}
  .swipe-dots i.on{background:var(--white)}

  /* docked buy bar */
  .dock{display:grid;grid-template-columns:1fr auto;position:fixed;left:0;right:0;bottom:0;z-index:18;background:var(--black);border-top:var(--b);transform:translateY(100%);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom)}
  .dock.show{transform:none}
  .dock-info{display:flex;align-items:center;gap:.6rem;padding:0 var(--pad);font-size:.92rem;min-width:0}
  .dock-swatch{width:1.1rem;height:1.1rem;border-radius:50%;background:var(--c,#24201e);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);flex:none}
  .dock-name{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dock-price{color:var(--grey);white-space:nowrap}
  .dock-add{min-height:3.75rem;padding:0 1.4rem;background:var(--white);color:var(--black);border:0;font:inherit;font-weight:400;font-size:.95rem;cursor:pointer}
  .dock-add:active{background:var(--beige)}
}
@media (prefers-reduced-motion:reduce){.dock{transition:none}}

/* ---------- light / dark ---------- */
[data-theme="light"]{
  --black:#f7f7f5;--char:#ececea;--grey-1:#e9e9e6;--grey-2:#dededa;--stage-hi:#fbfbfa;--stage-hi-2:#f3f3f1;
  --rule:#c9c9c4;--grey:#6a6863;--grey-light:#2c2c2a;--white:#111;--beige:#45423d;--shadow-op:.18;--err:#a2402a;
  color-scheme:light;
}
[data-theme="light"] .detail-text .big{color:#fff}
[data-theme="light"] .scrim,[data-theme="light"] .cart-scrim{background:rgba(0,0,0,.35)}
[data-theme="light"] .swatch span,[data-theme="light"] .dock-swatch{box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.theme-btn{display:flex;align-items:center;gap:.55rem;height:3.75rem;padding:0 var(--pad);background:var(--black);color:var(--white);border:0;border-left:var(--b);font:inherit;font-size:.92rem;cursor:pointer}
.theme-btn:hover{background:var(--white);color:var(--black)}
.theme-btn svg{width:1.1rem;height:1.1rem;transition:transform .4s ease}
[data-theme="light"] .theme-btn svg{transform:rotate(180deg)}
body,.site-head,.cell,.product-stage,.tile-stage{transition:background-color .3s ease,color .3s ease}
@media (max-width:760px){.theme-label{display:none}.theme-btn{padding:0 1rem}}
@media (prefers-reduced-motion:reduce){body,.site-head,.cell,.product-stage,.tile-stage,.theme-btn svg{transition:none}}

/* ---------- product image slider ---------- */
.slider{display:block!important;place-items:normal!important;padding:0!important;overflow:hidden}
.slides{width:100%}
.slides{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:100%;height:100%;min-height:inherit;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.slides::-webkit-scrollbar{display:none}
.slides:focus-visible{outline:2px solid var(--white);outline-offset:-2px}
.slide{scroll-snap-align:start;display:grid;place-items:center;min-height:min(80vh,760px);padding:clamp(2rem,4vw,4rem);position:relative}
.slide > svg{width:86%}
.slide.zoom{padding:0}
.slide.zoom > svg{width:100%;height:100%}
.slide.photo{padding:0;background:#1a1a1a}
.slide.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slider figcaption{z-index:2;background:var(--black);padding:.3rem .6rem;left:0!important;top:0!important;border-right:var(--b);border-bottom:var(--b)}
.slide-ctrl{position:absolute;right:0;bottom:0;z-index:2;display:flex;align-items:stretch;background:var(--black);border-top:var(--b);border-left:var(--b)}
.slide-ctrl button{width:3.25rem;height:3.25rem;display:grid;place-items:center;background:transparent;border:0;color:var(--white);cursor:pointer}
.slide-ctrl button:hover{background:var(--white);color:var(--black)}
.slide-ctrl button:disabled{opacity:.3;pointer-events:none}
.slide-ctrl svg{width:14px;height:14px}
.slide-count{display:grid;place-items:center;min-width:4rem;font-size:.85rem;border-left:var(--b);border-right:var(--b);font-variant-numeric:tabular-nums}
.detail-photo{height:min(90vh,820px)}
.detail-photo img{width:100%;height:100%;object-fit:cover;display:block}
.product-info > p{max-width:none}
.more-desc{display:none}

@media (max-width:860px){
  .slide{min-height:0;aspect-ratio:5/4}
  .detail-photo{height:auto;aspect-ratio:4/3}
}
/* ---------- minimal mobile copy ---------- */
@media (max-width:760px){
  .hero-copy .lede,.product-info > .lede,.section-head .small,.detail-text p,
  .craft.swipe p,.patina.swipe p,.howto p{display:none}
  .hero-copy{gap:0}
  .more-desc{display:block;margin:0 0 1rem;padding:0 var(--pad);font-size:.95rem;color:var(--grey-light)}
  .craft.swipe .cell{min-height:0;padding-bottom:1.25rem}
  .craft.swipe .step-n{font-size:4.5rem;margin-bottom:.75rem}
  .craft.swipe h3{font-size:1rem}
  .swipe .cell{min-height:0}
  .craft.swipe{grid-auto-columns:46%}
  .patina.swipe{grid-auto-columns:62%}
  .patina.swipe .text{padding:.9rem var(--pad)}
  .patina.swipe h3{margin:0;font-size:1.5rem}
  .facts div{font-size:.8rem}
  .detail-text .big{font-size:clamp(2.2rem,11vw,4rem)}
  .slide-ctrl button{width:2.75rem;height:2.75rem}
  .slide-count{min-width:3.25rem;font-size:.8rem}
  .product-name{padding-bottom:.5rem}
}

.cta .wa{width:1.35rem;height:1.35rem;flex:none}
.wa-note{margin-top:1rem!important;padding:.8rem 1rem;border:var(--b);font-size:.9rem!important;color:var(--grey-light)}
.done-actions{margin-top:auto;display:grid}
.done-actions .cta{min-height:4rem}
.cta.ghost{background:transparent;color:var(--white);border-top:var(--b)}
.cta.ghost:hover{background:var(--grey-2);color:var(--white)}
.wa-again{font-size:.95rem}

/* ---------- scroll reveals: blocks open like a mask, type rises out of a mask ---------- */
:root{--ease-mask:cubic-bezier(.16,1,.3,1);--ease-squeeze:cubic-bezier(.65,0,.25,1)}
.rv [data-rv="block"]{clip-path:inset(100% 0 0 0);transition:clip-path .75s var(--ease-mask) var(--d,0s)}
.rv [data-rv="block"] > *, .rv [data-rv="block"] .slides{transition:transform 1s var(--ease-mask) var(--d,0s)}
.rv [data-rv="block"]:not(.in) > svg,.rv [data-rv="block"]:not(.in) > img,.rv [data-rv="block"]:not(.in) > video,.rv [data-rv="block"]:not(.in) .slides{transform:scale(1.12)}
.rv [data-rv="block"].in{clip-path:inset(0 0 0 0)}
.m{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.12em 0 .06em;margin:-.12em 0 -.06em}
.m > i{display:inline-block;font-style:inherit}
.rv [data-rv="text"] .m > i{transform:translateY(110%);transition:transform .65s var(--ease-mask);transition-delay:calc(var(--d,0s) + var(--w,0) * 28ms)}
.rv [data-rv="text"].in .m > i{transform:none}
.rv [data-rv="fade"]{opacity:0;transform:translateY(.5rem);transition:opacity .3s ease calc(var(--d,0s) * .5),transform .35s var(--ease-mask) calc(var(--d,0s) * .5)}
.rv [data-rv="fade"].in{opacity:1;transform:none}
/* hero intro: the visual owns the row, then the copy column slides in and squeezes it */
@media (min-width:861px){
  .rv .hero.intro{grid-template-columns:minmax(0,1fr) minmax(0,0fr);overflow:hidden}
  .rv .hero.intro.open{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);transition:grid-template-columns .9s var(--ease-squeeze) .3s}
  .rv .hero.intro .hero-copy{overflow:hidden}
  .rv .hero.intro{height:var(--hero-h)}
  .rv .hero.intro .hero-stage svg{height:100%;min-height:0}
  .rv .hero.intro .hero-copy > *{width:var(--copy-w);flex:none}
}
@media (prefers-reduced-motion:reduce){.rv [data-rv]{clip-path:none!important;opacity:1!important;transform:none!important}.rv [data-rv] *{transform:none!important}}

/* ---------- WordPress additions ---------- */
.hero-stage.has-img{padding:0}
.hero-stage.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.page-plain .page-body{max-width:46rem;padding-block:clamp(2rem,5vw,4rem);line-height:1.6}
.page-plain .page-body a{color:inherit}
.colour input:disabled + span{opacity:.35;text-decoration:line-through}
.admin-bar .site-head{top:32px}
@media (max-width:782px){.admin-bar .site-head{top:46px}}
@media (max-width:600px){.admin-bar .site-head{top:0}}
.more-desc p{margin:0 0 .6em}.more-desc p:last-child{margin:0}

/* ---------- hero video ---------- */
.hero-stage.has-video{padding:0;position:relative;overflow:hidden;background:var(--grey-1)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;color:var(--grey);text-decoration:none;text-align:center;padding:var(--pad);background:radial-gradient(60% 55% at 50% 50%,var(--stage-hi) 0%,var(--grey-1) 75%)}
.video-ph > span:last-child{display:flex;flex-direction:column;gap:.4rem;font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:.9rem;color:var(--white)}
.video-ph small{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:.8rem;color:var(--grey);max-width:22rem}
.video-ph-icon{width:4.5rem;height:4.5rem;border:1px solid var(--rule);border-radius:50%;position:relative}
.video-ph-icon::after{content:"";position:absolute;left:54%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:.6rem 0 .6rem 1rem;border-color:transparent transparent transparent var(--grey)}
a.video-ph:hover .video-ph-icon{border-color:var(--white)}

/* ---------- craft illustrations (replace the step numbers) ---------- */
.craft:not(.howto) .cell{padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:clamp(2.75rem,5vw,4.75rem)}
.step-ill{display:block;width:100%;aspect-ratio:1/1;max-height:20rem;margin:0 0 2rem;overflow:hidden}
.step-ill img{display:block;width:100%;height:100%;object-fit:contain}
[data-theme="light"] .step-ill img{filter:invert(1)}
@media (max-width:860px){
  .craft .step-ill{grid-row:span 2;margin:0;max-height:none}
}
@media (max-width:760px){
  .craft.swipe .step-ill{width:78%;margin:0 0 1.25rem}
  .craft.swipe:not(.howto) .cell{min-height:22rem}
}
