:root{
  --bg:      #f2ede4;
  --paper:   #f8f5ee;
  --ink:     #1c1b19;
  --mute:    #7a7870;
  --rule:    rgba(var(--ink-rgb),.12);
  --accent:  #c44a2a;
  --ease:    cubic-bezier(.65,.02,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* ─── NAV ─────────────────────────────────── */
.p-nav{
  display:flex;align-items:center;
  padding:0 clamp(20px,2.5vw,48px);
  height:49px;
  border-bottom:1px solid rgba(var(--ink-rgb),.8);
  position:sticky;top:0;z-index:20;
  background:var(--bg);
  flex-shrink:0;
}
.p-logo{
  font-weight:900;font-size:clamp(15px,1.3vw,20px);letter-spacing:-.03em;
}
.p-logo span{color:var(--accent)}
.p-nav-links{
  display:flex;gap:clamp(14px,1.8vw,32px);
  margin-left:clamp(20px,2.5vw,44px);
  font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
}
.p-nav-links a{opacity:.35;transition:opacity .2s}
.p-nav-links a:hover,.p-nav-links a.is-active{opacity:1}
.nav-right{display:flex;align-items:center;gap:24px;margin-left:auto}
.p-nav-cta{
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  opacity:.4;transition:opacity .2s;
}
.p-nav-cta:hover{opacity:1}

/* ─── PRODUCT ─────────────────────────────── */
.p-product{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:90vh;
}

/* image column — full-bleed: the photograph owns the half-page.
   Studio shots carry their own ground, so cover crops the dead margin
   away instead of floating the product in it. */
.p-image-col{
  position:sticky;top:49px;           /* below nav */
  height:calc(100vh - 49px);
  background:var(--paper);
  overflow:hidden;
}
.p-image-col > img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;filter:grayscale(.06);
}
.p-image-caption{
  position:absolute;left:0;bottom:0;
  display:flex;flex-direction:column;gap:2px;
  padding:14px 20px 16px;
  background:var(--bg);
  border-top:1px solid var(--rule);border-right:1px solid var(--rule);
}
.p-image-caption-cat{
  font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);
}
.p-image-caption-name{
  font-size:12px;font-weight:800;letter-spacing:-.01em;
}

/* info column */
.p-info-col{
  padding:clamp(40px,5vw,80px) clamp(28px,4vw,64px);
  display:flex;flex-direction:column;gap:clamp(24px,2.8vw,40px);
  border-left:1px solid var(--rule);
}

.p-meta{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
}
.p-category{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
}
.p-maker{
  font-size:11px;font-weight:500;letter-spacing:.03em;color:var(--mute);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.p-price{
  font-size:clamp(15px,1.2vw,19px);font-weight:800;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;margin-top:2px; /* -8px collided with the name's descenders */
}

.p-name{
  font-size:clamp(24px,2.5vw,40px);font-weight:800;letter-spacing:-.03em;
  line-height:1.04;max-width:14ch;
}
.p-desc{
  font-size:clamp(12px,.85vw,13px);line-height:1.7;color:var(--mute);max-width:52ch;
}

/* variants */
.p-variants{display:flex;flex-direction:column;gap:10px}
.p-variant-label{
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.5;
  margin-bottom:4px;
}
.p-variant-options{display:flex;flex-wrap:wrap;gap:8px}
.p-variant-opt{
  display:flex;align-items:center;gap:7px;
  font-size:12px;cursor:pointer;
}
.p-variant-opt input[type=radio]{
  appearance:none;-webkit-appearance:none;
  width:13px;height:13px;border-radius:50%;
  border:1.5px solid rgba(var(--ink-rgb),.3);
  transition:border-color .2s,background .2s;
  cursor:pointer;flex:none;
}
.p-variant-opt input[type=radio]:checked{
  border-color:var(--ink);
  background:var(--ink);
}

/* actions */
.p-actions{display:flex;gap:12px;flex-wrap:wrap}
.p-btn-cart{
  flex:1;min-width:140px;
  background:var(--ink);color:var(--paper);
  border:0;padding:13px 24px;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  transition:background .2s,filter .2s;
}
.p-btn-cart:hover{filter:brightness(.85)}
.p-btn-wishlist{
  flex:1;min-width:140px;
  background:transparent;color:var(--ink);
  border:1.5px solid rgba(var(--ink-rgb),.25);padding:13px 24px;
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  transition:border-color .2s,background .2s;
}
.p-btn-wishlist:hover{border-color:var(--ink);background:rgba(var(--ink-rgb),.04)}

/* accordion */
.p-accordion{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.p-acc-item{border-bottom:1px solid var(--rule)}
.p-acc-toggle{
  width:100%;background:transparent;border:0;
  padding:16px 0;display:flex;justify-content:space-between;align-items:center;
  font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  cursor:pointer;color:var(--ink);
}
.p-acc-toggle:hover{opacity:.7}
.p-acc-icon{
  font-size:18px;font-weight:300;transition:transform .35s var(--ease);
  line-height:1;
}
.p-acc-item.is-open .p-acc-icon{transform:rotate(45deg)}
.p-acc-body{
  height:0;overflow:hidden;
}
.p-acc-body-inner{
  padding-bottom:20px;
  font-size:12px;line-height:1.7;color:var(--mute);
  max-width:50ch;
}
.p-acc-body-inner p + p{margin-top:10px}
.p-acc-body-inner ul{padding-left:16px;display:flex;flex-direction:column;gap:4px}

/* ─── LINEAGE (In the Dictionary) ─────────── */
.p-lineage{display:flex;flex-direction:column;gap:14px}
.p-lineage-head{display:flex;align-items:center;gap:12px}
.p-lineage-kicker{
  font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);flex:none;
}
.p-lineage-head::after{content:"";flex:1;height:1px;background:rgba(var(--ink-rgb),.16)}
.p-lineage-intro{
  font-size:12px;line-height:1.6;color:var(--mute);max-width:48ch;
}
.p-lineage-items{display:flex;flex-direction:column}
.p-lin-card{
  display:flex;align-items:center;gap:16px;
  padding:13px 6px;
  border-top:1px solid rgba(var(--ink-rgb),.1);
  transition:background .25s,padding-left .3s var(--ease);
  position:relative;
}
.p-lin-card:last-child{border-bottom:1px solid rgba(var(--ink-rgb),.1)}
.p-lin-card:hover{background:rgba(var(--ink-rgb),.035);padding-left:12px}
.p-lin-photo{
  width:50px;height:50px;object-fit:cover;flex:none;display:block;
  border-top:2px solid var(--lsec,var(--accent));
  filter:grayscale(1);transition:filter .4s;
  background:rgba(var(--ink-rgb),.06);
}
.p-lin-card:hover .p-lin-photo{filter:grayscale(0)}
.p-lin-photo--empty{position:relative}
.p-lin-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.p-lin-sec{
  font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--lsec,var(--accent));
}
.p-lin-name{font-size:13.5px;font-weight:700;letter-spacing:-.01em}
.p-lin-why{
  font-size:11px;line-height:1.5;color:var(--mute);
}
.p-lin-arrow{
  flex:none;font-size:14px;color:var(--mute);
  transform:translateX(-4px);opacity:.4;
  transition:transform .3s var(--ease),opacity .3s,color .3s;
}
.p-lin-card:hover .p-lin-arrow{transform:translateX(0);opacity:1;color:var(--accent)}

/* ─── SEE ALSO ────────────────────────────── */
.p-also{
  padding:clamp(40px,5vw,72px) clamp(24px,3vw,52px);
  border-top:1px solid var(--rule);
}
.p-also-title{
  font-size:clamp(18px,1.4vw,22px);font-weight:800;letter-spacing:-.02em;
  margin-bottom:clamp(24px,2.5vw,40px);
}
.p-also-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.5vw,24px);
}
.p-also-card{
  display:block;text-decoration:none;color:inherit;
  cursor:pointer;
}
.p-also-img{
  aspect-ratio:3/4;overflow:hidden;background:var(--paper);
  margin-bottom:14px;
}
.p-also-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);
  filter:grayscale(.1);
}
.p-also-card:hover .p-also-img img{transform:scale(1.04)}
.p-also-name{
  font-size:13px;font-weight:600;margin-bottom:4px;
}
.p-also-meta{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:var(--mute);
}
.p-also-arrow{font-size:14px;opacity:.4}

/* ─── BACK LINK ───────────────────────────── */
.p-back{
  display:inline-flex;align-items:center;gap:8px;
  padding:clamp(16px,1.8vw,28px) clamp(24px,3vw,52px);
  font-size:12px;font-weight:600;letter-spacing:.02em;opacity:.45;
  transition:opacity .2s;border-top:1px solid var(--rule);
  width:100%;
}
.p-back:hover{opacity:1}

/* ── Seen in a combination ── */
.p-combo{
  padding:clamp(30px,4vw,64px) clamp(20px,2.5vw,48px) 0;
}
.p-combo-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:16px;max-width:980px;
}
.p-combo-card{
  display:flex;align-items:stretch;gap:0;
  border:1px solid var(--rule);background:var(--paper);
  overflow:hidden;transition:border-color .25s;
}
.p-combo-card:hover{border-color:var(--accent)}
.p-combo-img{
  flex:none;width:42%;min-height:130px;overflow:hidden;background:#161511;
}
.p-combo-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s var(--ease);
}
.p-combo-card:hover .p-combo-img img{transform:scale(1.05)}
.p-combo-txt{
  flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;
  padding:16px 18px;justify-content:center;
}
.p-combo-kicker{
  font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);
}
.p-combo-title{
  font-size:15px;font-weight:800;letter-spacing:-.01em;
}
.p-combo-as{
  font-size:10.5px;color:var(--mute);line-height:1.5;
}
.p-combo-go{
  margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  opacity:.55;transition:opacity .2s,color .2s;
}
.p-combo-card:hover .p-combo-go{opacity:1;color:var(--accent)}

/* ══════════════ MOBILE (≤699px) ══════════════ */
@media (max-width:699px){
  .p-nav{padding:0 14px}
  .p-nav-links{
    margin-left:10px;gap:12px;flex:1;min-width:0;
    overflow-x:auto;scrollbar-width:none;
  }
  .p-nav-links::-webkit-scrollbar{display:none}
  .p-nav-links a{flex:none}
  .p-nav-cta{display:none}
  .nav-right{gap:14px;margin-left:10px}

  /* image above, info below — image no longer sticky */
  .p-product{grid-template-columns:1fr;min-height:0}
  .p-image-col{
    position:relative;top:0;height:52vh;
    border-bottom:1px solid var(--rule);
  }
  .p-info-col{border-left:0;padding:24px 18px 34px;gap:22px}
  .p-name{max-width:none}

  .p-also{padding:34px 18px}
  .p-also-grid{grid-template-columns:1fr 1fr;gap:14px}
  .p-combo{padding:28px 16px 0}
  .p-combo-img{width:38%}
  .p-back{padding:18px}
}
