html,body{width:100%;max-width:100%;overflow-x:hidden}body{font-family:var(--font-body)}img{display:block;max-width:100%}main,section,article,header,footer,nav,div,figure{min-width:0}
.hero h1,.hero-card h2,.section-head h2,.info-title h2,.contact-copy h2,.module h3,.module-image figcaption b,.date-row b,.details b,.price-band strong,.transfer b,.purchase-price strong{font-family:var(--font-display)}
.section-head h2 i,.info-title h2 i,.contact-copy h2 i{font-family:var(--font-editorial)}
.hero h1,.section-head h2,.info-title h2,.contact-copy h2,.module h3,.details b,.purchase-price strong,.price-band strong{word-break:normal;overflow-wrap:normal}

/* Tablet y teléfono: todo bloque lateral baja a una nueva fila. */
@media(max-width:960px){
  .shell{padding-left:24px;padding-right:24px}
  .nav{height:68px;grid-template-columns:minmax(0,1fr) auto;gap:16px}.nav-links{display:none}.nav-cta{justify-self:end;white-space:nowrap}
  .hero{min-height:auto;padding-top:20px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:42px;padding:64px 0}.hero h1{font-size:clamp(72px,13vw,118px);line-height:.88;letter-spacing:-.01em}.hero-visual{width:100%;min-height:0;aspect-ratio:16/10}.hero-card h2{font-size:clamp(44px,7vw,66px)}.hero-foot{margin-top:0}
  .section-head{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:72px;padding-bottom:70px}.section-copy{max-width:680px;align-self:auto}
  .module-head{grid-template-columns:76px minmax(0,1fr);align-items:start}.module-head>p{grid-column:2;max-width:680px}.module h3{font-size:clamp(60px,10vw,92px);line-height:.9}
  .module-image{height:auto;aspect-ratio:16/9;margin:42px 24px 0;padding:0}.module-image figcaption{left:22px;right:22px}
  .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.topic{border:1px solid}.topic:nth-child(even){border-left:0}.topic:nth-child(n+3){border-top:0}
  .info-title{grid-template-columns:minmax(0,1fr);gap:24px}.info-board{grid-template-columns:minmax(0,1fr)}.details{border-left:0;border-top:1px solid}
  .price-band{grid-template-columns:minmax(0,1fr)}.transfer{border-left:0;border-top:1px solid #444}.price-band>a{min-height:76px}
  .contact-wrap{grid-template-columns:minmax(0,1fr);gap:56px}.purchase-card{width:100%;align-self:auto}
}

/* Teléfono: una única columna real y escalas contenidas. */
@media(max-width:600px){
  .shell{padding-left:16px;padding-right:16px}
  .nav{height:64px;padding-left:16px;padding-right:16px;gap:10px}.brand>b{font-size:16px;padding:7px 6px}.brand>span{font-size:8px}.nav-cta{font-size:8px;letter-spacing:0;padding:10px 9px}
  .hero{padding-left:16px;padding-right:16px}.hero-meta{font-size:8px}.hero-meta span:last-child{display:none}.hero-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding:52px 0}.kicker{font-size:9px;line-height:1.45;max-width:260px}.hero h1{font-size:clamp(50px,16vw,78px);line-height:.91;margin-top:22px}.hero-visual{aspect-ratio:4/5;min-height:0}.hero-card{left:16px;right:16px;bottom:16px}.hero-card>p{font-size:13px;line-height:1.42}.hero-card h2{font-size:clamp(36px,11vw,52px);line-height:.9}.hero-card .button{max-width:none}.hero-foot{grid-template-columns:1fr 1fr;gap:12px;font-size:8px}.hero-foot b{display:none}
  .section-head{padding-top:62px;padding-bottom:56px;gap:24px}.section-head h2,.info-title h2,.contact-copy h2{font-size:clamp(44px,13vw,62px);line-height:.94}.section-copy{font-size:15px;line-height:1.5}
  .module{padding-top:50px;padding-bottom:44px}.module-head{grid-template-columns:minmax(0,1fr);gap:18px;padding-left:16px;padding-right:16px}.module-head>p{grid-column:1;font-size:15px;line-height:1.5}.module-num{font-size:15px;padding:10px}.module h3{font-size:clamp(40px,12vw,56px);line-height:.94;overflow-wrap:anywhere}.module-image{margin:32px 16px 0;aspect-ratio:4/3;min-height:0}.module-image figcaption{left:16px;right:16px;bottom:15px}.module-image figcaption span{display:none}.module-image figcaption b{font-size:clamp(28px,9vw,40px)}
  .topic-grid{grid-template-columns:minmax(0,1fr);padding-left:16px;padding-right:16px;margin-top:24px}.topic,.topic:nth-child(even){border:1px solid}.topic+.topic,.topic:nth-child(n+3){border-top:0}.topic{min-height:170px;padding:18px}.topic h4{font-size:20px;overflow-wrap:anywhere}
  .info{padding:62px 16px 72px}.info-title{padding:42px 0}.info-board{grid-template-columns:minmax(0,1fr)}.dates{padding:20px}.date-row{gap:12px}.date-row b{font-size:clamp(76px,25vw,104px)}.date-row span{font-size:15px}.date-flow{font-size:clamp(12px,3.7vw,17px);word-spacing:1px}.details{grid-template-rows:none}.details>div{min-height:160px;padding:22px}.details b{font-size:clamp(32px,9vw,44px);line-height:.94}.price-band>div,.price-band>a{padding:22px}.price-band strong,.purchase-price strong{font-size:clamp(43px,12vw,58px);white-space:normal}.transfer b{font-size:32px}
  .contact{padding:68px 0}.contact-wrap{padding-left:16px;padding-right:16px;gap:44px}.contact-copy h2{margin:36px 0 26px}.contact-copy>span{font-size:15px}.purchase-top,.purchase-price{padding:22px}.purchase-button{padding:19px;font-size:12px;gap:12px}.purchase-button small{font-size:7px}.purchase-note{padding:0 22px 18px}
  .footer{height:88px;padding-left:16px;padding-right:16px}.footer>span{display:none}.footer .brand>span{display:none}.footer>a{font-size:8px}
}

@media(max-width:360px){
  .nav-cta{font-size:0}.nav-cta:before{content:'INSCRIBIRME';font-size:8px}.nav-cta span{font-size:9px}.hero h1{font-size:49px}.section-head h2,.info-title h2,.contact-copy h2{font-size:42px}.module h3{font-size:39px}.hero-card h2{font-size:35px}.purchase-price strong,.price-band strong{font-size:41px}.purchase-button{padding:17px 14px}
}
@media(max-width:960px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic,.topic:nth-child(3n){border:1px solid;border-bottom:0}.topic:nth-child(even){border-left:0}.topic:nth-last-child(-n+2){border-bottom:1px solid}}
@media(max-width:600px){.topic-grid{grid-template-columns:minmax(0,1fr)}.topic,.topic:nth-child(3n),.topic:nth-child(even){border:1px solid;border-bottom:0;min-height:126px}.topic:last-child{border-bottom:1px solid}.purchase-button{padding:18px 20px;font-size:11px;line-height:1.25}.purchase-button span{min-width:0}.purchase-button small{line-height:1.35}.transfer-details summary{padding:18px 20px;font-size:11px}.transfer-panel{padding:22px 20px}.transfer-panel dl>div{grid-template-columns:76px minmax(0,1fr);gap:10px}.transfer-panel dd{font-size:12px}}
