/* ============================================
   ALTA BISHOP — V2 "LEDGER" DESIGN SYSTEM
   Palette: Deep navy, warm brass/copper accent, ivory
   Type: Fraunces (display serif) + Inter (body/UI) + Space Mono (data)
   ============================================ */

:root{
  --navy-950:#0A1220;
  --navy-900:#0D1B2E;
  --navy-800:#132540;
  --navy-700:#1C3556;
  --ivory:#F3EEE4;
  --ivory-dim:#D9D2C2;
  --brass:#C08A3E;
  --brass-bright:#E0A94F;
  --line:rgba(243,238,228,0.14);
  --line-soft:rgba(243,238,228,0.08);
  --muted:#9BA9C0;

  --display:'Fraunces', Georgia, serif;
  --body:'Inter', -apple-system, sans-serif;
  --mono:'Space Mono', monospace;

  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--body);
  background:var(--navy-950);
  color:var(--ivory);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

::selection{background:var(--brass);color:var(--navy-950);}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}

/* ---------- Header ---------- */
#site-header{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  background:rgba(10,18,32,0.72);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-soft);
  transition:background .3s ease, border-color .3s ease;
}
.header-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:18px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
#contact .section-head
{
    margin-bottom: 40px;
}
.brand-mark{
  width:36px;height:36px;
  border:1px solid var(--brass);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:1px;
  color:var(--brass-bright);
}
.brand-word{
  font-family:var(--display);
  font-size:1.2rem;
  font-weight:500;
  letter-spacing:0.3px;
}
#main-nav{
  display:flex;
  align-items:center;
  gap:36px;
}
a#contact-us {
    padding: 8px 18px !important;
}
#main-nav a{
  font-size:0.88rem;
  color:var(--ivory-dim);
  letter-spacing:0.2px;
  position:relative;
  padding:4px 0;
  transition:color .2s ease;
}
#main-nav a:hover{ color:var(--ivory); }
#main-nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0; bottom:-2px;
  width:0; height:1px;
  background:var(--brass-bright);
  transition:width .25s ease;
}
#main-nav a:not(.nav-cta):hover::after{ width:100%; }
.nav-cta{
  border:1px solid var(--brass);
  color:var(--brass-bright) !important;
  padding:8px 18px;
  border-radius:2px;
  font-weight:500;
}
.nav-cta:hover{
  background:var(--brass);
  color:var(--navy-950) !important;
}

#nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
#nav-toggle span{
  width:22px;height:2px;
  background:var(--ivory);
  transition:transform .25s ease, opacity .25s ease;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:560px;
  max-height:92vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero-img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.hero-scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(10,18,32,0.15) 0%, rgba(10,18,32,0.45) 55%, var(--navy-950) 100%),
    linear-gradient(90deg, rgba(10,18,32,0.75) 0%, rgba(10,18,32,0.15) 55%);
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:var(--maxw);
  margin:0 auto;
  padding:180px 32px 64px;
  width:100%;
}
.eyebrow{
  font-family:var(--mono);
  font-size:0.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--brass-bright);
  margin-bottom:22px;
}
.hero h1{
  font-family:var(--display);
  font-size:clamp(3.2rem, 8vw, 6.4rem);
  font-weight:400;
  letter-spacing:-1px;
  line-height:0.98;
  margin-bottom:20px;
  max-width:14ch;
}
.hero-address{
  font-size:clamp(1rem, 1.6vw, 1.2rem);
  color:var(--ivory-dim);
  font-weight:300;
  margin-bottom:52px;
  max-width:40ch;
}

.hero-ledger{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px 0;
  margin-bottom:44px;
  max-width:760px;
}
.ledger-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ledger-item .lv{
  font-family:var(--display);
  font-size:1.7rem;
  color:var(--brass-bright);
  font-weight:500;
}
.ledger-item .ll{
  font-size:0.72rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--muted);
}
.ledger-rule{
  width:1px;
  height:34px;
  background:var(--line);
}

.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  display:inline-block;
  padding:15px 30px;
  font-size:0.92rem;
  font-weight:500;
  letter-spacing:0.3px;
  border-radius:2px;
  transition:all .22s ease;
  cursor:pointer;
  border:1px solid transparent;
}
.btn-primary{
  background:var(--brass);
  color:var(--navy-950);
}
.btn-primary:hover{ background:var(--brass-bright); transform:translateY(-1px); }
.btn-ghost{
  border-color:var(--line);
  color:var(--ivory);
}
.btn-ghost:hover{ border-color:var(--brass-bright); color:var(--brass-bright); }

/* ---------- Section shell ---------- */
.section{
  max-width:var(--maxw);
  margin:0 auto;
  padding:32px 32px;
}
.contact-section{
  padding-bottom:clamp(80px,12vw,130px);
}
.section-head{
  max-width:720px;
  margin-bottom:64px;
}
.kicker{
  font-family:var(--mono);
  font-size:0.78rem;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--brass-bright);
  margin-bottom:16px;
}
.section-head h2{
  font-family:var(--display);
  font-size:clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight:400;
  letter-spacing:-0.5px;
  margin-bottom:18px;
}
.section-lede{
  font-size:1.1rem;
  color:var(--ivory-dim);
  font-weight:300;
  max-width:62ch;
}

.subsection{
  padding:64px 0;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.subsection.alt{
  background:linear-gradient(180deg, transparent, rgba(255,255,255,0.015), transparent);
}
.subhead{
  font-family:var(--display);
  font-size:1.7rem;
  font-weight:500;
  display:flex;
  align-items:baseline;
  gap:16px;
  margin-bottom:28px;
}
.subhead .tag{
  font-family:var(--mono);
  font-size:0.85rem;
  color:var(--brass-bright);
  font-weight:400;
}
.subhead-address{
  font-family:var(--mono);
  font-size:0.85rem;
  color:var(--muted);
  margin-top:-16px;
  margin-bottom:28px;
}
.body-copy{
  font-size:1rem;
  color:var(--ivory-dim);
  font-weight:300;
  max-width:76ch;
  line-height:1.75;
}
.body-copy.small{ font-size:0.9rem; margin-bottom:24px; }
.fine-print{
  font-family:var(--mono);
  font-size:0.72rem;
  color:var(--muted);
  margin-top:18px;
}

/* ---------- Term block (Executive Summary + ledger table) ---------- */
.term-block{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
.term-copy h3{
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:500;
  margin-bottom:20px;
}
.term-copy p{
  color:var(--ivory-dim);
  font-weight:300;
  margin-bottom:16px;
  line-height:1.75;
}
.term-table{
  width:100%;
  border-collapse:collapse;
  background:var(--navy-900);
  border:1px solid var(--line);
}
.term-table caption{
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--navy-950);
  background:var(--brass);
  padding:12px 20px;
  text-align:left;
  caption-side:top;
}
.term-table tr th, .term-table tr td{
  padding:11px 20px;
  font-size:0.9rem;
  border-bottom:1px solid var(--line-soft);
  text-align:left;
  font-weight:400;
}
.term-table th{ color:var(--ivory-dim); font-weight:300; }
.term-table td{ text-align:right; font-family:var(--mono); color:var(--ivory); }
.term-table tr.row-rule th, .term-table tr.row-rule td{
  border-top:1px solid var(--line);
  padding-top:16px;
}
.term-table tr.row-highlight th, .term-table tr.row-highlight td{
  color:var(--brass-bright);
  font-weight:600;
}
.term-table tr:last-child th, .term-table tr:last-child td{ border-bottom:none; }

/* ---------- Highlight cards ---------- */
.highlight-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  margin-bottom:40px;
}
.highlight-card{
  background:var(--navy-950);
  padding:32px;
}
.highlight-card h4{
  font-family:var(--display);
  font-size:1.15rem;
  font-weight:500;
  margin-bottom:10px;
  color:var(--brass-bright);
}
.highlight-card p{
  font-size:0.92rem;
  color:var(--ivory-dim);
  font-weight:300;
  line-height:1.6;
}
.check-list li{
  position:relative;
  padding-left:26px;
  margin-bottom:12px;
  font-size:0.95rem;
  color:var(--ivory-dim);
  font-weight:300;
}
.check-list li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--brass-bright);
}

/* ---------- Risk grid ---------- */
.risk-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px;
}
.risk-card h4{
  font-family:var(--display);
  font-size:1.1rem;
  font-weight:500;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.risk-card li{
  font-size:0.92rem;
  color:var(--ivory-dim);
  font-weight:300;
  margin-bottom:10px;
  padding-left:16px;
  position:relative;
}
.risk-card li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:5px;height:5px;
  background:var(--brass);
  border-radius:50%;
}

/* ---------- Property split (image + specs) ---------- */
.prop-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:start;
}
.prop-image{
  position:relative;
  width:100%;
  padding-bottom:75%;
  overflow:hidden;
}
.prop-image.square{ padding-bottom:100%; }
.prop-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ---------- Property spec grid ---------- */
.spec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.spec{
  padding:26px 24px;
  background:var(--navy-950);
}
.spec-v{
  display:block;
  font-family:var(--display);
  font-size:1.5rem;
  color:var(--brass-bright);
  margin-bottom:6px;
}
.spec-l{
  display:block;
  font-size:0.75rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--muted);
}

/* ---------- Interior split (image + feature lists) ---------- */
.interior-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}

/* ---------- Location map embed ---------- */
.map-embed{
  position:relative;
  width:100%;
  padding-bottom:34%;
  min-height:320px;
  overflow:hidden;
  margin-bottom:32px;
  border:1px solid var(--line);
  background:var(--navy-900);
}
.map-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  filter:grayscale(0.15) contrast(1.02);
}

/* ---------- Floor plan cards ---------- */
.plan-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.plan-card{
  background:var(--navy-950);
}
.plan-image{
  position:relative;
  width:100%;
  padding-bottom:66%;
  background:var(--navy-900);
}
.plan-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.plan-copy{
  padding:22px 20px;
}
.plan-copy h4{
  font-family:var(--mono);
  font-size:0.8rem;
  letter-spacing:1px;
  color:var(--brass-bright);
  margin-bottom:10px;
  text-transform:uppercase;
}
.plan-copy p{
  font-size:0.85rem;
  color:var(--ivory-dim);
  font-weight:300;
  line-height:1.6;
}

/* ---------- Elevation strip ---------- */
.elevation-strip{
  margin-top:32px;
  border:1px solid var(--line);
}
.elev-floor{
  padding:20px 28px;
  border-bottom:1px solid var(--line-soft);
  font-family:var(--mono);
  font-size:0.85rem;
  color:var(--ivory-dim);
  position:relative;
}
.elev-floor:last-child{ border-bottom:none; }
.elev-floor::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--brass);
  opacity:0.5;
}

/* ---------- Interior columns ---------- */
.interior-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  max-width:640px;
}
.feature-list li{
  padding:12px 0;
  border-bottom:1px solid var(--line-soft);
  font-size:0.95rem;
  color:var(--ivory-dim);
  font-weight:300;
}

/* ---------- Location cards ---------- */
.location-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}
.location-card h4{
  font-family:var(--display);
  font-size:1.1rem;
  font-weight:500;
  color:var(--brass-bright);
  margin-bottom:12px;
}
.location-card p{
  font-size:0.9rem;
  color:var(--ivory-dim);
  font-weight:300;
  line-height:1.65;
}

/* ---------- Demographics ---------- */
.demo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  margin-bottom:40px;
}
.demo-stat{
  background:var(--navy-950);
  padding:28px 24px;
}
.demo-stat .dv{
  display:block;
  font-family:var(--display);
  font-size:1.9rem;
  color:var(--brass-bright);
  margin-bottom:8px;
}
.demo-stat .dl{
  display:block;
  font-size:0.78rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.employers{
  margin-top:32px;
}
.employers-label{
  font-family:var(--mono);
  font-size:0.75rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:16px;
}
.employer-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.employer-chips span{
  border:1px solid var(--line);
  padding:8px 16px;
  font-size:0.82rem;
  color:var(--ivory-dim);
  border-radius:20px;
}

/* ---------- Timeline (Business Plan) ---------- */
.timeline{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  margin-bottom:80px;
}
.timeline-item{
  background:var(--navy-950);
  padding:32px 26px;
}
.timeline-year{
  font-family:var(--mono);
  font-size:0.85rem;
  color:var(--brass-bright);
  margin-bottom:10px;
}
.timeline-item h4{
  font-family:var(--display);
  font-size:1.3rem;
  font-weight:500;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.timeline-item li{
  font-size:0.86rem;
  color:var(--ivory-dim);
  font-weight:300;
  margin-bottom:12px;
  line-height:1.55;
}
.timeline-item li strong{ color:var(--ivory); font-weight:600; }

/* ---------- Expense Analysis ---------- */
.expense-wrap{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:48px;
  margin-bottom:40px;
  align-items:start;
}
.expense-table{
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--line);
}
.expense-table th, .expense-table td{
  padding:14px 18px;
  font-size:0.88rem;
  border-bottom:1px solid var(--line-soft);
  text-align:left;
}
.expense-table thead th{
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--brass-bright);
  background:var(--navy-900);
}
.expense-table td{ font-family:var(--mono); color:var(--ivory-dim); }
.expense-table td:first-child{ font-family:var(--body); color:var(--ivory); }

.expense-callout{
  background:var(--navy-900);
  border:1px solid var(--line);
  padding:32px;
}
.callout-figure{
  font-family:var(--display);
  font-size:2rem;
  color:var(--brass-bright);
  margin-bottom:8px;
}
.callout-figure span{
  font-size:1rem;
  color:var(--muted);
  font-family:var(--body);
}
.callout-label{
  font-size:0.82rem;
  color:var(--ivory-dim);
  margin-bottom:20px;
  line-height:1.5;
}
.expense-callout ul li{
  font-size:0.85rem;
  color:var(--ivory-dim);
  font-weight:300;
  padding-left:16px;
  position:relative;
  margin-bottom:10px;
}
.expense-callout ul li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--brass-bright);
}

/* ---------- Sale comparables ---------- */
.comp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.comp-card{
  background:var(--navy-950);
  padding:26px 22px;
}
.comp-card h4{
  font-size:0.85rem;
  font-weight:500;
  color:var(--ivory-dim);
  margin-bottom:14px;
  min-height:2.6em;
}
.comp-price{
  font-family:var(--display);
  font-size:1.4rem;
  color:var(--brass-bright);
  margin-bottom:8px;
}
.comp-detail{
  font-family:var(--mono);
  font-size:0.78rem;
  color:var(--muted);
  margin-bottom:10px;
}
.comp-status{
  font-size:0.72rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  color:var(--muted);
  border-top:1px solid var(--line-soft);
  padding-top:10px;
}

/* ---------- About ---------- */
.about-copy{
  max-width:76ch;
  margin-bottom:20px;
  padding-bottom:32px;
}
.about-copy p{
  color:var(--ivory-dim);
  font-weight:300;
  margin-bottom:18px;
  line-height:1.8;
  font-size:1.02rem;
}
.about-copy strong{ color:var(--ivory); font-weight:600; }

.team-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.team-avatar{
  width:80px;height:80px;
  border-radius:50%;
  border:1px solid var(--brass);
  overflow:hidden;
  margin-bottom:20px;
}
.team-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-card h4{
  font-family:var(--display);
  font-size:1.3rem;
  font-weight:500;
}
.team-role{
  font-family:var(--mono);
  font-size:0.78rem;
  color:var(--brass-bright);
  margin-bottom:16px;
  margin-top:2px;
}
.team-card p:not(.team-role){
  font-size:0.92rem;
  color:var(--ivory-dim);
  font-weight:300;
  line-height:1.7;
}

/* ---------- Contact ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:56px;
  max-width:760px;
}
.contact-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:24px 26px;
  border:1px solid var(--line);
  transition:border-color .2s ease, background .2s ease;
}
.contact-card:hover{
  border-color:var(--brass);
  background:var(--navy-900);
}
.contact-label{
  font-family:var(--mono);
  font-size:0.72rem;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--muted);
}
.contact-value{
  font-size:1rem;
  color:var(--brass-bright);
}

.contact-form{
  max-width:640px;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.contact-form input, .contact-form textarea{
  width:100%;
  padding:15px 16px;
  background:var(--navy-900);
  border:1px solid var(--line);
  color:var(--ivory);
  font-family:var(--body);
  font-size:0.95rem;
  border-radius:2px;
}
.contact-form textarea{
  margin-bottom:20px;
  resize:vertical;
}
.contact-form input::placeholder, .contact-form textarea::placeholder{
  color:var(--muted);
}
.contact-form input:focus, .contact-form textarea:focus{
  outline:none;
  border-color:var(--brass-bright);
}
.form-confirm{
  max-width:640px;
  padding:28px;
  border:1px solid var(--brass);
  background:var(--navy-900);
}
.form-confirm-static{ display:block; }
.form-confirm .thanks{
  font-family:var(--display);
  font-size:1.2rem;
  margin-bottom:8px;
  color:var(--brass-bright);
}
.form-confirm p:not(.thanks){
  font-size:0.92rem;
  color:var(--ivory-dim);
}
.form-error{
  max-width:640px;
  padding:14px 18px;
  margin-bottom:20px;
  border:1px solid #C0604F;
  background:rgba(192,96,79,0.12);
  color:#E8A99B;
  font-size:0.9rem;
}
.field-error{
  font-size:0.8rem;
  color:#E8A99B;
  margin:-12px 0 12px;
}
.contact-form input.input-invalid,
.contact-form textarea.input-invalid{
  border-color:#C0604F;
}

/* ---------- Disclaimer ---------- */
.disclaimer{
  background:var(--navy-900);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:80px 32px;
}
.disclaimer h3{
  max-width:var(--maxw);
  margin:0 auto 28px;
  font-family:var(--display);
  font-size:1.6rem;
  font-weight:500;
  text-align:center;
}
.disclaimer p{
  max-width:900px;
  margin:0 auto 18px;
  font-size:0.85rem;
  color:var(--muted);
  font-weight:300;
  line-height:1.7;
}
.disclaimer-notes{
  max-width:900px;
  margin:28px auto 0;
  padding-top:24px;
  border-top:1px solid var(--line-soft);
}
.disclaimer-notes li{
  font-size:0.8rem;
  color:var(--muted);
  font-weight:300;
  margin-bottom:10px;
  padding-left:16px;
  position:relative;
}
.disclaimer-notes li::before{
  content:"*";
  position:absolute;
  left:0;
  color:var(--brass);
}

/* ---------- Footer ---------- */
#site-footer{
  padding:56px 32px 40px;
}
.footer-inner{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line-soft);
  margin-bottom:24px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.footer-name{
  font-family:var(--display);
  font-size:1.05rem;
}
.footer-sub{
  font-size:0.78rem;
  color:var(--muted);
  margin-top:2px;
}
.footer-nav{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
}
.footer-nav a{
  font-size:0.85rem;
  color:var(--ivory-dim);
}
.footer-nav a:hover{ color:var(--brass-bright); }
.footer-copy{
  max-width:var(--maxw);
  margin:0 auto;
  font-size:0.75rem;
  color:var(--muted);
  text-align:center;
}

/* ---------- Scroll reveal ---------- */
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px){
  .term-block, .expense-wrap, .prop-split, .interior-split{ grid-template-columns:1fr; }
  .highlight-grid, .risk-grid, .location-grid, .team-grid{ grid-template-columns:1fr 1fr; }
  .spec-grid{ grid-template-columns:repeat(2,1fr); }
  .plan-grid, .timeline, .comp-grid{ grid-template-columns:1fr 1fr; }
  .demo-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 860px){
  #main-nav{
    position:fixed;
    top:73px; left:0; right:0;
    background:var(--navy-950);
    flex-direction:column;
    align-items:flex-start;
    padding:28px 32px;
    gap:22px;
    border-bottom:1px solid var(--line);
    transform:translateY(-120%);
    opacity:0;
    transition:transform .3s ease, opacity .3s ease;
  }
  #main-nav.open{ transform:translateY(0); opacity:1; }
  #nav-toggle{ display:flex; }
  #nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  #nav-toggle.open span:nth-child(2){ opacity:0; }
  #nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .section{ padding:80px 24px; }
  .hero-content{ padding:120px 24px 80px; }
  .hero-ledger{ gap:18px; }
  .ledger-rule{ display:none; }
}

@media (max-width: 640px){
  .highlight-grid, .risk-grid, .location-grid, .team-grid,
  .plan-grid, .timeline, .comp-grid, .demo-grid, .interior-columns,
  .form-row{ grid-template-columns:1fr; }
  .spec-grid{ grid-template-columns:1fr 1fr; }
  .hero h1{ font-size:2.6rem; }
}