/* VOLTĒ — editorial website · shared stylesheet */
:root{
  --ink:#16130E; --paper:#FBF9F3; --white:#FFFFFF;
  --teal:#A8C5C0; --teal-pale:#CFE0DC; --teal-deep:#5E8C86;
  --line:#E3DDCF; --muted:#8D8676;
  --grot:'Archivo Narrow','Helvetica Neue',Arial,sans-serif;
  --grotw:'Archivo','Helvetica Neue',Arial,sans-serif;
  --serif:'Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--grotw);-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.bar{height:11px;background:var(--ink);}
.kick{font-family:var(--grot);font-size:11px;letter-spacing:.3em;text-transform:uppercase;}
/* strip */
.strip{background:var(--ink);color:#a7a08e;}
.strip .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-top:9px;padding-bottom:9px;
  font-family:var(--grot);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;}
/* masthead */
.mast{text-align:center;padding:32px 20px 20px;}
.mast .word{font-family:var(--grot);font-weight:700;font-size:58px;letter-spacing:.2em;text-transform:uppercase;line-height:1;}
.mast .tag{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--teal-deep);margin-top:9px;}
/* nav */
.nav{background:var(--ink);}
.nav .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 34px;padding-top:15px;padding-bottom:15px;}
.nav a{font-family:var(--grot);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#cdc7b6;}
.nav a:hover{color:var(--paper);}
.nav a.cta{color:var(--ink);background:var(--teal);padding:8px 15px;}
/* hero (home) */
.hero{display:flex;flex-wrap:wrap;}
.hero-img{flex:2 1 440px;background:var(--ink);}
.hero-img img{width:100%;height:100%;min-height:360px;object-fit:cover;}
.hero-side{flex:1 1 320px;background:var(--teal);padding:44px 32px;display:flex;flex-direction:column;justify-content:center;}
.hero-side .issue{font-family:var(--grot);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);}
.hero-side h1{font-family:var(--serif);font-size:50px;line-height:1;color:var(--ink);margin-top:10px;font-weight:500;}
.hero-side p{font-family:var(--serif);font-size:19px;line-height:1.44;color:#33302a;margin-top:16px;}
.hero-side .since{margin-top:22px;font-family:var(--grot);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);}
/* manifesto */
.mani{text-align:center;padding:50px 0;}
.mani .kick{color:var(--teal-deep);}
.mani p{font-family:var(--serif);font-size:27px;line-height:1.44;max-width:840px;margin:16px auto 0;}
.mani p em{font-style:italic;color:var(--teal-deep);}
/* section heading */
.shead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:34px 0 18px;}
.shead h2{font-family:var(--serif);font-size:44px;line-height:1;}
.shead h2 i{color:var(--teal-deep);}
.shead .no{font-family:var(--grot);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);text-align:right;line-height:1.7;}
/* rows + cells */
.row{display:flex;flex-wrap:wrap;gap:13px;padding-bottom:6px;}
.cell{flex:1 1 300px;display:flex;flex-direction:column;}
.cell .body{padding:22px;flex:1;display:flex;flex-direction:column;}
.cell.teal .body{background:var(--teal);}
.cell.tealp .body{background:var(--teal-pale);}
.cell.ink .body{background:var(--ink);color:var(--paper);}
.cell.bord .body{background:var(--white);border:1px solid var(--line);}
.cell .cap{font-family:var(--grot);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);}
.cell.ink .cap{color:#a7a08e;}
.cell h3{font-family:var(--serif);font-size:29px;line-height:1.05;margin-top:7px;}
.cell h3 i{font-style:italic;color:var(--teal-deep);}
.cell.ink h3 i{color:var(--teal);}
.cell p{font-family:var(--serif);font-size:16px;line-height:1.4;color:#3c372c;margin-top:9px;}
.cell.ink p{color:#cdc7b6;}
.cell .go{margin-top:auto;font-family:var(--grot);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding-top:16px;color:var(--teal-deep);}
.cell.ink .go{color:var(--teal);}
.cell .pic{height:236px;background:var(--white);}
.cell .pic img{width:100%;height:100%;object-fit:contain;padding:18px;}
/* coins band */
.coins{background:var(--ink);color:var(--paper);}
.coins .wrap{display:flex;flex-wrap:wrap;gap:46px;align-items:center;padding-top:56px;padding-bottom:56px;}
.coins .txt{flex:1 1 380px;}
.coins .kick{color:var(--teal);}
.coins h2{font-family:var(--serif);font-size:50px;line-height:1.04;margin-top:12px;}
.coins h2 i{font-style:italic;color:var(--teal);}
.coins .lead{font-family:var(--serif);font-size:19px;line-height:1.5;color:#cdc7b6;margin-top:15px;}
.coinrow{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px;}
.coinrow .ct{flex:1 1 100px;border:1px solid #38332a;padding:15px;}
.coinrow .ct .n{font-family:var(--serif);font-size:33px;color:var(--teal);}
.coinrow .ct .l{font-family:var(--grot);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#a7a08e;margin-top:4px;}
.coins .art{flex:1 1 240px;display:flex;align-items:center;justify-content:center;}
.coins .disc{width:210px;height:210px;border-radius:50%;
  background:radial-gradient(60% 60% at 42% 36%,var(--teal-pale),var(--teal-deep));
  display:flex;align-items:center;justify-content:center;}
.coins .disc .v{width:124px;height:124px;border-radius:50%;background:#c7a24e;
  display:flex;align-items:center;justify-content:center;font-family:var(--grotw);font-weight:800;font-size:62px;color:#3a2c08;}
/* houses */
.hsub{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--teal-deep);margin:2px 0 16px;}
.hcol{flex:1 1 280px;}
.hcol h4{font-family:var(--grot);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
  border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:2px;}
.brand{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.brand .nm{font-family:var(--serif);font-size:19px;}
.brand .kd{font-family:var(--grot);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
/* app band */
.app{background:var(--teal);}
.app .wrap{display:flex;flex-wrap:wrap;gap:44px;align-items:center;padding-top:52px;padding-bottom:52px;}
.app .txt{flex:1 1 360px;}
.app .kick{color:var(--teal-deep);}
.app h2{font-family:var(--serif);font-size:46px;line-height:1.05;margin-top:11px;}
.app h2 i{font-style:italic;}
.app p{font-family:var(--serif);font-size:18px;line-height:1.46;color:#33302a;margin-top:13px;}
.app .btn{display:inline-block;margin-top:20px;background:var(--ink);color:var(--paper);
  font-family:var(--grot);font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:15px 26px;}
.app .ph{flex:1 1 240px;display:flex;justify-content:center;}
.phone{width:236px;height:468px;border-radius:30px;background:linear-gradient(180deg,#241019,#0b0a09);
  border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:space-between;
  padding:22px 18px;box-shadow:0 24px 54px rgba(22,19,14,.4);}
.phone .pw{text-align:center;font-family:var(--grot);font-weight:700;font-size:15px;letter-spacing:.32em;color:#f7f5f0;}
.phone .pc .h{font-family:var(--grotw);font-weight:800;font-size:13px;color:#f7f5f0;}
.phone .pc .d{font-size:11px;color:rgba(247,245,240,.8);margin-top:4px;}
.phone .pd{border:1px solid rgba(168,197,192,.5);background:rgba(94,140,134,.22);margin-top:12px;
  padding:7px 9px;font-family:var(--grot);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#dbe7e3;text-align:center;}
/* footer */
footer{background:var(--ink);color:#a7a08e;}
footer .wrap{padding-top:46px;padding-bottom:28px;}
footer .top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;}
footer .word{font-family:var(--grot);font-weight:700;font-size:30px;letter-spacing:.2em;color:var(--paper);}
footer .cols{display:flex;flex-wrap:wrap;gap:50px;}
footer .col .head{color:var(--teal);}
footer .col a,footer .col div{display:block;font-family:var(--grot);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 0;}
footer .col a:hover{color:var(--paper);}
footer .fine{border-top:1px solid #38332a;margin-top:32px;padding-top:18px;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:8px;font-family:var(--grot);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6c665a;}
/* ===== page banner (inner pages) ===== */
.pbann{display:flex;flex-wrap:wrap;}
.pbann .pb-txt{flex:1 1 340px;background:var(--teal);padding:44px 34px;display:flex;flex-direction:column;justify-content:center;}
.pbann .pb-txt .crumb{font-family:var(--grot);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);}
.pbann .pb-txt h1{font-family:var(--serif);font-size:54px;line-height:.98;margin-top:8px;font-weight:500;}
.pbann .pb-txt p{font-family:var(--serif);font-size:18px;line-height:1.44;color:#33302a;margin-top:12px;}
.pbann .pb-art{flex:2 1 440px;background:var(--ink);display:flex;align-items:center;justify-content:center;min-height:300px;}
.pbann .pb-art img{width:100%;height:100%;object-fit:cover;}
.pbann .pb-art.flat{background:var(--paper);}
/* ===== category page ===== */
.catgrid{display:flex;flex-wrap:wrap;gap:13px;}
.catcell{flex:1 1 340px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:26px;border:1px solid var(--line);background:var(--white);}
.catcell.teal{background:var(--teal);border-color:var(--teal);}
.catcell.ink{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.catcell .cnum{font-family:var(--serif);font-size:60px;line-height:.7;color:var(--teal-deep);}
.catcell.ink .cnum{color:var(--teal);}
.catcell .cn{font-family:var(--serif);font-size:38px;margin-top:auto;}
.catcell .cn i{font-style:italic;color:var(--teal-deep);}
.catcell.ink .cn i{color:var(--teal);}
.catcell .cl{font-family:var(--grot);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:7px;}
.catcell.ink .cl{color:#a7a08e;}
.catcell .cgo{font-family:var(--grot);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-deep);margin-top:14px;}
/* ===== shop / product grid ===== */
.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);}
.toolbar .tb{font-family:var(--grot);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.toolbar .tb b{color:var(--ink);font-weight:600;}
.pager{display:flex;gap:4px;}
.pager span{font-family:var(--grot);font-size:11px;width:26px;height:26px;display:flex;align-items:center;
  justify-content:center;color:var(--muted);}
.pager span.on{background:var(--ink);color:var(--paper);}
.shop{display:flex;flex-wrap:wrap;gap:22px;padding-top:22px;}
.filter{flex:1 1 210px;}
.filter h4{font-family:var(--grot);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px;}
.filter .fg{margin-bottom:18px;}
.filter .fl{display:flex;align-items:center;gap:8px;padding:5px 0;
  font-family:var(--serif);font-size:16px;color:#3c372c;}
.filter .fl .box{width:13px;height:13px;border:1px solid var(--ink);flex:0 0 auto;}
.filter .fl .box.on{background:var(--teal-deep);border-color:var(--teal-deep);}
.pgrid{flex:3 1 640px;display:flex;flex-wrap:wrap;gap:13px;}
.pcard{flex:1 1 200px;max-width:calc(33.333% - 9px);display:flex;flex-direction:column;border:1px solid var(--line);background:var(--white);}
.pcard .pimg{height:210px;display:flex;align-items:center;justify-content:center;background:var(--white);}
.pcard .pimg img{max-width:100%;max-height:100%;object-fit:contain;padding:14px;}
.pcard .pimg.block{background:var(--teal-pale);}
.pcard .pmeta{padding:13px 14px 16px;border-top:1px solid var(--line);}
.pcard .pb{font-family:var(--grot);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.pcard .pn{font-family:var(--serif);font-size:17px;line-height:1.12;margin-top:3px;}
.pcard .pp{font-family:var(--serif);font-size:15px;color:var(--teal-deep);margin-top:6px;}
/* ===== product detail ===== */
.pdp{display:flex;flex-wrap:wrap;gap:14px;padding-top:22px;}
.pdp .gallery{flex:1 1 380px;background:var(--white);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;min-height:440px;}
.pdp .gallery img{max-width:100%;max-height:430px;object-fit:contain;padding:30px;}
.pdp .gallery.block{background:var(--teal-pale);}
.pdp .info{flex:1 1 380px;display:flex;flex-direction:column;justify-content:center;padding:8px 6px;}
.pdp .info .pb{font-family:var(--grot);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);}
.pdp .info h1{font-family:var(--serif);font-size:42px;line-height:1.02;margin-top:8px;font-weight:500;}
.pdp .info h1 i{font-style:italic;color:var(--teal-deep);}
.pdp .info .price{font-family:var(--serif);font-size:26px;margin-top:10px;}
.pdp .info .desc{font-family:var(--serif);font-size:17px;line-height:1.5;color:#3c372c;margin-top:14px;}
.pdp .swatches{display:flex;gap:8px;margin-top:18px;}
.pdp .swatches .sw{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);}
.pdp .swatches .sw.on{outline:1px solid var(--ink);outline-offset:2px;}
.pdp .swlabel{font-family:var(--grot);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:16px;}
.pdp .coinnote{background:var(--teal);padding:13px 15px;margin-top:18px;
  font-family:var(--serif);font-size:16px;color:var(--ink);}
.pdp .coinnote b{font-style:italic;}
.pdp .addbar{display:flex;gap:10px;margin-top:18px;align-items:stretch;}
.pdp .qty{border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;
  width:54px;font-family:var(--serif);font-size:18px;}
.pdp .addbtn{flex:1;background:var(--ink);color:var(--paper);border:none;
  font-family:var(--grot);font-size:12px;letter-spacing:.22em;text-transform:uppercase;padding:16px;cursor:pointer;}
.pdp .viewall{font-family:var(--grot);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal-deep);margin-top:16px;}
@media(max-width:720px){
  .mast .word{font-size:42px;}
  .pbann .pb-txt h1{font-size:40px;}
  .pcard{max-width:calc(50% - 7px);}
}

/* ===== catalogue: product tiles — refined typographic plates ===== */
.ptile{width:100%;height:100%;position:relative;display:flex;
  align-items:center;justify-content:center;overflow:hidden;}
.ptile::after{content:"";position:absolute;top:14px;left:14px;right:14px;bottom:14px;
  border:1px solid rgba(22,19,14,.13);pointer-events:none;}
.ptile .pt-cat{position:absolute;top:21px;left:0;right:0;text-align:center;
  font-family:var(--grot);font-size:8.5px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(22,19,14,.46);}
.ptile .pt-mono{font-family:var(--serif);font-weight:400;font-size:78px;line-height:1;
  color:rgba(22,19,14,.40);}
.ptile.t0{background:#DDE4E2;}
.ptile.t1{background:#EAE4D8;}
.ptile.t2{background:#E7DFE0;}
.ptile.t3{background:#E0E2DD;}
.pcard .pimg{padding:0;}
.cell .pic .ptile .pt-mono{font-size:88px;}
.pdp .gallery .ptile .pt-mono{font-size:150px;}
.pdp .gallery .ptile::after{top:20px;left:20px;right:20px;bottom:20px;}
.pdp .gallery .ptile .pt-cat{font-size:10px;top:30px;letter-spacing:.32em;}
/* ===== catalogue: working toolbar / sort ===== */
.toolbar .sortwrap{display:flex;align-items:center;gap:9px;}
.sortsel{font-family:var(--grot);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:7px 9px;cursor:pointer;}
/* ===== catalogue: working filter ===== */
.filter .fhead{display:flex;justify-content:space-between;align-items:center;
  border-bottom:2px solid var(--ink);padding-bottom:7px;margin-bottom:13px;}
.filter .fhead span{font-family:var(--grot);font-size:12px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:700;}
.clearall{font-family:var(--grot);font-size:9px;letter-spacing:.13em;text-transform:uppercase;
  background:none;border:none;color:var(--teal-deep);cursor:pointer;padding:0;text-decoration:underline;}
.clearall:hover{color:var(--ink);}
.filter .fl{cursor:pointer;user-select:none;}
.filter .fl:hover{color:var(--ink);}
.filter .fl:hover .box{border-color:var(--teal-deep);}
.filter .fl .box{transition:background .12s,border-color .12s;}
/* ===== catalogue: working pagination ===== */
.pager-b{justify-content:center;margin-top:34px;gap:5px;}
.pg{font-family:var(--grot);font-size:11px;min-width:30px;height:30px;padding:0 7px;
  border:1px solid var(--line);background:var(--paper);color:var(--muted);cursor:pointer;}
.pg:hover:not(:disabled):not(.on){border-color:var(--ink);color:var(--ink);}
.pg.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.pg:disabled{opacity:.32;cursor:default;}
/* ===== catalogue: empty state ===== */
.noresults{flex:3 1 640px;padding:54px 12px;font-family:var(--serif);font-size:21px;
  color:var(--muted);display:flex;flex-direction:column;align-items:flex-start;gap:15px;}
/* ===== catalogue: product-detail quantity stepper ===== */
.pdp .qtybox{display:flex;border:1px solid var(--ink);align-items:stretch;}
.pdp .qtybox button{width:40px;border:none;background:var(--paper);font-size:19px;
  cursor:pointer;font-family:var(--serif);color:var(--ink);}
.pdp .qtybox button:hover{background:var(--teal-pale);}
.pdp .qtybox .qv{width:42px;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:17px;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.pdp .addbtn{display:flex;align-items:center;justify-content:center;text-align:center;}

/* clickable editorial cells lift slightly on hover */
a.cell{transition:transform .14s ease;}
a.cell:hover{transform:translateY(-3px);}

/* ===== sophistication pass — refined interaction & detail ===== */
.pcard{transition:border-color .28s ease, transform .28s ease;}
.pcard:hover{border-color:#cfc8b6;transform:translateY(-3px);}
.pcard:hover .ptile::after{border-color:rgba(22,19,14,.26);}
.pcard .pn{transition:color .2s ease;}
.pcard:hover .pn{color:var(--teal-deep);}
.pg-gap{display:flex;align-items:center;padding:0 4px;font-family:var(--grot);
  font-size:11px;color:var(--muted);}
.pcard .pmeta{padding:14px 15px 17px;}
.pcard .pb{letter-spacing:.22em;}
.toolbar .tb{font-size:10.5px;}
a.cell{transition:transform .16s ease;}


/* ===== refined editorial type scale ===== */
.shead h2,.coins h2,.app h2,.hero-side h1,.pbann .pb-txt h1,.pdp .info h1,
.cell h3,.catcell .cn{font-weight:400;letter-spacing:-.011em;}
.mast .word{font-size:54px;letter-spacing:.22em;}
.mast .tag{font-size:18px;}
.kick{letter-spacing:.34em;}
.hero-side h1{font-size:52px;line-height:1.03;}
.hero-side p{font-size:18.5px;line-height:1.52;}
.mani p{font-size:25px;line-height:1.52;font-weight:400;}
.shead h2{font-size:40px;line-height:1.06;}
.cell h3{font-size:26px;line-height:1.14;}
.cell p{line-height:1.5;}
.coins h2{font-size:46px;line-height:1.07;}
.coins .lead{line-height:1.56;}
.app h2{font-size:43px;line-height:1.08;}
.app p{line-height:1.52;}
.pbann .pb-txt h1{font-size:52px;line-height:1.03;}
.pbann .pb-txt p{line-height:1.5;}
.pdp .info h1{font-size:39px;line-height:1.09;}
.pdp .info .desc{line-height:1.6;}
.catcell .cn{font-size:35px;}
.hsub{font-size:18px;}
.pcard .pn{line-height:1.22;}
body{-moz-osx-font-smoothing:grayscale;}


/* ===== category banner — split-flap departure board ===== */
#vfboard{display:flex;flex-direction:column;gap:8px;}
.vfrow{display:flex;gap:6px;justify-content:center;}
.vfcell{position:relative;width:66px;height:72px;background:#221c15;border-radius:2px;perspective:190px;}
.vfcell::after{content:"";position:absolute;left:0;right:0;top:36px;height:1px;background:rgba(0,0,0,.62);z-index:6;}
.vfph,.vffl{position:absolute;left:0;width:100%;height:36px;overflow:hidden;background:#221c15;}
.vfph b,.vffl b{position:absolute;left:0;width:100%;height:72px;display:flex;align-items:center;
  justify-content:center;font-family:var(--grotw);font-weight:700;font-size:46px;color:var(--paper);}
.vftop{top:0;} .vftop b{top:0;}
.vfbot{top:36px;} .vfbot b{top:-36px;}
.vfftop{top:0;transform-origin:50% 100%;backface-visibility:hidden;z-index:3;} .vfftop b{top:0;}
.vffbot{top:36px;transform-origin:50% 0%;backface-visibility:hidden;z-index:3;transform:rotateX(90deg);} .vffbot b{top:-36px;}
