/* October review: keep approved typography, imagery and continuous page guides. */
html.motion-ready .reveal:not(.is-visible),.reveal.is-visible{clip-path:none}
h1,h2,h3,h4{overflow-wrap:normal;word-break:normal;text-wrap:pretty}
.display-heading,.panorama-copy h2,.rocio-camps-title h2,.contact-main .display-heading{line-height:1.1;padding-bottom:.12em}
.panorama-copy{right:var(--gutter)}
.panorama-copy h2{font-size:clamp(44px,8.6vw,126px);letter-spacing:-.05em}
.map-title-line{padding:.08em .04em .18em;margin:0 -.04em -.12em}
.film-title-line{padding-bottom:.1em}
/* Readable full-width editorial study. */
#resultados{text-align:left}
#resultados .quote-mark{display:none}
#resultados .quote-body{max-width:none;width:100%}
#resultados .roi-title{font-size:clamp(46px,5.8vw,88px);line-height:1.12}
#resultados .roi-intro{font-size:clamp(18px,1.55vw,23px);line-height:1.8;max-width:65ch;margin:32px 0 0}
#resultados .roi-study-label{font:400 clamp(30px,3vw,48px)/1.15 var(--serif);letter-spacing:0;margin:clamp(48px,6vw,90px) 0 16px;text-transform:none}
.roi-interaction-hint{font:400 14px/1.7 var(--body);color:#555;margin:0 0 26px}
#resultados .roi-metrics{gap:clamp(20px,4vw,70px);width:100%}
#resultados .roi-metric{opacity:.75;padding:24px 0 30px;position:relative}
#resultados .roi-metric.is-active,#resultados .roi-metric:hover{opacity:1}
#resultados .roi-metric strong{font-size:clamp(60px,8vw,124px);line-height:1.15}
#resultados .roi-metric>span{font-size:clamp(16px,1.4vw,21px);max-width:24ch}
#resultados .roi-metric small{font-size:11px;line-height:1.7}
.roi-metric:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .65s}
.roi-metric.is-active:after{transform:scaleX(1)}
#resultados .roi-insight{max-width:70ch;min-height:220px;padding:36px 0 12px}
#resultados #roi-insight-title{font-size:clamp(28px,2.8vw,42px);line-height:1.2}
#resultados #roi-insight-copy{font-size:clamp(17px,1.35vw,20px);line-height:1.85}
#resultados .roi-source{max-width:95ch;font-size:13px;line-height:1.85}
#resultados .hotel-case,#resultados .booking-story{max-width:none;margin-top:clamp(70px,9vw,140px)}
#resultados .hotel-case>p:not(.eyebrow):not(.roi-source),#resultados .booking-story p{font-size:18px;line-height:1.85;max-width:75ch}
#resultados .hotel-case-stats{max-width:1000px;margin:45px 0}
#resultados .hotel-case-stats span{font-size:16px}
#resultados .booking-story summary{font-size:clamp(18px,1.6vw,24px)}
/* The simulator remains true black edge to edge. Numbers keep readable spacing. */
.roi-simulation .roi-calc-heading h3{font-size:clamp(38px,4vw,64px);line-height:1.15}
.roi-simulation .roi-calc-heading>p:last-child{font-size:18px;max-width:36ch}
.roi-simulation .roi-controls label{font-size:15px}
.roi-simulation .roi-controls output{font-size:20px}
.roi-simulation .roi-help,.roi-simulation .roi-disclaimer{font-size:13px}
.roi-simulation .roi-results{margin:30px 0 20px;gap:32px}
.roi-simulation .roi-results span{font-size:14px}
.roi-simulation .roi-results strong{font-size:clamp(32px,4vw,60px);line-height:1.2}
.roi-growth-heading h4{font-size:clamp(32px,3.6vw,52px)}
.roi-growth-heading>p:last-child{font-size:16px}
.roi-bar-space{height:clamp(150px,20vw,280px);transform-origin:bottom}
.roi-bar-column{position:relative;min-width:0;cursor:crosshair}
.roi-bar-column:focus-visible{outline:1px solid white;outline-offset:5px}
.roi-bar-column:after{content:attr(data-value);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);font:400 12px/1.5 var(--body);white-space:nowrap;background:#000;color:#fff;padding:6px 9px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:2}
.roi-bar-column:hover:after,.roi-bar-column:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.roi-bar-column:first-child:after{left:0;transform:translateY(6px)}
.roi-bar-column:last-child:after{left:auto;right:0;transform:translateY(6px)}
.roi-chart-legend{font-size:14px}
.editorial-word{display:inline-block;white-space:nowrap;padding-bottom:.12em;margin-bottom:-.12em}
.map-arrow{pointer-events:none}
/* Monochrome SVG network icons, touch targets and clear footer grouping. */
.footer{grid-template-columns:1fr 1.25fr 1.5fr auto;gap:36px;padding-top:45px;align-items:start}
.footer>p{font-size:15px;line-height:1.8;max-width:26ch}
.footer nav{font-size:14px;gap:16px}
.footer-socials{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:12px}
.footer .footer-socials a{display:inline-flex;align-items:center;gap:10px;min-height:44px;transition:opacity .25s,transform .25s}
.footer-socials svg{width:20px;height:20px;flex:0 0 20px}
.footer .footer-socials a:hover{opacity:1;transform:translateY(-3px)}
.footer a:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.footer small{line-height:1.8}
@media(max-width:1000px){.footer{grid-template-columns:1fr 1fr}.footer-navigation{grid-column:1/-1}.footer .back-top{grid-column:2;grid-row:1;justify-self:end}.footer>p{grid-column:1/-1;max-width:none}.roi-simulation .roi-calculator{column-gap:35px}}
@media(max-width:760px){
 #resultados .roi-metrics{grid-template-columns:1fr;gap:12px}
 #resultados .roi-metric{display:grid;grid-template-columns:110px 1fr;column-gap:18px;align-items:center;padding:22px 0}
 #resultados .roi-metric strong{grid-row:1/3;font-size:60px}
 #resultados .roi-metric>span{margin:0;font-size:17px}
 #resultados .roi-metric small{margin:9px 0 0;font-size:10px}
 #resultados .roi-insight{min-height:0;padding:30px 0 20px}
 #resultados .roi-source{font-size:12px}
 .roi-simulation .roi-controls label{font-size:14px}
 .roi-simulation .roi-results>div{display:block}
 .roi-simulation .roi-results strong{text-align:left;margin-top:10px;font-size:42px}
 .roi-simulation .roi-results span{max-width:none}
 .roi-simulation .roi-controls output{font-size:18px}
 .roi-bar-space{height:160px}
 .roi-chart-legend{font-size:12px}
 .roi-bar-column:after{font-size:11px}
 .footer{gap:25px}.footer-socials{gap:12px 20px}
 .panorama-copy h2{font-size:clamp(42px,10vw,64px)}
 .contact-main .display-heading{font-size:clamp(34px,9vw,64px);overflow-wrap:normal}
}
@media(prefers-reduced-motion:reduce){.editorial-word{opacity:1!important;transform:none!important}.roi-metric:after,.footer-socials a{transition:none}.roi-bar-space{transform:none!important}}
