@font-face{font-family:CompassDisplay;src:url('assets/brand/CompassDisplay-Regular.ttf')}@font-face{font-family:CompassSans;src:url('assets/brand/CompassSans-Regular.ttf')}@font-face{font-family:CompassSans;src:url('assets/brand/CompassSans-Bold.ttf');font-weight:700}
@font-face{font-family:CompassSansMedium;src:url('assets/brand/CompassSans_Desktop_Medium.ttf');font-weight:500}
:root{--ink:#080808;--paper:#fff;--pad:clamp(22px,5vw,72px)}*{box-sizing:border-box}html{background:#fff;scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:CompassSans,Arial,sans-serif;-webkit-font-smoothing:antialiased}img,video,iframe{display:block;max-width:100%}button,a,input,textarea{font:inherit}a{color:inherit}section{position:relative;background:#fff}
.head{position:fixed;z-index:60;inset:0 0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:max(20px,env(safe-area-inset-top)) max(var(--pad),env(safe-area-inset-right)) 14px max(var(--pad),env(safe-area-inset-left));color:#fff}.head.white{color:#000;background:#fffffff2;border-bottom:1px solid #ddd;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.burger{display:grid;gap:6px;width:36px;padding:4px 0;border:0;background:none;color:inherit}.burger i{width:32px;height:2px;background:currentColor}.logo{width:clamp(116px,31vw,168px)}.white .logo{filter:brightness(0)}.cta{display:grid;height:39px;place-items:center;padding:0 13px;border:1px solid;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.nav{position:fixed;z-index:90;inset:0;display:grid;align-content:center;padding:max(72px,env(safe-area-inset-top)) var(--pad) max(46px,env(safe-area-inset-bottom));background:#fff;color:#000;clip-path:inset(0 100% 0 0);visibility:hidden;transition:clip-path .65s cubic-bezier(.16,1,.3,1),visibility 0s .65s}.nav.open{clip-path:inset(0);visibility:visible;transition:clip-path .65s cubic-bezier(.16,1,.3,1)}.nav-close{position:absolute;top:max(22px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));width:46px;height:46px;border:1px solid #000;background:#fff;font-size:30px}.nav small{display:block;margin-bottom:25px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav a{display:block;width:max-content;text-decoration:none;font:400 clamp(34px,9vw,72px)/1 CompassDisplay,serif}
.hero{height:100svh;min-height:620px;overflow:hidden;background:#000;color:#fff}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--hero,0)*.08))}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#0005,transparent 45%,#0008)}.hero-word{position:absolute;z-index:2;margin:0;font:400 clamp(78px,24vw,190px)/.8 CompassDisplay,serif;letter-spacing:-.05em;opacity:0;animation:heroWords 12s infinite}.hero-word:nth-of-type(1){left:var(--pad);bottom:16%}.hero-word:nth-of-type(2){left:50%;top:48%;animation-name:heroCenter;animation-delay:4s}.hero-word:nth-of-type(3){right:var(--pad);bottom:16%;animation-delay:8s}@keyframes heroWords{0%,36%,100%{opacity:0;filter:blur(10px);transform:translateY(45px)}8%,27%{opacity:1;filter:blur(0);transform:none}32%{opacity:0;transform:translateY(-25px)}}@keyframes heroCenter{0%,36%,100%{opacity:0;filter:blur(10px);transform:translate(-50%,45px)}8%,27%{opacity:1;filter:blur(0);transform:translate(-50%,0)}32%{opacity:0;transform:translate(-50%,-25px)}}.hero-label,.scroll{position:absolute;z-index:3;bottom:max(27px,calc(env(safe-area-inset-bottom) + 14px));font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-label{left:var(--pad)}.scroll{right:var(--pad);display:flex;flex-direction:column;gap:7px;align-items:center}.scroll:after{content:"";width:1px;height:46px;background:#fff}.hero.past-film .scroll{display:none}
.welcome{min-height:150svh}.welcome-stage{position:sticky;top:0;min-height:100svh;display:grid;grid-template-rows:auto auto 1fr;align-content:start;padding:max(112px,calc(env(safe-area-inset-top) + 90px)) var(--pad) max(28px,env(safe-area-inset-bottom));overflow:hidden}.welcome-eyebrow{margin:0 0 14px;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.welcome-title{margin:0;font:400 clamp(54px,15vw,72px)/.84 CompassDisplay,serif;letter-spacing:-.05em}.welcome-title span{display:block;white-space:nowrap}.welcome-photo{margin:clamp(36px,5.5vh,62px) auto 0;width:min(100%,900px);aspect-ratio:3/2;overflow:hidden}.welcome-photo img{width:100%;height:100%;object-fit:cover}.welcome-facts{align-self:end;display:grid;grid-template-columns:repeat(3,1fr);grid-template-areas:"bed bath sqft" "price price price" "mls mls mls";gap:10px 8px;margin-top:22px;padding-top:14px;border-top:1px solid #080808}.welcome-facts .bed{grid-area:bed}.welcome-facts .bath{grid-area:bath}.welcome-facts .sqft{grid-area:sqft}.welcome-facts .asking{grid-area:price;margin-top:6px}.welcome-facts .mls{grid-area:mls}.welcome-facts strong{display:block;font:400 clamp(22px,6vw,38px)/1 CompassDisplay,serif}.welcome-facts span{font-size:7px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.welcome-facts .asking strong,.welcome-facts .mls strong{font-size:clamp(20px,5.5vw,32px)}
.content{padding:clamp(92px,11vw,140px) var(--pad);border-top:1px solid #d6d6d6}.description-grid{display:grid;gap:50px}.description-lead{margin:0;font:400 clamp(50px,12vw,118px)/.92 CompassDisplay,serif;letter-spacing:-.04em}.description-copy{max-width:780px;font-size:clamp(18px,4vw,27px);line-height:1.5}.description-copy p{margin:0 0 1.15em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:42px}.section-head h2,.loc-title{margin:0;font:400 clamp(54px,14vw,145px)/.84 CompassDisplay,serif;letter-spacing:-.05em}.section-head small{font-size:10px;font-weight:700;letter-spacing:.15em}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tile{aspect-ratio:3/2;border:0;padding:0;background:#eee;overflow:hidden}.tile img{width:100%;height:100%;object-fit:cover}.more{margin-top:28px;padding:15px 20px;border:1px solid #000;background:#fff;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.loc-grid{display:grid;gap:35px}.loc-copy,.intro-copy{font:400 clamp(28px,6vw,52px)/1.17 CompassDisplay,serif}.map{height:min(62vh,650px);border:1px solid #000;touch-action:pan-y pinch-zoom}.map iframe{width:100%;height:100%;border:0}
.contact-grid{display:grid;gap:48px}.agents{display:grid;gap:28px}.agent{display:grid;grid-template-columns:clamp(112px,29vw,132px) minmax(0,1fr);gap:18px;align-items:start}.agent img{width:100%;height:clamp(118px,30vw,142px);object-fit:cover}.agent h3{margin:0 0 9px;font-size:clamp(21px,5.4vw,27px);line-height:1.05}.agent p{margin:0;font-size:clamp(15px,3.9vw,18px);line-height:1.38}.agent .affiliation{display:block;margin-top:2px}.agent a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form input,.form textarea{width:100%;border:1px solid #000;background:#fff;color:#000;padding:15px;font-size:16px}.form .full,.form textarea{grid-column:1/-1}.form textarea{min-height:110px}.form button{padding:15px 22px;border:1px solid #000;background:#000;color:#fff;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.legal{margin-top:65px;padding-top:20px;border-top:1px solid #bbb;color:#555;font-size:10px;line-height:1.55}
.lightbox{position:fixed;z-index:100;inset:0;display:none;background:#fff;overflow:auto}.lightbox.open{display:block}.lbtop{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;align-items:center;padding:max(15px,env(safe-area-inset-top)) var(--pad) 12px;background:#fffffff2;border-bottom:1px solid #ddd}.lbclose{border:0;background:#fff;color:#000;font-size:38px}.lbstage{display:grid;gap:20px;padding:22px var(--pad) max(35px,env(safe-area-inset-bottom))}.lbimg{width:100%;max-height:64svh;object-fit:contain}.lbcontrols{display:flex;justify-content:space-between}.lbnav{width:54px;height:46px;border:1px solid #000;background:#fff;font-size:28px}.lbcap h3{margin:0 0 8px;font-size:22px}.lbcap p{margin:0;font-size:15px;line-height:1.45}.lbcount{font-size:9px;font-weight:700;letter-spacing:.15em}
@media(min-width:760px){.description-grid{grid-template-columns:.8fr 1.2fr}.grid{grid-template-columns:repeat(3,1fr);gap:12px}.loc-grid{grid-template-columns:.6fr 1.4fr;align-items:center}.contact-grid{grid-template-columns:.7fr 1fr 1.15fr}.agent{grid-template-columns:112px 1fr}.agent img{height:142px}.agent h3{font-size:22px}.agent p{font-size:15px}.legal{columns:2;column-gap:45px}}
@media(max-width:600px){.head{gap:9px}.logo{width:112px}.cta{height:35px;padding:0 9px;font-size:8px}.content{padding-top:116px;padding-bottom:72px}.section-head{margin-bottom:28px}.contact .section-head h2{font-size:clamp(46px,12vw,56px);white-space:nowrap}.form{grid-template-columns:1fr}.form>*{grid-column:1!important}}
@media(orientation:landscape) and (max-height:560px){.head{padding-top:max(13px,env(safe-area-inset-top));padding-bottom:9px}.nav{padding-top:max(54px,env(safe-area-inset-top));padding-bottom:18px}.nav small{margin-bottom:10px;font-size:8px}.nav a{font-size:clamp(25px,7vh,30px);line-height:.92}.hero{min-height:100svh}.hero-word{font-size:clamp(58px,10vw,92px)}.welcome{min-height:0}.welcome-stage{position:relative;min-height:100svh;overflow:visible;grid-template-columns:.72fr 1.28fr;grid-template-rows:auto auto;gap:16px 30px;padding-top:max(82px,calc(env(safe-area-inset-top) + 66px))}.welcome-copy{align-self:center}.welcome-title{font-size:clamp(44px,7vw,64px);line-height:.88}.welcome-photo{align-self:center;margin:0;width:min(100%,calc(44vh*1.5))}.welcome-facts{grid-column:1/-1;margin-top:0}.content{padding-top:96px;padding-bottom:72px}.description-grid{grid-template-columns:.72fr 1.28fr}.description-lead{font-size:clamp(42px,6.2vw,58px)}.description-copy{font-size:16px}.section-head h2,.loc-title{font-size:clamp(48px,8vw,68px)}.loc-copy,.intro-copy{font-size:clamp(24px,4vw,38px)}.map{height:60vh}.contact-grid{grid-template-columns:.5fr 1.25fr 1fr;gap:28px}.agent{grid-template-columns:86px 1fr;gap:13px}.agent img{height:88px}.agent h3{margin-bottom:5px;font-size:17px}.agent p{font-size:11.5px}.legal{margin-top:35px}}
.content,.welcome-copy,.welcome-photo,.welcome-facts{will-change:opacity,transform}
@media(orientation:landscape) and (max-height:560px){.welcome-title{font-size:clamp(42px,6.2vw,54px)}.description-lead{font-size:clamp(38px,5.6vw,50px)}.section-head h2,.loc-title{font-size:clamp(42px,6.2vw,56px)}}
.content{border-top-color:#e3e3e3}
.section-head h2,.loc-title{font-size:clamp(46px,6.5vw,82px);line-height:.9}
.description-lead{font-size:clamp(42px,6vw,78px);line-height:.96}
.nav.open~.hero .scroll{display:none}
@media(min-width:760px){.agent p{font-size:16px;line-height:1.42}}
@media(max-width:600px){.section-head h2,.loc-title{font-size:clamp(44px,12vw,52px)}.description-lead{font-size:clamp(42px,11.5vw,50px)}.contact .section-head h2{font-size:clamp(44px,11.5vw,52px)}}
@media(orientation:landscape) and (max-height:560px){.welcome-title{font-size:clamp(40px,5.8vw,50px)}.description-lead{font-size:clamp(36px,5vw,46px)}.section-head h2,.loc-title{font-size:clamp(38px,5.4vw,50px)}.contact .section-head h2{font-size:clamp(38px,5.4vw,50px)}.agent p{font-size:12.5px;line-height:1.35}}
@media(orientation:landscape) and (max-height:560px){.section-head h2,.loc-title,.contact .section-head h2{font-size:clamp(36px,5vw,46px)}}
html{scroll-snap-type:y proximity;scroll-padding-top:94px}
.hero,.welcome,.content{scroll-snap-align:start;scroll-snap-stop:always}
.welcome,.content{scroll-margin-top:94px}
.welcome{min-height:200svh}
.welcome-photo{transform-origin:center center}
@media(orientation:landscape) and (max-height:560px){
  html{scroll-padding-top:78px}
  .welcome,.content{scroll-margin-top:78px}
  .welcome{min-height:190svh}
  .welcome-stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;grid-template-columns:.72fr 1.28fr;grid-template-rows:1fr auto;align-items:center;gap:14px 28px;padding:max(76px,calc(env(safe-area-inset-top) + 62px)) var(--pad) max(18px,env(safe-area-inset-bottom))}
  .welcome-copy{align-self:center}
  .welcome-title{font-size:clamp(38px,5.5vw,48px)}
  .welcome-photo{align-self:center;width:100%;max-height:52vh;margin:0;aspect-ratio:3/2}
  .welcome-facts{grid-column:1/-1;align-self:end;margin:0;padding-top:10px}
  .welcome-facts strong{font-size:clamp(20px,3.2vw,28px)}
  .content{padding-top:90px;padding-bottom:76px}
  .description-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:34px}
  .section-head{margin-bottom:30px}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .loc-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .contact .intro-copy{max-width:760px;font-size:clamp(24px,3.4vw,31px)}
  .agents{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .agent{display:block}
  .agent img{width:100%;height:clamp(150px,42vh,190px);margin-bottom:13px;object-fit:cover}
  .agent h3{margin:0 0 7px;font-size:18px}
  .agent p,.agent a{font-size:12.5px;line-height:1.42}
  .agent a{overflow-wrap:normal;word-break:normal}
  .form{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal{margin-top:44px}
}

/* V174 representative typography checkpoint: Location only. */
.location-stage .loc-title,
.location-details .loc-copy{
  font-family:CompassSansMedium,CompassSans,Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.075em;
}

/* V175 — approved site-wide Compass typography */
.hero-word,
.nav a,
.welcome-title,
.description-lead,
.section-head h2,
.loc-title,
.form-title,
.form .form-title{
  font-family:CompassSansMedium,CompassSans,Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.075em;
}

.loc-copy,
.location-details .loc-copy,
.intro-copy,
.contact .intro-copy{
  font-family:CompassSans,Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.075em;
}

/* V176 — Compass typography for property facts and pricing */
.welcome-facts .bed strong,
.welcome-facts .bath strong,
.welcome-facts .sqft strong,
.welcome-facts span{
  font-family:CompassSansMedium,CompassSans,Arial,sans-serif;
  font-weight:500;
  letter-spacing:-.075em;
}

.welcome-facts .asking strong,
.welcome-facts .mls strong{
  font-family:CompassSans,Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.075em;
}

/* V177 — slightly opened property-label tracking */
.welcome-facts .bed span,
.welcome-facts .bath span,
.welcome-facts .sqft span{
  letter-spacing:-.025em;
}

/* V160: explicit menu spacing, menu-only landing offsets, and closer landscape columns. */
.nav a{line-height:1.25}
@media(orientation:landscape) and (max-height:560px){
  .nav a{line-height:1.22}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(270px,280px) minmax(0,1fr);gap:9px;justify-content:center}
}
.compliance-logo{margin:24px auto 0}
.soft-lock-intro{position:relative;top:auto;will-change:transform}
@media(orientation:landscape) and (max-height:560px){
  .soft-lock-intro{top:78px}
  .location .soft-lock-intro{display:grid;gap:30px}
  .location .loc-copy{margin:0}
  .contact-grid{width:min(100%,1100px);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:50px;align-items:start;margin-inline:auto}
  .agents{width:100%;grid-template-columns:1fr;gap:20px;margin:0}
  .agent{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:start}
  .agent img{width:76px;height:95px;margin:0;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%}
  .agent h3{margin:0 0 5px;white-space:normal}
  .agent p,.agent a{font-size:12.5px;line-height:1.35}
  .form{width:100%;margin:0;grid-template-columns:1fr}
  .form>*{grid-column:1!important}
}

/* V160 authoritative final overrides. */
.nav a{line-height:1.25}
@media(orientation:landscape) and (max-height:560px){
  .nav a{line-height:1.22}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(270px,280px) minmax(0,1fr);gap:9px;justify-content:center}
}

/* V158: compositor-stable section holds and a tighter landscape contact layout. */
.soft-lock-zone{position:relative;padding-bottom:0}
.soft-lock-intro{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;will-change:auto;transform:none}
@media(orientation:landscape) and (max-height:560px){
  .contact-grid{width:min(100%,920px);grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:24px}
}

/* V159 approved representative refinements. */
.nav a{line-height:1.14}
.welcome-facts .bed,.welcome-facts .bath,.welcome-facts .sqft{display:flex;align-items:center;gap:9px}
.welcome-facts .bed strong,.welcome-facts .bath strong,.welcome-facts .sqft strong{flex:0 0 auto}
.welcome-facts .bed span,.welcome-facts .bath span,.welcome-facts .sqft span{line-height:1.15}
.form-title{grid-column:1/-1;margin:0 0 10px;font:400 clamp(28px,5vw,42px)/1 CompassDisplay,serif}
@media(orientation:landscape) and (max-height:560px){
  .nav a{line-height:1.13}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(0,.8fr) minmax(300px,1.2fr);gap:18px}
  .form-title{margin-bottom:4px;font-size:clamp(25px,4vw,34px)}
}
.soft-lock-intro{position:sticky;z-index:1;top:94px;align-self:start;background:#fff;padding-bottom:28px}
.description-copy{position:relative;z-index:2;background:#fff}
@media(orientation:landscape) and (max-height:560px){
  .soft-lock-intro{top:78px;padding-bottom:24px}
  .agent img{width:clamp(92px,14vw,118px);height:auto;aspect-ratio:4/5;margin:0 0 13px;object-fit:cover;object-position:50% 12%}
}
html{scroll-snap-type:none!important;scroll-padding-top:0!important}
.hero,.welcome,.content{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
.welcome,.content{scroll-margin-top:0!important}
@media(orientation:landscape) and (max-height:560px){
  .welcome,.content{scroll-margin-top:0!important}
  .agent img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center top}
}
.welcome-facts{margin-top:clamp(28px,4vh,38px);padding-top:clamp(28px,4vh,38px)}
@media(orientation:landscape) and (max-height:560px){
  .welcome{min-height:0}
  .welcome-stage{position:relative;top:auto;display:block;height:auto;min-height:0;overflow:visible;padding:max(82px,calc(env(safe-area-inset-top) + 66px)) var(--pad) 76px}
  .welcome-copy{width:100%}
  .welcome-title{font-size:clamp(40px,5.6vw,48px)}
  .welcome-photo{width:100%;max-height:none;margin:30px 0 0;aspect-ratio:3/2}
  .welcome-facts{display:grid;margin-top:30px;padding-top:30px}
  .description-grid,.loc-grid{grid-template-columns:1fr;align-items:start;gap:30px}
  .description-lead,.loc-title{width:100%;max-width:none}
  .description-copy{width:100%;max-width:900px}
  .location .loc-grid>div:first-child{display:grid;grid-template-columns:1fr;gap:22px}
  .loc-copy{width:100%;max-width:900px;margin:0}
  .map{width:100%;height:72vh}
  .contact .section-head{display:block}
  .contact .section-head h2{white-space:nowrap}
  .contact-grid{grid-template-columns:1fr}
  .contact .intro-copy{width:100%;max-width:900px;margin:0}
  .agents{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .agent img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;margin-bottom:13px}
}
.welcome.menu-reveal .welcome-copy,.welcome.menu-reveal .welcome-photo,.welcome.menu-reveal .welcome-facts{opacity:1!important;transform:none!important;color:#080808!important}
@media(orientation:landscape) and (max-height:560px){.agent img{width:clamp(92px,14vw,118px);height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;margin:0 0 13px}}
.soft-lock-intro{position:sticky;top:94px}
.soft-lock-zone{padding-bottom:150px;background:#fff}
.description-copy{position:relative;z-index:2;background:#fff}
.welcome-stage{--welcome-copy-gap:clamp(34px,5vh,46px)}
.welcome-eyebrow{margin-bottom:5px}
.welcome-address{margin:0 0 var(--welcome-copy-gap);font-size:clamp(10px,2.6vw,13px);font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.welcome-photo{margin-top:var(--welcome-copy-gap)}
.welcome-facts span{font-size:clamp(10px,2.5vw,12px)}
.lbcap p{font-size:clamp(18px,4vw,27px);line-height:1.5}
@media(orientation:landscape) and (max-height:560px){
  .soft-lock-intro{top:78px}
  .soft-lock-zone{padding-bottom:120px}
  .contact-grid{width:min(100%,980px);margin-inline:auto}
  .agents{width:min(100%,900px);margin-inline:auto;gap:24px}
  .agent{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:start}
  .agent img{width:118px;height:148px;margin:0}
  .form{width:min(100%,760px);margin-inline:auto}
  .lbcap p{font-size:16px}
  .welcome-stage{--welcome-copy-gap:34px}
}
.compliance-logo{width:fit-content;margin-top:24px;padding:10px 12px;background:#080808}
.compliance-logo img{width:clamp(150px,22vw,230px);height:auto}
.soft-lock-intro{position:relative;top:auto;will-change:transform}
.welcome-address{font-size:9px;letter-spacing:.18em}
.compliance-logo{padding:0;background:transparent}
@media(min-width:760px){.contact-grid{grid-template-columns:1fr 1.15fr}}
@media(orientation:landscape) and (max-height:560px){
  .contact-grid{grid-template-columns:1fr}
  .location .soft-lock-zone{display:block}
  .contact .soft-lock-intro .intro-copy{width:100%;max-width:900px;margin:22px 0 0}
  .agents{width:min(100%,900px);gap:24px}
  .agent{display:block}
  .agent img{width:96px;height:120px;aspect-ratio:4/5;margin:0 0 12px;object-fit:cover;object-position:50% 12%}
  .agent h3{white-space:nowrap}
  .agent a{overflow-wrap:anywhere}
}
.compliance-logo{margin:24px auto 0;padding:0;background:transparent}
.content{will-change:opacity}
.soft-lock-intro{position:relative;top:auto;will-change:transform}
@media(orientation:landscape) and (max-height:560px){
  .soft-lock-intro{top:auto}
  .location .soft-lock-intro{display:grid;gap:30px}
  .location .loc-copy{margin:0}
  .contact-grid{width:min(100%,1100px);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:50px;align-items:start;margin-inline:auto}
  .agents{width:100%;grid-template-columns:1fr;gap:20px;margin:0}
  .agent{display:grid;grid-template-columns:76px minmax(0,1fr);gap:15px;align-items:start}
  .agent img{width:76px;height:95px;margin:0;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%}
  .agent h3{margin:0 0 5px;white-space:normal}
  .agent p,.agent a{font-size:12.5px;line-height:1.35}
  .form{width:100%;margin:0;grid-template-columns:1fr}
  .form>*{grid-column:1!important}
}

/* V160 final cascade. */
.nav a{line-height:1.25}
@media(orientation:landscape) and (max-height:560px){
  .nav a{line-height:1.22}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(270px,280px) minmax(0,1fr);gap:9px;justify-content:center}
}

/* V162 approved landscape and menu-landing refinements. */
.legal-block+.legal-block{margin-top:18px}
.gallery.menu-suppressed{opacity:0!important}
@media(orientation:landscape) and (max-height:560px){
  .contact-grid{align-items:stretch}
  .agents{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
  .legal{columns:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:50px;align-items:start}
  .legal-block+.legal-block{margin-top:0}
}

/* V163: shorter Welcome reveal and landscape-only scale rebalancing. */
.welcome{min-height:170svh}
@media(orientation:landscape) and (max-height:560px){
  .welcome{min-height:155svh}
  .welcome-photo{width:70%;max-height:36.4vh;justify-self:center}
  .tour .video-frame{width:70%;margin-inline:auto}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(330px,390px) minmax(260px,1fr);gap:12px}
  .agent{grid-template-columns:96px minmax(0,1fr);gap:16px}
  .agent img{width:96px;height:120px}
  .agent h3{font-size:19px}
  .agent p,.agent a{font-size:14px;line-height:1.38}
}

/* V164: complete 3:2 pool image, larger landscape agents, faster Welcome reveal. */
.welcome{min-height:130svh}
@media(orientation:landscape) and (max-height:560px){
  .welcome{min-height:120svh}
  .welcome-photo{width:70%;height:auto;max-height:none;aspect-ratio:3/2;justify-self:center}
  .welcome-photo img{width:100%;height:100%;object-fit:contain}
  .contact-grid{width:min(100%,860px);grid-template-columns:minmax(370px,430px) minmax(250px,1fr);gap:12px}
  .agent{grid-template-columns:120px minmax(0,1fr);gap:17px}
  .agent img{width:120px;height:150px}
  .agent h3{font-size:21px}
  .agent p,.agent a{font-size:15.5px;line-height:1.4}
  .form{height:100%;grid-template-rows:auto repeat(3,minmax(48px,1fr)) minmax(82px,1.45fr) minmax(48px,.8fr)}
  .form input,.form textarea{padding:12px}
  .form textarea{min-height:82px}
}

/* V165: post-film-only Welcome fade and stronger landscape agent typography. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-photo{translate:-18.75% 0}
  .agent h3{font-size:24px;line-height:1.05}
  .agent p,.agent a{font-size:18px;line-height:1.45}
}

/* V166: corrected centering and a visible but shorter staged Welcome reveal. */
.welcome{min-height:155svh}
@media(orientation:landscape) and (max-height:560px){
  .welcome{min-height:155svh}
  .welcome-photo{translate:16.5% 0}
  .agent h3{font-size:26px}
  .agent p,.agent a{font-size:20px;line-height:1.42}
}

/* V167: viewport-led Welcome reveal, true centered media row, roomier agents, square phone map. */
@media(max-width:600px) and (orientation:portrait){
  .map{height:auto;aspect-ratio:1/1}
}
@media(orientation:landscape) and (max-height:560px){
  .welcome-stage{grid-template-columns:.72fr 1.28fr;grid-template-rows:auto 1fr auto;align-content:stretch}
  .welcome-copy{grid-column:1;grid-row:1}
  .welcome-photo{grid-column:1/-1;grid-row:2;width:45%;translate:none;justify-self:center;align-self:center}
  .welcome-facts{grid-column:1/-1;grid-row:3}
  .contact-grid{align-items:stretch}
  .agents{min-height:540px}
  .form{min-height:540px;grid-template-rows:auto repeat(3,minmax(64px,1fr)) minmax(110px,1.45fr) minmax(58px,.8fr)}
  .form textarea{min-height:110px}
}

/* V168: isolated compliance, Location hold, and landscape pool alignment corrections. */
.welcome-photo-row{display:contents}
.compliance-logo img{width:clamp(90px,13.2vw,138px);height:auto}
@media(orientation:landscape) and (max-height:560px){
  .welcome-photo-row{grid-column:1/-1;grid-row:2;width:100%;display:flex;justify-content:center;align-items:center}
  .welcome-photo{grid-column:auto;grid-row:auto;width:45%;margin:0;translate:none;justify-self:auto;align-self:auto}
}

/* V171: match landscape media widths. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-photo-row{padding-top:48px}
  .welcome-photo{width:70%}
}
/* V172: centered landscape facts. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-facts{width:70%;justify-self:center}
  .welcome-facts .bed,.welcome-facts .bath,.welcome-facts .sqft{text-align:center;justify-self:center}
}

/* V179 checkpoint: requested media-width map and edge-aligned portrait facts. */
@media (orientation:landscape) and (max-height:560px){
  .welcome-facts{width:70%;margin-left:auto;margin-right:auto;justify-self:center}
  .welcome-facts .bed{justify-self:start;justify-content:flex-start;text-align:left}
  .welcome-facts .bath{justify-self:center;justify-content:center;text-align:center}
  .welcome-facts .sqft{justify-self:end;justify-content:flex-end;text-align:right}
}
@media (orientation:portrait){
  .welcome-facts .bed{
    justify-self:start;
    justify-content:flex-start;
    text-align:left;
  }
  .welcome-facts .bath{
    justify-self:center;
    justify-content:center;
    text-align:center;
  }
  .welcome-facts .sqft{
    justify-self:end;
    justify-content:flex-end;
    text-align:right;
  }
}

/* V207: fade the white hero header away before the black header returns. */
.head{
  opacity:var(--head-opacity,1);
  transition:opacity .18s linear,color .3s ease,background .3s ease;
}

/* V207: an explicit, persistent resume control when Vimeo is paused. */
.video-frame{position:relative}
.video-resume{
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.9);
  background:rgba(0,0,0,.78);
  color:#fff;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .2s ease,transform .2s ease;
}
.video-frame.is-paused .video-resume{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}

/* V207: one spacing token, not two adjoining section paddings. */
@media(max-width:600px) and (orientation:portrait){
  .description{padding-top:0}
  .tour{padding-top:0}
}

@media(orientation:landscape) and (max-height:560px){
  .description{padding-top:0}
  .tour{padding-top:0}
  .video-resume{bottom:10px;min-height:38px;padding:8px 12px;font-size:9px}
}

/* V180 checkpoint: exact portrait fact spacing. */
@media (max-width:600px) and (orientation:portrait){
  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft{
    column-gap:9px;
  }
  .welcome-facts .bed span,
  .welcome-facts .bath span,
  .welcome-facts .sqft span{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* V183 representative checkpoint: Location reuses the approved Contact lock. */
.location{
  position:relative;
  min-height:auto;
  height:auto;
  padding-top:clamp(92px,11vw,140px);
  padding-bottom:72px;
}
.location .soft-lock-zone{position:relative;padding-bottom:0}
.location .soft-lock-intro{
  position:relative;
  inset:auto;
  width:100%;
  display:block;
  background:#fff;
  padding-bottom:30px;
  transform:none;
  will-change:auto;
}
.location .loc-title{margin:0}
.location .loc-copy{margin:22px 0 0}
.location>.map{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  margin:0;
}
@media(max-width:600px) and (orientation:portrait){
  .location{padding-top:116px}
}
@media(orientation:landscape) and (max-height:560px){
  .location{padding-top:96px}
  .location .soft-lock-intro{padding-bottom:18px}
  .location .loc-title{font-size:clamp(42px,6.2vw,58px);line-height:.9}
  .location .loc-copy{margin-top:18px;font-size:clamp(22px,3.2vw,31px);line-height:1.12}
  .location>.map{
    width:70%;
    aspect-ratio:16/9;
    margin-left:auto;
    margin-right:auto;
  }
}

/* V184 representative checkpoint: one shared iPhone landscape safe rail. */
@media (orientation:landscape) and (max-height:560px){
  :root{
    --landscape-safe-left:max(var(--pad), calc(env(safe-area-inset-left) + 16px));
    --landscape-safe-right:max(var(--pad), calc(env(safe-area-inset-right) + 16px));
  }

  .head{
    padding-left:var(--landscape-safe-left);
    padding-right:var(--landscape-safe-right);
  }
  .nav{
    padding-left:var(--landscape-safe-left);
    padding-right:var(--landscape-safe-right);
  }
  .hero-word:nth-of-type(1),
  .hero-label{left:var(--landscape-safe-left)}
  .hero-word:nth-of-type(3),
  .scroll{right:var(--landscape-safe-right)}

  .welcome-stage,
  .content{
    padding-left:var(--landscape-safe-left);
    padding-right:var(--landscape-safe-right);
  }

  .lbtop,
  .lbstage{
    padding-left:var(--landscape-safe-left);
    padding-right:var(--landscape-safe-right);
  }
  .lbcontrols,
  .lbcap{
    margin-left:0;
    margin-right:0;
  }
}
/* V185 representative checkpoint: one continuous legal disclaimer below the address. */
.legal {
  columns: auto;
  display: block;
}

.legal-address {
  margin: 0 0 18px;
}

.legal-disclaimer {
  margin: 0;
}

@media (orientation: landscape) and (max-height: 560px) {
  .legal {
    columns: auto;
    display: block;
    grid-template-columns: none;
    column-gap: 0;
  }

  .legal-address {
    margin-bottom: 12px;
  }
}

/* V187 Vimeo opening-film integration; no layout outside #film is changed. */
.hero video {
  display: none;
}

.hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero-player {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  border: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

.hero-player-portrait {
  width: max(100vw, 56.25svh);
  height: max(100svh, 177.78vw);
}

.hero-player-landscape {
  display: none;
  width: min(100vw, 177.78svh);
  height: min(100svh, 56.25vw);
}

@media (orientation: landscape) {
  .hero-player-portrait { display: none; }
  .hero-player-landscape { display: block; }
}

/* V189: show both opening-film masters without a site-applied dimming layer. */
.hero:after { content: none; }

/* V191 adjusted checkpoint: cover the remaining landscape Safari bottom strip. */
@media (orientation: landscape) {
  .hero {
    height: 100vh;
    min-height: 100vh;
    height: calc(100dvh + 12px);
    min-height: calc(100dvh + 12px);
  }

  .hero-player-landscape {
    top: auto;
    bottom: 0;
    width: 87vw;
    height: 48.9375vw;
    transform: translateX(-50%);
  }
}

/* V229 authoritative final Welcome alignment and rhythm. */
.welcome-facts{
  align-self:start;
  margin-top:40px;
  padding-top:0;
}

.welcome-facts .bed{
  translate:-2px 0;
}

.welcome-facts .sqft{
  translate:2px 0;
}

/* V230: optical correction for the visible facts-to-price interval. */
.welcome-facts .asking{
  margin-top:20px;
}

/* V192 Gallery checkpoint: prioritize the photograph in the landscape lightbox. */
@media (orientation: landscape) and (max-height: 560px) {
  .lbtop {
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:6px;
  }

  .lbstage {
    position:relative;
    display:block;
    padding-top:8px;
  }

  .lbimg {
    width:min(100%,calc(150dvh - 198px));
    height:calc(100dvh - 132px);
    max-height:none;
    margin-inline:auto;
    object-fit:contain;
  }

  .lbcontrols {
    position:absolute;
    top:calc((100dvh - 132px) / 2 - 12px);
    left:var(--landscape-safe-left);
    right:var(--landscape-safe-right);
    margin:0;
    transform:translateY(-50%);
  }

  .lbnav {
    width:44px;
    height:40px;
    font-size:24px;
  }

  .lbcap {
    width:min(100%,calc(150dvh - 198px));
    margin:6px auto 0;
    text-align:left;
  }

  .lbcap h3 {
    margin-bottom:3px;
    font-size:15px;
    line-height:1.15;
  }

  .lbcap p {
    font-size:12px;
    line-height:1.3;
  }
}

/* V192 HLS checkpoint: native opening films show their posters while HLS prepares. */
.hero .hero-player {
  display:block;
}

@media (orientation: landscape) {
  .hero .hero-player-portrait { display:none; }
  .hero .hero-player-landscape { display:block; }
}

@media (orientation: portrait) {
  .hero .hero-player-portrait { display:block; }
  .hero .hero-player-landscape { display:none; }
}

/* V192 Menu checkpoint: remove the Vimeo compositor layer while navigation is open. */
body.menu-open #propertyVideo {
  visibility:hidden;
}

/* V192 single-tap menu checkpoint: keep navigation above iOS video compositor layers. */
.head {
  z-index:1000;
  isolation:isolate;
  transform:translateZ(0);
}

.nav {
  z-index:2000;
  isolation:isolate;
  transform:translateZ(0);
}

.tour .video-frame {
  position:relative;
  z-index:0;
  isolation:isolate;
  transform:translateZ(0);
}

/* V192 close-control checkpoint: keep the Gallery lightbox above fixed navigation. */
.lightbox {
  z-index:3000;
}

/* V192 inline-caption checkpoint: bold title, dash, and description flow together. */
.lbcap .lbcapline {
  margin:0;
}

/* V194 desktop representative checkpoint: restrained map and slower Welcome pool reveal. */
@media (min-width:900px) and (min-height:650px) {
  .welcome-facts {
    width:min(100%,900px);
    justify-self:center;
    margin-inline:auto;
    text-align:center;
  }

  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft {
    justify-self:center;
  }

  .location>.map {
    width:min(100%,960px);
    aspect-ratio:16/9;
    margin-inline:auto;
  }
}

/* V196 representative checkpoint: balance the three portrait-mobile fact groups. */
@media (max-width:600px) and (orientation:portrait) {
  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft {
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* V197: distribute equal visible space between natural-width mobile fact groups. */
@media (max-width:600px) and (orientation:portrait),
       (orientation:landscape) and (max-height:560px) {
  .welcome-facts {
    grid-template-columns:max-content max-content max-content;
    column-gap:0;
    justify-content:space-between;
  }

  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft {
    width:auto;
    justify-self:auto;
    justify-content:flex-start;
    text-align:left;
  }
}

/* V198 desktop representative checkpoint: contact structure and explore cue. */
.header-action{position:relative;display:grid;justify-items:center}
.explore-cue{position:absolute;top:calc(100% + 26px);left:50%;display:grid;justify-items:center;gap:7px;color:#fff;transform:translateX(-50%);transition:opacity .25s ease,visibility .25s ease;pointer-events:none}
.explore-cue span{font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.explore-cue i{width:9px;height:9px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);animation:exploreChevron 1.8s ease-in-out infinite}
@keyframes exploreChevron{0%,100%{opacity:.45;translate:0 0}50%{opacity:1;translate:0 5px}}
.head.white .explore-cue,body.menu-open .explore-cue{opacity:0;visibility:hidden}

@media(min-width:1024px){
  .presented .agents{width:min(100%,1180px);margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.5vw,54px)}
  .presented .agent{container-type:inline-size;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:clamp(12px,1.4vw,18px)}
  .presented .agent img{height:auto;aspect-ratio:5/6;object-fit:cover}
  .presented .agent a{display:inline-block;max-width:100%;font-size:clamp(12px,4cqw,15px);white-space:nowrap;overflow-wrap:normal}
  .request-info .soft-lock-intro,.request-info .form{width:min(100%,900px);margin-inline:auto}
}

/* V201: edge-aligned responsive facts, cleaner sections, and stronger Explore cue. */
.content{border-top:0}
.welcome-facts{border-top:0}
.explore-cue span{font-size:9px}
.explore-cue i{width:14px;height:14px;border-right-width:2px;border-bottom-width:2px}
@media(max-width:600px){.explore-cue span{font-size:8px}}

@media(min-width:900px) and (min-height:650px){
  .welcome-facts{grid-template-columns:repeat(3,minmax(0,1fr));text-align:left}
  .welcome-facts .bed{justify-self:start;justify-content:flex-start;text-align:left}
  .welcome-facts .bath{justify-self:center;justify-content:center;text-align:center}
  .welcome-facts .sqft{justify-self:end;justify-content:flex-end;text-align:right}
  .welcome-facts .asking,.welcome-facts .mls{justify-self:start;text-align:left}
}

/* V202: no separator through paused or locked headlines. */
.head.white{border-bottom:0}

/* V203: immediate mobile menu gesture and quieter desktop supporting copy. */
.burger{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(min-width:900px) and (min-height:650px){
  .location .loc-copy,.presented .intro-copy,.request-info .intro-copy{max-width:1100px;font-size:clamp(28px,2.35vw,38px);line-height:1.2}
}

.lbcapline strong {
  font-weight:700;
}

/* V222: preserve the established form offset after removing its repeated heading. */
.request-info .form{
  padding-top:clamp(50px,4.2vw,60px);
}

/* V223: keep Safari's fixed blur layer stable and fade only its controls. */
.head{
  opacity:1!important;
}

.head>.burger,
.head>.logo,
.head>.header-action{
  opacity:var(--head-content-opacity,1);
  transition:opacity .18s linear;
}

.head.white>.burger,
.head.white>.logo,
.head.white>.header-action,
.head.controls-restored>.burger,
.head.controls-restored>.logo,
.head.controls-restored>.header-action{
  opacity:1!important;
  visibility:visible;
}

/* V224: match the form gap to the Request Info headline-to-subtext rhythm. */
.request-info .form{
  padding-top:6px;
}

@media(max-width:600px) and (orientation:portrait){
  .request-info .form{padding-top:0}
}

@media(orientation:landscape) and (max-height:560px){
  .request-info .form{padding-top:10px}
}

/* V225: one consistent small-type system for the Welcome facts. */
.welcome-facts{
  grid-template-areas:"bed bath sqft" "price price price";
}

.welcome-facts .bed span,
.welcome-facts .bath span,
.welcome-facts .sqft span{
  font-family:CompassSans,Arial,sans-serif;
  font-size:clamp(8px,2vw,10px);
  font-weight:700;
  letter-spacing:.12em;
}

.welcome-facts .bed,
.welcome-facts .bath,
.welcome-facts .sqft{
  column-gap:9px;
}

.welcome-facts .asking strong{
  font-size:clamp(17px,4.6vw,30px);
  white-space:nowrap;
}

/* V226: enlarge the three Welcome fact labels within the approved row. */
.welcome-facts .bed span,
.welcome-facts .bath span,
.welcome-facts .sqft span{
  font-size:clamp(11px,2.6vw,14px);
}

/* V228: give the combined price/MLS line equal visual breathing room. */
.welcome-facts .asking{
  margin-top:30px;
}

.welcome-facts .asking strong{
  font-size:clamp(19px,5vw,32px);
}

/* V229: one equal Welcome rhythm and optical alignment at both image edges. */
.welcome-facts{
  align-self:start;
  margin-top:46px;
  padding-top:0;
}

.welcome-facts .bed{
  translate:-2px 0;
}

.welcome-facts .sqft{
  translate:2px 0;
}

/* V205: one site-wide section rhythm; no artificial scroll-lock runway. */
:root{
  --section-space-block:clamp(52px,4vw,68px);
  --section-intro-gap:clamp(28px,2.5vw,40px);
}

.content{
  padding-top:var(--section-space-block);
  padding-bottom:var(--section-space-block);
}

.soft-lock-zone{
  height:auto!important;
  min-height:0!important;
  padding-bottom:0!important;
}

.soft-lock-intro{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  transform:none!important;
  padding-bottom:0!important;
}

.tour .soft-lock-zone,
.gallery .soft-lock-zone,
.location .soft-lock-zone,
.presented .soft-lock-zone,
.request-info .soft-lock-zone{
  margin-bottom:var(--section-intro-gap);
}

.description-grid{
  align-items:start;
}

@media(max-width:600px) and (orientation:portrait){
  :root{
    --section-space-block:48px;
    --section-intro-gap:28px;
  }
}

/* V241: equal desktop fact gaps with the SF endpoint aligned to the MLS endpoint. */
@media(min-width:900px) and (min-height:650px){
  .welcome-facts{
    column-gap:44px;
  }
}

/* V239 desktop checkpoint: left-align the constrained Welcome and Location media. */
@media(min-width:900px) and (min-height:650px){
  .welcome-photo,
  .welcome-facts{
    justify-self:start;
    margin-left:0;
    margin-right:0;
  }

  .location>.map{
    margin-left:0;
    margin-right:0;
  }
}

/* V240 desktop checkpoint: compact the three property facts into one left-aligned group. */
@media(min-width:900px) and (min-height:650px){
  .welcome-facts{
    width:max-content;
    max-width:100%;
    grid-template-columns:repeat(3,max-content);
    column-gap:clamp(60px,4vw,72px);
  }

  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft{
    justify-self:start;
    justify-content:flex-start;
    text-align:left;
  }
}

@media(orientation:landscape) and (max-height:560px){
  :root{
    --section-space-block:38px;
    --section-intro-gap:20px;
  }
}

/* V205: coherent headline hierarchy; Welcome leads without overpowering. */
.welcome-title{
  font-size:clamp(58px,6.7vw,92px);
  line-height:.88;
}

.description-lead,
.section-head h2,
.loc-title{
  font-size:clamp(52px,6vw,82px);
  line-height:.9;
}

@media(max-width:600px) and (orientation:portrait){
  .welcome-stage{
    padding-bottom:max(140px,calc(env(safe-area-inset-bottom) + 112px));
  }

  .request-info{
    padding-bottom:max(150px,calc(env(safe-area-inset-bottom) + 120px));
  }

  .welcome-title{font-size:clamp(50px,13vw,56px)}
  .description-lead,.section-head h2,.loc-title,.contact .section-head h2{font-size:clamp(44px,11.5vw,50px)}
}

@media(orientation:landscape) and (max-height:560px){
  .welcome-title{font-size:clamp(44px,5.6vw,52px)}
  .description-lead,.section-head h2,.loc-title,.contact .section-head h2{font-size:clamp(38px,5vw,46px)}
}

/* V206: one balanced mobile transition rhythm for the opening sections. */
@media(max-width:600px) and (orientation:portrait){
  .welcome{
    min-height:100svh;
  }

  .welcome-stage{
    padding-bottom:var(--section-space-block);
  }

  .welcome-photo{
    margin-top:34px;
  }

  .welcome-facts{
    margin-top:34px;
    padding-top:0;
  }
}

@media(orientation:landscape) and (max-height:560px){
  .welcome-stage{
    padding-bottom:var(--section-space-block);
  }

  .welcome-photo-row{
    padding-top:var(--section-space-block);
  }

  .welcome-facts{
    margin-top:var(--section-space-block);
    padding-top:0;
  }
}

/* V207 final mobile opening-transition overrides. */
@media(max-width:600px) and (orientation:portrait){
  .content.description{padding-top:30px}
  .content.tour{padding-top:0}

  /* V211: menu-only breathing room keeps Gallery below the portrait landing. */
  body.portrait-tour-menu-landing .content.tour{min-height:100svh}
}

/* V220: lower only the portrait Property Video menu landing. */
@media(max-width:600px) and (orientation:portrait){
  body.portrait-tour-menu-landing .content.tour{
    padding-top:160px;
  }
}

@media(orientation:landscape) and (max-height:560px){
  .content.description{padding-top:30px}
  .content.tour{padding-top:0}
}

/* V214: center the complete landscape film within the mobile viewport. */
@media (orientation:landscape) {
  .hero {
    height:100svh;
    min-height:100svh;
    background:#000;
  }

  .hero-media {
    inset:0;
    height:100%;
    min-height:100%;
    background:#000;
  }

  .hero .hero-player-landscape {
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    transform:none;
  }
}

/* V214: menu landings show Gallery alone until the visitor resumes scrolling. */
body.gallery-menu-landing .content.gallery {
  min-height:100svh;
}

body.gallery-menu-landing .content.location {
  opacity:0 !important;
  visibility:hidden;
}

/* V215 representative checkpoint: full-bleed landscape Picture Yourself. */
@media (orientation: landscape) {
  .hero {
    width: 100vw;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: hidden;
    background: #000;
  }

  .hero-media {
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    background: #000;
  }

  .hero .hero-player-landscape {
    position: absolute;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* V229 final cascade authority: Welcome edge alignment and equal spacing. */
.welcome-facts{
  align-self:start;
  margin-top:40px;
  padding-top:0;
}

.welcome-facts .bed{
  translate:-2px 0;
}

.welcome-facts .sqft{
  translate:2px 0;
}

/* V230 final cascade authority: optical facts-to-price spacing. */
.welcome-facts .asking{
  margin-top:20px;
}

/* V231: medium emphasis for the combined Offered at / MLS line. */
.welcome-facts .asking strong{
  font-family:CompassSansMedium,CompassSans,Arial,sans-serif;
  font-weight:500;
}

/* V232: one explicit Gallery action color across browsers. */
.gallery .more,
.gallery .more:focus,
.gallery .more:active{
  color:#007aff;
  -webkit-text-fill-color:#007aff;
}

/* V233: restore Property Story to the shared mobile section rhythm. */
@media(max-width:600px) and (orientation:portrait){
  .content.description{padding-top:48px}
}

@media(orientation:landscape) and (max-height:560px){
  .content.description{padding-top:38px}
}

/* V234 portrait checkpoint: remove the residual full-viewport gap before Property Story. */
@media(max-width:600px) and (orientation:portrait){
  .welcome,
  .welcome-stage{
    min-height:auto;
  }

  .content.description{
    padding-top:18px;
  }
}

/* V235: align the desktop inquiry form to its subtext and place contact fields in one row. */
@media(min-width:1024px) and (min-height:650px){
  .request-info .form{
    width:min(100%,1100px);
    margin-inline:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .request-info .form input{
    grid-column:auto!important;
  }

  .request-info .form textarea{
    grid-column:1/-1!important;
  }
}

/* V236: reveal the Picture Yourself Scroll cue only with the turtle finale. */
.explore-cue{
  opacity:0;
  visibility:hidden;
}

body.hero-scroll-ready .explore-cue{
  opacity:1;
  visibility:visible;
}

.head.white .explore-cue,
body.menu-open .explore-cue{
  opacity:0;
  visibility:hidden;
}

/* V237: compact the landscape inquiry form and isolate the portrait Welcome menu landing. */
@media(orientation:landscape) and (max-height:560px){
  .request-info .form{
    height:auto;
    min-height:0;
    align-self:start;
    grid-template-rows:none;
    grid-auto-rows:auto;
  }

  .request-info .form input{
    height:48px;
    min-height:48px;
  }

  .request-info .form textarea{
    height:110px;
    min-height:110px;
  }

  .request-info .form button{
    min-height:48px;
  }
}

/* V247 final cascade authority: one compact, left-aligned portrait facts group. */
@media(max-width:600px) and (orientation:portrait){
  .welcome-facts{
    width:max-content;
    max-width:100%;
    justify-self:start;
    margin-left:0;
    margin-right:0;
    grid-template-columns:repeat(3,max-content);
    column-gap:clamp(10px,3vw,14px);
  }

  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft{
    justify-self:start;
    justify-content:flex-start;
    text-align:left;
    translate:0 0;
  }
}

/* V249: clean landscape row with equal gaps and the corrected right endpoint. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-facts{
    width:max-content;
    max-width:100%;
    justify-self:start;
    margin-left:0;
    margin-right:0;
    grid-template-columns:repeat(3,max-content);
    column-gap:62px;
    justify-content:start;
  }

  .welcome-facts .bed,
  .welcome-facts .bath,
  .welcome-facts .sqft{
    justify-self:start;
    justify-content:flex-start;
    text-align:left;
    translate:0 0;
  }
}

/* V251: preserve landscape media sizes while aligning them to the content gutter. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-photo-row{
    justify-content:flex-start;
  }

  .welcome-photo{
    transform-origin:left center;
  }

  .tour .video-frame,
  .location>.map{
    margin-left:0;
    margin-right:auto;
  }
}

@media(max-width:600px) and (orientation:portrait){
  body.welcome-menu-landing .welcome{
    min-height:100svh;
  }
}

/* V238 desktop checkpoint: balance the Story and Property Video transitions. */
@media(min-width:900px) and (min-height:650px){
  .content.description{
    padding-top:clamp(64px,5vw,80px);
  }

  .content.tour{
    padding-top:clamp(40px,calc(49.6px - .5vw),42.4px);
  }
}

/* V241 final cascade authority: one equal optical gap aligns both right endpoints. */
@media(min-width:900px) and (min-height:650px){
  .welcome-facts{
    column-gap:41.7px;
  }
}

/* V242: one compact three-field row for the iPhone landscape inquiry form. */
@media(orientation:landscape) and (max-height:560px){
  .request-info .form{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .request-info .form input{
    grid-column:auto!important;
  }

  .request-info .form textarea{
    grid-column:1/-1!important;
  }
}

/* V252: align the complete desktop agent row with the Presented By content edge. */
@media(min-width:900px) and (min-height:650px){
  .presented .agents{
    margin-left:0;
    margin-right:auto;
  }
}

/* V253 representative checkpoint: wider Welcome media and editorial Location columns. */
@media(min-width:900px) and (min-height:650px){
  .welcome-photo{
    width:82%;
    max-width:none;
    justify-self:start;
    margin-left:clamp(42px,3.75vw,72px);
    transform-origin:left center;
  }

  .location{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,3fr);
    column-gap:40px;
    row-gap:42px;
    align-items:start;
  }

  .location .soft-lock-zone,
  .location .soft-lock-intro{
    display:contents;
  }

  .location .loc-title{
    grid-column:1/-1;
  }

  .location .loc-copy{
    grid-column:1;
    margin:0;
  }

  .location>.map{
    grid-column:2;
    width:100%;
    aspect-ratio:4/3;
    margin:0;
  }
}

/* V254: measured Welcome width and left edge match the Property Video exactly. */
@media(min-width:900px) and (min-height:650px){
  .welcome-photo{
    width:113.6364%;
    max-width:none;
    justify-self:start;
    margin-left:0;
  }
}

@media(orientation:landscape) and (max-height:560px){
  .welcome-photo{
    width:82%;
    max-width:none;
  }

  .location{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,3fr);
    column-gap:24px;
    row-gap:26px;
    align-items:start;
  }

  .location .soft-lock-zone,
  .location .soft-lock-intro{
    display:contents;
  }

  .location .loc-title{
    grid-column:1/-1;
  }

  .location .loc-copy{
    grid-column:1;
    margin:0;
  }

  .location>.map{
    grid-column:2;
    width:100%;
    aspect-ratio:4/3;
    margin:0;
  }
}

@media(orientation:landscape) and (max-height:560px){
  .welcome-photo{
    width:74.4681%;
    max-width:none;
    margin-left:0;
  }
}

/* V255: fully visible Welcome width matches the fully visible Property Video. */
@media(min-width:900px) and (min-height:650px){
  .welcome-photo{
    width:100%;
  }
}

@media(orientation:landscape) and (max-height:560px){
  .welcome-photo{
    width:70%;
  }
}

/* V256: desktop-scale full-width media treatment for iPhone landscape. */
@media(orientation:landscape) and (max-height:560px){
  .welcome-photo,
  .tour .video-frame{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
  }
}
