@font-face{font-family:Inter;src:url('assets/Inter-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#f8f5ee;color:#262b21;font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.7}button,input,select{font:inherit}a{color:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.wordmark{font-family:Georgia,'Times New Roman',serif;font-weight:400}h2{font-size:clamp(42px,4.8vw,66px);line-height:1.1;letter-spacing:-.035em}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1.5;margin-bottom:24px}.skip{position:fixed;left:20px;top:-100px;padding:14px;background:white;z-index:100}.skip:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #626e42;outline-offset:5px}a,button{touch-action:manipulation}.demo-bar{display:flex;justify-content:space-between;gap:20px;padding:9px 48px;background:#eae8dd;color:#4a5140;font-size:9px;letter-spacing:.02em}.demo-bar a{text-underline-offset:3px}.site-header{height:112px;padding-inline:48px;display:flex;justify-content:space-between;align-items:center;background:#f8f5ee}.wordmark{font-size:48px;line-height:1;text-decoration:none;letter-spacing:-.06em}.wordmark span{display:block;font-family:Inter,Arial,sans-serif;font-size:7px;letter-spacing:.17em;margin-top:8px;font-weight:500}.site-header nav{display:flex;align-items:center;gap:38px}.site-header nav a{font-size:12px;text-decoration:none;padding-block:13px}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.site-header .nav-cta{border:1px solid #7b806d;padding:12px 18px;display:flex;gap:34px}.menu-button{display:none}.hero{position:relative;min-height:665px;height:calc(100vh - 148px);max-height:820px;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 57%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111c18a6 0%,#111c1838 55%,transparent 100%)}.hero-content{position:relative;width:min(1240px,calc(100% - 96px));margin:auto;padding-top:130px}.hero h1{font-size:clamp(54px,6.2vw,89px);line-height:1.05;letter-spacing:-.04em}.hero-content>p:not(.eyebrow){font-size:15px;line-height:1.6;margin-top:27px;color:#fffdf7}.hero-link{display:inline-flex;align-items:center;gap:45px;font-size:11px;min-height:44px;margin-top:27px;text-decoration:none;border-bottom:1px solid #ffffff8a}.image-disclosure{position:absolute;bottom:20px;left:48px;font-size:8px;color:#fff;background:#1e261da3;padding:3px 7px}.hero-index{position:absolute;bottom:23px;right:48px;font-size:9px;letter-spacing:.18em}.intro{padding-block:116px 86px;display:grid;grid-template-columns:1fr 1fr;gap:0 100px}.intro>.eyebrow{grid-column:1/-1}.intro h2{max-width:460px}.intro-copy{padding-top:7px;font-size:16px;color:#5d6354}.intro-copy p+p{margin-top:18px}.house-details{margin-top:58px;padding-top:23px;border-top:1px solid #cbcdbf;grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:#59614c}.house-details>span:before{content:'✳';display:inline-block;margin-right:15px;color:#626e42}.stays{background:#efeee5;padding-block:95px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:50px}.section-head>p{font-size:13px;color:#606653;max-width:345px}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.stay-card{min-width:0}.stay-visual{height:280px;position:relative;display:grid;place-items:center;background:#e1e5d6;overflow:hidden}.terraza .stay-visual{background:#e9e2d4}.suite .stay-visual{background:#d5dccc}.stay-visual svg{width:80%;max-width:270px;height:80%;fill:none;stroke:#59644c;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.stay-visual>span{position:absolute;left:20px;bottom:15px;font-size:10px;color:#59644c}.stay-copy{padding-top:24px}.stay-copy>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px}.stay-copy h3{font-size:29px;letter-spacing:-.04em}.stay-copy>div>span{font-size:9px;color:#616951;white-space:nowrap}.stay-copy>p{margin-top:17px;font-size:12px;color:#616951;line-height:1.8;min-height:65px}.stay-copy button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid #bfc5b4;border-bottom:1px solid #bfc5b4;background:none;padding:14px 0;margin-top:20px;color:#3d4b2c;font-size:11px;min-height:48px;cursor:pointer}.stay-copy button:hover{background:#dfe4d4}.concept-note{font-size:9px;color:#646b58;line-height:1.6;margin-top:30px}.experience{padding-block:110px;display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.experience figure{position:relative}.experience img{height:540px;object-fit:cover;object-position:18% 53%}.experience figcaption{font-size:8px;letter-spacing:.13em;margin-top:13px;color:#646b58}.experience>div>p:not(.eyebrow){font-size:14px;color:#646b58;margin-top:26px;max-width:330px}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #7b806d;font-size:11px;text-decoration:none;padding-block:13px;margin-top:28px;min-height:44px}.consultation{background:#414c34;color:#fffdf6;padding-block:92px}.consultation-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.consultation h2{font-size:62px}.consultation-grid>div>p:not(.eyebrow){max-width:320px;font-size:13px;color:#e3e6d8;margin-top:23px}.demo-notice{padding:19px 0 0;border-top:1px solid #ffffff4a;margin-top:35px;max-width:340px;font-size:11px}.demo-notice strong{font-weight:600;display:block}.demo-notice span{display:block;margin-top:7px;color:#e3e6d8}form{padding-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:23px}.field label{display:block;font-size:10px;letter-spacing:.04em;margin-bottom:10px}.field input,.field select{display:block;width:100%;min-width:0;min-height:51px;border:1px solid #d0d7bf;background:#f8f5ee;color:#30382a;border-radius:0;padding:11px 12px;font-size:12px}.field input[aria-invalid=true]{border:2px solid #f7b8a0}.field-error{display:block;color:#ffe0d6;font-size:10px;line-height:1.6;margin-top:7px}.field-help{display:block;font-size:9px;color:#e4e8d9;line-height:1.6;margin-top:7px}.submit-button{width:100%;min-height:52px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;background:#f2ead9;color:#343f29;border:0;font-size:11px;font-weight:600;cursor:pointer}.submit-button:hover{background:#fff8e8}.reset-button{border:0;border-bottom:1px solid #ffffff70;color:#fff;background:none;min-height:44px;padding:10px 0;font-size:10px;cursor:pointer;margin-top:8px}.form-status{background:#f8f5ee;color:#293421;padding:20px;font-size:12px;line-height:1.7;margin-top:19px;border-left:3px solid #c3d29f}.site-footer{padding-block:55px;display:flex;align-items:center;justify-content:space-between;gap:40px}.site-footer p{font-size:9px;color:#636a57;max-width:430px;line-height:1.8}.site-footer>a:last-child{font-size:10px;min-height:44px;display:flex;align-items:center;text-underline-offset:5px}.site-footer .wordmark{font-size:38px}
@media(max-width:1050px){.hero-content{padding-top:95px}.hero{min-height:610px}.wrap{width:calc(100% - 64px)}.hero-content{width:calc(100% - 64px)}.site-header{padding-inline:32px}.demo-bar{padding-inline:32px}.intro{gap:0 55px}.stay-grid{gap:20px}.stay-copy>div{display:block}.stay-copy>div>span{display:block;margin-top:9px}.stay-visual{height:245px}.experience{gap:55px}.consultation-grid{gap:55px}.site-footer{gap:25px}.site-footer p{max-width:330px}}
@media(max-width:700px){html{scroll-padding-top:30px}.demo-bar{padding:8px 20px;display:block;text-align:center;font-size:8px;line-height:1.5}.demo-bar>a{display:none}.site-header{height:94px;padding-inline:20px;position:relative;z-index:5}.wordmark{font-size:41px}.wordmark span{font-size:6px;letter-spacing:.16em}.menu-button{width:44px;height:44px;border:1px solid #919781;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-button span{width:17px;height:1px;background:#414c34}.site-header nav{display:none;position:absolute;left:0;right:0;top:94px;background:#f8f5ee;padding:16px 20px 24px;border-bottom:1px solid #c9cebd}.site-header nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch}.site-header nav a{display:block;min-height:48px;padding:12px}.site-header .nav-cta{margin-top:8px;justify-content:space-between;display:flex}.hero{min-height:620px;height:calc(100svh - 122px);max-height:790px}.hero-image{object-position:56% 50%}.hero-shade{background:linear-gradient(0deg,#111c18b3 0%,#111c1847 70%,#111c180a 100%)}.hero-content{width:calc(100% - 40px);padding-top:175px}.hero-content .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:22px}.hero h1{font-size:clamp(42px,11vw,62px);line-height:1.06;letter-spacing:-.035em}.hero-content>p:not(.eyebrow){font-size:12px;line-height:1.65;margin-top:22px}.hero-link{font-size:10px;margin-top:24px;gap:40px}.image-disclosure{left:20px;bottom:18px;font-size:6px;padding:4px 6px}.hero-index{right:20px;bottom:23px;font-size:7px}.wrap{width:calc(100% - 40px)}.eyebrow{font-size:9px;margin-bottom:21px}h2{font-size:43px}.intro{display:block;padding-block:67px 55px}.intro-copy{font-size:14px;padding-top:25px}.intro-copy p+p{margin-top:15px}.house-details{display:block;margin-top:32px;padding-top:17px;font-size:10px}.house-details span{display:block;padding:7px 0}.house-details>span:before{margin-right:10px}.stays{padding-block:60px}.section-head{display:block;margin-bottom:33px}.section-head>p{font-size:12px;margin-top:22px;line-height:1.8}.stay-grid{grid-template-columns:1fr;gap:36px}.stay-visual{height:245px}.stay-copy{padding-top:20px}.stay-copy>div{display:flex;gap:15px}.stay-copy h3{font-size:28px}.stay-copy>div>span{font-size:8px;margin-top:0}.stay-copy p{font-size:12px;min-height:0;margin-top:15px}.stay-copy button{font-size:11px;margin-top:20px}.concept-note{font-size:8px;margin-top:27px}.experience{padding-block:65px;grid-template-columns:1fr;gap:38px}.experience img{height:390px;object-position:28% 50%}.experience figcaption{font-size:7px}.experience>div>p:not(.eyebrow){max-width:none;font-size:13px;margin-top:23px}.text-link{margin-top:20px;font-size:10px}.consultation{padding-block:60px}.consultation-grid{grid-template-columns:1fr;gap:35px}.consultation h2{font-size:48px}.consultation-grid>div>p:not(.eyebrow){max-width:none}.demo-notice{font-size:10px;max-width:none;margin-top:25px}.form-row{gap:13px;margin-bottom:18px}.field input,.field select{font-size:11px;padding:11px 7px;min-height:50px}.field label{font-size:10px}.field-help{font-size:8px}.field-error{font-size:9px}.submit-button{font-size:10px}.form-status{font-size:11px;padding:17px}.site-footer{display:block;padding-block:45px}.site-footer p{margin-top:25px;font-size:8px;max-width:none}.site-footer>a:last-child{font-size:9px;margin-top:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* PORTFOLIO_SCROLL_MOTION */
/* Fixed windows, independently moving photographs. Captions stay in place. */
.experience .photo-window {
  position: relative;
  height: 540px;
  overflow: hidden;
  background: #eae8dd;
}
.experience .photo-window > img {
  height: 100%;
}
.hero-image.loma-parallax,
.experience .photo-window > img.loma-parallax {
  position: absolute;
  top: calc(-1 * var(--parallax-bleed, 0px));
  bottom: auto;
  height: calc(100% + 2 * var(--parallax-bleed, 0px));
  transform: translate3d(0, var(--scroll-shift, 0px), 0);
  will-change: transform;
}
@media (max-width: 700px) {
  .experience .photo-window {
    height: 390px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image.loma-parallax,
  .experience .photo-window > img.loma-parallax {
    top: 0;
    height: 100%;
    transform: none !important;
    will-change: auto;
  }
}
@media print {
  .hero-image.loma-parallax,
  .experience .photo-window > img.loma-parallax {
    top: 0;
    height: 100%;
    transform: none !important;
    will-change: auto;
  }
}

/* PREMIUM_MOTION */
:root{--ease:cubic-bezier(.22,.8,.2,1)}
.progress{position:fixed;inset:0 0 auto;height:2px;z-index:60;background:#626e42;transform:scaleX(var(--p,0));transform-origin:0 50%}
.site-header{position:sticky;top:0;z-index:50;transition:height .5s var(--ease),background .4s,box-shadow .4s}
.site-header.is-scrolled{background:#f8f5eee8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 #cbcdbf}
.wordmark{transition:font-size .5s var(--ease)}
@media(min-width:701px){.site-header.is-scrolled{height:76px}.site-header.is-scrolled .wordmark{font-size:36px}}
.ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.ln>span{display:block}
@keyframes rise{from{transform:translateY(112%)}}
@keyframes fade{from{opacity:0;transform:translateY(18px)}}
@keyframes zoom{from{scale:1.16}}
.a .hero h1 .ln>span{animation:rise 1.4s var(--ease) calc(var(--d)*.14s + .3s) both}
.a .hero-content .eyebrow,.a .hero-content>p:not(.eyebrow),.a .hero-link,.a .image-disclosure,.a .hero-index{animation:fade 1.2s var(--ease) 1s both}
.a .hero-image{animation:zoom 3s var(--ease) both}
.a h2 .ln>span{transform:translateY(112%);transition:transform 1.2s var(--ease) calc(var(--d)*.12s)}
.a h2.in .ln>span{transform:none}
.a [data-r]{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--i,0)*.09s + .15s)}
.a [data-r].in{opacity:1;transform:none}
.chapters{display:grid;gap:clamp(90px,12vw,170px)}
.chapter{position:relative;min-width:0}.chapter-stage{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,7vw,110px);align-items:center;min-width:0}
.chapter:nth-child(even) .chapter-stage{grid-template-columns:.95fr 1.05fr}.chapter:nth-child(even) .chapter-photo{order:2}
.frame{position:relative;aspect-ratio:4/5;overflow:hidden;background:#dfe4d4}
.a .frame{--dd:0;--q:0;--sc:1.25}
.frame img{position:absolute;left:0;top:-7%;height:114%;object-fit:cover;scale:var(--sc,1);transform:translate3d(0,var(--py,0px),0);will-change:transform;transition:scale .65s var(--ease)}
.chapter-photo figcaption{font-size:9px;letter-spacing:.13em;line-height:1.7;margin-top:14px;color:#646b58}.chapter-photo small{font-size:8px;letter-spacing:.04em}
.chapter-copy h3{font-size:clamp(46px,5.2vw,76px);line-height:1;letter-spacing:-.045em}
.size{display:flex;align-items:baseline;gap:9px;margin-top:26px;font-family:Georgia,serif;font-size:20px;color:#626e42}.size b{font-weight:400;font-size:clamp(60px,6vw,92px);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.size span{font-family:Inter,Arial,sans-serif;font-size:11px;color:#59614c;margin-left:8px}
.chapter .lead{font-size:16px;color:#5d6354;max-width:430px;margin-top:26px}
.feats{list-style:none;padding:0;margin:32px 0 0;max-width:430px;border-top:1px solid #cbcdbf}.feats li{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid #cbcdbf;font-size:12px;color:#4a5140}.feats li span:first-child{color:#626a57}
.pick{display:inline-flex;justify-content:space-between;align-items:center;gap:48px;margin-top:36px;min-height:52px;padding:0 22px;border:1px solid #414c34;background:linear-gradient(#414c34,#414c34) 0 100%/100% 0 no-repeat;color:#3d4b2c;font-size:11px;cursor:pointer;transition:background-size .55s var(--ease),color .4s}
.pick:hover,.pick:focus-visible{background-size:100% 100%;color:#fffdf6}.pick span{transition:transform .45s var(--ease)}.pick:hover span{transform:translate(4px,-4px)}
.text-link,.hero-link{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}.text-link:hover,.hero-link:hover{background-size:100% 1px}
.site-header .nav-cta{transition:background .4s,color .4s}.site-header .nav-cta:hover{background:#414c34;color:#fffdf6;text-decoration:none}
.form-status:not([hidden]){animation:fade .7s var(--ease)}
@media(max-width:700px){.chapter-stage,.chapter:nth-child(even) .chapter-stage{grid-template-columns:1fr;gap:34px}.chapter:nth-child(even) .chapter-photo{order:0}.chapters{gap:80px}.chapter .lead{font-size:14px}}
@media print{.progress{display:none}}

.sketch{position:absolute;inset:0;margin:auto;width:78%;height:78%;fill:none;stroke:#59644c;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.sketch *{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--dd,1));transition:stroke-dashoffset .45s linear}
.ph{position:absolute;inset:0;overflow:hidden;clip-path:inset(calc((1 - var(--q,1)) * 100%) 0 0 0);transition:clip-path .65s var(--ease)}
#patio .frame{background:#e1e5d6}#terraza .frame{background:#e9e2d4}#suite .frame{background:#d5dccc}
@media(prefers-reduced-motion:reduce){.frame{--dd:1!important;--q:1!important;--sc:1!important}.frame img{transform:none!important}}

/* ESTANCIA_SCROLL_SCENES: native document scroll, no wheel interception. */
.sketch-cover{position:absolute;inset:0;z-index:2;background:var(--scene-paper,#dfe4d4);transform:translate3d(0,calc(var(--q,1)*-101%),0);transition:transform .14s linear;will-change:transform}
.ph{z-index:1;clip-path:none;transition:none}
#patio .frame{--scene-paper:#e1e5d6}#terraza .frame{--scene-paper:#e9e2d4}#suite .frame{--scene-paper:#d5dccc}
.chapter--pinned{height:calc(var(--pin-height) + var(--pin-distance))}
.chapter--pinned .chapter-stage{position:sticky;top:var(--pin-top);height:var(--pin-height);align-items:center}
.chapter--pinned .chapter-photo{position:relative;justify-self:center;width:min(100%,calc(var(--pin-frame-max)*.8))}
.chapter--pinned .chapter-photo figcaption{position:absolute;top:100%;left:0;right:0;margin-top:10px}
.chapter--pinned .chapter-copy>[data-r]{opacity:1;transform:none;transition:none}
.chapter--compact .chapter-copy h3{font-size:44px}
.chapter--compact .size{margin-top:12px;font-size:17px;gap:7px}.chapter--compact .size b{font-size:56px}.chapter--compact .size span{font-size:10px;margin-left:5px}
.chapter--compact .chapter-copy .lead{font-size:14px;line-height:1.6;margin-top:14px}
.chapter--compact .feats{margin-top:16px}.chapter--compact .feats li{font-size:11px;padding:9px 0}
.chapter--compact .pick{margin-top:18px;min-height:44px}
.chapter:not(.chapter--pinned) .sketch-cover,.chapter:not(.chapter--pinned) .frame img{transition:none}
@media(prefers-reduced-motion:reduce){.sketch-cover{display:none}.chapter--pinned{height:auto}.chapter--pinned .chapter-stage{position:static;height:auto}}


/* ROOM_GALLERIES: five views inside each existing reveal frame. */
.ph>.room-photo[hidden]{display:none}
.sketch-cover{z-index:3}
.room-gallery{position:absolute;z-index:4;left:10px;right:10px;bottom:10px;padding:8px;background:#f8f5eef0;border:1px solid #ffffff80;box-shadow:0 4px 22px #1620131c;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.frame.is-gallery-ready .room-gallery{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.room-gallery-label{display:block;margin-bottom:6px;font-size:8px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:#414c34}
.room-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.room-thumbnail{position:relative;display:block;min-width:0;width:100%;height:44px;padding:0;border:2px solid transparent;background:#d9ddce;cursor:pointer;overflow:hidden;opacity:.68;transition:opacity .2s,border-color .2s}
.room-thumbnail[aria-pressed="true"]{border-color:#414c34;opacity:1}
.room-thumbnail:hover,.room-thumbnail:focus-visible{opacity:1}
.room-thumbnail:focus-visible{outline:2px solid #414c34;outline-offset:2px}
.frame .room-thumbnail img{position:static;width:100%;height:100%;object-fit:cover;scale:1;transform:none;transition:none;will-change:auto}
.room-thumbnail>span{position:absolute;right:2px;bottom:1px;padding:0 2px;color:#fff;background:#1d291dcc;font-size:7px;line-height:1.5;letter-spacing:.04em}
.room-photo-caption{letter-spacing:.07em}
@media(max-width:420px){.room-gallery{left:8px;right:8px;bottom:8px;padding:6px}.room-thumbnails{gap:4px}}
@media(prefers-reduced-motion:reduce){.room-gallery{transition:none;transform:none}}
