*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cobalt:#1a3f5c;--cobalt-deep:#0d2438;
  --aqua:#2d8b8b;--aqua-mid:#4aabaa;--aqua-light:#7dcfce;--aqua-pale:#b8e8e7;--aqua-mist:#dff4f3;
  --marble:#f4f1ec;--marble-warm:#ede8e0;--marble-vein:#c8bfb3;--stone:#7a7068;
  --gold:#b8955a;--gold-light:#d4b07a;--ink:#1c1a18;
  --pad:60px;
}
html{scroll-behavior:smooth;cursor:none;}
body{background:var(--cobalt-deep);color:var(--marble);font-family:'Inter',sans-serif;overflow-x:hidden;}

/* ─── CURSOR (desktop only) ─── */
.cursor{position:fixed;width:8px;height:8px;background:var(--aqua-light);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s;mix-blend-mode:difference;}
.cursor-ring{position:fixed;width:36px;height:36px;border:0.5px solid rgba(125,207,206,0.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,opacity .3s;}
.cursor.hov{width:44px;height:44px;background:transparent;border:1px solid var(--aqua-light);}
.cursor-ring.hov{opacity:0;}
@media(hover:none){.cursor,.cursor-ring{display:none;}html{cursor:auto;}}

/* ─── PAGE SYSTEM ─── */
.page{display:block;min-height:100vh;}
.page-enter{animation:pageIn .6s cubic-bezier(0.22,1,0.36,1) both;}
@keyframes pageIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* ─── NAV ─── */
nav{position:absolute;top:0;left:0;right:0;z-index:200;padding:24px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;}
.nav-links{position:absolute;left:50%;transform:translateX(-50%);}
.nav-right{display:flex;flex-direction:row;align-items:center;gap:10px;flex-shrink:0;flex-wrap:nowrap;white-space:nowrap;}

.nav-logo{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:22px;color:var(--marble);letter-spacing:-0.02em;text-decoration:none;cursor:pointer;flex-shrink:0;}
.nav-logo em{font-style:italic;color:var(--aqua-light);}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{font-size:11px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:rgba(184,232,231,0.5);text-decoration:none;transition:color .3s;cursor:pointer;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active-link{color:var(--aqua-light);}
.nav-cta{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-light);border:0.5px solid rgba(125,207,206,0.35);padding:10px 22px;text-decoration:none;transition:all .3s;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:rgba(45,139,139,0.15);}

/* Hamburger */
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;z-index:210;}
.nav-burger span{display:block;width:24px;height:1px;background:var(--aqua-light);transition:all .3s;}
.nav-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* Mobile menu */
.nav-mobile{display:none;position:fixed;inset:0;background:rgba(13,36,56,0.98);backdrop-filter:blur(20px);z-index:190;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.nav-mobile.open{display:flex;}
.nav-mobile a{font-size:32px;font-family:'Cormorant Garamond',serif;font-weight:300;color:var(--marble);letter-spacing:-0.02em;text-decoration:none;padding:18px 0;border-bottom:0.5px solid rgba(125,207,206,0.08);width:260px;text-align:center;cursor:pointer;transition:color .3s;}
.nav-mobile a em{font-style:italic;color:var(--aqua-light);}
.nav-mobile a:hover{color:var(--aqua-light);}
.nav-mobile-cta{margin-top:32px;font-size:11px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-light);border:0.5px solid rgba(125,207,206,0.35);padding:14px 36px;cursor:pointer;transition:all .3s;}
.nav-mobile-cta:hover{background:rgba(45,139,139,0.15);}

/* ─── HERO ─── */
.hero{height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.hero-pool{position:absolute;inset:0;background:var(--cobalt-deep);overflow:hidden;}
.water-layer{position:absolute;inset:0;
  background:radial-gradient(ellipse 130% 55% at 50% 85%,rgba(45,139,139,0.32) 0%,transparent 58%),
    radial-gradient(ellipse 70% 40% at 25% 55%,rgba(26,63,92,0.55) 0%,transparent 50%),
    radial-gradient(ellipse 50% 30% at 75% 35%,rgba(74,171,170,0.18) 0%,transparent 40%);}
.pool-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(9,1fr);opacity:0.1;}
.pt{border:0.5px solid rgba(125,207,206,0.25);animation:shimmer 5s ease-in-out infinite;}
.pt:nth-child(5n){background:rgba(45,139,139,0.3);animation-delay:.6s;}
.pt:nth-child(7n){animation-delay:1.2s;}
.pt:nth-child(11n){background:rgba(184,149,90,0.18);animation-delay:1.8s;}
@keyframes shimmer{0%,100%{opacity:.25;}50%{opacity:1;}}
.hero-figure{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:460px;height:460px;opacity:0;pointer-events:none;}
.wave{position:absolute;border-radius:50%;border:1px solid rgba(125,207,206,0.12);transform:translate(-50%,-50%);animation:wave 7s ease-out infinite;}
.wave:nth-child(2){animation-delay:2.3s;}
.wave:nth-child(3){animation-delay:4.6s;}
@keyframes wave{0%{width:0;height:0;opacity:.5;}100%{width:900px;height:900px;opacity:0;}}
.hero-content{position:relative;z-index:10;text-align:center;padding:0 24px;}
.hero-eyebrow{font-size:10px;font-weight:200;letter-spacing:0.3em;text-transform:uppercase;color:var(--aqua-mid);margin-bottom:24px;animation:fadeUp 1.4s .1s both;}
.hero-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(64px,11vw,136px);line-height:0.86;letter-spacing:-0.03em;color:var(--marble);animation:fadeUp 1.4s .3s both;}
.hero-title em{font-style:italic;color:var(--aqua-light);}
.hero-sub{font-size:11px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:rgba(184,232,231,0.38);margin-top:24px;animation:fadeUp 1.4s .5s both;}
.hero-btns{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:44px;animation:fadeUp 1.4s .7s both;flex-wrap:wrap;}
.btn-g{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-light);border:0.5px solid rgba(125,207,206,0.32);padding:14px 32px;text-decoration:none;transition:all .3s;cursor:pointer;}
.btn-g:hover{background:rgba(45,139,139,0.12);}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeUp 1.4s 1.1s both;}
.scroll-line{width:0.5px;height:36px;background:rgba(125,207,206,0.25);animation:pulse 2.2s ease-in-out infinite;}
.scroll-label{font-size:9px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:rgba(125,207,206,0.35);}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:.25;}50%{opacity:1;}}

/* ─── STATEMENT ─── */
.statement{padding:100px var(--pad);background:var(--marble);color:var(--ink);position:relative;overflow:hidden;}
.stmt-vein{position:absolute;top:0;right:0;width:55%;height:100%;
  background:radial-gradient(ellipse at 75% 25%,rgba(200,191,179,0.35) 0%,transparent 50%),
  radial-gradient(ellipse at 55% 75%,rgba(200,191,179,0.25) 0%,transparent 40%);pointer-events:none;}
.stmt-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:center;max-width:1200px;}
.stmt-label{font-size:10px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:var(--aqua);margin-bottom:16px;}
.stmt-num{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(72px,10vw,110px);line-height:1;color:var(--marble-vein);letter-spacing:-0.04em;}
.stmt-text{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,3.8vw,54px);line-height:1.15;letter-spacing:-0.02em;color:var(--ink);}
.stmt-text em{font-style:italic;color:var(--aqua);}
.stmt-body{font-size:14px;font-weight:300;line-height:2;color:var(--stone);margin-top:24px;max-width:500px;}

/* ─── TECHNIQUES ─── */
.techniques{background:var(--cobalt-deep);padding:100px var(--pad);}
.tech-header{margin-bottom:60px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.tech-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(40px,6vw,80px);letter-spacing:-0.03em;color:var(--marble);line-height:0.9;}
.tech-title em{font-style:italic;color:var(--aqua-light);}
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(125,207,206,0.08);}
.tech-card{background:var(--cobalt-deep);padding:0;position:relative;overflow:hidden;transition:transform .4s;cursor:pointer;}
.tech-card:hover{transform:scale(1.01);z-index:2;}
.tech-visual{aspect-ratio:3/4;position:relative;overflow:hidden;}
.vis-figurative{background:linear-gradient(160deg,#1a4a5c 0%,#2d8b8b 40%,#3aabaa 100%);position:absolute;inset:0;}
.vis-marble{background:linear-gradient(140deg,#e8e0d0 0%,#d4c9b8 40%,#c8bfb3 100%);position:absolute;inset:0;}
.vis-mosaic{background:linear-gradient(160deg,#1a3f5c 0%,#2e6080 50%,#2d8b8b 100%);position:absolute;inset:0;}
.tech-hover-overlay{position:absolute;inset:0;background:rgba(13,36,56,0);transition:background .4s;display:flex;align-items:center;justify-content:center;}
.tech-card:hover .tech-hover-overlay{background:rgba(13,36,56,0.35);}
.tech-hover-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--marble);opacity:0;transition:opacity .4s;}
.tech-card:hover .tech-hover-text{opacity:1;}
.tech-info{padding:26px 24px 34px;}
.tech-num{font-size:9px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:rgba(125,207,206,0.35);margin-bottom:10px;}
.tech-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(20px,2.5vw,28px);color:var(--marble);letter-spacing:-0.01em;margin-bottom:10px;}
.tech-name em{font-style:italic;color:var(--aqua-light);}
.tech-desc{font-size:13px;font-weight:300;line-height:1.8;color:rgba(184,232,231,0.45);}

/* ─── WORKS ─── */
.works{background:var(--cobalt-deep);padding:0 0 100px;}
.works-header{padding:80px var(--pad) 52px;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.works-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5.5vw,74px);letter-spacing:-0.03em;color:var(--marble);line-height:0.9;}
.works-title em{font-style:italic;color:var(--aqua-light);}
.works-all{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-mid);text-decoration:none;display:flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap;}
.works-all::after{content:'→';}
.works-strip{display:flex;gap:16px;padding:0 var(--pad);overflow-x:auto;scrollbar-width:none;}
.works-strip::-webkit-scrollbar{display:none;}
.wk{flex-shrink:0;width:min(340px,80vw);cursor:pointer;transition:transform .4s;}
.wk:hover{transform:translateY(-6px);}
.wk-img{width:100%;aspect-ratio:4/3;position:relative;overflow:hidden;margin-bottom:16px;}
.wk-overlay{position:absolute;inset:0;background:rgba(13,36,56,0);transition:background .4s;display:flex;align-items:center;justify-content:center;}
.wk:hover .wk-overlay{background:rgba(13,36,56,0.38);}
.wk-ot{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:15px;color:var(--marble);opacity:0;transition:opacity .4s;}
.wk:hover .wk-ot{opacity:1;}
.wk-meta{display:flex;justify-content:space-between;align-items:baseline;}
.wk-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:20px;color:var(--marble);letter-spacing:-0.01em;}
.wk-loc{font-size:10px;font-weight:200;letter-spacing:0.15em;text-transform:uppercase;color:rgba(125,207,206,0.4);}
.wk-type{font-size:11px;font-weight:200;color:var(--aqua-mid);margin-top:4px;letter-spacing:0.04em;}

/* ─── PROCESS ─── */
.process{background:var(--marble-warm);padding:100px var(--pad);color:var(--ink);}
.proc-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px;}
.proc-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5vw,68px);letter-spacing:-0.03em;line-height:0.92;}
.proc-title em{font-style:italic;color:var(--aqua);}
.proc-desc{font-size:14px;font-weight:300;line-height:2;color:var(--stone);}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--marble-vein);}
.step{background:var(--marble-warm);padding:36px 28px;position:relative;transition:background .3s;cursor:pointer;}
.step:hover{background:var(--marble);}
.step-n{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(48px,6vw,68px);color:var(--marble-vein);line-height:1;margin-bottom:16px;letter-spacing:-0.03em;}
.step-t{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:20px;color:var(--ink);margin-bottom:12px;letter-spacing:-0.01em;}
.step-b{font-size:13px;font-weight:300;line-height:1.9;color:var(--stone);}
.step-acc{position:absolute;bottom:36px;right:28px;width:18px;height:0.5px;background:var(--aqua);}

/* ─── MATERIALS ─── */
.materials{background:var(--cobalt);padding:100px var(--pad);}
.mat-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5vw,68px);letter-spacing:-0.03em;line-height:0.9;color:var(--marble);margin-bottom:60px;}
.mat-title em{font-style:italic;color:var(--aqua-light);}
.mat-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:12px;}
.mat-c{position:relative;overflow:hidden;padding:36px 28px;display:flex;flex-direction:column;justify-content:flex-end;min-height:240px;transition:transform .4s;}
.mat-c:hover{transform:scale(1.01);}
.m1{background:linear-gradient(155deg,#e8e0d0,#c8bfb3);}
.m2{background:linear-gradient(140deg,#2d8b8b,#1a3f5c);}
.m3{background:linear-gradient(155deg,#4a5c3a,#2e4a28);}
.m4{background:linear-gradient(140deg,#b8955a,#7a5c2a);}
.m5{background:linear-gradient(155deg,#4a7a8a,#1a3f5c);}
.mat-n{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(18px,2.5vw,26px);letter-spacing:-0.02em;margin-bottom:4px;}
.mat-o{font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;}
.on-l .mat-n{color:var(--ink);}.on-l .mat-o{color:var(--stone);}
.on-d .mat-n{color:var(--marble);}.on-d .mat-o{color:rgba(184,232,231,0.45);}

/* ─── QUOTE ─── */
.quote-sec{background:var(--cobalt-deep);padding:120px var(--pad);text-align:center;position:relative;overflow:hidden;}
.q-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(45,139,139,0.1) 0%,transparent 70%);}
.q-mark{font-family:'Cormorant Garamond',serif;font-size:clamp(100px,16vw,180px);line-height:0.5;color:rgba(45,139,139,0.07);position:absolute;top:60px;left:var(--pad);}
.q-text{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-weight:300;font-style:italic;font-size:clamp(22px,3.8vw,50px);line-height:1.35;letter-spacing:-0.01em;color:var(--marble);max-width:860px;margin:0 auto 28px;}
.q-text em{font-style:normal;color:var(--aqua-light);}
.q-author{font-size:10px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:rgba(125,207,206,0.38);position:relative;z-index:2;}

/* ─── CONTACT ─── */
.contact{background:var(--marble);padding:100px var(--pad);color:var(--ink);}
.cont-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;max-width:1200px;}
.cont-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5vw,68px);letter-spacing:-0.03em;line-height:0.9;}
.cont-title em{font-style:italic;color:var(--aqua);}
.cont-body{font-size:14px;font-weight:300;line-height:2;color:var(--stone);margin:22px 0 32px;}
.cont-info{display:flex;flex-direction:column;gap:32px;}
.ci-label{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua);margin-bottom:6px;}
.ci-val{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:20px;color:var(--ink);letter-spacing:-0.01em;}
.ci-sub{font-size:12px;font-weight:200;color:var(--stone);margin-top:2px;}
.cont-form{display:flex;flex-direction:column;gap:16px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ff{display:flex;flex-direction:column;gap:6px;}
.fl{font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);}
.fi{background:transparent;border:none;border-bottom:0.5px solid var(--marble-vein);padding:10px 0;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;color:var(--ink);outline:none;transition:border-color .3s;width:100%;}
.fi:focus{border-color:var(--aqua);}
.fi::placeholder{color:var(--marble-vein);}
textarea.fi{resize:none;height:72px;}
.fsub{font-size:10px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:var(--marble);background:var(--cobalt);border:none;padding:14px 32px;cursor:pointer;align-self:flex-start;transition:background .3s;}
.fsub:hover{background:var(--aqua);}

/* ─── FOOTER ─── */
footer{background:var(--cobalt-deep);padding:56px var(--pad);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;border-top:0.5px solid rgba(125,207,206,0.08);}
.ft-logo{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:24px;color:var(--marble);letter-spacing:-0.02em;margin-bottom:12px;cursor:pointer;}
.ft-logo em{font-style:italic;color:var(--aqua-light);}
.ft-desc{font-size:12px;font-weight:200;color:rgba(125,207,206,0.3);line-height:1.9;max-width:220px;}
.ft-col-t{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:rgba(125,207,206,0.35);margin-bottom:16px;}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ft-links a{font-size:13px;font-weight:200;color:rgba(244,241,236,0.45);text-decoration:none;transition:color .3s;cursor:pointer;}
.ft-links a:hover{color:var(--aqua-light);}
.ft-bottom{grid-column:1/-1;padding-top:32px;border-top:0.5px solid rgba(125,207,206,0.07);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.ft-copy{font-size:11px;font-weight:200;color:rgba(125,207,206,0.2);letter-spacing:0.05em;}

/* ─── REVEAL ─── */
.rev{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s ease;}
.rev.on{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.1s;}.rd2{transition-delay:.2s;}.rd3{transition-delay:.3s;}.rd4{transition-delay:.4s;}

/* ─── INNER PAGE HERO ─── */
.inner-hero{height:55vh;min-height:400px;display:flex;align-items:flex-end;justify-content:flex-start;position:relative;overflow:hidden;padding:0 var(--pad) 64px;}
.inner-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,36,56,0.85) 0%,rgba(13,36,56,0.2) 100%);}
.inner-hero-content{position:relative;z-index:2;}
.inner-eyebrow{font-size:10px;font-weight:200;letter-spacing:0.35em;text-transform:uppercase;color:var(--aqua-mid);margin-bottom:16px;}
.inner-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(48px,8vw,100px);line-height:0.88;letter-spacing:-0.03em;color:var(--marble);}
.inner-title em{font-style:italic;color:var(--aqua-light);}

/* ─── TÉCNICAS PAGE ─── */
.tecnicas-intro{background:var(--marble);padding:80px var(--pad);color:var(--ink);}
.tecnicas-intro-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;align-items:center;max-width:1200px;}
.tecnicas-intro-label{font-size:10px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:var(--aqua);margin-bottom:14px;}
.tecnicas-intro-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5vw,64px);line-height:0.92;letter-spacing:-0.03em;color:var(--ink);}
.tecnicas-intro-title em{font-style:italic;color:var(--aqua);}
.tecnicas-intro-body{font-size:15px;font-weight:300;line-height:2;color:var(--stone);}

.tecnica-full{padding:100px var(--pad);position:relative;}
.tecnica-full:nth-child(odd){background:var(--cobalt-deep);}
.tecnica-full:nth-child(even){background:var(--cobalt);}
.tecnica-full-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1200px;}
.tecnica-full:nth-child(even) .tecnica-full-grid{direction:rtl;}
.tecnica-full:nth-child(even) .tecnica-full-grid > *{direction:ltr;}
.tecnica-visual-large{aspect-ratio:4/5;position:relative;overflow:hidden;}
.tecnica-full-num{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(80px,10vw,120px);color:rgba(125,207,206,0.06);line-height:1;letter-spacing:-0.04em;margin-bottom:-16px;}
.tecnica-full-label{font-size:10px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:var(--aqua-mid);margin-bottom:14px;}
.tecnica-full-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,4.5vw,62px);line-height:0.92;letter-spacing:-0.03em;color:var(--marble);margin-bottom:24px;}
.tecnica-full-title em{font-style:italic;color:var(--aqua-light);}
.tecnica-full-body{font-size:14px;font-weight:300;line-height:2;color:rgba(184,232,231,0.55);margin-bottom:28px;}
.tecnica-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.tecnica-tag{font-size:10px;font-weight:200;letter-spacing:0.15em;text-transform:uppercase;color:var(--aqua-mid);border:0.5px solid rgba(74,171,170,0.3);padding:7px 14px;}
.tecnica-btn{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-light);border:0.5px solid rgba(125,207,206,0.35);padding:12px 28px;cursor:pointer;transition:all .3s;display:inline-block;}
.tecnica-btn:hover{background:rgba(45,139,139,0.15);}

.tecnicas-showcase{background:var(--marble-warm);padding:100px var(--pad);color:var(--ink);}
.showcase-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,5vw,60px);letter-spacing:-0.03em;line-height:0.92;color:var(--ink);margin-bottom:50px;}
.showcase-title em{font-style:italic;color:var(--aqua);}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.showcase-item{aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer;}
.showcase-item-bg{position:absolute;inset:0;transition:transform .6s cubic-bezier(0.22,1,0.36,1);}
.showcase-item:hover .showcase-item-bg{transform:scale(1.05);}
.showcase-item-overlay{position:absolute;inset:0;background:rgba(13,36,56,0);transition:background .4s;display:flex;align-items:flex-end;padding:22px;}
.showcase-item:hover .showcase-item-overlay{background:rgba(13,36,56,0.5);}
.showcase-item-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--marble);opacity:0;transform:translateY(8px);transition:all .4s;}
.showcase-item:hover .showcase-item-label{opacity:1;transform:translateY(0);}

/* ─── PROYECTOS PAGE ─── */
.proyectos-filter{background:var(--cobalt-deep);padding:48px var(--pad) 0;}
.filter-bar{display:flex;gap:4px;border-bottom:0.5px solid rgba(125,207,206,0.1);overflow-x:auto;scrollbar-width:none;}
.filter-bar::-webkit-scrollbar{display:none;}
.filter-btn{font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:rgba(125,207,206,0.4);border:none;background:none;padding:12px 20px;cursor:pointer;border-bottom:1.5px solid transparent;transition:all .3s;margin-bottom:-0.5px;white-space:nowrap;flex-shrink:0;}
.filter-btn:hover,.filter-btn.active{color:var(--aqua-light);border-bottom-color:var(--aqua-light);}

.proyectos-grid{background:var(--cobalt-deep);padding:48px var(--pad);}
.proj-item{cursor:pointer;position:relative;overflow:hidden;aspect-ratio:4/5;}
.proj-item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,36,56,0.85) 0%,transparent 50%);opacity:1;display:flex;align-items:flex-end;padding:24px;}
.proj-item-info{transform:translateY(0);transition:transform .4s;}
.proj-item-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:22px;color:var(--marble);letter-spacing:-0.01em;}
.proj-item-meta{font-size:11px;font-weight:200;letter-spacing:0.15em;text-transform:uppercase;color:rgba(125,207,206,0.65);margin-top:4px;}
.proj-item-type{font-size:11px;font-weight:200;color:var(--aqua-mid);margin-top:3px;}

.proyectos-featured{background:var(--cobalt-deep);padding:0 var(--pad) 60px;}
.featured-label{font-size:10px;font-weight:200;letter-spacing:0.3em;text-transform:uppercase;color:rgba(125,207,206,0.35);margin-bottom:28px;padding-top:16px;}
.featured-item{display:grid;grid-template-columns:1.2fr 1fr;gap:0;margin-bottom:2px;cursor:pointer;overflow:hidden;}
.featured-photo{aspect-ratio:16/10;position:relative;overflow:hidden;}
.featured-photo-inner{position:absolute;inset:0;transition:transform .6s cubic-bezier(0.22,1,0.36,1);}
.featured-item:hover .featured-photo-inner{transform:scale(1.04);}
.featured-info{background:rgba(125,207,206,0.04);padding:48px 44px;display:flex;flex-direction:column;justify-content:center;border:0.5px solid rgba(125,207,206,0.06);}
.featured-num{font-size:10px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:rgba(125,207,206,0.3);margin-bottom:16px;}
.featured-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,3.5vw,46px);letter-spacing:-0.02em;color:var(--marble);line-height:1.05;margin-bottom:16px;}
.featured-name em{font-style:italic;color:var(--aqua-light);}
.featured-loc{font-size:11px;font-weight:200;letter-spacing:0.15em;text-transform:uppercase;color:rgba(125,207,206,0.45);margin-bottom:12px;}
.featured-desc{font-size:13px;font-weight:300;line-height:1.9;color:rgba(184,232,231,0.4);margin-bottom:24px;}
.featured-link{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:var(--aqua-mid);display:flex;align-items:center;gap:8px;}
.featured-link::after{content:'→';transition:transform .3s;}
.featured-item:hover .featured-link::after{transform:translateX(6px);}

/* ─── PROCESO PAGE ─── */
.proceso-intro{background:var(--marble);padding:80px var(--pad);color:var(--ink);}
.proceso-intro-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;align-items:center;}
.proceso-intro-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(36px,5vw,64px);line-height:0.92;letter-spacing:-0.03em;color:var(--ink);margin-bottom:20px;}
.proceso-intro-title em{font-style:italic;color:var(--aqua);}
.proceso-intro-body{font-size:15px;font-weight:300;line-height:2;color:var(--stone);}

.timeline-section{background:var(--cobalt-deep);padding:100px var(--pad);}
.timeline-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:70px;flex-wrap:wrap;gap:20px;}
.timeline-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,5vw,60px);letter-spacing:-0.03em;color:var(--marble);line-height:0.9;}
.timeline-title em{font-style:italic;color:var(--aqua-light);}
.timeline-note{font-size:12px;font-weight:200;color:rgba(125,207,206,0.35);max-width:220px;line-height:1.8;text-align:right;}
.timeline-track{position:relative;}
.timeline-axis{position:absolute;top:32px;left:0;right:0;height:0.5px;background:rgba(125,207,206,0.12);}
.timeline-progress{position:absolute;top:32px;left:0;height:0.5px;background:linear-gradient(to right,var(--aqua),var(--aqua-light));width:0;transition:width 1.8s cubic-bezier(0.22,1,0.36,1);}
.timeline-progress.animated{width:100%;}
.timeline-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.tl-phase{padding-top:0;position:relative;padding-right:20px;}
.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--aqua);border:2px solid var(--cobalt-deep);margin-bottom:24px;position:relative;z-index:2;transition:transform .3s,box-shadow .3s;}
.tl-phase:hover .tl-dot{transform:scale(1.5);box-shadow:0 0 16px rgba(45,139,139,0.5);}
.tl-phase-num{font-size:9px;font-weight:200;letter-spacing:0.25em;text-transform:uppercase;color:rgba(125,207,206,0.3);margin-bottom:8px;}
.tl-phase-name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(18px,2.5vw,26px);color:var(--marble);margin-bottom:6px;letter-spacing:-0.01em;}
.tl-phase-dur{font-size:11px;font-weight:200;letter-spacing:0.12em;color:var(--gold-light);margin-bottom:12px;}
.tl-phase-body{font-size:12px;font-weight:300;line-height:1.8;color:rgba(184,232,231,0.42);}
.tl-phase-tasks{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
.tl-task{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:200;color:rgba(125,207,206,0.5);}
.tl-task::before{content:'';width:4px;height:0.5px;background:var(--aqua-mid);flex-shrink:0;}

.tl-bar-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;background:rgba(125,207,206,0.04);border:0.5px solid rgba(125,207,206,0.08);}
.tl-bar-item{padding:24px 20px;border-right:0.5px solid rgba(125,207,206,0.08);position:relative;overflow:hidden;}
.tl-bar-item:last-child{border-right:none;}
.tl-bar-fill{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(to right,var(--aqua),var(--aqua-light));transition:width 2s cubic-bezier(0.22,1,0.36,1);}
.tl-bar-label{font-size:9px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:rgba(125,207,206,0.3);margin-bottom:4px;}
.tl-bar-weeks{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(28px,4vw,42px);color:rgba(125,207,206,0.15);letter-spacing:-0.03em;}
.tl-bar-weeks span{font-size:12px;color:rgba(125,207,206,0.3);letter-spacing:0.1em;font-family:'Inter',sans-serif;font-weight:200;}

.proyecto-tipos{background:var(--marble-warm);padding:80px var(--pad);color:var(--ink);}
.tipos-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,4.5vw,54px);letter-spacing:-0.03em;line-height:0.92;color:var(--ink);margin-bottom:50px;}
.tipos-title em{font-style:italic;color:var(--aqua);}
.tipos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.tipo-card{background:var(--marble);padding:36px 28px;position:relative;overflow:hidden;border-bottom:2px solid transparent;transition:border-color .3s,background .3s;}
.tipo-card:hover{background:white;border-color:var(--aqua);}
.tipo-icon{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:42px;color:rgba(45,139,139,0.2);margin-bottom:16px;line-height:1;}
.tipo-name{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:22px;color:var(--ink);margin-bottom:8px;}
.tipo-time{font-size:11px;font-weight:200;letter-spacing:0.15em;color:var(--aqua);margin-bottom:12px;text-transform:uppercase;}
.tipo-desc{font-size:13px;font-weight:300;line-height:1.9;color:var(--stone);}

.proceso-faq{background:var(--marble);padding:80px var(--pad);color:var(--ink);border-top:0.5px solid var(--marble-vein);}
.faq-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,4.5vw,54px);letter-spacing:-0.03em;line-height:0.92;color:var(--ink);margin-bottom:50px;}
.faq-title em{font-style:italic;color:var(--aqua);}
.faq-list{max-width:800px;}
.faq-item{border-bottom:0.5px solid var(--marble-vein);padding:28px 0;cursor:pointer;}
.faq-q{display:flex;align-items:center;justify-content:space-between;font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(17px,2vw,20px);color:var(--ink);letter-spacing:-0.01em;gap:16px;}
.faq-icon{width:20px;height:20px;position:relative;flex-shrink:0;}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--aqua);transition:transform .3s,opacity .3s;}
.faq-icon::before{width:12px;height:0.5px;top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-icon::after{width:0.5px;height:12px;top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-item.open .faq-icon::after{opacity:0;}
.faq-a{font-size:14px;font-weight:300;line-height:1.9;color:var(--stone);max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;}
.faq-item.open .faq-a{max-height:300px;padding-top:18px;}

/* ─── CONTACTO PAGE ─── */
.contacto-hero-bg{background:linear-gradient(160deg,#0d2438 0%,#1a3f5c 50%,#2d8b8b 100%);}
.contacto-main{background:var(--marble);padding:80px var(--pad);color:var(--ink);}
.contacto-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;max-width:1200px;}
.contacto-left-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,5vw,62px);letter-spacing:-0.03em;line-height:0.9;margin-bottom:24px;}
.contacto-left-title em{font-style:italic;color:var(--aqua);}
.contacto-left-body{font-size:15px;font-weight:300;line-height:2;color:var(--stone);margin-bottom:48px;}
.contact-details{display:flex;flex-direction:column;gap:30px;}
.cd-item{display:flex;flex-direction:column;gap:6px;}
.cd-label{font-size:10px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:var(--aqua);}
.cd-val{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:20px;color:var(--ink);letter-spacing:-0.01em;}
.cd-sub{font-size:12px;font-weight:200;color:var(--stone);}
.contacto-form-wrap{background:var(--cobalt-deep);padding:52px 44px;}
.contacto-form-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:30px;color:var(--marble);letter-spacing:-0.02em;margin-bottom:8px;}
.contacto-form-title em{font-style:italic;color:var(--aqua-light);}
.contacto-form-sub{font-size:12px;font-weight:200;color:rgba(125,207,206,0.35);margin-bottom:36px;letter-spacing:0.05em;}
.cont-form-dark{display:flex;flex-direction:column;gap:18px;}
.ff-dark{display:flex;flex-direction:column;gap:7px;}
.fl-dark{font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:rgba(125,207,206,0.35);}
.fi-dark{background:rgba(125,207,206,0.04);border:none;border-bottom:0.5px solid rgba(125,207,206,0.15);padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;color:var(--marble);outline:none;transition:border-color .3s,background .3s;width:100%;}
.fi-dark:focus{border-color:var(--aqua);background:rgba(125,207,206,0.07);}
.fi-dark::placeholder{color:rgba(125,207,206,0.2);}
textarea.fi-dark{resize:none;height:100px;}
.select-dark{background:rgba(125,207,206,0.04);border:none;border-bottom:0.5px solid rgba(125,207,206,0.15);padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;color:var(--marble);outline:none;width:100%;cursor:pointer;-webkit-appearance:none;appearance:none;}
.select-dark option{background:var(--cobalt-deep);}
.fr-dark{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fsub-dark{font-size:10px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:var(--cobalt-deep);background:var(--aqua-light);border:none;padding:16px 36px;cursor:pointer;align-self:flex-start;transition:background .3s;margin-top:6px;}
.fsub-dark:hover{background:var(--aqua-pale);}
.contacto-map{height:280px;position:relative;overflow:hidden;}
.map-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#0d2438,#1a3f5c 60%,#2d8b8b);display:flex;align-items:center;justify-content:center;position:relative;}
.map-dot{width:14px;height:14px;background:var(--aqua-light);border-radius:50%;box-shadow:0 0 0 8px rgba(125,207,206,0.15),0 0 0 20px rgba(125,207,206,0.06);position:relative;z-index:2;}
.map-label{position:absolute;bottom:32px;left:var(--pad);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--marble);letter-spacing:-0.01em;}
.map-sub{font-size:10px;font-weight:200;letter-spacing:0.2em;text-transform:uppercase;color:rgba(125,207,206,0.4);margin-top:4px;}

/* ─── SERVICIOS ─── */
.servicio-hero{min-height:45vh;display:flex;align-items:flex-end;padding:0 var(--pad) 64px;position:relative;overflow:hidden;}
.servicio-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,36,56,0.9) 0%,rgba(13,36,56,0.3) 100%);}
.servicio-hero-content{position:relative;z-index:2;}
.servicio-eyebrow{font-size:10px;font-weight:200;letter-spacing:0.35em;text-transform:uppercase;color:var(--aqua-mid);margin-bottom:14px;}
.servicio-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(48px,8vw,96px);line-height:0.88;letter-spacing:-0.03em;color:var(--marble);}
.servicio-title em{font-style:italic;color:var(--aqua-light);}

.servicio-intro{background:var(--marble);padding:80px var(--pad);color:var(--ink);}
.servicio-intro-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start;}
.servicio-intro-big{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,4.5vw,52px);line-height:1.05;letter-spacing:-0.02em;color:var(--ink);}
.servicio-intro-big em{font-style:italic;color:var(--aqua);}
.servicio-intro-body{font-size:15px;font-weight:300;line-height:2;color:var(--stone);margin-bottom:32px;}
.servicio-bullets{display:flex;flex-direction:column;gap:14px;}
.servicio-bullet{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:300;color:var(--stone);}
.servicio-bullet::before{content:'';width:20px;height:0.5px;background:var(--aqua);flex-shrink:0;}

.servicio-works{background:var(--cobalt-deep);padding:80px var(--pad);}
.servicio-works-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(32px,4.5vw,54px);letter-spacing:-0.03em;line-height:0.9;color:var(--marble);margin-bottom:50px;}
.servicio-works-title em{font-style:italic;color:var(--aqua-light);}
.servicio-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sw-item{position:relative;overflow:hidden;cursor:pointer;}
.sw-photo{aspect-ratio:3/4;position:relative;overflow:hidden;}
.sw-photo-inner{position:absolute;inset:0;transition:transform .6s cubic-bezier(0.22,1,0.36,1);}
.sw-item:hover .sw-photo-inner{transform:scale(1.04);}
.sw-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,36,56,0.8) 0%,transparent 60%);display:flex;align-items:flex-end;padding:20px;}
.sw-name{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:20px;color:var(--marble);letter-spacing:-0.01em;}
.sw-loc{font-size:10px;font-weight:200;letter-spacing:0.15em;text-transform:uppercase;color:rgba(125,207,206,0.6);margin-top:3px;}

.servicio-cta{background:var(--cobalt);padding:80px var(--pad);text-align:center;}
.servicio-cta-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(34px,5vw,62px);letter-spacing:-0.03em;line-height:0.9;color:var(--marble);margin-bottom:20px;}
.servicio-cta-title em{font-style:italic;color:var(--aqua-light);}
.servicio-cta-body{font-size:14px;font-weight:300;line-height:2;color:rgba(184,232,231,0.45);max-width:540px;margin:0 auto 40px;}
.servicio-cta-btn{font-size:10px;font-weight:200;letter-spacing:0.22em;text-transform:uppercase;color:var(--cobalt-deep);background:var(--aqua-light);border:none;padding:18px 48px;cursor:pointer;transition:background .3s;}
.servicio-cta-btn:hover{background:var(--aqua-pale);}

/* Gradient backgrounds */
.bg-villa{background:linear-gradient(155deg,#2a5c3c,#3a7a4a 40%,#4a9a5a 70%,#2d8b8b);}
.bg-hospitality{background:linear-gradient(155deg,#5c3a1a,#9a6a2a 50%,#c8955a);}
.bg-residencial{background:linear-gradient(145deg,#3c3a5c,#5a5a8b 50%,#7a7aaa);}
.bg-reforma{background:linear-gradient(155deg,#1a1a2a,#2a2a4a 50%,#3a3a6a);}
.contacto-hero-bg{background:linear-gradient(160deg,#0d2438 0%,#1a3f5c 50%,#2d8b8b 100%);}

/* ─── SUCCESS MESSAGE ─── */
.form-success{display:none;background:rgba(45,139,139,0.12);border:0.5px solid rgba(125,207,206,0.3);padding:28px 32px;margin-top:16px;}
.form-success.show{display:block;}
.form-success-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:22px;color:var(--aqua-light);margin-bottom:6px;}
.form-success-body{font-size:13px;font-weight:200;color:rgba(184,232,231,0.6);line-height:1.8;}
/* light-bg success */
.form-success-light{display:none;background:rgba(45,139,139,0.08);border:0.5px solid rgba(45,139,139,0.25);padding:24px 28px;margin-top:14px;}
.form-success-light.show{display:block;}
.form-success-light .form-success-title{color:var(--aqua);}
.form-success-light .form-success-body{color:var(--stone);}

/* ════════════════════════
   RESPONSIVE BREAKPOINTS
   ════════════════════════ */

/* ── Tablet (≤900px) ── */
@media(max-width:900px){
  :root{--pad:36px;}

  /* Nav */
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}

  /* Hero */
  .hero-eyebrow{font-size:9px;letter-spacing:0.2em;}

  /* Statement */
  .stmt-grid{grid-template-columns:1fr;gap:32px;}
  .stmt-num{font-size:72px;}

  /* Tech grid */
  .tech-grid{grid-template-columns:1fr;}
  .tech-visual{aspect-ratio:16/9;}

  /* Works strip: let them scroll */
  .works-strip{padding:0 var(--pad);}

  /* Process steps */
  .proc-header{grid-template-columns:1fr;gap:24px;}
  .proc-steps{grid-template-columns:repeat(2,1fr);}

  /* Materials */
  .mat-grid{grid-template-columns:1fr 1fr;grid-template-rows:unset;}
  .mat-c{grid-row:unset!important;}

  /* Inner page tecnicas */
  .tecnicas-intro-grid{grid-template-columns:1fr;gap:32px;}
  .tecnica-full-grid{grid-template-columns:1fr!important;direction:ltr!important;}
  .tecnica-full:nth-child(even) .tecnica-full-grid{direction:ltr!important;}
  .tecnica-full:nth-child(even) .tecnica-full-grid > *{direction:ltr!important;}
  .tecnica-visual-large{aspect-ratio:16/9;}

  /* Showcase */
  .showcase-grid{grid-template-columns:repeat(2,1fr);}

  /* Proyectos featured */
  .featured-item{grid-template-columns:1fr;grid-template-rows:auto auto;}
  .featured-photo{aspect-ratio:16/9;}
  .featured-info{padding:32px;}

  /* Proyectos grid */
  .proyectos-grid .inner-grid{grid-template-columns:repeat(2,1fr)!important;}

  /* Timeline */
  .timeline-phases{grid-template-columns:repeat(2,1fr);gap:32px;}
  .timeline-axis,.timeline-progress{display:none;}
  .tl-bar-row{grid-template-columns:repeat(2,1fr);}

  /* Tipos */
  .tipos-grid{grid-template-columns:1fr;}

  /* Proceso intro */
  .proceso-intro-grid{grid-template-columns:1fr;gap:28px;}

  /* Contacto */
  .contacto-grid{grid-template-columns:1fr;gap:40px;}

  /* Servicio */
  .servicio-intro-grid{grid-template-columns:1fr;gap:32px;}
  .servicio-works-grid{grid-template-columns:repeat(2,1fr);}

  /* Footer */
  footer{grid-template-columns:1fr 1fr;gap:36px;}
  .ft-bottom{grid-column:1/-1;}

  /* Cont grid */
  .cont-grid{grid-template-columns:1fr;gap:40px;}
  .fr{grid-template-columns:1fr;}
}

/* ── Mobile (≤600px) ── */
@media(max-width:600px){
  :root{--pad:24px;}

  /* Hero */
  .hero-btns{flex-direction:column;gap:10px;}
  .hero-eyebrow{display:none;}

  /* Statement */
  .stmt-num{font-size:56px;}

  /* Techniques: stack visuals portrait, shorter */
  .tech-visual{aspect-ratio:3/2;}

  /* Works: narrower cards */
  .wk{width:min(290px,85vw);}

  /* Steps: 1 col */
  .proc-steps{grid-template-columns:1fr;}

  /* Materials: 1 col */
  .mat-grid{grid-template-columns:1fr;}

  /* Timeline: 1 col */
  .timeline-phases{grid-template-columns:1fr;}
  .tl-bar-row{grid-template-columns:1fr 1fr;}

  /* Showcase: 1 col */
  .showcase-grid{grid-template-columns:1fr;}
  .showcase-item{aspect-ratio:4/3;}

  /* Filter bar */
  .filter-bar{flex-wrap:nowrap;}

  /* Proyectos grid: 1 col */
  .proyectos-grid .inner-grid{grid-template-columns:1fr!important;}

  /* Featured: full width */
  .featured-info{padding:24px 20px;}
  .featured-photo{aspect-ratio:4/3;}

  /* Servicio works: 1 col */
  .servicio-works-grid{grid-template-columns:1fr;}

  /* Footer: 1 col */
  footer{grid-template-columns:1fr;}
  .ft-bottom{flex-direction:column;gap:8px;text-align:center;}

  /* Contact form: 1 col */
  .fr{grid-template-columns:1fr;}
  .fr-dark{grid-template-columns:1fr;}

  /* Form wrap padding */
  .contacto-form-wrap{padding:32px 24px;}

  /* Tipos */
  .tipos-grid{grid-template-columns:1fr;}

  /* Inner heroes shorter on mobile */
  .inner-hero{min-height:320px;height:42vh;padding:0 var(--pad) 44px;}
  .servicio-hero{min-height:300px;padding:0 var(--pad) 44px;}

  /* Quote mark: hide on tiny screens */
  .q-mark{display:none;}

  /* Tecnica full: smaller padding */
  .tecnica-full{padding:60px var(--pad);}
}

/* ─── Language Switcher ─── */
.lang-switch{display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap;}
.lang-switch a:hover{color:var(--aqua-light) !important;}
@media(max-width:900px){.lang-switch{display:none;}}

/* ─── City Cards Grid ─── */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:48px;}
.city-card{display:block;padding:28px 24px;border:0.5px solid rgba(125,207,206,0.15);text-decoration:none;transition:all .35s;background:rgba(125,207,206,0.02);}
.city-card:hover{border-color:rgba(125,207,206,0.45);background:rgba(125,207,206,0.06);transform:translateY(-3px);}
.city-card-name{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:300;color:var(--marble);letter-spacing:-0.01em;}
.city-card-link{margin-top:8px;font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:var(--aqua-mid);}
@media(max-width:600px){.city-grid{grid-template-columns:1fr 1fr;gap:10px;}.city-card{padding:18px 14px;}.city-card-name{font-size:18px;}}

/* ─── Hero Breadcrumb ─── */
.hero-breadcrumb{font-size:11px;font-weight:200;letter-spacing:0.08em;color:rgba(125,207,206,0.45);margin-bottom:28px;}
.hero-breadcrumb a{color:rgba(125,207,206,0.45);text-decoration:none;transition:color .3s;}
.hero-breadcrumb a:hover{color:var(--aqua-light);}
.hero-breadcrumb .bc-current{color:var(--aqua-light);}


/* Locality layout fixes v14 */
.hero-breadcrumb{margin-top:24px;margin-bottom:0;}
.hero-btns{margin-top:22px;}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start;max-width:1180px;margin:0 auto;}
.contact-grid form{display:flex;flex-direction:column;gap:16px;width:100%;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-g{display:flex;flex-direction:column;gap:7px;}
.form-l{font-size:10px;font-weight:200;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);}
.form-i{width:100%;background:transparent;border:none;border-bottom:0.5px solid var(--marble-vein);padding:12px 0;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;color:var(--ink);outline:none;transition:border-color .3s;}
.form-i:focus{border-color:var(--aqua);}
.form-i::placeholder{color:var(--marble-vein);}
textarea.form-i{resize:none;min-height:88px;line-height:1.6;}
.locality-faq-heading{display:block;width:100%;}
.stmt-text{max-width:860px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:38px}.form-row{grid-template-columns:1fr}.locality-faq-heading{white-space:normal!important}.hero-breadcrumb{font-size:10px;line-height:1.6}.stmt-grid{grid-template-columns:1fr;gap:28px}.stmt-text{font-size:clamp(28px,9vw,42px)}}


/* Locality fixes v15 */
.hero-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:28px;position:relative;z-index:25;width:100%;}
.hero-actions .hero-breadcrumb{display:block;position:relative!important;z-index:26;margin:0 0 16px!important;text-align:center;font-size:11px;font-weight:200;letter-spacing:0.08em;color:rgba(125,207,206,0.58);line-height:1.6;}
.hero-actions .hero-breadcrumb a{color:rgba(125,207,206,0.58);text-decoration:none;}
.hero-actions .hero-breadcrumb .bc-current{color:var(--aqua-light);}
.hero-actions .hero-btns{margin-top:0!important;position:relative;z-index:26;}
.locality-stmt-main{display:grid;grid-template-columns:minmax(260px,0.9fr) minmax(320px,1.1fr);gap:56px;align-items:start;}
.locality-stmt-main .stmt-text{max-width:560px;line-height:1.02;}
.locality-stmt-main .stmt-body{margin-top:8px;max-width:620px;}
.locality-seo-section{background:var(--marble);color:var(--ink);padding:90px var(--pad);}
.locality-seo-grid{display:grid;grid-template-columns:minmax(320px,0.95fr) minmax(320px,1.05fr);gap:70px;align-items:center;max-width:1240px;margin:0 auto;}
.locality-seo-copy h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,4vw,52px);letter-spacing:-0.02em;line-height:1.05;color:var(--ink);margin-bottom:18px;}
.locality-seo-copy h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;font-size:clamp(18px,2.4vw,27px);color:var(--aqua);margin-bottom:26px;}
.locality-seo-copy p{font-size:15px;font-weight:300;line-height:2;color:var(--stone);}
.locality-seo-media{min-height:420px;position:relative;overflow:hidden;background:rgba(13,36,56,0.08);}
.locality-seo-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;filter:saturate(.92) contrast(.96);}
.locality-seo-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(45,139,139,0.18);pointer-events:none;}
.locality-faq-heading{white-space:nowrap;text-align:center;}
@media(max-width:1000px){.locality-stmt-main,.locality-seo-grid{grid-template-columns:1fr;gap:32px}.locality-seo-media,.locality-seo-media img{min-height:280px}.locality-faq-heading{white-space:normal!important}}


/* Locality fixes v16 */
.hero-content .hero-breadcrumb-top{display:block;position:relative!important;z-index:30;text-align:center;margin:0 auto 18px!important;font-size:11px;font-weight:200;letter-spacing:.08em;color:rgba(125,207,206,.62);line-height:1.6;max-width:100%;}
.hero-content .hero-breadcrumb-top a{color:rgba(125,207,206,.62);text-decoration:none;}
.hero-content .hero-breadcrumb-top .bc-current{color:var(--aqua-light);}
.hero-content>.hero-btns{margin-top:28px!important;position:relative;z-index:30;display:flex;justify-content:center;gap:16px;}
.hero-actions{display:none!important;}
.locality-stmt-main{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:56px;align-items:start;}
.locality-stmt-main .stmt-text{max-width:560px;line-height:1.02;}
.locality-stmt-main .stmt-body{margin-top:8px;max-width:620px;}
.locality-seo-section{background:var(--marble)!important;color:var(--ink)!important;padding:90px var(--pad)!important;overflow:hidden;}
.locality-seo-grid{display:grid!important;grid-template-columns:minmax(320px,.95fr) minmax(320px,1.05fr)!important;gap:70px!important;align-items:center!important;max-width:1240px!important;margin:0 auto!important;}
.locality-seo-copy{max-width:620px!important;}
.locality-seo-copy h2{font-family:'Cormorant Garamond',serif!important;font-weight:300!important;font-size:clamp(30px,4vw,52px)!important;letter-spacing:-.02em!important;line-height:1.05!important;color:var(--ink)!important;margin:0 0 18px!important;}
.locality-seo-copy h3{font-family:'Cormorant Garamond',serif!important;font-weight:400!important;font-style:italic!important;font-size:clamp(18px,2.4vw,27px)!important;color:var(--aqua)!important;margin:0 0 26px!important;}
.locality-seo-copy p{font-size:15px!important;font-weight:300!important;line-height:2!important;color:var(--stone)!important;margin:0!important;}
.locality-seo-media{min-height:420px!important;max-height:560px!important;position:relative!important;overflow:hidden!important;background:rgba(13,36,56,.08)!important;}
.locality-seo-media img{width:100%!important;height:100%!important;min-height:420px!important;max-height:560px!important;object-fit:cover!important;display:block!important;filter:saturate(.92) contrast(.96)!important;}
.locality-seo-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(45,139,139,.18);pointer-events:none;}
.works .city-grid{margin-top:64px!important;padding-top:14px;}
.works .city-card{min-height:116px;display:flex;flex-direction:column;justify-content:center;}
.works .city-grid .city-card:first-child{margin-top:18px;}
.servicio-cta-title{max-width:900px;margin-left:auto;margin-right:auto;}
/* Proceso page readability */
.timeline-section,.proyecto-tipos,.proceso-faq{background:var(--cobalt-deep)!important;color:var(--marble)!important;}
.timeline-title,.timeline-note,.tl-phase-name,.tl-phase-body,.tl-task,.tl-bar-label,.tl-bar-weeks,.tipos-title,.tipo-name,.tipo-time,.tipo-desc,.proceso-faq .faq-title{color:var(--marble)!important;}
.tl-phase-num,.tl-phase-dur,.tipo-icon{color:var(--aqua-light)!important;}
.tl-bar-item{background:rgba(125,207,206,.06)!important;border-color:rgba(125,207,206,.18)!important;}
.proceso-faq .faq-title{text-align:center!important;white-space:nowrap;margin-left:auto!important;margin-right:auto!important;}
.proceso-faq .faq-list{max-width:920px;margin-left:auto;margin-right:auto;}
@media(max-width:1000px){.locality-stmt-main,.locality-seo-grid{grid-template-columns:1fr!important;gap:32px!important}.locality-seo-media,.locality-seo-media img{min-height:280px!important}.hero-content>.hero-btns{flex-direction:column;align-items:center}.proceso-faq .faq-title{white-space:normal!important}}
@media(max-width:600px){.works .city-grid .city-card:first-child{margin-top:0}.works .city-grid{grid-template-columns:1fr!important}.locality-seo-section{padding:64px var(--pad)!important}}


/* ===== Bassform v17 ajustes finales ===== */
/* Hero de proceso igual al contacto */
.proceso-hero-bg{height:45vh!important;background:linear-gradient(160deg,#ede8e0 0%,#c8bfb3 50%,#b8aaa0 100%)!important;}
.proceso-hero-bg .inner-hero-overlay{background:linear-gradient(to top,rgba(13,36,56,0.7) 0%,rgba(13,36,56,0.1) 100%)!important;}
.proceso-hero-bg .inner-eyebrow{color:rgba(45,139,139,0.8)!important;}

/* FAQ proceso legible y centrado */
.proceso-faq{background:var(--cobalt-deep)!important;color:var(--marble)!important;padding:90px var(--pad)!important;}
.proceso-faq .faq-title{text-align:center!important;color:var(--marble)!important;margin-left:auto!important;margin-right:auto!important;margin-bottom:50px!important;}
.proceso-faq .faq-list{max-width:920px!important;margin:0 auto!important;}
.proceso-faq .faq-item{border-bottom:1px solid rgba(237,232,224,.55)!important;}
.proceso-faq .faq-q,.proceso-faq .faq-q span{color:var(--marble)!important;}
.proceso-faq .faq-a{color:rgba(237,232,224,.78)!important;}
.proceso-faq .faq-icon:before,.proceso-faq .faq-icon:after{background:var(--aqua-light)!important;}

/* Cajas de ciudades en costas y localidad general */
.city-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:28px!important;padding:0 var(--pad) 0 var(--pad)!important;margin-top:42px!important;box-sizing:border-box!important;}
.city-card{min-height:150px!important;height:100%!important;padding:38px 32px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-sizing:border-box!important;}
.city-card-name{line-height:1.05!important;}
.works .works-header{padding-left:var(--pad)!important;padding-right:var(--pad)!important;}

/* Sección 01 de costas y ciudades */
.statement .locality-stmt-main{align-items:start!important;}
.statement .locality-stmt-main .stmt-text{text-align:center!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
.statement .locality-stmt-main .stmt-body{text-align:justify!important;text-justify:inter-word!important;}
.statement .locality-stmt-main strong{font-weight:600!important;color:var(--ink)!important;}

/* Negritas visibles en secciones oscuras */
.techniques strong,.process strong,.servicio-cta strong,.locality-seo strong{font-weight:600!important;color:var(--marble)!important;}
.statement strong,.contact strong{font-weight:600!important;}

@media(max-width:900px){
  .city-grid{grid-template-columns:1fr!important;padding-left:24px!important;padding-right:24px!important;}
  .city-card{min-height:130px!important;}
  .proceso-hero-bg{height:45vh!important;}
}


/* ===== Bassform v18 limpieza tipográfica, localidades y proceso ===== */
/* No negritas en títulos ni en bloques técnicos/proceso */
h1 strong,h2 strong,h3 strong,.tech-desc strong,.process strong,.timeline-section strong,.proyecto-tipos strong,.proceso-faq strong,.servicio-cta strong{font-weight:inherit!important;color:inherit!important;}
.tech-desc strong,.process strong,.timeline-section strong,.proyecto-tipos strong,.proceso-faq strong,.servicio-cta strong{font-weight:300!important;}

/* Cajas de ciudades en páginas de costas */
.works .works-title{font-size:clamp(38px,5.5vw,72px)!important;line-height:.95!important;}
.works .city-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:28px!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important;margin-top:54px!important;align-items:stretch!important;}
.works .city-card{min-height:156px!important;height:156px!important;width:100%!important;padding:34px 34px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;margin:0!important;}
.works .city-grid .city-card:first-child{margin-top:0!important;}
.city-card-name{font-size:clamp(22px,2.2vw,30px)!important;line-height:1.05!important;}
.city-card-link{line-height:1.35!important;}

/* Sección 01 de costas y ciudades */
.statement .locality-stmt-main .stmt-text{text-align:center!important;max-width:560px!important;margin-left:auto!important;margin-right:auto!important;}
.statement .locality-stmt-main .stmt-body{text-align:justify!important;text-justify:inter-word!important;}

/* Página de proceso con hero igual a contacto */
.proceso-hero-bg,.contacto-hero-bg{background:linear-gradient(160deg,#0d2438 0%,#1a3f5c 50%,#2d8b8b 100%)!important;}
.contacto-hero-bg .inner-hero-overlay{background:linear-gradient(to top,rgba(13,36,56,.78) 0%,rgba(13,36,56,.15) 100%)!important;}

/* Tiempo estimado: tarjetas claras con letras oscuras */
.proyecto-tipos{background:var(--cobalt-deep)!important;color:var(--marble)!important;padding:100px var(--pad)!important;}
.proyecto-tipos .tipos-title{color:var(--marble)!important;}
.proyecto-tipos .tipo-card{background:var(--marble)!important;color:var(--ink)!important;border-color:rgba(13,36,56,.25)!important;min-height:260px!important;}
.proyecto-tipos .tipo-name,.proyecto-tipos .tipo-time,.proyecto-tipos .tipo-desc{color:var(--ink)!important;}
.proyecto-tipos .tipo-icon{color:var(--aqua)!important;}

/* Preguntas frecuentes de proceso claras como el resto */
.proceso-faq{background:var(--marble)!important;color:var(--ink)!important;padding:95px var(--pad)!important;}
.proceso-faq .faq-title{color:var(--ink)!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important;margin-bottom:52px!important;}
.proceso-faq .faq-title em{color:var(--aqua)!important;}
.proceso-faq .faq-list{max-width:920px!important;margin:0 auto!important;background:transparent!important;}
.proceso-faq .faq-item{border-bottom:1px solid var(--marble-vein)!important;}
.proceso-faq .faq-q,.proceso-faq .faq-q span{color:var(--ink)!important;}
.proceso-faq .faq-a{color:var(--stone)!important;}
.proceso-faq .faq-icon:before,.proceso-faq .faq-icon:after{background:var(--aqua)!important;}

/* CTA final */
.servicio-cta-btn{color:var(--ink)!important;background:var(--aqua-light)!important;border-color:var(--aqua-light)!important;}
.servicio-cta-btn:hover{background:var(--marble)!important;color:var(--ink)!important;}

/* Footer con columna independiente de localidades */
footer{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr!important;}
.ft-logo{display:inline-block;text-decoration:none;}
@media(max-width:1100px){footer{grid-template-columns:1fr 1fr!important}.ft-bottom{grid-column:1/-1!important}}
@media(max-width:720px){footer{grid-template-columns:1fr!important}.works .city-grid{grid-template-columns:1fr!important;padding-left:24px!important;padding-right:24px!important}.works .city-card{height:auto!important;min-height:138px!important}.proceso-faq .faq-title{white-space:normal!important}}


/* ===== Bassform v19 ajustes de párrafos, centrado y formularios ===== */
/* Negritas solo en párrafos de contenido, nunca en H1/H2/H3 ni técnicas/proceso */
h1 strong,h2 strong,h3 strong,.techniques strong,.process strong,.timeline-section strong,.proyecto-tipos strong,.proceso-faq strong{font-weight:inherit!important;color:inherit!important;}
.statement .stmt-body strong,.locality-seo-copy p strong,.servicio-cta-body strong,.faq-a strong,.contact p strong{font-weight:600!important;color:var(--ink)!important;}
.servicio-cta-body strong{color:var(--marble)!important;}

/* Sección 01 más centrada y con menos aire inferior */
.statement{padding-top:86px!important;padding-bottom:78px!important;}
.statement .locality-stmt-main{align-items:center!important;}
.statement .locality-stmt-main .stmt-text{align-self:center!important;text-align:center!important;line-height:1.06!important;margin-bottom:0!important;}
.statement .locality-stmt-main .stmt-body{align-self:center!important;text-align:justify!important;text-justify:inter-word!important;margin-top:0!important;}

/* Formularios más legibles en fondos claros */
.form-l{color:rgba(28,26,24,.72)!important;font-weight:400!important;}
.form-i{color:var(--ink)!important;border-bottom-color:rgba(28,26,24,.38)!important;font-weight:400!important;}
.form-i::placeholder{color:rgba(28,26,24,.45)!important;opacity:1!important;}
.form-i:focus{border-bottom-color:var(--aqua)!important;}
.contact form{color:var(--ink)!important;}

@media(max-width:900px){
  .statement{padding-top:62px!important;padding-bottom:54px!important;}
  .statement .stmt-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .statement .stmt-grid>div:first-child{display:none!important;}
  .statement .locality-stmt-main{grid-template-columns:1fr!important;gap:24px!important;}
  .statement .locality-stmt-main .stmt-text{font-size:clamp(36px,10vw,52px)!important;line-height:.98!important;max-width:420px!important;}
  .statement .locality-stmt-main .stmt-body{font-size:14px!important;line-height:1.9!important;max-width:620px!important;}
}
@media(max-width:520px){
  .statement{padding-top:52px!important;padding-bottom:44px!important;}
  .statement .locality-stmt-main .stmt-text{font-size:clamp(34px,12vw,48px)!important;line-height:.98!important;}
}


/* v20 SEO/content/layout refinements */
.hero-breadcrumb{font-family:var(--font-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(125,207,206,.75);margin:0 auto 18px;display:block;text-align:center;position:relative;z-index:4}
.hero-breadcrumb a{color:rgba(125,207,206,.75);text-decoration:none}.hero-breadcrumb .bc-current{color:var(--aqua-light)}
.seo-second-section{display:grid;grid-template-columns:minmax(260px,420px) minmax(320px,680px);gap:80px;padding:110px var(--pad);background:#f3f1eb;color:#151515;align-items:start}
.seo-second-section h2{font-family:var(--font-serif);font-size:clamp(36px,5vw,68px);line-height:1.05;font-weight:300;text-align:center;text-transform:none;color:#111}.seo-second-section p{font-size:16px;line-height:2;text-align:justify;color:#65615d;margin-bottom:24px}.seo-second-section strong{font-weight:600;color:#32302d}
.faq-light{background:#f3f1eb!important;color:#151515!important;padding:110px var(--pad)}.faq-light .faq-title{text-align:center;color:#151515!important;margin-bottom:60px;white-space:nowrap}.faq-light .faq-title em{color:var(--aqua-dark)}.faq-light .faq-list{max-width:980px;margin:0 auto}.faq-light .faq-q{color:#151515!important}.faq-light .faq-a{color:#555!important}.faq-light .faq-item{border-bottom:1px solid rgba(0,0,0,.25)!important}
.inline-contact-section{display:grid;grid-template-columns:minmax(260px,420px) minmax(320px,720px);gap:80px;padding:110px var(--pad);background:#f3f1eb;color:#151515}.inline-contact-copy h2{font-family:var(--font-serif);font-size:clamp(34px,5vw,64px);font-weight:300;line-height:1.05}.inline-contact-copy p{font-size:16px;line-height:1.9;color:#5c5752}.inline-contact-section .fl-dark{color:#5b5753!important}.inline-contact-section .fi-dark{color:#222!important;border-bottom-color:rgba(0,0,0,.35)!important}.inline-contact-section .fi-dark::placeholder{color:#6f6a65!important}.inline-contact-section .fsub-dark{color:#0d2438!important;border-color:#0d2438!important}
footer .ft-links li a[href='/contacto/']{display:none}.locality-card,.city-card,.loc-card{min-height:150px;display:flex;flex-direction:column;justify-content:center}.locality-grid,.cities-grid,.loc-grid{padding-left:var(--pad);padding-right:var(--pad);box-sizing:border-box}
@media(max-width:800px){.seo-second-section,.inline-contact-section{grid-template-columns:1fr;gap:35px;padding:70px 24px}.faq-light .faq-title{white-space:normal}.hero-breadcrumb{font-size:9px;line-height:1.8}.locality-grid,.cities-grid,.loc-grid{padding-left:24px;padding-right:24px}}

/* reCAPTCHA/Formspree success message */
.form-success-inline{margin-top:18px;font-size:12px;letter-spacing:.08em;color:#2f8f8d;}


/* Bassform v23 ajustes sección 01, FAQ, sección 2 y formularios */
.locality-stmt-main{
  display:grid!important;
  grid-template-columns:minmax(320px,.78fr) minmax(520px,1.52fr)!important;
  gap:72px!important;
  align-items:start!important;
  width:100%!important;
  max-width:1360px!important;
}
.locality-stmt-main .stmt-text{
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  line-height:1.02!important;
  text-transform:none!important;
}
.locality-stmt-main .stmt-body{
  max-width:820px!important;
  width:100%!important;
  margin-top:4px!important;
  text-align:justify!important;
  text-align-last:left!important;
  hyphens:auto!important;
}
.locality-stmt-main .stmt-body p,
.stmt-body{
  letter-spacing:.01em!important;
}

/* Servicios y técnicas: sección 2 sin cajas rotas ni espacios raros */
.seo-second-section{
  grid-template-columns:minmax(300px,440px) minmax(520px,820px)!important;
  gap:90px!important;
  align-items:start!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:110px var(--pad)!important;
  box-sizing:border-box!important;
}
.seo-second-section h2{
  text-align:center!important;
  text-transform:none!important;
  font-weight:300!important;
  color:var(--ink)!important;
}
.seo-second-section p{
  max-width:820px!important;
  text-align:justify!important;
  text-align-last:left!important;
  color:#5f5a55!important;
  line-height:2!important;
}
.seo-second-section h2 strong,
.seo-second-section h3 strong{font-weight:inherit!important;color:inherit!important;}

/* FAQ limpias en servicios y técnicas */
.faq-light{
  background:var(--marble)!important;
  color:var(--ink)!important;
  padding:100px var(--pad)!important;
}
.faq-light .faq-title{
  text-align:center!important;
  color:var(--ink)!important;
  margin:0 auto 58px!important;
  white-space:nowrap!important;
}
.faq-light .faq-list{
  max-width:960px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
}
.faq-light .faq-item{
  border-bottom:1px solid rgba(21,21,21,.22)!important;
  padding:26px 0!important;
  cursor:pointer!important;
}
.faq-light .faq-q,
.faq-light button.faq-q{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(18px,2vw,22px)!important;
  line-height:1.25!important;
  text-align:left!important;
  cursor:pointer!important;
}
.faq-light .faq-q span:first-child{display:block!important;max-width:92%!important;color:var(--ink)!important;}
.faq-light .faq-q span:last-child:not(.faq-icon){color:var(--aqua-dark)!important;font-size:22px!important;line-height:1!important;}
.faq-light .faq-icon:before,.faq-light .faq-icon:after{background:var(--aqua-dark)!important;}
.faq-light .faq-a{
  color:#5d5852!important;
  font-size:15px!important;
  line-height:1.9!important;
  max-width:760px!important;
}

/* Formulario interno legible y alineado */
.inline-contact-section{
  display:grid!important;
  grid-template-columns:minmax(300px,440px) minmax(520px,820px)!important;
  gap:90px!important;
  align-items:start!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:100px var(--pad)!important;
  background:var(--marble)!important;
  color:var(--ink)!important;
  box-sizing:border-box!important;
}
.inline-contact-copy h2{
  color:var(--ink)!important;
  text-transform:none!important;
  text-align:left!important;
}
.inline-contact-copy p{color:#5d5852!important;max-width:420px!important;}
.inline-contact-section form{width:100%!important;max-width:820px!important;}
.inline-contact-section .fr-dark{display:grid!important;grid-template-columns:1fr 1fr!important;gap:22px!important;}
.inline-contact-section .fl-dark{
  color:#3f3a35!important;
  letter-spacing:.16em!important;
  font-weight:400!important;
}
.inline-contact-section .fi-dark{
  color:#161616!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.38)!important;
  background:transparent!important;
  box-shadow:none!important;
  width:100%!important;
  font-size:15px!important;
}
.inline-contact-section .fi-dark::placeholder{color:#68625c!important;opacity:1!important;}
.inline-contact-section .fsub-dark{
  color:#0d2438!important;
  border:1px solid #0d2438!important;
  background:transparent!important;
}
.inline-contact-section .fsub-dark:hover{background:#0d2438!important;color:var(--marble)!important;}

@media(max-width:1000px){
  .locality-stmt-main,.seo-second-section,.inline-contact-section{grid-template-columns:1fr!important;gap:34px!important;}
  .locality-stmt-main .stmt-body,.seo-second-section p{max-width:100%!important;}
  .inline-contact-section .fr-dark{grid-template-columns:1fr!important;}
  .faq-light .faq-title{white-space:normal!important;}
}
@media(max-width:640px){
  .locality-stmt-main .stmt-text{text-align:center!important;font-size:clamp(34px,11vw,52px)!important;}
  .locality-stmt-main{gap:24px!important;}
  .seo-second-section,.faq-light,.inline-contact-section{padding:72px var(--pad)!important;}
}

/* Bassform v24: servicios/técnicas con estilo consistente y secciones full width */
/* Sección 01 de localidades/costas/ciudades: título equilibrado y párrafo más ancho */
.locality-stmt-main{
  width:100%!important;
  max-width:1480px!important;
  grid-template-columns:minmax(280px,.72fr) minmax(700px,1.85fr)!important;
  gap:54px!important;
  align-items:start!important;
}
.locality-stmt-main .stmt-text{
  text-align:center!important;
  max-width:520px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-transform:none!important;
}
.locality-stmt-main .stmt-body{
  max-width:980px!important;
  width:100%!important;
  text-align:justify!important;
  text-align-last:left!important;
  line-height:2!important;
}
.locality-stmt-main .stmt-body p{max-width:980px!important;}
.locality-stmt-main .stmt-text::first-letter{text-transform:uppercase!important;}

/* Servicios y técnicas: sección 2 igual al estilo de ciudades/costas */
.seo-second-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:96px max(var(--pad),calc((100vw - 1320px)/2))!important;
  box-sizing:border-box!important;
  background:var(--marble)!important;
  color:var(--ink)!important;
  display:grid!important;
  grid-template-columns:minmax(280px,430px) minmax(360px,620px) minmax(300px,430px)!important;
  gap:58px!important;
  align-items:center!important;
}
.seo-second-heading{display:flex!important;align-items:center!important;justify-content:center!important;}
.seo-second-section h2{
  margin:0!important;
  font-family:var(--font-serif)!important;
  font-weight:300!important;
  font-size:clamp(34px,4.1vw,58px)!important;
  line-height:1.08!important;
  text-align:center!important;
  color:var(--ink)!important;
  text-transform:none!important;
}
.seo-second-copy{max-width:620px!important;}
.seo-second-section p{
  max-width:620px!important;
  margin:0 0 22px!important;
  font-size:15px!important;
  line-height:1.95!important;
  text-align:justify!important;
  text-align-last:left!important;
  color:#625d58!important;
}
.seo-second-section p:last-child{margin-bottom:0!important;}
.seo-second-media{width:100%!important;height:260px!important;overflow:hidden!important;background:#0d2438!important;}
.seo-second-media img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;}

/* FAQ de servicios y técnicas con fondo azul y caja clara como localidades */
.faq-light{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:var(--cobalt-deep)!important;
  color:var(--marble)!important;
  padding:90px max(var(--pad),calc((100vw - 1320px)/2))!important;
  box-sizing:border-box!important;
}
.faq-light .faq-title{
  color:var(--marble)!important;
  text-align:center!important;
  margin:0 auto 46px!important;
  white-space:nowrap!important;
}
.faq-light .faq-title em{color:var(--aqua-light)!important;}
.faq-light .faq-list{
  max-width:760px!important;
  margin:0 auto!important;
  padding:16px 32px!important;
  background:var(--marble)!important;
  color:var(--ink)!important;
  box-sizing:border-box!important;
}
.faq-light .faq-item{
  border-bottom:1px solid rgba(21,21,21,.22)!important;
  padding:22px 0!important;
  cursor:pointer!important;
}
.faq-light .faq-item:last-child{border-bottom:0!important;}
.faq-light .faq-q,
.faq-light button.faq-q,
.faq-light div.faq-q{
  width:100%!important;
  min-height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(17px,1.7vw,20px)!important;
  line-height:1.3!important;
  text-align:left!important;
  cursor:pointer!important;
}
.faq-light .faq-q span:first-child{display:block!important;max-width:92%!important;color:var(--ink)!important;}
.faq-light .faq-q span:last-child:not(.faq-icon){color:var(--aqua-dark)!important;font-size:22px!important;line-height:1!important;min-width:16px!important;text-align:center!important;}
.faq-light .faq-a{color:#5d5852!important;font-size:14px!important;line-height:1.85!important;max-width:650px!important;}

/* Formulario interno full width y legible */
.inline-contact-section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:92px max(var(--pad),calc((100vw - 1320px)/2))!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(280px,420px) minmax(420px,720px)!important;
  gap:90px!important;
  align-items:start!important;
  background:var(--marble)!important;
  color:var(--ink)!important;
}
.inline-contact-copy h2{
  color:var(--ink)!important;
  text-align:left!important;
  text-transform:none!important;
  margin:0 0 18px!important;
}
.inline-contact-copy p{max-width:390px!important;color:#5d5852!important;line-height:1.85!important;}
.inline-contact-section form{width:100%!important;max-width:720px!important;}
.inline-contact-section .fr-dark{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important;}
.inline-contact-section .ff-dark{margin-bottom:24px!important;}
.inline-contact-section .fl-dark{display:block!important;color:#3b3631!important;letter-spacing:.16em!important;font-weight:500!important;margin-bottom:10px!important;}
.inline-contact-section .fi-dark{
  width:100%!important;
  color:#151515!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.45)!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  padding:8px 0 13px!important;
  font-size:15px!important;
}
.inline-contact-section .fi-dark::placeholder{color:#706a64!important;opacity:1!important;}
.inline-contact-section .fsub-dark{color:#0d2438!important;border:1px solid #0d2438!important;background:transparent!important;}
.inline-contact-section .fsub-dark:hover{background:#0d2438!important;color:var(--marble)!important;}

@media(max-width:1180px){
  .locality-stmt-main{grid-template-columns:1fr!important;gap:30px!important;}
  .locality-stmt-main .stmt-body{max-width:780px!important;margin-left:auto!important;margin-right:auto!important;}
  .seo-second-section{grid-template-columns:1fr!important;gap:34px!important;}
  .seo-second-copy,.seo-second-section p{max-width:820px!important;margin-left:auto!important;margin-right:auto!important;}
  .seo-second-media{max-width:620px!important;margin:0 auto!important;}
  .inline-contact-section{grid-template-columns:1fr!important;gap:40px!important;}
  .inline-contact-copy,.inline-contact-section form{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;width:100%!important;}
}
@media(max-width:700px){
  .faq-light{padding:72px 24px!important;}
  .faq-light .faq-title{white-space:normal!important;}
  .faq-light .faq-list{padding:10px 22px!important;}
  .inline-contact-section .fr-dark{grid-template-columns:1fr!important;gap:0!important;}
}

/* ===== Bassform v25 ajuste final servicios y técnicas ===== */
/* Romper cualquier contenedor estrecho para que servicios y técnicas usen el mismo ancho visual que costas y ciudades */
body:has(.seo-second-section) .seo-second-section,
body:has(.faq-light) .faq-light,
body:has(.inline-contact-section) .inline-contact-section{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  box-sizing:border-box!important;
}

/* Sección 2 de servicios/técnicas: dimensiones tipo ciudades/costas */
.seo-second-section{
  background:var(--marble)!important;
  color:var(--ink)!important;
  padding:92px max(var(--pad),calc((100vw - 1320px)/2))!important;
  display:grid!important;
  grid-template-columns:minmax(300px,430px) minmax(380px,610px) minmax(340px,440px)!important;
  gap:64px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.seo-second-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:260px!important;
}
.seo-second-section h2{
  max-width:430px!important;
  margin:0 auto!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(36px,4.2vw,60px)!important;
  line-height:1.05!important;
  font-weight:300!important;
  letter-spacing:-.03em!important;
  text-align:center!important;
  color:var(--ink)!important;
  text-transform:none!important;
}
.seo-second-copy{max-width:610px!important;width:100%!important;}
.seo-second-section p{
  max-width:610px!important;
  margin:0 0 22px!important;
  color:#625d58!important;
  font-size:15px!important;
  font-weight:300!important;
  line-height:1.95!important;
  text-align:justify!important;
  text-align-last:left!important;
}
.seo-second-media{
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:320px!important;
  overflow:hidden!important;
  background:rgba(13,36,56,.08)!important;
  align-self:center!important;
}
.seo-second-media img{
  width:100%!important;
  height:100%!important;
  min-height:280px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* FAQ igual a localidades: azul completo, título centrado y caja clara */
.faq-light{
  background:var(--cobalt-deep)!important;
  color:var(--marble)!important;
  padding:94px max(var(--pad),calc((100vw - 1320px)/2))!important;
  overflow:hidden!important;
}
.faq-light .faq-title{
  width:100%!important;
  margin:0 auto 48px!important;
  text-align:center!important;
  color:var(--marble)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;
  font-size:clamp(30px,4vw,52px)!important;
  line-height:1.05!important;
  letter-spacing:-.02em!important;
}
.faq-light .faq-title em{color:var(--aqua-light)!important;font-style:italic!important;}
.faq-light .faq-list{
  width:min(920px,100%)!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:12px 34px!important;
  background:var(--marble)!important;
  color:var(--ink)!important;
  box-sizing:border-box!important;
}
.faq-light .faq-item{padding:24px 0!important;border-bottom:1px solid rgba(21,21,21,.22)!important;}
.faq-light .faq-item:last-child{border-bottom:0!important;}
.faq-light .faq-q,
.faq-light div.faq-q,
.faq-light button.faq-q{
  width:100%!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:22px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(17px,1.55vw,20px)!important;
  line-height:1.3!important;
  color:var(--ink)!important;
  text-align:left!important;
}
.faq-light .faq-q span:first-child{color:var(--ink)!important;max-width:calc(100% - 34px)!important;}
.faq-light .faq-q span:last-child:not(.faq-icon){color:var(--aqua-dark)!important;font-size:22px!important;line-height:1!important;}
.faq-light .faq-a{color:#5d5852!important;font-size:14px!important;line-height:1.85!important;max-width:760px!important;}

/* Formulario igual a ciudades: ancho completo, dos columnas y sin contenedor estrecho */
.inline-contact-section{
  background:var(--marble)!important;
  color:var(--ink)!important;
  padding:96px max(var(--pad),calc((100vw - 1320px)/2))!important;
  display:grid!important;
  grid-template-columns:minmax(300px,430px) minmax(520px,820px)!important;
  gap:92px!important;
  align-items:start!important;
  overflow:hidden!important;
}
.inline-contact-copy{max-width:430px!important;width:100%!important;}
.inline-contact-copy h2{
  margin:0 0 18px!important;
  color:var(--ink)!important;
  font-family:'Inter',sans-serif!important;
  font-size:clamp(46px,5.2vw,78px)!important;
  font-weight:300!important;
  line-height:1.08!important;
  letter-spacing:.02em!important;
  text-align:left!important;
}
.inline-contact-copy h2 em{font-family:'Cormorant Garamond',serif!important;color:var(--aqua)!important;font-style:italic!important;}
.inline-contact-copy p{max-width:360px!important;color:#4f4a45!important;font-size:15px!important;line-height:1.85!important;}
.inline-contact-section form{width:100%!important;max-width:820px!important;margin:0!important;}
.inline-contact-section .fr-dark{display:grid!important;grid-template-columns:1fr 1fr!important;gap:28px!important;}
.inline-contact-section .ff-dark{margin-bottom:30px!important;}
.inline-contact-section .fl-dark{display:block!important;color:#2f2b27!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;font-weight:500!important;margin-bottom:12px!important;}
.inline-contact-section .fi-dark{
  width:100%!important;
  color:#151515!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.45)!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
  padding:8px 0 14px!important;
  font-size:16px!important;
  font-family:'Inter',sans-serif!important;
  line-height:1.4!important;
}
.inline-contact-section textarea.fi-dark{min-height:128px!important;resize:vertical!important;}
.inline-contact-section .fi-dark::placeholder{color:#625d58!important;opacity:1!important;}
.inline-contact-section .fsub-dark{
  margin-top:18px!important;
  min-width:210px!important;
  min-height:52px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#0d2438!important;
  border:1px solid #0d2438!important;
  background:transparent!important;
  font-size:11px!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
}
.inline-contact-section .fsub-dark:hover{background:#0d2438!important;color:var(--marble)!important;}

@media(max-width:1180px){
  .seo-second-section{grid-template-columns:1fr!important;gap:36px!important;}
  .seo-second-heading{min-height:auto!important;}
  .seo-second-copy,.seo-second-section p{max-width:820px!important;margin-left:auto!important;margin-right:auto!important;}
  .seo-second-media{max-width:720px!important;margin:0 auto!important;}
  .inline-contact-section{grid-template-columns:1fr!important;gap:44px!important;}
  .inline-contact-copy,.inline-contact-section form{max-width:820px!important;margin-left:auto!important;margin-right:auto!important;}
}
@media(max-width:720px){
  .seo-second-section,.faq-light,.inline-contact-section{padding-left:24px!important;padding-right:24px!important;}
  .faq-light .faq-list{padding:10px 22px!important;}
  .inline-contact-section .fr-dark{grid-template-columns:1fr!important;gap:0!important;}
}
body.internal-sections-wide .seo-second-section,
body.internal-sections-wide .faq-light,
body.internal-sections-wide .inline-contact-section{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}


/* v27 ajuste visual secciones internas servicios y técnicas */
.locality-seo-copy h2 em{
  color:var(--aqua)!important;
  font-style:italic!important;
}
.locality-seo-copy p{
  max-width:680px!important;
  text-align:justify!important;
}
.locality-seo-grid{
  align-items:center!important;
}
.locality-seo-media img{
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  object-fit:cover!important;
  display:block!important;
}


/* v28 ajustes de sección 2 y formulario */
.locality-seo-copy h2 em{
  color:var(--aqua)!important;
  font-style:italic!important;
}
.locality-seo-copy p{
  max-width:700px!important;
  text-align:justify!important;
}
.contact .contact-grid > div:first-child p{
  margin-top:28px!important;
  margin-bottom:28px!important;
  display:block!important;
}
.contact .contact-grid > div:first-child .rev.rd2{
  margin-top:34px!important;
}
.contact .contact-grid{
  align-items:start!important;
}


/* v29 centrar bloque H2 + párrafo en sección 01 de costas, ciudades y páginas en inglés */
.statement .stmt-grid{
  grid-template-columns: 160px minmax(0,1fr) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  align-items: center !important;
}
.statement .stmt-grid > div:first-child{
  align-self: center !important;
}
.statement .locality-stmt-main{
  display: grid !important;
  grid-template-columns: minmax(320px, 520px) minmax(420px, 620px) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 68px !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
.statement .locality-stmt-main .stmt-text{
  max-width: 520px !important;
  margin: 0 auto !important;
  text-align: center !important;
  align-self: center !important;
}
.statement .locality-stmt-main .stmt-body{
  max-width: 620px !important;
  margin: 0 auto !important;
  align-self: center !important;
  text-align: justify !important;
}
@media (max-width: 1100px){
  .statement .stmt-grid{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .statement .stmt-grid > div:first-child{
    display: none !important;
  }
  .statement .locality-stmt-main{
    grid-template-columns: 1fr !important;
    max-width: 760px !important;
    gap: 24px !important;
  }
  .statement .locality-stmt-main .stmt-text,
  .statement .locality-stmt-main .stmt-body{
    max-width: 100% !important;
  }
}


/* v30 blog largo + imagen + FAQ + entradas recientes */
.blog-article{
  background:var(--marble);
  color:var(--ink);
}
.blog-wrap{
  max-width:980px;
  margin:0 auto;
  padding:90px var(--pad) 70px;
}
.blog-breadcrumb{
  margin-bottom:34px;
  font-size:11px;
  font-weight:300;
  letter-spacing:.08em;
  color:var(--stone);
}
.blog-breadcrumb a{
  color:var(--aqua);
  text-decoration:none;
}
.blog-header h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(38px,6vw,74px);
  line-height:1.04;
  letter-spacing:-.025em;
  color:var(--ink);
  max-width:900px;
  margin:0 0 22px;
}
.blog-header h1 em{
  color:var(--aqua);
  font-style:italic;
}
.blog-meta{
  font-size:11px;
  font-weight:300;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--aqua);
  margin-bottom:34px;
}
.blog-intro{
  font-size:18px;
  line-height:1.9;
  color:var(--stone);
  max-width:820px;
  margin:0 0 42px;
}
.blog-main-image{
  margin:0 0 64px;
  width:100%;
  overflow:hidden;
}
.blog-main-image img{
  width:100%;
  min-height:420px;
  max-height:560px;
  object-fit:cover;
  display:block;
}
.blog-content{
  max-width:860px;
  margin:0 auto;
}
.blog-section{
  margin-bottom:48px;
}
.blog-section h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,4vw,46px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 18px;
}
.blog-section p{
  font-size:16px;
  line-height:2;
  color:var(--stone);
  text-align:justify;
  margin:0;
}
.blog-faq{
  background:var(--cobalt-deep);
  padding:90px var(--pad);
}
.blog-faq-inner{
  max-width:820px;
  margin:0 auto;
}
.blog-faq h2,
.blog-recent h2{
  font-family:'Cormorant Garamond',serif;
  font-weight:300;
  font-size:clamp(32px,4.5vw,54px);
  line-height:1.05;
  text-align:center;
  margin:0 0 40px;
}
.blog-faq h2{
  color:var(--marble);
}
.blog-faq h2 em,
.blog-recent h2 em{
  color:var(--aqua);
  font-style:italic;
}
.blog-faq .faq-box{
  background:var(--marble);
  color:var(--ink);
  padding:8px 32px;
}
.blog-recent{
  background:var(--marble);
  padding:90px var(--pad);
}
.blog-recent-inner{
  max-width:1180px;
  margin:0 auto;
}
.blog-recent-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.blog-recent-card{
  display:block;
  text-decoration:none;
  color:var(--ink);
  border:1px solid rgba(28,26,24,.14);
  background:rgba(255,255,255,.22);
  transition:transform .3s ease,border-color .3s ease;
}
.blog-recent-card:hover{
  transform:translateY(-4px);
  border-color:var(--aqua);
}
.blog-recent-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.blog-recent-card div{
  padding:26px;
}
.blog-recent-card span{
  display:block;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--aqua);
  margin-bottom:12px;
}
.blog-recent-card h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  line-height:1.08;
  font-weight:300;
  color:var(--ink);
  margin:0;
}
@media(max-width:900px){
  .blog-wrap{padding:70px 24px 54px;}
  .blog-main-image img{min-height:280px;}
  .blog-recent-grid{grid-template-columns:1fr;}
  .blog-section p{text-align:left;}
  .blog-faq,.blog-recent{padding:70px 24px;}
}


/* ===== Bassform v32 mobile fix ===== */
/* En móvil no dependemos del reveal por scroll, así evitamos textos/imágenes invisibles */
@media (max-width: 900px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    cursor:auto!important;
  }

  .cursor,
  .cursor-ring{
    display:none!important;
  }

  .rev{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

  nav{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:5000!important;
    padding:24px 32px!important;
    background:transparent!important;
  }

  .nav-logo{
    position:relative!important;
    z-index:5002!important;
  }

  .nav-burger{
    display:flex!important;
    position:relative!important;
    z-index:5002!important;
  }

  .nav-links,
  .nav-right{
    display:none!important;
  }

  .nav-mobile{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    z-index:5001!important;
    background:rgba(13,36,56,.985)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    padding:110px 32px 48px!important;
    overflow-y:auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
  }

  .nav-mobile.open{
    display:flex!important;
  }

  .nav-mobile a{
    width:100%!important;
    max-width:320px!important;
    padding:15px 0!important;
    text-align:center!important;
    font-size:28px!important;
    line-height:1.05!important;
    color:var(--marble)!important;
    border-bottom:1px solid rgba(125,207,206,.12)!important;
  }

  .nav-mobile a.nav-mobile-cta{
    margin-top:24px!important;
    max-width:260px!important;
    font-family:'Inter',sans-serif!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
    color:var(--aqua-light)!important;
    border:1px solid rgba(125,207,206,.4)!important;
    padding:16px 18px!important;
  }

  body.menu-open{
    overflow:hidden!important;
    touch-action:none!important;
  }

  .hero{
    min-height:100dvh!important;
    height:100dvh!important;
    padding:0 24px!important;
  }

  .hero-content{
    width:100%!important;
    max-width:100%!important;
    padding:0 20px!important;
    margin:0 auto!important;
    text-align:center!important;
  }

  .hero-title{
    font-size:clamp(52px,16vw,78px)!important;
    line-height:.9!important;
    text-align:center!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .hero-sub{
    font-size:9px!important;
    letter-spacing:.22em!important;
    line-height:1.6!important;
    max-width:280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .hero-btns{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    margin-top:34px!important;
  }

  .btn-g{
    width:min(260px,82vw)!important;
    text-align:center!important;
    padding:15px 18px!important;
  }

  .hero-scroll{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    bottom:22px!important;
    width:auto!important;
    text-align:center!important;
    align-items:center!important;
    animation:mobileScrollFadeUp 1.2s 1s both!important;
  }

  @keyframes mobileScrollFadeUp{
    from{opacity:0;transform:translate(-50%,24px);}
    to{opacity:1;transform:translate(-50%,0);}
  }

  .hero-scroll .scroll-label{
    display:block!important;
    text-align:center!important;
  }

  img{
    max-width:100%!important;
    height:auto;
  }

  .hero-pool,
  .water-layer,
  .pool-grid,
  .wave{
    display:block!important;
  }

  footer{
    grid-template-columns:1fr!important;
    text-align:center!important;
    justify-items:center!important;
    align-items:center!important;
    gap:34px!important;
    padding:52px 28px!important;
  }

  footer > div{
    width:100%!important;
    max-width:320px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ft-logo,
  .ft-desc,
  .ft-col-t,
  .ft-links,
  .ft-links li,
  .ft-links a,
  .ft-copy{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .ft-desc{
    max-width:260px!important;
  }

  .ft-bottom{
    grid-column:1!important;
    width:100%!important;
    max-width:320px!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    gap:10px!important;
  }
}

@media (max-width: 600px){
  nav{
    padding:24px 26px!important;
  }

  .nav-mobile{
    padding-top:105px!important;
  }

  .nav-mobile a{
    font-size:25px!important;
    padding:14px 0!important;
  }

  .hero-title{
    font-size:clamp(48px,15vw,68px)!important;
  }

  .hero-sub{
    margin-top:22px!important;
  }

  .hero-btns{
    margin-top:30px!important;
  }

  .hero-scroll{
    bottom:18px!important;
  }

  .scroll-line{
    height:28px!important;
  }

  .scroll-label{
    font-size:8px!important;
    letter-spacing:.22em!important;
  }

  footer{
    padding:48px 24px!important;
  }
}





/* ===== Bassform v35 H3 con diseño idéntico a v33 ===== */
/* Solo cambia la etiqueta HTML; el diseño queda igual que cuando eran div */
h3.tech-name{
  display:block!important;
  font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;
  font-size:clamp(20px,2.5vw,28px)!important;
  color:var(--marble)!important;
  letter-spacing:-0.01em!important;
  line-height:normal!important;
  margin:0 0 10px 0!important;
  padding:0!important;
}
h3.tech-name em{
  font-style:italic!important;
  color:var(--aqua-light)!important;
}

h3.wk-name{
  display:block!important;
  font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;
  font-size:20px!important;
  color:var(--marble)!important;
  letter-spacing:-0.01em!important;
  line-height:normal!important;
  margin:0!important;
  padding:0!important;
}

h3.featured-name{
  display:block!important;
  font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;
  font-size:clamp(28px,3.5vw,46px)!important;
  letter-spacing:-0.02em!important;
  color:var(--marble)!important;
  line-height:1.05!important;
  margin:0 0 16px 0!important;
  padding:0!important;
}
h3.featured-name em{
  font-style:italic!important;
  color:var(--aqua-light)!important;
}

h3.sw-name{
  display:block!important;
  font-family:'Cormorant Garamond',serif!important;
  font-weight:300!important;
  font-size:20px!important;
  color:var(--marble)!important;
  letter-spacing:-0.01em!important;
  line-height:normal!important;
  margin:0!important;
  padding:0!important;
}

/* Helpers semánticos ocultos */
.seo-heading-helper{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
