/* ===================================================
   WYMPER — style.css v4 — PREMIUM EDITION
   Paleta dorada sobre dark, premium, conversión-first
   =================================================== */

:root {
  --white: #ffffff;
  --off-white: #F4F2EE;
  --dark: #0A0A09;
  --dark-2: #111110;
  --dark-3: #181816;
  --dark-4: #1f1f1c;
  --gray-1: #2C2C2A;
  --gray-2: #6B6B65;
  --gray-3: #97978F;
  --gray-4: #D6D5CF;
  --gray-5: #EEECEA;

  /* GOLD PALETTE */
  --gold-1: #e1ca89;
  --gold-2: #c9a84c;
  --gold-3: #ddc484;
  --gold-4: #f5e8bb;
  --gold-deep: #8a6f2a;
  --gold-glow: rgba(201,168,76,.18);
  --accent: var(--gold-2);

  --red: #C0392B;
  --wa-green: #25D366;
  --check-green: #1F5C3A;
  --check-green-bright: #5DBF8A;

  /* Fuentes */
  --display: 'Syne', 'Plus Jakarta Sans', sans-serif;
  --serif: 'Fraunces', serif;
  --body: 'Inter', 'DM Sans', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 28px;

  --shadow-sm: 0 1px 4px rgba(0,0,0,0.12);
  --shadow-md: 0 4px 20px rgba(0,0,0,0.2);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.28);
  --shadow-xl: 0 24px 64px rgba(0,0,0,0.38);
  --shadow-gold: 0 0 40px rgba(201,168,76,.12);
  --shadow-gold-lg: 0 12px 60px rgba(201,168,76,.2);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);
  color:var(--off-white);
  background:var(--dark);
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{text-decoration:none;color:inherit}
button{border:none;background:none;cursor:pointer;font-family:inherit}
input,textarea,select{font-family:inherit}
img{max-width:100%;display:block;height:auto}

::selection{background:var(--gold-2);color:var(--dark)}
::-moz-selection{background:var(--gold-2);color:var(--dark)}

/* ===================================================
   CURSOR
   =================================================== */
.cursor{position:fixed;width:8px;height:8px;background:var(--gold-2);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .05s;mix-blend-mode:difference}
.cursor-follower{position:fixed;width:36px;height:36px;border:1.5px solid var(--gold-2);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .15s ease,width .2s ease,height .2s ease,opacity .2s ease;opacity:.4}
.cursor-follower.hovered{width:54px;height:54px;opacity:.15}
@media(hover:none){.cursor,.cursor-follower{display:none}}

/* ===================================================
   CONTAINERS
   =================================================== */
.container{max-width:1240px;margin:0 auto;padding:0 40px}
.container-narrow{max-width:760px;margin:0 auto;padding:0 40px}
@media(max-width:640px){.container,.container-narrow{padding:0 20px}}

/* ===================================================
   BUTTONS
   =================================================== */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold-1) 100%);
  color:var(--dark);padding:15px 30px;border-radius:100px;
  font-family:var(--display);font-size:14px;font-weight:700;
  transition:transform .25s,box-shadow .25s,filter .25s;
  box-shadow:0 4px 20px rgba(201,168,76,.35),inset 0 1px 0 rgba(255,255,255,.3);
  letter-spacing:.3px;position:relative;overflow:hidden;
  white-space:nowrap;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-4),var(--gold-2));
  opacity:0;transition:opacity .25s;z-index:0;
}
.btn-primary > *{position:relative;z-index:1}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(201,168,76,.5),inset 0 1px 0 rgba(255,255,255,.4)}
.btn-primary:hover::before{opacity:1}
.btn-primary:active{transform:translateY(0)}

.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  color:rgba(255,255,255,.55);
  font-family:var(--body);font-size:14px;font-weight:500;
  padding:14px 22px;border-radius:100px;
  border:1.5px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.03);
  transition:color .2s,border-color .2s,background .2s,transform .2s;
}
.btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08);transform:translateY(-1px)}
.btn-ghost-dark{}

.btn-nav{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,var(--gold-2),var(--gold-1));
  color:var(--dark);padding:10px 22px;border-radius:100px;
  font-family:var(--display);font-size:13px;font-weight:700;
  transition:transform .2s,box-shadow .2s,filter .2s;
  box-shadow:0 2px 12px rgba(201,168,76,.3);
  letter-spacing:.2px;white-space:nowrap;
}
.btn-nav:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(201,168,76,.45);filter:brightness(1.06)}
.btn-arrow{transition:transform .2s;display:inline-block}
.btn-nav:hover .btn-arrow{transform:translateX(3px)}

/* ===================================================
   LABELS, TITLES, HEADS
   =================================================== */
.section-head{margin-bottom:3rem;max-width:680px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-head.center .section-desc{margin-left:auto;margin-right:auto}

.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:3px;
  color:var(--gold-2);margin-bottom:18px;
  position:relative;padding-left:24px;
}
.section-label::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:16px;height:1px;background:var(--gold-2);
}
.section-label.light{color:var(--gold-1);opacity:.85}

.section-title{
  font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:800;
  line-height:1.05;color:var(--white);margin-bottom:1.2rem;letter-spacing:-1px;
}
.section-title em{
  color:transparent;font-style:normal;
  background:linear-gradient(135deg,var(--gold-4) 0%,var(--gold-2) 60%,var(--gold-3) 100%);
  -webkit-background-clip:text;background-clip:text;
  font-family:var(--serif);font-style:italic;font-weight:700;
}

.section-desc{
  font-size:1.05rem;color:rgba(255,255,255,.5);
  max-width:580px;line-height:1.75;font-weight:300;
}

/* ===================================================
   REVEAL ANIMATIONS
   =================================================== */
.reveal-up{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-up.visible{opacity:1;transform:translateY(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.22s}
.delay-3{transition-delay:.36s}
.delay-4{transition-delay:.5s}

/* ===================================================
   NAV
   =================================================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  transition:background .4s,box-shadow .4s,border-color .4s,padding .3s;
}
.nav.scrolled{
  background:rgba(10,10,9,.85);
  backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);
  box-shadow:0 1px 0 rgba(201,168,76,.12),0 4px 32px rgba(0,0,0,.4);
  border-bottom:1px solid rgba(201,168,76,.08);
}
.nav-inner{
  max-width:1240px;margin:0 auto;padding:16px 40px;
  display:flex;align-items:center;justify-content:space-between;position:relative;
}

/* Logo */
.nav-logo a{display:flex;align-items:center;gap:10px}
.logo-mark{
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:800;font-size:18px;
  color:var(--dark);
  background:linear-gradient(135deg,var(--gold-1),var(--gold-2));
  border-radius:10px;
  box-shadow:0 4px 18px rgba(201,168,76,.3),inset 0 1px 0 rgba(255,255,255,.4);
  letter-spacing:-1px;
  transition:transform .25s,box-shadow .25s;
}
.nav-logo a:hover .logo-mark{transform:scale(1.06) rotate(-3deg);box-shadow:0 6px 24px rgba(201,168,76,.5),inset 0 1px 0 rgba(255,255,255,.5)}
.logo-text{
  font-family:var(--display);font-weight:700;font-size:1.15rem;
  color:var(--white);letter-spacing:-.5px;
}

/* Menu */
.nav-menu{display:flex;align-items:center;gap:2rem;flex:1;justify-content:center}
.nav-link{
  font-family:var(--body);font-size:.875rem;font-weight:500;
  color:rgba(255,255,255,.7);text-decoration:none;letter-spacing:.1px;
  transition:color .2s;position:relative;
}
.nav-link::after{
  content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;
  background:var(--gold-2);transform:scaleX(0);transform-origin:right;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.nav-link:hover{color:#fff}
.nav-link:hover::after{transform:scaleX(1);transform-origin:left}

.nav-right{display:flex;align-items:center;gap:12px}

/* Language */
.nav-lang{position:relative;display:flex;align-items:center}
.nav-lang-btn{
  display:flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(201,168,76,.25);
  border-radius:8px;padding:7px 11px;cursor:pointer;
  color:#f0ece3;font-size:.82rem;font-weight:600;font-family:inherit;
  transition:border-color .2s,background .2s;line-height:1;
}
.nav-lang-btn:hover{border-color:rgba(201,168,76,.6);background:rgba(255,255,255,.07)}
.nav-lang-btn .chevron{font-size:.55rem;opacity:.6;transition:transform .2s;margin-left:2px}
.nav-lang-btn.open .chevron{transform:rotate(180deg)}
.nav-lang-drop{
  display:none;position:absolute;top:calc(100% + 8px);right:0;
  background:rgba(20,20,18,.98);
  border:1px solid rgba(201,168,76,.22);
  border-radius:10px;overflow:hidden;min-width:150px;z-index:3000;
  box-shadow:0 10px 32px rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
}
.nav-lang-drop.open{display:block}
.nav-lang-opt{
  display:flex;align-items:center;gap:8px;padding:10px 14px;
  font-size:.84rem;font-weight:500;color:rgba(240,236,227,.78);
  cursor:pointer;border:none;background:none;width:100%;text-align:left;
  font-family:inherit;transition:background .15s,color .15s;
}
.nav-lang-opt:hover{background:rgba(201,168,76,.1);color:#fff}
.nav-lang-opt.active{color:var(--gold-2);font-weight:700}

/* Hamburger */
.nav-hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;cursor:pointer;background:none;border:none;
  padding:4px;flex-shrink:0;
}
.nav-hamburger span{display:block;height:2px;width:100%;background:#f0ece3;border-radius:2px;transition:all .25s ease}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile dropdown */
.nav-dropdown{
  display:none;position:absolute;top:100%;left:0;right:0;
  background:rgba(10,10,9,.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-top:1px solid rgba(201,168,76,.18);
  border-bottom:1px solid rgba(201,168,76,.18);
  padding:.5rem 1.5rem 1.1rem;flex-direction:column;z-index:998;
}
.nav-dropdown.open{display:flex}
.nav-dropdown .nav-link{
  font-size:.95rem;padding:.85rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  display:block;color:rgba(255,255,255,.85);
}
.nav-dropdown .nav-link:last-of-type{border-bottom:none}
.nav-dropdown .nav-link-cta{color:var(--gold-2);font-weight:700}
.mob-lang-section{
  display:flex;gap:.5rem;padding:.85rem 0 .2rem;
  border-top:1px solid rgba(201,168,76,.15);margin-top:.3rem;
}
.mob-lang-pill{
  display:flex;align-items:center;gap:5px;padding:6px 12px;
  border:1px solid rgba(201,168,76,.3);border-radius:20px;
  font-size:.78rem;font-weight:600;color:rgba(240,236,227,.78);
  cursor:pointer;background:none;font-family:inherit;
  transition:border-color .2s,color .2s;
}
.mob-lang-pill:hover,.mob-lang-pill.active{border-color:var(--gold-2);color:#fff}

@media(max-width:1024px){
  .nav-menu{display:none}
}
@media(max-width:768px){
  .nav-lang{display:none}
  .nav-right .btn-nav{display:none}
  .nav-hamburger{display:flex}
  .nav{background:rgba(10,10,9,.96)!important;backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(201,168,76,.15)!important}
}

/* ===================================================
   HERO
   =================================================== */
.hero{
  min-height:100vh;padding:120px 40px 80px;position:relative;
  background:var(--dark);
  overflow:hidden;
  display:flex;align-items:center;
}
.hero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2) 30%,var(--gold-1) 60%,transparent);
  z-index:10;
}
.hero-noise{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  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='0.5'/%3E%3C/svg%3E");
  opacity:.04;
}
.hero-bg-grid{
  position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(rgba(201,168,76,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.06) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,black 30%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,black 30%,transparent 100%);
  pointer-events:none;
}
.hero-blob{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}
.blob-1{width:700px;height:700px;background:radial-gradient(circle,rgba(201,168,76,.18) 0%,transparent 70%);top:-250px;right:-200px}
.blob-2{width:500px;height:500px;background:radial-gradient(circle,rgba(168,94,0,.12) 0%,transparent 70%);bottom:-150px;left:-150px}
.hero-canvas{
  position:absolute;top:0;right:0;width:55%;height:100%;
  z-index:2;pointer-events:none;
}

.hero-inner{
  max-width:1240px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:4rem;width:100%;
  position:relative;z-index:3;
}
.hero-content{min-width:0}

.hero-tag{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(201,168,76,.08);color:rgba(255,255,255,.85);
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:1.5px;
  padding:9px 18px;border-radius:100px;
  border:1px solid rgba(201,168,76,.25);margin-bottom:2rem;
  backdrop-filter:blur(8px);
}
.hero-tag-month{color:var(--gold-2);font-weight:700;text-transform:uppercase}
.dot{
  width:7px;height:7px;background:var(--gold-2);border-radius:50%;
  animation:pulse 2s infinite;flex-shrink:0;
  box-shadow:0 0 10px var(--gold-2);
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.4;transform:scale(.6)}
}

.hero-title{
  font-family:var(--display);font-size:clamp(2.6rem,6vw,4.5rem);font-weight:800;
  line-height:1;color:var(--white);letter-spacing:-2px;margin-bottom:1.8rem;
}
.hero-title-line{display:block}
.hero-em{
  font-style:italic;
  font-family:var(--serif);font-weight:700;
  background:linear-gradient(135deg,var(--gold-4) 0%,var(--gold-2) 40%,var(--gold-3) 80%,var(--gold-4) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  background-size:200% auto;animation:goldShimmer 5s linear infinite;
  position:relative;
}
@keyframes goldShimmer{0%{background-position:0% center}100%{background-position:200% center}}

.hero-desc{
  font-size:1.1rem;color:rgba(255,255,255,.6);
  max-width:480px;line-height:1.7;font-weight:300;margin-bottom:2.5rem;
}
.hero-desc strong{color:#fff;font-weight:600}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:3rem}

.hero-proof{
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  padding:18px 26px;
  background:rgba(255,255,255,.03);
  border-radius:var(--radius-md);
  border:1px solid rgba(201,168,76,.15);
  backdrop-filter:blur(8px);
  max-width:fit-content;
}
.proof-item{display:flex;flex-direction:column}
.proof-item strong{
  font-family:var(--display);font-size:1.4rem;font-weight:800;
  background:linear-gradient(135deg,var(--gold-4),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  line-height:1;letter-spacing:-.5px;
}
.proof-item span{font-size:11px;color:rgba(255,255,255,.4);margin-top:4px;letter-spacing:.5px;text-transform:uppercase}
.proof-divider{width:1px;height:32px;background:rgba(201,168,76,.2);flex-shrink:0}

/* Hero 3D stage */
.hero-3d-stage{
  position:relative;height:520px;
  display:flex;align-items:center;justify-content:center;
}
.hero-3d-frame{
  position:absolute;inset:0;pointer-events:none;
  border:1px solid rgba(201,168,76,.12);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,0));
}
.hero-3d-corner{
  position:absolute;width:24px;height:24px;
  border:1.5px solid var(--gold-2);
}
.hero-3d-corner.tl{top:-1px;left:-1px;border-right:none;border-bottom:none;border-top-left-radius:6px}
.hero-3d-corner.tr{top:-1px;right:-1px;border-left:none;border-bottom:none;border-top-right-radius:6px}
.hero-3d-corner.bl{bottom:-1px;left:-1px;border-right:none;border-top:none;border-bottom-left-radius:6px}
.hero-3d-corner.br{bottom:-1px;right:-1px;border-left:none;border-top:none;border-bottom-right-radius:6px}
.hero-3d-label{
  position:absolute;top:14px;left:16px;
  font-family:var(--mono);font-size:10px;font-weight:500;
  color:rgba(255,255,255,.35);letter-spacing:1.5px;
}
.hero-3d-status{
  position:absolute;bottom:14px;right:16px;
  display:flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:10px;font-weight:500;
  color:rgba(255,255,255,.4);letter-spacing:1px;text-transform:uppercase;
}
.status-dot{width:6px;height:6px;background:var(--gold-2);border-radius:50%;animation:pulse 2s infinite}

/* Hero scroll indicator */
.hero-scroll-indicator{
  position:absolute;bottom:30px;left:50%;transform:translateX(-50%);
  z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--mono);font-size:10px;letter-spacing:2px;
  color:rgba(255,255,255,.3);text-transform:uppercase;
}
.scroll-line{
  width:1px;height:40px;background:linear-gradient(180deg,var(--gold-2),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
  transform-origin:top;
}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(.3);opacity:.4}
  50%{transform:scaleY(1);opacity:1}
}

/* ===================================================
   MARQUEE
   =================================================== */
.marquee-strip{
  overflow:hidden;background:var(--dark-3);padding:18px 0;
  border-top:1px solid rgba(201,168,76,.12);
  border-bottom:1px solid rgba(201,168,76,.12);
  position:relative;
}
.marquee-strip::before,.marquee-strip::after{
  content:'';position:absolute;top:0;bottom:0;width:140px;z-index:2;
}
.marquee-strip::before{left:0;background:linear-gradient(90deg,var(--dark-3),transparent)}
.marquee-strip::after{right:0;background:linear-gradient(-90deg,var(--dark-3),transparent)}
.marquee-track{display:flex;gap:22px;white-space:nowrap;animation:marquee 32s linear infinite;width:max-content}
.marquee-track span{font-family:var(--body);font-size:12px;font-weight:500;color:rgba(255,255,255,.4);letter-spacing:1.2px;text-transform:uppercase}
.marquee-track .sep{color:var(--gold-2);font-size:10px;opacity:.7}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===================================================
   TRUST LOGOS
   =================================================== */
.section-trust{
  padding:50px 0;background:var(--dark);
  border-bottom:1px solid rgba(255,255,255,.04);
}
.trust-label{
  text-align:center;font-family:var(--mono);font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:3px;
  color:rgba(255,255,255,.3);margin-bottom:32px;
}
.trust-logos{
  display:flex;justify-content:space-around;align-items:center;
  flex-wrap:wrap;gap:2rem;
}
.trust-logo{
  font-family:var(--display);font-weight:700;font-size:.85rem;
  color:rgba(255,255,255,.18);letter-spacing:2px;
  padding:8px 14px;
  border:1px dashed rgba(255,255,255,.1);border-radius:6px;
  transition:color .25s,border-color .25s,transform .25s;
  cursor:default;
}
.trust-logo:hover{color:rgba(201,168,76,.45);border-color:rgba(201,168,76,.25);transform:translateY(-2px)}
@media(max-width:640px){
  .trust-logos{gap:1rem}
  .trust-logo{font-size:.75rem;padding:6px 10px}
}

/* ===================================================
   SECTIONS BASE
   =================================================== */
.section{padding:110px 0;position:relative}
.section-problem{background:var(--dark-2)}
.section-how{background:var(--dark)}
.section-plans{background:var(--dark-2);position:relative;overflow:hidden}
.section-plans::before{
  content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%);
  pointer-events:none;
}
.section-portfolio{background:var(--dark)}
.section-testimonials{background:var(--dark-2);position:relative;overflow:hidden}
.section-services{background:var(--dark-3)}
.section-compare{background:var(--dark-2)}
.section-faq{background:var(--dark)}

/* ===================================================
   PROBLEM CARDS
   =================================================== */
.problems-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.problem-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-lg);padding:2rem;
  position:relative;overflow:hidden;
  transition:box-shadow .3s,transform .3s,border-color .3s,background .3s;
  cursor:default;color:rgba(255,255,255,.4);
}
.problem-card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,.4),inset 0 0 0 1px rgba(201,168,76,.2);
  transform:translateY(-5px);
  background:rgba(201,168,76,.04);
  border-color:rgba(201,168,76,.2);
  color:var(--gold-2);
}
.problem-card-solution{
  background:linear-gradient(135deg,rgba(201,168,76,.06),rgba(201,168,76,.02));
  border-color:rgba(201,168,76,.2);
  color:var(--gold-2);
}
.problem-card-solution:hover{background:linear-gradient(135deg,rgba(201,168,76,.1),rgba(201,168,76,.04))}
.problem-num{
  font-family:var(--mono);font-size:12px;font-weight:500;
  color:rgba(201,168,76,.4);letter-spacing:2px;margin-bottom:1.5rem;
}
.problem-card-solution .problem-num{color:var(--gold-2);font-size:18px}
.problem-icon-wrap{margin-bottom:1.2rem;color:currentColor}
.problem-card h3{
  font-family:var(--display);font-size:1.1rem;font-weight:700;
  color:var(--white);margin-bottom:.85rem;line-height:1.3;
}
.problem-card p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7}
.problem-card p strong{color:rgba(255,255,255,.85);font-weight:600}
.card-hover-line{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold-1));
  transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.problem-card:hover .card-hover-line,
.problem-card-solution .card-hover-line{transform:scaleX(1)}

/* ===================================================
   HOW SPLIT
   =================================================== */
.how-split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.how-steps{display:flex;flex-direction:column;margin-top:1.5rem}
.how-step{
  display:flex;gap:1.5rem;align-items:flex-start;
  padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.06);
}
.how-step:last-child{border-bottom:none}
.step-num{
  font-family:var(--mono);font-size:12px;font-weight:500;
  color:var(--gold-2);letter-spacing:1.5px;
  min-width:32px;padding-top:4px;
}
.step-content h3{
  font-family:var(--display);font-size:1.05rem;font-weight:700;
  color:var(--white);margin-bottom:6px;letter-spacing:-.2px;
}
.step-content p{font-size:14px;color:rgba(255,255,255,.5);line-height:1.7}

/* Checklist */
.checklist-block{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.09);
  border-radius:var(--radius-lg);padding:2rem;
  box-shadow:var(--shadow-xl);
  position:sticky;top:100px;
  transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease;
  transform-style:preserve-3d;will-change:transform;
}
.checklist-block:hover{box-shadow:0 24px 64px rgba(0,0,0,.5),inset 0 0 0 1px rgba(201,168,76,.12)}
.checklist-title{
  font-family:var(--mono);font-size:11px;font-weight:500;
  color:rgba(255,255,255,.3);letter-spacing:2px;margin-bottom:1.5rem;
}
.check-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.check-row:last-of-type{border-bottom:none}
.check-mark{
  width:22px;height:22px;background:rgba(31,92,58,.4);color:var(--check-green-bright);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:11px;flex-shrink:0;font-weight:700;
  box-shadow:0 0 10px rgba(93,191,138,.2);
}
.check-text{font-size:13px;color:rgba(255,255,255,.75);flex:1}
.check-tag{font-size:9px;font-weight:700;padding:3px 8px;border-radius:100px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}
.check-tag.essential{background:rgba(31,92,58,.3);color:#5DBF8A}
.check-tag.trust{background:rgba(99,113,218,.2);color:#92A0FF}
.check-tag.seo{background:rgba(184,104,0,.25);color:#FFB85C}
.check-tag.conv{background:rgba(192,57,43,.2);color:#FF7B73}
.checklist-bottom{
  margin-top:1.5rem;padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.07);
  font-size:14px;color:rgba(255,255,255,.4);display:flex;flex-direction:column;gap:2px;
}
.highlight-text{color:var(--white);font-weight:700;font-family:var(--display)}

/* ===================================================
   PLANS
   =================================================== */
.plans-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  position:relative;z-index:2;
}
.plan-card{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg);padding:2.2rem 2rem;
  position:relative;display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;
}
.plan-card:hover{
  transform:translateY(-6px);
  border-color:rgba(201,168,76,.3);
  background:rgba(255,255,255,.05);
  box-shadow:var(--shadow-xl);
}
.plan-card-featured{
  background:linear-gradient(180deg,rgba(201,168,76,.08),rgba(201,168,76,.02));
  border:1px solid rgba(201,168,76,.35);
  box-shadow:0 12px 60px rgba(201,168,76,.15);
  transform:translateY(-10px);
}
.plan-card-featured:hover{
  transform:translateY(-16px);
  border-color:rgba(201,168,76,.55);
  box-shadow:0 20px 80px rgba(201,168,76,.25);
}
.plan-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--gold-2),var(--gold-1));
  color:var(--dark);
  font-family:var(--mono);font-size:10px;font-weight:700;
  padding:6px 14px;border-radius:100px;letter-spacing:1.5px;
  box-shadow:0 4px 16px rgba(201,168,76,.4);
}
.plan-header{margin-bottom:1.5rem}
.plan-name{
  font-family:var(--display);font-size:1.4rem;font-weight:800;
  color:var(--white);letter-spacing:-.5px;margin-bottom:4px;
}
.plan-tagline{font-size:13px;color:rgba(255,255,255,.4);font-weight:400}
.plan-price{
  display:flex;align-items:baseline;gap:8px;
  margin-bottom:14px;padding-bottom:1.2rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.plan-from{font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.4);font-weight:500}
.plan-amount{
  font-family:var(--display);font-size:2.4rem;font-weight:800;
  background:linear-gradient(135deg,var(--gold-4),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-1px;line-height:1;
}
.plan-time{
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:rgba(255,255,255,.6);
  margin-bottom:1.5rem;
}
.plan-time svg{color:var(--gold-2);flex-shrink:0}
.plan-time strong{color:#fff;font-weight:600}
.plan-features{list-style:none;padding:0;margin:0 0 2rem;flex:1}
.plan-features li{
  position:relative;padding:9px 0 9px 22px;
  font-size:13.5px;color:rgba(255,255,255,.65);line-height:1.5;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.plan-features li:last-child{border-bottom:none}
.plan-features li::before{
  content:'✓';position:absolute;left:0;top:9px;
  color:var(--gold-2);font-weight:700;font-size:13px;
}
.plan-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 22px;border-radius:100px;
  font-family:var(--display);font-size:13px;font-weight:700;
  background:rgba(255,255,255,.06);
  color:#fff;letter-spacing:.3px;
  border:1px solid rgba(255,255,255,.1);
  transition:background .25s,border-color .25s,transform .2s;
}
.plan-cta:hover{
  background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);transform:translateY(-1px);
}
.plan-cta svg{transition:transform .2s}
.plan-cta:hover svg{transform:translateX(3px)}
.plan-cta-featured{
  background:linear-gradient(135deg,var(--gold-2),var(--gold-1));
  color:var(--dark);border:none;
  box-shadow:0 4px 18px rgba(201,168,76,.35);
}
.plan-cta-featured:hover{
  box-shadow:0 8px 28px rgba(201,168,76,.5);filter:brightness(1.05);
}

.plans-note{
  margin-top:3rem;text-align:center;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:14px;color:rgba(255,255,255,.5);
}
.plans-note svg{color:var(--gold-2);flex-shrink:0}
.plans-note a{color:var(--gold-2);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.4);transition:border-color .2s}
.plans-note a:hover{border-color:var(--gold-2)}

/* ===================================================
   PORTFOLIO
   =================================================== */
.portfolio-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;
}
.portfolio-item{
  position:relative;display:block;
  border-radius:var(--radius-lg);overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s;
}
.portfolio-item.portfolio-large{grid-row:span 2}
.portfolio-item:hover{
  transform:translateY(-6px);
  border-color:rgba(201,168,76,.3);
  box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(201,168,76,.1);
}
.portfolio-media{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:linear-gradient(135deg,var(--dark-3),var(--dark-2));
}
.portfolio-item.portfolio-large .portfolio-media{aspect-ratio:auto;height:100%;min-height:480px}
.portfolio-placeholder{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:2rem;
}
.portfolio-placeholder-1{background:radial-gradient(circle at 30% 20%,rgba(201,168,76,.12),transparent 60%),linear-gradient(135deg,#1a1a17,#0f0f0d)}
.portfolio-placeholder-2{background:radial-gradient(circle at 70% 30%,rgba(99,113,218,.08),transparent 60%),linear-gradient(135deg,#181818,#0d0d0c)}
.portfolio-placeholder-3{background:radial-gradient(circle at 50% 80%,rgba(192,57,43,.08),transparent 60%),linear-gradient(135deg,#1a1715,#0d0c0a)}
.portfolio-placeholder-4{background:radial-gradient(circle at 20% 80%,rgba(31,92,58,.1),transparent 60%),linear-gradient(135deg,#161818,#0c0d0d)}

.placeholder-browser{
  width:100%;max-width:420px;
  background:rgba(15,15,13,.85);
  border:1px solid rgba(201,168,76,.15);
  border-radius:10px;overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  backdrop-filter:blur(10px);
}
.browser-bar{
  display:flex;gap:6px;padding:10px 12px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.browser-bar span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.15)}
.placeholder-content{padding:1.2rem;display:flex;flex-direction:column;gap:8px}
.ph-block{background:linear-gradient(90deg,rgba(201,168,76,.15),rgba(201,168,76,.05));border-radius:4px;animation:shimmer 3s ease-in-out infinite}
.ph-block-lg{height:32px;width:80%}
.ph-block-md{height:14px;width:60%}
.ph-block-sm{height:50px;flex:1}
.ph-row{display:flex;gap:8px}
@keyframes shimmer{
  0%,100%{opacity:.6}
  50%{opacity:.95}
}

.portfolio-info{
  padding:1.5rem 1.8rem;
}
.portfolio-tag{
  display:inline-block;font-family:var(--mono);font-size:10px;font-weight:500;
  color:var(--gold-2);letter-spacing:1.5px;text-transform:uppercase;
  padding:4px 10px;background:rgba(201,168,76,.1);border-radius:100px;
  margin-bottom:10px;
}
.portfolio-info h3{
  font-family:var(--display);font-size:1.1rem;font-weight:700;
  color:#fff;margin-bottom:4px;letter-spacing:-.2px;
}
.portfolio-info p{font-size:13px;color:rgba(255,255,255,.4)}

/* ===================================================
   TESTIMONIALS
   =================================================== */
.section-testimonials::before{
  content:'';position:absolute;top:50%;right:-100px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(201,168,76,.07),transparent 70%);
  filter:blur(60px);pointer-events:none;
}
.testimonials-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  position:relative;z-index:2;
}
.testimonial-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg);padding:2rem;
  position:relative;
  transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;
  display:flex;flex-direction:column;gap:1.5rem;
}
.testimonial-card:hover{
  transform:translateY(-5px);
  border-color:rgba(201,168,76,.25);
  background:rgba(255,255,255,.045);
  box-shadow:var(--shadow-lg);
}
.testimonial-card-featured{
  background:linear-gradient(180deg,rgba(201,168,76,.06),rgba(201,168,76,.01));
  border:1px solid rgba(201,168,76,.3);
}
.testimonial-quote-icon{
  color:var(--gold-2);opacity:.5;
}
.testimonial-text{
  font-family:var(--serif);font-size:1.05rem;line-height:1.6;font-weight:400;
  color:rgba(255,255,255,.85);flex:1;font-style:italic;
}
.testimonial-author{
  display:flex;align-items:center;gap:12px;
  padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.07);
}
.testimonial-avatar{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:1rem;font-weight:700;
  color:var(--dark);
  background:linear-gradient(135deg,var(--gold-1),var(--gold-2));
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(201,168,76,.3);
}
.testimonial-meta{display:flex;flex-direction:column}
.testimonial-name{font-family:var(--display);font-size:.9rem;font-weight:700;color:#fff;letter-spacing:-.2px}
.testimonial-role{font-size:12px;color:rgba(255,255,255,.4);margin-top:2px}

/* ===================================================
   SEO STRIP
   =================================================== */
.section-seo-strip{
  background:linear-gradient(135deg,#0A0A09 0%,#131208 50%,#0A0A09 100%);
  color:var(--white);padding:80px 0;overflow:hidden;
  border-top:1px solid rgba(201,168,76,.1);
  border-bottom:1px solid rgba(201,168,76,.1);
  position:relative;
}
.section-seo-strip::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:600px;height:400px;
  background:radial-gradient(ellipse,rgba(201,168,76,.07) 0%,transparent 70%);
  pointer-events:none;
}
.seo-strip-inner{width:100%;position:relative}
.seo-strip-label{
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:3px;text-transform:uppercase;color:var(--gold-2);
  margin-bottom:1.5rem;opacity:.85;display:block;
}
.seo-queries-scroll{overflow:hidden;margin-bottom:1.5rem;width:100%}
.seo-queries-track{display:flex;gap:12px;white-space:nowrap;animation:scrollLeft 30s linear infinite;padding:6px 0}
.seo-q{
  display:inline-block;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:100px;padding:9px 20px;
  font-family:var(--serif);font-style:italic;font-size:14px;font-weight:400;color:rgba(255,255,255,.45);
  white-space:nowrap;transition:background .25s,color .25s,border-color .25s;
}
.seo-q.active{
  background:rgba(201,168,76,.12);border-color:rgba(201,168,76,.3);color:var(--gold-1);
  transform:scale(1.05);
}
.seo-strip-desc{font-size:1rem;color:rgba(255,255,255,.45);max-width:660px;line-height:1.8;font-weight:300;display:block}
@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===================================================
   SERVICES
   =================================================== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.service-card{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-lg);padding:2rem;
  position:relative;overflow:hidden;
  transition:box-shadow .3s,transform .3s,border-color .3s,background .3s;
  cursor:default;
}
.service-card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,.5);
  transform:translateY(-5px);
  background:rgba(201,168,76,.04);
  border-color:rgba(201,168,76,.25);
}
.service-icon-wrap{
  width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(201,168,76,.08);
  border:1px solid rgba(201,168,76,.2);
  border-radius:12px;
  color:var(--gold-2);
  margin-bottom:1.2rem;
  transition:background .3s,border-color .3s,transform .3s;
}
.service-card:hover .service-icon-wrap{
  background:rgba(201,168,76,.15);
  border-color:rgba(201,168,76,.4);
  transform:scale(1.05) rotate(-3deg);
}
.service-body h3{
  font-family:var(--display);font-size:1.05rem;font-weight:700;
  color:var(--white);margin-bottom:10px;letter-spacing:-.2px;
}
.service-body p{font-size:13.5px;color:rgba(255,255,255,.5);line-height:1.7}
.service-line{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold-1));
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.service-card:hover .service-line{transform:scaleX(1)}

/* ===================================================
   COMPARE TABLE
   =================================================== */
.compare-table-wrap{
  margin-top:1rem;
  border:1px solid rgba(201,168,76,.15);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 0 60px rgba(0,0,0,.3);
  background:rgba(10,10,9,.5);
}
.compare-table{width:100%;border-collapse:collapse}
.compare-table th{
  background:rgba(201,168,76,.06);
  padding:18px 20px;
  font-family:var(--mono);font-size:11px;font-weight:500;color:rgba(255,255,255,.5);
  text-align:left;border-bottom:1px solid rgba(201,168,76,.12);
  text-transform:uppercase;letter-spacing:1.5px;
}
.compare-table th.th-featured{
  color:var(--gold-2);
  background:rgba(201,168,76,.12);
  font-weight:700;
  position:relative;
}
.compare-table th.th-featured::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-2),var(--gold-1));
}
.compare-table td{
  padding:18px 20px;font-size:14px;color:rgba(255,255,255,.55);
  border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;
}
.compare-table td strong{color:#fff;font-weight:600;font-family:var(--display)}
.compare-table tr:last-child td{border-bottom:none}
.compare-table td.td-featured{
  background:rgba(201,168,76,.06);
  color:#fff;font-weight:500;position:relative;
}
.compare-table tbody tr:hover td:not(.td-featured){background:rgba(255,255,255,.02)}
.compare-table tbody tr:hover td.td-featured{background:rgba(201,168,76,.1)}

@media(max-width:768px){.compare-table-wrap{overflow-x:auto}.compare-table{min-width:680px}}

/* ===================================================
   CTA SECTION
   =================================================== */
.section-cta{
  background:linear-gradient(135deg,#0A0A09 0%,#0f0e08 50%,#0A0A09 100%);
  padding:110px 0;
  border-top:1px solid rgba(201,168,76,.1);
  position:relative;overflow:hidden;
}
.section-cta::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2) 40%,var(--gold-1) 60%,transparent);
}
.cta-block{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative}
.cta-bg-accent{
  position:absolute;width:500px;height:500px;
  background:radial-gradient(circle,rgba(201,168,76,.1) 0%,transparent 70%);
  top:-150px;right:-150px;pointer-events:none;filter:blur(40px);
}
.cta-title{
  font-family:var(--display);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:800;
  color:var(--white);line-height:1.1;letter-spacing:-.8px;margin-bottom:1.2rem;
}
.cta-title em{
  font-family:var(--serif);font-style:italic;font-weight:700;
  background:linear-gradient(135deg,var(--gold-4),var(--gold-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cta-desc{font-size:1rem;color:rgba(255,255,255,.5);line-height:1.75;font-weight:300;margin-bottom:2.5rem}
.cta-contacts{display:flex;flex-direction:column;gap:12px}
.contact-pill{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:100px;padding:13px 22px;
  font-size:15px;font-weight:500;color:rgba(255,255,255,.75);
  transition:background .2s,border-color .2s,color .2s,transform .2s;width:fit-content;
}
.contact-pill:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;transform:translateX(4px)}
.contact-pill svg{flex-shrink:0}
.contact-pill-wa{border-color:rgba(37,211,102,.25);color:#4DDB8A}
.contact-pill-wa:hover{background:rgba(37,211,102,.1);border-color:rgba(37,211,102,.4);color:#5DEB9A}

/* Form */
.contact-form{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:2}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{
  font-family:var(--mono);font-size:10.5px;font-weight:500;
  text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.4);
}
.form-group input,
.form-group textarea,
.form-group select{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-sm);padding:14px 18px;
  font-size:15px;color:#fff;outline:none;
  transition:border-color .25s,background .25s,box-shadow .25s;
  resize:vertical;-webkit-appearance:none;appearance:none;
  font-family:var(--body);
}
.form-group select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%23c9a84c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;padding-right:42px;
}
.form-group select option{background:var(--dark-3);color:#fff}
.form-group input::placeholder,
.form-group textarea::placeholder{color:rgba(255,255,255,.25)}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
  border-color:rgba(201,168,76,.5);
  background:rgba(255,255,255,.06);
  box-shadow:0 0 0 3px rgba(201,168,76,.1);
}
.btn-form{width:100%;justify-content:center;margin-top:.5rem}
.form-note{font-size:12px;color:rgba(255,255,255,.3);text-align:center;margin-top:4px;font-family:var(--mono);letter-spacing:.3px}
.form-success{
  display:none;
  background:rgba(31,92,58,.15);
  border:1px solid rgba(93,191,138,.3);
  border-radius:var(--radius-sm);padding:14px 20px;
  font-size:14px;color:var(--check-green-bright);text-align:center;animation:fadeIn .3s ease;
}
.form-success.show{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ===================================================
   FAQ
   =================================================== */
.faq-list{margin-top:2.5rem}
.faq-item{border-bottom:1px solid rgba(255,255,255,.07);transition:padding .3s}
.faq-item:first-child{border-top:1px solid rgba(255,255,255,.07)}
.faq-q{
  width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;
  padding:22px 0;font-family:var(--display);font-size:1.02rem;font-weight:700;
  color:rgba(255,255,255,.85);cursor:pointer;gap:16px;transition:color .2s;
  background:none;border:none;letter-spacing:-.2px;
}
.faq-q:hover{color:var(--gold-1)}
.faq-icon{
  font-size:22px;font-weight:300;color:rgba(255,255,255,.3);flex-shrink:0;
  transition:transform .3s,color .2s;
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.1);border-radius:50%;
}
.faq-q:hover .faq-icon{border-color:rgba(201,168,76,.4);color:var(--gold-2)}
.faq-q[aria-expanded="true"] .faq-icon{transform:rotate(45deg);color:var(--gold-2);border-color:var(--gold-2);background:rgba(201,168,76,.1)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}
.faq-a.open{max-height:400px}
.faq-a p{font-size:15px;color:rgba(255,255,255,.55);line-height:1.8;padding-bottom:22px;font-weight:300}

/* ===================================================
   FOOTER
   =================================================== */
.footer{
  background:var(--dark);padding:70px 0 0;
  border-top:1px solid rgba(201,168,76,.1);
  position:relative;
}
.footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2) 40%,transparent);
  opacity:.4;
}
.footer-inner{max-width:1240px;margin:0 auto;padding:0 40px}
.footer-top{
  display:flex;gap:5rem;justify-content:space-between;
  padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-brand{max-width:300px}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem}
.footer-brand p{font-size:14px;color:rgba(255,255,255,.4);line-height:1.7;margin-bottom:1.5rem}
.footer-contacts{display:flex;flex-direction:column;gap:8px}
.footer-contacts a{
  font-size:14px;color:rgba(255,255,255,.55);
  transition:color .2s,padding-left .25s;
  font-family:var(--mono);letter-spacing:.3px;
}
.footer-contacts a:hover{color:var(--gold-1);padding-left:6px}
.footer-links{display:flex;gap:4rem}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col-title{
  font-family:var(--mono);font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:2px;color:var(--gold-2);
  opacity:.7;margin-bottom:6px;
}
.footer-col a{font-size:14px;color:rgba(255,255,255,.45);transition:color .2s,padding-left .25s}
.footer-col a:hover{color:#fff;padding-left:4px}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding:24px 0;font-size:12px;color:rgba(255,255,255,.25);
  flex-wrap:wrap;gap:8px;letter-spacing:.5px;font-family:var(--mono);
}

/* ===================================================
   COOKIE BANNER
   =================================================== */
.cookie-banner{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  z-index:9990;width:calc(100% - 48px);max-width:660px;
  background:rgba(20,20,18,.96);backdrop-filter:blur(20px);
  border:1px solid rgba(201,168,76,.2);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);
  padding:20px 24px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;
}
.cookie-banner.hidden{transform:translateX(-50%) translateY(120%);opacity:0;pointer-events:none}
.cookie-content{display:flex;align-items:center;gap:16px;width:100%;flex-wrap:wrap}
.cookie-content p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.5;flex:1;min-width:180px}
.cookie-content a{color:var(--gold-1);text-decoration:underline}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}
.btn-cookie-accept{
  background:linear-gradient(135deg,var(--gold-2),var(--gold-1));
  color:var(--dark);border:none;padding:9px 22px;border-radius:100px;
  font-size:13px;font-weight:700;cursor:pointer;transition:filter .2s,transform .2s;
  font-family:var(--display);
}
.btn-cookie-accept:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn-cookie-reject{
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.1);padding:9px 18px;border-radius:100px;
  font-size:13px;cursor:pointer;transition:background .2s;font-family:var(--body);
}
.btn-cookie-reject:hover{background:rgba(255,255,255,.1)}

/* ===================================================
   WHATSAPP FLOAT
   =================================================== */
.wa-float-wrap{
  position:fixed;bottom:28px;right:28px;z-index:9000;
  display:flex;flex-direction:row;align-items:center;gap:10px;
}
.wa-float-tooltip{
  background:rgba(20,20,18,.95);color:#fff;
  font-family:var(--body);font-size:13px;font-weight:500;
  padding:9px 18px;border-radius:100px;white-space:nowrap;
  opacity:0;transform:translateX(8px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;box-shadow:var(--shadow-lg);
  border:1px solid rgba(201,168,76,.2);backdrop-filter:blur(10px);
}
.wa-float-wrap:hover .wa-float-tooltip{opacity:1;transform:translateX(0)}
.wa-float{
  width:58px;height:58px;background:var(--wa-green);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.45),0 2px 8px rgba(0,0,0,.3);
  transition:transform .2s,box-shadow .2s;
  animation:waPulse 3s ease-in-out infinite;flex-shrink:0;
}
.wa-float:hover{transform:scale(1.12);box-shadow:0 6px 28px rgba(37,211,102,.6),0 2px 10px rgba(0,0,0,.3);animation:none}
@keyframes waPulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.4)}
  50%{box-shadow:0 4px 20px rgba(37,211,102,.4),0 0 0 14px rgba(37,211,102,0)}
}
@media(max-width:640px){
  .wa-float-wrap{bottom:20px;right:16px}
  .wa-float{width:54px;height:54px}
  .wa-float-tooltip{display:none}
}

/* ===================================================
   SCROLLBAR
   =================================================== */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--dark)}
::-webkit-scrollbar-thumb{background:rgba(201,168,76,.25);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(201,168,76,.45)}

/* ===================================================
   RESPONSIVE
   =================================================== */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-canvas{width:100%;opacity:.35}
  .hero-3d-stage{height:300px;max-width:500px;margin:0 auto}
  .how-split{grid-template-columns:1fr;gap:3rem}
  .checklist-block{position:static}
  .cta-block{grid-template-columns:1fr;gap:3rem}
  .cta-bg-accent{display:none}
  .footer-top{flex-direction:column;gap:2.5rem}
  .footer-links{gap:3rem}
  .plans-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}
  .plan-card-featured{transform:none}
  .plan-card-featured:hover{transform:translateY(-6px)}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-item.portfolio-large{grid-row:auto}
  .portfolio-item.portfolio-large .portfolio-media{min-height:300px}
  .testimonials-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .services-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .section{padding:80px 0}
  .hero{padding:100px 20px 24px;min-height:0;align-items:flex-start}
  .hero-inner{gap:0}
  .hero-3d-stage{display:none!important}
  .hero-canvas{display:none!important}
  .section-trust{padding:24px 0 32px}
  .problems-row{grid-template-columns:1fr;gap:1rem}
  .services-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .section-desc{margin-bottom:2rem}
  .hero-proof{gap:16px;padding:14px 18px}
  .proof-item strong{font-size:1.2rem}
  .hero-title{font-size:clamp(2.2rem,8vw,3.2rem)}
  .section-title{font-size:clamp(1.8rem,6vw,2.5rem)}
  .footer-inner{padding:0 20px}
  .footer-links{flex-direction:column;gap:2rem}
  .section-cta{padding:80px 0}
  .hero-scroll-indicator{display:none}
  .nav-inner{padding:14px 20px}
}
@media(max-width:640px){
  .hero{padding:90px 16px 20px}
  .hero-inner{gap:0}
  .section-trust{padding:20px 0 28px}
  .trust-label{margin-bottom:18px}
  .hero-title{font-size:clamp(2rem,8vw,2.8rem);letter-spacing:-1.5px}
  .hero-tag{font-size:10px;padding:7px 14px}
  .hero-desc{font-size:1rem}
  .hero-actions{flex-direction:column;gap:10px}
  .hero-actions a{width:100%;justify-content:center}
  .hero-proof{justify-content:space-between;width:100%}
  .hero-3d-stage{height:240px}
  .services-grid{grid-template-columns:1fr}
  .compare-table-wrap{overflow-x:auto}
  .cta-block{gap:2.5rem}
  .cta-title{font-size:clamp(1.7rem,6vw,2rem)}
  .cta-contacts{gap:10px}
  .contact-pill{font-size:14px;padding:11px 16px}
  .section-seo-strip{padding:60px 0}
  .seo-q{font-size:13px;padding:7px 14px}
  .faq-q{font-size:.92rem;padding:18px 0}
  .faq-a p{font-size:14px}
  .cookie-banner{bottom:16px;width:calc(100% - 32px);padding:16px}
  .cookie-btns{flex-wrap:wrap}
  .marquee-strip{padding:14px 0}
  .marquee-track span{font-size:11px}
  .footer-top{padding-bottom:32px}
  .footer-bottom{flex-direction:column;text-align:center;gap:4px}
  .checklist-block{padding:1.5rem}
  .check-tag{display:none}
  .plan-card{padding:1.8rem 1.5rem}
  .testimonial-card{padding:1.6rem}
  .compare-table th,.compare-table td{padding:14px 16px;font-size:13px}
}


/* === Extras Wymper añadidos === */
/* ===================================================
   WYMPER — Extras v5 (pegar AL FINAL de style.css)
   - Logo PNG (sustituye al cuadradito con W)
   - Portfolio cards con mockups bonitos por cliente
   - Ajuste del título hero en francés
   =================================================== */

/* ----- LOGO PNG ----- */
/* El logo dorado redondo reemplaza al .logo-mark anterior */
.logo-img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  transition: transform .25s, box-shadow .25s, filter .25s;
}
.nav-logo a:hover .logo-img,
.footer-logo-wrap:hover .logo-img {
  transform: scale(1.06) rotate(-3deg);
  filter: brightness(1.1) drop-shadow(0 4px 12px rgba(201,168,76,.4));
}
.footer-logo-wrap { display: flex; align-items: center; gap: 10px; margin-bottom: 1.2rem; }

/* ----- HERO FR: títulos más pequeños para que no rompan el diseño ----- */
body.lang-fr .hero-title {
  font-size: clamp(2.2rem, 4.6vw, 3.6rem);
  letter-spacing: -1.5px;
}
body.lang-fr .hero-desc { font-size: 1.05rem; }
@media (max-width: 640px) {
  body.lang-fr .hero-title {
    font-size: clamp(1.9rem, 7vw, 2.6rem);
  }
}

/* ===================================================
   PORTFOLIO — Mockups por proyecto
   Cada card tiene su paleta y su mini-mockup
   =================================================== */
.portfolio-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 1.8rem;
}
.placeholder-browser {
  width: 100%; max-width: 460px;
  background: rgba(15,15,13,.92);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.portfolio-item:hover .placeholder-browser {
  transform: translateY(-4px) scale(1.015);
}
.browser-bar {
  display: flex; align-items: center; gap: 6px;
  padding: 9px 12px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.browser-bar span:not(.browser-url) {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  flex-shrink: 0;
}
.browser-url {
  margin-left: 10px;
  font-family: var(--mono);
  font-size: 10.5px;
  color: rgba(255,255,255,.4);
  background: rgba(255,255,255,.04);
  padding: 3px 10px;
  border-radius: 100px;
  letter-spacing: .3px;
}

/* ---- MOCKUP COMÚN ---- */
.ph-mockup {
  padding: 1.6rem 1.4rem 1.4rem;
  display: flex; flex-direction: column;
  gap: 8px;
  position: relative;
  min-height: 220px;
}
.portfolio-large .ph-mockup { min-height: 360px; padding: 2rem 1.8rem 1.8rem; gap: 10px; }

.ph-mock-h1, .ph-mock-h1-serif {
  font-weight: 800;
  letter-spacing: -.6px;
  line-height: 1.05;
}
.ph-mock-h1 {
  font-family: var(--display);
  font-size: 1.45rem;
  color: #fff;
}
.portfolio-large .ph-mock-h1 { font-size: 2rem; }
.ph-mock-h1-serif {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: -.4px;
}
.ph-mock-h1 em, .ph-mock-h1-serif em {
  font-style: italic; font-weight: 700;
}
.ph-mock-sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(255,255,255,.55);
  margin-top: 2px;
}
.ph-mock-pill {
  display: inline-block;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1.2px;
  padding: 5px 10px;
  border-radius: 100px;
  width: fit-content;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}
.ph-mock-tag {
  position: absolute;
  top: 14px; right: 14px;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1px;
  padding: 5px 11px;
  border-radius: 100px;
  text-transform: uppercase;
  font-weight: 700;
  z-index: 2;
}
.ph-mock-buttons {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 10px;
}
.ph-mock-btn {
  display: inline-flex; align-items: center;
  font-family: var(--display);
  font-size: 11px;
  font-weight: 700;
  padding: 7px 14px;
  border-radius: 100px;
  letter-spacing: .2px;
  white-space: nowrap;
}
.ph-mock-btn-ghost {
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.25);
}
.ph-mock-stats {
  display: flex; gap: 14px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.ph-mock-stats span {
  font-size: 10.5px;
  color: rgba(255,255,255,.45);
  letter-spacing: .2px;
}
.ph-mock-stats strong {
  color: #fff;
  font-family: var(--display);
  font-weight: 800;
  margin-right: 4px;
}

/* ============ 1) SUSHI — destacado (rosa + oscuro) ============ */
.portfolio-placeholder-sushi {
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 130, 180, .18), transparent 55%),
    linear-gradient(135deg, #1a0d14 0%, #0d0709 100%);
}
.ph-mockup-sushi .ph-mock-h1 { color: #fff; }
.ph-mockup-sushi .ph-mock-h1-accent {
  color: #ffb0d2;
  text-shadow: 0 0 20px rgba(255, 130, 180, .25);
}
.ph-mockup-sushi .ph-mock-tag {
  background: #1a0d14;
  border: 1px solid rgba(255, 130, 180, .35);
  color: #ffb0d2;
}
.ph-mock-btn-primary {
  background: linear-gradient(135deg, #ff6fa9, #ff9ec3);
  color: #1a0d14;
  box-shadow: 0 4px 14px rgba(255, 130, 180, .4);
}

/* ============ 2) VOLTAND — azul eléctrico ============ */
.portfolio-placeholder-voltand {
  background:
    radial-gradient(circle at 70% 30%, rgba(64, 220, 255, .15), transparent 55%),
    linear-gradient(135deg, #061229 0%, #0a1942 60%, #061229 100%);
}
.ph-mockup-voltand .ph-mock-pill {
  background: rgba(64, 220, 255, .12);
  border: 1px solid rgba(64, 220, 255, .35);
  color: #5fe5ff;
}
.ph-mockup-voltand .ph-mock-h1 { color: #fff; }
.ph-mockup-voltand .ph-mock-h1-accent2 {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 700;
  background: linear-gradient(135deg, #5fe5ff, #4a8cff);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.ph-mock-btn-blue {
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: #fff;
  box-shadow: 0 4px 14px rgba(64, 140, 255, .35);
}

/* ============ 3) JARDINS — verde natural ============ */
.portfolio-placeholder-jardins {
  background:
    radial-gradient(circle at 30% 70%, rgba(112, 168, 138, .18), transparent 55%),
    linear-gradient(135deg, #1a2620 0%, #0e1814 100%);
}
.ph-mockup-jardins .ph-mock-h1-serif { color: #f0f5ee; }
.ph-mockup-jardins .ph-mock-h1-accent3 {
  color: #a8d5b8;
  font-weight: 400;
}
.ph-mock-btn-green {
  background: #4f9a76;
  color: #fff;
  box-shadow: 0 4px 14px rgba(79, 154, 118, .35);
}

/* ============ 4) PERSIANAS — cálido / terracota ============ */
.portfolio-placeholder-persianas {
  background:
    radial-gradient(circle at 30% 30%, rgba(220, 150, 100, .15), transparent 55%),
    linear-gradient(135deg, #1c1410 0%, #2a1f17 60%, #1a110c 100%);
}
.ph-mockup-persianas .ph-mock-h1-serif { color: #faf3e8; }
.ph-mockup-persianas .ph-mock-h1-accent4 {
  color: #e09866;
  font-weight: 400;
}
.ph-mock-btn-orange {
  background: #c97a4a;
  color: #fff;
  box-shadow: 0 4px 14px rgba(201, 122, 74, .35);
}

/* Asegurar altura de la card grande (sushi) */
.portfolio-item.portfolio-large .portfolio-media {
  aspect-ratio: auto;
  height: 100%;
  min-height: 480px;
}
@media (max-width: 1024px) {
  .portfolio-item.portfolio-large .portfolio-media { min-height: 360px; }
  .portfolio-large .ph-mockup { min-height: 280px; }
}
@media (max-width: 640px) {
  .ph-mock-h1 { font-size: 1.2rem; }
  .portfolio-large .ph-mock-h1 { font-size: 1.45rem; }
  .ph-mock-h1-serif { font-size: 1.15rem; }
  .ph-mock-stats { gap: 10px; }
  .ph-mock-stats span { font-size: 9.5px; }
}


/* === Ajustes finales solicitados === */
.logo-text{display:none!important}
.nav-logo a,.footer-logo-wrap{gap:0!important}
.logo-img{width:46px;height:46px;object-fit:contain}
.footer-logo-wrap .logo-img{width:52px;height:52px}
.portfolio-media-image{position:relative;background:#070707;overflow:hidden}
.portfolio-shot{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.01);transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s cubic-bezier(.16,1,.3,1)}
.portfolio-item:hover .portfolio-shot{transform:scale(1.055);filter:saturate(1.08) contrast(1.05)}
.portfolio-shot-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.38) 100%),radial-gradient(circle at 50% 0%,rgba(201,168,76,.10),transparent 55%);pointer-events:none}
.portfolio-large .portfolio-shot{object-position:center top}
.portfolio-voltand .portfolio-shot{object-position:left center}
.portfolio-jardins .portfolio-shot{object-position:center center}
.portfolio-persianas .portfolio-shot{object-position:center center}
@media(max-width:768px){.portfolio-item.portfolio-large .portfolio-media{min-height:auto;aspect-ratio:16/10}.portfolio-shot{object-position:center center}.logo-img{width:42px;height:42px}}
* ===================================================
   WYMPER — Extras v5 (pegar AL FINAL de style.css)
   - Logo PNG (sustituye al cuadradito con W)
   - Portfolio cards con mockups bonitos por cliente
   - Ajuste del título hero en francés
   =================================================== */

/* ----- LOGO PNG ----- */
/* El logo dorado redondo reemplaza al .logo-mark anterior */
.logo-img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  transition: transform .25s, box-shadow .25s, filter .25s;
}
.nav-logo a:hover .logo-img,
.footer-logo-wrap:hover .logo-img {
  transform: scale(1.06) rotate(-3deg);
  filter: brightness(1.1) drop-shadow(0 4px 12px rgba(201,168,76,.4));
}
.footer-logo-wrap { display: flex; align-items: center; gap: 10px; margin-bottom: 1.2rem; }

/* ----- HERO FR: títulos más pequeños para que no rompan el diseño ----- */
body.lang-fr .hero-title {
  font-size: clamp(2.2rem, 4.6vw, 3.6rem);
  letter-spacing: -1.5px;
}
body.lang-fr .hero-desc { font-size: 1.05rem; }
@media (max-width: 640px) {
  body.lang-fr .hero-title {
    font-size: clamp(1.9rem, 7vw, 2.6rem);
  }
}

/* ===================================================
   PORTFOLIO — Mockups por proyecto
   Cada card tiene su paleta y su mini-mockup
   =================================================== */
.portfolio-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 1.8rem;
}
.placeholder-browser {
  width: 100%; max-width: 460px;
  background: rgba(15,15,13,.92);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,.55);
  transition: transform .5s cubic-bezier(.16,1,.3,1);
}
.portfolio-item:hover .placeholder-browser {
  transform: translateY(-4px) scale(1.015);
}
.browser-bar {
  display: flex; align-items: center; gap: 6px;
  padding: 9px 12px;
  background: rgba(255,255,255,.04);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.browser-bar span:not(.browser-url) {
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  flex-shrink: 0;
}
.browser-url {
  margin-left: 10px;
  font-family: var(--mono);
  font-size: 10.5px;
  color: rgba(255,255,255,.4);
  background: rgba(255,255,255,.04);
  padding: 3px 10px;
  border-radius: 100px;
  letter-spacing: .3px;
}

/* ---- MOCKUP COMÚN ---- */
.ph-mockup {
  padding: 1.6rem 1.4rem 1.4rem;
  display: flex; flex-direction: column;
  gap: 8px;
  position: relative;
  min-height: 220px;
}
.portfolio-large .ph-mockup { min-height: 360px; padding: 2rem 1.8rem 1.8rem; gap: 10px; }

.ph-mock-h1, .ph-mock-h1-serif {
  font-weight: 800;
  letter-spacing: -.6px;
  line-height: 1.05;
}
.ph-mock-h1 {
  font-family: var(--display);
  font-size: 1.45rem;
  color: #fff;
}
.portfolio-large .ph-mock-h1 { font-size: 2rem; }
.ph-mock-h1-serif {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: -.4px;
}
.ph-mock-h1 em, .ph-mock-h1-serif em {
  font-style: italic; font-weight: 700;
}
.ph-mock-sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  color: rgba(255,255,255,.55);
  margin-top: 2px;
}
.ph-mock-pill {
  display: inline-block;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1.2px;
  padding: 5px 10px;
  border-radius: 100px;
  width: fit-content;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}
.ph-mock-tag {
  position: absolute;
  top: 14px; right: 14px;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1px;
  padding: 5px 11px;
  border-radius: 100px;
  text-transform: uppercase;
  font-weight: 700;
  z-index: 2;
}
.ph-mock-buttons {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 10px;
}
.ph-mock-btn {
  display: inline-flex; align-items: center;
  font-family: var(--display);
  font-size: 11px;
  font-weight: 700;
  padding: 7px 14px;
  border-radius: 100px;
  letter-spacing: .2px;
  white-space: nowrap;
}
.ph-mock-btn-ghost {
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.25);
}
.ph-mock-stats {
  display: flex; gap: 14px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.ph-mock-stats span {
  font-size: 10.5px;
  color: rgba(255,255,255,.45);
  letter-spacing: .2px;
}
.ph-mock-stats strong {
  color: #fff;
  font-family: var(--display);
  font-weight: 800;
  margin-right: 4px;
}

/* ============ 1) SUSHI — destacado (rosa + oscuro) ============ */
.portfolio-placeholder-sushi {
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 130, 180, .18), transparent 55%),
    linear-gradient(135deg, #1a0d14 0%, #0d0709 100%);
}
.ph-mockup-sushi .ph-mock-h1 { color: #fff; }
.ph-mockup-sushi .ph-mock-h1-accent {
  color: #ffb0d2;
  text-shadow: 0 0 20px rgba(255, 130, 180, .25);
}
.ph-mockup-sushi .ph-mock-tag {
  background: #1a0d14;
  border: 1px solid rgba(255, 130, 180, .35);
  color: #ffb0d2;
}
.ph-mock-btn-primary {
  background: linear-gradient(135deg, #ff6fa9, #ff9ec3);
  color: #1a0d14;
  box-shadow: 0 4px 14px rgba(255, 130, 180, .4);
}

/* ============ 2) VOLTAND — azul eléctrico ============ */
.portfolio-placeholder-voltand {
  background:
    radial-gradient(circle at 70% 30%, rgba(64, 220, 255, .15), transparent 55%),
    linear-gradient(135deg, #061229 0%, #0a1942 60%, #061229 100%);
}
.ph-mockup-voltand .ph-mock-pill {
  background: rgba(64, 220, 255, .12);
  border: 1px solid rgba(64, 220, 255, .35);
  color: #5fe5ff;
}
.ph-mockup-voltand .ph-mock-h1 { color: #fff; }
.ph-mockup-voltand .ph-mock-h1-accent2 {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 700;
  background: linear-gradient(135deg, #5fe5ff, #4a8cff);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.ph-mock-btn-blue {
  background: linear-gradient(135deg, #2563eb, #3b82f6);
  color: #fff;
  box-shadow: 0 4px 14px rgba(64, 140, 255, .35);
}

/* ============ 3) JARDINS — verde natural ============ */
.portfolio-placeholder-jardins {
  background:
    radial-gradient(circle at 30% 70%, rgba(112, 168, 138, .18), transparent 55%),
    linear-gradient(135deg, #1a2620 0%, #0e1814 100%);
}
.ph-mockup-jardins .ph-mock-h1-serif { color: #f0f5ee; }
.ph-mockup-jardins .ph-mock-h1-accent3 {
  color: #a8d5b8;
  font-weight: 400;
}
.ph-mock-btn-green {
  background: #4f9a76;
  color: #fff;
  box-shadow: 0 4px 14px rgba(79, 154, 118, .35);
}

/* ============ 4) PERSIANAS — cálido / terracota ============ */
.portfolio-placeholder-persianas {
  background:
    radial-gradient(circle at 30% 30%, rgba(220, 150, 100, .15), transparent 55%),
    linear-gradient(135deg, #1c1410 0%, #2a1f17 60%, #1a110c 100%);
}
.ph-mockup-persianas .ph-mock-h1-serif { color: #faf3e8; }
.ph-mockup-persianas .ph-mock-h1-accent4 {
  color: #e09866;
  font-weight: 400;
}
.ph-mock-btn-orange {
  background: #c97a4a;
  color: #fff;
  box-shadow: 0 4px 14px rgba(201, 122, 74, .35);
}

/* Asegurar altura de la card grande (sushi) */
.portfolio-item.portfolio-large .portfolio-media {
  aspect-ratio: auto;
  height: 100%;
  min-height: 480px;
}
@media (max-width: 1024px) {
  .portfolio-item.portfolio-large .portfolio-media { min-height: 360px; }
  .portfolio-large .ph-mockup { min-height: 280px; }
}
@media (max-width: 640px) {
  .ph-mock-h1 { font-size: 1.2rem; }
  .portfolio-large .ph-mock-h1 { font-size: 1.45rem; }
  .ph-mock-h1-serif { font-size: 1.15rem; }
  .ph-mock-stats { gap: 10px; }
  .ph-mock-stats span { font-size: 9.5px; }
}


/* ===== AJUSTES NUEVOS PORTFOLIO ===== */

/* Las cards se ajustan a su contenido (sin espacio vacío debajo del texto) */
.portfolio-item {
  min-height: 0 !important;
  height: auto !important;
}

/* Sushi ya no gigante */
.portfolio-sushi {
  grid-column: span 1 !important;
}

/* Las imágenes se enfocan más a la izquierda */
.portfolio-sushi .portfolio-image img,
.portfolio-jardins .portfolio-image img,
.portfolio-persianas .portfolio-image img {
  object-position: left center !important;
}

/* Seguridad extra por si usan background-image */
.portfolio-sushi .portfolio-media,
.portfolio-jardins .portfolio-media,
.portfolio-persianas .portfolio-media {
  background-position: left center !important;
}


/* ===================================================
   PORTFOLIO — 3 proyectos con capturas reales
   =================================================== */
.section-portfolio .portfolio-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

.section-portfolio .portfolio-item{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.09) !important;
}

.section-portfolio .portfolio-media,
.section-portfolio .portfolio-media-image{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16/9 !important;
  overflow:hidden !important;
  background:#070707 !important;
}

.section-portfolio .portfolio-shot{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:scale(1.01);
  transition:transform .55s cubic-bezier(.16,1,.3,1), filter .55s cubic-bezier(.16,1,.3,1);
}

.section-portfolio .portfolio-item:hover .portfolio-shot{
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.05);
}

.section-portfolio .portfolio-shot-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.38) 100%),radial-gradient(circle at 50% 0%,rgba(201,168,76,.10),transparent 55%);
  pointer-events:none;
}

.section-portfolio .portfolio-sushi .portfolio-shot{object-position:center center !important;}
.section-portfolio .portfolio-voltand .portfolio-shot{object-position:left center !important;}
.section-portfolio .portfolio-jardins .portfolio-shot{object-position:center center !important;}

@media(max-width:1024px){
  .section-portfolio .portfolio-grid{
    grid-template-columns:1fr !important;
  }
}