
  :root{
    --black:#0a0a09;
    --panel:#141311;
    --panel-2:#1b1a17;
    --line:rgba(234,228,214,0.08);
    --cream:#eae4d6;
    --cream-dim:#b6b0a5;
    --stone:#817c73;
    --gold:#bdb8ae;
    --gold-soft:rgba(189,184,174,0.30);
    --gold-dim:rgba(189,184,174,0.14);
    --font-stack:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    --serif:var(--font-stack);
    --body:var(--font-stack);
    --sans:var(--font-stack);
    --maxw:1380px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;background:var(--black);min-height:100%;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  body{
    background:var(--black);
    color:var(--cream);
    font-family:var(--body);
    font-weight:300;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  p{font-weight:400;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  ::selection{background:var(--gold-soft);color:var(--black);}

  /* ---------- marble texture ---------- */
  .marble{position:relative;}
  .marble::before{
    content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(1200px 600px at 15% 0%, rgba(255,255,255,0.035), transparent 60%),
      radial-gradient(900px 500px at 85% 100%, rgba(255,255,255,0.03), transparent 60%),
      repeating-linear-gradient(118deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 140px),
      repeating-linear-gradient(35deg, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 170px);
  }
  .marble > *{position:relative;z-index:1;}
  .grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0.035;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    padding:22px 0;
    transition:background .4s ease, padding .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.scrolled{
    background:rgba(10,10,9,0.86);
    backdrop-filter:blur(10px);
    padding:14px 0;
    border-color:var(--line);
  }
  nav{display:flex;align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 36px;gap:24px;}
  .brand{display:flex;align-items:center;gap:9px;font-family:var(--serif);letter-spacing:.22em;font-size:11.5px;font-weight:300;flex:0 0 auto;}
  .brand-logo{height:32px;width:auto;display:block;}
  .brand .mark{
    font-size:14px;letter-spacing:.26em;color:var(--cream);
    border:none;padding:0;font-weight:300;
  }
  .navlinks{display:flex;gap:clamp(18px,1.7vw,28px);list-style:none;margin-left:auto;align-items:center;}
  .navlinks a{
    font-size:11.5px;letter-spacing:.105em;text-transform:uppercase;color:var(--cream-dim);white-space:nowrap;
    position:relative;padding-bottom:4px;transition:color .3s ease;
  }
  .navlinks a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s ease;}
  .navlinks a:hover{color:var(--cream);}
  .navlinks a:hover::after{width:100%;}
  .navlinks a.active{color:var(--gold);}
  .navlinks a.active::after{width:100%;}
  .nav-cta{
    display:inline-flex;align-items:center;gap:8px;
    border:1px solid var(--gold-soft);color:var(--gold);
    font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    padding:10px 16px;transition:all .3s ease;white-space:nowrap;flex:0 0 auto;
  }
  .nav-cta:hover{background:var(--gold);color:var(--black);}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
  .burger span{width:22px;height:1px;background:var(--cream);display:block;}

  /* ---------- hero ---------- */
  .hero{
    min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;position:relative;padding:140px 24px 100px;
    background:radial-gradient(1400px 900px at 50% -10%, #1c1a16 0%, #0a0a09 60%);
  }
  .hero-num{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    font-family:var(--serif);font-weight:300;font-size:clamp(220px,42vw,620px);
    color:transparent;-webkit-text-stroke:1px rgba(234,228,214,0.06);
    letter-spacing:.02em;user-select:none;pointer-events:none;line-height:1;
  }
  .eyebrow{
    font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
    margin-bottom:26px;
  }
  .eyebrow span{color:var(--stone);margin:0 8px;}
  .hero h1{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(46px,9vw,108px);letter-spacing:.08em;line-height:1;
    color:var(--cream);
  }
  .hero-num-text{
    display:block;font-size:.4em;letter-spacing:.35em;color:var(--gold);
    margin-bottom:.35em;
  }
  .hero .tagline{
    margin-top:26px;font-family:var(--serif);font-weight:300;
    font-size:clamp(20px,2.6vw,30px);letter-spacing:.03em;color:var(--gold);
    padding-top:22px;border-top:1px solid var(--line);display:inline-block;
  }
  .hero p.lead{
    max-width:560px;margin:28px auto 0;color:var(--cream-dim);
    font-size:16px;font-weight:300;line-height:1.8;
  }
  .hero-ctas{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap;justify-content:center;}
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:16px 30px;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;
    transition:all .35s ease;border:1px solid transparent;
  }

  .btn-whatsapp-hero{background:#25D366;color:#07150b;border-color:#25D366;padding:14px 22px;}
  .btn-whatsapp-hero:hover{background:#20bd5a;border-color:#20bd5a;color:#07150b;}
  .btn-whatsapp-hero svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto;}
  .btn-solid{background:var(--gold);color:var(--black);}
  .btn-solid:hover{background:var(--cream);}
  .btn-line{border-color:var(--line);color:var(--cream);}
  .btn-line:hover{border-color:var(--gold);color:var(--gold);}
  .scroll-cue{
    position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
    width:1px;height:52px;background:linear-gradient(var(--gold), transparent);
    overflow:hidden;
  }
  .scroll-cue::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;
    background:var(--cream);animation:cue 2.2s ease-in-out infinite;}
  @keyframes cue{0%{top:-100%;}60%{top:100%;}100%{top:100%;}}


  /* ---------- HERO V2 / 1218 ---------- */
  .hero-v2{
    min-height:100vh;
    display:flex;
    align-items:center;
    position:relative;
    padding:132px 0 86px;
    overflow:hidden;
    background:#090908;
  }
  .hero-v2::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:url("../img/img1.webp");
    background-size:cover;background-position:center right;background-repeat:no-repeat;
    filter:saturate(.82) brightness(.58) contrast(1.04);
    transform:none;
  }
  .hero-v2::after{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:
      linear-gradient(90deg,rgba(5,5,4,.99) 0%,rgba(6,6,5,.94) 33%,rgba(7,7,6,.56) 54%,rgba(5,5,4,.14) 78%,rgba(5,5,4,.08) 100%),
      linear-gradient(0deg,rgba(5,5,4,.52) 0%,transparent 34%,rgba(3,3,3,.18) 100%);
  }
  .hero-v2-grid{
    width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px;
    display:grid;grid-template-columns:minmax(0,650px) 1fr;gap:0;align-items:start;
    position:relative;z-index:1;
  }
  .hero-v2-copy{max-width:650px;grid-column:1;}
  .hero-v2 .eyebrow{margin-bottom:24px;color:var(--gold);font-weight:400;}
  .hero-v2 h1{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(48px,6.1vw,84px);line-height:1.03;letter-spacing:-.03em;
    color:var(--cream);max-width:700px;
  }
  .hero-v2 h1 .accent{display:block;color:var(--cream);}
  .hero-v2 .lead{
    max-width:610px;margin:28px 0 0;color:#d1c8b7;
    font-size:clamp(16px,1.35vw,18px);line-height:1.78;font-weight:300;
  }
  .hero-v2 .hero-ctas{justify-content:flex-start;margin-top:38px;}
  .hero-v2 .microcopy{margin-top:26px;color:#c4b9a4;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
  .brand-lockup{
    position:relative;
    display:flex;align-items:center;justify-content:center;
    width:min(100%,255px);aspect-ratio:2300/720;justify-self:center;grid-column:1;
    margin:0 0 22px 0;padding:0;overflow:hidden;
    background:transparent;transform:none;
  }
  .brand-lockup::before{display:none;}
  .brand-logo-exact{
    width:100%;height:100%;max-width:none;display:block;
    object-fit:contain;object-position:left center;margin:0;filter:none;
  }
  @media (max-width:920px){
    .io .reveal{opacity:1!important;transform:none!important;}
    .hero-v2{padding:116px 0 68px;min-height:auto;}
    .hero-v2::before{background-size:auto 82%;background-position:right 56%;}
    .hero-v2::after{background:linear-gradient(90deg,rgba(5,5,4,.94),rgba(5,5,4,.76));}
    .hero-v2-grid{grid-template-columns:1fr;gap:42px;}
    .hero-v2-copy{max-width:720px;}
    .brand-lockup{width:min(100%,245px);justify-self:start;padding:0;transform:none;margin-bottom:22px;}
  }
  @media (max-width:560px){
    .hero-v2{padding:102px 0 56px;}
    .hero-v2::before{background-size:auto 74%;background-position:center 54%;filter:saturate(.68) brightness(.45) contrast(1.05);}
    .hero-v2-grid{padding:0 20px;gap:30px;}
    .hero-v2 h1{font-size:clamp(42px,12vw,58px);}
    .hero-v2 .lead{font-size:15px;line-height:1.7;}
    .hero-v2 .hero-ctas{flex-direction:column;align-items:stretch;gap:10px;}
    .hero-v2 .btn{justify-content:center;width:100%;}
    .hero-v2 .microcopy{font-size:10px;letter-spacing:.12em;line-height:1.8;}
    .brand-lockup{width:min(70vw,225px);justify-self:start;margin-bottom:20px;}
  }

  /* ---------- section basics ---------- */
  section{padding:120px 0;}
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head .eyebrow{margin-bottom:16px;}
  .section-head h2{
    font-family:var(--serif);font-weight:300;font-size:clamp(32px,4.6vw,52px);
    letter-spacing:.02em;line-height:1.15;
  }
  .section-head h2 em{color:var(--gold);font-style:normal;}
  .section-head p{margin-top:18px;color:var(--cream-dim);font-size:16px;max-width:520px;}
  .reveal{opacity:1;transform:none;}
  .io .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease;}
  .io .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- value strip ---------- */
  .value-strip{padding:70px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
  .value-item{padding-left:24px;border-left:1px solid var(--gold-soft);}
  .value-item .n{font-family:var(--serif);color:var(--gold);font-size:13px;letter-spacing:.14em;}
  .value-item h3{font-family:var(--serif);font-weight:400;font-size:19px;margin:10px 0 8px;letter-spacing:.02em;}
  .value-item p{color:var(--cream-dim);font-size:14.5px;}

  /* ---------- services grid ---------- */
  .grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .svc{background:var(--black);transition:background .4s ease;}
  .svc:hover{background:var(--panel);}
  .svc-photo{
    aspect-ratio:4/3;position:relative;overflow:hidden;
    background:
      radial-gradient(300px 200px at 30% 20%, rgba(185,154,95,0.10), transparent 65%),
      linear-gradient(160deg,#181712,#0a0a09);
  }
  .svc-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .svc:hover .svc-photo img{transform:scale(1.05);}
  .svc-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px rgba(0,0,0,0.4);pointer-events:none;}
  .svc-photo .ph-label{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:10px;color:var(--stone);
  }
  .svc-photo .ph-label svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1;opacity:.6;}
  .svc-photo .ph-label span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;}
  .svc-photo img[hidden] ~ .ph-label{display:flex;}
  .svc-photo .ph-label{display:none;}
  .svc-photo.noimg .ph-label{display:flex;}
  .svc-body{padding:32px 34px 38px;}
  .svc .icon{width:30px;height:30px;margin-bottom:22px;color:var(--gold);}
  .svc .icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;}
  .svc h3{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:.02em;margin-bottom:10px;}
  .svc p{color:var(--cream-dim);font-size:14.5px;}

  /* ---------- complementos ---------- */
  .comp-alt{background:var(--panel);}
  .grid-comp{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .comp-item{background:var(--panel);display:flex;flex-direction:column;}
  .comp-photo{
    aspect-ratio:16/9;position:relative;overflow:hidden;
    background:
      radial-gradient(300px 200px at 70% 30%, rgba(185,154,95,0.09), transparent 65%),
      linear-gradient(160deg,#1c1b17,#141311);
  }
  .comp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .comp-item:hover .comp-photo img{transform:scale(1.05);}
  .comp-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 50px rgba(0,0,0,0.4);pointer-events:none;}
  .comp-photo .ph-label{
    position:absolute;inset:0;display:none;align-items:center;justify-content:center;
    flex-direction:column;gap:8px;color:var(--stone);
  }
  .comp-photo.noimg .ph-label{display:flex;}
  .comp-photo .ph-label svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1;opacity:.6;}
  .comp-photo .ph-label span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
  .comp-body{padding:26px 30px 30px;display:flex;gap:18px;align-items:flex-start;}
  .comp-item .icon{width:26px;height:26px;flex:0 0 auto;color:var(--gold);margin-top:3px;}
  .comp-item .icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1;}
  .comp-item h3{font-family:var(--serif);font-weight:400;font-size:17.5px;margin-bottom:6px;}
  .comp-item p{color:var(--cream-dim);font-size:14px;}

  /* ---------- marcas ---------- */
  .marcas-strip{padding:70px 0;text-align:center;}
  .marcas-label{font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--stone);margin-bottom:36px;}
  .marcas-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;}
  .marca-item{
    display:flex;flex-direction:column;align-items:center;gap:14px;
    padding:10px 34px;border-right:1px solid var(--line);
  }
  .marca-item:last-child{border-right:none;}
  .marca-item span{
    font-family:var(--serif);font-size:clamp(17px,2vw,23px);letter-spacing:.08em;
    color:var(--cream-dim);transition:color .3s ease;
  }
  .marca-item:hover span{color:var(--gold);}
  .marca-item img{
    height:26px;width:auto;object-fit:contain;filter:grayscale(0.15) brightness(1.05);
    opacity:.9;transition:opacity .3s ease, transform .3s ease;
  }
  .marca-item:hover img{opacity:1;transform:scale(1.05);}

  /* ---------- proceso / cómo trabajamos ---------- */
  .proceso{
    background:
      radial-gradient(800px 360px at 12% 15%, rgba(143,109,71,.08), transparent 60%),
      linear-gradient(180deg,#11100e 0%,#0b0b0a 100%);
    position:relative;overflow:hidden;
  }
  .proceso::after{
    content:"";position:absolute;right:-140px;top:70px;width:420px;height:420px;
    background:radial-gradient(circle,rgba(143,109,71,.06),transparent 68%);
    pointer-events:none;
  }
  .process-intro{max-width:820px;margin-bottom:54px;}
  .process-intro p:last-child{max-width:720px;color:var(--cream-dim);font-size:15px;line-height:1.8;}
  .proc-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
    border-top:1px solid rgba(143,109,71,.28);
  }
  .proc-grid::before{
    content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(143,109,71,.55),transparent);
  }
  .proc-item{
    position:relative;padding:44px 28px 8px 0;min-height:270px;
  }
  .proc-item:not(:last-child){border-right:1px solid rgba(255,255,255,.07);margin-right:28px;}
  .proc-item .num{
    position:relative;width:58px;height:58px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-weight:300;font-size:18px;letter-spacing:.08em;
    color:var(--cream);border:1px solid rgba(143,109,71,.62);
    background:rgba(143,109,71,.08);margin:-74px 0 24px 0;
    box-shadow:0 0 0 8px #11100e;
  }
  .proc-item .num::after{
    content:"";position:absolute;width:5px;height:5px;border-radius:50%;
    background:#8f6d47;bottom:-16px;left:50%;transform:translateX(-50%);
  }
  .proc-item h3{
    font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.25;
    margin-bottom:12px;color:var(--cream);
  }
  .proc-item .proc-lead{
    color:#b99872;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
    margin-bottom:10px;
  }
  .proc-item p{color:var(--cream-dim);font-size:14px;line-height:1.7;max-width:260px;}
  @media (max-width:920px){
    .proc-grid{grid-template-columns:repeat(2,1fr);row-gap:60px;border-top:none;}
    .proc-grid::before{display:none;}
    .proc-item{border-top:1px solid rgba(143,109,71,.28);padding-top:42px;}
    .proc-item:not(:last-child){border-right:none;margin-right:0;}
    .proc-item:nth-child(odd){padding-right:28px;}
    .proc-item:nth-child(even){padding-left:28px;}
    .proc-item .num{margin:-71px 0 24px 0;box-shadow:0 0 0 8px #11100e;}
  }
  @media (max-width:560px){
    .process-intro{margin-bottom:42px;}
    .proc-grid{grid-template-columns:1fr;row-gap:52px;}
    .proc-item,.proc-item:nth-child(odd),.proc-item:nth-child(even){padding:40px 0 0 0;min-height:auto;}
    .proc-item p{max-width:none;}
  }

  /* ---------- obras ---------- */
  .obras-alt{background:var(--black);}
  .obras-alt .section-head{max-width:760px;}
  .obras-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:215px;
    gap:14px;
  }
  .obra-item{
    position:relative;
    overflow:hidden;
    background:var(--panel);
    border:1px solid var(--line);
    min-height:0;
  }
  .obra-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease, filter .5s ease;}
  .obra-item:hover img{transform:scale(1.04);filter:saturate(1.04);}
  .obra-item::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,0) 42%, rgba(0,0,0,.62) 100%);
  }
  .obra-item.featured{grid-column:span 2;grid-row:span 2;}
  .obra-item.wide{grid-column:span 2;}
  .obra-item.noimg .ph-label{display:flex;}
  .ph-label{
    position:absolute;inset:0;display:none;align-items:center;justify-content:center;
    flex-direction:column;gap:8px;color:var(--stone);
    background:linear-gradient(160deg,#181712,#0a0a09);
  }
  .ph-label svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1;opacity:.6;}
  .ph-label span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
  .obra-tag{
    position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;
    color:var(--cream);z-index:1;
    display:flex;flex-direction:column;gap:6px;
  }
  .obra-tag strong{font-size:15px;font-weight:500;letter-spacing:.01em;}
  .obra-tag span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,240,232,.74);}
  @media (max-width:920px){
    .obras-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px;}
    .obra-item.featured,.obra-item.wide{grid-column:span 2;}
  }
  @media (max-width:560px){
    .obras-grid{grid-template-columns:1fr;grid-auto-rows:220px;}
    .obra-item.featured,.obra-item.wide{grid-column:span 1;grid-row:span 1;}
    .obra-tag{padding:16px 14px 14px;}
    .obra-tag strong{font-size:14px;}
  }

  /* ---------- nosotros ---------- */
  .nosotros{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
  .nosotros-visual{
    aspect-ratio:4/5;position:relative;border:1px solid var(--line);
    background:
      radial-gradient(400px 300px at 30% 20%, rgba(185,154,95,0.09), transparent 60%),
      repeating-linear-gradient(120deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 90px),
      linear-gradient(160deg,#171613,#0a0a09);
    display:flex;align-items:center;justify-content:center;
  }
  .nosotros-visual .mono{
    font-family:var(--sans);font-size:clamp(12px,1.35vw,16px);font-weight:400;
    letter-spacing:.18em;text-transform:uppercase;text-align:center;line-height:1.7;
    color:var(--stone);-webkit-text-stroke:0;
    max-width:260px;padding:18px 22px;border:1px solid var(--gold-soft);
    background:rgba(8,8,7,.38);
  }
  .nosotros h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,44px);margin-bottom:22px;letter-spacing:.02em;}
  .nosotros p{color:var(--cream-dim);font-size:16px;margin-bottom:18px;max-width:480px;}
  .values-list{list-style:none;margin-top:30px;display:grid;gap:16px;}
  .values-list li{display:flex;gap:14px;align-items:baseline;font-size:14.5px;color:var(--cream-dim);}
  .values-list li::before{content:"";width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg);flex:0 0 auto;}

  /* ---------- contacto ---------- */
  .contacto{
    text-align:center;background:radial-gradient(1000px 600px at 50% 0%, #191713 0%, #0a0a09 65%);
    border-top:1px solid var(--line);
  }
  .contacto .eyebrow{justify-content:center;}
  .contacto h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,5vw,58px);letter-spacing:.02em;margin:18px 0 20px;}
  .contacto .contact-copy{color:var(--cream-dim);max-width:600px;margin:0 auto 32px;font-size:16px;}
  .contacto .contact-note{margin:14px auto 0;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--stone);max-width:none;line-height:1.8;}
  .contacto .contact-note span{display:block;}
  .contacto .hero-ctas{justify-content:center;margin-bottom:0;}
  .contacto .btn-whatsapp{
    background:#25D366;color:#07150b;border-color:#25D366;
    padding:11px 20px;font-size:11px;letter-spacing:.10em;gap:9px;
  }
  .contacto .btn-whatsapp:hover{background:#20bd5a;border-color:#20bd5a;color:#07150b;}
  .contacto .btn-whatsapp svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto;}

  /* ---------- footer ---------- */
  footer{padding:30px 0 34px;border-top:1px solid var(--line);}
  .foot-minimal{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
  .foot-copy{font-size:12px;color:var(--stone);letter-spacing:.02em;}
  .foot-meta{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;color:var(--stone);}
  .foot-meta a{color:var(--cream-dim);transition:color .3s ease;}
  .foot-meta a:hover{color:var(--gold);}
  @media (max-width:620px){
    .foot-minimal{align-items:flex-start;flex-direction:column;}
    .foot-meta{gap:10px;flex-direction:column;}
  }

  /* ---------- whatsapp float ---------- */
  .wa-float{
    position:fixed;bottom:26px;right:26px;z-index:60;
    width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--black);
    display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,0.5);
    transition:transform .3s ease;
  }
  .wa-float:hover{transform:scale(1.08);}
  .wa-float svg{width:24px;height:24px;fill:currentColor;}

  /* ---------- focus ---------- */
  a:focus-visible, button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

  /* ---------- responsive ---------- */
  @media (max-width:920px){
    .navlinks, .nav-cta{display:none;}
    .burger{display:flex;}
    .value-grid{grid-template-columns:1fr;gap:30px;}
    .grid-6{grid-template-columns:1fr 1fr;}
    .grid-comp{grid-template-columns:1fr;}
    .proc-grid{grid-template-columns:1fr 1fr;row-gap:44px;}
    .nosotros{grid-template-columns:1fr;gap:44px;}
    .marca-item{padding:10px 18px;}
    .marca-item span{font-size:16px;}
  }
  @media (max-width:560px){
    .grid-6{grid-template-columns:1fr;}
    .proc-grid{grid-template-columns:1fr;}
    section{padding:88px 0;}
    .hero{padding-top:120px;}
    .contact-methods{flex-direction:column;align-items:center;}
  }

  /* mobile menu panel */
  .mobile-menu{
    position:fixed;inset:0;background:var(--black);z-index:70;
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;
    transform:translateY(-100%);transition:transform .45s ease;
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{font-family:var(--serif);font-size:26px;letter-spacing:.05em;color:var(--cream);}
  .mobile-menu a.active{color:var(--gold);}
  .mobile-close{position:absolute;top:26px;right:28px;background:none;border:none;color:var(--cream);font-size:28px;cursor:pointer;}

  /* ---------- V2 FINAL REVIEW OVERRIDES ---------- */
  body{font-family:var(--font-stack);text-rendering:optimizeLegibility;}
  h1,h2,h3,.brand,.mobile-menu a{font-family:var(--font-stack);}

  /* neutral stone accent: premium without brown/gold cast */
  .eyebrow,.section-head h2 em,.navlinks a.active,.process-kicker,.marcas-label{color:var(--gold);}

  /* Header CTA: one WhatsApp language everywhere */
  .nav-cta{background:#25D366;border-color:#25D366;color:#fff;font-weight:600;padding:10px 15px;gap:8px;}
  .nav-cta:hover{background:#20bd5a;border-color:#20bd5a;color:#fff;}
  .nav-cta svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto;}
  .mobile-wa{margin-top:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;background:#25D366!important;color:#fff!important;padding:14px 18px!important;font-size:15px!important;width:min(260px,80vw)!important;}
  .mobile-wa svg{width:19px;height:19px;fill:currentColor;}

  /* Hero: logo centered inside the left copy column; copy remains left aligned */
  .brand-lockup{width:245px;margin:0 auto 24px;justify-self:stretch;align-self:auto;padding:0;transform:none;}
  .brand-logo-exact{width:100%;height:auto;}
  .hero-v2 .eyebrow,.hero-v2 .microcopy{font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:400;line-height:1.7;}
  .hero-v2 .microcopy{margin-top:26px;}

  /* Restore complete card grids reliably */
  #servicios .grid-6{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
  #complementos .comp-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
  #servicios .svc,#complementos .comp-item{min-width:0;}
  #servicios .icon svg,#complementos .icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.35!important;stroke-linecap:round!important;stroke-linejoin:round!important;}

  /* Partners needs an editorial anchor, not only a logo strip */
  #partners{padding-top:128px;padding-bottom:118px;}
  #partners .partners-head{max-width:720px;margin:0 auto 52px;text-align:center;}
  #partners .partners-head .eyebrow{margin-bottom:16px;}
  #partners .partners-head h2{font-size:clamp(32px,3.8vw,48px);line-height:1.14;max-width:720px;margin-left:auto;margin-right:auto;}
  #partners .partners-head p:last-child{max-width:600px;margin:18px auto 0;color:var(--cream-dim);line-height:1.7;}
  #partners .marcas-label{display:none;}

  /* WhatsApp uniformity */
  .btn-whatsapp-hero,.contacto .btn-whatsapp{background:#25D366!important;border-color:#25D366!important;color:#fff!important;font-weight:600;}
  .btn-whatsapp-hero:hover,.contacto .btn-whatsapp:hover{background:#20bd5a!important;border-color:#20bd5a!important;color:#fff!important;}
  .btn-whatsapp-hero svg,.contacto .btn-whatsapp svg{fill:currentColor;}
  .wa-float{background:#25D366!important;color:#fff!important;box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);}

  /* Footer: country centered, contact channels with icons */
  .foot-minimal{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;width:100%;}
  .foot-flag{display:flex;align-items:center;justify-content:center;line-height:1;}
  .foot-flag svg{width:30px;height:20px;display:block;border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.08);}
  .foot-meta{justify-self:end;display:flex;align-items:center;gap:28px;}
  .foot-meta a{display:inline-flex;align-items:center;gap:8px;color:var(--cream-dim);}
  .foot-meta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;}

  @media (max-width:920px){
    .brand-lockup{width:220px;margin:0 auto 22px;}
    #servicios .grid-6,#complementos .comp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    .foot-minimal{grid-template-columns:1fr;justify-items:center;text-align:center;gap:15px;}
    .foot-meta{justify-self:center;flex-wrap:wrap;justify-content:center;gap:14px 24px;}
  }
  @media (max-width:560px){
    .brand-lockup{width:min(56vw,205px);margin:0 auto 20px;}
    .hero-v2 .eyebrow,.hero-v2 .microcopy{font-size:10px;letter-spacing:.17em;}
    #servicios .grid-6,#complementos .comp-grid{grid-template-columns:1fr!important;gap:14px!important;}
    #partners{padding-top:90px;padding-bottom:88px;}
    #partners .partners-head{margin-bottom:42px;}
    .foot-meta{flex-direction:column;}
  }


  /* ---------- FINAL ALIGNMENT PASS ---------- */
  /* Logo is centered against the actual left copy width, not the full hero/grid. */
  .brand-lockup{
    width:min(100%,650px)!important;
    max-width:650px!important;
    aspect-ratio:auto!important;
    justify-self:start!important;
    display:flex!important;
    justify-content:flex-start!important;
    margin:0 0 30px 0!important;
    overflow:visible!important;
  }
  .brand-lockup .brand-logo-exact{
    width:330px!important;
    max-width:42vw!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
    display:block!important;
  }

  /* Give the three value propositions a clear section anchor. */
  .value-strip{padding-top:58px;}
  .value-title{
    text-align:center;
    color:var(--gold);
    font-size:11.5px;
    letter-spacing:.24em;
    text-transform:uppercase;
    margin:0 0 42px;
    font-weight:400;
  }

  /* Partners: force one shared visual axis for eyebrow, title, copy and logo row. */
  #partners .partners-head{
    width:100%!important;
    max-width:820px!important;
    margin:0 auto 52px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
  }
  #partners .partners-head .eyebrow,
  #partners .partners-head h2,
  #partners .partners-head p{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  #partners .partners-head .eyebrow{display:block!important;}
  #partners .marcas-row{width:100%;margin-left:auto;margin-right:auto;}

  @media (max-width:920px){
    .brand-lockup{width:min(100%,620px)!important;max-width:620px!important;justify-content:flex-start!important;}
    .brand-lockup .brand-logo-exact{width:min(46vw,320px)!important;max-width:320px!important;}
  }
  @media (max-width:560px){
    .brand-lockup{width:100%!important;max-width:100%!important;margin-bottom:20px!important;justify-content:flex-start!important;}
    .brand-lockup .brand-logo-exact{width:min(68vw,285px)!important;max-width:285px!important;}
    .value-title{font-size:10px;letter-spacing:.18em;margin-bottom:32px;}
  }

  /* ===== AJUSTE FINAL APROBADO: HEADER + LOGO MOBILE ===== */
  @media (min-width:921px){
    /* Alinea el 1218 STUDIO superior con el borde izquierdo del logo del hero.
       El resto de la botonera conserva su posición gracias al auto-margin de navlinks. */
    nav > .brand{
      margin-left:clamp(0px, calc((100vw - 920px) * .55), 198px);
    }
  }

  @media (max-width:920px){
    header nav{position:relative;}
    /* Marca del header centrada en mobile; hamburguesa permanece a la derecha. */
    header nav > .brand{
      position:absolute;
      left:50%;
      transform:translateX(-50%);
      margin:0;
    }
    header nav > .burger{margin-left:auto;}
    /* Logo principal del hero perfectamente centrado en la primera pantalla mobile. */
    .hero-v2 .brand-lockup{
      justify-self:center;
      margin-left:auto;
      margin-right:auto;
    }
    .hero-v2 .brand-logo-exact{object-position:center center;}
  }

  @media (max-width:560px){
    /* Mobile-only: center the hero logo on the viewport/content axis.
       !important is intentional here to override earlier mobile sizing/alignment rules. */
    .hero-v2 .brand-lockup{
      width:100%!important;
      max-width:100%!important;
      justify-self:stretch!important;
      justify-content:center!important;
      margin-left:0!important;
      margin-right:0!important;
    }
    .hero-v2 .brand-logo-exact{
      width:min(68vw,285px)!important;
      max-width:285px!important;
      margin-left:auto!important;
      margin-right:auto!important;
      object-position:center center!important;
    }
  }

  /* ===== V3 — LOGO APAISADO APROBADO ===== */
  .brand-logo-v3{
    display:block;width:168px;height:auto;object-fit:contain;
  }
  .hero-v2 .brand-lockup{
    width:min(100%,300px);aspect-ratio:auto;
    justify-content:center;overflow:visible;
  }
  .hero-v2 .brand-logo-exact{
    width:100%;height:auto;object-fit:contain;object-position:center center;
  }
  @media (min-width:921px){
    header nav{max-width:1560px;padding-left:28px;padding-right:28px;gap:30px;}
    header nav > .brand{margin-left:0!important;flex:0 0 auto;}
    header nav > .navlinks{margin-left:0;flex:1 1 auto;justify-content:center;}
    .hero-v2 .brand-lockup{justify-self:center;margin-left:auto;margin-right:auto;}
  }
  @media (max-width:920px){
    .brand-logo-v3{width:174px;}
    header nav > .brand{left:50%;transform:translateX(-50%);}
    .hero-v2 .brand-lockup{width:min(82vw,315px)!important;max-width:315px!important;justify-self:center!important;}
    .hero-v2 .brand-logo-exact{width:100%!important;max-width:315px!important;margin:0 auto!important;}
  }
  @media (max-width:560px){
    .brand-logo-v3{width:min(46vw,170px);}
    .hero-v2 .brand-lockup{width:100%!important;max-width:100%!important;justify-self:stretch!important;}
    .hero-v2 .brand-logo-exact{width:min(76vw,310px)!important;max-width:310px!important;margin-left:auto!important;margin-right:auto!important;}
  }

  /* ===== V3 — AJUSTE FINAL DE CENTRADO DESKTOP ===== */
  @media (min-width:921px){
    /* Centra visualmente la marca dentro del espacio previo a SERVICIOS,
       sin desplazar la botonera existente. */
    header nav > .brand{
      transform:translateX(58px)!important;
    }

    /* Mantiene intacto el bloque de copy y centra únicamente el logo
       respecto del ancho real de la columna izquierda del hero. */
    .hero-v2 .brand-lockup{
      width:650px!important;
      max-width:650px!important;
      justify-self:start!important;
      justify-content:center!important;
      margin:0 0 30px 0!important;
    }
    .hero-v2 .brand-lockup .brand-logo-exact{
      width:330px!important;
      max-width:330px!important;
      margin:0 auto!important;
      object-position:center center!important;
    }
  }



/* RECUADRO: se conserva EXACTAMENTE el eje de la versión apaisada aprobada.
   Sólo cambia el tamaño del arte cuadrado dentro de los mismos contenedores. */
@media (min-width:921px){
  header nav > .brand{
    width:168px !important;
    flex:0 0 168px !important;
    justify-content:center !important;
    transform:translateX(58px) !important;
    margin-left:0 !important;
  }
  header nav > .brand .brand-logo-v3{
    width:82px !important;
    max-width:82px !important;
    height:auto !important;
    margin:0 auto !important;
  }
  .hero-v2 .brand-lockup{
    width:650px !important;
    max-width:650px !important;
    justify-self:start !important;
    justify-content:flex-start !important;
    padding-left:84px !important;
    margin:0 0 30px 0 !important;
    transform:none !important;
  }
  .hero-v2 .brand-lockup .brand-logo-exact{
    width:270px !important;
    max-width:270px !important;
    height:auto !important;
    margin:0 !important;
    object-position:center center !important;
  }
}
@media (max-width:920px){
  header nav > .brand{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:auto !important;
    margin:0 !important;
  }
  header nav > .brand .brand-logo-v3{
    width:72px !important;
    max-width:72px !important;
    height:auto !important;
  }
  .hero-v2 .brand-lockup{
    width:100% !important;
    max-width:100% !important;
    justify-self:stretch !important;
    justify-content:center !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
  }
  .hero-v2 .brand-lockup .brand-logo-exact{
    width:min(60vw,235px) !important;
    max-width:235px !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    object-position:center center !important;
  }
}



/* ÚLTIMO AJUSTE: agrandar sólo el logo del header, manteniendo su slot y eje. */
@media (min-width:921px){
  header nav > .brand{
    width:168px !important;
    flex:0 0 168px !important;
    justify-content:center !important;
  }
  header nav > .brand .brand-logo-v3{
    width:74px !important;
    max-width:74px !important;
    height:auto !important;
    margin:0 auto !important;
  }
}
