:root{
    --linen:#EDEAE4;
    --stone:#DFDCD4;
    --slate:#222D33;
    --slate-mid:#33424A;
    --mist:#5A686E;
    --oak:#7E5F31;
    --oak-pale:#C9AC82;
    --line:rgba(34,45,51,0.15);
    --line-soft:rgba(34,45,51,0.08);
    --nav-h:74px;
    --r-s:10px; --r-m:16px; --r-l:24px; --r-pill:999px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;scroll-padding-top:92px;}
  body{background:var(--linen);color:var(--slate);font-family:'Work Sans',sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3,h4{font-family:'Cormorant',serif;font-weight:500;line-height:1.05;}
  em{font-family:'Cormorant',serif;font-style:italic;font-weight:400;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:1300px;margin:0 auto;padding:0 56px;}
  .eyebrow{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--oak);font-weight:500;}
  .skip{position:absolute;left:-9999px;background:var(--slate);color:var(--linen);padding:12px 20px;z-index:200;}
  .skip:focus{left:0;}
  :focus-visible{outline:2px solid var(--oak);outline-offset:3px;}
  .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1);}
  .rv.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}
  @media (max-width:900px){.wrap{padding:0 22px;}}

  /* NAV */
  header{position:fixed;inset:0 0 auto 0;z-index:90;transition:background .35s ease,border-color .35s ease;border-bottom:1px solid transparent;}
  header.solid{background:var(--linen);border-bottom-color:var(--line-soft);}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nav-h);max-width:1300px;margin:0 auto;padding:0 56px;}
  .logo{position:relative;display:block;width:118px;height:35px;flex-shrink:0;}
  .logo img{position:absolute;top:0;left:0;height:35px;width:auto;transition:opacity .35s ease;}
  .logo .lg-dark{opacity:0;}
  header.solid .logo .lg-dark{opacity:1;}
  header.solid .logo .lg-light{opacity:0;}
  .nav-right{display:flex;align-items:center;gap:26px;}
  .nav-links{display:flex;gap:26px;}
  .nav-links a{font-size:12.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--linen);opacity:.85;transition:color .35s ease,opacity .2s;}
  header.solid .nav-links a{color:var(--mist);}
  .nav-links a:hover{opacity:1;color:var(--oak);}
  .nav-phone{font-size:13.5px;color:var(--linen);transition:color .35s ease;white-space:nowrap;}
  header.solid .nav-phone{color:var(--slate);}
  .nav-cta{font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;background:var(--linen);color:var(--slate);padding:12px 22px;border-radius:var(--r-pill);white-space:nowrap;transition:background .2s,color .2s;}
  header.solid .nav-cta{background:var(--slate);color:var(--linen);}
  .nav-cta:hover{background:var(--oak);color:#fff;}
  .burger{display:none;background:none;border:none;padding:8px;color:var(--linen);transition:color .35s ease;}
  header.solid .burger{color:var(--slate);}
  .burger span{display:block;width:24px;height:1.5px;background:currentColor;margin:5px 0;transition:transform .3s,opacity .3s;}
  .burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  .mmenu{display:none;position:fixed;inset:var(--nav-h) 0 auto 0;background:var(--linen);border-radius:0 0 var(--r-l) var(--r-l);z-index:89;padding:10px 22px 26px;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .28s,transform .28s;box-shadow:0 20px 40px rgba(34,45,51,.08);}
  .mmenu.open{opacity:1;transform:none;pointer-events:auto;}
  .mmenu a{display:block;padding:15px 0;border-bottom:1px solid var(--line-soft);font-size:15px;}
  .mmenu .m-cta{margin-top:20px;background:var(--slate);color:var(--linen);text-align:center;border:none;border-radius:var(--r-pill);}
  @media (max-width:1060px){.nav-inner{padding:0 22px;}.nav-links,.nav-phone,.nav-cta{display:none;}.burger{display:block;}.mmenu{display:block;}}

  /* HERO */
  .hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--slate);}
  .hero-bg{position:absolute;inset:0;background-image:url('https://images.pexels.com/videos/6473920/pexels-photo-6473920.jpeg?auto=compress&cs=tinysrgb&w=1600');background-size:cover;background-position:center center;}
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity 1.1s ease;}
  .hero-video.show{opacity:1;}
  .hero-veil{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(18,26,30,.58) 0%,rgba(18,26,30,.20) 36%,rgba(18,26,30,.44) 68%,rgba(18,26,30,.84) 100%);}
  .vpause{position:absolute;right:18px;bottom:18px;z-index:5;background:rgba(18,26,30,.42);
    border:1px solid rgba(237,234,228,.26);border-radius:50%;width:38px;height:38px;color:rgba(237,234,228,.8);
    font-size:12px;line-height:1;backdrop-filter:blur(4px);transition:border-color .2s,color .2s;}
  .vpause:hover{border-color:rgba(237,234,228,.65);color:var(--linen);}
  .hero-grain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  .hero-inner .eyebrow,
  .hero h1{text-shadow:0 2px 40px rgba(18,26,30,.55), 0 1px 3px rgba(18,26,30,.35);}
  .hero-sub{text-shadow:0 1px 2px rgba(18,26,30,.45), 0 2px 26px rgba(18,26,30,.55);}
  .hero-inner{position:relative;z-index:4;width:100%;padding-top:calc(var(--nav-h) + 30px);padding-bottom:40px;text-align:center;}
  .hero .eyebrow{color:var(--oak-pale);}
  .hero h1{font-size:clamp(40px,6.6vw,86px);font-weight:400;margin:22px auto 0;max-width:15ch;
           color:rgba(237,234,228,.80);}
  .hero h1 em{color:rgba(201,172,130,.84);}
  .hero-tag{margin:24px auto 0;font-size:16.5px;line-height:1.7;color:rgba(237,234,228,.86);max-width:56ch;}
  .hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px;}
  .btn-fill{background:var(--linen);color:var(--slate);padding:17px 34px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;border-radius:var(--r-pill);border:none;transition:background .2s,transform .2s;display:inline-block;}
  .btn-fill:hover{background:var(--oak-pale);transform:translateY(-2px);}
  .btn-out{border:1px solid rgba(237,234,228,.5);color:var(--linen);padding:16px 32px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;border-radius:var(--r-pill);transition:background .2s,border-color .2s;}
  .btn-out:hover{background:rgba(237,234,228,.12);border-color:var(--linen);}
  @media (max-width:760px){.btn-fill,.btn-out{width:100%;text-align:center;}}

  /* MARQUEE DE PROYECTOS */
  .strip{background:var(--slate);padding:26px 0 26px;}
  .strip-mask{overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
  .strip-track{display:flex;gap:16px;width:max-content;animation:slide 60s linear infinite;}
  .strip-mask:hover .strip-track,
  .strip-mask:focus-within .strip-track,
  .strip.paused .strip-track{animation-play-state:paused;}
  @keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.strip-track{animation:none;}}
  .strip-foot{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px;}
  .strip-label{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(237,234,228,.5);margin:0;}
  .strip-pause{background:none;border:1px solid rgba(237,234,228,.28);border-radius:var(--r-pill);
    color:rgba(237,234,228,.72);padding:7px 16px;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;
    transition:border-color .2s,color .2s;}
  .strip-pause:hover{border-color:rgba(237,234,228,.6);color:var(--linen);}
  .strip-card{width:286px;height:196px;border-radius:var(--r-m);overflow:hidden;flex-shrink:0;position:relative;
    border:none;padding:0;background:none;display:block;cursor:pointer;}
  .strip-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1);}
  .strip-card:hover img,.strip-card:focus-visible img{transform:scale(1.06);}
  .strip-card .meta{position:absolute;inset:auto 0 0 0;padding:44px 16px 14px;text-align:left;
    background:linear-gradient(0deg,rgba(18,26,30,.88),rgba(18,26,30,.25) 60%,transparent);color:var(--linen);}
  .strip-card .meta b{display:block;font-family:'Cormorant',serif;font-size:20px;font-weight:500;line-height:1.15;}
  .strip-card .meta i{font-style:normal;display:block;margin-top:4px;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;opacity:.72;}
  .strip-card .count{position:absolute;top:12px;right:12px;background:rgba(18,26,30,.72);color:var(--linen);
    border-radius:var(--r-pill);padding:6px 12px;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;backdrop-filter:blur(3px);}
  .strip-card .veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    background:rgba(18,26,30,.5);opacity:0;transition:opacity .3s;}
  .strip-card:hover .veil,.strip-card:focus-visible .veil{opacity:1;}
  .strip-card .veil span{border:1px solid rgba(237,234,228,.7);border-radius:var(--r-pill);padding:10px 20px;
    font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--linen);}


  /* SECCIONES */
  .sec{padding:112px 0;}
  .sec-head{max-width:680px;}
  .sec-head h2{font-size:clamp(31px,4.4vw,54px);font-weight:400;margin-top:16px;}
  .sec-head h2 em{color:var(--mist);}
  .sec-head p{margin-top:20px;font-size:15.5px;line-height:1.78;color:var(--mist);}
  .center{margin-left:auto;margin-right:auto;text-align:center;}
  @media (max-width:900px){.sec{padding:76px 0;}}

  /* POR QUE */
  .why{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;}
  .why-copy p{font-size:15.5px;line-height:1.8;color:var(--mist);margin-top:20px;}
  .why-copy strong{color:var(--slate);font-weight:500;}
  .why-img{border-radius:var(--r-l);overflow:hidden;}
  .why-img img{width:100%;height:520px;object-fit:cover;}
  @media (max-width:900px){.why{grid-template-columns:1fr;gap:36px;}.why-img img{height:320px;}}

  /* SERVICIOS NUMERADOS */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:52px;}
  @media (max-width:900px){.svc-grid{grid-template-columns:1fr;}}
  .svc-cta{grid-column:span 2;background:var(--slate);color:var(--linen);display:flex;flex-direction:column;justify-content:center;padding:40px 38px;}
  .svc-cta:hover{background:var(--slate-mid);}
  .svc-cta .no{color:var(--oak-pale);letter-spacing:0.14em;text-transform:uppercase;}
  .svc-cta h3{color:var(--linen);font-size:26px;margin:14px 0 12px;max-width:22ch;}
  .svc-cta p{color:rgba(237,234,228,.75);max-width:44ch;}
  .svc-cta .more{color:var(--oak-pale);}
  @media (max-width:900px){.svc-cta{grid-column:span 1;padding:30px 24px;}}
  .svc{background:var(--linen);padding:36px 32px 34px;transition:background .3s;border:none;text-align:left;width:100%;display:block;cursor:pointer;font-family:inherit;}
  .svc:hover{background:var(--stone);}
  .svc[aria-expanded="true"]{background:var(--stone);}
  .svc .no{font-size:11px;letter-spacing:0.18em;color:var(--oak);font-weight:500;}
  .svc h3{font-size:24px;margin:14px 0 12px;}
  .svc p{font-size:14.5px;line-height:1.72;color:var(--mist);}
  .svc .more{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--oak);}
  .svc .more i{font-style:normal;font-size:15px;line-height:1;transition:transform .3s;}
  .svc[aria-expanded="true"] .more i{transform:rotate(45deg);}
  .svc-panel{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.2,.7,.3,1);}
  .svc-panel-inner{border:1px solid var(--line);border-radius:var(--r-l);padding:38px 36px;margin-top:18px;background:var(--linen);}
  .svc-panel h4{font-size:26px;margin-bottom:14px;}
  .svc-panel .lead{font-size:15.5px;line-height:1.78;color:var(--mist);max-width:62ch;}
  .svc-panel ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 30px;margin:26px 0 0;}
  .svc-panel li{position:relative;padding-left:20px;font-size:14px;line-height:1.6;color:var(--slate);}
  .svc-panel li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--oak);}
  .svc-panel .cta{display:inline-block;margin-top:28px;font-size:12px;letter-spacing:0.06em;border-bottom:1px solid var(--oak);padding-bottom:4px;}
  @media (max-width:900px){.svc{padding:28px 24px;}.svc-panel-inner{padding:28px 22px;}.svc-panel ul{grid-template-columns:1fr;}}

  /* PROCESO */
  .process{background:var(--slate-mid);color:var(--linen);}
  .process .sec-head h2{color:var(--linen);}
  .process .sec-head h2 em{color:var(--oak-pale);}
  .process .sec-head p{color:rgba(237,234,228,.78);}
  .proc-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center;margin-top:16px;}
  .proc-img{border-radius:var(--r-l);overflow:hidden;}
  .proc-img img{width:100%;height:480px;object-fit:cover;}
  .step{display:flex;gap:22px;padding:22px 0;border-top:1px solid rgba(237,234,228,.16);}
  .step:first-child{border-top:none;}
  .step .no{font-family:'Cormorant',serif;font-style:italic;font-size:15px;color:var(--oak-pale);width:38px;height:38px;border-radius:50%;border:1px solid rgba(201,172,130,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .step h4{font-size:20px;color:var(--linen);margin-bottom:6px;}
  .step p{font-size:14px;line-height:1.68;color:rgba(237,234,228,.72);}
  @media (max-width:900px){.proc-grid{grid-template-columns:1fr;gap:36px;}.proc-img img{height:280px;}}

  /* SELECTOR DE ACABADO */
  .finish{background:var(--stone);}
  .fin-stage{display:grid;grid-template-columns:1.35fr 1fr;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:var(--linen);margin-top:50px;}
  .wood{position:relative;min-height:450px;background-color:#5B3B26;transition:background-color .75s cubic-bezier(.4,0,.2,1);overflow:hidden;}
  .wood::before{content:'';position:absolute;inset:0;mix-blend-mode:multiply;opacity:.85;
    background-image:repeating-linear-gradient(91deg,rgba(0,0,0,.10) 0 1px,rgba(255,255,255,.045) 1px 3px,transparent 3px 11px),
      repeating-linear-gradient(89deg,rgba(0,0,0,.06) 0 2px,transparent 2px 17px),
      repeating-linear-gradient(90deg,rgba(0,0,0,.30) 0 3px,transparent 3px 132px);}
  .wood::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 80% at 22% 18%,rgba(255,255,255,.2),transparent 62%);}
  .wood-tag{position:absolute;left:0;bottom:0;z-index:3;background:rgba(18,26,30,.72);color:var(--linen);padding:16px 22px;min-width:56%;border-radius:0 var(--r-m) 0 0;backdrop-filter:blur(3px);}
  .wood-tag .nm{font-family:'Cormorant',serif;font-size:22px;font-weight:500;}
  .wood-tag .cd{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;opacity:.65;margin-top:5px;}
  .fin-panel{padding:38px 34px;border-left:1px solid var(--line);display:flex;flex-direction:column;}
  .fin-panel h3{font-size:26px;margin-bottom:10px;}
  .fin-panel>p{font-size:14px;line-height:1.7;color:var(--mist);margin-bottom:26px;}
  .sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .sw{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:var(--linen);padding:0;text-align:left;transition:transform .2s,box-shadow .2s;}
  .sw:hover{transform:translateY(-2px);}
  .sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--oak);}
  .sw .chip{height:52px;display:block;}
  .sw .nm{display:block;font-size:11.5px;padding:9px 10px 11px;color:var(--mist);}
  .fin-note{margin-top:auto;padding-top:26px;border-top:1px solid var(--line-soft);font-size:13px;line-height:1.68;color:var(--mist);}
  .fin-note strong{color:var(--slate);font-weight:500;}
  @media (max-width:900px){.fin-stage{grid-template-columns:1fr;}.wood{min-height:250px;}.fin-panel{border-left:none;border-top:1px solid var(--line);padding:28px 22px;}}

  /* TRABAJOS */
  .work-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:50px;}
  .work-col{display:grid;gap:18px;}
  .shot{position:relative;border:none;padding:0;width:100%;border-radius:var(--r-l);overflow:hidden;background:var(--stone);}
  .shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);}
  .shot:hover img{transform:scale(1.045);}
  .shot .cap{position:absolute;inset:auto 0 0 0;padding:44px 20px 16px;text-align:left;background:linear-gradient(0deg,rgba(18,26,30,.82),transparent);color:var(--linen);}
  .shot .cap b{display:block;font-family:'Cormorant',serif;font-size:19px;font-weight:500;}
  .shot .cap i{font-style:normal;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;opacity:.72;}
  .shot-tall img{height:560px;}
  .shot-short img{height:271px;}
  @media (max-width:900px){.work-grid{grid-template-columns:1fr;}.shot-tall img{height:330px;}.shot-short img{height:230px;}}

  /* DIFERENCIA */
  .diff-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:52px;}
  .diff{background:var(--linen);padding:32px 24px 36px;}
  .diff .no{font-family:'Cormorant',serif;font-style:italic;font-size:15px;color:var(--oak);width:40px;height:40px;border-radius:50%;background:rgba(126,95,49,.1);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
  .diff h4{font-size:19px;margin-bottom:9px;}
  .diff p{font-size:13.5px;line-height:1.68;color:var(--mist);}
  @media (max-width:1060px){.diff-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.diff-grid{grid-template-columns:1fr;}}

  /* CONFIANZA */
  .trust{background:var(--slate);color:var(--linen);padding:70px 0;}
  .trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(237,234,228,.16);border-radius:var(--r-m);overflow:hidden;}
  .trust-item{background:var(--slate);padding:30px 24px;text-align:center;}
  .trust-item b{display:block;font-family:'Cormorant',serif;font-size:27px;font-weight:500;color:var(--oak-pale);}
  .trust-item span{display:block;margin-top:8px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(237,234,228,.66);}
  @media (max-width:760px){.trust-row{grid-template-columns:repeat(2,1fr);}}

  /* FAQ */
  .faq-list{border-top:1px solid var(--line);max-width:900px;margin-top:44px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;background:none;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-family:'Cormorant',serif;font-size:19px;font-weight:500;color:var(--slate);}
  .faq-q .plus{font-family:'Work Sans',sans-serif;font-size:19px;font-weight:300;color:var(--oak);width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,background .2s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-q:hover .plus{background:rgba(126,95,49,.08);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
  .faq-a p{font-size:14.5px;line-height:1.78;color:var(--mist);max-width:66ch;padding-bottom:26px;}

  /* CONTACTO */
  .contact{background:var(--slate-mid);color:var(--linen);padding:118px 0;}
  .c-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start;}
  .contact h2{color:var(--linen);font-weight:400;font-size:clamp(32px,4.6vw,56px);margin-top:16px;}
  .contact h2 em{color:var(--oak-pale);}
  .c-copy>p{font-size:15.5px;line-height:1.78;color:rgba(237,234,228,.78);margin:20px 0 34px;max-width:44ch;}
  .c-direct a{display:flex;gap:14px;align-items:center;padding:17px 0;border-top:1px solid rgba(237,234,228,.18);font-size:15.5px;transition:color .2s;}
  .c-direct a:hover{color:var(--oak-pale);}
  .c-direct .k{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;opacity:.55;width:66px;flex-shrink:0;}
  .form-card{background:var(--linen);border-radius:var(--r-l);padding:38px 34px;color:var(--slate);}
  .row{margin-bottom:18px;}
  .row label{display:block;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mist);margin-bottom:8px;padding-left:2px;}
  .row input,.row select,.row textarea{width:100%;padding:13px 15px;border:1px solid transparent;border-radius:var(--r-s);background:var(--stone);font-family:'Work Sans',sans-serif;font-size:15px;font-weight:300;color:var(--slate);transition:border-color .2s,background .2s;}
  .row textarea{min-height:78px;resize:vertical;line-height:1.6;}
  .row input:focus,.row select:focus,.row textarea:focus{outline:none;border-color:var(--oak);background:#fff;}
  .row .err{display:none;color:#A32D2D;font-size:12.5px;margin-top:7px;}
  .row.invalid .err{display:block;}
  .row.invalid input,.row.invalid select,.row.invalid textarea{border-color:#A32D2D;}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}
  .form-card button[type=submit]{width:100%;margin-top:14px;background:var(--slate);color:var(--linen);border:none;border-radius:var(--r-pill);padding:17px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;transition:background .2s;}
  .form-card button[type=submit]:hover{background:#162026;}
  .form-card button[disabled]{opacity:.6;cursor:wait;}
  .fine{font-size:12px;color:var(--mist);margin-top:16px;line-height:1.6;}
  .fstate{display:none;text-align:center;padding:26px 4px;}
  .fstate.show{display:block;}
  .fstate .ic{font-family:'Cormorant',serif;font-size:30px;color:var(--oak);width:64px;height:64px;border-radius:50%;background:rgba(126,95,49,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
  .fstate h3{font-size:26px;margin-bottom:10px;}
  .fstate p{font-size:14.5px;line-height:1.7;color:var(--mist);max-width:38ch;margin:0 auto;}
  .fstate .again{margin-top:22px;background:none;border:1px solid var(--line);border-radius:var(--r-pill);padding:13px 28px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--slate);}
  @media (max-width:900px){.contact{padding:76px 0;}.c-grid{grid-template-columns:1fr;gap:42px;}.form-card{padding:28px 22px;}}

  /* CTA FINAL */
  .cta{background:var(--linen);padding:96px 0;text-align:center;}
  .cta .eyebrow{color:var(--oak);}
  .cta h2{font-size:clamp(32px,4.6vw,56px);font-weight:400;margin:16px 0 30px;}
  .cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .btn-dark{background:var(--slate);color:var(--linen);padding:17px 34px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;border-radius:var(--r-pill);transition:background .2s,transform .2s;}
  .btn-dark:hover{background:#162026;transform:translateY(-2px);}
  .btn-oak{background:var(--oak-pale);color:var(--slate);padding:17px 34px;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;border-radius:var(--r-pill);transition:background .2s,transform .2s;}
  .btn-oak:hover{background:#DCC29C;transform:translateY(-2px);}

  /* PIE */
  footer{background:var(--slate);color:var(--linen);padding:66px 0 28px;}
  .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-bottom:42px;}
  .foot .logo{width:138px;height:41px;margin-bottom:18px;}
  .foot .logo img{height:41px;}
  .foot p{font-size:14px;line-height:1.72;color:rgba(237,234,228,.7);}
  .foot h5{font-family:'Work Sans',sans-serif;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(237,234,228,.5);margin-bottom:16px;font-weight:500;}
  .foot li{list-style:none;margin-bottom:11px;font-size:14px;color:rgba(237,234,228,.75);}
  .foot li a:hover{color:var(--oak-pale);}
  .foot-bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(237,234,228,.12);font-size:11.5px;color:rgba(237,234,228,.42);}
  @media (max-width:900px){.foot{grid-template-columns:1fr 1fr;gap:30px;}}
  @media (max-width:560px){.foot{grid-template-columns:1fr;}}

  /* BARRA MOVIL */
  .callbar{display:none;position:fixed;inset:auto 0 0 0;z-index:95;background:var(--slate);border-top:1px solid rgba(237,234,228,.15);}
  .callbar a{flex:1;text-align:center;padding:15px 8px;font-size:12px;letter-spacing:0.07em;text-transform:uppercase;color:var(--linen);}
  .callbar a+a{background:var(--oak-pale);color:var(--slate);}
  @media (max-width:760px){.callbar{display:flex;}body{padding-bottom:52px;}}

  /* LIGHTBOX */
  .lb{position:fixed;inset:0;z-index:120;background:rgba(18,26,30,.95);display:flex;align-items:center;justify-content:center;padding:34px;opacity:0;pointer-events:none;transition:opacity .3s;}
  .lb.open{opacity:1;pointer-events:auto;}
  .lb-inner{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:1080px;width:100%;}
  .lb-head{text-align:center;color:var(--linen);}
  .lb-head b{display:block;font-family:'Cormorant',serif;font-size:26px;font-weight:500;}
  .lb-head i{font-style:normal;display:block;margin-top:5px;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(237,234,228,.6);}
  .lb-head p{margin:12px auto 0;max-width:60ch;font-size:14.5px;line-height:1.7;color:rgba(237,234,228,.78);}
  .lb-head p:empty{display:none;}
  .lb img{max-width:100%;max-height:64vh;object-fit:contain;border-radius:var(--r-m);}
  .lb-thumbs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
  .lb-thumbs button{width:64px;height:46px;border-radius:8px;overflow:hidden;border:1px solid transparent;padding:0;background:none;opacity:.5;transition:opacity .2s,border-color .2s;}
  .lb-thumbs button[aria-current="true"]{opacity:1;border-color:var(--oak-pale);}
  .lb-thumbs button:hover{opacity:1;}
  .lb-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:0;}
  .lb-count{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(237,234,228,.55);}
  .lb-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;background:none;border:1px solid rgba(237,234,228,.4);color:var(--linen);font-size:20px;}
  .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:rgba(237,234,228,.1);border:none;color:var(--linen);font-size:30px;display:flex;align-items:center;justify-content:center;}
  .lb-prev{left:14px;}.lb-next{right:14px;}

  /* ─────────────────────────────────────────────────────────
     BLOQUE AGREGADO — plan semanal de Brad
     ───────────────────────────────────────────────────────── */

  /* Franja superior de confianza (en todas las paginas) */
  .topbar{background:var(--slate);}
  .topbar .wrap{display:flex;justify-content:center;}
  .topbar p{margin:0;padding:8px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:rgba(237,234,228,.84);text-align:center;}
  .topbar b{color:var(--oak-pale);font-weight:500;}
  .topbar .dot{opacity:.35;margin:0 9px;}
  @media (max-width:600px){.topbar p{font-size:9.5px;letter-spacing:.09em;}.topbar .dot{margin:0 6px;}}

  /* Linea geografica dentro del H1 */
  .hgeo{display:block;font-family:'Work Sans',sans-serif;font-size:clamp(10.5px,1.15vw,12.5px);letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--oak-pale);margin-bottom:15px;}

  /* Cuatro cajas de garantia (Brad) */
  .pledge{background:var(--stone);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
  .pledge-grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .pledge-grid>div{padding:30px 26px;border-left:1px solid rgba(34,45,51,.09);}
  .pledge-grid>div:first-child{border-left:0;}
  .pledge h4{font-family:'Cormorant',serif;font-size:21px;font-weight:500;margin-bottom:6px;letter-spacing:-.01em;}
  .pledge p{font-size:13.5px;line-height:1.62;color:var(--mist);}
  @media (max-width:860px){
    .pledge-grid{grid-template-columns:1fr 1fr;}
    .pledge-grid>div:nth-child(3){border-left:0;}
    .pledge-grid>div:nth-child(n+3){border-top:1px solid rgba(34,45,51,.09);}
  }
  @media (max-width:470px){
    .pledge-grid{grid-template-columns:1fr;}
    .pledge-grid>div{border-left:0;padding:24px 20px;}
    .pledge-grid>div+div{border-top:1px solid rgba(34,45,51,.09);}
  }

  /* Antes y despues con deslizador */
  .ba-wrap{max-width:980px;margin:0 auto;}
  .ba{position:relative;aspect-ratio:3/2;border-radius:var(--r-l);overflow:hidden;background:var(--stone);cursor:ew-resize;user-select:none;touch-action:none;}
  .ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
  .ba .ba-after{clip-path:inset(0 0 0 var(--x,50%));}
  .ba .ba-line{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;margin-left:-1px;background:rgba(237,234,228,.94);pointer-events:none;}
  .ba .ba-knob{position:absolute;top:50%;left:var(--x,50%);transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(237,234,228,.96);display:grid;place-items:center;color:var(--slate);font-size:14px;letter-spacing:-.08em;pointer-events:none;box-shadow:0 4px 18px rgba(34,45,51,.22);}
  .ba-tag{position:absolute;bottom:14px;padding:6px 13px;border-radius:var(--r-pill);background:rgba(34,45,51,.74);color:var(--linen);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;pointer-events:none;}
  .ba .ba-tag.l{left:14px;}
  .ba .ba-tag.r{right:14px;}
  .ba-cap{margin-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;}
  .ba-cap b{font-family:'Cormorant',serif;font-size:23px;font-weight:500;}
  .ba-cap i{font-style:normal;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);}
  .ba-hint{margin-top:10px;font-size:12.5px;color:var(--mist);text-align:center;}

  /* Reseñas de Google (activar cuando haya reales) */
  .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .rev{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-m);padding:26px 24px;}
  .rev .stars{color:#E8A93B;font-size:15px;letter-spacing:.12em;margin-bottom:14px;}
  .rev p{font-size:14.5px;line-height:1.72;color:var(--slate-mid);margin-bottom:16px;}
  .rev .who{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);}
  .rev-foot{margin-top:26px;text-align:center;font-size:13px;color:var(--mist);}
  @media (max-width:860px){.revs{grid-template-columns:1fr;}}

  /* Bloque de persona (About) */
  .person{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:center;}
  .person-img{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/5;background:var(--stone);}
  .person-img img{width:100%;height:100%;object-fit:cover;display:block;}
  .person .role{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--oak);margin-bottom:10px;display:block;}
  @media (max-width:840px){.person{grid-template-columns:1fr;gap:30px;}.person-img{max-width:330px;aspect-ratio:1/1;}}

  /* Pueblos que servimos (About) */
  .towns{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;}
  .towns span{padding:7px 15px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:13px;color:var(--slate-mid);}

  /* Subida de fotos y horario (Contact) */
  .fileup{display:block;border:1px dashed rgba(34,45,51,.3);border-radius:var(--r-m);padding:17px;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;
          font-size:inherit;letter-spacing:normal;text-transform:none;color:var(--slate);}
  .fileup:hover{border-color:var(--oak);background:rgba(126,95,49,.05);}
  .fileup input{display:none;}
  .fileup b{display:block;font-size:13.5px;font-weight:500;margin-bottom:4px;letter-spacing:normal;text-transform:none;color:var(--slate);}
  .fileup span{display:block;font-size:12px;line-height:1.5;color:var(--mist);letter-spacing:normal;text-transform:none;}
  .hours-box{margin-top:24px;padding:22px 24px;border-radius:var(--r-m);background:rgba(237,234,228,.07);border:1px solid rgba(237,234,228,.14);}
  .hours-box h5{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(237,234,228,.55);margin-bottom:14px;font-weight:500;}
  .hours-box li{list-style:none;display:flex;justify-content:space-between;gap:14px;font-size:14px;margin-bottom:9px;color:var(--linen);}
  .hours-box li:last-child{margin-bottom:0;}
  .hours-box li span:last-child{color:rgba(237,234,228,.62);}
  .reply24{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:9px 17px;border-radius:var(--r-pill);background:rgba(201,172,130,.14);color:var(--oak-pale);font-size:12.5px;font-weight:500;letter-spacing:.02em;}

  /* Par antes/despues lado a lado (para fotos que no estan alineadas) */
  .ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .ba-shot{position:relative;border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:var(--stone);}
  .ba-shot img{width:100%;height:100%;object-fit:cover;display:block;}
  .ba-shot .ba-tag{position:absolute;bottom:14px;left:14px;}
  @media (max-width:680px){.ba-pair{grid-template-columns:1fr;gap:12px;}}

  /* Texto corrido: .prose no tenia ninguna regla, los parrafos salian pegados */
  .prose p{font-size:15.5px;line-height:1.8;color:var(--mist);margin-bottom:18px;}
  .prose p:last-child{margin-bottom:0;}
  .prose p strong{color:var(--slate);font-weight:500;}

  /* Hero reordenado (nota de Brad) */
  .hero-geo{position:absolute;top:calc(var(--nav-h) + 56px);left:0;right:0;z-index:5;pointer-events:none;}
  .hero-geo .wrap{display:block;}
  .hero-geo i{display:inline-block;font-style:normal;font-family:'Work Sans',sans-serif;
              font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
              color:var(--oak-pale);padding-left:46px;position:relative;
              text-shadow:0 1px 14px rgba(18,26,30,.75);}
  .hero-geo i::before{content:"";position:absolute;left:0;top:50%;width:32px;height:1px;
                      background:var(--oak-pale);opacity:.75;}
  .hero-sub{margin:26px auto 0;font-size:16px;letter-spacing:.01em;color:rgba(237,234,228,.9);
            text-shadow:0 1px 2px rgba(18,26,30,.45), 0 2px 26px rgba(18,26,30,.55);}
  @media (max-width:700px){
    .hero-geo{top:calc(var(--nav-h) + 34px);}
    .hero-geo i{font-size:10px;letter-spacing:.12em;padding-left:0;line-height:1.6;}
    .hero-geo i::before{display:none;}
    .hero-sub{font-size:14.5px;margin-top:20px;}
  }

  /* Tres pasos para el cliente */
  .steps{padding-bottom:0;}
  .steps-row{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;position:relative;}
  .steps-row::before{content:"";position:absolute;top:29px;left:17%;right:17%;height:1px;background:var(--line);z-index:1;}
  .steps-row li{text-align:center;padding:0 26px;position:relative;z-index:2;}
  .steps-row .n{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;
                border:1px solid var(--line);background:var(--linen);
                font-family:'Cormorant',serif;font-size:25px;font-weight:500;color:var(--oak);}
  .steps-row h3{font-family:'Cormorant',serif;font-size:24px;font-weight:500;margin:20px 0 10px;letter-spacing:-.01em;}
  .steps-row p{font-size:14.5px;line-height:1.72;color:var(--mist);max-width:31ch;margin:0 auto;}
  .steps-cta{text-align:center;margin-top:50px;display:flex;flex-direction:column;align-items:center;gap:13px;}
  .steps-cta span{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);}
  .btn-slate{background:var(--slate);color:var(--linen);padding:17px 34px;font-size:12.5px;letter-spacing:.08em;
             text-transform:uppercase;font-weight:500;border-radius:var(--r-pill);display:inline-block;
             transition:background .2s ease,transform .2s ease;}
  .btn-slate:hover{background:var(--oak);transform:translateY(-2px);}
  @media (max-width:820px){
    .steps-row{grid-template-columns:1fr;gap:38px;margin-top:40px;}
    .steps-row::before{display:none;}
    .steps-row li{padding:0;}
  }

  /* Marcador de esfuerzo en cada paso */
  .steps-row .t{display:inline-block;margin-top:14px;padding:5px 14px;border-radius:var(--r-pill);
                background:rgba(126,95,49,.09);color:var(--oak);
                font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:500;}

  /* Foco suave detras del titular: permite letras traslucidas sin perder lectura */
  .hero-inner::before{content:"";position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);width:min(1150px,94vw);height:min(600px,72vh);
    background:radial-gradient(ellipse at center,
      rgba(18,26,30,.50) 0%, rgba(18,26,30,.34) 42%, rgba(18,26,30,.12) 64%, rgba(18,26,30,0) 78%);
    z-index:-1;pointer-events:none;}
  .hero-geo i{text-shadow:0 1px 3px rgba(18,26,30,.8), 0 2px 22px rgba(18,26,30,.9);}

  /* Galeria unificada (sustituye al carrusel y a la rejilla antigua) */
  .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px;}
  .gal .shot{aspect-ratio:4/3;}
  .gal .shot img{height:100%;}
  .gal .shot-wide{grid-column:1 / -1;aspect-ratio:16/5.4;}
  @media (max-width:900px){
    .gal{grid-template-columns:1fr 1fr;gap:12px;}
    .gal .shot-wide{aspect-ratio:16/7;}
  }
  @media (max-width:560px){
    .gal{grid-template-columns:1fr;}
    .gal .shot,.gal .shot-wide{aspect-ratio:4/3;}
    .gal .shot .cap b{font-size:18px;}
  }

  /* Video dentro de la columna de imagen de "why" */
  .why-img video{width:100%;height:520px;object-fit:cover;display:block;}
  @media (max-width:900px){.why-img video{height:320px;}}

  /* Dos columnas con video: paredes y madera */
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:54px;}
  .duo-media{border-radius:var(--r-l);overflow:hidden;background:var(--stone);aspect-ratio:4/3;}
  .duo-vid{width:100%;height:100%;object-fit:cover;display:block;}
  .duo-item h3{font-family:'Cormorant',serif;font-size:27px;font-weight:500;margin:24px 0 10px;letter-spacing:-.01em;}
  .duo-item p{font-size:15px;line-height:1.75;color:var(--mist);max-width:44ch;}
  @media (max-width:860px){
    .duo{grid-template-columns:1fr;gap:40px;margin-top:38px;}
    .duo-item h3{font-size:24px;margin-top:20px;}
  }

  /* "Life goes on while we work" */
  .living{background:var(--stone);padding:78px 0;}
  .living-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:46px;align-items:start;}
  .living-grid p{font-size:14.5px;line-height:1.75;color:var(--mist);max-width:42ch;}
  .living-list{list-style:none;display:grid;gap:20px;}
  .living-list li{padding-left:21px;position:relative;}
  .living-list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;
                          border-radius:50%;border:1px solid var(--oak);}
  .living-list b{display:block;font-family:'Cormorant',serif;font-size:18px;font-weight:500;margin-bottom:5px;}
  .living-list span{display:block;font-size:13.5px;line-height:1.68;color:var(--mist);}
  @media (max-width:900px){.living{padding:62px 0;}.living-grid{grid-template-columns:1fr;gap:28px;}.living-list{gap:18px;}}

  /* Banda de marca: pieza de motion a todo el ancho */


  /* Video en la seccion de proceso: mismo encuadre que la imagen que sustituye */
  .proc-img video{width:100%;height:480px;object-fit:cover;display:block;}
  @media (max-width:900px){.proc-img video{height:280px;}}
