:root{
  --navy:#0B1B33;
  --navy-2:#16294D;
  --gold:#C9A961;
  --gold-soft:#b89244;
  --cream:#F4EFE6;
  --cream-2:#ebe3d3;
  --ink:#0A0F1C;
  --ink-soft:#2b3447;
  --line:rgba(11,27,51,.16);
  --line-strong:rgba(11,27,51,.34);
  --max:1240px;
  --side:clamp(1.15rem,4.5vw,3.25rem);
  --gut:clamp(1rem,3vw,2rem);
  --ease:cubic-bezier(.16,.84,.44,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  letter-spacing:-.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.04;letter-spacing:-.02em}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--side)}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut)}

/* editorial kicker: number + label + rule */
.kicker{display:flex;align-items:baseline;gap:.9rem;font-family:'Inter',sans-serif;
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.kicker .num{font-family:'Fraunces',serif;font-weight:500;font-style:italic;
  font-size:.95rem;letter-spacing:0;color:var(--gold-soft)}
.kicker .rule{flex:1;height:1px;background:var(--line-strong);
  transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .1s}
.in .kicker .rule,.in.kicker .rule{transform:scaleX(1)}

/* ---------- signature reveal system (editorial: masks / line-clips) ---------- */
.rvl{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.in .rvl,.in.rvl{opacity:1;transform:none}
/* line-clip headline: each .ln has overflow hidden, .ln>span slides up */
.clip .ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.clip .ln>span{display:block;transform:translateY(120%);transition:transform .95s cubic-bezier(.19,1,.22,1)}
.in.clip .ln>span,.in .clip .ln>span{transform:translateY(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}
/* underline that draws across */
.draw{position:relative;display:inline-block}
.draw::after{content:"";position:absolute;left:0;bottom:-.12em;width:100%;height:2px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform 1s cubic-bezier(.2,.7,.2,1) .35s}
.in .draw::after{transform:scaleX(1)}
/* image mask wipe (bottom-up cover reveal) */
.figwipe{position:relative;overflow:hidden}
.figwipe::after{content:"";position:absolute;inset:0;background:var(--cream);
  transform:translateY(0);transition:transform 1.1s cubic-bezier(.76,0,.24,1)}
.in .figwipe::after,.in.figwipe::after{transform:translateY(-101%)}
.figwipe.dark::after{background:var(--navy)}

/* ---------- placeholder photo ---------- */
.ph{position:relative;background:
  linear-gradient(135deg,#d9c3a4 0%,#c8a878 42%,#b7935f 100%);
  color:#2a1d0e;border-radius:2px;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 20% 15%,rgba(255,246,230,.55),transparent 55%),
  repeating-linear-gradient(45deg,rgba(0,0,0,.028) 0 12px,transparent 12px 24px)}
.ph .cap{position:absolute;left:0;bottom:0;right:0;display:flex;justify-content:space-between;
  align-items:flex-end;gap:1rem;padding:.85rem .95rem;
  background:linear-gradient(to top,rgba(20,12,4,.42),transparent);}
.ph .cap b{font-family:'Inter',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#fff8ee}
.ph .cap i{font-family:'Fraunces',serif;font-style:italic;font-size:.72rem;color:rgba(255,248,238,.8)}
.ph .mark{position:absolute;top:.75rem;left:.85rem;font-family:'Inter',sans-serif;
  font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(42,29,14,.55);border:1px solid rgba(42,29,14,.28);border-radius:2px;padding:.2rem .45rem}

/* ---------- header ---------- */
.top{position:absolute;top:0;left:0;right:0;z-index:40}
.top .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:1.35rem;padding-bottom:1.35rem}
.brand-text{font-family:'Fraunces',serif;font-weight:600;font-variation-settings:"opsz" 144;
  font-size:1.62rem;letter-spacing:-.02em;color:var(--cream)}
.brand-text em{font-style:italic;font-weight:400;color:var(--gold);letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:2rem}
.nav a{font-size:.82rem;font-weight:500;letter-spacing:.04em;color:rgba(244,239,230,.82)}
.nav a:hover{color:var(--cream)}
.nav .btn-top{border:1px solid rgba(201,169,97,.6);border-radius:2px;padding:.55rem 1.1rem;
  color:var(--cream);font-weight:600;letter-spacing:.03em}
.nav .btn-top:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
@media(max-width:860px){.nav a:not(.btn-top){display:none}.brand-text{font-size:1.4rem}}

/* ---------- HERO — calm full-bleed · aire blur-to-focus, editorial dress ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  color:var(--cream);overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-media .ph-hero{position:absolute;inset:0;
  background:
    radial-gradient(130% 100% at 75% 18%,rgba(255,238,210,.30),transparent 60%),
    radial-gradient(95% 95% at 15% 96%,rgba(11,27,51,.55),transparent 60%),
    linear-gradient(125deg,#5a4a35 0%,#7d6647 45%,#a9895f 100%);
  transform:scale(1.08);transition:transform 9s ease-out}
.hero-media .ph-hero::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,rgba(0,0,0,.04) 0 16px,transparent 16px 32px)}
.hero.in .hero-media .ph-hero{transform:scale(1)}
img.ph-hero{width:100%;height:100%;object-fit:cover}
/* real photos in figures */
.svc-fig .rvimg{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;aspect-ratio:4/3}
@media(max-width:760px){.svc-fig .rvimg{aspect-ratio:3/2}}
/* hub teaser = live screenshot in a phone frame */
.hub-fig .phoneframe{display:block;width:min(74%,270px);margin:0 auto;background:#0B1B33;
  padding:9px 9px 11px;border-radius:34px;box-shadow:0 26px 50px -22px rgba(11,27,51,.55),
  inset 0 0 0 1px rgba(255,255,255,.06)}
.hub-fig .phoneframe .rvimg{display:block;width:100%;border-radius:26px;
  aspect-ratio:430/932;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(11,27,51,.5) 0%,rgba(11,27,51,.2) 40%,rgba(11,27,51,.74) 100%)}
.hero .wrap{position:relative;z-index:3;width:100%;
  padding-bottom:clamp(3rem,8vh,6rem);padding-top:clamp(7rem,22vh,12rem)}
.hero-eyebrow{display:flex;align-items:center;gap:.8rem;font-family:'Inter',sans-serif;
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.5rem}
.hero-eyebrow .rule{width:clamp(2rem,6vw,4rem);height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) .35s}
.hero.in .hero-eyebrow .rule{transform:scaleX(1)}
.hero h1{font-size:clamp(2.7rem,8.4vw,6rem);font-weight:400;max-width:15ch;
  letter-spacing:-.025em;line-height:1.02;color:var(--cream)}
.hero h1 em{font-style:italic;font-weight:400;color:var(--gold)}
.hero-sub{max-width:42ch;margin-top:1.6rem;font-size:clamp(1.02rem,2.4vw,1.28rem);
  font-weight:300;color:rgba(244,239,230,.9);line-height:1.5}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2.3rem}
.hero-foot{position:absolute;left:var(--side);bottom:1.1rem;z-index:3;
  font-family:'Inter',sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(244,239,230,.5)}
.hero-note{position:absolute;right:var(--side);bottom:1.1rem;z-index:3;text-align:right;
  font-family:'Inter',sans-serif;font-size:.56rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,248,238,.55);line-height:1.55;
  border:1px solid rgba(255,248,238,.28);border-radius:2px;padding:.3rem .5rem;max-width:15rem}
/* hero blur-to-focus reveal (aire) */
.hb{opacity:0;filter:blur(14px);transform:translateY(18px);
  transition:opacity 1.2s var(--ease),filter 1.2s var(--ease),transform 1.2s var(--ease);
  will-change:opacity,filter,transform}
.hero.in .hb{opacity:1;filter:blur(0);transform:none}
.hb.b2{transition-delay:.16s}.hb.b3{transition-delay:.32s}.hb.b4{transition-delay:.48s}

/* shared buttons (editorial: sharp 2px) */
.btn-gold{background:var(--gold);color:var(--navy);font-weight:700;letter-spacing:.02em;
  padding:.95rem 1.7rem;border-radius:2px;font-size:1rem;transition:background .25s,transform .25s}
.btn-gold:hover{background:#d7b978;transform:translateY(-2px)}
.btn-ghost{color:var(--cream);font-weight:600;font-size:.95rem;letter-spacing:.03em;
  border-bottom:1px solid rgba(244,239,230,.4);padding-bottom:.15rem}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

@media(max-width:860px){.hero{min-height:92vh}.hero-note{display:none}}
@media(max-width:540px){
  .hero-eyebrow{flex-wrap:wrap;font-size:.62rem;letter-spacing:.16em}
  .hero h1{font-size:clamp(2.05rem,9vw,3.4rem);letter-spacing:-.03em}
  .hero-sub{margin-top:1.2rem}
  .hero-cta{flex-direction:column;align-items:stretch;gap:.9rem}
  .btn-gold{text-align:center}
  .btn-ghost{align-self:flex-start}
  .hero-foot{display:none}
}

/* ---------- trust strip ---------- */
.trust{background:var(--navy);color:var(--cream)}
.trust .wrap{padding-block:clamp(1.6rem,4vw,2.4rem)}
.trust-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1.2rem,4vw,3rem)}
.trust-stars{display:flex;flex-direction:column;gap:.35rem}
.trust-stars .st{color:var(--gold);font-size:1.15rem;letter-spacing:.15em}
.trust-stars b{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600}
.trust-stars b small{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.7);display:block;margin-top:.15rem}
.trust-mid{border-left:1px solid rgba(244,239,230,.18);border-right:1px solid rgba(244,239,230,.18);
  padding-inline:clamp(1rem,4vw,3rem);font-family:'Fraunces',serif;font-style:italic;
  font-size:clamp(1.05rem,2.4vw,1.4rem);line-height:1.3;color:rgba(244,239,230,.92)}
.trust-shot{width:clamp(180px,26vw,240px)}
.shot{background:#fff;border-radius:6px;padding:.7rem .8rem;color:#202124;
  font-family:Arial,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.shot .g{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.shot .glogo{font-family:Arial,sans-serif;font-weight:700;font-size:.95rem}
.shot .glogo b:nth-child(1){color:#4285F4}.shot .glogo b:nth-child(2){color:#EA4335}
.shot .glogo b:nth-child(3){color:#FBBC05}.shot .glogo b:nth-child(4){color:#4285F4}
.shot .glogo b:nth-child(5){color:#34A853}.shot .glogo b:nth-child(6){color:#EA4335}
.shot .rate{margin-left:auto;font-weight:700;font-size:.9rem}
.shot .sstars{color:#FBBC05;font-size:.95rem;letter-spacing:.05em}
.shot .meta{font-size:.68rem;color:#5f6368;margin-top:.3rem}
.shot .bar{height:5px;border-radius:3px;background:#e6e6e6;margin-top:.5rem;overflow:hidden}
.shot .bar i{display:block;height:100%;width:98%;background:#FBBC05}
@media(max-width:860px){.trust-grid{grid-template-columns:1fr;text-align:left}
  .trust-mid{border:0;border-top:1px solid rgba(244,239,230,.18);border-bottom:1px solid rgba(244,239,230,.18);
    padding:1.1rem 0}.trust-shot{width:220px}}

/* ---------- section frame ---------- */
section{position:relative}
.sec{padding-block:clamp(3.5rem,9vw,7rem)}
.sec-head{margin-bottom:clamp(2rem,5vw,3.5rem)}
.sec-head h2{font-size:clamp(1.9rem,5vw,3.4rem);margin-top:1.1rem;max-width:18ch}
.sec-head h2 em{font-style:italic;font-weight:400;color:var(--gold-soft)}
.sec-head .lead{margin-top:.9rem;max-width:52ch;color:var(--ink-soft);font-size:1.05rem}

/* pull quote divider */
.pull{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pull .wrap{padding-block:clamp(2.2rem,6vw,4rem)}
.pull p{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.5rem,4.6vw,3rem);
  line-height:1.14;letter-spacing:-.02em;max-width:20ch}
.pull p em{font-style:italic;color:var(--gold-soft)}
.pull .attr{margin-top:1.1rem;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}

/* ---------- servicios (alternating rows) ---------- */
.svc{border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);align-items:center;
  padding-block:clamp(2.5rem,6vw,4.5rem);border-bottom:1px solid var(--line)}
.svc-fig{grid-column:1/7}
.svc-txt{grid-column:8/13}
.svc-row.rev .svc-fig{grid-column:7/13;order:2}
.svc-row.rev .svc-txt{grid-column:1/6}
.svc-fig .ph{aspect-ratio:4/3}
.svc-idx{font-family:'Fraunces',serif;font-style:italic;font-size:.95rem;color:var(--gold-soft);
  display:flex;align-items:center;gap:.8rem;letter-spacing:0;margin-bottom:1rem;
  font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-style:normal;font-weight:600}
.svc-idx .n{font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;letter-spacing:0;
  text-transform:none;color:var(--gold-soft)}
.svc-txt h3{font-size:clamp(1.55rem,3.8vw,2.5rem);letter-spacing:-.02em}
.svc-txt h3 em{font-style:italic;font-weight:400;color:var(--gold-soft)}
.svc-line{margin-top:.7rem;color:var(--ink-soft);font-size:1.06rem;max-width:38ch}
.price{display:flex;align-items:baseline;gap:.55rem;margin-top:1.5rem}
.price .from{font-family:'Inter',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-soft)}
.price .big{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2.1rem,6vw,3.2rem);
  letter-spacing:-.03em;line-height:1}
.price .unit{font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;color:var(--ink-soft)}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.badge{font-size:.68rem;font-weight:600;letter-spacing:.08em;color:var(--ink-soft);
  border:1px solid var(--line-strong);border-radius:2px;padding:.28rem .6rem}
.svc-cta{margin-top:1.6rem;display:inline-flex;align-items:center;gap:.55rem;
  font-weight:700;letter-spacing:.03em;color:var(--navy);border-bottom:2px solid var(--gold);
  padding-bottom:.2rem;transition:gap .2s}
.svc-cta:hover{gap:.9rem}
.svc-cta .ar{color:var(--gold-soft)}
@media(max-width:820px){
  .svc-row,.svc-row.rev{grid-template-columns:1fr;gap:1.5rem}
  .svc-fig,.svc-txt,.svc-row.rev .svc-fig,.svc-row.rev .svc-txt{grid-column:1/-1;order:0}
  .svc-fig .ph{aspect-ratio:3/2}
}

/* ---------- prueba (dark band) ---------- */
.proof{background:var(--navy);color:var(--cream)}
.proof .wrap{padding-block:clamp(4rem,10vw,7.5rem)}
.proof .kicker{color:var(--gold)}
.proof .kicker .num{color:var(--gold)}
.proof .kicker .rule{background:rgba(201,169,97,.5)}
.proof-q{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.7rem,5vw,3.4rem);
  line-height:1.16;letter-spacing:-.02em;max-width:22ch;margin:1.4rem 0 0}
.proof-q em{font-style:italic;color:var(--gold)}
.proof-wins{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);margin-top:clamp(2.5rem,6vw,4rem)}
.win{border-top:1px solid rgba(244,239,230,.2);padding-top:1.3rem}
.win .wh{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.win .wname{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600}
.win .wtag{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);border:1px solid rgba(201,169,97,.5);border-radius:2px;padding:.22rem .5rem}
.win p{color:rgba(244,239,230,.82);font-size:.98rem;max-width:40ch}
.win .wstars{color:var(--gold);letter-spacing:.15em;margin-top:.9rem;font-size:1.05rem}
.win .wstars b{font-family:'Fraunces',serif;color:var(--cream);margin-left:.4rem}
@media(max-width:720px){.proof-wins{grid-template-columns:1fr;gap:2rem}}

/* ---------- hub teaser ---------- */
.hub .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);align-items:center}
.hub-txt{grid-column:1/6}
.hub-fig{grid-column:7/13}
.hub-fig .ph{aspect-ratio:16/10}
.hub h3{font-size:clamp(1.7rem,4.5vw,2.8rem);margin-top:1rem}
.hub h3 em{font-style:italic;font-weight:400;color:var(--gold-soft)}
.hub p{margin-top:.9rem;color:var(--ink-soft);max-width:36ch}
.hub .svc-cta{margin-top:1.5rem}
@media(max-width:820px){.hub-txt,.hub-fig{grid-column:1/-1}.hub-fig{margin-top:1.5rem}}

/* ---------- proceso ---------- */
.proc{border-top:1px solid var(--line)}
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.step{padding:clamp(1.6rem,4vw,2.4rem) clamp(1.2rem,3vw,2rem);border-left:1px solid var(--line)}
.step:first-child{border-left:0;padding-left:0}
.step .sn{font-family:'Fraunces',serif;font-style:italic;font-size:2.6rem;color:var(--gold-soft);line-height:1}
.step h4{font-size:1.35rem;margin-top:1rem}
.step p{margin-top:.6rem;color:var(--ink-soft);font-size:.98rem}
@media(max-width:720px){.proc-grid{grid-template-columns:1fr}
  .step{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-inline:0}
  .step:first-child{border-top:0}}

/* ---------- cierre band ---------- */
.cierre{position:relative;color:var(--cream);overflow:hidden}
.cierre-bg{position:absolute;inset:0;background:linear-gradient(120deg,#4a3d2c,#7d6647 60%,#9c7f57);background-image:url(img/cierre.jpg);background-size:cover;background-position:center}
.cierre-bg::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,rgba(0,0,0,.04) 0 16px,transparent 16px 32px)}
.cierre-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(11,27,51,.82),rgba(11,27,51,.5))}
.cierre .wrap{position:relative;z-index:2;padding-block:clamp(4rem,11vw,8rem)}
.cierre .kicker{color:var(--gold)}
.cierre .kicker .num{color:var(--gold)}.cierre .kicker .rule{background:rgba(201,169,97,.5)}
.cierre h2{font-size:clamp(2rem,6vw,4rem);margin-top:1.2rem;max-width:16ch}
.cierre h2 em{font-style:italic;font-weight:400;color:var(--gold)}
.cierre-sub{margin-top:1.2rem;max-width:42ch;color:rgba(244,239,230,.9);font-size:1.1rem}
.cierre-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.btn-wa{background:#25D366;color:#062b13;font-weight:700;padding:.95rem 1.6rem;border-radius:2px;
  display:inline-flex;align-items:center;gap:.6rem}
.btn-wa:hover{background:#38e07b}
.btn-tel{border:1px solid rgba(244,239,230,.5);color:var(--cream);font-weight:700;
  padding:.95rem 1.6rem;border-radius:2px}
.btn-tel:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- footer ---------- */
.foot{background:var(--navy);color:var(--cream)}
.foot .wrap{padding-block:clamp(3rem,7vw,5rem)}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--gut);
  padding-bottom:2.5rem;border-bottom:1px solid rgba(244,239,230,.16)}
.foot .brand-text{font-size:1.9rem}
.foot-tag{margin-top:1rem;color:rgba(244,239,230,.7);max-width:32ch;
  font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem}
.fcol h5{font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.fcol a,.fcol span{display:block;color:rgba(244,239,230,.82);font-size:.95rem;margin-bottom:.6rem}
.fcol a:hover{color:var(--gold)}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
  padding-top:1.6rem;font-size:.78rem;color:rgba(244,239,230,.6)}
.foot-bot .made{color:var(--gold)}
@media(max-width:720px){.foot-top{grid-template-columns:1fr;gap:2rem}}

/* ---------- sticky mobile bar ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  grid-template-columns:1fr 1fr;gap:1px;background:rgba(11,27,51,.18);
  box-shadow:0 -8px 24px rgba(0,0,0,.16)}
.sticky a{display:flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem;font-weight:700;font-size:.95rem;letter-spacing:.02em}
.sticky .s-wa{background:#25D366;color:#062b13}
.sticky .s-tel{background:var(--navy);color:var(--cream)}
@media(max-width:820px){.sticky{display:grid}body{padding-bottom:3.4rem}}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .rvl{opacity:1;transform:none;transition:none}
  .clip .ln>span{transform:none;transition:none}
  .kicker .rule,.hero-eyebrow .rule,.draw::after{transform:scaleX(1);transition:none}
  .figwipe::after{transform:translateY(-101%);transition:none}
  .hb{opacity:1;filter:none;transform:none;transition:none}
  .hero-media .ph-hero{transform:none;transition:none}
}


/* ============ SUB-PAGE COMPONENTS ============ */
/* shorter page hero (reuses .hero) */
.hero.hero-sm{min-height:74vh}
@media(max-width:860px){.hero.hero-sm{min-height:66vh}}
.hero-sm .wrap{padding-bottom:clamp(2.5rem,6vh,4.5rem)}

/* breadcrumb-ish eyebrow already covered by .hero-eyebrow */

/* feature / "qué incluye" grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut) clamp(1.5rem,4vw,3rem)}
.feat{border-top:1px solid var(--line);padding-top:1.2rem}
.feat .fn{font-family:'Fraunces',serif;font-style:italic;color:var(--gold-soft);font-size:1.15rem;line-height:1}
.feat h4{font-size:1.18rem;margin-top:.55rem}
.feat p{margin-top:.5rem;color:var(--ink-soft);font-size:.98rem;max-width:34ch}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr;gap:1.6rem}}

/* two-ways plan cards */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut)}
.plan{border:1px solid var(--line-strong);border-radius:4px;padding:clamp(1.6rem,3.2vw,2.5rem);display:flex;flex-direction:column}
.plan.feature{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.plan .ptag{font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.plan.feature .ptag{color:var(--gold)}
.plan h3{font-size:clamp(1.4rem,3vw,2rem);margin-top:.7rem}
.plan .pprice{display:flex;align-items:baseline;gap:.5rem;margin-top:1.1rem}
.plan .pprice .big{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.03em;line-height:1}
.plan .pprice .unit{font-size:.9rem;color:var(--ink-soft)}
.plan.feature .pprice .unit{color:rgba(244,239,230,.75)}
.plan .pnote{margin-top:.5rem;font-size:.9rem;color:var(--ink-soft)}
.plan.feature .pnote{color:rgba(244,239,230,.75)}
.plan ul{list-style:none;margin-top:1.3rem;padding:0}
.plan li{position:relative;padding-left:1.35rem;margin-bottom:.65rem;font-size:.97rem;color:var(--ink-soft);line-height:1.45}
.plan.feature li{color:rgba(244,239,230,.9)}
.plan li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:1px;background:var(--gold-soft)}
.plan .plan-cta{margin-top:auto;padding-top:1.6rem}
@media(max-width:720px){.plans{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:60rem}
.faq-item{border-top:1px solid var(--line);padding:1.4rem 0}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item h4{font-size:1.15rem;letter-spacing:-.01em}
.faq-item p{margin-top:.55rem;color:var(--ink-soft);max-width:60ch}

/* simple two-column intro (text + photo) */
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut);align-items:center}
.split .s-txt{grid-column:1/7}
.split .s-fig{grid-column:7/13}
.split.rev .s-txt{grid-column:7/13;order:2}
.split.rev .s-fig{grid-column:1/7}
.split .s-fig img{width:100%;border-radius:3px;aspect-ratio:4/3;object-fit:cover}
@media(max-width:820px){.split .s-txt,.split .s-fig,.split.rev .s-txt,.split.rev .s-fig{grid-column:1/-1;order:0}}

/* quote form */
.qform{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;max-width:44rem}
.qform .full{grid-column:1/-1}
.qform label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem}
.qform input,.qform textarea,.qform select{width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
  background:#fff;border:1px solid var(--line-strong);border-radius:3px;padding:.8rem .9rem}
.qform textarea{min-height:7rem;resize:vertical}
.qform input:focus,.qform textarea:focus,.qform select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.qform .btn-gold{border:0}
@media(max-width:600px){.qform{grid-template-columns:1fr}}

/* contact rail on presupuesto */
.crail{display:flex;flex-direction:column;gap:1.1rem}
.crail a{display:flex;align-items:center;gap:.9rem;border:1px solid var(--line-strong);border-radius:4px;
  padding:1rem 1.1rem;font-weight:600;color:var(--navy);transition:border-color .2s,transform .2s}
.crail a:hover{border-color:var(--gold);transform:translateY(-2px)}
.crail a small{display:block;font-weight:500;color:var(--ink-soft);font-size:.82rem;letter-spacing:0;text-transform:none}
.crail a b{font-size:1.05rem}

.foot-bot .legal a{color:rgba(244,239,230,.72)}
.foot-bot .legal a:hover{color:var(--gold)}
.foot-bot .legal{color:rgba(244,239,230,.45)}

/* cookie consent banner */
.cc-banner{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:9999;
  width:min(720px,calc(100% - 2rem));background:#16294D;border:1px solid rgba(201,169,97,.35);
  border-radius:14px;padding:1.1rem 1.25rem;box-shadow:0 18px 50px rgba(0,0,0,.45);
  display:none;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;font-family:'Inter',system-ui,sans-serif}
.cc-banner.is-open{display:flex}
.cc-banner p{flex:1 1 280px;font-size:.86rem;color:rgba(244,239,230,.85);margin:0;line-height:1.5}
.cc-banner a{color:#C9A961;text-decoration:underline}
.cc-actions{display:flex;gap:.6rem;flex:0 0 auto}
.cc-btn{border:0;border-radius:9px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit}
.cc-accept{background:#C9A961;color:#0B1B33}
.cc-reject{background:transparent;color:#F4EFE6;border:1px solid rgba(244,239,230,.3)}
@media(max-width:560px){.cc-actions{flex:1 1 100%}.cc-btn{flex:1}}
