/* ══════════════════════════════════════════════════
   Container World Chile — Main Stylesheet
   Dual palette: .palette-dark / .palette-light
   ══════════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}

/* ── PALETTE: DARK (Obsidian Gold) ── */
.palette-dark{
  --bg:#0c0c0e;
  --surface:#111110;
  --surface2:#1a1815;
  --gold:#c9a84c;
  --gold-dim:#a8882e;
  --text:#f0e8d0;
  --muted:#5a5a52;
  --steel:#3a3a32;
  --border:rgba(255,255,255,0.05);
  --border-gold:rgba(201,168,76,0.2);
  --input-bg:var(--surface);
  --input-border:rgba(255,255,255,0.06);
  --input-focus-bg:#151512;
  --input-placeholder:var(--steel);
  --card-bg:var(--surface);
  --card-border:rgba(255,255,255,0.04);
  --footer-bg:#0a0a0c;
  --badge-hot-bg:var(--gold);
  --badge-hot-color:#1a0e02;
  --badge-prem-bg:rgba(201,168,76,0.12);
  --badge-prem-color:var(--gold);
  --badge-prem-border:rgba(201,168,76,0.2);
  --badge-new-bg:rgba(100,180,120,0.12);
  --badge-new-color:#64b478;
  --badge-new-border:rgba(100,180,120,0.2);
  --hero-vignette:rgba(12,12,14,0.8);
  --grid-line-color:rgba(201,168,76,0.03);
  --btn-gold-text:#1a0e02;
  --ghost-btn-border:rgba(255,255,255,0.1);
  --ghost-btn-hover-border:rgba(255,255,255,0.3);
  --spec-val-color:#a09060;
  --fin-bg:#111008;
  --fin-card-hover:#1a1810;
  --avatar-bg:#1e1c14;
  --quote-mark:rgba(201,168,76,0.04);
  --tc-text:#7a7a72;
  --process-num:rgba(201,168,76,0.06);
}

/* ── PALETTE: LIGHT (Ivory Stone) ── */
.palette-light{
  --bg:#f4efe6;
  --surface:#ece6d8;
  --surface2:#e4dcc8;
  --gold:#8b6f3a;
  --gold-dim:#6b4f1e;
  --text:#1a1208;
  --muted:#8a7a5e;
  --steel:#b8a882;
  --border:rgba(0,0,0,0.07);
  --border-gold:rgba(139,111,58,0.3);
  --input-bg:#ece6d8;
  --input-border:rgba(0,0,0,0.09);
  --input-focus-bg:#ddd5be;
  --input-placeholder:#b8a882;
  --card-bg:#ece6d8;
  --card-border:rgba(0,0,0,0.07);
  --footer-bg:#ece6d8;
  --badge-hot-bg:#8b6f3a;
  --badge-hot-color:#f4efe6;
  --badge-prem-bg:rgba(139,111,58,0.15);
  --badge-prem-color:#8b6f3a;
  --badge-prem-border:rgba(139,111,58,0.25);
  --badge-new-bg:rgba(100,190,130,0.12);
  --badge-new-color:#2a8a40;
  --badge-new-border:rgba(100,190,130,0.2);
  --hero-vignette:rgba(244,239,230,0.8);
  --grid-line-color:rgba(139,111,58,0.06);
  --btn-gold-text:#f4efe6;
  --ghost-btn-border:rgba(0,0,0,0.12);
  --ghost-btn-hover-border:rgba(0,0,0,0.25);
  --spec-val-color:#6a5428;
  --fin-bg:#ece6d8;
  --fin-card-hover:#e4dcc8;
  --avatar-bg:#dcd4be;
  --quote-mark:rgba(139,111,58,0.15);
  --tc-text:#8a7a5e;
  --process-num:rgba(139,111,58,0.09);
}

body{
  font-family:'Barlow',sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px;}

/* ── CURSOR ── */
.cursor{
  width:12px;height:12px;background:var(--gold);border-radius:50%;
  position:fixed;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s,opacity .2s;
  mix-blend-mode:difference;
}
.cursor-ring{
  width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;
  position:fixed;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:all .12s ease-out;
  opacity:0.4;
}
body:hover .cursor{opacity:1;}

/* Hide cursor on touch devices */
@media(hover:none){
  .cursor,.cursor-ring{display:none;}
}

/* ══════════════════════════════════════
   NAV
   ══════════════════════════════════════ */
.nav{
  height:64px;display:flex;align-items:center;justify-content:space-between;
  padding:0 3rem;
  background:transparent;
  border-bottom:1px solid transparent;
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
}
.nav.scrolled{
  background:rgba(from var(--bg) r g b / 0.96);
  border-bottom-color:var(--border);
  backdrop-filter:blur(12px);
}
/* Fallback for browsers that don't support relative color syntax */
.palette-dark .nav.scrolled{background:rgba(12,12,14,0.96);}
.palette-light .nav.scrolled{background:rgba(244,239,230,0.96);}

/* Brand: logo + title */
.nav-brand{
  display:flex;align-items:center;gap:14px;
  text-decoration:none;
  opacity:0;transform:translateY(-10px);
  transition:opacity .6s .1s,transform .6s .1s;
}
.nav-brand.visible{opacity:1;transform:translateY(0);}
.nav-logo-img{height:72px;width:auto;display:block;}
.nav-title{
  font-family:'Caveat',cursive;
  font-size:28px;font-weight:700;
  color:var(--text);line-height:1.1;
  letter-spacing:0.5px;margin:0;
}
.nav-title span{color:var(--gold);}

/* Legacy support */
.nav-logo{
  font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;
  color:var(--text);text-decoration:none;
  opacity:0;transform:translateY(-10px);
  transition:opacity .6s .1s,transform .6s .1s;
}
.nav-logo.visible{opacity:1;transform:translateY(0);}
.nav-logo span{color:var(--gold);}
.nav-logo img{height:72px;width:auto;}
.nav-logo .custom-logo-link{display:flex;align-items:center;}
.nav-logo .custom-logo{height:72px;width:auto;}

.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links li{
  opacity:0;transform:translateY(-8px);
  transition:opacity .4s,transform .4s;
}
.nav-links li.visible{opacity:1;transform:translateY(0);}
.nav-links a{
  font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;
  color:var(--muted);text-decoration:none;transition:color .2s;
}
.nav-links a:hover{color:var(--text);}

.btn-nav{
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  background:var(--gold);color:var(--btn-gold-text);border:none;
  padding:10px 20px;cursor:pointer;font-family:'Barlow',sans-serif;
  text-decoration:none;display:inline-block;
  opacity:0;transform:translateY(-8px);
  transition:opacity .4s .4s,transform .4s .4s,background .2s;
}
.btn-nav.visible{opacity:1;transform:translateY(0);}
.btn-nav:hover{background:var(--gold-dim);}

/* Burger (mobile) */
.nav-burger{
  display:none;background:none;border:none;cursor:pointer;
  width:28px;height:20px;position:relative;z-index:101;
}
.nav-burger span{
  display:block;width:100%;height:2px;background:var(--text);
  position:absolute;left:0;transition:all .3s;
}
.nav-burger span:nth-child(1){top:0;}
.nav-burger span:nth-child(2){top:9px;}
.nav-burger span:nth-child(3){top:18px;}
.nav-burger.open span:nth-child(1){top:9px;transform:rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){top:9px;transform:rotate(-45deg);}

/* ══════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════ */
.btn-gold{
  background:var(--gold);color:var(--btn-gold-text);border:none;
  padding:15px 30px;font-family:'Barlow',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
  transition:background .2s;
}
.btn-gold:hover{background:var(--gold-dim);}

.btn-ghost{
  background:transparent;color:var(--muted);
  border:1px solid var(--ghost-btn-border);
  padding:14px 26px;font-family:'Barlow',sans-serif;
  font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;text-decoration:none;display:inline-block;
  transition:border-color .2s,color .2s;
}
.btn-ghost:hover{border-color:var(--ghost-btn-hover-border);color:var(--text);}

/* ══════════════════════════════════════
   HERO
   ══════════════════════════════════════ */
.hero{
  min-height:100vh;display:flex;align-items:flex-end;
  padding:0 3rem;padding-top:64px;
  position:relative;overflow:hidden;
}
.hero-grid-bg{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--grid-line-color) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line-color) 1px,transparent 1px);
  background-size:48px 48px;
  animation:gridPan 20s linear infinite;
}
@keyframes gridPan{from{background-position:0 0;}to{background-position:48px 48px;}}

.hero-vignette{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 60% 50%,transparent 30%,var(--hero-vignette) 100%);
  pointer-events:none;
}
.hero-inner{
  position:relative;display:flex;width:100%;
  align-items:flex-end;gap:4rem;padding-bottom:5rem;
}
.hero-content{flex:1;}

.hero-overline{
  font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;
  opacity:0;transform:translateX(-20px);
  animation:slideRight .7s .8s forwards;
}
.hero-h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(60px,9vw,110px);
  line-height:0.88;color:var(--text);margin-bottom:1.5rem;
}
.hero-h1 .line{display:block;overflow:hidden;}
.hero-h1 .line span{
  display:block;transform:translateY(110%);
  animation:lineUp .8s cubic-bezier(.16,1,.3,1) forwards;
}
.hero-h1 .line:nth-child(1) span{animation-delay:.9s;}
.hero-h1 .line:nth-child(2) span{animation-delay:1.05s;}
.hero-h1 .line:nth-child(3) span{animation-delay:1.2s;}
.hero-h1 em{color:var(--gold);font-style:normal;}
@keyframes lineUp{to{transform:translateY(0);}}

.hero-sub{
  font-size:15px;font-weight:300;line-height:1.8;color:var(--muted);
  max-width:420px;margin-bottom:2.2rem;
  opacity:0;animation:fadeUp .7s 1.5s forwards;
}
.hero-btns{
  display:flex;gap:12px;
  opacity:0;animation:fadeUp .7s 1.7s forwards;
}

/* Hero right stack */
.hero-stack{
  flex:0 0 300px;padding-bottom:5rem;
  opacity:0;transform:translateX(30px);
  animation:fadeLeft .9s 1.4s forwards;
}
.stack-label{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--steel);margin-bottom:12px;}
.stack-items{display:flex;flex-direction:column;gap:5px;}
.stack-item{
  height:44px;display:flex;align-items:center;padding:0 16px;
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;
  border-radius:1px;cursor:default;position:relative;overflow:hidden;
}
.stack-item::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:0;
  background:rgba(255,255,255,0.04);transition:width .3s;
}
.stack-item:hover::before{width:100%;}
.si-1{background:var(--gold);color:var(--btn-gold-text);width:285px;}
.si-2{background:var(--card-bg);color:var(--muted);width:242px;border:1px solid var(--card-border);}
.si-3{background:var(--surface);color:var(--steel);width:198px;border:1px solid var(--card-border);}
.si-4{background:var(--surface);color:var(--steel);width:155px;border:1px solid var(--card-border);}

.hero-pulse{margin-top:18px;display:flex;align-items:center;gap:8px;}
.pdot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.7);}}
.pulse-txt{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--steel);}

/* Scroll indicator */
.scroll-hint{
  position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fadeUp .6s 2.2s forwards;
}
.scroll-line{width:1px;height:40px;background:var(--gold);animation:scrollPulse 2s infinite;}
.scroll-txt{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--steel);}
@keyframes scrollPulse{
  0%{transform:scaleY(0);transform-origin:top;opacity:0;}
  50%{transform:scaleY(1);opacity:1;}
  100%{transform:scaleY(0);transform-origin:bottom;opacity:0;}
}

/* ══════════════════════════════════════
   STATS
   ══════════════════════════════════════ */
.stats{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stat-item{
  flex:1;padding:1.75rem 2rem;border-right:1px solid var(--border);
  position:relative;overflow:hidden;
}
.stat-item::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:0;
  background:rgba(from var(--gold) r g b / 0.04);transition:height .3s;
}
.palette-dark .stat-item::after{background:rgba(201,168,76,0.04);}
.palette-light .stat-item::after{background:rgba(139,111,58,0.06);}
.stat-item:hover::after{height:100%;}
.stat-item:last-child{border-right:none;}
.stat-n{font-family:'Bebas Neue',sans-serif;font-size:38px;color:var(--text);line-height:1;}
.stat-n em{color:var(--gold);font-style:normal;}
.stat-l{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--steel);margin-top:5px;}
.stat-item.reveal .stat-n{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s;}
.stat-item.in-view .stat-n{opacity:1;transform:translateY(0);}
.stat-item:nth-child(2).in-view .stat-n{transition-delay:.1s;}
.stat-item:nth-child(3).in-view .stat-n{transition-delay:.2s;}
.stat-item:nth-child(4).in-view .stat-n{transition-delay:.3s;}
.stat-item:nth-child(5).in-view .stat-n{transition-delay:.4s;}

/* ══════════════════════════════════════
   SECTION HEADS
   ══════════════════════════════════════ */
.section-head{margin-bottom:3.5rem;}
.section-over{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;}
.section-h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(34px,5vw,56px);line-height:1;color:var(--text);}
.section-h2 em{color:var(--gold);font-style:normal;}

/* ══════════════════════════════════════
   INTRO SPLIT
   ══════════════════════════════════════ */
.intro{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);}
.intro-left{padding:6rem 3rem;border-right:1px solid var(--border);}
.intro-right{padding:6rem 3rem;display:flex;flex-direction:column;justify-content:space-between;}
.intro-p{font-size:14px;font-weight:300;line-height:1.9;color:var(--muted);margin-top:1.5rem;max-width:480px;}
.pillars{display:flex;flex-direction:column;gap:0;}
.pillar{padding:1.75rem 0;border-bottom:1px solid var(--border);}
.pillar:last-child{border-bottom:none;}
.p-num{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:2px;color:var(--gold);margin-bottom:.5rem;}
.p-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text);margin-bottom:.5rem;}
.p-text{font-size:13px;font-weight:300;line-height:1.75;color:var(--muted);}

/* ══════════════════════════════════════
   CATALOG
   ══════════════════════════════════════ */
.catalog{padding:6rem 3rem;}
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}

/* Model Card */
.model-card{
  background:var(--card-bg);border:1px solid var(--card-border);
  cursor:pointer;position:relative;overflow:hidden;
  transition:border-color .3s,transform .3s;
  opacity:0;transform:translateY(30px);
}
.model-card.in-view{opacity:1;transform:translateY(0);transition:opacity .6s,transform .6s,border-color .3s;}
.model-card:nth-child(2).in-view{transition-delay:.1s;}
.model-card:nth-child(3).in-view{transition-delay:.15s;}
.model-card:nth-child(4).in-view{transition-delay:.2s;}
.model-card:nth-child(5).in-view{transition-delay:.25s;}
.model-card:nth-child(6).in-view{transition-delay:.3s;}
.model-card:nth-child(7).in-view{transition-delay:.35s;}
.model-card:nth-child(8).in-view{transition-delay:.4s;}
.model-card:hover{border-color:var(--border-gold);transform:translateY(-3px);}

.mc-bar{height:2px;background:rgba(from var(--gold) r g b / 0.1);transition:background .35s;}
.palette-dark .mc-bar{background:rgba(201,168,76,0.1);}
.palette-light .mc-bar{background:rgba(139,111,58,0.12);}
.model-card:hover .mc-bar{background:var(--gold);}

.mc-img{
  height:180px;display:flex;align-items:flex-end;padding:1rem;
  position:relative;overflow:hidden;
  background-size:cover;background-position:center;
}
.mc-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,var(--surface) 0%,transparent 60%);
  pointer-events:none;opacity:.5;
}
.mc-arch-wrap{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem;gap:3px;}
.mc-blk{background:var(--gold);transition:height .4s ease,opacity .3s;}
.model-card:hover .mc-blk{opacity:.25;}
.mc-name-bg{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'Bebas Neue',sans-serif;font-size:44px;letter-spacing:3px;
  color:var(--process-num);pointer-events:none;white-space:nowrap;
  transition:font-size .3s,color .3s;
}
.model-card:hover .mc-name-bg{font-size:52px;}

.mc-badge{
  position:absolute;top:.7rem;right:.7rem;
  font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:3px 8px;
}
.badge-pop{background:var(--badge-hot-bg);color:var(--badge-hot-color);}
.badge-prem{background:var(--badge-prem-bg);color:var(--badge-prem-color);border:1px solid var(--badge-prem-border);}
.badge-new{background:var(--badge-new-bg);color:var(--badge-new-color);border:1px solid var(--badge-new-border);}

.mc-info{padding:1rem;}
.mc-name{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--text);margin-bottom:.5rem;}
.mc-specs{display:flex;flex-direction:column;gap:3px;}
.mc-spec{
  font-size:9px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--steel);display:flex;justify-content:space-between;
}
.mc-spec-val{color:var(--spec-val-color);}
.mc-price{
  padding:.75rem 1rem;border-top:1px solid var(--card-border);
  font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;justify-content:space-between;
}
.mc-arrow{opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s;}
.model-card:hover .mc-arrow{opacity:1;transform:translateX(0);}
.catalog-note{margin-top:1rem;text-align:center;font-size:11px;font-weight:300;color:var(--steel);letter-spacing:1px;}

/* ══════════════════════════════════════
   GALLERY / PROJECTS
   ══════════════════════════════════════ */
.gallery{border-bottom:1px solid var(--border);}
.gallery-header{
  padding:5rem 3rem 3rem;display:flex;align-items:flex-end;justify-content:space-between;
}
.cat-link{
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:6px;
}
.gallery-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:320px 220px;gap:3px;padding:0 3rem 3rem;
}
.gcard{position:relative;overflow:hidden;cursor:pointer;background:var(--card-bg);}
.gcard:first-child{grid-row:span 2;}
.gcard-bg{position:absolute;inset:0;transition:transform .6s;}
.gcard:hover .gcard-bg{transform:scale(1.04);}
.gcard-overlay{
  position:absolute;inset:0;
  transition:background .3s;
}
.palette-dark .gcard-overlay{background:linear-gradient(to top,rgba(12,12,14,0.96) 0%,rgba(12,12,14,0.05) 60%);}
.palette-dark .gcard:hover .gcard-overlay{background:linear-gradient(to top,rgba(12,12,14,0.99) 0%,rgba(12,12,14,0.1) 60%);}
.palette-light .gcard-overlay{background:linear-gradient(to top,rgba(244,239,230,0.96) 0%,rgba(244,239,230,0.05) 60%);}
.palette-light .gcard:hover .gcard-overlay{background:linear-gradient(to top,rgba(244,239,230,0.99) 0%,rgba(244,239,230,0.1) 60%);}

.gcard-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;}
.gcard-tag{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;}
.gcard-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--text);line-height:1.1;}
.gcard-meta{font-size:10px;font-weight:300;color:var(--muted);margin-top:.3rem;}

.gviz{position:absolute;inset:0;display:flex;align-items:flex-end;}
.gviz-inner{width:100%;display:flex;align-items:flex-end;gap:4px;padding:2rem;}
.gb{background:var(--gold);border-radius:1px 1px 0 0;}

/* ══════════════════════════════════════
   PROCESS
   ══════════════════════════════════════ */
.process{background:var(--surface);padding:6rem 3rem;border-top:1px solid var(--border);}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:3.5rem;}
.ps{
  background:var(--surface);padding:2.5rem 2rem;position:relative;
  overflow:hidden;
  opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s;
}
.ps.in-view{opacity:1;transform:translateY(0);}
.ps:nth-child(2){transition-delay:.12s;}
.ps:nth-child(3){transition-delay:.24s;}
.ps:nth-child(4){transition-delay:.36s;}
.ps::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .4s .1s;
}
.ps:hover::before{transform:scaleX(1);}
.ps-num{font-family:'Bebas Neue',sans-serif;font-size:64px;line-height:1;color:var(--process-num);margin-bottom:-.5rem;}
.ps-accent{width:20px;height:2px;background:var(--gold);margin-bottom:1rem;}
.ps-title{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text);margin-bottom:.8rem;}
.ps-text{font-size:13px;font-weight:300;line-height:1.75;color:var(--muted);}

/* ══════════════════════════════════════
   TESTIMONIALS
   ══════════════════════════════════════ */
.testi{padding:6rem 3rem;border-top:1px solid var(--border);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:3.5rem;}
.tc{
  background:var(--card-bg);border:1px solid var(--card-border);
  padding:2rem;position:relative;overflow:hidden;
  opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s,border-color .3s;
}
.tc.in-view{opacity:1;transform:translateY(0);}
.tc:nth-child(2){transition-delay:.15s;}
.tc:nth-child(3){transition-delay:.3s;}
.tc:hover{border-color:var(--border-gold);}
.tc::before{
  content:'\201C';position:absolute;top:-10px;right:1rem;
  font-family:'Bebas Neue',sans-serif;font-size:120px;
  color:var(--quote-mark);line-height:1;pointer-events:none;
}
.tc-stars{color:var(--gold);font-size:11px;letter-spacing:2px;margin-bottom:.8rem;}
.tc-text{font-size:13px;font-weight:300;line-height:1.8;color:var(--tc-text);margin-bottom:1.2rem;font-style:italic;}
.tc-author{display:flex;align-items:center;gap:.75rem;}
.tc-avatar{
  width:38px;height:38px;background:var(--avatar-bg);
  border:1px solid var(--border-gold);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:14px;color:var(--gold);
  flex-shrink:0;
}
.tc-name{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text);}
.tc-loc{font-size:10px;color:var(--steel);letter-spacing:1px;text-transform:uppercase;margin-top:2px;}

/* ══════════════════════════════════════
   FINANCING
   ══════════════════════════════════════ */
.financing{
  background:var(--fin-bg);padding:5rem 3rem;border-top:1px solid var(--border);
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
}
.fin-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(30px,4vw,48px);line-height:1;color:var(--text);margin-bottom:1rem;}
.fin-h em{color:var(--gold);font-style:normal;}
.fin-p{font-size:14px;font-weight:300;line-height:1.8;color:var(--muted);margin-bottom:2rem;}
.fin-cards{display:flex;flex-direction:column;gap:6px;}
.fin-card{
  background:var(--card-bg);border:1px solid var(--card-border);
  border-left:2px solid var(--gold);
  padding:.85rem 1.1rem;display:flex;align-items:center;gap:1rem;
  opacity:0;transform:translateX(20px);transition:opacity .5s,transform .5s,background .2s;
}
.fin-card.in-view{opacity:1;transform:translateX(0);}
.fin-card:nth-child(2){transition-delay:.1s;}
.fin-card:nth-child(3){transition-delay:.2s;}
.fin-card:nth-child(4){transition-delay:.3s;}
.fin-card:hover{background:var(--fin-card-hover);}
.fin-icon{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--gold);min-width:40px;}
.fin-title{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text);}
.fin-sub{font-size:10px;font-weight:300;color:var(--steel);margin-top:2px;}

/* ══════════════════════════════════════
   CONTACT
   ══════════════════════════════════════ */
.contact{padding:6rem 3rem;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:5rem;}
.contact-info{display:flex;flex-direction:column;gap:2.5rem;}
.ci-label{font-size:9px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.ci-val{font-size:14px;color:var(--text);line-height:1.6;}
.ci-sub{font-size:11px;font-weight:300;color:var(--steel);margin-top:2px;}
.show-cards{display:flex;flex-direction:column;gap:6px;}
.show-card{
  background:var(--card-bg);border:1px solid var(--card-border);
  border-left:2px solid var(--border-gold);padding:.8rem 1rem;
  transition:border-left-color .2s;
}
.show-card:hover{border-left-color:var(--gold);}
.show-city{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:2px;}
.show-addr{font-size:11px;font-weight:300;color:var(--steel);}

/* Contact form */
.contact-form{display:flex;flex-direction:column;gap:10px;}
.contact-form input,
.contact-form select,
.contact-form textarea,
.cf-input,.cf-select,.cf-ta{
  background:var(--input-bg);border:1px solid var(--input-border);
  color:var(--text);padding:13px 15px;
  font-family:'Barlow',sans-serif;font-size:13px;outline:none;width:100%;
  transition:border-color .25s,background .25s;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:var(--input-placeholder);}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{border-color:var(--gold);background:var(--input-focus-bg);}
.contact-form select{cursor:pointer;color:var(--input-placeholder);appearance:none;}
.contact-form select option{background:var(--input-bg);color:var(--text);}
.contact-form textarea{height:100px;resize:vertical;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* CF7 integration */
.wpcf7 .wpcf7-form-control-wrap{display:block;width:100%;}
.wpcf7 input.wpcf7-form-control,
.wpcf7 select.wpcf7-form-control,
.wpcf7 textarea.wpcf7-form-control{
  background:var(--input-bg);border:1px solid var(--input-border);
  color:var(--text);padding:13px 15px;
  font-family:'Barlow',sans-serif;font-size:13px;outline:none;width:100%;
  transition:border-color .25s,background .25s;
}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:var(--input-placeholder);}
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{border-color:var(--gold);background:var(--input-focus-bg);}
.wpcf7 select{cursor:pointer;color:var(--input-placeholder);appearance:none;}
.wpcf7 .wpcf7-submit{
  background:var(--gold);color:var(--btn-gold-text);border:none;
  padding:15px 30px;font-family:'Barlow',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;transition:background .2s;
}
.wpcf7 .wpcf7-submit:hover{background:var(--gold-dim);}
.wpcf7 .wpcf7-response-output{border:none;padding:1rem 0;font-size:12px;color:var(--gold);}
.wpcf7 .wpcf7-not-valid-tip{font-size:11px;color:#e74c3c;margin-top:4px;}

/* ══════════════════════════════════════
   FOOTER
   ══════════════════════════════════════ */
.footer{
  background:var(--footer-bg);border-top:1px solid var(--border);
  padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
}
.footer-logo{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:3px;color:var(--steel);}
.footer-logo span{color:var(--gold);}
.footer-copy{font-size:10px;color:var(--steel);letter-spacing:1px;}
.socials{display:flex;gap:8px;}
.soc-btn{
  width:32px;height:32px;background:var(--card-bg);
  border:1px solid var(--card-border);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:var(--steel);cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;text-decoration:none;
  transition:border-color .2s,color .2s;
}
.soc-btn:hover{border-color:var(--border-gold);color:var(--gold);}

/* ══════════════════════════════════════
   KEYFRAMES
   ══════════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeLeft{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}
@keyframes slideRight{from{opacity:0;transform:translateX(-20px);}to{opacity:1;transform:translateX(0);}}

/* ══════════════════════════════════════
   REVEAL
   ══════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:960px){
  .nav{padding:0 1.5rem;}
  .nav-links{
    display:none;flex-direction:column;gap:0;
    position:fixed;top:64px;left:0;right:0;bottom:0;
    background:var(--bg);padding:2rem 1.5rem;z-index:99;
  }
  .nav-links.open{display:flex;}
  .nav-links li{opacity:1;transform:none;padding:1rem 0;border-bottom:1px solid var(--border);}
  .nav-links a{font-size:13px;}
  .btn-nav{display:none;}
  .nav-burger{display:block;}

  .hero{padding:80px 1.5rem 0;}
  .hero-inner{flex-direction:column;align-items:flex-start;}
  .hero-stack{display:none;}

  .intro{grid-template-columns:1fr;}
  .intro-left{border-right:none;border-bottom:1px solid var(--border);}

  .catalog{padding:4rem 1.5rem;}
  .catalog-grid{grid-template-columns:1fr 1fr;}

  .gallery-header,.gallery-grid{padding-left:1.5rem;padding-right:1.5rem;}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;}
  .gcard:first-child{grid-row:span 1;}

  .process{padding:4rem 1.5rem;}
  .process-grid{grid-template-columns:1fr;}

  .testi{padding:4rem 1.5rem;}
  .testi-grid{grid-template-columns:1fr;}

  .financing{padding:4rem 1.5rem;grid-template-columns:1fr;}

  .contact{padding:4rem 1.5rem;grid-template-columns:1fr;}
  .cf-row{grid-template-columns:1fr;}

  .footer{padding:2rem 1.5rem;flex-direction:column;align-items:flex-start;}

  .stats{flex-wrap:wrap;}
  .stat-item{flex:0 0 50%;border-bottom:1px solid var(--border);}
}

@media(max-width:480px){
  .catalog-grid{grid-template-columns:1fr;}
  .hero-h1{font-size:clamp(48px,12vw,70px);}
}
