@font-face{font-family:"Safira March";src:url("/fonts/safiramarch-extralight-webfont.woff2") format("woff2");font-weight:200;font-display:swap}
:root{
  --ink:#191818;--ground:#FFFFFF;--seasalt:#F9F8F6;--platinum:#EAE7E4;--khaki:#B2A597;
  --red:#C63838;--muted:#6B6663;--line:#DAD5D0;--body:#3b3837;
  --note-bg:#F6EEDC;--note-ink:#6E4A0E;
  --sans:"Karla",Helvetica,Arial,sans-serif;--label:"Archivo",Arial,sans-serif;
  --serif:"Noto Serif",Georgia,serif;--display:"Safira March","Noto Serif",Georgia,serif;
  --gutter:clamp(16px,4vw,48px);--radius:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- header ---------- */
.announce{background:var(--ink);color:var(--seasalt);text-align:center;font:600 11px/1.4 var(--label);letter-spacing:.16em;text-transform:uppercase;padding:10px var(--gutter)}
.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;box-shadow:0 1px 0 var(--line);transition:background .3s,box-shadow .3s,color .3s}
.bar{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:16px var(--gutter);max-width:1440px;margin-inline:auto}
.logo{height:20px;width:auto}.brand{align-items:center;gap:12px}.brand.logo-dark{display:flex}.brand .kp{height:34px;width:auto}.brand .logo{height:22px}.brand i{width:1px;height:30px;background:currentColor;opacity:.3}.brand.logo-dark i{background:#191818}.brand.logo-light i{background:#fff}
.logo-light{display:none}
.nav{display:flex;justify-content:center;gap:clamp(14px,2.2vw,34px)}
.nav a{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.nav a small{display:block;font:500 10px/1 var(--label);letter-spacing:.14em;color:var(--muted);margin-top:5px;text-transform:uppercase}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:currentColor}
.right{display:flex;gap:14px;align-items:center;justify-self:end}
.login{position:relative}
.login>button,.menu-btn{background:none;border:0;color:inherit;font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:8px 2px}
.login-pop{position:absolute;right:0;top:calc(100% + 10px);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(25,24,24,.12);padding:8px;width:260px;display:grid}
.login-pop a{display:block;padding:12px 14px;border-radius:8px;text-decoration:none}
.login-pop a:hover{background:var(--seasalt)}
.login-pop b{display:block;font:800 13px var(--sans);text-transform:uppercase;letter-spacing:.06em}
.login-pop span{font-size:14px;color:var(--muted)}
.cta{border-radius:999px;padding:11px 18px;font:600 11px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;background:var(--red);color:#fff;white-space:nowrap}
.cta:hover{background:var(--ink)}
.menu-btn{display:none}
/* transparent over a hero */
[data-hero="1"] .site{position:fixed;left:0;right:0}
.over .site{background:transparent;box-shadow:none;color:#fff}
.over .logo-light{display:block}.over .logo-dark{display:none}
.over .nav a small{color:rgba(255,255,255,.7)}
@media (max-width:1060px){.nav{display:none}.menu-btn{display:block}.bar{grid-template-columns:auto 1fr auto}.login{display:none}}
@media (max-width:480px){.logo{height:14px}.cta{padding:10px 12px}}

/* wrong door strip */
.door-strip{background:var(--seasalt);color:var(--ink);border-bottom:1px solid var(--line);font-size:14px;padding:10px var(--gutter);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.door-strip b{font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.door-strip a{text-underline-offset:3px}

/* menu overlay */
.menu{position:fixed;inset:0;z-index:70;background:var(--ink);color:var(--seasalt);padding:calc(24px + env(safe-area-inset-top,0px)) var(--gutter) 40px;overflow:auto}
.menu .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.menu .top button{background:none;border:0;color:inherit;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.menu .groups{display:grid;gap:30px}
.menu h4{margin:0 0 8px;font:600 11px var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--khaki)}
.menu .groups a{display:block;font:800 clamp(26px,6vw,44px)/1.15 var(--sans);text-transform:uppercase;text-decoration:none}
.menu .groups a.sm{font:500 16px/1.8 var(--sans);text-transform:none}

/* ---------- shared blocks ---------- */
.page{display:block}
section{padding-inline:var(--gutter)}
.wrap{max-width:1240px;margin-inline:auto}
.pad{padding-block:clamp(56px,8vw,112px)}
.h1{margin:0;font:800 clamp(38px,6.6vw,88px)/.98 var(--sans);text-transform:uppercase;letter-spacing:-.015em;text-wrap:balance}
.h2{margin:0;font:800 clamp(28px,4vw,50px)/1.05 var(--sans);text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.h3{margin:0;font:800 18px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.02em}
.eyebrow{font:600 11px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.lede{font-size:clamp(17px,1.5vw,19px);color:var(--body);max-width:56ch;margin:20px 0 30px}
.serif-i{font:300 italic 1em/1 var(--serif);text-transform:none;letter-spacing:0}
.rule{width:48px;height:1px;background:var(--line);border:0;margin:24px 0}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:999px;padding:13px 22px;font:600 11px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.pill:hover{background:var(--ink);color:#fff}
.pill.red{background:var(--red);border-color:var(--red);color:#fff}.pill.red:hover{background:var(--ink);border-color:var(--ink)}
.pill.light{border-color:#fff;color:#fff}.pill.light:hover{background:#fff;color:var(--ink)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.photo{border-radius:var(--radius);overflow:hidden;background:var(--platinum)}
.photo img{width:100%;height:100%;object-fit:cover}.modal .box .photo img{object-position:center 22%}
.tint{background:var(--seasalt)}
.plat{background:var(--platinum)}

/* page heads */
.phero{position:relative;min-height:min(78vh,760px);display:grid;align-items:end;color:#fff;overflow:hidden;padding-block:150px 64px}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,24,24,.5),rgba(25,24,24,.2) 45%,rgba(25,24,24,.7))}
.phero .wrap{position:relative;z-index:1;width:100%}
.phero .lede{color:rgba(255,255,255,.9)}
.phero .eyebrow{color:#fff;opacity:.85}
.phead{padding-block:clamp(48px,7vw,96px) clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}

/* home: three doors */
.home-hero{min-height:min(82vh,820px);align-items:center;text-align:center;padding-block:150px 180px}
.home-hero .h1{font-size:clamp(42px,8.4vw,112px)}
.home-hero p.sub{margin:20px 0 0;font:500 clamp(13px,1.4vw,16px)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.doors{position:relative;z-index:2;margin-top:-120px}
.doors .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.door{background:#fff;border-radius:var(--radius);padding:28px 26px 24px;box-shadow:0 18px 50px rgba(25,24,24,.12);display:grid;gap:10px;align-content:start;text-decoration:none}
.door .who{font:600 11px var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.door h2{margin:0;font:800 clamp(22px,2.2vw,28px)/1.05 var(--sans);text-transform:uppercase}
.door p{margin:0;color:var(--body);font-size:15px}
.door ul{list-style:none;margin:6px 0 0;padding:0;display:grid;border-top:1px solid var(--line)}
.door li a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font:700 13px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.door li a:hover{opacity:.6}
.door.owner{background:var(--ink);color:#fff}.door.owner p{color:#d6d1cc}.door.owner ul,.door.owner li a{border-color:#3a3737}.door.owner .who{color:var(--khaki)}
.already{text-align:center;font-size:15px;color:var(--muted);margin:22px 0 0}
@media (max-width:860px){.doors .wrap{grid-template-columns:1fr}.home-hero{padding-block:130px 150px}}

/* image with text */
.iwt .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.iwt .photo{aspect-ratio:4/5}
.iwt p{color:var(--body);max-width:48ch}
.iwt.flip .photo{order:2}
@media (max-width:820px){.iwt .wrap{grid-template-columns:1fr}.iwt.flip .photo{order:0}.iwt .photo{aspect-ratio:4/3}}

/* city marquee */
.cities{overflow:hidden;padding:0}
.track{display:flex;width:max-content;padding-block:28px;animation:marquee 40s linear infinite}
.cities:hover .track{animation-play-state:paused}
.track a{font:200 clamp(20px,2.4vw,28px)/1 var(--display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:56px;padding-right:56px}
.track a::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--khaki)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* accordion panels */
.acc{display:flex;gap:12px;height:clamp(420px,50vw,560px)}
.panel{position:relative;flex:1;border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:flex .6s cubic-bezier(.2,.7,.2,1);border:0;padding:0;background:var(--ink);color:#fff;text-align:left;font:inherit}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(25,24,24,.8))}
.panel .cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:24px}
.panel h3{margin:0;font:800 clamp(16px,1.6vw,21px)/1.1 var(--sans);text-transform:uppercase}
.panel p{margin:10px 0 0;font-size:15px;line-height:1.5;max-width:none;opacity:0;max-height:0;overflow:hidden;transition:opacity .4s .15s,max-height .5s}
.panel.open{flex:3.2}.panel.open p{opacity:1;max-height:200px}
@media (max-width:820px){.acc{flex-direction:column;height:auto}.panel{flex:none;height:88px}.panel.open{height:340px}}

/* reviews */
.reviews{text-align:left}
.quote{max-width:860px;margin:36px 0 0;min-height:200px;display:grid;align-content:center}
.quote blockquote{margin:0;font:300 clamp(20px,2.3vw,27px)/1.5 var(--serif);text-wrap:pretty}
.quote cite{display:block;margin-top:24px;font:700 13px/1.4 var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase}
.quote cite span{display:block;font:500 11px var(--label);letter-spacing:.18em;color:var(--muted);margin-top:4px}
.dots{display:flex;gap:10px;justify-content:flex-start;margin-top:30px;align-items:center}
.dots .d{width:9px;height:9px;border-radius:50%;border:1px solid var(--ink);background:transparent;padding:0;cursor:pointer}
.dots .d[aria-current="true"]{background:var(--ink)}
.arrow{background:none;border:0;font:400 22px var(--sans);cursor:pointer;padding:0 10px;color:var(--ink)}
.fade{animation:fade .5s ease}@keyframes fade{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}

/* listings */
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font:600 11px var(--label);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.grid4{grid-template-columns:1fr}}
.home-card{display:grid;gap:12px;text-decoration:none}
.home-card .ph{aspect-ratio:4/3;border-radius:var(--radius);background:var(--platinum);display:grid;place-items:center;position:relative}
.home-card .ph img{width:32%;opacity:.3}
.badge{position:absolute;top:12px;left:12px;background:#fff;font:600 10px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;padding:8px 10px;border-radius:999px}
.home-card h3{margin:0;font:800 15px/1.25 var(--sans);text-transform:uppercase;letter-spacing:.02em}
.meta{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.meta b{color:var(--ink)}
.home-card .row a{font-size:12px}
.empty{grid-column:1/-1;padding:40px;border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;counter-reset:s;border-top:1px solid var(--ink)}
.step{padding:26px 24px 8px 0;counter-increment:s}
.step::before{content:counter(s,decimal-leading-zero);display:block;font:600 11px var(--label);letter-spacing:.2em;color:var(--muted);margin-bottom:14px}
.step p{color:var(--body);font-size:15px;margin:10px 0 0}
@media (max-width:860px){.steps{grid-template-columns:1fr}.step{border-bottom:1px solid var(--line);padding-right:0}}

/* action tiles (residents) */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile-a{border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:grid;gap:8px;align-content:start;text-decoration:none;background:#fff;transition:border-color .2s,transform .2s}
.tile-a:hover{border-color:var(--ink);transform:translateY(-2px)}
.tile-a .k{font:600 10px var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.tile-a p{margin:0;font-size:15px;color:var(--body)}
.tile-a.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.tile-a.primary p,.tile-a.primary .k{color:#d6d1cc}
.tile-a.warn{background:#FBEDEC;border-color:#EFC9C6}
@media (max-width:960px){.tiles{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.tiles{grid-template-columns:1fr}}

/* lists / pricing */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:860px){.cols2,.cols3{grid-template-columns:1fr}}
.check{list-style:none;margin:14px 0 0;padding:0;display:grid}
.check li{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:15px}
.check li em{font-style:normal;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
.price-card{border:1px solid var(--ink);border-radius:var(--radius);padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:1fr auto auto;gap:clamp(20px,4vw,56px);align-items:end}
.big{font:800 clamp(48px,7vw,88px)/.9 var(--sans);font-variant-numeric:tabular-nums}
.big small{display:block;font:600 11px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:12px}
@media (max-width:760px){.price-card{grid-template-columns:1fr 1fr}.price-card>div:first-child{grid-column:1/-1}}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font:700 17px/1.35 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:300 26px var(--sans)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 22px;color:var(--body)}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:6px;font:600 10px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{font:400 16px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.form textarea{min-height:110px;resize:vertical}
.form .actions{grid-column:1/-1;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ok{font-size:14px;color:var(--ink)}.ok.bad{color:var(--red)}#newsOk.bad,#rqOk.bad,#contactOk.bad{color:var(--red)!important}
.form fieldset{grid-column:1/-1;border:0;padding:0;margin:8px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form legend{font:800 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;padding:0}
@media (max-width:560px){.form,.form fieldset{grid-template-columns:1fr}}
.panel-box{background:#fff;border-radius:var(--radius);padding:clamp(22px,3.5vw,40px);box-shadow:0 18px 50px rgba(25,24,24,.08)}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.person .photo{aspect-ratio:4/5;margin-bottom:18px}
.person .role{font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:6px 0 10px}
.person p{color:var(--body);font-size:15px;margin:0}
.ph-blank{display:grid;place-items:center;color:var(--muted);font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}
@media (max-width:860px){.team{grid-template-columns:1fr}}

/* route cards (contact) */
.routes{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.route{border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;display:grid;gap:8px;align-content:start}
.route:hover{border-color:var(--ink)}
.route b{font:800 14px/1.2 var(--sans);text-transform:uppercase}
.route span{font-size:14px;color:var(--muted)}
@media (max-width:1000px){.routes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.routes{grid-template-columns:1fr}}

/* band + footer */
.band{background:var(--platinum);color:var(--ink);text-align:center}
.band .h2{font-size:clamp(32px,5vw,66px)}
.band p{margin:16px auto 30px;max-width:48ch;color:var(--body)}
footer{background:var(--ink);color:#cfcac5;padding:64px var(--gutter) 96px;font-size:14px}
footer .cols{max-width:1240px;margin-inline:auto;display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:36px}
footer h4{margin:0 0 14px;font:600 11px var(--label);letter-spacing:.2em;text-transform:uppercase;color:#fff}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a{text-decoration:none}footer a:hover{color:#fff}
footer .line{font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-top:18px;line-height:2}
footer .legal{max-width:1240px;margin:44px auto 0;padding-top:26px;border-top:1px solid #3a3737;font-size:12px;line-height:1.7;color:#9c9793}
@media (max-width:960px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}

/* ---------- review notes ---------- */
.rn{display:none;background:var(--note-bg);color:var(--note-ink);border:1px solid #E6D3A8;border-radius:12px;padding:14px 16px 14px 44px;font-size:14px;line-height:1.5;position:relative;margin:18px 0;max-width:760px}
.rn::before{content:"!";position:absolute;left:14px;top:13px;width:20px;height:20px;border-radius:50%;background:var(--note-ink);color:var(--note-bg);font:800 12px/20px var(--sans);text-align:center}
.rn b{font-weight:800}
.notes-on .rn{display:block}
.proto{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;gap:6px;align-items:center;background:var(--ink);color:var(--seasalt);border-radius:999px;padding:6px 6px 6px 14px;box-shadow:0 8px 24px rgba(0,0,0,.2);font:600 11px/1 var(--label);letter-spacing:.14em;text-transform:uppercase}
.proto button{background:var(--note-bg);color:var(--note-ink);border:0;border-radius:999px;padding:8px 12px;font:inherit;letter-spacing:.1em;cursor:pointer}
.proto button[aria-pressed="false"]{background:#3a3737;color:#cfcac5}

/* ---------- v2 additions ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plan{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;gap:14px;background:#fff}
.plan.feat{background:var(--ink);color:#fff;border-color:var(--ink)}
.plan .rate{font:800 clamp(40px,4.4vw,56px)/.95 var(--sans);font-variant-numeric:tabular-nums}
.plan .rate small{display:block;font:600 10px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.plan.feat .rate small,.plan.feat p{color:#d6d1cc}
.plan p{margin:0;font-size:15px;color:var(--body)}
.cmp-scroll{overflow-x:auto;margin-top:24px}
.cmp{width:100%;min-width:620px;border-collapse:collapse;font-size:15px}
.cmp th{font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:14px 8px;border-bottom:1px solid var(--ink);white-space:nowrap}
.cmp th:first-child{text-align:left;width:40%}
.cmp th.f{background:var(--ink);color:#fff;border-radius:10px 10px 0 0}
.cmp td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:center;color:var(--muted)}
.cmp td:first-child{text-align:left;color:var(--ink)}
.cmp td.f{background:var(--seasalt)}
.cmp td.y{color:var(--ink);font-weight:500}
.cmp tr.grp td{font:600 11px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding-top:26px;border-bottom:1px solid var(--ink);background:none}
.plan.feat .eyebrow{color:var(--khaki)}.plans .plan,.cmp th[data-col]{cursor:pointer;transition:background .2s,color .2s,border-color .2s}.plan .fees dt{white-space:nowrap}.cmp td,.cmp th{transition:background .2s}
.plan .fees{margin:0;display:grid}.plan .fees div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}.plan .fees dt{color:var(--muted)}.plan .fees dd{margin:0;text-align:right;color:var(--ink);font-weight:500}.plan.feat .fees div{border-color:#3a3838}.plan.feat .fees dt{color:#a9a39d}.plan.feat .fees dd{color:#fff}.plan .fees dd small,.cmp .fsub{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:2px}.plan.feat .fees dd small{color:#a9a39d}.plan .rate .rmin{display:block;font:400 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:6px}.plan.feat .rate .rmin{color:#a9a39d}
.plan .lfee{border-top:1px solid var(--line);padding-top:12px;font-size:14px;color:var(--body)}.plan .lfee b{display:block;font:600 10px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.plan.feat .lfee{border-color:#3a3838;color:#d6d1cc}.plan.feat .lfee b{color:#d6d1cc}
.plan .tbd{font:800 30px/1 var(--sans);color:var(--muted)}
.plan .pill{align-self:flex-start;margin-top:auto}.plan>p:last-of-type{margin-bottom:10px}
.plan.feat .pill{border-color:#fff;color:#fff}.plan.feat .pill:hover{background:#fff;color:var(--ink)}
@media(max-width:900px){.plans{grid-template-columns:1fr}}
.rv-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.rv-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.rv-row::-webkit-scrollbar{display:none}
@media(max-width:900px){.rv-row{grid-auto-columns:85%}}
.rv{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;grid-template-rows:1fr auto;gap:18px}
.rv{grid-template-rows:auto 1fr}.rv cite{align-self:end}.rv .qwrap{position:relative}.rv blockquote{margin:0;font:300 18px/1.55 var(--serif);max-height:calc(1.55em*6);overflow-y:auto;scrollbar-width:thin;padding-right:6px}.rv .qwrap.more::after{content:'';position:absolute;left:0;right:6px;bottom:0;height:2.2em;background:linear-gradient(transparent,#fff);pointer-events:none;transition:opacity .2s}.rv .qwrap.more.end::after{opacity:0}
.rv cite{font:700 13px var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:14px}
.rv cite span{display:block;font:500 11px var(--label);letter-spacing:.16em;color:var(--muted);margin-top:5px}
.arrows{display:flex;gap:8px}
.arrows button{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer;font:400 18px var(--sans);color:var(--ink)}
.arrows button:hover{background:var(--ink);color:#fff}
.badge.soon{background:var(--khaki);color:#fff}.badge.now{background:var(--ink);color:#fff}.badge.rented{background:var(--ink);color:#fff}
.amen{display:flex;gap:6px;flex-wrap:wrap}
.amen span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:600 10px var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.home-card .ph{text-decoration:none}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(280px,40vw,500px)}
.gallery div{border-radius:var(--radius);background:var(--platinum);display:grid;place-items:center;color:var(--muted);font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}
.gallery div:first-child{grid-row:1/3}
@media(max-width:640px){.gallery{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.gallery div{aspect-ratio:4/3}.gallery div:first-child{grid-row:auto}}
.facts{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-variant-numeric:tabular-nums;margin:22px 0;max-width:62ch}
.facts div{display:grid;gap:4px}
.facts b{font:800 26px/1 var(--sans)}
.facts span{font:600 10px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tri{display:grid;gap:10px;margin-top:8px}
.tri .pill{justify-content:center}
.team4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mate{border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;display:grid;gap:10px}
.mate .photo{aspect-ratio:3/4;transition:transform .5s}
.mate:hover .photo{transform:translateY(-3px)}
.mate b{font:800 15px var(--sans);text-transform:uppercase;letter-spacing:.04em}
.mate span{font:600 10px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:-6px}
@media(max-width:700px){.team4{grid-template-columns:minmax(0,1fr)}}
.modal{position:fixed;inset:0;z-index:80;background:rgba(25,24,24,.6);display:grid;place-items:center;padding:16px}
.modal .box{background:#fff;border-radius:var(--radius);max-width:760px;width:100%;display:grid;grid-template-columns:260px 1fr;overflow:hidden;max-height:90vh}
.modal .box .photo{border-radius:0;min-height:100%}
.modal .txt{padding:30px;overflow:auto;display:grid;gap:12px;align-content:start}
.modal .txt p{margin:0;color:var(--body)}
.modal .close{justify-self:end;background:none;border:0;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
@media(max-width:620px){.modal .box{grid-template-columns:1fr}.modal .box .photo{height:220px}}
footer .fgrid{max-width:1240px;margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
footer .flinks{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:26px;font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}
footer .news h3{margin:0 0 8px;color:#fff;font:800 clamp(22px,2.6vw,32px)/1.1 var(--sans);text-transform:uppercase}
footer .news p{margin:0}
footer .news form{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
footer .news input{flex:1;min-width:200px;background:transparent;border:1px solid #4a4646;border-radius:999px;padding:12px 18px;color:#fff;font:16px var(--sans)}
footer .news #n-name{flex:0 1 200px;min-width:140px}@media(max-width:520px){footer .news #n-name{flex:1 1 100%}}footer .news .pill{border-color:#fff;color:#fff}footer .news .pill:hover{background:#fff;color:var(--ink)}
@media(max-width:760px){footer .fgrid{grid-template-columns:1fr}}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:8px}
.stat{display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.stat b{font:800 clamp(38px,4.6vw,60px)/1 var(--sans);font-variant-numeric:tabular-nums}
.stat span{font:600 10px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}
footer .simple{max-width:1240px;margin-inline:auto;display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start}
footer .help h4{margin-bottom:16px}
footer .help ul{gap:12px;font-size:15px}
footer .base{max-width:1240px;margin:56px auto 0;padding-top:24px;padding-bottom:64px;border-top:1px solid #3a3737;display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;font-size:12px;color:#9c9793}
footer .base .logo{height:14px}
@media(max-width:760px){footer .simple{grid-template-columns:1fr}}
.legalcopy{max-width:760px}
.legalcopy h2{font:800 20px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.02em;margin:40px 0 10px}
.legalcopy p,.legalcopy li{color:var(--body)}
.legalcopy ul{padding-left:20px;display:grid;gap:6px}

.mate .photo{position:relative}
.mate .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(25,24,24,.45))}
.mate .nm{position:absolute;left:clamp(16px,2.4vw,28px);bottom:clamp(14px,2.2vw,26px);z-index:1;color:#fff;font:800 clamp(26px,3vw,40px)/1 var(--sans);text-transform:uppercase;letter-spacing:.01em}
.wwu{max-width:760px;margin-inline:auto}
.wwu .h2{font-size:clamp(34px,5vw,64px)}
.wwu form{display:grid;gap:34px;margin-top:44px}
.wwu .f{display:grid;gap:10px}
.wwu .f>label,.wwu .f>span{font:500 15px var(--sans);text-transform:none;color:var(--ink)}
.wwu input[type=text],.wwu input[type=email],.wwu input[type=tel],.wwu textarea{font:400 18px var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0;width:100%}
.wwu textarea{min-height:90px;resize:vertical}
.wwu input:focus,.wwu textarea:focus{outline:none;border-bottom-color:var(--muted)}
.wwu .two{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media(max-width:600px){.wwu .two{grid-template-columns:1fr}}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{cursor:pointer}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-block;border:1px solid var(--ink);border-radius:999px;padding:10px 18px;font:600 11px var(--label);letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s}
.opts input:checked+span{background:var(--ink);color:#fff}
.opts input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.wwu .send{justify-self:start}

.joinband{position:relative;overflow:hidden;color:#fff;text-align:center;padding-block:clamp(90px,12vw,150px)}
.joinband>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.joinband::after{content:"";position:absolute;inset:0;background:rgba(25,24,24,.55)}
.joinband .wrap{position:relative;z-index:1;display:grid;justify-items:center;gap:18px}
.joinband .k{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.joinband .h2{font-size:clamp(34px,5vw,64px)}
.btn-white{background:#fff;color:var(--ink);border:1px solid #fff;border-radius:8px;padding:15px 30px;font:600 12px var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.btn-white:hover{background:transparent;color:#fff}
.chead{text-align:center;display:grid;justify-items:center;gap:6px}
.chead .h1{font-size:clamp(40px,6vw,80px)}
.chead .rule{margin:18px auto}
.chead p{max-width:62ch;color:var(--body);margin:0}
.chead .links{display:flex;gap:22px;margin-top:14px;font:700 11px var(--label);letter-spacing:.14em;text-transform:uppercase}
.chead .links a{text-underline-offset:5px}
.bigq{text-align:center}
.bigq .quote{margin-inline:auto;text-align:center}
.bigq .dots{justify-content:center}
.bigq .k{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0}

.home-card .ph{overflow:hidden}
.home-card .ph img.cover{width:100%;height:100%;object-fit:cover;opacity:1;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.home-card:hover .ph img.cover{transform:scale(1.04)}
.gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(300px,44vw,560px)}
.gal button{border:0;padding:0;border-radius:var(--radius);overflow:hidden;cursor:pointer;background:var(--platinum)}
.gal button img{width:100%;height:100%;object-fit:cover;display:block}
.gal button:first-child{grid-row:1/3}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none;padding:4px}
.thumbs button{flex:0 0 96px;height:68px;border:0;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;opacity:.65}
.thumbs button[aria-current="true"]{opacity:1;outline:2px solid var(--ink);outline-offset:2px}
.thumbs img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.gal{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.gal button{aspect-ratio:4/3}.gal button:nth-child(n+2){display:none}}
.ldesc p{color:var(--body);margin:0 0 14px;max-width:62ch}
.special{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:8px 14px;font:600 10px var(--label);letter-spacing:.14em;text-transform:uppercase;margin-top:12px}
.plans-img{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.plans-img img{border:1px solid var(--line);border-radius:10px;background:#fff}
.side{position:sticky;top:calc(env(safe-area-inset-top,0px) + 130px)}
.side .price{font:800 40px/1 var(--sans);font-variant-numeric:tabular-nums}
.side .price small{font:500 14px var(--sans);color:var(--muted)}
.hcols{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;margin-top:40px;align-items:start}.hcols>div:first-child{padding-right:clamp(32px,5vw,72px)}
@media(max-width:860px){.hcols{grid-template-columns:1fr;gap:32px}.hcols>div:first-child{padding-right:0}.side{position:static}}

.home-card .row{flex-wrap:nowrap;gap:8px}
.home-card .row .pill{flex:1 1 auto;justify-content:center;white-space:nowrap;padding:10px 12px;font-size:10px;letter-spacing:.1em}
.home-card .row .pill.red{flex:0 0 auto;padding-inline:18px}

.filters{margin-bottom:30px}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.frow .lbl{font:600 10px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);min-width:78px}
.fsel{font:600 11px var(--label);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:9px 30px 9px 14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23191818' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--ink);-webkit-appearance:none;appearance:none;cursor:pointer}
.fcount{font-size:14px;color:var(--muted);display:inline-flex;gap:12px;align-items:center;margin-left:auto}
.fcount button{background:none;border:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}

.meta2{display:grid;gap:4px;font-variant-numeric:tabular-nums}
.meta2 b{font:800 20px/1.1 var(--sans)}
.meta2 b small{font:500 13px var(--sans);color:var(--muted)}
.meta2 span{font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.abouthero{padding:0;height:clamp(220px,40vh,420px);overflow:hidden}
.abouthero img{width:100%;height:100%;object-fit:cover;object-position:57% 34%}
.svc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.svc3 a{text-decoration:none;display:grid;gap:10px;align-content:start;padding-top:18px;border-top:1px solid var(--ink)}
.svc3 p{margin:0;color:var(--body)}
.svc3 .more{font:600 11px var(--label);letter-spacing:.14em;text-transform:uppercase}
@media(max-width:760px){.svc3{grid-template-columns:1fr}}

.gal{position:relative}
.gal .all{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;gap:8px}
.gal .all .pill{background:#fff;border-color:#fff;font-size:10px;padding:10px 14px}
.gal .all .pill:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.lb{position:fixed;inset:0;z-index:90;background:rgba(18,17,17,.96);display:grid;grid-template-rows:auto 1fr auto;color:#fff}
.lb .top{display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 10px;font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}
.lb .top .tabs{display:flex;gap:8px}
.lb .top button{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:8px 14px;font:inherit;letter-spacing:inherit;cursor:pointer}
.lb .top button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.lb .stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 64px}
.lb .stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;user-select:none}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.3);color:#fff;font:400 20px var(--sans);cursor:pointer}
.lb .prev{left:10px}.lb .next{right:10px}
.lb .strip{display:flex;gap:6px;overflow-x:auto;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));scrollbar-width:thin}
.lb .strip button{flex:0 0 84px;height:58px;border:0;padding:0;border-radius:6px;overflow:hidden;opacity:.45;cursor:pointer;background:#333}
.lb .strip button[aria-current="true"]{opacity:1;outline:2px solid #fff;outline-offset:1px}
.lb .strip img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.lb .stage{padding:0 8px}.lb .nav{width:40px;height:40px}}
/* stacked photo view (phones only, Whitney 2026-09-28): tap the main photo or View all photos to scroll every photo, tap one for the full-screen viewer */
.sv{display:none}
@media(max-width:700px){
.sv{position:fixed;inset:0;z-index:86;background:#fff;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block}
.sv[hidden]{display:none}
.sv .svbar{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:calc(4px + env(safe-area-inset-top,0px)) 16px 8px}
.sv .svr1{display:flex;align-items:center;gap:6px;min-width:0}
.sv .svx{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-left:-12px;border:0;background:none;color:var(--ink);cursor:pointer;padding:0}
.sv .svt{min-width:0;font:700 15px/1.25 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv .svr2{display:flex;align-items:center;gap:10px;margin-top:2px}
.sv .svn{flex:1 1 auto;min-width:0;font:600 11px/1.2 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sv .svr2 .pill,.sv .svr2 .pill.red{flex:0 0 auto;position:relative;min-height:34px;height:34px;padding:0 14px;font-size:11px;letter-spacing:.06em;white-space:nowrap}
.sv .svr2 .pill::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
.sv .svg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px 0 calc(24px + env(safe-area-inset-bottom,0px))}
.sv .svi{display:block;border:0;padding:0;margin:0;background:var(--platinum);aspect-ratio:3/2;overflow:hidden;cursor:pointer}
.sv .svi.w{grid-column:1/-1}
.sv .svi img{display:block;width:100%;height:100%;object-fit:cover}
}

.abouthero{position:relative}
.abouthero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,24,24,.55) 0,rgba(25,24,24,.15) 38%,transparent 60%)}
#p-contact .abouthero::after{background:linear-gradient(180deg,rgba(25,24,24,.72) 0,rgba(25,24,24,.35) 40%,rgba(25,24,24,.12) 75%,rgba(25,24,24,.08) 100%)}
.phead{border-bottom:0;text-align:center}
.phead .wrap{display:grid;justify-items:center}
.phead .lede{margin-inline:auto}
.phead .row{justify-content:center}
.phead .h1{font-size:clamp(32px,4.2vw,56px)}

.notes-on .rn,.rn{display:none!important}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);z-index:85;background:#fff;box-shadow:-12px 0 40px rgba(25,24,24,.18);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase}
.drawer .dh button{background:none;border:0;font:inherit;letter-spacing:inherit;cursor:pointer}
.drawer .db{overflow:auto;padding:14px 16px 90px;display:grid;gap:10px;align-content:start}
.drawer .note{background:var(--note-bg);color:var(--note-ink);border:1px solid #E6D3A8;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5}
.drawer .note b{font-weight:800}
.drawer .note button{margin-top:8px;background:none;border:0;padding:0;font:600 10px var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--note-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.drawer .empty-n{color:var(--muted);font-size:14px}
.flash{outline:3px solid #E6B84E;outline-offset:6px;border-radius:8px;transition:outline-color 1.2s}
.band .pill.light{border-color:var(--ink);color:var(--ink)}
.band .pill.light:hover{background:var(--ink);color:#fff}
.band .eyebrow[style]{color:var(--muted)!important}
.iwt.compact .wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.iwt.compact .photo{aspect-ratio:1/1;max-width:460px}
@media(max-width:820px){.iwt.compact .wrap{grid-template-columns:1fr}.iwt.compact .photo{aspect-ratio:4/3;max-width:none}}

.quote{min-height:0;height:300px;align-content:start}
.quote blockquote{font-size:clamp(18px,1.8vw,22px);max-height:205px;overflow:auto;padding-right:10px}
.quote .fade{display:grid;gap:0}
.dd{display:none!important}
.qcount{font:600 11px var(--label);letter-spacing:.16em;color:var(--muted);min-width:64px;text-align:center}
@media(max-width:600px){.quote{height:340px}.quote blockquote{max-height:250px}}
.home-hero{min-height:min(60vh,580px)!important;padding-block:120px 120px!important}
.home-hero .h1{font-size:clamp(30px,5vw,80px)!important;white-space:nowrap}
@media(max-width:700px){.home-hero .h1{white-space:normal}}
.home-hero>img{object-position:center 30%}
.home-hero::after{background:linear-gradient(180deg,rgba(25,24,24,.4),rgba(25,24,24,.22) 50%,rgba(25,24,24,.32))!important}
.home-hero .h1,.home-hero .sub{text-shadow:0 2px 24px rgba(25,24,24,.35)}
.doors{margin-top:-80px}
@media(max-width:860px){.home-hero{min-height:0!important;padding-block:110px 110px!important}}

.lighthero .home-hero::after{background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 45%)}
.lighthero .home-hero{color:var(--ink)}
.lighthero .home-hero>img{object-position:center 30%!important}
.lighthero .home-hero .wrap{padding-left:44%;text-align:left}
.lighthero .home-hero .h1{font-size:clamp(32px,4.6vw,66px)!important}
@media(max-width:860px){.lighthero .home-hero .wrap{padding-left:0;text-align:center}.lighthero .home-hero>img{object-position:15% 30%!important;opacity:.55}}
.lighthero.over .site{color:var(--ink)}
.lighthero.over .logo-light{display:none}.lighthero.over .logo-dark{display:block}
.lighthero.over .nav a small{color:var(--muted)}
.phead{padding-block:clamp(28px,3.6vw,52px) clamp(4px,1.2vw,16px)!important}
.phead .lede{margin:12px auto 0}
.phead .row{margin-top:22px}
.phead .eyebrow{margin-bottom:10px}
section.pad:has(> .chead){padding-block:clamp(28px,3.6vw,52px) clamp(16px,2.4vw,32px)!important}
.chead .rule{margin:12px auto}

.partners{overflow:hidden;padding:clamp(20px,3vw,36px) 0}
.ptrack{display:flex;align-items:center;width:max-content;animation:marquee 45s linear infinite}
.partners:hover .ptrack{animation-play-state:paused}
.plogo{display:flex;align-items:center;justify-content:center;padding:0 clamp(28px,4vw,56px);height:60px}
.plogo img{height:auto;max-height:52px;opacity:.55;transition:opacity .3s}
.plogo img:hover{opacity:.9}
.login-pop span{display:block;white-space:nowrap}
.login-pop{width:280px}
.lb .nav{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #fff;background:#fff;color:var(--ink);padding:0;transition:background .2s,color .2s}
.lb .nav:hover{background:transparent;color:#fff}
.lb .top button{border-radius:999px;font:600 11px var(--label);letter-spacing:.14em}
.quote{height:196px!important;margin-top:22px!important}
.quote blockquote{font-size:clamp(17px,1.5vw,20px)!important;line-height:1.5;max-height:122px!important}
.quote cite{margin-top:14px!important}
.reviews .dots{margin-top:10px}
section.reviews:has([data-reviews="carousel"]){padding-block:clamp(40px,5vw,64px)}
@media(max-width:600px){.quote{height:250px!important}.quote blockquote{max-height:170px!important}}
.rv blockquote{font-size:14.5px!important;line-height:1.6;max-height:140px}
.home-card h3{font:500 14px/1.35 var(--sans)!important;letter-spacing:.06em!important}
.haddr{font-size:clamp(22px,2.7vw,38px)!important;font-weight:700!important;letter-spacing:.01em!important;white-space:nowrap}
.aeye{font:600 12px/1.4 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
@media(max-width:600px){.haddr{white-space:normal}}
.promo{background:var(--ink);color:#fff;border-radius:12px;padding:14px 16px;margin:0 0 20px;display:grid;gap:2px}
.promo b{font:800 20px/1.1 var(--sans)}
.promo span{font-size:14px;opacity:.92}
.avail{display:inline-flex;align-items:center;gap:8px;font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:8px 14px}
.avail.now{background:var(--ink);color:#fff}
.avail.now::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff}
.meta2 span{font:600 11px var(--label)!important;letter-spacing:.1em;text-transform:uppercase}

.tq{display:grid;justify-items:center;gap:26px;max-width:760px;margin:22px auto 0;text-align:center}
.tq blockquote{margin:0;font:300 clamp(18px,1.8vw,24px)/1.5 var(--serif);text-wrap:pretty}
.tq-people{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.tq-p{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.tq-p img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 15%;outline:2px solid transparent;outline-offset:3px}
.tq-p[aria-pressed="true"] img{outline-color:var(--ink)}
.tq-p span{display:grid;font:500 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tq-p b{font:700 13px var(--sans);letter-spacing:.12em;color:var(--ink);margin-bottom:3px}

.rbanner{height:clamp(220px,26vw,340px);border-radius:var(--radius);background:#e9edf1 url("/img/receipts.jpg") no-repeat 70% 40%/cover;display:flex;align-items:center;padding:0 clamp(24px,5vw,64px);margin-bottom:22px}
.rbanner .h2{font-size:clamp(30px,4vw,54px)}
.rv-nohead .rv-head{justify-content:flex-end;margin-bottom:16px}
.rv-nohead .rv-head>div:first-child{display:none}
@media(max-width:700px){.rbanner{background-position:85% 40%;align-items:flex-start;padding-top:28px}}
.door h2{font-size:clamp(18px,1.75vw,26px)!important;white-space:nowrap}
@media(max-width:860px){.door h2{white-space:normal}}
.legalcopy .lpart{font:800 clamp(24px,2.6vw,34px)/1.1 var(--sans);text-transform:uppercase;margin:56px 0 4px;padding-top:18px;border-top:1px solid var(--ink)}
.legalcopy .lpart:first-child{margin-top:0}

.glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.glance>div{background:var(--seasalt);border-radius:12px;padding:16px 16px 18px;display:grid;gap:6px;align-content:start}
.glance span{font:600 10px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.glance b{font:500 15px/1.4 var(--sans);color:var(--ink)}
.glance.fees{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.glance{grid-template-columns:repeat(2,minmax(0,1fr))}.glance.fees{grid-template-columns:repeat(2,minmax(0,1fr))}}

.over .brand.logo-light{display:flex}.over .brand.logo-dark{display:none}.lighthero.over .brand.logo-light{display:none}.lighthero.over .brand.logo-dark{display:flex}
@media(max-width:600px){.brand .kp{height:28px}.brand{gap:9px}.brand .logo{height:16px}}

.h2.oneline{font-size:clamp(24px,2.6vw,38px)}
.howto summary{font-size:16px}.howto .hbody{padding:0 0 20px}.howto .hbody p,.howto .hbody ol{margin:0 0 12px;color:var(--body)}.howto .hbody ol{padding-left:20px;display:grid;gap:8px}.howto .hnote{font-size:14px;color:var(--muted)!important}.hvids{display:flex;flex-wrap:wrap;gap:8px}.hvids button{font:500 14px var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.hvids button:hover{border-color:var(--ink)}.hvids i{font-style:normal;font-size:10px}.hnever{margin:22px 0 0;font-size:14px;color:var(--muted)}
.exC{margin:34px auto 0;text-align:center}.exC .l{font:600 11px var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.exC .n{display:flex;justify-content:center}.exC .n div{padding:0 40px;flex:0 1 auto}.exC .n div+div{border-left:1px solid var(--line)}.exC b{display:block;font:800 34px/1 var(--sans);color:var(--ink)}.exC span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}@media(max-width:600px){.exC .n div{padding:0 14px;flex:1 1 0}.exC b{font-size:28px}.exC span{font-size:13px}}
.rt2{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.rlinks{border-top:1px solid var(--ink)}
.rlinks a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rlinks b{font:700 17px var(--sans)}.rlinks span{font-size:15px;color:var(--muted);white-space:nowrap}.rlinks a:hover span{color:var(--ink)}
.rres{border:1px solid var(--line);border-radius:14px;padding:26px 28px;display:grid;gap:14px}
.rres>b{font:700 17px var(--sans)}.rres .pill{justify-content:center}
.rres .rl{margin:6px 0 0;font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rres .ecalls{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0}
@media(max-width:800px){.rt2{grid-template-columns:1fr;gap:24px}}
@media(max-width:700px){
.rlinks a{padding:13px 0;gap:10px}.rlinks b{font-size:15px}.rlinks span{font-size:13px}
.rres{padding:16px 16px 18px;gap:10px}.rres>b{font-size:15px}.rres .pill{font-size:10px;min-height:40px;padding:0 12px}.rres .rl{margin:2px 0 0;font-size:10px}
.clede{font-size:14px!important;line-height:1.5}
.cmail{font-size:clamp(11px,3.4vw,13px)!important;line-height:1.7;white-space:nowrap}
}
.vids li button{all:unset;cursor:pointer;display:flex;justify-content:space-between;width:100%;gap:12px}.vids li button:hover{text-decoration:underline;text-underline-offset:4px}.vids li button em{font-style:normal;color:var(--ink)}
#vm{position:fixed;inset:0;z-index:200;background:rgba(25,24,24,.85);display:grid;place-items:center;padding:16px}#vm[hidden]{display:none}#vm{align-content:center;gap:14px}#vm .vyt{color:#fff;font-size:14px;text-underline-offset:3px}#vm .box{width:min(960px,100%);aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden}#vm iframe{width:100%;height:100%;border:0}#vm .x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:22px;cursor:pointer}
#pdfv{position:fixed;inset:0;z-index:210;background:rgba(25,24,24,.88);overflow-y:auto;padding:70px 16px 40px}#pdfv[hidden]{display:none}#pdfv .pages{max-width:880px;margin:0 auto;display:grid;gap:14px}#pdfv img{width:100%;display:block;border-radius:6px;background:#fff}#pdfv .bar{position:fixed;top:14px;left:0;right:0;display:flex;justify-content:center;gap:10px;z-index:211}#pdfv .bar a,#pdfv .bar button{background:#fff;color:var(--ink);border:0;border-radius:99px;padding:10px 18px;font:600 11px var(--label);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ctile{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:#fff;text-decoration:none}
.ctile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ctile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(25,24,24,.78))}
a.ctile:hover img{transform:scale(1.05)}
.ctile .cn{position:absolute;left:18px;bottom:16px;z-index:1;font:800 20px/1.1 var(--sans);text-transform:uppercase}
.ctile .soon{position:absolute;right:14px;top:14px;z-index:1;font:600 10px var(--label);letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.9);color:var(--ink);padding:6px 10px;border-radius:99px}
.ctile.off{cursor:default}
.lcard .lph{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--platinum)}.lcard .lph img{width:100%;height:100%;object-fit:cover;display:block}.lcard .ltag{position:absolute;left:12px;top:12px;background:var(--ink);color:#fff;font:600 10px var(--label);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:99px}.lcard .lmeta{margin:12px 0 2px;font-weight:600}.lcard .lcity{margin:0;color:var(--muted);font-size:14px}
.lrow{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*20px)/4);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lrow::-webkit-scrollbar{display:none}
.lrow>*{scroll-snap-align:start}
@media(max-width:900px){.lrow{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:600px){.lrow{grid-auto-columns:80%}}
.larr{display:flex;gap:8px}
.larr button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#ddd);background:none;font-size:18px;cursor:pointer;color:inherit}
.larr button:hover{background:#111;color:#fff;border-color:#111}
@media(hover:none){.larr{display:none}}
.crules{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:14px 28px;margin:0}
.crules dt{font-weight:700}
.crules dd{margin:0;color:var(--body)}
@media(max-width:700px){.crules{grid-template-columns:1fr;gap:4px}.crules dd{margin-bottom:14px}}
.empty{grid-column:1/-1}
.wl{margin:24px auto 0;padding:28px;border:1px solid var(--line,#e2e2e2);border-radius:14px;background:var(--bg,#fff);max-width:760px;text-align:left}
.wlh{margin:0 0 16px;font-weight:700;color:var(--ink,#111)}
.wlg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:10px}
.wlg label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.wlg input{font:inherit;font-size:16px;padding:10px 0;border:0;border-bottom:1px solid var(--line,#ccc);background:none;color:var(--ink,#111)}
@media(max-width:700px){.wlg{grid-template-columns:1fr}}
.wlg{margin-bottom:22px}
.wlg input{padding:6px 0 8px;outline:none;border-radius:0}
.wlg input:focus{border-bottom:2px solid var(--ink,#111);margin-bottom:-1px}
.wl .f{margin:0 0 18px}
.wl .f>span{display:block;font-size:13px;color:var(--muted);margin-bottom:8px}
.wl .opts{margin:0}
.wl .actions{margin-top:26px}
#wlm{position:fixed;inset:0;z-index:200;background:rgba(25,24,24,.72);display:grid;place-items:center;padding:16px}
#wlm[hidden]{display:none}
#wlm .card{position:relative;width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bg,#fff);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.25)}
#wlm .wl{margin:0;border:0;max-width:none;padding:32px}
#wlm .x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--tint,#f3f1ee);font-size:22px;cursor:pointer;color:inherit}
#wlm .h3{margin:0 0 6px}
.wlsub{margin:0 0 22px;color:var(--muted)}
@media(max-width:700px){#wlm .wl{padding:24px}}
.wlbar{margin-top:64px;display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;text-align:center}
.wlbar p{margin:0;color:var(--body)}
#wlCityRow[hidden]{display:none}
#wlm select{width:100%;max-width:320px}
.cwhy{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(56px,7vw,96px)}
.cwhy+section.pad:not(.tint){padding-top:0}
.whycards>div{background:var(--seasalt);border-radius:var(--radius);padding:24px 24px 26px}
.whycards .h3{margin-top:0}
.whycards p{margin-bottom:0}
.facts div{justify-items:center;text-align:center}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.pill.ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill.ink:hover{background:#000;border-color:#000}
/* mobile tap targets (website-mobile-check, 2026-09-26) */
@media(max-width:700px){
.pill,.chip,.fsel{min-height:44px}
.opts span{min-height:44px;display:inline-flex;align-items:center}
.larr button{width:44px;height:44px}
a[href="#rentals"].back,.backlink{display:inline-block;padding:12px 0}
}
/* standards-mode parity (doctype added 2026-09-26): keep the look the page had in quirks mode */
form{margin-bottom:1em}
.cmp{line-height:normal}
.login>button{display:block}
.avail{vertical-align:top}
/* ux fixes (2026-09-26) */
.cost{margin:0 0 18px;border-top:1px solid var(--line);padding-top:12px}
.cost .ck{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:600 10px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.cost dl{margin:0;display:grid}
.cost dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.cost dt{color:var(--body)}
.cost dd{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cost p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.promo small{font-size:12px;opacity:.85}
.mvin{font-size:14px;color:var(--body);margin:-8px 0 16px}
.cnote{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.portal-help{margin:16px 0 0;font-size:14px;color:var(--muted);text-align:center}
.cmail{font-size:15px;color:var(--body);margin:-14px 0 24px}
@media(min-width:961px){.tiles.t3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){#p-residents .abouthero{height:170px}}
/* round 1 UX content (2026-09-26): shown at every width */
.em-call{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;margin:16px 0 4px;padding:12px 20px}
.em-call b{font:800 18px/1.1 var(--sans);letter-spacing:.02em}
.tile-a .em-call{margin:6px 0 2px}
.emlines{display:grid;gap:8px;margin-top:16px;max-width:420px}
.emlines .em-call{margin:0}
.emrule{font-size:15px;color:var(--body);margin:12px 0 0}
.tile-a .emrule{margin:4px 0}
.tile-a .emrule a{text-underline-offset:3px;white-space:nowrap}
.tile-a.warn p a{text-underline-offset:3px}
.etip{font-size:15px;color:var(--body);margin:18px 0 0}
.enot{margin:26px 0 0}
.rbpp{margin:0 0 6px;font-weight:700}
.lede+.talk{margin-top:-14px}
.talk{font-size:15px;margin:0 0 24px}.talk{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.talkbtn{display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;font:600 11px var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);transition:background .2s,color .2s}.talkbtn:hover{background:var(--ink);color:#fff}
.example{margin:18px 0 0;font-size:15px;color:var(--body)}
.mate .nm small{display:block;font:600 11px/1.3 var(--label);letter-spacing:.14em;margin-top:6px;opacity:.92}
.same{font-size:14px;color:var(--muted);margin:12px 0 0}
.route span a{text-underline-offset:3px}
.fnote{margin:0;font-size:14px;color:var(--muted)}
.fhours{color:#9c9793}
.qual{margin:26px 0 0;padding:20px;border-radius:var(--radius);background:var(--seasalt)}
.qual .check{margin-top:8px}
.qual p{font-size:15px;margin:12px 0 0;color:var(--body)}
.choose{font-size:13px;color:var(--muted);margin:10px 0 0}
.meta2 .csq{font-style:normal}
.home-card .badge .bs{display:none}
.meta2 .pchip{justify-self:start;border:1px solid var(--line);border-radius:999px;padding:3px 9px;margin-top:4px;color:var(--ink)}
.empty .pill{margin-top:12px}
.c-doors,.sbp{display:none}
/* phone-only controls (2026-09-26 pass 2): hidden or box-less on desktop so desktop renders exactly as before */
.cta-s,.mf-btn,.mfold-btn,.cmp-tabs,.sbar,.csoon,.fbar{display:none}
.mf,.mf-c,.mfold{display:contents}
/* ---------- phone scale-down (website-mobile-check rule 6, 2026-09-26): phone is the primary design ---------- */
@media(max-width:700px){
body{font-size:16px;line-height:1.55}
/* header: monogram + one button + Menu on one line */
.announce{font-size:10px;letter-spacing:.08em;padding:6px var(--gutter)}
.bar{gap:10px;padding:6px var(--gutter)}
.brand{gap:8px}
.brand .kp{height:26px}
.brand i{height:22px}
.brand .logo{height:19px}
.cta.short .cta-l{display:none}.cta.short .cta-s{display:inline}
.cta.owner-cta{display:none}
.home-card .csq,.home-card .pchip,.home-card .cnote{display:none}
body #allListings .home-card,body #cityListings .home-card{grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto 1fr;row-gap:6px}
body #allListings .home-card>.meta2,body #cityListings .home-card>.meta2{align-self:start}
body #allListings .badge,body #cityListings .badge{letter-spacing:.02em}
body #allListings .home-card>.ph,body #cityListings .home-card>.ph{aspect-ratio:4/3;align-self:start}
/* card tags + buttons (Whitney, 2026-09-26): small corner tag, compact pills with a 44px tap area */
body .home-card .badge{font-size:10px;letter-spacing:.03em;line-height:1.3;padding:3px 7px;top:6px;left:6px;right:auto;width:auto;max-width:none;white-space:nowrap}
body .home-card .badge .bl{display:none}
body #allListings .badge,body #cityListings .badge{font-size:10px;letter-spacing:.03em;line-height:1.3;padding:3px 7px;top:6px;left:6px;right:auto;width:auto;max-width:none;white-space:nowrap}
body .home-card .badge .bs{display:inline}
body .home-card .row{justify-content:flex-start;gap:10px;margin-top:8px}
body .home-card .row .pill,body .home-card .row .pill.red{flex:0 0 auto;position:relative;min-height:34px;height:34px;padding:0 14px;font-size:11px;letter-spacing:.06em}
body .home-card .row .pill::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
.right{gap:6px}
.cta{position:relative;padding:10px 14px;font-size:10px;letter-spacing:.1em}
.cta::after{content:"";position:absolute;inset:-6px -3px}
.menu-btn{min-height:44px;padding:0 4px 0 8px}
.menu .top{margin-bottom:22px}.menu .top button{min-height:44px;padding:0 4px}
.menu .groups{gap:20px}
.menu .groups a{font-size:24px;line-height:1.25;padding:3px 0}
.menu .groups a.sm{font-size:16px;line-height:1.5;padding:6px 0}
.door-strip{font-size:13px;padding:8px var(--gutter);gap:4px 12px}
/* type scale */
.h1{font-size:30px;line-height:1}
.phead .h1,.chead .h1,.chead .h1[style]{font-size:28px!important}
.h2,.band .h2,.wwu .h2,.joinband .h2,.rbanner .h2{font-size:24px!important;line-height:1.08}
.h2.oneline{font-size:22px!important}
.h3{font-size:16px}
.eyebrow{margin-bottom:10px}
.stat span,.plan .rate small,.big small,.badge,.tile-a .k,.glance span,.facts span,.mate span,.amen span,.lcard .ltag,.frow .lbl,.special{font-size:11px}
.lede{font-size:16px;margin:12px 0 20px}
.rule{margin:14px 0}
/* spacing */
.pad{padding-block:40px}
.pad[style*="padding-top:40px"],.pad[style*="padding-top:48px"]{padding-top:24px!important}
.phead{padding-block:22px 4px!important}
.phead .row{margin-top:16px}
section.pad:has(> .chead){padding-block:24px 12px!important}
.sec-head{margin-bottom:18px;gap:12px}
.row{gap:8px}
.pill{padding:12px 18px;min-height:44px}
/* heroes */
.abouthero{height:210px}
.home-hero{padding-block:108px 84px!important}
.home-hero .h1{font-size:28px!important}
.home-hero p.sub{font-size:12px;margin-top:12px}
.doors{margin-top:-56px}
.doors .wrap{gap:10px}
.door{padding:18px 18px 12px;gap:6px}
.door h2{font-size:19px!important}
.door li a{padding:13px 0;font-size:12px}
.already{margin-top:14px;font-size:14px}
/* stats + partners */
.stats{row-gap:18px;gap:12px}
.stat{gap:4px}
.stat b{font-size:30px}
.partners{padding:12px 0}
.plogo{height:44px;padding:0 20px}
.plogo img{width:auto!important;max-width:100px;max-height:30px}
/* image + text */
.iwt .wrap,.iwt.compact .wrap{gap:20px}
.iwt .photo,.iwt.compact .photo{aspect-ratio:16/10}
/* accordion + reviews */
.acc{gap:8px}.panel{height:64px}.panel.open{height:280px}.panel .cap{padding:16px}
.rv{padding:18px;gap:12px}
.rv-head{margin-bottom:18px}
.tq{gap:18px}.tq-p img{width:52px;height:52px}
/* listings */
.chips{margin-bottom:18px}
.filters{margin-bottom:18px}
.grid4{gap:22px}
.home-card{gap:8px}
.home-card .ph,.lcard .lph{aspect-ratio:3/2}
.home-card .row .pill{font-size:11px}
.meta2 b{font-size:18px}
.fcount button{padding:12px 4px;min-height:44px}
.gal{gap:6px}
.thumbs button{flex-basis:72px;height:52px}
.side .price{font-size:30px}
.facts{margin:14px 0;gap:12px}.facts b{font-size:22px}
.hcols{margin-top:24px;gap:24px}
.lb .strip button{flex-basis:64px;height:46px}
.lb .top{padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:6px}
.lb .top button{min-height:44px;padding:0 16px}
/* cards, tiles, plans */
.tiles{gap:10px}.tile-a{padding:18px;gap:6px}
.steps .step{padding:16px 0 6px}.step::before{margin-bottom:8px}
.plans{gap:12px}
.plan{padding:22px 20px;gap:10px}
.plan .rate{font-size:36px}
.price-card{padding:20px;gap:16px}
.big{font-size:44px}
.routes{gap:10px}.route{padding:16px}
.panel-box{padding:20px}
.whycards>div{padding:18px}
.glance{gap:8px}.glance>div{padding:12px 12px 14px}
.cols2,.cols3{gap:28px}
.check li{padding:9px 0;flex-wrap:wrap;gap:2px 12px}
.check li em{margin-left:auto;overflow-wrap:anywhere}
.faq summary{padding:14px 36px 14px 0;font-size:16px}
.faq summary::after{top:10px}
.faq details p{margin-bottom:16px}
.rbanner{height:170px;padding:22px 20px 0;margin-bottom:16px}
.cwhy{padding-block:28px 40px}
/* area tiles: two across on phones */
.ctiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ctile{border-radius:10px}
.ctile .cn{left:10px;bottom:9px;font-size:14px}
.ctile .soon{right:8px;top:8px;padding:4px 7px;font-size:11px;letter-spacing:.06em}
/* team */
.team4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mate .nm{font-size:18px;left:12px;bottom:12px}
.team{gap:28px}.person .photo{aspect-ratio:1/1;margin-bottom:12px}
.modal .box .photo{height:180px}.modal .txt{padding:20px}
/* forms */
.form{gap:12px}
.form label{font-size:11px}
.form input,.form select,.form textarea{padding:11px 12px;font-size:16px}
/* 16px on every field so iOS does not zoom in when tapped */
input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:16px!important}
.fsel{text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:500;padding:10px 30px 10px 14px}
.menu .top .logo{height:18px}
.wwu form{gap:22px;margin-top:24px}
.wwu .two{gap:22px}
.wwu input[type=text],.wwu input[type=email],.wwu input[type=tel],.wwu textarea{font-size:16px}
.opts span{padding:8px 14px;min-width:44px;justify-content:center}
.gal .all .pill{font-size:11px;aspect-ratio:auto;border-radius:999px;display:inline-flex}
.wl{padding:20px}
.wlbar{margin-top:36px}
#cityRequest[style]{margin-top:40px!important}
/* bands + footer */
.band p{margin:10px auto 20px}
.joinband{padding-block:64px}.joinband .wrap{gap:12px}
.btn-white{padding:14px 26px;min-height:44px}
footer{padding:40px var(--gutter) 72px}
footer .simple,footer .fgrid{gap:28px}
footer .news h3{font-size:20px}
footer .news form{margin-top:12px}
footer .flinks{margin-top:18px;gap:4px 20px}
footer .flinks a{display:inline-block;padding:8px 0}
footer .help ul{gap:2px}
footer .help li a{display:inline-block;padding:6px 0}
footer .base{margin-top:28px;padding-top:18px;padding-bottom:48px}
footer .legal{margin-top:24px}
.legalcopy h2{font-size:18px;margin:28px 0 8px}
.legalcopy .lpart{font-size:22px;margin-top:36px}
/* ----- round 1 UX (2026-09-26): phone layout ----- */
#cityBody{display:flex;flex-direction:column}
.c-hero{order:1}.c-head{order:2}.c-doors{order:3}.c-rent{order:4}.c-soon{order:5}.c-owner{order:6}.c-why{order:7}.c-leased{order:8}.c-near{order:9}
.c-doors{display:block;padding-bottom:8px}
.c-doors .wrap{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cdoor{display:grid;gap:4px;align-content:start;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;min-height:44px;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.cdoor b{font:800 14px/1.2 var(--sans);text-transform:uppercase}
.cdoor span{font-size:14px;color:var(--body);text-decoration:underline;text-underline-offset:3px}
main [id]{scroll-margin-top:96px}
.sbp{display:block;flex:none;align-self:center;font:800 17px var(--sans);font-variant-numeric:tabular-nums}
.em-call{width:100%}
.qual{padding:16px;margin-top:20px}
#p-residents .abouthero{height:100px}
.cost .ck{font-size:11px}
.sbar .pill{white-space:nowrap;letter-spacing:.06em;padding-inline:10px}
#sbTour{flex:1.4 1 0}
#p-residents .tiles .tile-a.primary{order:-2}
#p-residents .tiles .tile-a.warn{order:-1}
#p-residents .tile-a{padding:14px 16px}
/* ----- pass 2 (Whitney approved 2026-09-26) ----- */
/* tap-to-expand sections */
.mf{display:block;border-bottom:1px solid var(--line)}
.mf-btn{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 0;background:none;border:0;font:800 15px/1.25 var(--sans);text-transform:uppercase;letter-spacing:.02em;color:inherit;text-align:left;cursor:pointer}
.mf-btn::after{content:"+";flex:none;font:300 24px/1 var(--sans)}
.mf-btn[aria-expanded="true"]::after{content:"\2212"}
.mf-c{display:block;padding-bottom:16px}
.mf:not(.open)>.mf-c{display:none}
.mf-h{display:none!important}
.mf-c>.check:first-child,.mf-c>.amen:first-child{margin-top:0!important}
/* listing: price and buttons right under the address */
.hcols{display:flex;flex-direction:column;gap:0;align-items:stretch}
.hcols>div:first-child{display:contents}
.hcols>div:first-child>*{order:4}
.hcols>div:first-child>.aeye,.hcols>div:first-child>.haddr{order:1}
.hcols .side{order:2;margin:16px 0 4px;padding:18px}
.hcols>div:first-child>.facts{order:3}
.side .promo{margin-bottom:14px}
.side .price{font-size:28px}
.side p:has(>.avail){margin:10px 0 14px!important}
.side .tri{grid-template-columns:1fr 1fr;gap:8px}
.side .tri .pill{padding-inline:10px}
.side .tri .pill:nth-child(3){grid-column:1/-1}
.side>p:last-child{margin-top:12px!important}
.ldesc+.mf{border-top:1px solid var(--line);margin-top:8px}
/* sticky Schedule a tour / Apply bar (listing only, after the in-page buttons scroll away) */
.on-listing .sbar.show{display:flex}
.sbar{position:fixed;left:0;right:0;bottom:0;z-index:58;gap:8px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(25,24,24,.08);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px))}
.sbar .pill{flex:1 1 0;justify-content:center;padding-inline:10px}
.sbar-on .proto{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.on-listing body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
/* compare plans: one plan column at a time */
.cmp-tabs{display:flex;gap:6px;margin:16px 0 4px}
.cmp-tabs button{flex:1 1 0;min-height:44px;border:1px solid var(--ink);border-radius:999px;background:#fff;font:600 11px/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:6px 8px;cursor:pointer}
.cmp-tabs button[aria-pressed="true"]{background:var(--ink);color:#fff}
.cmp-scroll{margin-top:8px}
.cmp{min-width:0}
.cmp th:not(:first-child):not(.f),.cmp td:not(:first-child):not(.f){display:none}
.cmp th:first-child{width:58%}
.cmp th{white-space:normal}
/* plan cards: fee list behind a tap */
.plan .mf{border-bottom:0}
.plan .mf-btn{min-height:44px;padding:10px 0;border-top:1px solid var(--line);font:600 11px/1.2 var(--label);letter-spacing:.14em}
.plan.feat .mf-btn{border-color:#3a3838}
.plan .mf-c{padding-bottom:0}
/* rentals: filters behind one button */
.fbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fbar .pill{gap:6px}
.fbar .fn2{font-size:14px;color:var(--muted)}
.filters:not(.open) .frow{display:none}
.filters.open .frow{margin-top:12px}
/* compact rental cards (photo left, details right) */
#allListings,#cityListings{gap:0}
#allListings .home-card,#cityListings .home-card{grid-template-columns:128px minmax(0,1fr);column-gap:12px;row-gap:4px;align-content:start;padding:14px 0;border-bottom:1px solid var(--line)}
#allListings .home-card:first-child,#cityListings .home-card:first-child{padding-top:0}
#allListings .home-card>.ph,#cityListings .home-card>.ph{grid-column:1;grid-row:1/3;aspect-ratio:1/1;border-radius:10px}
#allListings .home-card>a:not(.ph),#allListings .home-card>.meta2,#cityListings .home-card>a:not(.ph),#cityListings .home-card>.meta2{grid-column:2}
#allListings .home-card>.row,#cityListings .home-card>.row{grid-column:1/-1;margin-top:8px}
#allListings .badge,#cityListings .badge{top:6px;left:6px;right:6px;width:max-content;max-width:calc(100% - 12px);padding:4px 7px;letter-spacing:.04em;line-height:1.25;white-space:normal}
#allListings .meta2 span,#cityListings .meta2 span{white-space:normal}
#allListings .empty,#cityListings .empty{margin-top:4px}
/* home: featured rentals as a swipe row */
#p-home .grid4{grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
#p-home .grid4::-webkit-scrollbar{display:none}
#p-home .grid4>*{scroll-snap-align:start}
/* areas: coming soon cities as a plain list under the photo tiles */
.ctile.cs{display:block}
.csoon{display:none!important}
.csoon b{flex-basis:100%;font:600 11px var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-top:6px}
.csoon a{display:inline-flex;align-items:center;min-height:40px;text-underline-offset:3px}
/* city pages: why cards swipe, local rules tap to expand */
.whycards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
.whycards::-webkit-scrollbar{display:none}
.whycards>div{scroll-snap-align:start}
.crules{display:block;border-top:1px solid var(--line)}
.crules dt{font-weight:700}
.crules .mf-btn{text-transform:none;letter-spacing:0;font:700 16px/1.3 var(--sans)}
.crules dd{margin:0 0 16px}
.crules .mf:not(.open)>dd{display:none}
/* owners form: optional questions behind one tap */
.mfold-btn{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:48px;padding:12px 0;background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 15px var(--sans);color:var(--ink);cursor:pointer;text-align:left}
.mfold-btn::after{content:"+";font:300 24px/1 var(--sans)}
.mfold-btn[aria-expanded="true"]::after{content:"\2212"}
.mfold{display:grid;gap:22px}
.mfold:not(.open){display:none}
/* home: partner logo strip hidden on phones */
.partners{display:none}
}
@media(max-width:350px){
.sbar .pill,.side .tri .pill{letter-spacing:.05em;padding-inline:8px;white-space:nowrap}
.sbar .pill{letter-spacing:.03em;padding-inline:8px}
.sbp{font-size:15px}
.brand .kp,.brand i{display:none!important}
}
@media(max-width:380px){
.h1{font-size:26px}
.phead .h1,.chead .h1,.chead .h1[style],.home-hero .h1{font-size:25px!important}
.h2,.band .h2,.wwu .h2,.joinband .h2,.rbanner .h2{font-size:22px!important}
.cta{padding:10px 12px;letter-spacing:.08em}
.pill{padding-inline:15px}
.home-card .row .pill{padding-inline:10px;letter-spacing:.06em}
.home-card .row .pill.red{padding-inline:14px}
.plan .rate{font-size:32px}
.stat b{font-size:26px}
}
/* ---------- listing detail redesign (2026-09-26): calm hierarchy, rent is the hero ---------- */
#homeBody .hcols{margin-top:44px}
#homeBody .haddr+p{font-size:15px}
#homeBody .facts{max-width:none;margin:26px 0 30px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#homeBody .facts b{font-size:28px}
#homeBody .ldesc p{font-size:16.5px;line-height:1.7;max-width:74ch}
#homeBody .check li{font-size:15px;padding:12px 0}
#homeBody .check li em{color:var(--body)}
/* sidebar card */
#homeBody .side{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(25,24,24,.22);padding:32px 30px 26px;top:calc(env(safe-area-inset-top,0px) + 112px)}
#homeBody .side .offer{display:grid;gap:3px;margin:0 0 24px;padding:12px 14px 13px;background:var(--seasalt);border:1px solid var(--platinum);border-radius:10px;font-size:14px;line-height:1.4;color:var(--body)}
#homeBody .side .offer b{font:800 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
#homeBody .side .offer small{margin-top:2px;font-size:12.5px;color:var(--muted)}
#homeBody .side .price{font:800 48px/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
#homeBody .side .price small{margin-left:8px;font:500 15px var(--sans);letter-spacing:0;color:var(--muted)}
#homeBody .side .lstat{margin:14px 0 0!important}
#homeBody .side .avail{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:0;padding:0;background:none;color:var(--body);font:500 14px/1.3 var(--sans);letter-spacing:0;text-transform:none}
#homeBody .side .avail::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1.5px var(--khaki)}
#homeBody .side .avail.now{color:var(--ink);font-weight:700}
#homeBody .side .avail.now::before{background:#2E7D46;box-shadow:0 0 0 3px #E7F0EA}
#homeBody .side .mvin{margin:10px 0 0;font-size:14px;color:var(--body)}
#homeBody .side .cost{margin:24px 0 0;padding-top:0;border-top:1px solid var(--ink)}
#homeBody .side .cost .ck{margin:0 0 4px}
#homeBody .side .cost dl>div{padding:11px 0;font-size:15px}
#homeBody .side .cost dd{font-weight:700;color:var(--ink)}
#homeBody .side .cost dd small{font:500 13px var(--sans);color:var(--muted);margin-left:1px}
#homeBody .side .how{margin-top:8px}
#homeBody .side .how summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;list-style:none;cursor:pointer;font:500 13px var(--sans);color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
#homeBody .side .how summary::-webkit-details-marker{display:none}
#homeBody .side .how summary::after{content:"+";font:400 16px/1 var(--sans);text-decoration:none;display:inline-block}
#homeBody .side .how[open] summary::after{content:"\2212"}
#homeBody .side .how summary:hover{color:var(--ink)}
#homeBody .side .how p{margin:4px 0 2px;font-size:13px;line-height:1.55;color:var(--muted)}
#homeBody .side .tri{margin-top:24px;gap:10px}
#homeBody .side .tri .pill{min-height:52px;font-size:12px;padding:16px 18px}
#homeBody .side .sidelinks{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:4px}
#homeBody .side .rqc{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:32px;font:700 14px var(--sans);color:var(--ink);text-decoration:underline;text-decoration-color:var(--khaki);text-underline-offset:5px}
#homeBody .side .rqc::after{content:"\2192";text-decoration:none;display:inline-block;transition:transform .2s}
#homeBody .side .rqc:hover::after{transform:translateX(3px)}
#homeBody .side .ask{margin:0!important;font-size:13.5px;color:var(--muted);overflow-wrap:anywhere}
#homeBody .side .ask a{color:var(--body);text-underline-offset:3px}
/* desktop sections: roomy rhythm, ink rule under each heading */
@media(min-width:701px){
#homeBody .mf-h{margin-top:56px!important;font-size:19px;letter-spacing:.03em}
#homeBody .ldesc+.mf .mf-h{margin-top:44px!important}
#homeBody .mf-h+.mf-c>.check:first-child{margin-top:16px;border-top:1px solid var(--ink)}
#homeBody .mf-h+.mf-c>.amen:first-child{margin-top:18px!important}
}
@media(max-width:860px) and (min-width:701px){#homeBody .side{position:static}}
@media(max-width:700px){
#homeBody .hcols{margin-top:22px}
#homeBody .hcols .side{margin:18px 0 6px;padding:20px 18px 16px;box-shadow:none}
#homeBody .side .offer{margin-bottom:16px}
#homeBody .side .price{font-size:36px}
#homeBody .side .price small{font-size:14px}
#homeBody .side .lstat{margin:10px 0 0!important}
#homeBody .side .cost{margin-top:20px}
#homeBody .side .cost dl>div{padding:10px 0}
#homeBody .side .how summary{min-height:44px}
#homeBody .side .tri{margin-top:18px;grid-template-columns:1fr 1fr;gap:8px}
#homeBody .side .tri .pill{min-height:48px;font-size:11px;padding:12px 8px;letter-spacing:.08em}
#homeBody .side .sidelinks{margin-top:14px;padding-top:6px}
#homeBody .side .rqc{min-height:44px}
#homeBody .side .ask a,#homeBody .side .mvin a{display:inline-block;padding:14px 0;margin:-14px 0}
#homeBody .side .ask{padding-bottom:4px}
#homeBody .side .sidelinks{gap:12px}
#homeBody .facts{margin:18px 0 22px;padding:16px 0}
#homeBody .facts b{font-size:22px}
#homeBody .check li{padding:10px 0}
}
.chead .oneline-p{max-width:none;white-space:nowrap}
@media(max-width:1100px){.chead .oneline-p{white-space:normal}}
.cost details.cb{border-bottom:1px solid var(--line)}
.cost details.cb summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:15px;color:var(--body)}
.cost details.cb summary::-webkit-details-marker{display:none}
.cost details.cb summary b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:baseline;gap:8px}
.cost details.cb summary b small{font:500 13px var(--sans);color:var(--muted)}
.cost details.cb summary b::after{content:"+";font:400 16px var(--sans);color:var(--muted);width:10px;text-align:center}
.cost details.cb[open] summary b::after{content:"\2212"}
.cost details.cb ul{list-style:none;margin:0 0 10px;padding:0 0 0 2px;display:grid;gap:4px}
.cost details.cb li{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
.cost details.cb li em{font-style:normal;font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:700px){.cost details.cb summary{min-height:44px}}
.tq-p img{outline:1px solid #cfcac5!important;outline-offset:0!important}
.tq-p[aria-pressed="true"] img{outline:1px solid #8f8a86!important}
#team-life{padding-block:clamp(44px,5vw,64px)!important}#team-life .tq{max-width:640px;gap:16px;margin-top:16px}#team-life .tq blockquote{font-size:clamp(16px,1.4vw,19px)}#team-life .tq-p img{width:44px;height:44px}#team-life .bigq .k,#team-life .k{font-size:11px}
/* photo sheet on desktop too (Whitney, 2026-09-29): same gallery wall as phones, centered */
@media(min-width:701px){
.sv{position:fixed;inset:0;z-index:86;background:#fff;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:block}
.sv[hidden]{display:none}
.sv .svbar{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--line);padding:calc(4px + env(safe-area-inset-top,0px)) 16px 8px}
.sv .svr1{display:flex;align-items:center;gap:6px;min-width:0}
.sv .svx{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-left:-12px;border:0;background:none;color:var(--ink);cursor:pointer;padding:0}
.sv .svt{min-width:0;font:700 15px/1.25 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv .svr2{display:flex;align-items:center;gap:10px;margin-top:2px}
.sv .svn{flex:1 1 auto;min-width:0;font:600 11px/1.2 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sv .svr2 .pill,.sv .svr2 .pill.red{flex:0 0 auto;position:relative;min-height:34px;height:34px;padding:0 14px;font-size:11px;letter-spacing:.06em;white-space:nowrap}
.sv .svr2 .pill::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
.sv .svg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px 0 calc(24px + env(safe-area-inset-bottom,0px))}
.sv .svi{display:block;border:0;padding:0;margin:0;background:var(--platinum);aspect-ratio:3/2;overflow:hidden;cursor:pointer}
.sv .svi.w{grid-column:1/-1}
.sv .svi img{display:block;width:100%;height:100%;object-fit:cover}
.sv .svbar{padding:14px 24px}
.sv .svbar>*{max-width:1100px;margin-inline:auto}
.sv .svg{max-width:1100px;margin:0 auto;gap:8px;padding:8px 24px 48px}
.sv .svi{border-radius:8px}
.sv .svt{font-size:17px}
.sv .svbar{padding:14px 24px}.sv .svbar>*{max-width:1100px;margin-inline:auto}.sv .svg{max-width:1100px;margin:0 auto;gap:8px;padding:8px 24px 48px}.sv .svi{border-radius:8px}.sv .svt{font-size:17px}
}
.side .offerband{margin:-32px -30px 24px;padding:12px 16px;background:var(--ink);color:#fff;text-align:center;font:600 11px/1.4 var(--label);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius) var(--radius) 0 0}
@media(max-width:700px){.side .offerband{margin:-20px -18px 16px}}
.gal .gstat{position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font:600 11px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 4px 14px rgba(25,24,24,.12);pointer-events:none}
.gal .gstat::before{content:"";width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--khaki)}
.gal .gstat.now::before{background:#2E7D46;box-shadow:none}
@media(max-width:700px){.gal .gstat{top:10px;left:10px;padding:7px 11px;font-size:10px}}

/* phone: shorter, smaller stat labels (Whitney 2026-09-29) */
@media(max-width:700px){footer .news h3{white-space:nowrap;font-size:clamp(14px,4.6vw,18px)}.stat .st-count{display:none}.stat span{font-size:10px;letter-spacing:.1em}}
.stat .st-count{font-style:normal}

/* phone menu, option A: main headers only (Whitney 2026-09-29) */
.mutil{display:none}
@media(max-width:700px){
.menu:not([hidden]){display:flex;flex-direction:column}
.menu .groups{gap:0}
.menu h4,.menu .groups a.sm{display:none}
.menu .groups>div{border-bottom:1px solid #333}
.menu .groups a{display:flex;justify-content:space-between;align-items:center;font-size:24px;line-height:1.2;padding:18px 0;min-height:44px}
.menu .groups a::after{content:"\2192";font:400 20px var(--sans);color:var(--khaki);margin-left:12px}
.mutil{display:block;margin-top:auto;padding-top:28px}
.mutil-p{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
.mutil-p .pill{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #fff;border-radius:999px;color:#fff;text-decoration:none;font:600 11px var(--label);letter-spacing:.12em;text-transform:uppercase;background:none;padding:0}
.mutil-s{display:flex;gap:20px}
.mutil-s a{color:#cfc8c0;text-decoration:none;font:500 15px var(--sans);min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){.row.duo .pill{white-space:normal;line-height:1.2}}
@media(min-width:360px) and (max-width:700px){#p-home .phero h1{white-space:nowrap!important;font-size:min(25px,6vw)!important}}
@media(max-width:380px){.menu .groups a{font-size:20px}.ecb{white-space:normal;font-size:10px;line-height:1.2}}
.menu .mbrand{display:flex}.menu .top .mbrand .logo{height:19px}.menu .mbrand i{background:#fff}

/* residents page on phones: compact action buttons + emergency layout (Whitney 2026-09-29) */
#emergency .ecall-txt{display:none}
#emergency .ecalls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.ec{display:grid;gap:8px;align-content:end}
.ec span{font:600 10px/1.4 var(--label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
.ecb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:8px 12px;border-radius:999px;text-decoration:none;font:600 11px/1.2 var(--label);letter-spacing:.08em;text-transform:uppercase;text-align:center}
.ecb small{font:500 13px/1.2 var(--sans);letter-spacing:0;text-transform:none;margin-top:3px;opacity:.85}
.ecb.o{border:1px solid var(--ink);color:var(--ink);background:#fff}.ecb.r{background:var(--red);border:1px solid var(--red);color:#fff}
@media(max-width:700px){.ecb small{display:none}}
.nl-short{display:none}
.fx-l{font-style:normal}
.fx-s{display:none;font-style:normal}
/* photo tag + gallery button, option A everywhere (Whitney 2026-09-29) */
#homeBody .gal .gstat::before{display:none!important}
#homeBody .gal .gstat{background:var(--ink)!important;color:#fff!important;border:0!important}#homeBody .gal .gstat:not(.now){background:var(--khaki)!important}
#homeBody .gal .all .pill{display:inline-flex!important;align-items:center;gap:7px;background:#fff!important;color:var(--ink)!important;border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.18)}
#homeBody .gal .all .pill .fx-l{display:none}
.gico{flex:none}
.sl-text{display:none}
.cpet{display:none}
.ldmore{display:none}
.ptabs{display:none}
.plan .pex{display:none}
.exTab{display:none}
@media(max-width:700px){.nl-long{display:none}.nl-short{display:inline;white-space:nowrap}}
@media(max-width:700px){
#p-residents .tiles{grid-template-columns:1fr 1fr;gap:8px}
#p-residents .tile-a{padding:12px 10px;min-height:64px;align-content:center;justify-items:center;text-align:center}
#p-residents .tile-a .k,#p-residents .tile-a p{display:none}
#p-residents .tile-a .h3{font-size:14px;letter-spacing:.02em;margin:0}
#p-residents .portal-help{font-size:13px;line-height:1.45;margin-top:12px}
#p-residents .ph-short{white-space:nowrap}#p-residents .portal-help{font-size:clamp(11px,3.5vw,13px)!important;text-align:center}
#homeBody .facts{flex-wrap:nowrap;gap:6px;justify-content:space-between}
#homeBody .facts b{font-size:18px}
#homeBody .facts span{font-size:9px;letter-spacing:.08em;white-space:nowrap}
.facts .fx-l{display:none}
.applyrow{flex-wrap:nowrap;gap:8px}
.applyrow .pill{flex:1;justify-content:center;text-align:center;min-height:44px;padding:0 12px;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.applyrow .fx-l{display:none}
#p-owners .exTab{display:block;margin-top:25px!important;margin-bottom:-15px!important;padding:0!important}
#p-owners .exTab .l{font-size:9px!important;letter-spacing:.12em!important;margin:0 0 4px!important}
#p-owners .exTab .n{gap:0!important;margin:0!important}
#p-owners .exTab .n>div{padding:0 8px!important}
#p-owners .exTab .n b{font-size:18px!important;line-height:1.1!important}
#p-owners .exTab .n span{font-size:11px!important;line-height:1.3!important;margin-top:1px!important;display:block}
#p-owners .plans .plan>p.pex{display:none!important}
#p-pricing .plan.feat>.pex{display:none!important}
.plan>.pex{display:block!important;font-size:12.5px!important;line-height:1.45!important;margin:10px 0 0!important;padding-top:10px;border-top:1px solid rgba(128,128,128,.35);opacity:.9}
#p-owner-portal .phead .pill .fx-l{display:none}
#p-owner-portal .phead .pill{min-height:44px;min-width:160px;justify-content:center;margin-top:14px!important}
#p-owner-portal .same{display:none}
#p-owner-portal .pfirst{font-size:13px!important;margin-top:12px!important}
#p-owner-portal .pf-s{white-space:normal!important}
#p-owner-portal .mf>.eyebrow{display:none}
#p-owner-portal .mf-btn{font:700 15px var(--sans);text-transform:uppercase;letter-spacing:.02em}
#p-owner-portal .cols2{gap:18px!important}
#p-owner-portal .cols2 .h2{font-size:20px!important}
#p-owner-portal .check li{display:block;padding:9px 0}
#p-owner-portal .check li em{display:block;margin:2px 0 0;text-align:left;font-size:14px}
.opts{gap:6px!important}
.opts label{padding:3px 0}
.opts label span{font-size:10px!important;letter-spacing:.06em!important;padding:6px 11px!important;min-height:36px!important;min-width:36px}
.talkbtn{min-height:34px!important;height:34px!important;font-size:10px!important;padding:0 12px!important}
#p-owners .ptabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#EFEBE6;border-radius:999px;padding:4px;margin:0 0 12px}
#p-owners .ptabs button{border:0;border-radius:999px;background:none;min-height:40px;font:600 10px var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer}
#p-owners .ptabs button[aria-selected="true"]{background:var(--ink);color:#fff}
#p-owners .plans.tabbed .plan:not(.pon){display:none!important}
#p-owners .plans{gap:10px!important}
#p-owners .plan{padding:18px 16px!important;gap:6px!important}
#p-owners .plan .h3{font-size:18px!important;margin:2px 0 0!important}
#p-owners .plan .rate{font-size:34px!important;margin:4px 0 0!important}
#p-owners .plan .rate small{font-size:10px!important}
#p-owners .plan .mf-btn{display:none!important}
#p-owners .plan .mf-c{display:block!important;margin-top:6px}
#p-owners .plan dl.fees>div{padding:7px 0!important;font-size:13px!important}
#p-owners .plan>p:not(.eyebrow){display:block!important;font-size:13.5px!important;line-height:1.45!important;margin:8px 0 0!important}
#p-owners .plan>.pill{min-height:40px!important;margin-top:8px}
.row.duo{flex-wrap:nowrap!important;gap:8px!important;justify-content:center;width:100%}
.row.duo .pill{flex:1 1 0;min-width:0;min-height:44px!important;padding:0 6px!important;font-size:10px!important;letter-spacing:.02em!important;white-space:nowrap;justify-content:center;text-align:center}
.cintro{font-size:14px!important;line-height:1.55!important}
.cintro .cin-s{white-space:normal!important}
#team-life .tq blockquote{font-size:15px!important;line-height:1.45!important}
#homeBody .ldesc.clip{max-height:4.9em;overflow:hidden;position:relative}
#homeBody .ldesc.clip::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6em;background:linear-gradient(rgba(255,255,255,0),#fff)}
#homeBody .ldesc.clip p{margin:0}
.ldmore{display:inline-flex;align-items:center;min-height:40px;background:none;border:0;padding:0;font:600 12px var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#homeBody .hcols .side{padding:14px 14px 10px!important}
#homeBody .hcols .side .price{font-size:28px!important}
#homeBody .hcols .side .price small{font-size:12px!important}
#homeBody .hcols .side details.cb summary{font-size:13.5px!important;padding:8px 0!important}
#homeBody .hcols .side details.cb summary b{font-size:13.5px!important}
#homeBody .hcols .side details.cb summary small{font-size:11.5px!important}
#homeBody .hcols .side .pill{min-height:40px!important;height:40px!important;font-size:10px!important;padding-top:0!important;padding-bottom:0!important}
#homeBody .hcols .side .sidelinks,#homeBody .hcols .side .sidelinks p{font-size:12.5px!important;margin-top:8px!important}
#allListings .home-card>.hc-link,#cityListings .home-card>.hc-link{grid-row:1/3;align-self:center}
.home-card .hc-link{display:grid;gap:9px;min-width:0}
.home-card .hc-link h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.home-card .hc-link .meta2{display:grid;gap:7px;margin:0}
.home-card .cpet{display:block;font-style:normal;font-size:12px;letter-spacing:.02em;color:var(--muted)}
#homeBody .aeye{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sec-head{flex-wrap:nowrap!important;align-items:center!important}
.sec-head>div{min-width:0}
.sec-head .pill{flex:none;font-size:10px!important;padding:8px 13px!important;min-height:0!important;letter-spacing:.1em;position:relative}
.sec-head .pill::after{content:"";position:absolute;inset:-7px -4px}
.sec-head .fx-l{display:none}
.sec-head .fx-s{display:inline}
#homeBody .sidelinks .sl-email{display:none!important}
#homeBody .sidelinks .sl-text{display:inline!important}
#homeBody .hcols>div:first-child>.haddr+p{order:1}
#homeBody .hcols>div:first-child>.facts{order:2;margin-top:14px!important;margin-bottom:0!important}
#homeBody .hcols .side{order:3;margin-top:14px!important}
#homeBody .gal .all .pill{font-size:10px!important;padding:9px 13px!important;min-height:0!important;letter-spacing:.1em;display:inline-flex!important;align-items:center;gap:6px;background:#fff!important;color:var(--ink)!important;border:0!important;box-shadow:0 2px 10px rgba(0,0,0,.18)}
#homeBody .gal .all .pill .gico{display:block;flex:none}
#homeBody .gal .all .pill .fx-l{display:none}
#homeBody .gal .gstat::before{display:none!important}
#homeBody .gal .gstat{background:var(--ink)!important;color:#fff!important;border:0!important}#homeBody .gal .gstat:not(.now){background:var(--khaki)!important}
.rv-head{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end;justify-content:space-between;gap:10px}
.rv-head>div:first-child{min-width:0}
.rv-head .arrows{display:flex;gap:6px;flex:none;margin:0!important}
.rv-head .arrows button{width:32px!important;height:32px!important;min-height:0!important;min-width:0!important;padding:0!important;font-size:14px!important;position:relative}
.rv-head .arrows button::after{content:"";position:absolute;inset:-6px -3px}
#homeBody .check .fx-l{display:none}
#homeBody .check .fx-s{display:inline}
#emergency .h2{font-size:22px}
#emergency .ecall-txt{display:none}
.ecalls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0 0 8px}
.ec{display:grid;gap:6px;align-content:end}
.ec span{font:600 9px/1.4 var(--label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center}
.ecb{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 6px;border-radius:999px;text-decoration:none;font:600 10px/1.2 var(--label);letter-spacing:.03em;text-transform:uppercase;text-align:center;overflow-wrap:anywhere}
.ecb.o{border:1px solid var(--ink);color:var(--ink);background:#fff}
.ecb.r{background:var(--red);border:1px solid var(--red);color:#fff}

#emergency .check li{display:block;padding:10px 0}
#emergency .check li em{display:block;margin:2px 0 0;text-align:left;font-size:14px}
}
/* price card footer, option 2 (Whitney, 2026-09-29): two light gray lines, no divider, arrow or underline */
.side .sidelinks{margin-top:18px!important;padding-top:0!important;border-top:0!important;gap:6px!important}
.side .rqc{font:500 13.5px var(--sans)!important;color:var(--muted)!important;text-decoration:none!important;min-height:0}
.side .rqc::after{content:none!important}
.side .ask{font-size:13.5px}
.side .ask a{color:var(--muted)!important;text-decoration:none!important}
.side .rqc:hover,.side .ask a:hover{text-decoration:underline!important;text-underline-offset:3px}
@media(max-width:700px){.side .rqc,.side .ask a{display:inline-block;padding:10px 0;margin:-10px 0}}
.side .sidelinks .ask{text-align:center}

/* Ben's redlines 2026-10-01 */
.plan .mf-btn{display:none!important}
.plan .mf-c{display:block!important}
#p-owner-portal .mf{border:0!important;padding:0!important;margin:0!important}
#p-owner-portal .mf>.mf-h{margin-top:0!important}
@media(min-width:701px){#p-owner-portal .mf{display:block!important}#p-owner-portal .mf>.mf-c{display:block!important}}

/* text message consent line under the phone field (Whitney 2026-10-02) */
.sms-note{display:block;font:400 11.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);margin:6px 0 0}

/* ---------- pre-launch layout fixes (Whitney approved all five from mockups, 2026-10-06) ---------- */
/* 1. computer: closed "What we handle" labels fit their tile */
@media (min-width:821px){.panel:not(.open) .cap{padding:24px 12px 24px 16px}.panel:not(.open) h3{font-size:clamp(9.5px,calc((100vw - 410px)/55.4),18px);letter-spacing:-.01em}.panel h3{transition:font-size .3s}}
@media (min-width:821px) and (max-width:960px){.panel:not(.open) .cap{padding:20px 6px 20px 10px}}
/* 2. phones and tablets: the open tile keeps its height */
@media (max-width:820px){.panel.open{flex:none}}
/* 3. small tablets and sideways phones: one column of rental cards */
@media (max-width:700px){#allListings,#cityListings{grid-template-columns:1fr}}
/* 4. upright iPad: price box right under the beds and baths row */
@media (min-width:701px) and (max-width:860px){.hcols{display:flex;flex-direction:column;gap:0;align-items:stretch}.hcols>div:first-child{display:contents}.hcols>div:first-child>.aeye,.hcols>div:first-child>.haddr{order:-3}.hcols>div:first-child>.facts{order:-2;margin-bottom:0!important}.hcols .side{order:-1;margin:22px 0 28px}}
/* 5. phones: listing fact labels at a readable size */
@media (max-width:700px){#homeBody .facts span{font-size:10px!important}}
/* filter row (Whitney 2026-10-06): filters tightened so the count and Clear stretch to fill the row and stay on the same line down to about 1180px wide (they only stretch when everything fits on one line); the city and type boxes are wide enough for their longest names; narrower than that they sit left under the filters, never alone on the right */
@media (min-width:701px){.frow{gap:6px}.frow .fsel{padding:9px 26px 9px 12px;background-position:right 10px center}#fCity{width:auto;min-width:196px}#fType{width:auto;min-width:194px}.frow .chip{padding:9px 12px;letter-spacing:.08em}.frow .fcount{gap:8px;font-size:13px;white-space:nowrap;margin-left:14px;flex:0 0 auto}}
@media (min-width:1181px){.frow .fsel,.frow .chip{flex:1 1 auto}}
@media (min-width:701px) and (max-width:1180px){.frow .fcount{flex-basis:100%;margin-left:2px;margin-top:-2px}}
/* phones: larger tap area on the photo and floor plan buttons, same look (2026-10-06) */
@media (max-width:700px){#galAll .pill{position:relative}#galAll .pill::after{content:"";position:absolute;inset:-8px -3px}}
/* plan cards: a long rate ("1 month's rent") stays on one line and takes the same height as "9%" (Whitney 2026-10-06) */
.plan .rate .rlong{display:inline-block;font-size:.7em;white-space:nowrap;letter-spacing:-.015em}
@media (min-width:861px) and (max-width:1080px){.plan .rate .rlong{font-size:.58em}}
@media (max-width:860px){.plan .rate .rlong{font-size:.8em}}
/* form fixes after launch (Whitney 2026-10-06): a field beside the phone field (which carries the text consent line) keeps its normal height and sits at the top of its row; dropdowns are styled the same in Safari as in Chrome */
.form label{align-content:start}
.wwu .f{align-content:start}
.form select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23191818' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px;cursor:pointer}
