@font-face{font-family:'Anton';font-weight:400;font-display:swap;src:url(fonts/anton-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:400;font-display:swap;src:url(fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:500;font-display:swap;src:url(fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:600;font-display:swap;src:url(fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:700;font-display:swap;src:url(fonts/barlow-700.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-weight:800;font-display:swap;src:url(fonts/barlow-800.woff2) format('woff2')}
/* Layout: dark hero → red trust band → alternating light/dark bands; split Multifamily | Self Storage is the spine of the page.
   Single committed look (AFS black + Signal Red) — colors set explicitly, no theme switch. */
:root{
  color-scheme: light;
  --red:#e11d26; --red-hover:#c8171f; --red-press:#a8121a; --red-bright:#ff4a50; --red-tint:#fdecec;
  --ink:#0e0f12; --night:#16181d; --charcoal:#1c1e23; --graphite:#262930; --steel:#3a3e46; --steel-strong:#6a6f78;
  --fog:#a9aeb7; --mist:#d4d7dd; --white:#ffffff; --paper:#f2f3f6; --line:#e3e5ea;
  --heading:#111318; --body:#4b5058; --muted:#656a73; --live:#22c55e;
  --font-display:'Anton','Oswald',Impact,'Arial Narrow',sans-serif;
  --font-sans:'Barlow','Helvetica Neue',Arial,sans-serif;
  --container:1200px; --r-sm:6px; --r-btn:8px; --r-card:12px; --r-lg:16px;
  --shadow-card:0 1px 2px rgba(14,15,18,.05); --shadow-card-hover:0 10px 28px rgba(14,15,18,.10);
  --shadow-float:0 18px 40px rgba(14,15,18,.28); --shadow-cta:0 10px 24px rgba(225,29,38,.35);
  --focus:0 0 0 3px #ffffff,0 0 0 5px #e11d26;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--white);color:var(--body);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
svg.i{width:24px;height:24px;flex:none}
.wrap{max-width:var(--container);margin:0 auto;padding-inline:32px}
h1,h2,h3,h4{text-wrap:balance}
.display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:-.5px;line-height:.96;color:var(--heading);margin:0}
.display em{font-style:normal;color:var(--red)}
.eyebrow{display:block;font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--red-hover);margin:0 0 12px}
.dark .eyebrow{color:var(--red-bright)}
.sub{font-size:17px;line-height:1.7;color:var(--body);max-width:640px;margin:16px 0 0}
.dark .sub{color:var(--mist)}
.center{text-align:center}.center .sub{margin-inline:auto}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:700 17px/1.2 var(--font-sans);padding:17px 30px;border-radius:var(--r-btn);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus)}
.btn:active{transform:translateY(1px)}
.btn svg.i{width:20px;height:20px}
.btn-primary{background:var(--red);color:var(--white);box-shadow:var(--shadow-cta)}
.btn-primary:hover{background:var(--red-hover)}.btn-primary:active{background:var(--red-press)}
.btn-outline-light{color:var(--white);border-color:var(--steel-strong);background:transparent}
.btn-outline-light:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
.btn-outline-dark{color:var(--heading);border-color:var(--heading);background:transparent}
.btn-outline-dark:hover{background:var(--heading);color:var(--white)}
.btn-sm{font-size:15px;padding:12px 20px}
.actions{display:flex;flex-wrap:wrap;gap:16px}
.textlink{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--red-hover);text-decoration:none}
.textlink svg.i{width:18px;height:18px;transition:transform .15s}.textlink:hover svg.i{transform:translateX(3px)}
.dark .textlink{color:var(--red-bright)}

/* top bar + header */
.topbar{background:var(--night);color:var(--fog);font-size:14px;font-weight:600}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:40px;flex-wrap:wrap}
.topbar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 30px}
.topbar li{display:inline-flex;align-items:center;gap:8px}
.topbar li svg.i{width:15px;height:15px;color:var(--red-bright)}
.topbar .live{color:var(--white)}.topbar .dot{width:8px;height:8px;border-radius:50%;background:var(--live)}
.topbar .tel{color:var(--white);font-weight:700;display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.topbar .tel svg.i{width:15px;height:15px;color:var(--red-bright)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--charcoal);border-bottom:1px solid var(--steel)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px}
.wordmark{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.logo-img{height:88px;width:auto;display:block;margin:10px 0 6px}@media(max-width:900px){.logo-img{height:68px;margin:8px 0 4px}}
.logo-ft{height:130px;margin:0 0 8px}
.wordmark .mark{font-family:var(--font-display);font-size:40px;line-height:1;color:var(--red)}
.wordmark .nm{display:flex;flex-direction:column;line-height:1.05}
.wordmark .nm b{font-size:15px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--white)}
.wordmark .nm span{font-size:10px;font-weight:600;letter-spacing:2.6px;text-transform:uppercase;color:var(--fog)}
nav.main{display:flex;gap:28px}
nav.main a{color:var(--white);font-weight:600;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:border-color .15s}
nav.main a:hover{border-bottom-color:var(--red)}
.hcta{display:flex;align-items:center;gap:18px}
.callblock{text-align:right;text-decoration:none}
.callblock small{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--white)}
.callblock strong{display:block;font-size:20px;font-weight:800;color:var(--red-bright)}

/* hero */
.hero{position:relative;background:linear-gradient(180deg,var(--graphite) 0%,var(--ink) 100%);color:var(--mist);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 120px);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;padding-block:88px 80px}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:var(--white);font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px 30px 10px 16px;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.tag svg.i{width:15px;height:15px}
.hero h1{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:var(--white);font-size:clamp(50px,7vw,88px);line-height:.92;letter-spacing:-.5px;margin:24px 0}
.hero h1 span{display:block}.hero h1 em{font-style:normal;color:var(--red)}
.hero .lede{font-size:20px;line-height:1.6;max-width:560px;margin:0 0 32px}
.hero .lede b{color:var(--white)}
.checkrow{list-style:none;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--steel);display:flex;flex-wrap:wrap;gap:12px 26px}
.checkrow li{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-weight:600}
.checkrow svg.i{width:18px;height:18px;color:var(--red)}
.media{position:relative;border-radius:var(--r-lg);border:1px solid var(--steel);background:linear-gradient(135deg,#2c3038 0%,#17191e 100%);aspect-ratio:9/10;max-width:100%}
.media.light{background:linear-gradient(135deg,#e9ebef 0%,#d6d9df 100%);border-color:var(--line);aspect-ratio:4/3}
.media>img,.prop .ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.slot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--steel-strong);font-size:13px;font-weight:600;text-align:center;padding:24px}
.slot svg.i{width:64px;height:64px;stroke-width:1.5}
.media.light .slot{color:#80868f}
.hero .wrap>.media{order:-1}
.hero .wrap>.media{aspect-ratio:auto;background:none;border:0;display:flex;flex-direction:column;gap:20px}
.hero .media>img{position:static;inset:auto;height:auto;aspect-ratio:9/10;border-radius:var(--r-lg);border:1px solid var(--steel)}
.hero .proof{position:static;max-width:none}
.proof{position:absolute;left:-24px;bottom:32px;background:var(--white);border-radius:var(--r-card);box-shadow:var(--shadow-float);padding:20px 22px;display:flex;gap:16px;max-width:300px}
.proof .tile{background:var(--red);color:var(--white);width:44px;height:44px}
.proof h4{font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.05;text-transform:uppercase;color:var(--heading);margin:0 0 4px}
.proof p{margin:0;font-size:14px;line-height:1.5;color:var(--body)}
.tile{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--r-btn);background:var(--charcoal);color:var(--red-bright);flex:none}
.tile svg.i{width:22px;height:22px}

/* trust band */
.trust{background:var(--red);color:var(--white)}
.trust .wrap{display:grid;grid-template-columns:repeat(6,1fr);padding-block:22px}
.trust .it{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;line-height:1.15;padding:4px 14px;border-left:1px solid rgba(255,255,255,.28)}
.trust .it:first-child{border-left:0}

/* systems strip */
.systems{background:var(--white);border-bottom:1px solid var(--line)}
.systems .wrap{display:flex;align-items:center;gap:32px;padding-block:26px;flex-wrap:wrap}
.systems .lbl{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);flex:none}
.systems ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.systems li{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-btn);padding:8px 14px;font-size:14px;font-weight:600;color:var(--heading)}
.systems li svg.i{width:17px;height:17px;color:var(--red)}

/* sections */
section.band{padding-block:88px}
section.alt{background:var(--paper)}
section.dark{background:var(--ink);color:var(--mist)}
section.dark .display{color:var(--white)}
.head{margin-bottom:44px}
h2.display{font-size:clamp(38px,4.6vw,54px)}

/* property split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.prop{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--charcoal);color:var(--mist);display:flex;flex-direction:column}
.prop .ph{height:200px;background:linear-gradient(135deg,#2c3038,#17191e);border-bottom:1px solid var(--steel);position:relative}
.prop .ph .slot{color:var(--steel-strong)}
.prop .ph .slot svg.i{width:48px;height:48px}
.prop .body{padding:32px;display:flex;flex-direction:column;gap:18px;flex:1}
.prop .kick{display:inline-flex;align-items:center;gap:10px}
.prop h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:var(--white);font-size:38px;line-height:1;margin:0}
.prop p{margin:0;font-size:16px;line-height:1.65}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.checks svg.i{width:20px;height:20px;color:var(--red);margin-top:2px}
.prop .checks li{color:var(--white)}
.prop .actions{margin-top:auto;padding-top:8px}

/* solutions grid */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:28px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
.card h3{font-size:20px;font-weight:700;line-height:1.3;color:var(--heading);margin:12px 0 0}
.card p{margin:0;font-size:15px;line-height:1.65}
.card .for{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.chip{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--heading);background:var(--paper);border-radius:var(--r-sm);padding:3px 8px}
.card .textlink{margin-top:auto;padding-top:8px}

/* feature rows */
.row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.row + .row{margin-top:80px}
.row.flip .media{order:2}
.row h3.display{font-size:clamp(32px,3.6vw,44px)}
.row .actions{margin-top:28px}
.row .checks{margin-top:24px}
.row .checks li{color:var(--heading)}

/* considerations */
.consider{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--steel);border:1px solid var(--steel);border-radius:var(--r-card);overflow:hidden}
.consider > div{background:var(--charcoal);padding:26px;display:flex;flex-direction:column;gap:10px}
.consider h4{margin:6px 0 0;color:var(--white);font-size:18px;font-weight:700;line-height:1.3}
.consider p{margin:0;font-size:15px;line-height:1.6;color:var(--fog)}
.consider .tile{background:var(--graphite)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px;padding-top:40px;border-top:1px solid var(--steel)}
.stat b{display:block;font-family:var(--font-display);font-weight:400;font-size:56px;line-height:1;color:var(--red)}
.stat span{display:block;margin-top:8px;font-size:15px;font-weight:600;color:var(--fog)}

/* takeover */
.takeover{background:var(--white)}
.takeover .box{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:48px}
.takeover h2.display{font-size:clamp(32px,3.8vw,46px)}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{border-top:3px solid var(--heading);padding-top:20px}
.step .n{font-family:var(--font-display);font-size:44px;line-height:1;color:var(--red)}
.step h4{margin:10px 0 6px;font-size:20px;font-weight:700;color:var(--heading)}
.step p{margin:0;font-size:15px;line-height:1.65}

/* service area */
.states{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.state{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:28px}
.state header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.state h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:32px;line-height:1;color:var(--heading);margin:0}
.state header span{font-size:13px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}
.state ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.state li{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--heading);font-size:15px}
.state li svg.i{width:16px;height:16px;color:var(--red)}
.areanote{margin:24px 0 0;font-size:15px;color:var(--muted)}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
details{border-bottom:1px solid var(--line)}
details:first-child{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font-size:18px;font-weight:700;color:var(--heading)}
summary::-webkit-details-marker{display:none}
summary svg.i{color:var(--red);transition:transform .15s}
details[open] summary svg.i{transform:rotate(45deg)}
details p{margin:0 0 20px;font-size:16px;line-height:1.7;max-width:640px}

/* contact */
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.form{background:var(--white);border-radius:var(--r-card);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow-float)}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:14px;font-weight:600;color:var(--heading)}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--font-sans);color:var(--heading);background:var(--white);border:1px solid #c9ccd3;border-radius:var(--r-sm);padding:13px 14px;width:100%}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red)}
.boxes{display:flex;flex-wrap:wrap;gap:8px}
.boxes label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--r-btn);padding:8px 12px;font-size:14px;font-weight:600;color:var(--heading);cursor:pointer}
.boxes input{accent-color:var(--red)}
.formnote{font-size:13px;color:var(--muted);margin:0}
.formmsg{grid-column:1/-1;background:var(--red-tint);color:var(--red-press);border-radius:var(--r-sm);padding:12px 14px;font-size:14px;font-weight:600}
.reach{display:grid;gap:18px;margin-top:32px}
.reach div{display:flex;gap:14px;align-items:center}
.reach b{display:block;color:var(--white);font-size:20px}
.reach span{font-size:14px;color:var(--fog)}

/* footer */
footer.site{background:var(--ink);color:var(--fog);font-size:15px;border-top:1px solid var(--steel)}
footer.site .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-block:64px 48px}
footer.site h5{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin:0 0 16px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer.site a{color:var(--fog);text-decoration:none}footer.site a:hover{color:var(--white)}
footer.site .blurb{margin:16px 0 0;max-width:320px;line-height:1.65}
footer.site .bottom{border-top:1px solid var(--steel);padding-block:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}

/* chat */
.chat{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:60px;height:60px;border-radius:50%;background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-cta);text-decoration:none}
.chat svg.i{width:26px;height:26px}

@media (max-width:1100px){nav.main{display:none}.trust .wrap{grid-template-columns:repeat(3,1fr);row-gap:14px}.trust .it:nth-child(4){border-left:0}.consider{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .wrap{padding-inline:20px}
  .hero .wrap,.split,.grid3,.grid2,.row,.takeover .box,.faq,.contact .wrap,.states{grid-template-columns:1fr}
  .row.flip .media{order:0}
  .steps,.stats{grid-template-columns:1fr 1fr}
  footer.site .top{grid-template-columns:1fr 1fr}
  .hero .wrap>.media{order:0}
  .proof{left:16px;right:16px;bottom:16px;max-width:none}
  .hero .media>img{aspect-ratio:4/3}
  .callblock{display:none}
  section.band{padding-block:64px}
  .takeover .box{padding:28px}
}
@media (max-width:560px){
  .trust .wrap{grid-template-columns:1fr 1fr}.trust .it{border-left:0;justify-content:flex-start}
  .consider,.steps,footer.site .top,.form{grid-template-columns:1fr}
  .hcta .btn{padding:11px 14px;font-size:14px}
  .wordmark .nm{display:none}
  .topbar ul li:not(.live){display:none}
}

html{-webkit-text-size-adjust:100%}
.portalbtn,.burger{display:none}
.mnav{display:none;background:var(--charcoal);border-top:1px solid var(--steel)}
.mnav a{display:flex;align-items:center;min-height:52px;padding:0 20px;color:var(--white);font-weight:600;font-size:17px;text-decoration:none;border-bottom:1px solid var(--steel)}
.mnav a.mcall{color:var(--red-bright);font-family:var(--font-display);letter-spacing:.5px;font-size:20px}
.mnav a.tab{color:var(--red-bright)}
.burger{width:42px;height:42px;border:1px solid var(--steel);border-radius:10px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--white);border-radius:2px;transition:transform .2s,opacity .2s}
header.site.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.site.open .burger span:nth-child(2){opacity:0}
header.site.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1100px){.portalbtn{display:inline-flex}.burger{display:inline-flex}header.site.open .mnav{display:block}.callblock{display:none}}
@media (max-width:560px){
  header.site .wrap{gap:8px;min-height:64px}
  .logo-img{height:50px!important;margin:6px 0!important}
  .hcta{gap:6px;margin-left:auto}
  .hcta .btn{padding:9px 10px;font-size:12.5px;white-space:nowrap;min-height:40px}
  .burger{width:40px;height:40px}
  .topbar .wrap{min-height:36px;font-size:13px}
  .hero .wrap{padding-block:28px 40px;gap:28px}
  .hero h1{font-size:44px;margin:14px 0 16px}
  .hero .tag{font-size:11px;padding:8px 14px 8px 12px}
  .hero .lede{font-size:16px;line-height:1.6;margin-bottom:22px}
  .hero .actions{flex-direction:column;align-items:stretch;gap:12px}
  .hero .actions .btn{width:100%;justify-content:center;min-height:50px}
  .checkrow{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;font-size:14px}
  .hero .media>img{aspect-ratio:4/3}
  section.band{padding-block:44px}
  .head{margin-bottom:28px}
  .sub{font-size:16px}
  .chat{width:48px;height:48px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .chat svg.i{width:22px;height:22px}
  .btn{min-height:46px}
  .state{padding:20px}.state h3{font-size:26px}
  .cside{padding:20px}.cpanel h3{font-size:32px}
  .grid3,.grid2{gap:14px}.card{padding:20px}.card h3{font-size:19px}
}

.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;font-weight:600;color:var(--fog);margin:0 0 4px}
.crumbs a{color:var(--mist);text-decoration:none}.crumbs a:hover{color:var(--white)}
.hero.page .wrap{grid-template-columns:1fr;padding-block:64px 64px}
.hero.page h1{font-size:clamp(44px,6vw,76px);margin:18px 0 22px}
.hero.page .lede{max-width:720px}
.nearby{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nearby li,.nearby a{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;color:var(--heading);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 16px;text-decoration:none}
.nearby a{border-color:var(--red);color:var(--red-hover)}.nearby a:hover{background:var(--paper)}
.nearby svg.i{width:15px;height:15px;color:var(--red)}
.state li a{color:var(--heading);text-decoration:none}.state li a:hover{color:var(--red-hover)}
.citycard{display:block;text-decoration:none;color:inherit}
.citycard:hover{border-color:var(--red)}
.mapwrap{max-width:760px;margin:0 auto 36px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:16px}
.mapwrap svg{display:block;width:100%;height:auto}
.mapwrap .mo{fill:#e9eef0;stroke:#9aa7ad;stroke-width:2;stroke-linejoin:round}
.mapwrap .mlabel{font:400 22px/1 var(--font-display);letter-spacing:6px;fill:#b3bdc2;text-anchor:middle}
.mapwrap .hit{fill:transparent}.mapwrap .dot{fill:var(--red);stroke:#fff;stroke-width:2}.mapwrap .core{fill:#fff}
.mapwrap .lead{stroke:#6b777d;stroke-width:1}
.mapwrap text{font:700 15px var(--font-body,Barlow),sans-serif;fill:var(--heading)}
.mapwrap a{cursor:pointer}.mapwrap a:hover text,.mapwrap a:focus text{fill:var(--red-hover)}
.mapwrap a:hover .dot,.mapwrap a:focus .dot{r:9}
.mapnote{margin:8px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.cnty{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}

.cmap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);background:linear-gradient(160deg,#171b22,#0a0c10);border:1px solid var(--steel);border-radius:var(--r-card);overflow:hidden;margin:0 0 36px;box-shadow:0 18px 40px rgba(10,12,16,.25)}
.cmapsvg svg{display:block;width:100%;height:100%;max-height:680px}
.cmap .bg{fill:#0d1015}.cmap .nb{opacity:.9}.cmap .st{fill:#1a1e25;stroke:#566170;stroke-width:2;stroke-linejoin:round}
.cmap .slab{fill:#2c3a48;font-family:var(--font-display);letter-spacing:.25em;text-anchor:middle;pointer-events:none}
.cmap .zone{transform-box:fill-box;transform-origin:center;opacity:.55;transition:opacity .25s,transform .25s;animation:cmbreathe 5s ease-in-out infinite}
.cmap .zone.on{opacity:1;transform:scale(1.25)}
.cmap .pin{cursor:pointer;outline:none}
.cmap .hit{fill:transparent}
.cmap .dot{fill:var(--c);stroke:#fff;stroke-width:2;transition:r .2s}
.cmap .core{fill:#fff}
.cmap .ring{fill:var(--c);opacity:.5;transform-box:fill-box;transform-origin:center;animation:cmpulse 2.4s ease-out infinite}
.cmap .pin text{fill:#d9e1e7;font-family:var(--font-body,Barlow),sans-serif;font-weight:700;paint-order:stroke;stroke:#0d1015;stroke-width:4px;stroke-linejoin:round;transition:fill .2s}
.cmap .pin.on text{fill:#fff}.cmap .pin.on .dot{r:12;fill:#fff;stroke:var(--c);stroke-width:4}.cmap .pin.on .core{fill:var(--c)}
.cmap .pin:focus-visible .dot{stroke:var(--c);stroke-width:4}
.cside{padding:30px;color:var(--mist);display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--steel)}
.cttl{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:30px;color:#fff;margin:0}
.cchips{display:flex;flex-wrap:wrap;gap:8px}
.cchips a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--mist);border:1px solid var(--steel);border-radius:999px;padding:7px 14px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cchips .sw{width:10px;height:10px;border-radius:50%;background:var(--c)}
.cchips a.on{background:var(--c);border-color:var(--c);color:#fff}.cchips a.on .sw{background:#fff}.cchips a:hover{border-color:var(--c);color:#fff}
.cpanel{border-top:3px solid var(--c);padding-top:18px}
.cpanel .cnty{color:var(--fog)}
.cpanel h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:38px;color:#fff;margin:6px 0 10px}
.cpanel p{margin:0 0 18px;color:var(--mist);line-height:1.65}
@keyframes cmpulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.6);opacity:0}}
@keyframes cmbreathe{0%,100%{opacity:.45}50%{opacity:.7}}
@media(max-width:900px){.cmap{grid-template-columns:1fr}.cside{border-left:0;border-top:1px solid var(--steel)}}
@media(max-width:600px){.cmap .pin text{font-size:22px!important;stroke-width:6px}.cmap .slab{display:none}}
@media(prefers-reduced-motion:reduce){.cmap .ring,.cmap .zone{animation:none}}

nav.main a.tab{border:1px solid var(--red);border-radius:999px;padding:6px 16px;color:var(--white);background:rgba(225,29,38,.12)}
nav.main a.tab:hover{background:var(--red);border-color:var(--red)}
.portal{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.pcard{background:var(--graphite);border:1px solid var(--steel);border-radius:var(--r-lg);padding:28px;display:grid;gap:14px}
.prow{display:flex;gap:16px;align-items:center;background:var(--ink);border:1px solid var(--steel);border-radius:var(--r-card);padding:16px 18px}
.prow b{display:block;color:var(--white);font-size:18px}.prow span.s{color:var(--fog);font-size:14px}
.avail{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--r-card);padding:32px}
@media(max-width:900px){.portal,.avail{grid-template-columns:1fr}}

/* added by build_site.py: live form */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.formmsg.ok{background:#e8f6ee;color:#14532d}
button[disabled]{opacity:.7;cursor:wait}
/* added by build_site.py: AppFolio listings widget in the rental page's availability slot */
.afs-listings{margin:0 0 28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:16px;overflow:hidden}
