/* Premium Edition | Villas de Caguas Real
   Editorial refinement layer; preserves backend integrations and accessibility. */
:root{--forest:#162f29;--forest-deep:#10241f;--forest-soft:#35594e;--cream:#f1ede2;--paper:#f9f8f5;--sand:#e8e1d3;--gold:#b7a07a;--ink:#27322d;--muted:#718078;--line:#e2dfd5;--shell:1310px}
body{font-family:'DM Sans', 'Helvetica Neue', Arial, sans-serif;background:#f9f8f5}
h1,h2,h3,h4,.serif,.brand-words strong{font-family:'Playfair Display',Georgia,serif}
h1 em,h2 em,h3 em{font-family:'Playfair Display',Georgia,serif;font-weight:400}
.shell{width:min(var(--shell),calc(100% - 112px))}
.eyebrow{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.29em;font-weight:600}
.button{font-family:'DM Sans',sans-serif;letter-spacing:.15em;font-weight:600;font-size:10px;padding:21px 27px;transition:background .3s,color .3s,transform .3s,border-color .3s}
.button-cream{background:#f5f2ea}
.section{padding:136px 0}
/* Identity: slender monogram rather than a generic house pictogram */
.site-header{height:112px}
.header-inner{gap:50px}
.brand{gap:18px}
.brand-mark{width:54px;height:54px;color:#ded2b6}
.brand-words{gap:5px}
.brand-words small{font-size:9px;letter-spacing:.42em;font-weight:500}
.brand-words strong{font-size:22px;letter-spacing:.015em;font-weight:400;line-height:1.15}
.brand-words em{font-size:7px;letter-spacing:.32em;font-style:normal;opacity:.77}
.nav-links{gap:33px}
.nav-links>a{font-size:10px;letter-spacing:.1em;font-weight:500}
.nav-links .nav-cta{margin-left:9px;letter-spacing:.14em;padding:18px 21px;border-color:rgba(255,255,255,.5)}
.site-header.scrolled{height:86px;background:rgba(16,36,31,.96);backdrop-filter:blur(14px)}
.site-header.scrolled .brand-mark{width:47px;height:47px}
/* Hero: architecture remains completely visible on the right */
.hero-premium{height:min(920px,100svh);min-height:770px;max-height:none;background:#17362c;overflow:hidden}
.hero-premium .hero-image{object-position:center 48%;filter:saturate(.89) contrast(1.06)}
.hero-premium .hero-tint{background:linear-gradient(90deg,rgba(9,32,26,.94) 0%,rgba(9,32,26,.83) 24%,rgba(9,32,26,.46) 50%,rgba(9,32,26,.05) 85%),linear-gradient(0deg,rgba(7,29,23,.56),transparent 30%)}
.hero-premium .hero-grid{display:none}
.hero-frame{position:absolute;pointer-events:none;inset:133px 53px 42px;border:1px solid rgba(255,255,255,.14);z-index:-1;display:flex;justify-content:space-between;align-items:end;padding:20px;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:.34em}
.hero-content{padding-top:99px;position:relative}
.hero .eyebrow{margin-bottom:34px;font-size:9px;letter-spacing:.3em}
.hero-premium h1{max-width:830px;font-size:clamp(49px,5.15vw,81px);letter-spacing:-.04em;line-height:1.18;text-wrap:initial;font-weight:400;text-shadow:0 3px 20px rgba(10,25,15,.05)}
.hero-premium h1 em{color:#ddc7a4;font-style:italic;font-size:.97em;letter-spacing:-.053em}
.hero-premium .hero-content>p{max-width:540px;font-size:15px;line-height:1.95;margin-top:29px;color:#f4f0e6;letter-spacing:.01em}
.hero-premium .hero-actions{margin-top:38px;gap:15px}
.hero-premium .hero-actions .button{min-width:235px}
.hero-bottom{bottom:60px;font-size:9px;color:#ebe9e2}
.hero-caption{letter-spacing:.08em}
.scroll-down{font-size:9px;letter-spacing:.27em}
/* Reduce the sales brochure feeling in the stats; emphasize precision */
.intro-strip{background:#ede9df}
.intro-strip-inner{padding-top:38px;padding-bottom:24px}
.intro-strip-inner>div{gap:9px;border-right-color:#d2cabe}
.intro-strip strong{font-family:'Playfair Display',Georgia,serif;font-size:39px;font-weight:400;letter-spacing:-.025em}
.intro-strip-inner>div span{font-size:9px;letter-spacing:.18em}
.intro-strip-inner>p{font-size:10px;color:#798078}
/* Editorial pace & image crops */
.story-layout{grid-template-columns:.85fr 1.15fr;gap:130px}
.story-copy h2,.section-heading h2,.location-copy h2,.interest-intro h2,.faq-layout h2{font-size:clamp(40px,4.25vw,67px);font-weight:400;letter-spacing:-.045em;line-height:1.2}
.story-copy p.lead{font-family:'Playfair Display',Georgia,serif;font-size:20px}
.story-copy p,.section-heading>p,.location-copy p{font-size:14px;line-height:2}
.story-visual{padding-left:0}
.story-visual>img{height:660px;filter:saturate(.91)}
.story-note{bottom:-2px;left:-50px;background:#1a382f;padding:29px 33px;max-width:315px}
.story-note strong{font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.5}
.editorial-quote{background:#e9e6dc;overflow:hidden;border-top:1px solid #e0dacb;border-bottom:1px solid #e0dacb}
.editorial-quote-inner{padding:83px 0 88px;text-align:center;display:flex;align-items:center;flex-direction:column}
.editorial-quote-inner span{font-size:9px;font-weight:600;letter-spacing:.29em;color:#777971}
.editorial-quote-inner p{font:400 clamp(32px,4vw,60px)/1.3 'Playfair Display',Georgia,serif;letter-spacing:-.03em;color:#243d34;max-width:860px;margin-top:22px}
.editorial-quote-inner p em{color:#a08b6c}
.editorial-quote-inner i{margin-top:24px;color:#b9a784;font-size:14px;font-style:normal}
.villas-section{background:#f5f3ed}
.villas-grid{border:none;box-shadow:0 24px 72px rgba(24,47,37,.075)}
.section-heading h2{max-width:760px}
.section-heading>p{max-width:345px}
.plan-stage{background:#faf9f6}
.plan-stage img{mix-blend-mode:normal;filter:contrast(1.02)}
.villa-details{padding:69px 70px}
.villa-details h3{font-size:47px}
.spec strong{font-family:'Playfair Display',Georgia,serif;font-size:18px}
.spec-icon{font-size:25px}
.architecture-section{height:720px}
.architecture-image:after{background:linear-gradient(90deg,rgba(10,38,29,.94),rgba(10,38,29,.73) 38%,rgba(10,38,29,.08) 80%)}
.architecture-panel{margin-left:max(calc((100% - var(--shell))/2),56px);width:520px}
.architecture-panel h2{font-size:clamp(45px,4.35vw,69px);line-height:1.18}
.architecture-panel>p{line-height:2}
.gallery-grid{grid-template-rows:repeat(2,320px);gap:23px}
.gallery-grid img{filter:saturate(.9)}
.location-section{background:#172f28}
.interest-section{background:#f6f4ee}
.form-card{box-shadow:0 26px 72px rgba(22,47,41,.09);border:1px solid #e9e4d9}
.form-heading h3{font-family:'Playfair Display',Georgia,serif}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline-color:#88734e}
.financing-section{background:#17352a}
.footer{background:#10271f}
@media(max-width:1150px){.shell{width:calc(100% - 80px)}.story-layout{gap:80px}.villa-details{padding:50px}.site-header .nav-links{gap:18px}}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.site-header{height:84px}.brand-mark{height:47px;width:47px}.brand-words strong{font-size:19px}.hero-frame{inset:103px 22px 28px}.hero-premium{height:840px;min-height:760px;max-height:none}.hero-content{padding-top:95px}.hero-premium h1{font-size:clamp(43px,7.6vw,73px)}.hero-premium .hero-tint{background:linear-gradient(90deg,rgba(9,32,26,.91),rgba(9,32,26,.61) 58%,rgba(9,32,26,.2)),linear-gradient(0deg,rgba(7,29,23,.42),transparent 35%)}.hero-bottom{bottom:48px}.story-layout{gap:42px}.story-note{left:-20px}.section{padding:95px 0}.architecture-panel{margin-left:42px}}
@media(max-width:640px){.shell{width:calc(100% - 40px)}.site-header{height:80px}.brand{gap:11px}.brand-mark{width:42px;height:42px}.brand-words strong{font-size:16px}.brand-words small{font-size:8px}.brand-words em{font-size:6px;letter-spacing:.2em}.hero-premium{height:790px;min-height:735px;max-height:none;align-items:center}.hero-premium .hero-image{object-position:57% center}.hero-premium .hero-tint{background:linear-gradient(0deg,rgba(6,31,23,.88) 0%,rgba(9,38,29,.64) 58%,rgba(8,32,25,.39) 100%)}.hero-frame{inset:92px 15px 21px;padding:13px}.hero-content{padding-top:82px}.hero .eyebrow{font-size:8px;letter-spacing:.15em;max-width:285px;line-height:1.7}.hero-premium h1{font-size:clamp(38px,9.5vw,52px);line-height:1.23;max-width:420px}.hero-premium h1 em{font-size:.96em}.hero-premium .hero-content>p{font-size:13px;line-height:1.8;max-width:350px;margin-top:25px}.hero-premium .hero-actions{gap:10px;margin-top:27px}.hero-premium .hero-actions .button{width:auto;min-width:0;font-size:9px;letter-spacing:.08em;padding:17px 18px;min-height:50px}.hero-premium .hero-actions .button-outline-light{max-width:160px}.hero-bottom{bottom:38px}.hero-caption{font-size:8px;max-width:265px}.scroll-down{display:none}.intro-strip-inner{padding:28px 0 22px}.intro-strip strong{font-size:31px}.intro-strip-inner>div span{font-size:8px;letter-spacing:.09em}.section{padding:77px 0}.story-copy h2,.section-heading h2,.location-copy h2,.interest-intro h2,.faq-layout h2{font-size:clamp(34px,9.2vw,49px)}.story-layout{gap:37px}.story-visual>img{height:410px}.story-note{left:-3px;max-width:285px}.editorial-quote-inner{padding:66px 0}.editorial-quote-inner p{font-size:clamp(31px,8vw,41px)}.villa-details{padding:37px 28px}.villa-details h3{font-size:38px}.plan-stage{min-height:490px}.plan-stage img{height:480px}.architecture-section{height:635px}.architecture-panel{margin:0 24px 43px}.architecture-panel h2{font-size:44px}.gallery-grid{grid-template-rows:385px 255px 255px}.gallery-grid figcaption{font-size:21px}.interest-layout{gap:37px}.form-card{padding:28px 23px}.financing-inner h2{font-size:35px}}
@media(max-width:380px){.brand-mark{width:39px}.brand-words strong{font-size:15px}.hero-premium h1{font-size:36px}.hero-premium .hero-actions .button{padding:15px 13px;min-height:47px}.hero-premium .hero-content>p{font-size:12px}.hero-caption{font-size:7px}.plan-stage img{height:420px}.plan-stage{min-height:440px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.button:hover{transform:none}}
@media(max-width:640px){
  .hero-frame span{display:none}
  .hero-premium .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-premium .hero-actions .button,
  .hero-premium .hero-actions .button-outline-light{width:255px;min-width:255px;max-width:none;min-height:51px;white-space:nowrap}
}
@media(max-width:380px){
  .hero-premium .hero-actions .button,
  .hero-premium .hero-actions .button-outline-light{width:246px;min-width:246px}
}
