
:root{
  --bg:#fff9f4;
  --paper:#ffffff;
  --paper2:#fff4eb;
  --ink:#20211f;
  --sub:#696c68;
  --line:rgba(32,33,31,.12);
  --coral:#ff6251;
  --coral2:#ff806f;
  --orange:#ffae28;
  --yellow:#ffd85a;
  --brand:#0d5147;
  --shadow:0 28px 90px rgba(31,34,31,.12);
  --max:1240px;
  --radius:30px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.mini{font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:900}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.kicker:before{content:"";width:9px;height:9px;border-radius:3px;background:var(--coral);transform:rotate(12deg)}
.header{position:fixed;z-index:100;top:0;left:0;right:0;padding:18px 0;transition:.25s}
.header.scrolled{padding:9px 0;background:rgba(255,249,244,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.logo{width:158px;height:44px;overflow:visible;display:flex;align-items:center}
.logo img{object-fit:contain;object-position:left center}
.navlinks{display:flex;justify-content:center;gap:26px;font-size:13px;font-weight:760;color:#4e524f}
.navlinks a:hover{color:var(--ink)}
.navcta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:850;font-size:13px;box-shadow:0 12px 28px rgba(32,33,31,.14)}
.hamb{display:none;border:1px solid var(--line);background:#fff;width:44px;height:44px;border-radius:50%}
.mobilemenu{display:none}
.hero{padding:132px 0 72px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,90,.55),rgba(255,216,90,0));top:-220px;right:-130px;pointer-events:none}
.hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,98,81,.22),rgba(255,98,81,0));left:-180px;top:160px;pointer-events:none}
.hero-copy{text-align:center;max-width:850px;margin:0 auto;position:relative;z-index:2}
.hero-label{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 24px rgba(31,34,31,.05)}
.hero-label i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero h1{font-size:clamp(48px,6.5vw,86px);line-height:.96;letter-spacing:-.061em;margin:22px auto 20px;max-width:920px}
.hero h1 em{font-style:normal;color:var(--coral)}
.hero-lead{font-size:18px;line-height:1.62;color:var(--sub);max-width:680px;margin:0 auto 28px}
.hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 21px;border-radius:999px;border:1px solid transparent;font-weight:850;font-size:14px;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--coral);color:#fff;box-shadow:0 12px 30px rgba(255,98,81,.25)}
.btn-light{background:#fff;border-color:var(--line)}
.hero-stage{position:relative;margin:52px auto 0;max-width:1120px;min-height:660px}
.hero-photo{position:absolute;inset:78px 105px 112px;border-radius:44px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.22))}
.float{position:absolute;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 65px rgba(22,28,25,.17);border-radius:24px}
.float strong{display:block;letter-spacing:-.035em}
.float small{display:block;color:#777b77;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.f1{top:6px;left:0;width:218px;padding:18px 19px;transform:rotate(-1.5deg)}
.f1 strong{font-size:29px;margin-top:6px}
.f2{top:6px;right:0;width:218px;padding:18px 19px;transform:rotate(1.5deg)}
.f2 .chip{display:inline-flex;margin-top:9px;background:#fff1cb;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:850}
.f3{bottom:4px;left:0;width:255px;padding:19px}
.f3 strong{font-size:26px;margin:6px 0 2px;color:var(--coral)}
.f4{bottom:4px;right:0;width:235px;padding:18px 19px}
.f4 .bar{height:8px;border-radius:999px;background:#ece9e5;margin:12px 0 7px;overflow:hidden}
.f4 .bar i{display:block;width:61%;height:100%;background:var(--orange);border-radius:inherit}
.hero-quick{position:relative;left:auto;bottom:auto;transform:none;z-index:5;width:min(900px,calc(100% - 90px));margin:22px auto 0;background:var(--ink);color:#fff;border-radius:26px;padding:13px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;box-shadow:0 26px 70px rgba(18,19,18,.18)}
.qfield{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:17px;padding:13px 15px}
.qfield span{display:block;color:rgba(255,255,255,.62);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:900}
.qfield b{display:block;margin-top:4px;font-size:14px}
.qgo{border:0;border-radius:17px;background:var(--yellow);color:var(--ink);padding:0 19px;font-weight:900}
.proof{display:flex;justify-content:center;gap:25px;margin-top:28px;color:#7a7c79;font-size:12px;flex-wrap:wrap}
.proof span:before{content:"✓";font-weight:950;color:var(--coral);margin-right:6px}
.cards-section{padding:112px 0 96px}
.section-top{display:grid;grid-template-columns:1.2fr .7fr;gap:70px;align-items:end;margin-bottom:34px}
.section-top h2{font-size:clamp(38px,4.7vw,64px);line-height:.98;letter-spacing:-.052em;margin:12px 0 0}
.section-top p{margin:0;color:var(--sub);line-height:1.65;font-size:15px}
.fact-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:16px}
.fact{border-radius:30px;min-height:325px;position:relative;overflow:hidden;padding:28px}
.fact h3{font-size:29px;line-height:1.02;letter-spacing:-.04em;margin:0;max-width:310px}
.fact p{line-height:1.55;font-size:14px}
.fact-a{background:var(--coral);color:#fff}
.fact-a .big{font-size:96px;line-height:.82;letter-spacing:-.07em;font-weight:950;margin-top:52px}
.fact-a p{color:rgba(255,255,255,.84);max-width:320px}
.fact-b{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.timeline-mini{display:grid;gap:10px;margin-top:22px}
.timeline-mini div{display:flex;align-items:center;gap:10px;background:var(--paper2);border-radius:14px;padding:11px 12px;font-size:12px;font-weight:800}
.timeline-mini i{width:25px;height:25px;border-radius:9px;background:#fff;display:grid;place-items:center;font-style:normal}
.fact-c{padding:0;background:#ddd}
.fact-c img{position:absolute;inset:0}
.fact-c:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.62))}
.fact-c .overlay{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}
.fact-c .overlay p{color:rgba(255,255,255,.82);margin-bottom:0}
.fact-wide{grid-column:1/-1;background:#fff4c8;min-height:210px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:45px}
.fact-wide .chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.fact-wide .chips span{background:#fff;border:1px solid rgba(32,33,31,.08);border-radius:999px;padding:11px 14px;font-size:12px;font-weight:850}
.product{padding:96px 0;background:#1e1f1d;color:#fff;position:relative;overflow:hidden}
.product:before{content:"";position:absolute;inset:auto -90px -220px auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,98,81,.34),rgba(255,98,81,0))}
.product-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}
.product-copy{position:sticky;top:105px}
.product h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.053em;line-height:.98;margin:14px 0 18px}
.product-copy>p{color:#aaaead;line-height:1.65;margin:0}
.route-tabs{display:grid;gap:8px;margin-top:30px}
.route-tab{border:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;border-radius:17px;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-weight:820}
.route-tab span{font-size:11px;color:#8f9491}
.route-tab.active{background:#fff;color:var(--ink)}
.route-tab.active span{color:#777}
.app-window{background:#f6f4ef;color:var(--ink);border-radius:38px;padding:18px;box-shadow:0 36px 100px rgba(0,0,0,.3);min-height:650px}
.app-top{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 20px}
.app-dots{display:flex;gap:6px} .app-dots i{width:8px;height:8px;border-radius:50%;background:#d6d3ce}
.app-dots i:first-child{background:var(--coral)}
.app-top small{font-weight:850;color:#7c807c}
.app-hero{background:#fff;border-radius:28px;padding:26px;display:grid;grid-template-columns:1fr 160px;gap:20px;align-items:center}
.app-hero small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#888;font-weight:900}
.app-hero h3{font-size:36px;line-height:1;letter-spacing:-.045em;margin:7px 0 10px}
.app-hero p{font-size:13px;line-height:1.5;color:#6b6f6b;margin:0}
.house-score{height:160px;border-radius:24px;background:var(--yellow);display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(2deg)}
.house-score b{font-size:45px;letter-spacing:-.055em}
.house-score span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.app-list{display:grid;gap:10px;margin-top:12px}
.app-row{background:#fff;border-radius:20px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.app-row .ico{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:#fff1e8;font-size:19px}
.app-row b{display:block;font-size:14px}
.app-row p{font-size:11px;color:#767a77;margin:3px 0 0}
.app-row .tag{font-size:10px;font-weight:900;padding:8px 9px;border-radius:999px;background:#f4f1ec}
.app-bottom{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.app-stat{border-radius:20px;padding:18px;background:#ffddd5}
.app-stat:nth-child(2){background:#ffeaa8}
.app-stat small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.app-stat strong{display:block;font-size:27px;margin-top:6px;letter-spacing:-.04em}
.life{padding:100px 0}
.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.life-photo{min-height:620px;border-radius:36px;overflow:hidden;position:relative}
.life-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48))}
.life-photo-note{position:absolute;z-index:2;left:28px;bottom:28px;color:#fff;max-width:330px}
.life-photo-note span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.life-photo-note h3{font-size:34px;line-height:1.02;letter-spacing:-.04em;margin:9px 0 0}
.life-copy{border-radius:36px;background:#fff;border:1px solid var(--line);padding:42px;display:flex;flex-direction:column;justify-content:space-between}
.life-copy h2{font-size:clamp(38px,4.6vw,60px);line-height:.98;letter-spacing:-.05em;margin:14px 0 18px}
.life-copy p{color:var(--sub);line-height:1.66;max-width:510px}
.word-cloud{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}
.word-cloud span{border:1px solid var(--line);border-radius:999px;padding:10px 13px;font-size:12px;font-weight:850;background:var(--bg)}
.calc{padding:105px 0;background:#fff}
.calc-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.calc-copy h2{font-size:clamp(40px,4.8vw,62px);line-height:.98;letter-spacing:-.052em;margin:14px 0 18px}
.calc-copy p{color:var(--sub);line-height:1.65}
.calc-shell{border-radius:34px;background:var(--bg);border:1px solid var(--line);padding:18px}
.calc-result{background:var(--coral);color:#fff;border-radius:27px;padding:26px;margin-bottom:14px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.calc-result small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:rgba(255,255,255,.75)}
.calc-result strong{display:block;font-size:47px;letter-spacing:-.055em;margin-top:6px}
.calc-pill{background:#fff;color:var(--ink);border-radius:999px;padding:10px 12px;font-size:10px;font-weight:900;white-space:nowrap}
.sliders{display:grid;gap:9px}
.slide{background:#fff;border-radius:20px;padding:17px 18px}
.slide-top{display:flex;justify-content:space-between;gap:16px;align-items:center}
.slide label{font-size:12px;font-weight:850}
.slide b{font-size:13px}
input[type=range]{width:100%;margin-top:13px;accent-color:var(--coral)}
.calc-note{font-size:11px;color:#7b7e7b;line-height:1.55;padding:12px 5px 2px}
.trust{padding:102px 0}
.trust-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.trust h2{font-size:clamp(38px,4.8vw,62px);line-height:.98;letter-spacing:-.052em;margin:14px 0 0}
.accord{border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc button{width:100%;border:0;background:none;padding:21px 0;display:grid;grid-template-columns:48px 1fr 32px;gap:8px;align-items:center;text-align:left;color:var(--ink)}
.acc .num{font-size:11px;color:#9b9d9b;font-weight:900}
.acc b{font-size:17px}
.acc .plus{font-size:22px;transition:.2s}
.acc p{display:none;margin:-7px 40px 20px 56px;color:var(--sub);line-height:1.6;font-size:14px}
.acc.open p{display:block}
.acc.open .plus{transform:rotate(45deg)}
.guides{padding:104px 0;background:#fff4e9}
.guides-top{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:30px}
.guides-top h2{font-size:clamp(38px,4.7vw,60px);line-height:.98;letter-spacing:-.05em;margin:14px 0 0;max-width:700px}
.guides-top p{max-width:350px;color:var(--sub);line-height:1.6}
.guide-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:205px 205px;gap:15px;height:425px}
.guide{border-radius:30px;overflow:hidden;position:relative;background:#ddd}
.guide:first-child{grid-row:1/3}
.guide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.67))}
.gcopy{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:#fff}
.gcopy small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:rgba(255,255,255,.75)}
.gcopy h3{font-size:27px;line-height:1.05;letter-spacing:-.035em;margin:8px 0 13px}
.guide:first-child .gcopy h3{font-size:37px;max-width:560px}
.gcopy span{font-size:12px;font-weight:900}
.faq{padding:105px 0}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.faq h2{font-size:clamp(38px,4.7vw,60px);line-height:.98;letter-spacing:-.05em;margin:14px 0 0}
.faq-list{display:grid;gap:10px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:21px;padding:0 19px}
.faq-item button{width:100%;background:none;border:0;padding:19px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;font-weight:850;color:var(--ink)}
.faq-item p{display:none;margin:-4px 30px 19px 0;color:var(--sub);line-height:1.6;font-size:14px}
.faq-item.open p{display:block}
.final{padding:20px 0 96px}
.final-card{border-radius:42px;background:var(--yellow);padding:58px;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;position:relative;overflow:hidden}
.final-card:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-65px;top:-75px;background:rgba(255,255,255,.34)}
.final-card:after{content:"";position:absolute;width:88px;height:88px;border-radius:28px;right:85px;bottom:-34px;background:rgba(255,98,81,.18);transform:rotate(18deg)}
.final h2{font-size:clamp(42px,5.1vw,70px);line-height:.96;letter-spacing:-.055em;margin:0;position:relative;z-index:2}
.final p{line-height:1.6;position:relative;z-index:2}
.final .btn{background:var(--ink);color:#fff;position:relative;z-index:2}
.footer{padding:45px 0 35px;background:#1e1f1d;color:#fff}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:30px}
.foot-logo{width:154px;height:auto;object-fit:contain;opacity:1;background:#fff;border-radius:14px;padding:8px 10px}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#bbb}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;color:#8f918f;font-size:10px;line-height:1.6}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.on{opacity:1;transform:none}
@media(max-width:980px){
  .nav{grid-template-columns:auto 1fr auto} .navlinks,.navcta{display:none} .hamb{display:block;justify-self:end}
  .mobilemenu.open{display:grid;position:fixed;top:72px;left:18px;right:18px;z-index:99;background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow)}
  .mobilemenu a{padding:13px 12px;font-weight:800;border-radius:13px}
  .hero-stage{min-height:620px} .hero-photo{inset:76px 60px 110px}
  .f2{right:0} .f1{left:0} .f3{left:0} .f4{right:0}
  .hero-quick{width:calc(100% - 48px);grid-template-columns:1fr 1fr;margin-top:18px} .qgo{min-height:52px}
  .section-top,.product-grid,.life-grid,.calc-grid,.trust-grid,.faq-grid,.final-card{grid-template-columns:1fr;gap:34px}
  .fact-grid{grid-template-columns:1fr 1fr} .fact-a{grid-column:1/2} .fact-wide{grid-column:1/-1}
  .product-copy{position:static} .guide-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 210px;height:485px} .guide:first-child{grid-column:1/-1;grid-row:1/2} .guides-top{align-items:start;flex-direction:column}
}
@media(max-width:640px){
  .wrap{width:min(100% - 28px,var(--max))}
  .header{padding:11px 0} .logo{width:135px}
  .hero{padding:100px 0 48px} .hero h1{font-size:48px} .hero-lead{font-size:16px}
  .hero-stage{
    margin-top:34px;
    min-height:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "photo photo"
      "f1 f2"
      "f3 f4"
      "quick quick";
    gap:10px;
  }
  .hero-photo{
    position:relative;
    inset:auto;
    grid-area:photo;
    height:auto;
    aspect-ratio:4/3;
    border-radius:29px;
    overflow:hidden;
  }
  .float{
    position:relative;
    inset:auto;
    transform:none;
    width:auto;
    min-width:0;
    padding:14px;
    border-radius:20px;
    box-shadow:0 12px 34px rgba(22,28,25,.10);
  }
  .f1{grid-area:f1}.f2{grid-area:f2}.f3{grid-area:f3}.f4{grid-area:f4}
  .f1 strong,.f2 strong,.f3 strong,.f4 strong{font-size:20px!important}
  .f2 .chip{font-size:8px;padding:7px 8px}
  .f4 .bar{margin:9px 0 6px}
  .hero-quick{
    grid-area:quick;
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:100%;
    margin:2px 0 0;
    grid-template-columns:1fr;
    border-radius:22px;
    padding:10px;
  }
  .proof{margin-top:22px;gap:9px 14px}
  .cards-section{padding:76px 0} .section-top{grid-template-columns:1fr;gap:18px}
  .fact-grid{grid-template-columns:1fr} .fact{min-height:270px} .fact-a,.fact-wide{grid-column:auto} .fact-wide{grid-template-columns:1fr;gap:18px} .fact-wide .chips{justify-content:flex-start}
  .product{padding:76px 0} .app-window{min-height:auto;border-radius:27px} .app-hero{grid-template-columns:1fr} .house-score{height:115px} .app-bottom{grid-template-columns:1fr}
  .life{padding:74px 0} .life-photo{min-height:460px} .life-copy{padding:28px}
  .calc{padding:76px 0} .calc-result{grid-template-columns:1fr} .calc-result strong{font-size:39px} .calc-pill{width:max-content}
  .trust,.guides,.faq{padding:76px 0} .guide-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;height:auto;min-height:0} .guide,.guide:first-child{grid-column:auto;grid-row:auto;min-height:0;height:255px} .guide:first-child .gcopy h3{font-size:29px}
  .faq-grid{gap:28px} .acc button{grid-template-columns:34px 1fr 25px} .acc p{margin-left:42px}
  .final-card{padding:34px 26px;border-radius:30px} .final-card:before{width:150px;height:150px;right:-55px;top:-55px}.final-card:after{width:70px;height:70px;right:35px;bottom:-30px} .foot-top{align-items:flex-start;flex-direction:column}
}



/* HOGAREZA V5 — hero desktop corregido de estructura */
.logo{
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
}
.logo img{
  width:auto!important;
  height:38px!important;
  max-width:172px!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.foot-logo{
  width:auto!important;
  height:42px!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:14px!important;
  padding:7px 10px!important;
  filter:none!important;
  opacity:1!important;
}

/* La barra rápida es ahora un bloque independiente */
.hero-quick{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  transform:none!important;
  margin:20px auto 0!important;
  z-index:3!important;
}

/* Desktop grande */
@media (min-width:981px){
  .hero-stage{
    position:relative!important;
    max-width:1120px!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16 / 9!important;
    margin:46px auto 0!important;
  }
  .hero-photo{
    position:absolute!important;
    inset:58px 82px 68px!important;
    border-radius:42px!important;
  }
  .float{
    z-index:4!important;
  }
  .f1{
    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    width:218px!important;
    transform:rotate(-1.25deg)!important;
  }
  .f2{
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:auto!important;
    width:218px!important;
    transform:rotate(1.25deg)!important;
  }
  .f3{
    left:8px!important;
    bottom:0!important;
    top:auto!important;
    right:auto!important;
    width:250px!important;
    transform:rotate(.5deg)!important;
  }
  .f4{
    right:8px!important;
    bottom:0!important;
    top:auto!important;
    left:auto!important;
    width:235px!important;
    transform:rotate(-.5deg)!important;
  }
  .hero-quick{
    width:min(900px,calc(100% - 120px))!important;
    grid-template-columns:1fr 1fr 1fr auto!important;
  }
  .proof{
    margin-top:22px!important;
  }
}

/* Tablet: misma lógica, sin cajas pisándose */
@media (min-width:641px) and (max-width:980px){
  .hero-stage{
    position:relative!important;
    min-height:560px!important;
    height:560px!important;
    margin-top:40px!important;
  }
  .hero-photo{
    position:absolute!important;
    inset:66px 44px 88px!important;
  }
  .f1{top:0!important;left:0!important;width:195px!important}
  .f2{top:0!important;right:0!important;width:195px!important}
  .f3{bottom:0!important;left:0!important;width:220px!important}
  .f4{bottom:0!important;right:0!important;width:210px!important}
  .hero-quick{
    width:calc(100% - 48px)!important;
    grid-template-columns:1fr 1fr!important;
    margin-top:18px!important;
  }
}

/* Mobile: mantener la solución que ya funcionaba, pero la barra va debajo del grid */
@media (max-width:640px){
  .logo img{
    height:33px!important;
    max-width:150px!important;
  }
  .hero-stage{
    grid-template-areas:
      "photo photo"
      "f1 f2"
      "f3 f4"!important;
  }
  .hero-quick{
    width:100%!important;
    grid-template-columns:1fr!important;
    margin:12px 0 0!important;
    border-radius:22px!important;
  }
}



/* ===== Shared Hogareza shell / V1 ===== */
.navcta{
  min-height:44px!important;
  padding:0 16px!important;
  border-radius:14px!important;
  background:var(--coral)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(255,98,81,.18)!important;
  font-size:12.5px!important;
  letter-spacing:-.01em!important;
}
.navcta:hover{background:#f05445!important;transform:translateY(-1px)}
.navlinks a.active{color:var(--ink);font-weight:900}
.page-shell{padding-top:110px}
.site-link{transition:.18s}.site-link:hover{opacity:.68}

/* ===== Sobre nosotros ===== */
.about-hero{padding:150px 0 84px;position:relative;overflow:hidden}
.about-hero:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,90,.47),rgba(255,216,90,0));right:-210px;top:-210px}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:70px;align-items:center}
.about-hero-copy{position:relative;z-index:2}
.about-hero h1{font-size:clamp(52px,6vw,82px);line-height:.96;letter-spacing:-.06em;margin:18px 0 22px;max-width:790px}
.about-hero h1 em{font-style:normal;color:var(--coral)}
.about-hero-lead{font-size:18px;line-height:1.65;color:var(--sub);max-width:620px;margin:0 0 28px}
.about-media{position:relative;min-height:620px}
.about-main-photo{position:absolute;inset:0 58px 0 0;border-radius:42px;overflow:hidden;box-shadow:var(--shadow)}
.about-main-photo img{height:100%;object-position:center}
.about-note{position:absolute;right:0;bottom:34px;width:255px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 22px 60px rgba(25,28,25,.14)}
.about-note small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#8c8f8c}
.about-note strong{display:block;font-size:23px;line-height:1.08;letter-spacing:-.035em;margin-top:7px}
.about-stamp{position:absolute;left:-25px;top:45px;background:var(--yellow);border-radius:999px;padding:12px 16px;font-size:11px;font-weight:900;transform:rotate(-4deg);box-shadow:0 14px 35px rgba(32,33,31,.1)}
.about-intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;background:rgba(255,255,255,.34)}
.about-intro .wrap{display:grid;grid-template-columns:170px 1fr;gap:42px;align-items:start}
.about-intro b{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--coral)}
.about-intro p{font-size:22px;line-height:1.4;letter-spacing:-.02em;margin:0;max-width:980px}
.about-reasons{padding:112px 0}
.about-reasons-grid{display:grid;grid-template-columns:360px 1fr;gap:92px;align-items:start}
.about-reasons-side{position:sticky;top:105px}
.about-reasons-side h2{font-size:clamp(40px,4.7vw,62px);line-height:.98;letter-spacing:-.052em;margin:12px 0 18px}
.about-reasons-side p{color:var(--sub);line-height:1.65;margin:0}
.about-reason-list{border-top:1px solid var(--line)}
.about-reason{display:grid;grid-template-columns:62px 1fr;gap:26px;padding:32px 0;border-bottom:1px solid var(--line)}
.about-reason .n{font-size:11px;font-weight:900;color:var(--coral);letter-spacing:.12em;padding-top:7px}
.about-reason h3{font-size:clamp(29px,3.2vw,44px);line-height:1;letter-spacing:-.04em;margin:0 0 10px;max-width:700px}
.about-reason p{margin:0;color:var(--sub);font-size:15px;line-height:1.65;max-width:720px}
.about-manifesto{background:#1e1f1d;color:#fff;padding:102px 0;position:relative;overflow:hidden}
.about-manifesto:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.1);right:-120px;bottom:-220px}
.about-manifesto-grid{display:grid;grid-template-columns:190px 1fr;gap:55px;position:relative;z-index:2}
.about-manifesto .micro{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#ff9b8e;font-weight:900;padding-top:8px}
.about-manifesto h2{font-size:clamp(48px,6vw,84px);line-height:.93;letter-spacing:-.06em;margin:0;max-width:1000px}
.about-manifesto h2 span{color:var(--yellow)}
.about-manifesto-copy{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:850px}
.about-manifesto-copy p{margin:0;color:#bfc2bf;line-height:1.66;font-size:15px}
.about-manifesto-copy strong{color:#fff}
.about-principles{padding:110px 0;background:#fff}
.about-principles-head{display:grid;grid-template-columns:1fr 390px;gap:60px;align-items:end;margin-bottom:38px}
.about-principles-head h2{font-size:clamp(40px,5vw,64px);line-height:.98;letter-spacing:-.052em;margin:12px 0 0}
.about-principles-head p{color:var(--sub);line-height:1.65;margin:0}
.principle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.principle-card{border:1px solid var(--line);border-radius:28px;padding:28px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;background:var(--bg);transition:.2s}
.principle-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(32,33,31,.08)}
.principle-card:nth-child(2){background:#fff2c7}
.principle-card:nth-child(3){background:#ffe4df}
.principle-card:nth-child(4){background:#f6f4ef}
.principle-icon{width:44px;height:44px;border-radius:15px;background:#fff;display:grid;place-items:center;font-weight:950;font-size:18px}
.principle-card h3{font-size:28px;line-height:1.03;letter-spacing:-.04em;margin:28px 0 10px}
.principle-card p{margin:0;color:var(--sub);line-height:1.6;font-size:14px}
.about-for{padding:104px 0}
.about-for-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-for-col{border-radius:34px;padding:38px;min-height:520px}
.about-for-col.yes{background:var(--coral);color:#fff}
.about-for-col.no{background:#fff;border:1px solid var(--line)}
.about-for-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;opacity:.78}
.about-for-col h2{font-size:clamp(38px,4.4vw,58px);line-height:.98;letter-spacing:-.05em;margin:15px 0 28px}
.about-for-list{display:grid}
.about-for-row{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-top:1px solid currentColor;border-color:rgba(255,255,255,.2)}
.about-for-col.no .about-for-row{border-color:var(--line)}
.about-for-row:first-child{border-top:0}
.about-for-row i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-style:normal;font-weight:900}
.about-for-col.no .about-for-row i{background:#fff0ec;color:var(--coral)}
.about-for-row b{display:block;font-size:15px;margin-bottom:4px}
.about-for-row p{margin:0;font-size:13px;line-height:1.5;opacity:.82}
.about-life{padding:0 0 110px}
.about-life-card{display:grid;grid-template-columns:1.08fr .92fr;min-height:560px;border-radius:38px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.about-life-img{min-height:560px}
.about-life-img img{height:100%;object-fit:cover}
.about-life-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}
.about-life-copy h2{font-size:clamp(38px,4.6vw,60px);line-height:.98;letter-spacing:-.052em;margin:13px 0 18px}
.about-life-copy p{color:var(--sub);line-height:1.65;margin:0 0 26px}
.about-pills{display:flex;gap:8px;flex-wrap:wrap}
.about-pills span{border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:11px;font-weight:850;background:var(--bg)}
.about-final{padding:0 0 95px}
.about-final-card{background:var(--yellow);border-radius:38px;padding:55px;display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:end;position:relative;overflow:hidden}
.about-final-card:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.38);right:-60px;top:-75px}
.about-final-card h2{font-size:clamp(42px,5vw,68px);line-height:.96;letter-spacing:-.055em;margin:0;position:relative}
.about-final-card p{line-height:1.6;margin:0 0 18px;position:relative}
.about-final-card .btn{background:var(--ink);color:#fff;position:relative}

@media(max-width:980px){
  .about-hero-grid,.about-reasons-grid,.about-principles-head,.about-life-card,.about-final-card{grid-template-columns:1fr}
  .about-media{min-height:530px}
  .about-reasons-side{position:static}
  .about-manifesto-grid{grid-template-columns:1fr;gap:24px}
  .about-manifesto-copy{grid-column:1}
  .about-for-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .about-hero{padding:105px 0 65px}
  .about-hero h1{font-size:47px}
  .about-media{min-height:440px}
  .about-main-photo{inset:0 0 48px;border-radius:28px}
  .about-note{right:0;bottom:0;width:220px;padding:16px}
  .about-stamp{left:8px;top:16px}
  .about-intro .wrap{grid-template-columns:1fr;gap:8px}
  .about-intro p{font-size:18px}
  .about-reasons{padding:76px 0}
  .about-reason{grid-template-columns:38px 1fr;gap:14px}
  .about-manifesto{padding:75px 0}
  .about-manifesto-copy{grid-template-columns:1fr}
  .about-principles{padding:76px 0}
  .principle-grid{grid-template-columns:1fr}
  .principle-card{min-height:230px}
  .about-for{padding:76px 0}
  .about-for-col{padding:27px;min-height:0}
  .about-life{padding-bottom:76px}
  .about-life-img{min-height:360px}
  .about-life-copy{padding:29px}
  .about-final{padding-bottom:76px}
  .about-final-card{padding:34px 26px}
}


/* ===== Contacto Hogareza ===== */
.contact-hero{
  padding:150px 0 86px;
  position:relative;
  overflow:hidden;
}
.contact-hero:before{
  content:"";
  position:absolute;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,216,90,.42),rgba(255,216,90,0));
  left:-190px;top:-180px;
}
.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
  gap:72px;
  align-items:center;
  position:relative;
  z-index:2;
}
.contact-copy h1{
  font-size:clamp(52px,6vw,82px);
  line-height:.96;
  letter-spacing:-.06em;
  margin:18px 0 22px;
  max-width:760px;
}
.contact-copy h1 em{font-style:normal;color:var(--coral)}
.contact-copy>p{
  font-size:18px;
  line-height:1.65;
  color:var(--sub);
  margin:0;
  max-width:610px;
}
.contact-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}
.contact-chips span{
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:10px 13px;
  font-size:11px;
  font-weight:850;
}
.contact-media{
  position:relative;
  min-height:590px;
}
.contact-photo{
  position:absolute;
  inset:0 28px 0 0;
  border-radius:40px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.contact-photo img{height:100%;object-position:center}
.contact-card{
  position:absolute;
  right:0;
  bottom:34px;
  width:270px;
  background:var(--yellow);
  border-radius:24px;
  padding:20px;
  box-shadow:0 20px 55px rgba(32,33,31,.15);
}
.contact-card small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:#695c21;
  margin-bottom:7px;
}
.contact-card strong{
  display:block;
  font-size:24px;
  line-height:1.06;
  letter-spacing:-.035em;
}
.contact-main{
  padding:105px 0 115px;
  background:#fff;
}
.contact-grid{
  display:grid;
  grid-template-columns:350px minmax(0,1fr);
  gap:82px;
  align-items:start;
}
.contact-aside{
  position:sticky;
  top:110px;
}
.contact-aside h2{
  font-size:clamp(40px,4.7vw,60px);
  line-height:.98;
  letter-spacing:-.052em;
  margin:13px 0 18px;
}
.contact-aside>p{
  color:var(--sub);
  line-height:1.65;
  margin:0;
}
.contact-reasons{
  margin-top:30px;
  border-top:1px solid var(--line);
}
.contact-reason{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:13px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.contact-reason i{
  width:32px;height:32px;
  border-radius:11px;
  display:grid;place-items:center;
  background:#fff0ec;
  color:var(--coral);
  font-style:normal;
  font-size:12px;
  font-weight:950;
}
.contact-reason b{
  display:block;
  font-size:14px;
  margin:1px 0 3px;
}
.contact-reason span{
  display:block;
  font-size:12px;
  line-height:1.5;
  color:var(--sub);
}
.contact-mini-note{
  margin-top:24px;
  border-radius:18px;
  padding:17px 18px;
  background:var(--bg);
  color:var(--sub);
  font-size:12px;
  line-height:1.55;
}
.contact-mini-note strong{color:var(--ink)}

.contact-form-shell{
  border:1px solid var(--line);
  background:var(--bg);
  border-radius:32px;
  padding:36px;
}
.contact-form-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:start;
  padding-bottom:24px;
  margin-bottom:25px;
  border-bottom:1px solid var(--line);
}
.contact-form-head h2{
  font-size:clamp(32px,3vw,46px);
  line-height:1;
  letter-spacing:-.045em;
  margin:0 0 8px;
}
.contact-form-head p{
  color:var(--sub);
  font-size:13px;
  line-height:1.55;
  margin:0;
  max-width:590px;
}
.contact-form-badge{
  border-radius:999px;
  background:#fff1ca;
  padding:9px 12px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  white-space:nowrap;
}
.contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.contact-field{
  display:grid;
  gap:7px;
  margin-bottom:14px;
}
.contact-field label{
  font-size:11px;
  font-weight:900;
  color:#565a57;
}
.contact-field input,
.contact-field textarea,
.contact-field select{
  width:100%;
  border:1px solid rgba(32,33,31,.14);
  background:#fff;
  border-radius:15px;
  padding:14px 15px;
  color:var(--ink);
  outline:none;
  transition:.18s;
}
.contact-field input:focus,
.contact-field textarea:focus,
.contact-field select:focus{
  border-color:var(--coral);
  box-shadow:0 0 0 4px rgba(255,98,81,.10);
}
.contact-field textarea{
  min-height:170px;
  resize:vertical;
}
.contact-check{
  display:flex;
  gap:9px;
  align-items:flex-start;
  font-size:11px;
  line-height:1.48;
  color:var(--sub);
  margin:11px 0 21px;
}
.contact-check input{
  margin-top:3px;
  accent-color:var(--coral);
}
.contact-check a{
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:850;
}
.contact-submit{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}
.contact-submit small{
  font-size:10px;
  line-height:1.45;
  color:#7c7f7c;
  max-width:380px;
}
.contact-submit .btn{
  border:0;
  min-width:180px;
}
.contact-status{
  display:none;
  margin-top:15px;
  border-radius:14px;
  padding:13px 14px;
  font-size:12px;
  line-height:1.5;
}
.contact-status.show{display:block}
.contact-status[data-state="success"]{background:#e6f3e9;color:#315f40}
.contact-status[data-state="error"]{background:#fff0ec;color:#954234}
.contact-status[data-state="loading"]{background:#f0efeb;color:#606461}
.contact-form-shell button[disabled]{opacity:.58;cursor:wait;transform:none!important}

.contact-next{
  padding:0 0 105px;
  background:#fff;
}
.contact-next-card{
  background:#1e1f1d;
  color:#fff;
  border-radius:34px;
  padding:45px 48px;
}
.contact-next-head{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
  margin-bottom:32px;
}
.contact-next-head h2{
  font-size:clamp(38px,4.5vw,58px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:0;
  max-width:760px;
}
.contact-next-head p{
  margin:0;
  color:#adb1ae;
  line-height:1.6;
  max-width:350px;
}
.contact-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.contact-step{
  border:1px solid rgba(255,255,255,.11);
  border-radius:21px;
  padding:20px;
}
.contact-step span{
  display:inline-grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:10px;
  background:var(--yellow);
  color:var(--ink);
  font-size:11px;
  font-weight:950;
}
.contact-step b{
  display:block;
  margin:19px 0 7px;
  font-size:16px;
}
.contact-step p{
  margin:0;
  color:#aeb2af;
  line-height:1.55;
  font-size:12px;
}
.contact-privacy-note{
  padding:88px 0;
}
.contact-privacy-box{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:50px;
  border-top:1px solid var(--line);
  padding-top:32px;
}
.contact-privacy-box h2{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0;
}
.contact-privacy-box p{
  margin:0;
  color:var(--sub);
  font-size:13px;
  line-height:1.65;
  max-width:840px;
}

@media(max-width:980px){
  .contact-hero-grid,.contact-grid{grid-template-columns:1fr}
  .contact-media{min-height:530px}
  .contact-aside{position:static}
  .contact-next-head{align-items:start;flex-direction:column}
}
@media(max-width:640px){
  .contact-hero{padding:105px 0 68px}
  .contact-copy h1{font-size:47px}
  .contact-media{min-height:430px}
  .contact-photo{inset:0 0 45px;border-radius:28px}
  .contact-card{right:0;bottom:0;width:220px;padding:16px}
  .contact-main{padding:76px 0}
  .contact-form-shell{padding:24px;border-radius:26px}
  .contact-form-head{grid-template-columns:1fr}
  .contact-row{grid-template-columns:1fr}
  .contact-submit{align-items:stretch;flex-direction:column}
  .contact-submit .btn{width:100%}
  .contact-next{padding-bottom:76px}
  .contact-next-card{padding:30px 24px;border-radius:28px}
  .contact-steps{grid-template-columns:1fr}
  .contact-privacy-note{padding:70px 0}
  .contact-privacy-box{grid-template-columns:1fr;gap:12px}
}


/* ===== Legales Hogareza ===== */
.legal-hero{
  padding:145px 0 55px;
  position:relative;
  overflow:hidden;
}
.legal-hero:before{
  content:"";
  position:absolute;
  width:470px;height:470px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,216,90,.45),rgba(255,216,90,0));
  right:-190px;top:-230px;
}
.legal-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:70px;
  align-items:end;
  position:relative;
  z-index:2;
}
.legal-hero h1{
  font-size:clamp(48px,5.7vw,76px);
  line-height:.96;
  letter-spacing:-.058em;
  margin:17px 0 20px;
  max-width:900px;
}
.legal-hero p{
  max-width:760px;
  margin:0;
  color:var(--sub);
  font-size:17px;
  line-height:1.65;
}
.legal-meta{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:20px;
}
.legal-meta small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:9px;
  font-weight:900;
  color:#90938f;
  margin-bottom:6px;
}
.legal-meta strong{
  display:block;
  font-size:15px;
  margin-bottom:14px;
}
.legal-meta strong:last-child{margin-bottom:0}
.legal-strip{
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.42);
}
.legal-strip .wrap{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.legal-strip a{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:9px 12px;
  font-size:11px;
  font-weight:850;
}
.legal-strip a.active{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.legal-layout{
  padding:75px 0 110px;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:75px;
  align-items:start;
}
.legal-toc{
  position:sticky;
  top:105px;
}
.legal-toc-label{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:900;
  color:#969995;
  margin-bottom:14px;
}
.legal-toc nav{
  display:grid;
  border-top:1px solid var(--line);
}
.legal-toc a{
  display:block;
  padding:11px 0;
  border-bottom:1px solid var(--line);
  color:#6d706d;
  font-size:12px;
  font-weight:760;
  line-height:1.4;
}
.legal-toc a:hover{color:var(--coral)}
.legal-readable{
  background:#fff4c8;
  border-radius:22px;
  padding:18px;
  margin-top:22px;
}
.legal-readable small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:6px;
}
.legal-readable p{
  font-size:12px;
  line-height:1.55;
  margin:0;
}
.legal-content{
  max-width:840px;
}
.legal-section{
  scroll-margin-top:100px;
  padding:0 0 38px;
  margin-bottom:38px;
  border-bottom:1px solid var(--line);
}
.legal-section:last-child{
  border-bottom:0;
  margin-bottom:0;
}
.legal-section h2{
  font-size:clamp(29px,3.2vw,42px);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:0 0 17px;
}
.legal-section h3{
  font-size:18px;
  letter-spacing:-.025em;
  margin:24px 0 10px;
}
.legal-section p,
.legal-section li{
  color:#5f635f;
  font-size:14px;
  line-height:1.75;
}
.legal-section p{margin:0 0 15px}
.legal-section ul{
  padding-left:20px;
  margin:10px 0 18px;
}
.legal-section li+li{margin-top:7px}
.legal-section strong{color:var(--ink)}
.legal-section a{
  color:var(--coral);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:820;
}
.legal-note{
  margin:21px 0;
  border-radius:20px;
  background:var(--bg);
  border:1px solid var(--line);
  padding:19px 20px;
}
.legal-note.yellow{background:#fff4c8}
.legal-note.coral{background:#fff0ec}
.legal-note strong{
  display:block;
  margin-bottom:6px;
}
.legal-note p:last-child{margin-bottom:0}
.legal-update{
  margin-top:38px;
  color:#8a8d89;
  font-size:11px;
}
.legal-contact{
  padding:0 0 95px;
}
.legal-contact-card{
  background:var(--yellow);
  border-radius:34px;
  padding:43px 46px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
}
.legal-contact-card h2{
  font-size:clamp(32px,4vw,50px);
  line-height:.98;
  letter-spacing:-.048em;
  margin:0 0 9px;
}
.legal-contact-card p{
  margin:0;
  max-width:690px;
  line-height:1.58;
}
.legal-contact-card .btn{
  background:var(--ink);
  color:#fff;
  white-space:nowrap;
}

@media(max-width:980px){
  .legal-hero-grid,.legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static}
  .legal-toc nav{grid-template-columns:1fr 1fr}
  .legal-meta{max-width:340px}
}
@media(max-width:640px){
  .legal-hero{padding:105px 0 45px}
  .legal-hero h1{font-size:46px}
  .legal-layout{padding:55px 0 78px;gap:38px}
  .legal-toc nav{grid-template-columns:1fr}
  .legal-contact{padding-bottom:76px}
  .legal-contact-card{padding:29px 25px;grid-template-columns:1fr}
  .legal-contact-card .btn{width:100%}
}


/* ===== Directorio Hogareza ===== */
.directory-hero{
  padding:145px 0 68px;
  position:relative;
  overflow:hidden;
}
.directory-hero:before{
  content:"";
  position:absolute;
  width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,216,90,.45),rgba(255,216,90,0));
  right:-200px;top:-240px;
}
.directory-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:68px;
  align-items:end;
  position:relative;
  z-index:2;
}
.directory-hero h1{
  font-size:clamp(52px,6vw,82px);
  line-height:.96;
  letter-spacing:-.06em;
  margin:18px 0 22px;
  max-width:900px;
}
.directory-hero h1 em{font-style:normal;color:var(--coral)}
.directory-hero p{
  max-width:720px;
  color:var(--sub);
  font-size:17px;
  line-height:1.65;
  margin:0;
}
.directory-count{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:24px;
  box-shadow:0 18px 48px rgba(32,33,31,.08);
}
.directory-count small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:#929591;
}
.directory-count strong{
  display:block;
  font-size:46px;
  letter-spacing:-.055em;
  margin:5px 0 4px;
}
.directory-count span{
  font-size:12px;
  line-height:1.5;
  color:var(--sub);
}

.directory-tools{
  padding:0 0 34px;
}
.directory-toolbox{
  background:#1e1f1d;
  color:#fff;
  border-radius:28px;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.directory-search{
  display:flex;
  align-items:center;
  gap:10px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:0 16px;
  min-height:56px;
}
.directory-search span{opacity:.65}
.directory-search input{
  width:100%;
  background:transparent;
  border:0;
  outline:none;
  color:#fff;
  font-size:14px;
}
.directory-search input::placeholder{color:#a9adaa}
.directory-toolbox .btn{
  min-height:56px;
  border:0;
  background:var(--yellow);
  color:var(--ink);
}
.directory-cats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.directory-cat{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:10px 13px;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:.18s;
}
.directory-cat:hover,.directory-cat.active{
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}

.directory-feature{
  padding:28px 0 90px;
}
.directory-feature-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:520px;
  border-radius:38px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
}
.directory-feature-img{
  position:relative;
  min-height:520px;
}
.directory-feature-img:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.18));
}
.directory-feature-img img{height:100%;object-fit:cover}
.directory-feature-copy{
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.directory-feature-copy .eyebrow{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--coral);
}
.directory-feature-copy h2{
  font-size:clamp(38px,4.8vw,61px);
  line-height:.98;
  letter-spacing:-.052em;
  margin:14px 0 17px;
}
.directory-feature-copy p{
  color:var(--sub);
  line-height:1.65;
  margin:0;
  max-width:590px;
}
.directory-meta{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:22px;
}
.directory-meta span{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 10px;
  font-size:10px;
  font-weight:820;
}
.directory-feature-copy .btn{
  width:max-content;
  margin-top:28px;
}

.directory-section{
  padding:0 0 100px;
}
.directory-section-head{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:55px;
  align-items:end;
  margin-bottom:30px;
}
.directory-section-head h2{
  font-size:clamp(38px,4.8vw,62px);
  line-height:.98;
  letter-spacing:-.052em;
  margin:12px 0 0;
}
.directory-section-head p{
  margin:0;
  color:var(--sub);
  line-height:1.65;
}
.directory-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
}
.directory-card{
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  transition:.2s;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.directory-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(32,33,31,.09);
}
.directory-card-img{
  height:220px;
  overflow:hidden;
  background:#ddd;
}
.directory-card-img img{
  height:100%;
  transition:transform .3s ease;
}
.directory-card:hover .directory-card-img img{transform:scale(1.025)}
.directory-card-copy{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.directory-card-cat{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
  color:var(--coral);
}
.directory-card-cat span:last-child{color:#9b9e9a}
.directory-card h3{
  font-size:24px;
  line-height:1.06;
  letter-spacing:-.035em;
  margin:13px 0 10px;
}
.directory-card p{
  margin:0;
  color:var(--sub);
  font-size:13px;
  line-height:1.58;
}
.directory-card-link{
  margin-top:auto;
  padding-top:22px;
  font-size:12px;
  font-weight:900;
}
.directory-empty{
  display:none;
  text-align:center;
  padding:50px 20px;
  border:1px dashed var(--line);
  border-radius:25px;
  color:var(--sub);
}
.directory-empty.show{display:block}
.directory-card.hidden{display:none}

.directory-paths{
  padding:0 0 105px;
}
.directory-paths-head{
  margin-bottom:28px;
}
.directory-paths-head h2{
  font-size:clamp(38px,4.7vw,60px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:12px 0 0;
}
.directory-path-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.directory-path{
  border-radius:28px;
  padding:28px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.directory-path:nth-child(1){background:#ffe2dc}
.directory-path:nth-child(2){background:#fff1bd}
.directory-path:nth-child(3){background:#f1efea}
.directory-path:nth-child(4){background:#1e1f1d;color:#fff}
.directory-path small{
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.directory-path h3{
  font-size:32px;
  line-height:1;
  letter-spacing:-.042em;
  margin:13px 0 12px;
  max-width:440px;
}
.directory-path p{
  margin:0;
  font-size:13px;
  line-height:1.58;
  max-width:500px;
  opacity:.78;
}
.directory-path a{
  margin-top:24px;
  font-size:12px;
  font-weight:900;
}

.directory-newsletter{
  padding:0 0 100px;
}
.directory-newsletter-card{
  background:var(--yellow);
  border-radius:36px;
  padding:48px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:50px;
  align-items:end;
  position:relative;
  overflow:hidden;
}
.directory-newsletter-card:after{
  content:"";
  position:absolute;
  width:210px;height:210px;border-radius:50%;
  background:rgba(255,255,255,.35);
  right:-60px;top:-80px;
}
.directory-newsletter h2{
  font-size:clamp(40px,4.8vw,64px);
  line-height:.96;
  letter-spacing:-.055em;
  margin:0;
  position:relative;
  z-index:2;
}
.directory-newsletter p{
  margin:0 0 18px;
  line-height:1.6;
  position:relative;
  z-index:2;
}
.directory-newsletter .btn{
  background:var(--ink);
  color:#fff;
  position:relative;
  z-index:2;
}

@media(max-width:980px){
  .directory-hero-grid,
  .directory-feature-card,
  .directory-section-head,
  .directory-newsletter-card{grid-template-columns:1fr}
  .directory-count{max-width:330px}
  .directory-feature-img{min-height:430px}
  .directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .directory-hero{padding:105px 0 55px}
  .directory-hero h1{font-size:47px}
  .directory-toolbox{grid-template-columns:1fr}
  .directory-toolbox .btn{width:100%}
  .directory-feature{padding-bottom:72px}
  .directory-feature-card{border-radius:28px}
  .directory-feature-img{min-height:330px}
  .directory-feature-copy{padding:28px}
  .directory-section{padding-bottom:76px}
  .directory-grid{grid-template-columns:1fr}
  .directory-card-img{height:230px}
  .directory-paths{padding-bottom:76px}
  .directory-path-grid{grid-template-columns:1fr}
  .directory-newsletter{padding-bottom:76px}
  .directory-newsletter-card{padding:32px 26px}
}


/* ===== Artículo / Guía Hogareza ===== */
.article-page{background:var(--bg)}
.article-hero{
  padding:132px 0 70px;
  position:relative;
  overflow:hidden;
}
.article-hero:before{
  content:"";
  position:absolute;
  width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,216,90,.42),rgba(255,216,90,0));
  right:-210px;top:-250px;
}
.breadcrumbs{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font-size:10px;
  color:#8a8d89;
  margin-bottom:28px;
}
.breadcrumbs a{font-weight:820}
.breadcrumbs a:hover{color:var(--coral)}
.article-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  gap:62px;
  align-items:center;
  position:relative;
  z-index:2;
}
.article-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--coral);
}
.article-kicker:before{
  content:"";
  width:8px;height:8px;border-radius:3px;
  background:var(--coral);
  transform:rotate(12deg);
}
.article-hero h1{
  font-size:clamp(48px,6vw,78px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:17px 0 20px;
  max-width:900px;
}
.article-deck{
  color:var(--sub);
  font-size:17px;
  line-height:1.68;
  max-width:760px;
  margin:0;
}
.article-deck strong{color:var(--ink)}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.article-meta span{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:8px 11px;
  font-size:10px;
  font-weight:850;
}
.editorial-author{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:24px;
}
.author-photo{
  width:48px;height:48px;border-radius:50%;
  overflow:hidden;
  flex:0 0 48px;
  box-shadow:0 7px 20px rgba(32,33,31,.12);
}
.author-photo img{width:100%;height:100%;object-fit:cover}
.author-copy{
  display:grid;
  gap:2px;
  font-size:11px;
}
.author-copy small{
  color:#8a8d89;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.author-copy a{
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.article-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:27px;
}
.article-visual{
  position:relative;
  min-height:590px;
}
.article-photo{
  position:absolute;
  inset:0 45px 0 0;
  border-radius:40px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.article-photo img{height:100%;object-fit:cover}
.article-float{
  position:absolute;
  right:0;
  bottom:32px;
  width:255px;
  border-radius:24px;
  background:var(--yellow);
  padding:20px;
  box-shadow:0 22px 60px rgba(32,33,31,.14);
}
.article-float small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:#726126;
}
.article-float strong{
  display:block;
  margin-top:7px;
  font-size:23px;
  line-height:1.07;
  letter-spacing:-.035em;
}

.quick{
  padding:0 0 76px;
}
.quick-grid{
  display:grid;
  grid-template-columns:.82fr 1fr 1fr 1fr;
  gap:10px;
}
.quick-intro,.quick-card{
  border-radius:22px;
  padding:20px;
  min-height:180px;
}
.quick-intro{
  background:var(--coral);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.quick-intro small{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.8;
}
.quick-intro strong{
  font-size:28px;
  line-height:1.02;
  letter-spacing:-.035em;
}
.quick-card{
  background:#fff;
  border:1px solid var(--line);
}
.quick-card b{
  display:block;
  font-size:15px;
  line-height:1.25;
  margin-bottom:9px;
}
.quick-card p{
  margin:0;
  color:var(--sub);
  font-size:12px;
  line-height:1.58;
}

.article-main{
  padding:10px 0 105px;
  background:#fff;
}
.article-layout{
  display:grid;
  grid-template-columns:245px minmax(0,780px);
  justify-content:center;
  gap:72px;
  align-items:start;
}
.toc{
  position:sticky;
  top:102px;
  align-self:start;
}
.toc-label{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:900;
  color:#999c98;
  margin-bottom:13px;
}
.toc nav{
  display:grid;
  border-top:1px solid var(--line);
}
.toc nav a{
  padding:10px 0;
  border-bottom:1px solid var(--line);
  color:#717471;
  font-size:11px;
  font-weight:760;
  line-height:1.4;
}
.toc nav a:hover,.toc nav a.active{color:var(--coral)}
.toc-cta{
  margin-top:20px;
  background:#fff2c7;
  border-radius:18px;
  padding:17px;
}
.toc-cta strong{
  display:block;
  font-size:13px;
  margin-bottom:5px;
}
.toc-cta p{
  font-size:11px;
  color:#676a67;
  line-height:1.5;
  margin:0 0 12px;
}
.toc-cta a{
  font-size:11px;
  font-weight:900;
}
.article-body{
  min-width:0;
}
.article-body section{
  scroll-margin-top:100px;
  padding:0 0 46px;
  margin-bottom:46px;
  border-bottom:1px solid var(--line);
}
.article-body section:last-of-type{border-bottom:0}
.section-kicker{
  display:block;
  color:var(--coral);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-weight:900;
  margin-bottom:10px;
}
.article-body h2{
  font-size:clamp(33px,4vw,48px);
  line-height:1;
  letter-spacing:-.048em;
  margin:0 0 18px;
}
.article-body h3{
  font-size:22px;
  line-height:1.12;
  letter-spacing:-.03em;
  margin:28px 0 10px;
}
.article-body p,
.article-body li{
  color:#5c605c;
  font-size:15px;
  line-height:1.77;
}
.article-body p{margin:0 0 17px}
.article-body ul,.article-body ol{
  padding-left:22px;
  margin:10px 0 20px;
}
.article-body li+li{margin-top:8px}
.article-body strong{color:var(--ink)}
.article-body a{
  color:var(--coral);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:800;
}
.lead{
  font-size:18px!important;
  line-height:1.66!important;
  color:#3c403c!important;
}
.definition{
  margin:24px 0;
  border-radius:24px;
  background:var(--yellow);
  padding:24px;
  display:grid;
  grid-template-columns:1fr 185px;
  gap:25px;
  align-items:end;
}
.definition small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:8px;
}
.definition strong{
  display:block;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.definition-side{
  font-size:12px;
  line-height:1.55;
  color:#56523d;
}
.mark{
  background:#fff0ec;
  border:1px solid rgba(255,98,81,.15);
  border-radius:20px;
  padding:19px 20px;
  margin:22px 0;
}
.mark strong{display:block;margin-bottom:5px}
.mark p{margin:0!important;font-size:13px!important}
.compare-table{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  margin:24px 0;
}
.compare-row{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  border-top:1px solid var(--line);
}
.compare-row:first-child{border-top:0}
.compare-row>div{
  padding:14px 16px;
  font-size:12px;
  line-height:1.5;
  border-left:1px solid var(--line);
}
.compare-row>div:first-child{border-left:0;font-weight:850}
.compare-head{
  background:#1e1f1d;
  color:#fff;
}
.compare-head>div{color:#fff!important;font-weight:900!important}
.checklist{
  display:grid;
  gap:9px;
  margin:23px 0;
}
.check-item{
  display:grid;
  grid-template-columns:35px 1fr;
  gap:12px;
  align-items:start;
  background:var(--bg);
  border-radius:16px;
  padding:14px 15px;
}
.check-item i{
  width:28px;height:28px;
  border-radius:10px;
  display:grid;place-items:center;
  background:#fff;
  color:var(--coral);
  font-style:normal;
  font-weight:950;
}
.check-item b{display:block;font-size:13px;margin:2px 0 3px}
.check-item span{font-size:12px;color:var(--sub);line-height:1.5}

.visual-break{
  margin:26px 0 28px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  min-height:360px;
}
.visual-break img{height:100%;position:absolute;inset:0}
.visual-break:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.58));
}
.visual-break-copy{
  position:absolute;
  z-index:2;
  left:24px;right:24px;bottom:22px;
  color:#fff;
}
.visual-break-copy small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.78;
}
.visual-break-copy strong{
  display:block;
  font-size:26px;
  line-height:1.05;
  letter-spacing:-.035em;
  margin-top:7px;
  max-width:600px;
}

.calc-box{
  margin:27px 0;
  background:#1e1f1d;
  color:#fff;
  border-radius:28px;
  padding:24px;
}
.calc-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:end;
  margin-bottom:20px;
}
.calc-head small{
  display:block;
  color:#ff9b8e;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:7px;
}
.calc-head h3{
  color:#fff;
  font-size:31px;
  margin:0;
}
.calc-head span{
  font-size:10px;
  color:#aeb2af;
  max-width:180px;
  text-align:right;
}
.calc-controls{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.calc-control{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  padding:14px;
}
.calc-control label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
  font-weight:900;
  color:#c7cac7;
  margin-bottom:9px;
}
.calc-control b{color:#fff}
.calc-control input[type="range"]{
  width:100%;
  accent-color:var(--yellow);
}
.calc-result{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.calc-result>div{
  border-radius:17px;
  background:#fff;
  color:var(--ink);
  padding:15px;
}
.calc-result small{
  display:block;
  color:#7b7f7b;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.calc-result strong{
  display:block;
  font-size:24px;
  letter-spacing:-.04em;
  margin-top:5px;
}
.calc-result .gold{background:var(--yellow)}
.calc-disclaimer{
  font-size:10px!important;
  line-height:1.55!important;
  color:#9ea29e!important;
  margin:12px 2px 0!important;
}

.steps{
  display:grid;
  gap:10px;
  margin:24px 0;
}
.step{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:15px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.step-num{
  width:40px;height:40px;
  border-radius:13px;
  background:#fff1c5;
  display:grid;place-items:center;
  font-size:11px;
  font-weight:950;
}
.step h3{font-size:18px;margin:2px 0 5px}
.step p{font-size:13px;margin:0!important;line-height:1.55!important}

.faq{
  display:grid;
  gap:9px;
}
.faq-item{
  border:1px solid var(--line);
  border-radius:18px;
  padding:0 17px;
  background:#fff;
}
.faq-item button{
  width:100%;
  border:0;
  background:none;
  padding:17px 0;
  display:flex;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  font-weight:900;
  color:var(--ink);
}
.faq-item p{
  display:none;
  font-size:13px!important;
  line-height:1.62!important;
  margin:-3px 28px 17px 0!important;
}
.faq-item.open p{display:block}
.sources{
  background:var(--bg);
  border-radius:22px;
  padding:21px;
  margin-top:25px;
}
.sources h3{font-size:18px;margin:0 0 12px}
.sources ul{margin:0;padding-left:18px}
.sources li{font-size:12px;line-height:1.55}
.sources p{font-size:10px!important;margin:12px 0 0!important}

.related{
  padding:95px 0;
  background:#fff4e9;
}
.related-head{
  display:flex;
  justify-content:space-between;
  gap:35px;
  align-items:end;
  margin-bottom:28px;
}
.related-head small{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--coral);
}
.related-head h2{
  font-size:clamp(38px,4.7vw,60px);
  line-height:.98;
  letter-spacing:-.052em;
  margin:10px 0 0;
}
.text-link{font-size:12px;font-weight:900}
.related-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.related-card{
  position:relative;
  min-height:370px;
  border-radius:28px;
  overflow:hidden;
}
.related-card img{position:absolute;inset:0;height:100%}
.related-card:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.7));
}
.related-card-copy{
  position:absolute;
  z-index:2;
  left:24px;right:24px;bottom:22px;
  color:#fff;
}
.related-card-copy small{
  font-size:9px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;opacity:.75;
}
.related-card-copy h3{
  font-size:27px;line-height:1.04;letter-spacing:-.035em;margin:8px 0 9px;
}
.related-card-copy span{font-size:11px;font-weight:900}

.article-footer-cta{
  padding:0 0 100px;
  background:#fff4e9;
}
.article-footer-cta .inner{
  background:var(--yellow);
  border-radius:36px;
  padding:50px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:end;
}
.article-footer-cta h2{
  font-size:clamp(42px,5vw,68px);
  line-height:.96;
  letter-spacing:-.055em;
  margin:0;
}
.article-footer-cta p{margin:0 0 18px;line-height:1.6}
.article-footer-cta .btn{background:var(--ink);color:#fff}

@media(max-width:980px){
  .article-hero-grid,.article-layout,.definition,.article-footer-cta .inner{grid-template-columns:1fr}
  .article-layout{max-width:780px}
  .toc{position:static}
  .toc nav{grid-template-columns:1fr 1fr}
  .quick-grid{grid-template-columns:1fr 1fr}
  .article-visual{min-height:520px}
}
@media(max-width:640px){
  .article-hero{padding:105px 0 55px}
  .article-hero h1{font-size:46px}
  .article-visual{min-height:430px}
  .article-photo{inset:0 0 44px;border-radius:28px}
  .article-float{width:220px;right:0;bottom:0;padding:16px}
  .quick{padding-bottom:58px}
  .quick-grid{grid-template-columns:1fr}
  .quick-intro,.quick-card{min-height:0}
  .article-main{padding-bottom:76px}
  .article-layout{gap:35px}
  .toc nav{grid-template-columns:1fr}
  .article-body p,.article-body li{font-size:14px}
  .compare-table{overflow-x:auto}
  .compare-row{min-width:620px}
  .calc-controls{grid-template-columns:1fr}
  .calc-result{grid-template-columns:1fr}
  .calc-head{grid-template-columns:1fr}
  .calc-head span{text-align:left}
  .visual-break{min-height:300px}
  .related{padding:76px 0}
  .related-head{align-items:flex-start;flex-direction:column}
  .related-grid{grid-template-columns:1fr}
  .related-card{min-height:330px}
  .article-footer-cta{padding-bottom:76px}
  .article-footer-cta .inner{padding:32px 26px}
}


/* ===== Artículo Hogareza V2 — editorial/producto ===== */
.article-v2 .article-hero{
  padding:128px 0 54px;
}
.article-v2 .article-hero-grid{
  grid-template-columns:minmax(0,1fr) 430px;
  gap:54px;
  align-items:stretch;
}
.article-v2 .article-hero h1{
  font-size:clamp(50px,6.1vw,80px);
  max-width:840px;
}
.article-v2 .article-deck{
  font-size:18px;
  max-width:780px;
}
.article-v2 .article-actions{margin-top:24px}
.article-v2 .article-meta{margin-top:20px}
.article-v2 .editorial-author{
  margin-top:23px;
  border-top:1px solid var(--line);
  padding-top:18px;
  max-width:560px;
}
.article-v2 .author-photo{
  width:54px;height:54px;flex-basis:54px;
}
.article-v2 .author-copy small{font-size:8px}
.article-v2 .author-copy div{font-size:12px}

.hero-plan{
  background:#1f201e;
  color:#fff;
  border-radius:34px;
  padding:18px;
  min-height:100%;
  box-shadow:0 28px 80px rgba(28,31,28,.17);
  display:flex;
  flex-direction:column;
}
.hero-plan-photo{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:245px;
}
.hero-plan-photo img{height:100%;object-fit:cover}
.hero-plan-photo:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.62));
}
.hero-plan-photo-copy{
  position:absolute;z-index:2;left:18px;right:18px;bottom:16px;
}
.hero-plan-photo-copy small{
  display:block;font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#f4c84f;margin-bottom:5px;
}
.hero-plan-photo-copy strong{
  font-size:24px;line-height:1.03;letter-spacing:-.035em;
}
.hero-plan-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:10px;
}
.hero-plan-stat{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.065);
  border-radius:18px;
  padding:14px;
}
.hero-plan-stat small{
  display:block;
  color:#9da19d;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:900;
}
.hero-plan-stat strong{
  display:block;
  font-size:22px;
  letter-spacing:-.04em;
  margin-top:5px;
}
.hero-plan-step{
  margin-top:10px;
  background:var(--yellow);
  color:var(--ink);
  border-radius:18px;
  padding:15px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.hero-plan-step small{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.hero-plan-step b{
  display:block;
  margin-top:3px;
  font-size:14px;
}
.hero-plan-step span{font-size:20px}

.article-v2 .quick{padding:20px 0 74px}
.fast-route{
  display:grid;
  grid-template-columns:1.1fr repeat(3,1fr);
  gap:11px;
}
.fast-route-main,
.fast-route-card{
  border-radius:24px;
  padding:22px;
}
.fast-route-main{
  background:var(--coral);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:220px;
}
.fast-route-main small{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.82;
}
.fast-route-main strong{
  font-size:33px;
  line-height:1;
  letter-spacing:-.045em;
  max-width:280px;
}
.fast-route-card{
  background:#fff;
  border:1px solid var(--line);
  min-height:220px;
  display:flex;
  flex-direction:column;
}
.fast-route-card .n{
  width:34px;height:34px;border-radius:11px;
  background:var(--bg);
  display:grid;place-items:center;
  font-size:10px;font-weight:950;
  margin-bottom:24px;
}
.fast-route-card b{
  font-size:17px;
  line-height:1.15;
  margin-bottom:7px;
}
.fast-route-card p{
  margin:0;
  color:var(--sub);
  font-size:12px;
  line-height:1.55;
}
.fast-route-card a{
  margin-top:auto;
  padding-top:18px;
  font-size:11px;
  font-weight:900;
}

.article-v2 .article-main{padding-top:44px}
.article-v2 .article-layout{
  grid-template-columns:230px minmax(0,820px);
  gap:62px;
}
.article-v2 .toc{
  top:96px;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:24px;
  padding:18px;
}
.article-v2 .toc nav{border-top:0}
.article-v2 .toc nav a{
  border-bottom:0;
  border-radius:10px;
  padding:8px 9px;
}
.article-v2 .toc nav a:hover,
.article-v2 .toc nav a.active{
  background:#fff;
  color:var(--coral);
}
.article-v2 .toc-cta{
  background:var(--yellow);
  border-radius:15px;
  margin-top:15px;
}
.article-v2 .article-body section{
  padding-bottom:54px;
  margin-bottom:54px;
}
.article-v2 .article-body h2{
  font-size:clamp(35px,4.3vw,51px);
}
.article-v2 .article-body p,
.article-v2 .article-body li{
  font-size:15px;
  line-height:1.8;
}
.article-v2 .lead{
  font-size:19px!important;
  line-height:1.66!important;
}

.action-strip{
  margin:22px 0 27px;
  background:#1e1f1d;
  color:#fff;
  border-radius:22px;
  padding:17px 18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:13px;
  align-items:center;
}
.action-strip .icon{
  width:36px;height:36px;border-radius:12px;
  background:var(--yellow);color:var(--ink);
  display:grid;place-items:center;font-weight:950;
}
.action-strip small{
  display:block;color:#9da09d;font-size:8px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:3px;
}
.action-strip b{font-size:13px}
.action-strip a{
  color:#fff!important;
  font-size:11px;
  white-space:nowrap;
  text-decoration:none!important;
}

.scenario-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:24px 0;
}
.scenario{
  border:1px solid var(--line);
  border-radius:20px;
  padding:17px;
  background:#fff;
}
.scenario:nth-child(2){background:#fff4c8}
.scenario:nth-child(3){background:#fff0ec}
.scenario small{
  display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#888c88;margin-bottom:7px;
}
.scenario strong{
  display:block;font-size:24px;letter-spacing:-.04em;margin-bottom:6px;
}
.scenario p{font-size:11px!important;line-height:1.5!important;margin:0!important}

.example-box{
  border:1px solid var(--line);
  background:var(--bg);
  border-radius:24px;
  padding:23px;
  margin:25px 0;
}
.example-box-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
  margin-bottom:17px;
}
.example-box-head small{
  font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:var(--coral);
}
.example-box-head h3{
  margin:5px 0 0!important;
  font-size:25px!important;
}
.example-chip{
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 10px;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
.example-numbers{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.example-numbers div{
  background:#fff;
  border-radius:15px;
  padding:12px;
}
.example-numbers small{
  display:block;
  font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#8c908c;
}
.example-numbers b{
  display:block;
  margin-top:4px;
  font-size:17px;
  letter-spacing:-.03em;
}
.example-box p.note{
  font-size:10px!important;
  line-height:1.5!important;
  color:#858985!important;
  margin:13px 0 0!important;
}

.decision{
  margin:25px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
}
.decision-card{
  border-radius:22px;
  padding:20px;
  min-height:190px;
}
.decision-card.yes{background:#e8f3ea}
.decision-card.watch{background:#fff1bd}
.decision-card.no{background:#ffe0da}
.decision-card small{
  display:block;
  font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-bottom:9px;
}
.decision-card h3{
  margin:0 0 8px!important;
  font-size:22px!important;
}
.decision-card p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.58!important;
}

.quote-big{
  margin:28px 0;
  padding:30px;
  border-radius:26px;
  background:var(--coral);
  color:#fff;
}
.quote-big small{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.75;
  margin-bottom:9px;
}
.quote-big strong{
  display:block;
  font-size:32px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.quote-big p{
  color:rgba(255,255,255,.82)!important;
  font-size:12px!important;
  margin:11px 0 0!important;
}

.progress-steps{
  margin:24px 0;
  display:grid;
  gap:0;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
}
.progress-step{
  display:grid;
  grid-template-columns:58px 1fr 120px;
  gap:14px;
  align-items:center;
  padding:17px 18px;
  border-top:1px solid var(--line);
  background:#fff;
}
.progress-step:first-child{border-top:0}
.progress-step .num{
  width:38px;height:38px;border-radius:12px;background:var(--bg);display:grid;place-items:center;font-size:10px;font-weight:950;
}
.progress-step b{display:block;font-size:14px;margin-bottom:3px}
.progress-step p{margin:0!important;font-size:11px!important;line-height:1.45!important}
.progress-step .when{
  text-align:right;
  color:#8b8e8a;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.author-box{
  margin:30px 0 0;
  border-top:1px solid var(--line);
  padding-top:22px;
  display:grid;
  grid-template-columns:78px 1fr;
  gap:16px;
  align-items:center;
}
.author-box-img{
  width:78px;height:78px;border-radius:22px;overflow:hidden;
}
.author-box small{
  display:block;
  color:#8a8d89;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.author-box strong{
  display:block;
  font-size:17px;
  margin:4px 0 5px;
}
.author-box p{
  font-size:11px!important;
  line-height:1.52!important;
  margin:0!important;
}
.author-box a{
  display:inline-block;
  margin-top:7px;
  font-size:10px;
}

.article-v2 .related-grid{
  grid-template-columns:1.25fr .75fr;
}
.article-v2 .related-card:first-child{min-height:420px}
.article-v2 .related-card:last-child{min-height:420px}

@media(max-width:980px){
  .article-v2 .article-hero-grid{grid-template-columns:1fr}
  .hero-plan{max-width:640px}
  .fast-route{grid-template-columns:1fr 1fr}
  .article-v2 .toc{position:static}
  .scenario-grid{grid-template-columns:1fr}
  .example-numbers{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .article-v2 .article-hero{padding-top:102px}
  .article-v2 .article-hero h1{font-size:46px}
  .hero-plan{border-radius:26px}
  .hero-plan-photo{min-height:220px}
  .hero-plan-summary{grid-template-columns:1fr 1fr}
  .fast-route{grid-template-columns:1fr}
  .fast-route-main,.fast-route-card{min-height:0}
  .article-v2 .article-main{padding-top:18px}
  .article-v2 .toc{border-radius:19px}
  .action-strip{grid-template-columns:38px 1fr}
  .action-strip a{grid-column:2}
  .decision{grid-template-columns:1fr}
  .example-numbers{grid-template-columns:1fr 1fr}
  .progress-step{grid-template-columns:44px 1fr}
  .progress-step .when{grid-column:2;text-align:left}
  .author-box{grid-template-columns:64px 1fr}
  .author-box-img{width:64px;height:64px;border-radius:18px}
  .article-v2 .related-grid{grid-template-columns:1fr}
}


/* ===== Artículo Hogareza V3 — hero limpio + overlays legibles ===== */

/* Evitar que el color general de strong/h3 pise textos sobre imágenes */
.article-page .visual-break-copy,
.article-page .visual-break-copy strong,
.article-page .visual-break-copy small,
.article-page .related-card-copy,
.article-page .related-card-copy h3,
.article-page .related-card-copy small,
.article-page .related-card-copy span,
.article-page .article-cover-copy,
.article-page .article-cover-copy strong,
.article-page .article-cover-copy small{
  color:#fff!important;
}

/* Más contraste sobre imágenes */
.article-v2 .visual-break:after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 30%,rgba(0,0,0,.78) 100%)!important;
}
.article-v2 .visual-break-copy{
  left:28px!important;
  right:28px!important;
  bottom:25px!important;
  max-width:760px;
}
.article-v2 .visual-break-copy strong{
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.03!important;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}

/* Hero completamente simplificado */
.article-v2 .article-hero{
  padding:126px 0 58px!important;
}
.article-clean-head{
  max-width:1040px;
  margin:0 auto;
  text-align:center;
  position:relative;
  z-index:2;
}
.article-clean-head .breadcrumbs{
  justify-content:center;
  margin-bottom:24px;
}
.article-clean-head .article-kicker{
  justify-content:center;
}
.article-clean-head h1{
  font-size:clamp(50px,6.3vw,84px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:18px auto 20px;
  max-width:1000px;
}
.article-clean-head .article-deck{
  margin:0 auto;
  max-width:760px;
  font-size:18px;
  line-height:1.66;
}
.article-clean-head .article-meta{
  justify-content:center;
  margin-top:22px;
}
.article-clean-head .editorial-author{
  width:max-content;
  max-width:100%;
  margin:21px auto 0;
  padding-top:0;
  border-top:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:7px 14px 7px 7px;
}
.article-clean-head .author-photo{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
}
.article-clean-head .article-actions{
  justify-content:center;
  margin-top:22px;
}

.article-cover{
  margin:38px auto 0;
  max-width:1180px;
  position:relative;
  border-radius:38px;
  overflow:hidden;
  aspect-ratio:16 / 7.2;
  min-height:430px;
  box-shadow:0 28px 75px rgba(32,33,31,.14);
}
.article-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.article-cover:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.68) 100%);
}
.article-cover-copy{
  position:absolute;
  z-index:2;
  left:32px;
  right:32px;
  bottom:28px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
}
.article-cover-copy>div{
  max-width:670px;
}
.article-cover-copy small{
  display:block;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  opacity:.8;
  margin-bottom:8px;
}
.article-cover-copy strong{
  display:block;
  font-size:clamp(26px,3.3vw,40px);
  line-height:1.02;
  letter-spacing:-.04em;
  text-shadow:0 3px 20px rgba(0,0,0,.35);
}
.article-cover-badge{
  flex:0 0 auto;
  background:var(--yellow);
  color:var(--ink)!important;
  border-radius:999px;
  padding:11px 14px;
  font-size:10px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 8px 25px rgba(0,0,0,.15);
}

/* El resumen respira más tras el hero */
.article-v2 .quick{
  padding-top:28px!important;
}

/* Related también siempre legible */
.article-v2 .related-card:after{
  background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.78))!important;
}
.article-v2 .related-card-copy h3{
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}

/* Ajustar imágenes de contenido */
.article-v2 .visual-break{
  border-radius:24px!important;
  min-height:340px!important;
}

@media(max-width:980px){
  .article-clean-head{
    max-width:820px;
  }
  .article-cover{
    aspect-ratio:16/8.5;
    min-height:390px;
  }
}
@media(max-width:640px){
  .article-v2 .article-hero{
    padding-top:102px!important;
    padding-bottom:42px!important;
  }
  .article-clean-head{
    text-align:left;
  }
  .article-clean-head .breadcrumbs,
  .article-clean-head .article-kicker,
  .article-clean-head .article-meta,
  .article-clean-head .article-actions{
    justify-content:flex-start;
  }
  .article-clean-head h1{
    font-size:45px;
    margin-left:0;
    margin-right:0;
  }
  .article-clean-head .article-deck{
    margin-left:0;
    margin-right:0;
    font-size:16px;
  }
  .article-clean-head .editorial-author{
    margin-left:0;
    margin-right:0;
  }
  .article-cover{
    margin-top:28px;
    border-radius:28px;
    aspect-ratio:auto;
    min-height:390px;
  }
  .article-cover img{
    object-position:center;
  }
  .article-cover-copy{
    left:20px;
    right:20px;
    bottom:20px;
    display:block;
  }
  .article-cover-copy strong{
    font-size:28px;
  }
  .article-cover-badge{
    display:inline-block;
    margin-top:14px;
  }
  .article-v2 .visual-break-copy{
    left:20px!important;
    right:20px!important;
    bottom:19px!important;
  }
  .article-v2 .visual-break-copy strong{
    font-size:25px!important;
  }
}


/* ===== Selector de idioma ===== */
.footer-language{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
}
.footer-language-label{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:#858985;
  margin-right:3px;
}
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
}
.lang-switch a{
  min-width:38px;
  height:30px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#b9bcb9;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  transition:.18s;
}
.lang-switch a:hover{color:#fff}
.lang-switch a.active{
  background:#fff;
  color:#1e1f1d;
}
@media(max-width:640px){
  .footer-language{margin-top:14px}
}


/* ===== Artículos Hogareza V4 — hero compacto (base para próximos artículos) ===== */
.article-page.article-v2 .article-hero{
  padding:108px 0 38px!important;
}
.article-page.article-v2 .article-clean-head{
  max-width:980px;
}
.article-page.article-v2 .article-clean-head .breadcrumbs{
  margin-bottom:16px;
}
.article-page.article-v2 .article-clean-head h1{
  font-size:clamp(44px,5.45vw,72px);
  line-height:.96;
  margin:13px auto 14px;
  max-width:940px;
}
.article-page.article-v2 .article-clean-head .article-deck{
  max-width:740px;
  font-size:16px;
  line-height:1.58;
}
.article-page.article-v2 .article-clean-head .article-meta{
  margin-top:15px;
}
.article-page.article-v2 .article-clean-head .article-meta span{
  padding:7px 10px;
}
.article-page.article-v2 .article-clean-head .editorial-author{
  margin-top:14px;
  padding:5px 12px 5px 5px;
}
.article-page.article-v2 .article-clean-head .author-photo{
  width:38px!important;
  height:38px!important;
  flex-basis:38px!important;
}
.article-page.article-v2 .article-clean-head .article-actions{
  margin-top:15px;
}
.article-page.article-v2 .article-cover{
  margin-top:25px;
  aspect-ratio:16 / 5.15;
  min-height:315px;
  max-width:1140px;
  border-radius:32px;
}
.article-page.article-v2 .article-cover-copy{
  left:26px;
  right:26px;
  bottom:22px;
}
.article-page.article-v2 .article-cover-copy strong{
  font-size:clamp(24px,2.8vw,35px);
}
.article-page.article-v2 .article-cover-badge{
  padding:9px 12px;
}
.article-page.article-v2 .quick{
  padding-top:14px!important;
  padding-bottom:58px!important;
}
.article-page.article-v2 .fast-route-main,
.article-page.article-v2 .fast-route-card{
  min-height:195px;
}

@media(max-width:980px){
  .article-page.article-v2 .article-hero{
    padding-top:100px!important;
  }
  .article-page.article-v2 .article-cover{
    aspect-ratio:16/6.5;
    min-height:300px;
  }
}
@media(max-width:640px){
  .article-page.article-v2 .article-hero{
    padding:92px 0 32px!important;
  }
  .article-page.article-v2 .article-clean-head h1{
    font-size:40px;
    margin-top:11px;
    margin-bottom:13px;
  }
  .article-page.article-v2 .article-clean-head .article-deck{
    font-size:15px;
    line-height:1.55;
  }
  .article-page.article-v2 .article-clean-head .article-meta{
    gap:6px;
  }
  .article-page.article-v2 .article-clean-head .article-meta span{
    font-size:9px;
    padding:6px 9px;
  }
  .article-page.article-v2 .article-clean-head .editorial-author{
    margin-top:12px;
  }
  .article-page.article-v2 .article-clean-head .article-actions{
    margin-top:13px;
  }
  .article-page.article-v2 .article-cover{
    margin-top:21px;
    min-height:285px;
    aspect-ratio:auto;
    border-radius:24px;
  }
  .article-page.article-v2 .article-cover-copy{
    left:18px;
    right:18px;
    bottom:17px;
  }
  .article-page.article-v2 .article-cover-copy strong{
    font-size:25px;
  }
  .article-page.article-v2 .article-cover-badge{
    margin-top:10px;
    padding:8px 10px;
    font-size:9px;
  }
  .article-page.article-v2 .quick{
    padding-top:8px!important;
    padding-bottom:46px!important;
  }
}


/* ===== ARTÍCULOS HOGAREZA V5 — mobile rebuild inspirado en Habitena ===== */
.mobile-float-cta{display:none}

@media(max-width:720px){
  /* Base móvil */
  body.article-page{
    padding-bottom:84px;
    overflow-x:hidden;
  }
  .article-page .wrap{
    width:min(100% - 30px,var(--max));
  }

  /* Header */
  .article-page .header{padding:11px 0}
  .article-page .logo{width:136px;height:40px}
  .article-page .mobilemenu.open{
    top:68px;
    left:14px;
    right:14px;
    border-radius:20px;
  }

  /* Hero: deja de intentar parecer desktop */
  .article-page.article-v2 .article-hero{
    padding:88px 0 26px!important;
  }
  .article-page .article-clean-head{
    max-width:none!important;
    text-align:left!important;
  }
  .article-page .article-clean-head .breadcrumbs{
    display:none;
  }
  .article-page .article-clean-head .article-kicker{
    justify-content:flex-start!important;
    font-size:9px;
    letter-spacing:.105em;
  }
  .article-page.article-v2 .article-clean-head h1{
    font-size:clamp(38px,11.1vw,48px)!important;
    line-height:.96!important;
    letter-spacing:-.052em!important;
    margin:12px 0 14px!important;
    max-width:none!important;
  }
  .article-page.article-v2 .article-clean-head .article-deck{
    font-size:16px!important;
    line-height:1.56!important;
    margin:0!important;
    max-width:none!important;
  }
  .article-page .article-clean-head .article-meta{
    display:flex;
    justify-content:flex-start!important;
    gap:6px!important;
    margin-top:15px!important;
  }
  .article-page .article-clean-head .article-meta span{
    font-size:8px!important;
    line-height:1.2;
    padding:7px 9px!important;
  }

  /* Autor: tarjeta horizontal, no píldora forzada */
  .article-page .article-clean-head .editorial-author{
    width:100%!important;
    margin:13px 0 0!important;
    padding:9px!important;
    border-radius:18px!important;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
  }
  .article-page .article-clean-head .author-photo{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
  .article-page .article-clean-head .author-copy{
    min-width:0;
  }
  .article-page .article-clean-head .author-copy div{
    font-size:11px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }

  /* Botones como Habitena: ancho completo */
  .article-page .article-clean-head .article-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:13px!important;
    justify-content:stretch!important;
  }
  .article-page .article-clean-head .article-actions .btn{
    width:100%;
    min-height:50px;
  }

  /* Imagen de portada: imagen arriba + copy abajo, sin overlay */
  .article-page.article-v2 .article-cover{
    margin-top:18px!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    border-radius:25px!important;
    display:grid;
    grid-template-columns:1fr;
    overflow:hidden;
    background:var(--ink);
    box-shadow:0 18px 48px rgba(32,33,31,.12);
  }
  .article-page .article-cover:after{
    display:none!important;
  }
  .article-page .article-cover img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:255px!important;
    object-fit:cover!important;
    object-position:50% 45%!important;
  }
  .article-page .article-cover-copy{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:block!important;
    padding:22px 20px 21px!important;
    background:var(--ink);
    color:#fff!important;
  }
  .article-page .article-cover-copy small{
    font-size:8px!important;
    margin-bottom:7px!important;
  }
  .article-page .article-cover-copy strong{
    font-size:27px!important;
    line-height:1.03!important;
    text-shadow:none!important;
  }
  .article-page .article-cover-badge{
    display:inline-flex!important;
    margin-top:13px!important;
    padding:8px 10px!important;
    font-size:8px!important;
  }

  /* Resumen */
  .article-page.article-v2 .quick{
    padding:8px 0 46px!important;
  }
  .article-page .fast-route{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .article-page .fast-route-main,
  .article-page .fast-route-card{
    min-height:0!important;
    padding:19px!important;
    border-radius:20px!important;
  }
  .article-page .fast-route-main strong{
    font-size:28px;
    max-width:none;
    margin-top:32px;
  }
  .article-page .fast-route-card .n{
    margin-bottom:14px;
  }

  /* Estructura del artículo */
  .article-page.article-v2 .article-main{
    padding:22px 0 68px!important;
  }
  .article-page.article-v2 .article-layout{
    display:block!important;
    max-width:none!important;
  }

  /* Índice: misma lógica de Habitena, una tarjeta a una columna */
  .article-page.article-v2 .toc{
    position:static!important;
    margin:0 0 34px!important;
    padding:17px!important;
    border:1px solid var(--line)!important;
    border-radius:20px!important;
    background:var(--bg)!important;
  }
  .article-page .toc-label{
    margin-bottom:8px;
  }
  .article-page .toc nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1px!important;
    border:0!important;
  }
  .article-page.article-v2 .toc nav a{
    padding:8px 8px!important;
    border:0!important;
    border-radius:9px!important;
    font-size:11px!important;
  }
  .article-page .toc-cta{
    display:none!important;
  }

  /* Tipografía editorial */
  .article-page .article-body{
    width:100%;
    min-width:0;
  }
  .article-page .article-body section{
    padding-bottom:48px!important;
    margin-bottom:48px!important;
  }
  .article-page .article-body h2{
    font-size:clamp(34px,10vw,41px)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere;
  }
  .article-page .article-body h3{
    font-size:22px!important;
    line-height:1.12!important;
  }
  .article-page .article-body p,
  .article-page .article-body li{
    font-size:16px!important;
    line-height:1.72!important;
    overflow-wrap:anywhere;
  }
  .article-page .article-body .lead{
    font-size:18px!important;
    line-height:1.62!important;
  }

  /* Bloques editoriales */
  .article-page .quote-big{
    padding:22px!important;
    border-radius:21px!important;
  }
  .article-page .quote-big strong{
    font-size:27px!important;
  }
  .article-page .action-strip{
    grid-template-columns:38px minmax(0,1fr)!important;
    padding:15px!important;
    border-radius:18px!important;
    gap:10px!important;
  }
  .article-page .action-strip a{
    grid-column:2!important;
    white-space:normal!important;
  }
  .article-page .check-item{
    grid-template-columns:34px minmax(0,1fr)!important;
    padding:13px!important;
  }

  /* Ejemplos / cifras */
  .article-page .example-box{
    padding:18px!important;
    border-radius:20px!important;
  }
  .article-page .example-box-head{
    display:block!important;
  }
  .article-page .example-chip{
    display:inline-block;
    margin-top:11px;
  }
  .article-page .example-numbers{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .article-page .example-numbers div{
    min-width:0;
  }
  .article-page .example-numbers b{
    font-size:16px!important;
    overflow-wrap:anywhere;
  }
  .article-page .scenario-grid,
  .article-page .decision{
    grid-template-columns:1fr!important;
  }
  .article-page .scenario,
  .article-page .decision-card{
    min-height:0!important;
  }

  /* Imágenes editoriales: como Habitena, NO texto montado sobre foto en móvil */
  .article-page.article-v2 .visual-break{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    margin:28px 0 4px!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:var(--ink)!important;
  }
  .article-page .visual-break:after{
    display:none!important;
  }
  .article-page .visual-break img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:255px!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:50% 43%!important;
  }
  .article-page .visual-break-copy{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    padding:25px 21px 27px!important;
    background:var(--ink)!important;
    color:#fff!important;
  }
  .article-page .visual-break-copy strong{
    font-size:29px!important;
    line-height:1.05!important;
    color:#fff!important;
    text-shadow:none!important;
  }

  /* Tablas */
  .article-page .compare-table{
    display:block!important;
    width:100%;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    border-radius:18px!important;
  }
  .article-page .compare-row{
    min-width:620px!important;
  }

  /* Simulador: una columna real */
  .article-page .calc-box{
    padding:18px!important;
    border-radius:22px!important;
    overflow:hidden;
  }
  .article-page .calc-head{
    display:block!important;
  }
  .article-page .calc-head h3{
    font-size:28px!important;
  }
  .article-page .calc-head span{
    display:block;
    max-width:none!important;
    text-align:left!important;
    margin-top:7px;
  }
  .article-page .calc-controls,
  .article-page .calc-result{
    grid-template-columns:1fr!important;
  }
  .article-page .calc-control{
    min-width:0;
  }
  .article-page .calc-control label{
    gap:8px;
    align-items:flex-start;
  }
  .article-page .calc-control label b{
    white-space:nowrap;
  }
  .article-page .calc-result>div{
    min-width:0;
  }
  .article-page .calc-result strong{
    font-size:22px!important;
    overflow-wrap:anywhere;
  }

  /* Timeline / pasos */
  .article-page .progress-steps{
    border-radius:20px!important;
  }
  .article-page .progress-step{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px!important;
  }
  .article-page .progress-step .when{
    grid-column:2!important;
    text-align:left!important;
    margin-top:3px;
  }

  /* FAQ y fuentes */
  .article-page .faq-item{
    padding:0 15px!important;
  }
  .article-page .faq-item button{
    gap:12px!important;
    font-size:14px;
  }
  .article-page .faq-item p{
    margin:-3px 0 16px!important;
  }
  .article-page .author-box{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:13px!important;
  }
  .article-page .author-box-img{
    width:62px!important;
    height:62px!important;
  }
  .article-page .sources{
    padding:18px!important;
    overflow:hidden;
  }
  .article-page .sources a,
  .article-page .sources li{
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  /* Relacionados: imagen arriba + texto abajo */
  .article-page .related{
    padding:68px 0!important;
  }
  .article-page .related-head{
    display:block!important;
    margin-bottom:20px!important;
  }
  .article-page .related-head h2{
    font-size:39px!important;
  }
  .article-page .related-head .text-link{
    display:inline-block;
    margin-top:12px;
  }
  .article-page.article-v2 .related-grid{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  .article-page.article-v2 .related-card,
  .article-page.article-v2 .related-card:first-child,
  .article-page.article-v2 .related-card:last-child{
    min-height:0!important;
    display:grid!important;
    grid-template-rows:220px auto!important;
    background:#fff!important;
    border:1px solid var(--line);
    border-radius:22px!important;
  }
  .article-page .related-card:after{
    display:none!important;
  }
  .article-page .related-card img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:220px!important;
    object-fit:cover!important;
  }
  .article-page .related-card-copy{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    padding:19px!important;
    color:var(--ink)!important;
  }
  .article-page .related-card-copy small{
    color:var(--coral)!important;
  }
  .article-page .related-card-copy h3{
    color:var(--ink)!important;
    font-size:24px!important;
    text-shadow:none!important;
  }
  .article-page .related-card-copy span{
    color:var(--ink)!important;
  }

  /* CTA final */
  .article-page .article-footer-cta{
    padding:0 0 64px!important;
  }
  .article-page .article-footer-cta .inner{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding:28px 23px!important;
    border-radius:26px!important;
  }
  .article-page .article-footer-cta h2{
    font-size:40px!important;
  }
  .article-page .article-footer-cta .btn{
    width:100%;
  }

  /* Footer */
  .article-page .foot-top{
    align-items:flex-start;
    flex-direction:column;
  }
  .article-page .foot-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:12px;
  }

  /* CTA flotante móvil, como Habitena */
  .article-page .mobile-float-cta{
    display:flex;
    position:fixed;
    z-index:1200;
    left:14px;
    right:14px;
    bottom:calc(12px + env(safe-area-inset-bottom,0px));
    min-height:58px;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 20px;
    border-radius:999px;
    background:var(--ink);
    color:#fff;
    font-size:14px;
    font-weight:900;
    letter-spacing:-.01em;
    box-shadow:0 14px 36px rgba(32,33,31,.24);
    border:1px solid rgba(255,255,255,.14);
  }
  .article-page .mobile-float-cta span{
    display:inline-grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--yellow);
    color:var(--ink);
    font-size:15px;
    font-weight:950;
  }
}

/* Extra safety for very narrow phones */
@media(max-width:360px){
  .article-page .wrap{width:min(100% - 24px,var(--max))}
  .article-page.article-v2 .article-clean-head h1{font-size:36px!important}
  .article-page .example-numbers{grid-template-columns:1fr!important}
  .article-page .foot-links{grid-template-columns:1fr!important}
  .article-page .article-cover img,
  .article-page .visual-break img{height:230px!important}
}

/* production */
.is-upcoming{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;opacity:.55;cursor:default}.directory-card-link.is-upcoming{margin-top:auto;padding-top:22px}.directory-path .is-upcoming{margin-top:24px}

.guide-upcoming{display:block;overflow:hidden;border-radius:inherit;opacity:.82}.guide-upcoming .gcopy span{opacity:.6}


/* ===== Decreto vivienda — capa de conversión Hogareza ===== */
.article-conversion-band{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto 54px;
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:24px 26px;
  border:1px solid rgba(32,33,31,.1);
  border-radius:28px;
  background:linear-gradient(120deg,#fff 0%,#fff3e9 100%);
  box-shadow:0 20px 60px rgba(32,33,31,.07);
}
.conversion-band-icon{
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  background:var(--yellow);font-size:28px;font-weight:950;color:var(--ink);
}
.conversion-band-copy small,
.brand-solution small,
.lead-funnel-card small{
  display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--coral);
  margin-bottom:6px;
}
.conversion-band-copy h2{
  font-size:27px;line-height:1.04;letter-spacing:-.04em;margin:0 0 6px;max-width:720px;
}
.conversion-band-copy p{margin:0;color:var(--sub);font-size:13px;line-height:1.5;max-width:760px}
.conversion-band-action{text-align:right;min-width:240px}
.conversion-band-action .btn{white-space:nowrap}
.conversion-band-action span{display:block;margin-top:7px;color:var(--sub);font-size:9px}

.conversion-mini{
  margin:28px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:22px;
  border-radius:22px;
  background:var(--ink);
  color:#fff;
}
.conversion-mini small{display:block;color:var(--yellow);font-weight:900;text-transform:uppercase;font-size:9px;letter-spacing:.1em;margin-bottom:5px}
.conversion-mini strong{display:block;font-size:24px;line-height:1.08;letter-spacing:-.035em;color:#fff}
.conversion-mini p{margin:7px 0 0!important;color:rgba(255,255,255,.68)!important;font-size:13px!important;line-height:1.5!important;max-width:700px}
.btn-dark{background:#fff;color:var(--ink);border-color:#fff}

.conversion-route{
  margin:28px 0 8px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
}
.conversion-route-head small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--coral);font-weight:950;margin-bottom:6px}
.conversion-route-head h3{margin:0;max-width:760px}
.conversion-route-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:19px 0;
}
.conversion-route-grid>div{
  padding:18px;border-radius:18px;background:var(--bg);border:1px solid var(--line);
}
.conversion-route-grid span{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yellow);
  font-size:10px;font-weight:950;margin-bottom:16px;
}
.conversion-route-grid b{display:block;font-size:15px;line-height:1.15;margin-bottom:6px}
.conversion-route-grid p{font-size:12px!important;line-height:1.5!important;color:var(--sub);margin:0!important}

.brand-solution{
  margin:28px 0;
  padding:25px;
  background:#fff4ea;
  border:1px solid rgba(255,98,81,.16);
  border-radius:28px;
}
.brand-solution-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:20px}
.brand-solution-top h3{margin:0;max-width:700px;font-size:30px!important}
.brand-solution-mark{
  flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:var(--coral);
  color:#fff;font-size:29px;
}
.brand-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.brand-solution-grid>div{padding:18px;background:#fff;border-radius:18px;border:1px solid rgba(32,33,31,.08)}
.brand-solution-grid i{
  display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--yellow);
  color:var(--ink);font-style:normal;font-weight:950;font-size:10px;margin-bottom:15px;
}
.brand-solution-grid b{display:block;font-size:14px;margin-bottom:6px}
.brand-solution-grid p{margin:0!important;font-size:12px!important;line-height:1.5!important;color:var(--sub)}

.lead-funnel-placeholder{
  scroll-margin-top:100px;
  margin:8px 0 52px;
}
.lead-funnel-shell{
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:28px;
  background:linear-gradient(135deg,#20211f 0%,#292a27 100%);
  color:#fff;
  border-radius:32px;
  overflow:hidden;
  position:relative;
}
.lead-funnel-shell:before{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:var(--coral);
  filter:blur(0);opacity:.16;right:-110px;top:-150px;
}
.lead-funnel-copy{position:relative;z-index:2;padding:10px 0}
.lead-funnel-copy .section-kicker{color:var(--yellow)}
.lead-funnel-copy h2{color:#fff!important;margin-top:10px!important;font-size:40px!important;max-width:650px}
.lead-funnel-copy p{color:rgba(255,255,255,.7)!important;max-width:680px}
.lead-trust{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.lead-trust span{
  padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:9px;font-weight:850;color:#fff;
}
.lead-funnel-card{
  position:relative;z-index:2;
  background:#fff;color:var(--ink);
  padding:24px;border-radius:24px;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center;
}
.lead-funnel-card strong{display:block;font-size:28px;line-height:1.04;letter-spacing:-.04em;margin-bottom:8px}
.lead-funnel-card p{font-size:13px!important;line-height:1.55!important;color:var(--sub)!important;margin:0 0 18px!important}
.lead-funnel-card .btn{width:100%}
.lead-funnel-note{font-size:9px;color:var(--sub);text-align:center;margin-top:9px}

@media(max-width:900px){
  .article-conversion-band{grid-template-columns:58px 1fr}
  .conversion-band-action{grid-column:2;text-align:left}
  .conversion-route-grid,.brand-solution-grid{grid-template-columns:1fr}
  .lead-funnel-shell{grid-template-columns:1fr}
}
@media(max-width:720px){
  .article-conversion-band{
    width:min(100% - 30px,1180px);
    grid-template-columns:1fr;
    gap:14px;
    padding:20px;
    margin-bottom:40px;
  }
  .conversion-band-icon{width:48px;height:48px;border-radius:15px}
  .conversion-band-copy h2{font-size:25px}
  .conversion-band-action{grid-column:1;text-align:left;min-width:0}
  .conversion-band-action .btn{width:100%;white-space:normal}
  .conversion-mini{grid-template-columns:1fr;padding:19px}
  .conversion-mini .btn{width:100%}
  .conversion-route{padding:18px}
  .conversion-route-grid{grid-template-columns:1fr}
  .conversion-route .btn{width:100%}
  .brand-solution{padding:19px}
  .brand-solution-top{display:block}
  .brand-solution-mark{margin-top:15px}
  .brand-solution-top h3{font-size:27px!important}
  .brand-solution-grid{grid-template-columns:1fr}
  .lead-funnel-shell{padding:21px;border-radius:25px}
  .lead-funnel-copy h2{font-size:34px!important}
  .lead-funnel-card{padding:20px}
}


/* ===== HOTFIX CTA artículos — evitar herencia de color de enlaces editoriales ===== */
/* La regla general .article-body a es para enlaces de texto. Los botones nunca deben heredarla. */
.article-page a.btn,
.article-page .article-body a.btn,
.article-page .article-body a[class~="btn"]{
  text-decoration:none!important;
  text-underline-offset:0!important;
}
.article-page a.btn-main,
.article-page .article-body a.btn-main{
  color:#fff!important;
}
.article-page a.btn-light,
.article-page .article-body a.btn-light{
  color:var(--ink)!important;
}
.article-page a.btn-dark,
.article-page .article-body a.btn-dark{
  color:var(--ink)!important;
}
.article-page .conversion-route a.btn-main,
.article-page .lead-funnel-card a.btn-main,
.article-page .conversion-band-action a.btn-main{
  color:#fff!important;
  text-decoration:none!important;
}
.article-page .article-footer-cta a.btn{
  color:#fff!important;
  text-decoration:none!important;
}
.article-page a.btn:visited,
.article-page a.btn-main:visited{
  color:#fff!important;
}
.article-page a.btn-light:visited,
.article-page a.btn-dark:visited{
  color:var(--ink)!important;
}




/* ===== Footer V3 — producción estable ===== */
.footer{
  padding:58px 0 28px;
  background:#1e1f1d;
  color:#fff;
}
.footer .footer-grid-v2{
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) minmax(110px,.65fr) minmax(190px,1fr) minmax(125px,.72fr) minmax(110px,.62fr);
  gap:38px;
  align-items:start;
  padding:0 0 34px;
}
.footer .footer-brand-v2{
  min-width:0;
  max-width:330px;
}
.footer .footer-brand-v2 .foot-logo{
  width:156px;
  height:auto;
  display:block;
  margin:0 0 16px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
  padding:8px 10px;
}
.footer .footer-brand-v2 p{
  margin:0;
  max-width:290px;
  color:#969a96;
  font-size:12px;
  line-height:1.62;
}
.footer .footer-group-v2{
  min-width:0;
}
.footer .footer-group-v2 small{
  display:block;
  margin:2px 0 14px;
  color:#7f837f;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer .footer-group-v2 nav{
  display:grid;
  gap:10px;
}
.footer .footer-group-v2 a{
  display:block;
  max-width:100%;
  color:#d8dad8;
  font-size:11px;
  line-height:1.42;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color .18s ease, transform .18s ease;
}
.footer .footer-group-v2 a:hover{
  color:#fff;
  transform:translateX(2px);
}
.footer .footer-group-v2 a.footer-article-link{
  color:#fff;
  font-weight:800;
  line-height:1.35;
}
.footer .footer-group-v2 a.footer-article-link span{
  display:block;
  margin-bottom:3px;
  color:#858985;
  font-size:8px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer .footer-language{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:18px 0 0;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer .footer-language-label{
  color:#7f837f;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer .lang-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
}
.footer .lang-switch a{
  min-width:38px;
  height:30px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#b9bcb9;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}
.footer .lang-switch a.active{
  background:#fff;
  color:#1e1f1d;
}
.footer .foot-bottom{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#777b77;
  font-size:10px;
  line-height:1.65;
}

@media(max-width:1100px){
  .footer .footer-grid-v2{
    grid-template-columns:1.25fr repeat(2,minmax(150px,1fr));
    gap:30px 34px;
  }
  .footer .footer-brand-v2{
    grid-column:1/-1;
    max-width:430px;
  }
}
@media(max-width:720px){
  .footer{
    padding:46px 0 24px;
  }
  .footer .footer-grid-v2{
    grid-template-columns:1fr 1fr;
    gap:30px 22px;
    padding-bottom:28px;
  }
  .footer .footer-brand-v2{
    grid-column:1/-1;
    max-width:none;
  }
  .footer .footer-brand-v2 p{
    max-width:360px;
  }
  .footer .footer-group-v2 small{
    margin-bottom:11px;
  }
  .footer .footer-group-v2 a{
    font-size:11px;
  }
  .footer .footer-language{
    padding-top:16px;
  }
}
@media(max-width:480px){
  .footer .footer-grid-v2{
    grid-template-columns:1fr;
    gap:27px;
  }
  .footer .footer-brand-v2{
    grid-column:auto;
  }
  .footer .footer-group-v2 nav{
    gap:9px;
  }
  .footer .footer-language{
    justify-content:flex-start;
  }
}
