/* =====================================================================
   Cohan Properties — VERSION 2
   Same brand, elevated build.
     dark   #161820   cream #F7EFE8   white #FFFFFF
     body   #666666   tan accent #A0948A
     headlines: Libre Baskerville 700  |  body: DM Sans 400/700
   All imagery is Greg's real photography, served locally.
   Motion is deliberately subtle: one slow hero drift and gentle
   fade-ins, both disabled for prefers-reduced-motion.
   ===================================================================== */

:root{
  --dark:#161820;
  --dark-2:#0d0f14;
  --cream:#F7EFE8;
  --white:#ffffff;
  --gray:#5d5d5d;
  --tan:#A0948A;
  --tan-deep:#8a7d72;
  --line:rgba(22,24,32,.12);
  --maxw:1180px;
  --shadow-lg:0 24px 60px rgba(13,15,20,.30);
  --shadow-sm:0 10px 30px rgba(13,15,20,.12);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"DM Sans",-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16.5px;
  line-height:1.75;
  color:var(--gray);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:"Libre Baskerville",Georgia,serif;
  font-weight:700;
  color:var(--dark);
  line-height:1.22;
  margin:0 0 .5em;
}
p{margin:0 0 1.15em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;height:auto;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* gentle reveal on scroll (JS adds .in; no-JS and reduced-motion see everything) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}
.no-js .reveal{opacity:1;transform:none;}

/* ---- buttons: square corners, quiet confidence ---- */
.btn{
  display:inline-block;
  font-family:"DM Sans",sans-serif;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.8rem;
  padding:16px 34px;
  border:2px solid var(--dark);
  background:var(--dark);
  color:var(--white);
  cursor:pointer;
  transition:background .2s,color .2s;
  text-align:center;
}
.btn:hover{background:transparent;color:var(--dark);}
.btn--light{background:var(--white);color:var(--dark);border-color:var(--white);}
.btn--light:hover{background:transparent;color:var(--white);}
.btn--outline{background:transparent;color:var(--dark);}
.btn--outline:hover{background:var(--dark);color:var(--white);}
.btn--ghost{background:transparent;color:var(--white);border-color:var(--white);}
.btn--ghost:hover{background:var(--white);color:var(--dark);}

/* =========================== TOP BAR + HEADER =========================== */
.topbar{background:var(--dark-2);color:var(--white);font-size:.88rem;position:sticky;top:0;z-index:70;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:42px;gap:14px;}
.topbar .tb-note{color:rgba(255,255,255,.65);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar a{font-weight:700;letter-spacing:.03em;white-space:nowrap;}
.topbar a:hover{color:var(--tan);}

.site-header{
  position:sticky;top:42px;z-index:60;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:96px;}
.site-header .logo img{height:72px;width:auto;}
.main-nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;align-items:center;}
.main-nav a{
  color:var(--dark);font-weight:500;font-size:.93rem;
  letter-spacing:.02em;padding:6px 0;border-bottom:2px solid transparent;
}
.main-nav a:hover{border-bottom-color:var(--tan);}
.main-nav .nav-cta{
  border:2px solid var(--dark);padding:10px 20px;font-weight:700;
  text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;
}
.main-nav .nav-cta:hover{background:var(--dark);color:var(--white);border-bottom-color:var(--dark);}
.nav-toggle{display:none;background:none;border:0;color:var(--dark);font-size:1.7rem;cursor:pointer;padding:4px 8px;}

/* =========================== HERO =========================== */
/* A slow drift across Greg's real drone shot. Reads like a flyover,
   stays calm. One animation, 36s, and off for reduced motion. */
.hero{
  position:relative;
  color:var(--white);
  overflow:hidden;
  background:var(--dark-2);
}
.hero-bg{
  position:absolute;inset:-6% -8%;
  background:url("../images/aerial-2-hero.jpg") center 60%/cover no-repeat;
  animation:heroDrift 36s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes heroDrift{
  from{transform:scale(1.02) translateX(-1.6%);}
  to{transform:scale(1.10) translateX(1.6%);}
}
@media (prefers-reduced-motion:reduce){
  .hero-bg{animation:none;inset:0;}
}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(13,15,20,.78) 0%, rgba(13,15,20,.50) 48%, rgba(13,15,20,.24) 100%);}
.hero .container{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center;
  padding-top:30px;padding-bottom:38px;
}
.hero-kicker{
  display:inline-block;font-weight:700;text-transform:uppercase;
  letter-spacing:.2em;font-size:.73rem;color:var(--tan);margin:0 0 10px;
}
.hero h1{color:var(--white);font-size:2.6rem;margin:0 0 .35em;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero p.lead{font-size:1.12rem;color:rgba(255,255,255,.93);max-width:540px;margin-bottom:16px;}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 4px;padding:0;list-style:none;}
.hero-chips li{
  font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--white);border:1px solid rgba(255,255,255,.35);
  padding:7px 14px;background:rgba(13,15,20,.35);backdrop-filter:blur(2px);
}

/* hero offer card */
/* scroll-margin keeps the card top visible below the sticky header when we scroll to it */
.offer-card{background:var(--white);color:var(--dark);padding:18px 22px;box-shadow:var(--shadow-lg);scroll-margin-top:150px;}
.offer-card h2{font-size:1.25rem;margin-bottom:.2em;}
.offer-card .oc-sub{font-size:.85rem;color:var(--gray);margin-bottom:10px;}
.offer-card label{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dark);margin:0 0 4px;}
.offer-card input,.offer-card textarea{
  width:100%;padding:9px 12px;margin-bottom:7px;
  border:1px solid #d9d2c8;background:var(--cream);font-family:inherit;font-size:.95rem;color:var(--dark);
}
.offer-card input:focus,.offer-card textarea:focus{outline:2px solid var(--tan);outline-offset:0;}
.offer-card textarea{min-height:40px;resize:vertical;}
.offer-card .form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.offer-card .btn{width:100%;padding:12px 30px;}
.form-note{font-size:.74rem;color:var(--tan-deep);margin:8px 0 0;line-height:1.5;}
/* honeypot field, invisible to people */
.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;}
/* thank-you message shown after a successful submit */
.form-thanks{background:var(--cream);border-left:3px solid var(--tan);padding:18px 20px;font-size:1rem;color:var(--dark);margin:6px 0 2px;}

/* =========================== GOT OUR LETTER BAND =========================== */
.letter-band{background:var(--cream);border-bottom:1px solid #e7e0d4;}
.letter-band .container{
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding-top:16px;padding-bottom:16px;flex-wrap:wrap;text-align:center;
}
.letter-band .lb-icon{font-family:"Libre Baskerville",Georgia,serif;font-size:1.3rem;color:var(--tan-deep);}
.letter-band p{margin:0;font-size:.98rem;color:var(--dark);}
.letter-band a{font-weight:700;border-bottom:2px solid var(--tan);white-space:nowrap;}
.letter-band a:hover{color:var(--tan-deep);}

/* =========================== TRUST STATS =========================== */
.stats{background:var(--dark);color:var(--white);padding:48px 0;}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat{display:flex;flex-direction:column;gap:8px;}
.stat .num{font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:2.2rem;color:var(--white);line-height:1;}
.stat .lbl{font-size:.78rem;letter-spacing:.07em;color:var(--tan);text-transform:uppercase;}

/* =========================== SECTIONS =========================== */
section{padding:88px 0;}
.section-cream{background:var(--cream);}
.section-dark{background:var(--dark);color:rgba(255,255,255,.9);}
.section-dark h2,.section-dark h3{color:var(--white);}
.eyebrow{
  font-family:"DM Sans",sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.2em;font-size:.76rem;color:var(--tan-deep);margin-bottom:12px;
}
.section-dark .eyebrow{color:var(--tan);}
.section-head{max-width:780px;margin:0 auto 54px;text-align:center;}
.section-head h2{font-size:2.4rem;}
.section-head .sub{font-size:1.05rem;}

/* ---- How it works ---- */
.how{position:relative;overflow:hidden;}
.how .tx-mark{position:absolute;top:44px;left:50%;transform:translateX(-50%);width:360px;opacity:.09;pointer-events:none;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative;z-index:2;}
.step{text-align:center;background:var(--white);padding:38px 28px 30px;box-shadow:var(--shadow-sm);}
.step .step-no{
  font-family:"Libre Baskerville",Georgia,serif;font-size:.9rem;color:var(--tan-deep);
  letter-spacing:.15em;display:block;margin-bottom:14px;
}
.step img{width:70px;height:70px;margin:0 auto 18px;}
.step h3{font-size:1.22rem;margin-bottom:.4em;}
.step p{font-size:.96rem;margin:0;}

/* ---- Family / deal directly ---- */
.owner .container{max-width:1120px;}
.owner-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center;}
.owner-photo img{width:100%;box-shadow:var(--shadow-lg);}
.owner-caption{margin:14px 0 0;text-align:center;font-family:"Libre Baskerville",Georgia,serif;font-size:1rem;color:var(--dark);}
.owner-copy h2{font-size:2.2rem;}
.owner-copy p{font-size:1.06rem;}
.owner-sign{
  font-family:"Libre Baskerville",Georgia,serif;font-style:italic;
  color:var(--dark);font-size:1.05rem;margin-top:6px;
}

/* ---- Comparison table ---- */
.compare-table{width:100%;border-collapse:collapse;max-width:900px;margin:0 auto;background:var(--white);box-shadow:var(--shadow-sm);}
.compare-table caption{caption-side:bottom;font-size:.8rem;color:var(--tan-deep);padding:12px 6px 0;text-align:center;}
.compare-table th,.compare-table td{padding:15px 20px;border-bottom:1px solid #efe9df;text-align:center;font-size:.97rem;}
.compare-table td:first-child,.compare-table th:first-child{text-align:left;color:var(--dark);font-weight:500;}
.compare-table thead th{
  font-family:"Libre Baskerville",Georgia,serif;color:var(--dark);font-size:1rem;
  border-bottom:2px solid var(--dark);
}
.compare-table thead th.us{background:var(--dark);color:var(--white);}
.compare-table td.yes{color:#2e6b3f;font-weight:700;}
.compare-table td.no{color:#a05252;font-weight:700;}
.compare-table tbody tr:last-child td{border-bottom:0;}

/* ---- Real buyer checklist (anti-scam) ---- */
.legit{background:var(--dark);color:rgba(255,255,255,.88);}
.legit .section-head{margin-bottom:44px;}
.legit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 26px;max-width:960px;margin:0 auto;}
.legit-item{
  display:flex;gap:16px;align-items:flex-start;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  padding:22px 24px;
}
.legit-item .check{
  flex:0 0 auto;width:26px;height:26px;margin-top:2px;
  border:2px solid var(--tan);color:var(--tan);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;
}
.legit-item h3{color:var(--white);font-size:1.05rem;margin:0 0 .3em;font-family:"DM Sans",sans-serif;font-weight:700;}
.legit-item p{margin:0;font-size:.93rem;color:rgba(255,255,255,.78);}
.legit-note{max-width:760px;margin:36px auto 0;text-align:center;color:var(--tan);font-style:italic;}
.legit-note a{border-bottom:1px solid var(--tan);}

/* ---- Situations ---- */
.situations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.sit-card{background:var(--white);padding:30px 28px;box-shadow:var(--shadow-sm);border-top:3px solid var(--tan);}
.sit-card h3{font-size:1.12rem;margin-bottom:.4em;}
.sit-card p{font-size:.94rem;margin:0;}
.sit-more{max-width:760px;margin:38px auto 0;text-align:center;}

/* ---- Testimonials ---- */
.testimonials .section-head{margin-bottom:44px;}
.t-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.t-card{margin:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:28px 30px;position:relative;}
.t-card::before{
  content:"\201C";font-family:"Libre Baskerville",Georgia,serif;
  position:absolute;top:6px;left:18px;font-size:3.4rem;color:var(--tan);opacity:.45;line-height:1;
}
.t-card p{color:rgba(255,255,255,.92);font-size:1.01rem;font-style:italic;margin:14px 0 14px;line-height:1.65;}
.t-card cite{color:var(--tan);font-style:normal;font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;}

/* ---- FAQ accordion ---- */
.faq-list{max-width:860px;margin:0 auto;}
.faq-item{border-bottom:1px solid #e2dccf;}
.faq-item summary{
  cursor:pointer;list-style:none;position:relative;
  padding:22px 44px 22px 0;
  font-family:"Libre Baskerville",Georgia,serif;font-weight:700;
  color:var(--dark);font-size:1.12rem;line-height:1.35;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
  font-family:"DM Sans",sans-serif;font-weight:400;font-size:1.6rem;color:var(--tan-deep);
  transition:transform .2s;
}
.faq-item[open] summary::after{content:"\2212";}
.faq-item .faq-a{padding:0 0 24px;max-width:800px;}
.faq-item .faq-a p{margin-bottom:.6em;}
.faq-item .faq-a p:last-child{margin-bottom:0;}

/* ---- Service area ---- */
.area .area-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center;}
.area .tx{width:min(300px,80%);margin:0 auto;opacity:.92;}
.area h2{font-size:2.2rem;}
.area-cities{columns:3;column-gap:30px;list-style:none;margin:18px 0 0;padding:0;font-size:.95rem;}
.area-cities li{padding:3px 0;break-inside:avoid;}
.area-note{margin-top:22px;color:var(--tan-deep);font-style:italic;}

/* ---- About band ---- */
.about-band{
  position:relative;color:var(--white);
  background:#000 url("../images/building-lit-bright.jpg") center/cover no-repeat;
}
.about-band::before{content:"";position:absolute;inset:0;background:rgba(13,15,20,.55);}
.about-band .container{position:relative;z-index:2;max-width:840px;text-align:center;}
.about-band h2{color:var(--white);font-size:2.2rem;}
.about-band p{color:rgba(255,255,255,.9);}

/* ---- Better way / two column with photo ---- */
.better .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.better .photo{min-height:400px;background:#000 url("../images/aerial-1-bright.jpg") center 35%/cover no-repeat;box-shadow:var(--shadow-sm);}
.better h2{font-size:2.2rem;}

/* ---- Inner page banner ---- */
.page-head{
  position:relative;color:var(--white);text-align:center;
  background:var(--dark-2);overflow:hidden;
}
.page-head .ph-bg{
  position:absolute;inset:0;
  background:url("../images/aerial-2-hero.jpg") center 60%/cover no-repeat;
}
.page-head::after{content:"";position:absolute;inset:0;background:rgba(13,15,20,.62);}
.page-head .container{position:relative;z-index:2;padding-top:76px;padding-bottom:76px;}
.page-head .eyebrow{color:var(--tan);}
.page-head h1{color:var(--white);font-size:2.7rem;margin:0;}

/* ---- Why choose list (About page) ---- */
.why-list{max-width:840px;margin:0 auto;list-style:none;padding:0;}
.why-list li{
  position:relative;padding:18px 0 18px 36px;border-bottom:1px solid #e2dccf;
  font-size:1.05rem;color:var(--dark);
}
.why-list li:last-child{border-bottom:0;}
.why-list li::before{
  content:"";position:absolute;left:0;top:26px;width:14px;height:14px;
  background:var(--tan);
}

/* ---- Legal copy (Privacy) ---- */
.legal .container{max-width:820px;}
.legal h2{font-size:1.4rem;margin:34px 0 .5em;}
.legal p,.legal li{font-size:1.02rem;}
.legal ul{padding-left:20px;margin:0 0 1.1em;}
.legal li{margin-bottom:8px;}
.legal .updated{color:var(--tan-deep);font-style:italic;margin-bottom:30px;}

/* =========================== FOOTER =========================== */
.site-footer{background:var(--dark);color:rgba(255,255,255,.75);padding:60px 0 32px;text-align:center;}
.site-footer .logo img{height:54px;width:auto;margin:0 auto 22px;}
.site-footer .contact a{display:block;color:var(--white);font-weight:700;font-size:1.05rem;margin:4px 0;}
.site-footer .contact a:hover{color:var(--tan);}
.site-footer .bbb{margin:24px auto 18px;width:150px;}
.footer-cities{font-size:.85rem;color:rgba(255,255,255,.6);margin:18px auto 0;max-width:760px;line-height:1.8;}
.site-footer .fine{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.8;margin-top:14px;}
.site-footer .fine a{color:rgba(255,255,255,.8);text-decoration:underline;}

/* =========================== RESPONSIVE =========================== */
@media (max-width:920px){
  .topbar .tb-note{display:none;}
  .site-header .container{height:80px;}
  .site-header .logo img{height:64px;}
  .main-nav{
    position:absolute;top:80px;left:0;right:0;background:var(--white);
    border-top:1px solid var(--line);display:none;
    box-shadow:0 14px 28px rgba(0,0,0,.14);
  }
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column;gap:0;padding:6px 24px 18px;align-items:stretch;}
  .main-nav a{display:block;padding:13px 0;border-bottom:1px solid rgba(22,24,32,.07);}
  .main-nav .nav-cta{border:0;padding:13px 0;text-align:left;}
  .nav-toggle{display:block;}
  .hero .container{grid-template-columns:1fr;gap:24px;padding-top:22px;padding-bottom:44px;min-height:0;}
  .hero h1{font-size:2.15rem;}
  .hero p.lead{font-size:1.08rem;}
  section{padding:60px 0;}
  .section-head{margin-bottom:36px;}
  .section-head h2{font-size:1.95rem;}
  .steps{grid-template-columns:1fr;gap:22px;}
  .how .tx-mark{width:240px;top:20px;}
  .owner-grid{grid-template-columns:1fr;gap:28px;}
  .owner-photo{order:-1;max-width:560px;margin:0 auto;}
  .owner-copy h2{font-size:1.8rem;}
  .compare-table th,.compare-table td{padding:12px 10px;font-size:.9rem;}
  .legit-grid{grid-template-columns:1fr;}
  .situations-grid{grid-template-columns:1fr;gap:18px;}
  .t-grid{grid-template-columns:1fr;}
  .area .area-grid{grid-template-columns:1fr;gap:28px;}
  .area-cities{columns:2;}
  .better .grid{grid-template-columns:1fr;gap:30px;}
  .better .photo{min-height:240px;order:-1;}
  .stats .container{grid-template-columns:repeat(2,1fr);gap:30px 16px;}
  .stat .num{font-size:1.9rem;}
  .page-head h1{font-size:2rem;}
  .page-head .container{padding-top:52px;padding-bottom:52px;}
}

/* ===================== MOBILE STICKY CALL / TEXT BAR ===================== */
.mobile-callbar{display:none;}
@media (max-width:920px){
  .mobile-callbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;
    box-shadow:0 -6px 20px rgba(0,0,0,.25);
  }
  .mobile-callbar a{
    flex:1;text-align:center;padding:15px 0;font-weight:700;
    letter-spacing:.05em;text-transform:uppercase;font-size:.95rem;
  }
  .mobile-callbar .cb-call{background:var(--dark);color:var(--white);}
  .mobile-callbar .cb-text{background:var(--cream);color:var(--dark);border-left:1px solid rgba(0,0,0,.12);}
  body{padding-bottom:54px;}
  .site-footer{padding-bottom:46px;}
}

/* phones: hide the hero chips so the offer form sits higher on first load
   (the same trust points repeat in the stats band just below) */
@media (max-width:600px){
  .hero-chips{display:none;}
  .hero p.lead{margin-bottom:4px;}
}

/* very small phones */
@media (max-width:430px){
  .hero h1{font-size:2.05rem;}
  .section-head h2,.better h2,.about-band h2{font-size:1.7rem;}
  .container{padding:0 16px;}
  .site-header .logo img{height:54px;}
  .hero-chips li{font-size:.7rem;padding:6px 10px;}
}
