/* Shared responsive refinements for the live El Rosedal pages. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:82px}
body{overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
.page-wraper,.page-content,main,section,header,footer{min-width:0}

/* Large desktops and wide displays. */
@media(min-width:1600px){
  .discover-shell,.home-contact-shell,.highlights-shell,.gallery-shell,.lot-map-shell,.terms-shell,.contact-shell,.rosedal-footer-shell{max-width:1380px}
  .rosedal-discover,.home-contact,.rosedal-highlights,.rosedal-gallery,.lot-map-section,.rosedal-terms{padding-left:max(5vw,calc((100vw - 1480px)/2));padding-right:max(5vw,calc((100vw - 1480px)/2))}
  .proyecto-hero .forest-stage{height:min(100svh,1080px);min-height:760px}
}
@media(min-width:2200px){
  .discover-shell,.home-contact-shell,.highlights-shell,.gallery-shell,.lot-map-shell,.terms-shell,.contact-shell,.rosedal-footer-shell{max-width:1500px}
  .proyecto-hero .forest-stage{height:1080px}
}

/* Tablets and compact laptops. */
@media(max-width:1100px){
  .rosedal-footer-shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}
  .discover-story{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:38px}
  .discover-photo{min-height:520px}
  .home-contact-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:18px}
  .payment-option--installments{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rt-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-gallery-grid figure:first-child{grid-column:span 2}
  .rt-gallery-grid img{height:auto;aspect-ratio:4/3}
}
@media(max-width:991px){
  .site-header .main-bar .container.clearfix{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:76px;padding:0 22px}
  .site-header .main-bar .container.clearfix::before,.site-header .main-bar .container.clearfix::after{display:none;content:none}
  .site-header .main-bar .logo-header{display:flex;float:none;align-items:center;flex:0 0 auto;width:150px;height:68px;margin:0 0 0 6px;padding:0}
  .site-header .main-bar .logo-header>a{display:flex;align-items:center;height:100%}
  .site-header .main-bar .logo-header img{display:block;width:148px;max-width:100%;max-height:64px;height:auto;object-fit:contain}
  .site-header .main-bar .navbar-toggler{float:none;align-self:center;margin:0 2px 0 auto}
  .site-header .main-bar .header-nav{order:3;flex:0 0 calc(100% + 44px);width:calc(100% + 44px);margin:0 -22px;border-top:1px solid #e7e9e0}
}
@media(max-width:900px){
  .discover-heading{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:34px}
  .discover-story{grid-template-columns:1fr;gap:34px}
  .discover-photo{min-height:clamp(360px,65vw,560px)}
  .home-contact-layout,.contact-layout{grid-template-columns:1fr}
  .home-contact-aside{min-height:0}
  .contact-side-mark{margin-bottom:28px}
  .rosedal-footer-main{padding:58px 6vw 48px}
  .lot-map-info{grid-template-columns:1fr 1fr}
  .lot-map-cta{grid-column:1/-1}
  .rt-intro,.rt-life{grid-template-columns:1fr 1fr}
  .rt-intro{gap:35px;padding:80px 6vw}
  .rt-life{min-height:0}
  .rt-life-photo{min-height:440px}
  .rt-life-copy{padding:55px 5vw}
}

/* Phones, portrait tablets and narrow foldable panes. */
@media(max-width:767px){
  .site-header .container{width:100%;max-width:none;padding-left:18px;padding-right:18px}
  .rosedal-discover{padding:72px 22px 48px}
  .discover-heading{grid-template-columns:1fr;gap:18px;margin-bottom:32px}
  .discover-heading>p{max-width:520px}
  .discover-photo{min-height:clamp(330px,100vw,520px);border-top-left-radius:90px}
  .discover-photo-label{left:22px;bottom:75px}
  .discover-photo figcaption{left:22px;right:18px;bottom:18px}
  .discover-option{padding:22px 0}
  .rosedal-highlights{padding:38px 22px}
  .home-contact{padding:72px 22px}
  .home-contact-layout{grid-template-columns:1fr;gap:16px}
  .home-contact-card,.home-contact-aside{padding:clamp(22px,6vw,34px)}
  .home-contact-fields{grid-template-columns:1fr}
  .home-contact-field--wide{grid-column:auto}
  .rosedal-gallery{padding:62px 20px 38px}
  .gallery-heading{grid-template-columns:1fr;gap:14px}
  .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,34vw,220px);gap:9px}
  .gallery-film{grid-template-columns:1fr}
  .gallery-film video{height:auto;min-height:0;max-height:none}
  .gallery-film-copy{padding:28px 22px 32px}
  .lot-map-section{padding:60px 16px}
  .lot-map-toolbar{align-items:flex-start;flex-direction:column}
  .lot-map-toolbar-actions{width:100%;justify-content:space-between;flex-wrap:wrap}
  .lot-map-canvas{padding:32px 8px 25px}
  .lot-map-svg{min-height:0}
  .rosedal-video-feature{grid-template-columns:1fr}
  .rosedal-video-feature-media{min-height:0;aspect-ratio:16/10}
  .rosedal-video-feature-copy{padding:44px 24px 50px}
  .rosedal-footer-shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .rosedal-footer-brand{grid-column:1/-1;max-width:440px}
  .rosedal-terms{padding:64px 20px}
  .terms-heading{grid-template-columns:1fr;gap:15px;margin-bottom:26px}
  .terms-heading>p{max-width:600px}
  .terms-overview{grid-template-columns:1fr;gap:10px}
  .terms-overview article{padding:22px}
  .terms-overview article>span{margin-bottom:12px}
  .terms-design-rule{align-items:flex-start;padding:16px}
  .terms-document-heading{align-items:flex-start;flex-direction:column;gap:6px;padding:20px}
  .terms-item summary{gap:12px;padding:19px 48px 19px 18px}
  .terms-item summary::after{right:17px}
  .terms-item-content{padding:0 18px 21px}
  .terms-bottom{align-items:stretch;flex-direction:column;gap:14px}
  .terms-bottom>a{justify-content:space-between}
  .rosedal-contact{padding:62px 20px 90px}
  .contact-heading{margin-bottom:32px}
  .contact-layout{grid-template-columns:1fr;gap:14px}
  .contact-form-card,.contact-side-card{padding:24px}
  .contact-form-heading{padding:28px 0 18px}
  .contact-fields{grid-template-columns:1fr;gap:16px}
  .contact-field--wide{grid-column:auto}
  .contact-map-heading{margin-top:52px}
  .contact-map{height:clamp(300px,65vw,410px)}
  .rt-topbar{height:auto;min-height:30px;padding:7px 16px}
  .rt-topbar div{flex-wrap:wrap;justify-content:center;gap:8px 18px}
  .rt-header{min-height:72px;padding:10px 16px;gap:12px}
  .rt-header nav{flex-wrap:wrap;gap:8px 20px}
  .rt-header-cta{padding:11px 13px;white-space:nowrap}
  .proyecto-hero .forest-stage{height:88svh;min-height:620px;max-height:900px}
  .proyecto-hero .forest-welcome{padding:100px 20px 65px}
  .proyecto-hero .forest-brand{width:84px;height:84px;margin-bottom:18px}
  .proyecto-hero .forest-eyebrow{font-size:9px;letter-spacing:.16em}
  .proyecto-hero .forest-welcome h1{font-size:clamp(38px,9vw,62px);line-height:1.08}
  .proyecto-hero .forest-welcome p{max-width:420px;font-size:14px}
  .proyecto-hero .forest-actions{gap:14px}
  .proyecto-hero .forest-button,.proyecto-hero .forest-link{min-height:44px}
  .rt-gallery{padding:58px 20px 68px}
  .rt-gallery-heading{display:block;margin-bottom:22px}
  .rt-gallery-count{display:block;margin-top:14px}
  .rt-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .rt-gallery-grid figure:first-child{grid-column:1/-1}
  .rt-gallery-grid img{width:100%;height:auto;aspect-ratio:4/3}
  .rt-gallery-grid figure:first-child img{height:auto;aspect-ratio:16/10}
  .rt-lightbox{width:min(calc(100vw - 24px),900px);max-width:none;max-height:calc(100dvh - 24px);padding:60px 42px 28px}
}

@media(max-width:540px){
  .site-header .main-bar .container.clearfix{min-height:74px;padding:0 22px}
  .site-header .main-bar .logo-header{width:128px;height:64px;margin-left:3px}
  .site-header .main-bar .logo-header img{width:126px;max-height:58px}
  .top-bar .social-line{gap:8px}
  .home-contact-card,.home-contact-aside{padding:22px 18px}
  .home-contact-card-head{gap:10px}
  .home-contact-number{width:42px;height:42px;flex-basis:42px}
  .project-gallery{grid-template-columns:1fr;grid-auto-rows:auto}
  .project-gallery-item,.project-gallery-item--wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .project-gallery-item img{height:100%}
  .gallery-film figure figcaption{left:12px;right:12px;top:12px;width:max-content;max-width:calc(100% - 24px)}
  .gallery-film-toggle{left:12px;bottom:50px}
  .lot-map-facts{gap:24px}
  .lot-map-footer{display:block}
  .lot-map-note{margin-bottom:8px}
  .rosedal-footer-shell{grid-template-columns:1fr 1fr;gap:26px 14px}
  .rosedal-footer-brand{grid-column:1/-1}
  .rosedal-footer-column{min-width:0;overflow-wrap:anywhere}
  .terms-item h4{font-size:13px;line-height:1.45}
  .terms-item summary>span{flex:0 0 19px}
  .terms-breakdown{padding:5px 12px}
  .terms-breakdown>div{gap:10px;font-size:11px}
  .contact-heading h1{font-size:clamp(40px,11vw,58px)}
  .contact-form-card,.contact-side-card{padding:21px 17px}
  .contact-form-heading{gap:10px}
  .contact-form-index{width:44px;height:44px;font-size:18px}
  .contact-form-progress{gap:5px;font-size:7px}
  .contact-form-progress span{white-space:normal}
  .rt-facts{grid-template-columns:1fr;gap:0}
  .rt-facts div{display:flex;justify-content:center;gap:14px;padding:14px 8px;border-right:0;border-bottom:1px solid #c9cdbd}
  .rt-facts div:last-child{border-bottom:0}
  .rt-facts strong{font-size:28px}
  .rt-facts span{max-width:140px;text-align:left}
  .rt-gallery-grid{grid-template-columns:1fr}
  .rt-gallery-grid figure:first-child{grid-column:auto}
  .rt-gallery-grid figure:first-child img{aspect-ratio:4/3}
  .rt-contact-inner{grid-template-columns:1fr}
  .rt-contact-copy,.rt-contact-action{padding:22px 18px}
  .rt-footer div{gap:8px}
}

/* Short horizontal phones: keep the hero and navigation usable without a tall first screen. */
@media(max-height:520px) and (orientation:landscape){
  .site-header .top-bar{display:none}
  .site-header .main-bar{min-height:60px}
  .proyecto-hero .forest-stage{height:100svh;min-height:360px;max-height:none}
  .proyecto-hero .forest-welcome{padding:24px 7vw}
  .proyecto-hero .forest-brand{width:54px;height:54px;margin-bottom:8px}
  .proyecto-hero .forest-eyebrow{margin-bottom:8px}
  .proyecto-hero .forest-welcome h1{font-size:clamp(34px,6vw,54px);margin-bottom:10px}
  .proyecto-hero .forest-welcome p{margin:5px 0;font-size:12px}
  .proyecto-hero .forest-actions{margin-top:10px;gap:16px}
  .proyecto-hero .forest-button{padding:10px 14px}
  .proyecto-hero .forest-caption{bottom:10px;font-size:7px}
  .forest-home .forest-intro:not(.is-animated){min-height:360px}
  .contact-map{height:280px}
}

/* Keep primary content inside one pane on dual-screen foldables. */
@media(horizontal-viewport-segments:2){
  .forest-intro .forest-welcome{left:env(viewport-segment-left 0 0,0px);width:env(viewport-segment-width 0 0,50vw);padding-left:clamp(18px,4vw,48px);padding-right:clamp(18px,4vw,48px)}
  .forest-intro .forest-caption{left:env(viewport-segment-left 0 0,0px);right:auto;width:env(viewport-segment-width 0 0,50vw);padding:0 18px;gap:10px;letter-spacing:.08em}
  .proyecto-hero .forest-welcome h1{font-size:clamp(38px,5.3vw,64px)}
  .discover-story,.home-contact-layout,.contact-layout,.rt-intro,.rt-life,.rosedal-video-feature,.gallery-film{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:env(fold-width,24px)}
  .home-contact-shell,.contact-shell{max-width:none}
  .contact-layout{align-items:stretch}
  .rosedal-video-feature-media{min-height:0;aspect-ratio:4/3}
  .rosedal-video-feature-copy{padding:clamp(20px,4vw,42px)}
  .rosedal-video-feature-copy h2{font-size:clamp(30px,4vw,44px)}
  .gallery-film video{min-height:0;height:100%}
  .project-gallery,.rt-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .terms-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact form verification and spam trap. */
.contact-turnstile-field{position:relative;min-width:0}
.turnstile-widget{min-height:65px;max-width:100%;overflow:hidden}
.turnstile-status{margin:5px 0 0;color:#73806e;font:11px/1.5 Arial,sans-serif}
.turnstile-status.is-error{color:#9c413b}
.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.contact-turnstile-field iframe{max-width:100%}
.contact-submit:disabled,.home-contact-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}

/* Privacy choices and third-party service controls. */
.cookie-banner[hidden],[data-cookie-map-placeholder][hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:10050;left:clamp(12px,3vw,36px);right:clamp(12px,3vw,36px);bottom:clamp(12px,2.5vh,28px);display:flex;align-items:flex-end;justify-content:space-between;gap:26px;max-width:1160px;margin:0 auto;padding:22px 25px;background:#f8f7ef;color:#294432;border:1px solid #d9dfd1;border-radius:12px;box-shadow:0 18px 60px #12251c38;font-family:Arial,sans-serif}
.cookie-banner-copy{max-width:650px}.cookie-banner-kicker{display:block;color:#738365;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.16em}.cookie-banner h2,.cookie-settings-dialog h2{margin:7px 0;color:#294432;font:500 clamp(20px,2vw,26px)/1.18 Georgia,serif}.cookie-banner p,.cookie-settings-dialog>p{margin:8px 0;color:#64705f;font:13px/1.55 Arial,sans-serif}.cookie-banner-copy>a,.cookie-settings-links a{color:#38593d;text-decoration:underline;text-underline-offset:3px;font:12px/1.5 Arial,sans-serif}
.cookie-banner-actions{display:grid;flex:0 0 230px;gap:8px}.cookie-button{min-height:42px;padding:10px 14px;border:1px solid #36533b;border-radius:5px;font:700 11px/1.3 Arial,sans-serif;cursor:pointer}.cookie-button-primary{background:#31543a;color:#fffdf5}.cookie-button-secondary{background:transparent;color:#31543a}.cookie-text-button{border:0;background:none;color:#53644f;text-decoration:underline;text-underline-offset:3px;font:12px Arial,sans-serif;cursor:pointer}
.cookie-settings-dialog{width:min(580px,calc(100vw - 28px));max-height:min(86vh,760px);overflow:auto;padding:25px;background:#fbfaf5;color:#294432;border:1px solid #d9dfd1;border-radius:12px;box-shadow:0 24px 90px #10221955;font-family:Arial,sans-serif}.cookie-settings-dialog::backdrop{background:#14271d99;backdrop-filter:blur(3px)}.cookie-settings-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.cookie-settings-close{width:36px;height:36px;border:1px solid #d5dccf;border-radius:50%;background:transparent;color:#31543a;font:26px/1 Arial,sans-serif;cursor:pointer}.cookie-category{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0;padding:17px;border:1px solid #dfe4d9;border-radius:8px;background:#fff}.cookie-category strong{color:#314d37;font:700 13px Arial,sans-serif}.cookie-category p{margin:6px 0 0;color:#697365;font:12px/1.5 Arial,sans-serif}.cookie-always-on{flex:none;color:#587253;font:700 10px Arial,sans-serif}.cookie-category-toggle{cursor:pointer}.cookie-category-toggle input{width:20px;height:20px;accent-color:#36573d;flex:none}.cookie-settings-links{color:#687363;font:11px/1.7 Arial,sans-serif}.cookie-settings-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.cookie-footer-link{color:inherit;font:inherit;text-decoration:none}.cookie-footer-button{padding:0;border:0;background:none;cursor:pointer}.cookie-footer-link:hover{text-decoration:underline;text-underline-offset:3px}
.privacy-consent{display:flex;align-items:flex-start;gap:10px;color:#65705f;font:12px/1.55 Arial,sans-serif;cursor:pointer}.privacy-consent input{width:17px;height:17px;margin:1px 0 0;flex:none;accent-color:#31543a}.privacy-consent a{color:#31543a;text-decoration:underline;text-underline-offset:2px}.turnstile-settings-link{margin-top:7px;padding:0;border:0;background:none;color:#31543a;font:11px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.contact-map{position:relative}.contact-map-consent{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#e9ede4;color:#314b36}.contact-map-consent strong{font:500 clamp(20px,3vw,30px)/1.2 Georgia,serif}.contact-map-consent span{max-width:430px;color:#697565;font:13px/1.55 Arial,sans-serif}.contact-map-consent button,.contact-map-consent a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border:1px solid #36533b;border-radius:4px;background:#31543a;color:#fffdf5;font:700 11px Arial,sans-serif;text-decoration:none;cursor:pointer}.contact-map-consent a{background:transparent;color:#31543a}
@media(max-width:760px){.cookie-banner{left:10px;right:10px;bottom:10px;display:block;max-height:calc(100dvh - 20px);overflow:auto;padding:18px}.cookie-banner-actions{margin-top:15px;grid-template-columns:1fr 1fr;gap:7px}.cookie-banner-actions .cookie-button-primary{grid-column:1/-1}.cookie-button{min-height:40px;padding:9px}.cookie-text-button{grid-column:1/-1;padding:5px}.cookie-settings-dialog{padding:20px}.cookie-settings-actions{flex-direction:column-reverse}.cookie-settings-actions .cookie-button{width:100%}.cookie-category{align-items:flex-start;padding:14px}.contact-map-consent{gap:9px;padding:18px}.contact-map-consent span{font-size:12px}}
@media(max-width:620px){.rosedal-footer-bottom-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:center}.rosedal-footer-bottom-inner>span:first-child{grid-column:1;grid-row:1;min-width:0}.rosedal-footer-bottom-inner>span:nth-child(2){grid-column:1/-1;grid-row:2}.rosedal-footer-bottom-inner>a:not(.cookie-footer-link){grid-column:2;grid-row:1;justify-self:end;min-width:0;white-space:normal;text-align:right}.rosedal-footer-bottom-inner>.cookie-footer-link:not(.cookie-footer-button){grid-column:1;grid-row:3;justify-self:start;min-width:0;white-space:normal}.rosedal-footer-bottom-inner>.cookie-footer-button{grid-column:2;grid-row:3;justify-self:end;min-width:0;white-space:normal;text-align:right}}
