/* ═══════════════════════════════════════════════════════════════
   CONTRASTE ATELIER — styles.css
   Brand palette: Forge Black · Stone White · Concrete · Silver · Wall
   NO cherry / NO red. Brutalista · Elegante · Minimal.
   Last updated: 2026-04-20
═══════════════════════════════════════════════════════════════ */

/* ─── VARIABLES ─────────────────────────────────────────────── */
:root {
  --forge:    #0E0D0B;   /* dominant dark BG */
  --ink:      #1A1815;
  --concrete: #1E1C19;   /* secondary BG */
  --warm:     #2A2722;
  --silver:   #C8C4BC;   /* secondary text */
  --wall:     #D4CFC3;   /* accent / labels */
  --stone:    #F0EDE8;   /* dominant light */
  --white:    #FAFAF8;
}

/* ─── RESET ──────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  background: var(--forge);
  color: var(--stone);
  font-family: 'DM Mono', monospace;
  overflow-x: hidden;
  cursor: default;
}

/* Grain overlay */
body::after {
  content:'';
  position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:.022; pointer-events:none; z-index:9999;
}

img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* ─── WORDMARK ───────────────────────────────────────────────── */
.wm { display:flex; flex-direction:column; line-height:1; }
.wm .p { font-family:'Archivo Black',sans-serif; letter-spacing:-.045em; line-height:.88; }
.wm .s { font-family:'Archivo Black',sans-serif; letter-spacing:.08em; text-align:right; line-height:1; }

/* ─── NAV ────────────────────────────────────────────────────── */
#nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  background: rgba(14,13,11,.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(200,196,188,.08);
  padding: .9rem 1.5rem;
  display: flex; align-items:center; justify-content:space-between;
  transition: transform .3s ease;
}

#nav .wm .p { font-size: clamp(.85rem,2.5vw,1.1rem); }
#nav .wm .s { font-size: clamp(.32rem,.95vw,.42rem); margin-top:.04em; }

.nav-links {
  display: flex; gap: 1.5rem;
  font-size: .5rem; letter-spacing:.2em; text-transform:uppercase;
}
.nav-links a { opacity:.55; transition:opacity .2s; padding:.3rem 0; }
.nav-links a:hover { opacity:1; }

.nav-right { display:flex; align-items:center; gap:1rem; }

.cart-btn {
  font-family:'DM Mono',monospace;
  font-size:.5rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--stone); opacity:.7;
  display:flex; align-items:center; gap:.4rem;
  padding:.3rem .6rem;
  border:1px solid rgba(200,196,188,.2);
  transition:all .2s;
}
.cart-btn:hover { opacity:1; border-color:rgba(200,196,188,.5); }

.cart-count {
  background: var(--warm);
  border: 1px solid rgba(200,196,188,.3);
  color:var(--stone);
  width:1.2em; height:1.2em;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.8em;
}

.hamburger { display:none; flex-direction:column; gap:.22rem; padding:.4rem; }
.hamburger span {
  display:block; width:1.2rem; height:1.5px;
  background:var(--stone); opacity:.7; transition:all .3s;
}

#mobile-menu {
  display:none; position:fixed; inset:0; z-index:99;
  background:var(--forge);
  flex-direction:column; align-items:center; justify-content:center; gap:2.5rem;
}
#mobile-menu.open { display:flex; }
#mobile-menu a {
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2rem,8vw,3.5rem);
  letter-spacing:-.03em; opacity:.8; transition:opacity .2s;
}
#mobile-menu a:hover { opacity:1; }
#mobile-menu .close-btn { position:absolute; top:1.5rem; right:1.5rem; font-size:1.2rem; opacity:.5; color:var(--stone); }

@media(max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
}

/* ─── HERO ───────────────────────────────────────────────────── */
#hero {
  min-height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  padding-top:60px;
}

.hero-left {
  background:var(--stone); color:var(--forge);
  padding:clamp(3rem,8vh,6rem) clamp(1.5rem,5vw,4rem);
  display:flex; flex-direction:column; justify-content:flex-end;
  border-right:1px solid rgba(26,24,21,.1);
  position:relative; overflow:hidden;
}
.hero-left::before {
  content:''; position:absolute; top:0; right:0;
  width:40%; height:100%;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 38px,rgba(26,24,21,.018) 38px,rgba(26,24,21,.018) 39px);
  pointer-events:none;
}

.hero-tag { font-size:.52rem; letter-spacing:.38em; text-transform:uppercase; color:var(--warm); opacity:.6; margin-bottom:2rem; animation:fadeUp .8s ease both; }
.hero-headline { font-family:'Archivo Black',sans-serif; font-size:clamp(2.5rem,7vw,5.5rem); letter-spacing:-.04em; line-height:.88; margin-bottom:2rem; animation:fadeUp .8s .15s ease both; }
.hero-body { font-family:'Hanken Grotesk',sans-serif; font-size:clamp(.75rem,1.5vw,.88rem); line-height:1.85; color:rgba(26,24,21,.62); max-width:380px; margin-bottom:2.5rem; animation:fadeUp .8s .3s ease both; }
.hero-cta { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp .8s .45s ease both; }

.hero-right {
  background:var(--forge);
  padding:clamp(3rem,8vh,6rem) clamp(1.5rem,5vw,4rem);
  display:flex; flex-direction:column; justify-content:space-between;
  animation:fadeIn .8s .2s ease both;
  position:relative; overflow:hidden;
}
/* EDIT-IMAGE: Replace .hero-right-overlay with a real photo/video */
.hero-right-overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg,#1a1715 0%,#2a2218 50%,#1e1a14 100%);
}
.hero-right-content { position:relative; z-index:1; display:flex; flex-direction:column; height:100%; justify-content:space-between; }
.hero-right-meta { font-size:.5rem; letter-spacing:.18em; color:var(--silver); opacity:.45; line-height:2.2; }
.hero-right-scroll { font-size:.42rem; letter-spacing:.3em; text-transform:uppercase; color:var(--silver); opacity:.3; display:flex; align-items:center; gap:.6rem; }
.hero-right-scroll::before { content:''; display:block; width:1px; height:2rem; background:var(--silver); opacity:.4; }

@media(max-width:768px) {
  #hero { grid-template-columns:1fr; }
  .hero-right { display:none; }
}

/* ─── TICKER ─────────────────────────────────────────────────── */
.ticker {
  background:var(--forge);
  border-top:1px solid rgba(200,196,188,.06);
  border-bottom:1px solid rgba(200,196,188,.06);
  overflow:hidden; padding:.6rem 0;
}
.ticker-inner {
  display:flex; gap:4rem;
  font-size:.42rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--silver); opacity:.4; white-space:nowrap;
  animation:tickerScroll 28s linear infinite;
}
.ticker-dot { color:var(--wall); opacity:.6; }

@keyframes tickerScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* ─── BUTTONS ────────────────────────────────────────────────── */
.btn-primary {
  background:var(--forge); color:var(--stone);
  font-family:'Archivo Black',sans-serif;
  font-size:.55rem; letter-spacing:-.01em;
  padding:.75rem 1.8rem;
  transition:background .2s, transform .1s;
  display:inline-block;
}
.btn-primary:hover { background:var(--warm); }
.btn-primary:active { transform:scale(.98); }

.btn-ghost {
  font-family:'DM Mono',monospace;
  font-size:.5rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--forge); opacity:.55;
  padding:.75rem 0;
  border-bottom:1px solid rgba(26,24,21,.3);
  transition:opacity .2s;
}
.btn-ghost:hover { opacity:1; }

.btn-light {
  background:var(--stone); color:var(--forge);
  font-family:'Archivo Black',sans-serif;
  font-size:.55rem; letter-spacing:-.01em;
  padding:.75rem 1.8rem;
  transition:all .2s, transform .1s;
  display:inline-block;
}
.btn-light:hover { background:var(--white); }
.btn-light:active { transform:scale(.98); }

.btn-outline {
  font-family:'Archivo Black',sans-serif;
  font-size:.55rem; letter-spacing:-.01em;
  padding:.75rem 1.8rem;
  border:1px solid rgba(200,196,188,.25);
  color:var(--stone);
  transition:all .2s;
  display:inline-block;
}
.btn-outline:hover { border-color:var(--stone); background:rgba(240,237,232,.05); }

/* ─── SECTION LABELS ─────────────────────────────────────────── */
.section-label { font-size:.42rem; letter-spacing:.42em; text-transform:uppercase; color:var(--wall); margin-bottom:.6rem; opacity:.8; }
.section-title { font-family:'Archivo Black',sans-serif; font-size:clamp(1.8rem,5vw,3.5rem); letter-spacing:-.03em; line-height:.9; color:var(--stone); margin-bottom:1.5rem; }

/* ─── ABOUT ──────────────────────────────────────────────────── */
#about { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid rgba(200,196,188,.07); }

.about-text { padding:clamp(3rem,8vw,6rem) clamp(1.5rem,5vw,4rem); border-right:1px solid rgba(200,196,188,.07); }
.about-body { font-family:'Hanken Grotesk',sans-serif; font-size:clamp(.8rem,1.5vw,.95rem); line-height:1.85; color:var(--silver); margin-bottom:2rem; }

.manifesto-pull {
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(1rem,2.5vw,1.5rem); letter-spacing:-.02em; line-height:1.2;
  color:var(--stone);
  border-left:2px solid var(--wall);
  padding-left:1.5rem; margin:2rem 0;
}

/* EDIT-IMAGE: about-image */
.about-image {
  background:var(--concrete);
  min-height:400px; position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end; padding:2rem;
}
.about-image::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(160deg,#1a1715 0%,#2a2218 40%,#1e1a14 100%);
}
.about-image-label { position:relative; z-index:1; font-size:.4rem; letter-spacing:.3em; text-transform:uppercase; color:var(--silver); opacity:.5; }

.workshop-badges { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:2rem; }
.badge { font-size:.4rem; letter-spacing:.22em; text-transform:uppercase; color:var(--silver); padding:.3rem .7rem; border:1px solid rgba(200,196,188,.15); opacity:.7; }

@media(max-width:768px) {
  #about { grid-template-columns:1fr; }
  .about-image { min-height:280px; }
}

/* ─── ESPACIO ────────────────────────────────────────────────── */
#espacio {
  background:var(--concrete);
  border-bottom:1px solid rgba(200,196,188,.07);
}

.espacio-header {
  padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem);
  display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:2rem;
  border-bottom:1px solid rgba(200,196,188,.07);
}
.espacio-header-text { max-width:520px; }
.espacio-subtitle {
  font-family:'Hanken Grotesk',sans-serif;
  font-size:clamp(.78rem,1.4vw,.9rem); line-height:1.85;
  color:var(--silver); max-width:480px; margin-top:.5rem;
}

.espacio-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-template-rows:auto;
  gap:1px; background:var(--warm);
}

.espacio-cell {
  position:relative; overflow:hidden;
  background:var(--forge);
  cursor:default;
}
.espacio-cell--large { grid-column:span 2; grid-row:span 2; }

/* EDIT-IMAGE: espacio cells — replace backgrounds with real photos */
.espacio-cell-1 { min-height:320px; background:linear-gradient(145deg,#2a2722 0%,#1a1512 100%); }
.espacio-cell-2 { min-height:160px; background:linear-gradient(145deg,#3a3530 0%,#2a2522 100%); }
.espacio-cell-3 { min-height:160px; background:linear-gradient(145deg,#1e1c1a 0%,#141210 100%); }
.espacio-cell-4 { min-height:260px; background:linear-gradient(145deg,#2e2a25 0%,#1e1a15 100%); }
.espacio-cell-5 { min-height:260px; background:linear-gradient(145deg,#4a4540 0%,#3a3530 100%); }

.espacio-cell-label {
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(to top, rgba(14,13,11,.8) 0%, transparent 100%);
  padding:1.5rem 1.2rem .8rem;
  font-size:.38rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--silver); opacity:.7;
}

.espacio-stats {
  padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,5vw,3rem);
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--warm);
}
.espacio-stat { background:var(--concrete); padding:2rem 1.5rem; }
.espacio-stat-num {
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-.04em;
  color:var(--stone); line-height:1; margin-bottom:.4rem;
}
.espacio-stat-label { font-size:.38rem; letter-spacing:.28em; text-transform:uppercase; color:var(--silver); opacity:.5; }

@media(max-width:900px) {
  .espacio-grid { grid-template-columns:1fr 1fr; }
  .espacio-cell--large { grid-column:span 2; }
  .espacio-stats { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:600px) {
  .espacio-grid { grid-template-columns:1fr; }
  .espacio-cell--large { grid-column:span 1; }
  .espacio-stats { grid-template-columns:repeat(2,1fr); }
}

/* ─── SHOP ───────────────────────────────────────────────────── */
#shop {
  padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem);
  border-bottom:1px solid rgba(200,196,188,.07);
}

.shop-header { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:2rem; flex-wrap:wrap; gap:1rem; }
.shop-filters { display:flex; gap:1rem; flex-wrap:wrap; }

.filter-btn {
  font-family:'DM Mono',monospace;
  font-size:.42rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--silver); opacity:.5; padding:.3rem 0;
  border-bottom:1px solid transparent;
  transition:all .2s;
}
.filter-btn.active, .filter-btn:hover { opacity:1; color:var(--stone); border-bottom-color:var(--wall); }

.product-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1.2rem;
}

.product-card { cursor:pointer; transition:transform .3s ease; }
.product-card:hover { transform:translateY(-4px); }

.product-img {
  aspect-ratio:.85/1; margin-bottom:.8rem;
  position:relative; overflow:hidden;
  background:var(--concrete);
}
.pimg-placeholder { background:linear-gradient(145deg,#2a2722 0%,#1a1715 100%); }
.pimg-light       { background:linear-gradient(145deg,#d8d3c6 0%,#b8b3a8 100%); }
.pimg-mid         { background:linear-gradient(145deg,#4a4540 0%,#2a2520 100%); }

.product-img-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.36rem; letter-spacing:.25em; text-transform:uppercase; opacity:.15; }

.product-badge {
  position:absolute; top:.6rem; left:.6rem;
  font-size:.32rem; letter-spacing:.18em; text-transform:uppercase;
  background:var(--forge); color:var(--stone); padding:.2rem .5rem; opacity:.85;
}
.product-badge.new { background:var(--warm); border:1px solid rgba(200,196,188,.3); }

.product-quick-add {
  position:absolute; bottom:0; left:0; right:0;
  background:rgba(14,13,11,.9); color:var(--stone);
  font-family:'Archivo Black',sans-serif; font-size:.48rem; letter-spacing:-.01em;
  padding:.7rem; text-align:center;
  transform:translateY(100%); transition:transform .25s ease;
}
.product-card:hover .product-quick-add { transform:translateY(0); }

.product-name { font-family:'Archivo Black',sans-serif; font-size:.75rem; letter-spacing:-.02em; color:var(--stone); margin-bottom:.2rem; line-height:1.2; }
.product-material { font-size:.38rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver); opacity:.5; margin-bottom:.3rem; }
.product-price { font-size:.55rem; letter-spacing:.05em; color:var(--stone); opacity:.8; }

/* ─── CLASSES ────────────────────────────────────────────────── */
#classes { border-bottom:1px solid rgba(200,196,188,.07); }

.classes-hero {
  background:var(--stone); color:var(--forge);
  padding:clamp(3rem,8vw,6rem) clamp(1.5rem,5vw,4rem);
}
.classes-hero .section-title { color:var(--forge); }
.classes-hero .section-label { color:var(--warm); }

.classes-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1px; background:var(--warm); margin-top:2.5rem;
}

.class-card {
  background:var(--forge); color:var(--stone);
  padding:2rem 1.5rem;
  cursor:pointer; transition:background .2s;
  position:relative; overflow:hidden;
}
.class-card:hover { background:var(--concrete); }
.class-card::before {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--wall);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.class-card:hover::before { transform:scaleX(1); }

.class-num { font-family:'Archivo Black',sans-serif; font-size:2.5rem; letter-spacing:-.04em; color:var(--warm); line-height:1; margin-bottom:.8rem; }
.class-name { font-family:'Archivo Black',sans-serif; font-size:1rem; letter-spacing:-.02em; color:var(--stone); margin-bottom:.5rem; line-height:1; }
.class-detail { font-size:.48rem; letter-spacing:.12em; color:var(--silver); opacity:.6; line-height:1.7; margin-bottom:1rem; }
.class-price { font-family:'Archivo Black',sans-serif; font-size:.85rem; letter-spacing:-.02em; color:var(--stone); }
.class-price span { font-family:'DM Mono',monospace; font-size:.42rem; font-weight:300; opacity:.5; letter-spacing:.1em; display:block; margin-top:.15rem; }

.wax-program {
  background:var(--concrete);
  padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,4rem);
  display:grid; grid-template-columns:1fr 1fr;
  gap:3rem; align-items:center;
  border-top:1px solid rgba(200,196,188,.07);
}
.wax-steps { display:flex; flex-direction:column; gap:1.5rem; margin-top:1.5rem; }
.wax-step { display:flex; gap:1rem; align-items:flex-start; }
.wax-step-num { font-family:'Archivo Black',sans-serif; font-size:2rem; letter-spacing:-.04em; color:var(--warm); line-height:1; flex-shrink:0; width:2rem; }
.wax-step-text { font-family:'Hanken Grotesk',sans-serif; font-size:.78rem; line-height:1.75; color:var(--silver); }
.wax-step-text strong { color:var(--stone); font-weight:500; }

.wax-cta { background:var(--stone); color:var(--forge); padding:2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.wax-cta-title { font-family:'Archivo Black',sans-serif; font-size:1.3rem; letter-spacing:-.025em; line-height:1; }
.wax-cta-body { font-family:'Hanken Grotesk',sans-serif; font-size:.75rem; line-height:1.8; color:rgba(26,24,21,.65); }

@media(max-width:768px) { .wax-program { grid-template-columns:1fr; gap:2rem; } }

/* ─── STONES ─────────────────────────────────────────────────── */
#stones { padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem); border-bottom:1px solid rgba(200,196,188,.07); }

.stones-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:1rem; margin-top:2rem; }
.stone-card { cursor:pointer; transition:transform .2s; }
.stone-card:hover { transform:translateY(-3px); }
.stone-swatch { aspect-ratio:1; margin-bottom:.6rem; border-radius:2px; position:relative; overflow:hidden; }
.stone-swatch::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.4) 100%); }

.s-labradorite { background:linear-gradient(135deg,#4a5568 0%,#718096 50%,#a0aec0 100%); }
.s-turquoise   { background:linear-gradient(135deg,#2d6a4f 0%,#40916c 60%,#74c69d 100%); }
.s-obsidian    { background:linear-gradient(135deg,#1a1a2e 0%,#16213e 60%,#0f3460 100%); }
.s-amethyst    { background:linear-gradient(135deg,#4a1a6e 0%,#7b2d8b 60%,#9d4edd 100%); }
.s-opal        { background:linear-gradient(135deg,#e8c4b8 0%,#f4d6c8 60%,#ffecd2 100%); }
.s-pyrite      { background:linear-gradient(135deg,#b7950b 0%,#d4ac0d 60%,#f1c40f 100%); }
.s-moonstone   { background:linear-gradient(135deg,#c5cae9 0%,#e8eaf6 60%,#f5f5f5 100%); }
.s-garnet      { background:linear-gradient(135deg,#6d1a1a 0%,#9b2335 60%,#c62a47 100%); }

.stone-name   { font-family:'Archivo Black',sans-serif; font-size:.65rem; letter-spacing:-.01em; color:var(--stone); margin-bottom:.15rem; }
.stone-origin { font-size:.36rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver); opacity:.5; }
.stone-avail  { font-size:.36rem; letter-spacing:.15em; margin-top:.2rem; }
.stone-avail.in  { color:var(--wall); }
.stone-avail.low { color:rgba(181,142,42,.8); }

/* ─── COLABORADORES ──────────────────────────────────────────── */
#colaboradores {
  background:var(--stone); color:var(--forge);
  border-bottom:1px solid rgba(200,196,188,.07);
}

.colab-header {
  padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem) 0;
}
.colab-header .section-title { color:var(--forge); }
.colab-header .section-label { color:var(--warm); }
.colab-intro {
  font-family:'Hanken Grotesk',sans-serif;
  font-size:clamp(.78rem,1.4vw,.9rem); line-height:1.85;
  color:rgba(26,24,21,.6); max-width:520px; margin-top:-.5rem; margin-bottom:2.5rem;
}

.colab-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1px; background:rgba(26,24,21,.08);
  border-top:1px solid rgba(26,24,21,.08);
}

.colab-card {
  background:var(--stone);
  padding:2.5rem 2rem;
  display:flex; flex-direction:column; gap:1.2rem;
  transition:background .25s;
  position:relative; overflow:hidden;
}
.colab-card:hover { background:var(--wall); }

.colab-card-num {
  font-family:'DM Mono',monospace;
  font-size:.38rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(26,24,21,.35);
}
.colab-logo-wrap {
  height:3rem; display:flex; align-items:center;
}
.colab-logo-text {
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(1rem,2.5vw,1.5rem); letter-spacing:-.03em;
  color:var(--forge); line-height:1;
}
.colab-logo-sub {
  font-family:'DM Mono',monospace;
  font-size:.38rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(26,24,21,.4); margin-top:.25rem;
}
.colab-desc {
  font-family:'Hanken Grotesk',sans-serif;
  font-size:.72rem; line-height:1.7;
  color:rgba(26,24,21,.65); flex:1;
}
.colab-link {
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:'Archivo Black',sans-serif;
  font-size:.48rem; letter-spacing:-.01em;
  color:var(--forge);
  padding:.4rem 0;
  border-bottom:1px solid rgba(26,24,21,.2);
  width:fit-content; transition:border-color .2s;
}
.colab-link:hover { border-color:var(--forge); }

@media(max-width:600px) { .colab-grid { grid-template-columns:1fr; } }

/* ─── INSTAGRAM ──────────────────────────────────────────────── */
#instagram {
  padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem);
  border-bottom:1px solid rgba(200,196,188,.07);
}

.ig-header { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:1.5rem; margin-bottom:2rem; }

.ig-tabs { display:flex; gap:0; border:1px solid rgba(200,196,188,.15); }
.ig-tab {
  font-family:'DM Mono',monospace;
  font-size:.42rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--silver); opacity:.5;
  padding:.4rem .9rem; cursor:pointer;
  border-right:1px solid rgba(200,196,188,.15);
  transition:all .2s;
}
.ig-tab:last-child { border-right:none; }
.ig-tab.active { background:var(--warm); color:var(--stone); opacity:1; }
.ig-tab:hover:not(.active) { opacity:.8; }

.ig-profile { display:none; }
.ig-profile.active { display:block; }

.ig-profile-header {
  display:flex; align-items:center; gap:1.2rem;
  margin-bottom:1.5rem; padding-bottom:1.2rem;
  border-bottom:1px solid rgba(200,196,188,.08);
}
.ig-avatar {
  width:48px; height:48px; border-radius:50%;
  background:var(--warm); flex-shrink:0;
  border:1.5px solid rgba(200,196,188,.2);
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo Black',sans-serif;
  font-size:.55rem; letter-spacing:-.01em; color:var(--stone);
}
.ig-handle { font-family:'Archivo Black',sans-serif; font-size:.75rem; letter-spacing:-.01em; color:var(--stone); margin-bottom:.15rem; }
.ig-bio { font-size:.4rem; letter-spacing:.12em; color:var(--silver); opacity:.55; }

.ig-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:2px;
}
.ig-post {
  aspect-ratio:1; position:relative; overflow:hidden;
  background:var(--concrete); cursor:pointer;
  transition:opacity .2s;
}
.ig-post:hover { opacity:.8; }
.ig-post::after {
  content:'↗'; position:absolute; top:.5rem; right:.5rem;
  font-size:.6rem; color:rgba(240,237,232,.6);
  opacity:0; transition:opacity .2s;
}
.ig-post:hover::after { opacity:1; }

/* EDIT-IMAGE: ig-post placeholders — replace background with real IG screenshot */
.ig-post-1  { background:linear-gradient(145deg,#2a2722 0%,#1a1512 100%); }
.ig-post-2  { background:linear-gradient(145deg,#3a3530 0%,#2a2522 100%); }
.ig-post-3  { background:linear-gradient(145deg,#1e1c1a 0%,#141210 100%); }
.ig-post-4  { background:linear-gradient(145deg,#4a4540 0%,#3a3530 100%); }
.ig-post-5  { background:linear-gradient(145deg,#d8d3c6 0%,#b8b3a8 100%); }
.ig-post-6  { background:linear-gradient(145deg,#2e2a25 0%,#1e1a15 100%); }
.ig-post-7  { background:linear-gradient(145deg,#5a5550 0%,#4a4540 100%); }
.ig-post-8  { background:linear-gradient(145deg,#c8c4bc 0%,#a8a49c 100%); }
.ig-post-9  { background:linear-gradient(145deg,#1a1a2e 0%,#16213e 100%); }

.ig-post-label {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.32rem; letter-spacing:.22em; text-transform:uppercase;
  opacity:.12; color:var(--stone);
}

.ig-footer {
  margin-top:1.5rem; text-align:center;
}

@media(max-width:600px) {
  .ig-tabs { width:100%; }
  .ig-tab { flex:1; text-align:center; font-size:.38rem; padding:.4rem .5rem; }
}

/* ─── BOOKING FORM ───────────────────────────────────────────── */
#booking {
  background:var(--concrete);
  padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem);
  border-bottom:1px solid rgba(200,196,188,.07);
}
.booking-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:start; }
.booking-info h2 { font-family:'Archivo Black',sans-serif; font-size:clamp(1.6rem,4vw,3rem); letter-spacing:-.03em; line-height:.9; color:var(--stone); margin-bottom:1.2rem; }
.booking-info p { font-family:'Hanken Grotesk',sans-serif; font-size:.8rem; line-height:1.85; color:var(--silver); margin-bottom:2rem; }

.booking-format-list { display:flex; flex-direction:column; gap:.8rem; }
.booking-format { display:flex; justify-content:space-between; padding:.8rem 0; border-bottom:1px solid rgba(200,196,188,.08); font-size:.58rem; }
.booking-format .fname  { font-family:'Archivo Black',sans-serif; font-size:.65rem; letter-spacing:-.01em; color:var(--stone); }
.booking-format .fdetail { color:var(--silver); opacity:.55; }
.booking-format .fprice  { color:var(--wall); }

.booking-form { background:var(--stone); color:var(--forge); padding:2.5rem; }
.form-title { font-family:'Archivo Black',sans-serif; font-size:1.2rem; letter-spacing:-.02em; margin-bottom:2rem; line-height:1; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-field { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-field label { font-size:.38rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(26,24,21,.5); }
.form-field input,
.form-field select,
.form-field textarea { font-family:'DM Mono',monospace; font-size:.62rem; color:var(--forge); background:transparent; border:none; border-bottom:1.5px solid rgba(26,24,21,.2); padding:.5rem 0; outline:none; width:100%; transition:border-color .2s; appearance:none; }
.form-field input:focus, .form-field select:focus { border-bottom-color:var(--warm); }
.form-field textarea { resize:none; height:80px; border:1.5px solid rgba(26,24,21,.2); padding:.6rem; border-radius:0; }
.form-field textarea:focus { border-color:var(--warm); }
.form-submit { background:var(--forge); color:var(--stone); font-family:'Archivo Black',sans-serif; font-size:.58rem; letter-spacing:-.01em; padding:.8rem 2rem; width:100%; transition:background .2s, transform .1s; margin-top:.5rem; }
.form-submit:hover { background:#2a2722; }
.form-submit:active { transform:scale(.98); }
.form-note { font-size:.38rem; letter-spacing:.12em; color:rgba(26,24,21,.4); margin-top:.8rem; line-height:1.6; }

#form-success { display:none; background:var(--stone); color:var(--forge); padding:3rem 2.5rem; text-align:center; }
#form-success .check { font-size:2rem; margin-bottom:1rem; color:var(--warm); }
#form-success h3 { font-family:'Archivo Black',sans-serif; font-size:1.2rem; letter-spacing:-.02em; margin-bottom:.8rem; }
#form-success p { font-family:'Hanken Grotesk',sans-serif; font-size:.78rem; line-height:1.8; color:rgba(26,24,21,.65); }

@media(max-width:768px) {
  .booking-grid { grid-template-columns:1fr; gap:2.5rem; }
  .form-row { grid-template-columns:1fr; }
}

/* ─── CONTACT ────────────────────────────────────────────────── */
#contact { padding:clamp(3rem,8vw,5rem) clamp(1.5rem,5vw,3rem); border-bottom:1px solid rgba(200,196,188,.07); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--warm); margin-top:2rem; }
.contact-block { background:var(--concrete); padding:2rem 1.5rem; }
.contact-type { font-size:.4rem; letter-spacing:.38em; text-transform:uppercase; color:var(--wall); margin-bottom:.6rem; }
.contact-action { font-family:'Archivo Black',sans-serif; font-size:1rem; letter-spacing:-.02em; color:var(--stone); margin-bottom:.5rem; line-height:1.2; }
.contact-detail { font-size:.55rem; line-height:1.7; color:var(--silver); opacity:.65; }
.contact-link {
  display:inline-flex; align-items:center; gap:.5rem; margin-top:1rem;
  font-family:'Archivo Black',sans-serif; font-size:.52rem; letter-spacing:-.01em; color:var(--stone);
  padding:.5rem 1rem; border:1px solid rgba(200,196,188,.2); transition:all .2s;
}
.contact-link:hover { background:var(--warm); border-color:rgba(200,196,188,.4); }
.contact-link.wa { background:var(--warm); color:var(--stone); border-color:rgba(200,196,188,.3); }
.contact-link.wa:hover { background:var(--concrete); }

@media(max-width:768px) { .contact-grid { grid-template-columns:1fr; } }

/* ─── FOOTER ─────────────────────────────────────────────────── */
footer { background:var(--concrete); padding:3rem clamp(1.5rem,5vw,3rem) 2rem; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2rem; margin-bottom:3rem; }
.footer-brand p { font-family:'Hanken Grotesk',sans-serif; font-size:.68rem; line-height:1.85; color:var(--silver); opacity:.5; max-width:260px; margin-top:1rem; }
.footer-col h4 { font-family:'Archivo Black',sans-serif; font-size:.6rem; letter-spacing:-.01em; color:var(--stone); margin-bottom:.8rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer-col ul li a { font-size:.52rem; letter-spacing:.06em; color:var(--silver); opacity:.5; transition:opacity .2s; }
.footer-col ul li a:hover { opacity:1; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:1.5rem; border-top:1px solid rgba(200,196,188,.08); flex-wrap:wrap; gap:1rem; }
.footer-legal { font-size:.38rem; letter-spacing:.18em; opacity:.3; }
.footer-ig { font-size:.42rem; letter-spacing:.18em; opacity:.4; transition:opacity .2s; }
.footer-ig:hover { opacity:.8; }

@media(max-width:768px) { .footer-top { grid-template-columns:1fr 1fr; gap:2rem; } }
@media(max-width:480px) { .footer-top { grid-template-columns:1fr; } }

/* ─── CART DRAWER ────────────────────────────────────────────── */
#cart-overlay { position:fixed; inset:0; z-index:200; background:rgba(0,0,0,.5); display:none; opacity:0; transition:opacity .3s; }
#cart-overlay.open { display:block; opacity:1; }
#cart-drawer { position:fixed; top:0; right:0; bottom:0; z-index:201; width:min(420px,100vw); background:var(--stone); color:var(--forge); transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; }
#cart-drawer.open { transform:translateX(0); }
.cart-header { display:flex; justify-content:space-between; align-items:center; padding:1.5rem 2rem; border-bottom:1px solid rgba(26,24,21,.1); }
.cart-header h3 { font-family:'Archivo Black',sans-serif; font-size:1rem; letter-spacing:-.02em; }
.cart-close { font-size:1.1rem; opacity:.4; transition:opacity .2s; color:var(--forge); }
.cart-close:hover { opacity:.8; }
#cart-items { flex:1; overflow-y:auto; padding:1.5rem 2rem; }
.cart-empty { text-align:center; padding:3rem 0; font-size:.65rem; color:rgba(26,24,21,.4); font-family:'Hanken Grotesk',sans-serif; line-height:2; }
.cart-item { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(26,24,21,.08); }
.cart-item-img { width:70px; height:80px; flex-shrink:0; overflow:hidden; }
.cart-item-info { flex:1; }
.cart-item-name { font-family:'Archivo Black',sans-serif; font-size:.65rem; letter-spacing:-.01em; margin-bottom:.2rem; }
.cart-item-material { font-size:.36rem; letter-spacing:.18em; text-transform:uppercase; opacity:.45; margin-bottom:.5rem; }
.cart-item-price { font-size:.6rem; letter-spacing:.05em; }
.cart-item-remove { font-size:.7rem; opacity:.3; color:var(--forge); transition:opacity .2s; align-self:flex-start; padding:.2rem; }
.cart-item-remove:hover { opacity:.7; }
.cart-footer { padding:1.5rem 2rem; border-top:1px solid rgba(26,24,21,.1); }
.cart-total { display:flex; justify-content:space-between; margin-bottom:1.2rem; font-family:'Archivo Black',sans-serif; font-size:.85rem; letter-spacing:-.01em; }
.cart-checkout { background:var(--forge); color:var(--stone); font-family:'Archivo Black',sans-serif; font-size:.58rem; letter-spacing:-.01em; padding:.8rem; width:100%; text-align:center; transition:background .2s; display:block; }
.cart-checkout:hover { background:#2a2722; }
.cart-wa { display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:.7rem; font-size:.42rem; letter-spacing:.12em; text-transform:uppercase; color:var(--forge); opacity:.5; transition:opacity .2s; }
.cart-wa:hover { opacity:.9; }

/* ─── LANGUAGE TOGGLE ────────────────────────────────────────── */
.lang-toggle { font-family:'DM Mono',monospace; font-size:.42rem; letter-spacing:.15em; color:var(--silver); opacity:.5; cursor:pointer; transition:opacity .2s; padding:.2rem .4rem; border:1px solid rgba(200,196,188,.15); }
.lang-toggle:hover { opacity:1; }

/* ─── TOAST ──────────────────────────────────────────────────── */
#toast {
  position:fixed; bottom:2rem; left:50%; z-index:300;
  transform:translateX(-50%) translateY(100px);
  background:var(--forge); color:var(--stone);
  font-family:'Archivo Black',sans-serif; font-size:.6rem; letter-spacing:-.01em;
  padding:.75rem 1.5rem;
  border-left:3px solid var(--wall);
  transition:transform .3s ease, opacity .3s;
  opacity:0; white-space:nowrap;
}
#toast.show { transform:translateX(-50%) translateY(0); opacity:1; }

/* ─── ANIMATIONS ─────────────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

.reveal {
  opacity:0; transform:translateY(20px);
  transition:opacity .65s ease, transform .65s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }

/* Staggered reveal for grid children */
.reveal-stagger > * {
  opacity:0; transform:translateY(16px);
  transition:opacity .5s ease, transform .5s ease;
}
.reveal-stagger.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:.05s; }
.reveal-stagger.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:.12s; }
.reveal-stagger.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:.19s; }
.reveal-stagger.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:.26s; }
.reveal-stagger.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:.33s; }
.reveal-stagger.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:.40s; }
