:root{
  --navy-950:#08162e;
  --navy-900:#102447;
  --navy-800:#173565;
  --navy-700:#1e4a86;
  --gold-500:#c89b3c;
  --gold-400:#ddb462;
  --gold-200:#f4e2bb;
  --sand-100:#f7f2e8;
  --mist-100:#f5f8fc;
  --mist-200:#e3ebf5;
  --mist-300:#c9d6e6;
  --text-900:#162238;
  --text-700:#53657f;
  --white:#ffffff;
  --shadow-lg:0 24px 70px rgba(8, 22, 46, 0.18);
  --shadow-md:0 14px 40px rgba(16, 36, 71, 0.12);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:12px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text-900);
  background:var(--white);
  line-height:1.6;
}

img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,
input,
select,
textarea{font:inherit}
button{cursor:pointer}

.container{
  width:min(calc(100% - 2rem), var(--max));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(16,36,71,.08);
  backdrop-filter:blur(14px);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem 0;
}

.brand{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}

.brand img{
  height:73px;
  width:auto;
  max-width:min(100%, 282px);
}

.main-nav{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
  padding:.35rem;
  margin-left:auto;
  border:1px solid rgba(16,36,71,.1);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 24px rgba(16,36,71,.06);
}

.main-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.45rem .8rem;
  border-radius:999px;
  font-weight:600;
  font-size:.92rem;
  line-height:1;
  color:var(--navy-900);
  white-space:nowrap;
}

.main-nav a:hover{color:var(--gold-500)}

.main-nav .btn,
.main-nav .btn-outline{
  min-height:42px;
  padding:.68rem 1rem;
}

.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--white);
  background:
    linear-gradient(120deg, rgba(8,22,46,.95), rgba(23,53,101,.82)),
    radial-gradient(circle at top left, rgba(221,180,98,.34), transparent 30%);
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-position:center;
  background-size:cover;
  filter:saturate(.95);
}

.hero-home::after{
  background-image:url("assets/falconcrest/Falconcrest-5.jpg");
  background-position:center 52%;
  filter:brightness(.48) saturate(.9);
}

.hero-market::after{
  background-image:url("https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=1600&q=80");
}

.hero-category::after{
  background-image:url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1600&q=80");
}

.hero-contact::after{
  background-image:url("https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=1600&q=80");
}

.hero-apply::after{
  background-image:url("https://images.unsplash.com/photo-1484154218962-a197022b5858?auto=format&fit=crop&w=1600&q=80");
}

.hero-falconcrest::after{
  background-image:url("assets/falconcrest/Falconcrest-2.jpg");
  background-position:center;
  filter:brightness(.46) saturate(.92);
}

.hero-snowy::after{
  background-image:url("assets/snowy-creek/snowy-creek-self-storage.png");
  background-position:center 54%;
  filter:brightness(.44) saturate(.82);
}

.hero-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(300px, 380px);
  gap:2rem;
  align-items:end;
  padding:7rem 0 6rem;
}

.hero-copy{
  max-width:700px;
}

.hero-simple .hero-layout{
  grid-template-columns:minmax(0, 1fr);
  align-items:start;
}

.eyebrow,
.section-label{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:1rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:700;
}

.eyebrow{color:var(--gold-200)}
.section-label{color:var(--gold-500)}
.section-label.light{color:#f5ddb3}

h1,
h2,
h3{
  margin:0 0 1rem;
  font-family:"Cormorant Garamond", Georgia, serif;
  line-height:1.04;
}

h1{font-size:clamp(3.35rem, 7vw, 5.8rem)}
h2{font-size:clamp(2.35rem, 5vw, 3.8rem); color:var(--navy-900)}
h3{font-size:1.7rem; color:var(--navy-900)}

p{margin:0 0 1rem}

.hero p{
  max-width:62ch;
  font-size:1.08rem;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 18px rgba(8,22,46,.5);
}

.hero h1,
.hero .eyebrow{
  text-shadow:0 3px 22px rgba(8,22,46,.55);
}

.hero-actions,
.cta-actions,
.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:.95rem;
  margin-top:1.8rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.9rem 1.35rem;
  border-radius:999px;
  border:1px solid transparent;
  background:var(--gold-500);
  color:#12213e;
  font-weight:700;
  transition:transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
  box-shadow:var(--shadow-md);
}

.btn:hover{transform:translateY(-1px)}

.btn-secondary,
.btn-ghost{
  background:transparent;
  color:var(--white);
  border-color:rgba(255,255,255,.5);
  box-shadow:none;
}

.btn-outline{
  background:transparent;
  color:var(--navy-900);
  border-color:rgba(16,36,71,.16);
  box-shadow:none;
}

.btn-light{
  background:var(--white);
  color:var(--navy-900);
}

.btn-block{width:100%}

.finder-card,
.surface-card,
.stat-card,
.feature-card,
.signal-card,
.market-card,
.portfolio-card,
.fact-card,
.faq-card,
.form-shell,
.success-card,
.step-card,
.gallery-card{
  background:var(--white);
  border:1px solid var(--mist-200);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}

.finder-card{
  padding:1.5rem;
  color:var(--text-900);
  align-self:stretch;
}

.finder-card h3,
.finder-card p{color:var(--text-900)}

.finder-card p{font-size:.98rem;color:var(--text-700)}

.finder-card form,
.finder-card[data-location-form]{
  display:grid;
  gap:.9rem;
}

.field{
  display:grid;
  gap:.4rem;
}

.field label{
  font-size:.9rem;
  font-weight:600;
  color:var(--navy-900);
}

.field input,
.field select,
.field textarea{
  width:100%;
  border:1px solid var(--mist-300);
  border-radius:14px;
  background:#fbfdff;
  padding:.88rem 1rem;
  color:var(--text-900);
}

.field textarea{
  min-height:132px;
  resize:vertical;
}

.field-help{
  font-size:.84rem;
  color:var(--text-700);
}

.field-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.check-row{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}

.check-row input{
  width:18px;
  height:18px;
  margin-top:.2rem;
}

.section{
  padding:5.5rem 0;
}

.section-alt{
  background:
    linear-gradient(180deg, rgba(247,242,232,.95), rgba(245,248,252,.95)),
    radial-gradient(circle at top right, rgba(221,180,98,.18), transparent 30%);
}

.section-head{
  display:grid;
  gap:.55rem;
  margin-bottom:2rem;
  max-width:720px;
}

.section-head p{
  color:var(--text-700);
  font-size:1.03rem;
}

.split-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(280px, .95fr);
  gap:1.6rem;
  align-items:stretch;
}

.copy-card,
.image-panel{
  height:100%;
}

.copy-card{
  padding:2rem;
}

.copy-card p,
.copy-card li,
.portfolio-card p,
.market-card p,
.signal-card p,
.feature-card p,
.faq-card p,
.fact-card p,
.surface-card p{
  color:var(--text-700);
}

.image-panel{
  min-height:320px;
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  color:var(--white);
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(160deg, rgba(8,22,46,.18), rgba(8,22,46,.82)),
    radial-gradient(circle at top left, rgba(221,180,98,.28), transparent 28%);
}

.image-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-position:center;
  background-size:cover;
}

.image-home::after{
  background-image:url("https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=1200&q=80");
}

.image-student::after{
  background-image:url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1200&q=80");
}

.image-fairmont::after{
  background-image:url("https://images.unsplash.com/photo-1460317442991-0ec209397118?auto=format&fit=crop&w=1200&q=80");
}

.image-clarksburg::after{
  background-image:url("https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&w=1200&q=80");
}

.image-morgantown::after{
  background-image:url("https://images.unsplash.com/photo-1462396881884-de2c07cb95ed?auto=format&fit=crop&w=1200&q=80");
}

.image-belle-vernon::after{
  background-image:url("https://images.unsplash.com/photo-1464146072230-91cabc968266?auto=format&fit=crop&w=1200&q=80");
}

.image-falconcrest::after{
  background-image:url("assets/falconcrest/Falconcrest-1-Bedroom-01312021_133740.jpg");
}

.image-panel h3{
  color:var(--white);
  margin-bottom:.4rem;
}

.grid-4,
.grid-3,
.grid-2{
  display:grid;
  gap:1.2rem;
}

.grid-4{grid-template-columns:repeat(4, minmax(0, 1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.grid-2{grid-template-columns:repeat(2, minmax(0, 1fr))}

.market-card,
.portfolio-card,
.signal-card,
.feature-card,
.faq-card,
.fact-card,
.surface-card,
.success-card{
  padding:1.55rem;
}

.market-card h3,
.portfolio-card h3,
.signal-card h3,
.feature-card h3,
.faq-card h3,
.fact-card h3{
  margin-bottom:.65rem;
}

.pill{
  display:inline-flex;
  align-items:center;
  padding:.38rem .7rem;
  margin-bottom:1rem;
  border-radius:999px;
  background:rgba(200,155,60,.14);
  color:var(--navy-900);
  font-size:.78rem;
  font-weight:700;
}

.kicker{
  margin-bottom:.85rem;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--gold-500);
}

.meta-list,
.stat-list,
.checklist{
  display:grid;
  gap:.75rem;
  margin:1.2rem 0 0;
  padding:0;
  list-style:none;
}

.meta-list li,
.stat-list li,
.checklist li{
  padding:.95rem 1rem;
  border-radius:16px;
  background:var(--mist-100);
  border:1px solid rgba(23,53,101,.08);
  color:var(--navy-900);
  font-weight:600;
}

.checklist li{
  font-weight:500;
  color:var(--text-900);
}

.checklist li::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:.7rem;
  border-radius:50%;
  background:var(--gold-500);
  vertical-align:middle;
}

.stat-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.stat-card strong{
  display:block;
  margin-bottom:.25rem;
  font-size:1.55rem;
  color:var(--navy-800);
}

.property-summary{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:1.8rem;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.photo-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.photo-card{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border:0;
  border-radius:var(--radius-sm);
  background:var(--mist-100);
  padding:0;
  color:inherit;
  text-align:left;
  box-shadow:0 8px 22px rgba(8, 22, 46, .08);
}

.photo-card-trigger{
  transition:transform .22s ease, box-shadow .22s ease;
}

.photo-card-trigger::after{
  content:"View photo";
  position:absolute;
  right:.7rem;
  bottom:.7rem;
  border-radius:999px;
  background:rgba(8, 22, 46, .82);
  padding:.32rem .65rem;
  color:var(--white);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.03em;
  opacity:0;
  transform:translateY(6px);
  transition:opacity .22s ease, transform .22s ease;
}

.photo-card-trigger:hover,
.photo-card-trigger:focus-visible{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
}

.photo-card-trigger:hover::after,
.photo-card-trigger:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}

.photo-card-trigger:focus-visible{
  outline:3px solid var(--gold-400);
  outline-offset:3px;
}

.photo-card img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}

.has-gallery-lightbox{
  overflow:hidden;
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:1rem;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility 0s linear .22s;
}

.gallery-lightbox[hidden]{
  display:none;
}

.gallery-lightbox.is-open{
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease;
}

.gallery-lightbox-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:rgba(4, 12, 27, .86);
  backdrop-filter:blur(8px);
}

.gallery-lightbox-dialog{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  grid-template-rows:minmax(0, 1fr) auto;
  align-items:center;
  column-gap:.85rem;
  width:min(1180px, 100%);
  max-height:calc(100dvh - 2rem);
  outline:0;
}

.gallery-lightbox-figure{
  grid-column:2;
  grid-row:1;
  display:grid;
  min-width:0;
  margin:0;
  gap:.8rem;
}

.gallery-lightbox-image{
  width:100%;
  height:min(68dvh, 720px);
  max-height:calc(100dvh - 10rem);
  border-radius:var(--radius-md);
  background:var(--navy-950);
  object-fit:contain;
  box-shadow:0 24px 80px rgba(0, 0, 0, .45);
}

.gallery-lightbox-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:rgba(255, 255, 255, .94);
  font-size:.9rem;
}

.gallery-lightbox-caption span:last-child{
  flex:0 0 auto;
  color:var(--gold-200);
  font-weight:700;
}

.gallery-lightbox-close,
.gallery-lightbox-nav{
  display:grid;
  place-items:center;
  border:1px solid rgba(255, 255, 255, .3);
  background:rgba(8, 22, 46, .76);
  color:var(--white);
  box-shadow:0 8px 25px rgba(0, 0, 0, .22);
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

.gallery-lightbox-close:hover,
.gallery-lightbox-close:focus-visible,
.gallery-lightbox-nav:hover,
.gallery-lightbox-nav:focus-visible{
  border-color:var(--gold-400);
  background:var(--navy-800);
  transform:translateY(-2px);
  outline:0;
}

.gallery-lightbox-close{
  position:absolute;
  top:.7rem;
  right:.7rem;
  z-index:2;
  width:2.6rem;
  height:2.6rem;
  border-radius:50%;
  font-size:1.65rem;
  line-height:1;
}

.gallery-lightbox-nav{
  grid-row:1;
  width:3.1rem;
  height:3.1rem;
  border-radius:50%;
  font-size:1.5rem;
}

.gallery-lightbox-prev{
  grid-column:1;
}

.gallery-lightbox-next{
  grid-column:3;
}

.gallery-lightbox-thumbnails{
  grid-column:1 / -1;
  grid-row:2;
  display:flex;
  justify-content:center;
  gap:.55rem;
  overflow-x:auto;
  padding:.35rem .2rem .15rem;
  scrollbar-color:rgba(255, 255, 255, .42) transparent;
}

.gallery-lightbox-thumb{
  flex:0 0 68px;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:9px;
  padding:0;
  background:var(--navy-950);
  opacity:.58;
  transition:border-color .18s ease, opacity .18s ease, transform .18s ease;
}

.gallery-lightbox-thumb:hover,
.gallery-lightbox-thumb:focus-visible,
.gallery-lightbox-thumb.is-active{
  border-color:var(--gold-400);
  opacity:1;
  outline:0;
}

.gallery-lightbox-thumb:hover,
.gallery-lightbox-thumb:focus-visible{
  transform:translateY(-2px);
}

.gallery-lightbox-thumb img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}

.floor-plan-lightbox .gallery-lightbox-image{
  background:var(--white);
}

.floor-plan-lightbox .gallery-lightbox-thumb img{
  object-fit:contain;
  background:var(--white);
}

.embed-card{
  margin-top:1rem;
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--mist-200);
  background:var(--mist-100);
}

.embed-card iframe{
  display:block;
  width:100%;
  min-height:360px;
  border:0;
}

.floor-plan-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin-top:2.7rem;
}

.floor-plan-heading h3{
  margin:.15rem 0 0;
}

.floor-plan-heading > p{
  max-width:430px;
  margin:0;
  color:var(--text-700);
}

.floor-plan-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:1rem;
}

.floor-plan-card{
  overflow:hidden;
  border:1px solid var(--mist-200);
  border-radius:var(--radius-lg);
  background:var(--white);
  box-shadow:var(--shadow-md);
}

.floor-plan-card-copy{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.25rem 1.35rem 1rem;
}

.floor-plan-card-eyebrow{
  color:var(--gold-500);
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.floor-plan-card h4{
  margin:.1rem 0 .12rem;
  color:var(--navy-900);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.85rem;
  line-height:1;
}

.floor-plan-card p{
  margin:0;
  color:var(--text-700);
}

.floor-plan-open{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:.4rem;
  border-bottom:1px solid var(--gold-500);
  color:var(--navy-800);
  font-size:.86rem;
  font-weight:800;
  transition:color .18s ease, border-color .18s ease;
}

.floor-plan-open:hover,
.floor-plan-open:focus-visible{
  border-color:var(--navy-800);
  color:var(--gold-500);
  outline:0;
}

.floor-plan-preview{
  display:grid;
  min-height:0;
  height:auto;
  aspect-ratio:4 / 3;
  place-items:center;
  overflow:hidden;
  border-top:1px solid var(--mist-200);
  background:
    linear-gradient(135deg, rgba(247, 242, 232, .84), rgba(245, 248, 252, .96));
  padding:1rem;
}

.floor-plan-preview img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  min-width:0;
  min-height:0;
  border-radius:var(--radius-sm);
  background:var(--white);
  object-fit:contain;
  box-shadow:0 8px 24px rgba(8, 22, 46, .12);
  transition:transform .24s ease, box-shadow .24s ease;
}

.floor-plan-preview:hover img,
.floor-plan-preview:focus-visible img{
  transform:scale(1.015);
  box-shadow:0 14px 30px rgba(8, 22, 46, .2);
}

.floor-plan-preview:focus-visible{
  outline:3px solid var(--gold-400);
  outline-offset:-3px;
}

.map-card{
  padding:1.6rem;
}

.top-gap{
  margin-top:1rem;
}

.coming-soon-card{
  text-align:center;
  padding:2.5rem;
}

.gallery-card{
  min-height:220px;
  padding:1.35rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    linear-gradient(165deg, rgba(245,248,252,.7), rgba(23,53,101,.12)),
    radial-gradient(circle at top left, rgba(221,180,98,.18), transparent 28%);
}

.gallery-card strong{
  color:var(--navy-900);
  font-size:1.1rem;
}

.gallery-card span{
  color:var(--text-700);
}

.process-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.step-card{
  padding:1.45rem;
}

.step-number{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  border-radius:50%;
  background:var(--navy-900);
  color:var(--white);
  font-weight:700;
}

.faq-list{
  display:grid;
  gap:1rem;
}

.faq-card h3{margin-bottom:.45rem}

.cta{
  background:
    linear-gradient(130deg, rgba(8,22,46,.98), rgba(23,53,101,.92)),
    radial-gradient(circle at top left, rgba(221,180,98,.3), transparent 30%);
  color:var(--white);
}

.cta h2,
.cta p{color:var(--white)}

.cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:4.5rem 0;
}

.form-shell{
  padding:1.7rem;
}

.form-shell h3{
  margin-bottom:.45rem;
}

.form-grid{
  display:grid;
  gap:1rem;
}

.form-grid.two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  margin-top:.5rem;
}

.form-note{
  margin-top:1rem;
  font-size:.9rem;
  color:var(--text-700);
}

.form-success{
  display:none;
}

.form-shell.is-complete form,
.form-shell.is-complete .form-intro,
.form-shell.is-complete .stepper{
  display:none;
}

.form-shell.is-complete .form-success{
  display:block;
}

.success-card{
  background:linear-gradient(180deg, #fff, #f7fbff);
}

.success-card p:last-child{
  margin-bottom:0;
}

.stepper{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin:1.3rem 0 1.2rem;
}

.step-chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.55rem .9rem;
  border-radius:999px;
  background:var(--mist-100);
  color:var(--text-700);
  font-size:.9rem;
  font-weight:700;
}

.step-chip.is-active{
  background:var(--navy-900);
  color:var(--white);
}

[data-step][hidden]{display:none}

.summary-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.summary-item{
  padding:1rem;
  border-radius:16px;
  border:1px solid var(--mist-200);
  background:var(--mist-100);
}

.summary-item span{
  display:block;
  margin-bottom:.3rem;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--text-700);
}

.contact-side{
  display:grid;
  gap:1rem;
}

.site-footer{
  background:#071428;
  color:#d7e0f0;
  padding:3.25rem 0 1.5rem;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:2rem;
}

.footer-logo{
  width:min(270px, 100%);
  max-width:100%;
  margin-bottom:1.25rem;
  filter:brightness(0) invert(1);
  opacity:.94;
}

.footer-stack{
  display:grid;
  gap:.45rem;
}

.site-footer h3{
  color:var(--white);
  margin-bottom:.75rem;
}

.site-footer a,
.site-footer p,
.site-footer li{
  color:#d7e0f0;
}

.site-footer ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.45rem;
}

.footer-bottom{
  margin-top:2rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.95rem;
}

@media (max-width: 1080px){
  .nav{
    flex-direction:column;
    align-items:flex-start;
    padding:.75rem 0 1rem;
  }

  .brand img{
    height:64px;
    max-width:min(100%, 258px);
  }

  .main-nav{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }

  .hero-layout,
  .split-layout,
  .footer-grid,
  .grid-4,
  .grid-3,
  .grid-2,
  .floor-plan-grid,
  .photo-grid,
  .gallery-grid,
  .process-grid,
  .property-summary,
  .stat-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-layout{
    align-items:start;
  }

  .grid-4 .market-card:last-child,
  .grid-4 .portfolio-card:last-child{
    grid-column:span 2;
  }
}

@media (max-width: 760px){
  .nav{
    padding:.55rem 0 .95rem;
    align-items:flex-start;
  }

  .brand img{
    height:50px;
    max-width:70vw;
  }

  .main-nav{
    gap:.25rem;
    padding:.45rem;
  }

  .hero-layout{
    grid-template-columns:1fr;
    padding:5.75rem 0 4.75rem;
  }

  .section{
    padding:4.5rem 0;
  }

  .cta-inner,
  .field-row,
  .form-grid.two,
  .summary-grid,
  .hero-actions,
  .cta-actions,
  .form-actions{
    grid-template-columns:1fr;
    flex-direction:column;
    align-items:stretch;
  }

  .split-layout,
  .footer-grid,
  .grid-4,
  .grid-3,
  .grid-2,
  .floor-plan-grid,
  .photo-grid,
  .gallery-grid,
  .process-grid,
  .property-summary,
  .stat-grid{
    grid-template-columns:1fr;
  }

  .grid-4 .market-card:last-child,
  .grid-4 .portfolio-card:last-child{
    grid-column:auto;
  }

  .floor-plan-heading,
  .floor-plan-card-copy{
    align-items:flex-start;
    flex-direction:column;
    gap:.75rem;
  }

  .floor-plan-preview{
    min-height:0;
    height:auto;
  }

  .floor-plan-preview img{
    height:auto;
  }

  .gallery-lightbox{
    padding:.65rem;
  }

  .gallery-lightbox-dialog{
    grid-template-columns:1fr;
    grid-template-rows:minmax(0, 1fr) auto;
    width:100%;
    padding:0 2.7rem;
  }

  .gallery-lightbox-figure{
    grid-column:1;
  }

  .gallery-lightbox-image{
    height:min(64dvh, 600px);
    max-height:calc(100dvh - 11rem);
    border-radius:var(--radius-sm);
  }

  .gallery-lightbox-nav{
    position:absolute;
    z-index:2;
    top:calc(50% - 1.55rem);
    width:2.75rem;
    height:2.75rem;
  }

  .gallery-lightbox-prev{
    left:.1rem;
  }

  .gallery-lightbox-next{
    right:.1rem;
  }

  .gallery-lightbox-close{
    top:.1rem;
    right:.1rem;
  }

  .gallery-lightbox-thumbnails{
    grid-column:1;
    justify-content:flex-start;
  }

  .gallery-lightbox-thumb{
    flex-basis:58px;
  }

  .finder-card,
  .copy-card,
  .image-panel,
  .form-shell,
  .market-card,
  .portfolio-card,
  .signal-card,
  .feature-card,
  .faq-card,
  .fact-card,
  .step-card,
  .success-card{
    padding:1.3rem;
  }

  h1{font-size:clamp(2.8rem, 12vw, 4.3rem)}
  h2{font-size:clamp(2rem, 9vw, 3rem)}
  h3{font-size:1.45rem}
}
