/*
Theme Name: Mills Team GEO Child
Theme URI: https://www.millsteamre.com/
Description: GEO/AEO-optimized Divi child theme for The Mills Team - NextHome The Agency Group. Includes a custom one-page home template, shared header/footer, sitewide schema, and the full design system. Child of Divi.
Author: SouthSeas Marketing
Author URI: https://www.millsteamre.com/
Template: Divi
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: millsteam-geo-child
*/

/* =========================================================================
   All site styling lives in this stylesheet. It is enqueued sitewide
   (see functions.php), so the header, footer, home template, and every
   interior page share one consistent design system.
   ========================================================================= */

:root{
    --ink:#14252e;          /* deep coastal ink */
    --ink-2:#1d3440;
    --cream:#f6f1e7;        /* warm sand */
    --cream-2:#efe7d6;
    --orange:#d9591f;       /* NextHome-style burnt orange */
    --orange-dk:#b8470f;
    --gold:#c08a3e;
    --sage:#6f8a72;
    --line:rgba(20,37,46,.12);
    --shadow:0 18px 50px -22px rgba(20,37,46,.45);
    --maxw:1120px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:78px}
  body{
    font-family:"Mulish",-apple-system,sans-serif;
    color:var(--ink);background:var(--cream);font-size:18px;
    line-height:1.65;-webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;line-height:1.12;font-weight:600;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{font-family:"Mulish";font-weight:800;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--orange)}
  section{scroll-margin-top:80px}

  /* skip link for a11y */
  .skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200}
  .skip:focus{left:8px;top:8px}

  /* ===== STICKY ANCHOR NAV (replaces traditional menu) ===== */
  header.bar{
    position:sticky;top:0;z-index:100;
    background:rgba(20,37,46,.96);backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .bar .wrap{display:flex;align-items:center;gap:20px;height:64px}
  .brand{display:flex;flex-direction:column;line-height:1}
  .brand-text{display:flex;flex-direction:column;line-height:1}
  .brand b{font-family:"Fraunces";color:#fff;font-size:1.18rem;font-weight:600;letter-spacing:.01em}
  .brand-sub{color:var(--gold);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;margin-top:3px}
  nav.anchors{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
  nav.anchors a{
    color:#d7dee2;font-weight:600;font-size:.82rem;padding:8px 11px;border-radius:8px;
    transition:.2s;white-space:nowrap;
  }
  nav.anchors a:hover{color:#fff;background:rgba(255,255,255,.09)}
  .bar .call{background:var(--orange);color:#fff;padding:9px 15px;border-radius:9px;font-weight:800;font-size:.82rem;white-space:nowrap}
  .bar .call:hover{background:var(--orange-dk)}
  .menu-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:8px 12px;font-size:1rem;cursor:pointer}

  @media(max-width:920px){
    nav.anchors{display:none;order:3;width:100%;flex-direction:column;background:var(--ink-2);padding:8px;border-radius:12px;margin:0 0 12px}
    nav.anchors.open{display:flex}
    .bar .wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;gap:12px}
    .menu-toggle{display:block}
    .bar .call{margin-left:0}
  }

  /* ===== HERO ===== */
  .hero{position:relative;background:
      radial-gradient(900px 500px at 80% -10%, rgba(217,89,31,.16), transparent 60%),
      linear-gradient(160deg,var(--ink) 0%, var(--ink-2) 60%, #24414e 100%);
      color:var(--cream);padding:84px 0 72px;overflow:hidden}
  .hero:before{content:"";position:absolute;inset:0;opacity:.05;
    background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px);background-size:22px 22px}
  .hero .wrap{position:relative;z-index:2}

  /* Mills Team logo, top-left under the bar, on every template page (2x prior size) */
  .page-logo-img{height:84px;width:auto;display:block;margin-bottom:24px;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
  @media(max-width:620px){.page-logo-img{height:64px;margin-bottom:16px}}

  /* Roll-over tooltips for credential acronyms */
  .tip{position:relative;border-bottom:1px dotted currentColor;cursor:help;font-style:normal}
  .tip:focus{outline:none}
  .tip-box{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);
    background:var(--ink);color:#fff;padding:10px 12px;border-radius:8px;width:240px;
    font-size:.8rem;line-height:1.45;font-weight:500;letter-spacing:normal;text-transform:none;
    box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.18s;z-index:90;pointer-events:none}
  .tip-box::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);
    border:6px solid transparent;border-top-color:var(--ink)}
  .tip:hover .tip-box,.tip:focus .tip-box{opacity:1;visibility:visible}
  @media(max-width:620px){.tip-box{width:200px;left:0;transform:none}.tip-box::after{left:24px}}

  /* Team triangle (Jim top, Kellie left, Debra right) — circular, shadowed, no frame */
  .team-triangle{display:flex;flex-direction:column;align-items:center;gap:14px}
  .team-triangle .tt-row{display:flex;gap:34px;justify-content:center}
  .team-triangle figure{margin:0;text-align:center}
  .team-triangle img{width:180px;height:180px;border-radius:50%;object-fit:cover;
    box-shadow:0 16px 34px -8px rgba(20,37,46,.45);background:#fff;display:block}
  .team-triangle figcaption{margin-top:10px;font-family:"Fraunces",serif;font-size:1.05rem;color:var(--ink)}
  .team-triangle figcaption span{display:block;font-family:"Mulish",sans-serif;font-size:.78rem;
    font-weight:800;letter-spacing:.04em;color:var(--orange);text-transform:uppercase}
  @media(max-width:860px){.team-triangle img{width:140px;height:140px}.team-triangle .tt-row{gap:22px}}
  @media(max-width:380px){.team-triangle img{width:120px;height:120px}}
  .hero h1{font-size:clamp(2.6rem,6vw,4.6rem);color:#fff;max-width:14ch;font-weight:600}
  .hero h1 em{font-style:italic;color:var(--gold)}
  .hero .lede{font-size:clamp(1.05rem,2vw,1.25rem);max-width:52ch;margin:22px 0 6px;color:#d9e1e5}
  .tagline{font-family:"Fraunces";font-style:italic;color:var(--gold);font-size:1.15rem;margin-top:18px}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
  .btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:.95rem;padding:15px 24px;border-radius:12px;transition:.2s;cursor:pointer;border:none}
  .btn.primary{background:var(--orange);color:#fff}
  .btn.primary:hover{background:var(--orange-dk);transform:translateY(-2px)}
  .btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
  .btn.ghost:hover{background:rgba(255,255,255,.1)}
  .stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;border-top:1px solid rgba(255,255,255,.16);padding-top:30px}
  .stat b{display:block;font-family:"Fraunces";font-size:clamp(1.8rem,4vw,2.6rem);color:#fff;font-weight:600}
  .stat span{font-size:.8rem;letter-spacing:.04em;color:#aebac0;text-transform:uppercase;font-weight:700}
  @media(max-width:640px){.stat-strip{grid-template-columns:repeat(2,1fr);gap:24px}}

  /* ===== GENERIC SECTIONS ===== */
  .pad{padding:78px 0}
  .pad.cream2{background:var(--cream-2)}
  .pad.ink{background:var(--ink);color:var(--cream)}
  .sec-head{max-width:62ch;margin-bottom:42px}
  .sec-head h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-top:10px}
  .sec-head p{margin-top:14px;color:#243039;font-size:1.05rem}
  .pad.ink .sec-head p{color:#c4ced3}

  .two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:start}
  @media(max-width:860px){.two-col{grid-template-columns:1fr;gap:34px}}
  .prose p{margin-bottom:16px;color:#243039;font-size:1.05rem}
  .pad.ink .prose p{color:#cdd6da}
  .pull{background:#fff;border-left:4px solid var(--orange);padding:24px 26px;border-radius:0 14px 14px 0;box-shadow:var(--shadow)}
  .pull h3{font-size:1.3rem}
  .pull .big{font-family:"Fraunces";font-size:3.4rem;color:var(--orange);font-weight:700;line-height:1}

  /* services cards */
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:860px){.grid3{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.grid3{grid-template-columns:1fr}}
  .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:.25s}
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .card .ic{width:46px;height:46px;border-radius:12px;background:var(--cream-2);display:grid;place-items:center;font-size:1.4rem;margin-bottom:16px}
  .card h3{font-size:1.25rem;margin-bottom:8px}
  .card p{color:#243039;font-size:.96rem}

  /* areas chips */
  .chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
  .chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-weight:700;font-size:.95rem;transition:.2s;cursor:default}
  .chip:hover{background:var(--orange);color:#fff;border-color:var(--orange)}

  /* team / accordion bios */
  .team{display:flex;flex-wrap:wrap;gap:18px;justify-content:center}
  .team>.acc{flex:1 1 calc(50% - 9px);max-width:calc(50% - 9px)}
  @media(max-width:760px){.team>.acc{flex-basis:100%;max-width:100%}}
  .acc{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
  .acc-btn{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit}
  .acc-btn:hover{background:var(--cream)}
  .acc-btn .who b{font-family:"Fraunces";font-size:1.3rem;display:block}
  .acc-btn .who span{font-size:.86rem;color:var(--orange);font-weight:800;letter-spacing:.04em}
  .acc-btn .who small{display:block;color:#4a5b63;font-weight:600;font-size:.84rem;margin-top:2px}
  .acc-btn .plus{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:1.2rem;transition:.3s}
  .acc[open] .plus,.acc.open .plus{transform:rotate(45deg);background:var(--orange)}
  .acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
  .acc-body-inner{padding:0 24px 24px;color:#243039;font-size:.98rem}
  .acc-body-inner p{margin-bottom:12px}
  .acc-body-inner a.tel{display:inline-block;margin-top:6px;font-weight:800;color:var(--orange)}

  /* reviews */
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media(max-width:860px){.rev-grid{grid-template-columns:1fr}}
  .review{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:26px}
  .pad:not(.ink) .review{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
  .stars{color:var(--gold);letter-spacing:3px;font-size:1.05rem;margin-bottom:12px}
  .review p{font-style:italic;font-family:"Fraunces";font-size:1.02rem;color:#dfe6e9}
  .pad:not(.ink) .review p{color:#243039}
  .review .by{margin-top:14px;font-weight:800;font-size:.9rem;color:var(--gold)}
  .pad:not(.ink) .review .by{color:var(--orange)}

  .rating-banner{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:38px}
  .rating-banner .num{font-family:"Fraunces";font-size:3.4rem;color:var(--gold);font-weight:700;line-height:1}
  .rating-banner .meta b{color:#fff;font-size:1.05rem}
  .rating-banner .meta span{display:block;color:#aebac0;font-size:.85rem}

  /* partners */
  .partners{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
  .partners>.partner{flex:1 1 calc(50% - 8px);max-width:calc(50% - 8px)}
  @media(max-width:680px){.partners>.partner{flex-basis:100%;max-width:100%}}
  .partner{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
  .partner b{font-family:"Fraunces";font-size:1.1rem}
  .partner span{display:block;color:var(--orange);font-weight:700;font-size:.82rem;margin:2px 0 6px}
  .partner small{color:#2f414a}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
  .contact-form{margin-top:4rem}  /* aligns form top with bottom of title's first line; tune to taste */
  @media(max-width:760px){.contact-grid{grid-template-columns:1fr}.contact-form{margin-top:0}}
  .cinfo a{display:block}
  .cinfo .row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .cinfo .row .lab{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:800}
  .cinfo .row .val{font-family:"Fraunces";font-size:1.25rem;color:#fff}
  form .f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
  form label{font-size:.82rem;font-weight:700;color:#c4ced3}
  form input,form textarea,form select{background:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:12px 14px;color:var(--ink);font-family:inherit;font-size:1rem}
  form input::placeholder,form textarea::placeholder{color:#2f414a}
  form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(217,89,31,.18)}

  /* legal accordions / sitemap */
  .legal-acc{border-top:1px solid var(--line)}
  .legal-acc .acc-btn{padding:20px 0}
  .legal-acc .acc-btn .who b{font-size:1.12rem}
  .legal-acc .acc-body-inner{padding:0 0 22px;font-size:.92rem;color:#243039}
  .legal-acc .acc-body-inner h4{margin:14px 0 6px;font-size:1rem}
  .sitemap-cols{columns:3;column-gap:30px}
  @media(max-width:640px){.sitemap-cols{columns:1}}
  .sitemap-cols a{display:block;padding:7px 0;font-weight:600;color:var(--ink);border-bottom:1px dotted var(--line)}
  .sitemap-cols a:hover{color:var(--orange)}

  /* footer */
  footer.site{background:var(--ink);color:#aebac0;padding:54px 0 30px;border-top:4px solid var(--orange)}
  .foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:30px}
  .foot-brand b{font-family:"Fraunces";color:#fff;font-size:1.4rem;display:block}
  .socials{display:flex;gap:12px;margin-top:14px}
  .socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;font-weight:800;font-size:.8rem;transition:.2s}
  .socials a:hover{background:var(--orange)}
  .foot-note{font-size:.8rem;line-height:1.7;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
  .foot-note .fair{color:#cfd7db;font-weight:600}
  .badge-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:.78rem;color:#8c9aa1}

/* --- WordPress nav menu normalisation (keeps theme menu looking like the anchor nav) --- */
nav.anchors ul{display:flex;gap:4px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
nav.anchors li{list-style:none}
@media(max-width:920px){nav.anchors ul{flex-direction:column;width:100%}}

/* =========================================================================
   Footer logos & trusted-partner row
   ========================================================================= */
/* Mills Team logo — above the tagline in the right column */
.foot-logo{display:block;max-width:200px;height:auto;margin:0 auto 14px;opacity:.95}

/* NextHome logo — under the Contact button */
.foot-nexthome{display:block;height:34px;width:auto;margin-top:16px}

/* Trusted local partners — stacked under the social icons */
.footer-partners{margin-top:30px;display:block}
.footer-partners .lbl{
  display:block;margin-bottom:16px;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--gold);
}
.footer-partners .partner-logos{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:flex-start}
.footer-partners .partner-logos a{display:inline-flex;align-items:center}
.footer-partners .partner-logos img{
  height:55px;width:auto;opacity:.8;transition:opacity .2s;
}
.footer-partners .partner-logos a:hover img{opacity:1}
/* Christian fish symbol, centered in the footer values block */
.foot-fish{display:block;height:34px;width:auto;margin:0 auto 12px;opacity:.9}

@media(max-width:620px){
  .footer-partners .partner-logos{gap:20px}
  .footer-partners .partner-logos img{height:46px}
}

/* =========================================================================
   Contact page — map embed
   ========================================================================= */
.map-embed{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);min-height:380px}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:760px){.map-embed{min-height:300px;margin-bottom:24px}}

/* =========================================================================
   About page — image frames & agent thumbnails
   ========================================================================= */
.media-frame{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:var(--cream-2);aspect-ratio:4/3}
.media-frame.portrait{aspect-ratio:3/4}
.media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.agent-thumb{aspect-ratio:1/1;border-radius:14px;overflow:hidden;margin-bottom:14px;background:var(--cream-2)}
.agent-thumb img{width:100%;height:100%;object-fit:cover;display:block}
a.card{color:inherit}
a.card h3{color:var(--ink)}
@media(max-width:860px){.media-frame,.media-frame.portrait{aspect-ratio:16/10;margin-top:8px}}


/* =========================================================================
   Batch revisions
   ========================================================================= */
/* (1) Mark Weeks (Weeks Law Firm) logo 15% larger */
.footer-partners .partner-logos a.wk-logo img{height:63px}
@media(max-width:620px){.footer-partners .partner-logos a.wk-logo img{height:52px}}

/* (3) Footer NextHome logo = 80% of the (full-width) contact button, centered */
.foot-right .btn.primary{display:block;width:100%;text-align:center;box-sizing:border-box}
.foot-nexthome{display:block;width:100%;height:auto;margin:16px auto 0}

/* (7) Trusted-partner cards clickable */
a.partner{color:inherit;text-decoration:none;display:block;transition:.25s}
a.partner:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--orange)}

/* (5) keep small label text readable (>=14px) */
.acc-btn .who small{font-size:.9rem}
.chip{font-size:1rem}

/* =========================================================================
   Sell-in-45: comparison + programs + service checklists
   ========================================================================= */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.compare{grid-template-columns:1fr}}
.compare .col{border-radius:16px;padding:28px}
.compare .trad{background:#fff;border:1px solid var(--line)}
.compare .mills{background:var(--ink);color:var(--cream);box-shadow:var(--shadow)}
.compare h3{font-family:"Fraunces",serif;font-size:1.35rem;margin-bottom:14px}
.compare .mills h3{color:#fff}
.compare ul{list-style:none;margin:0;padding:0}
.compare li{padding:8px 0 8px 28px;position:relative;font-size:1.02rem}
.compare .trad li{color:#243039}
.compare .trad li::before{content:"\2715";position:absolute;left:0;color:#b04a3a;font-weight:800}
.compare .mills li::before{content:"\2713";position:absolute;left:0;color:var(--gold);font-weight:800}

.program-if{list-style:none;padding:0;margin:10px 0 0}
.program-if li{padding:5px 0 5px 22px;position:relative;font-size:.95rem;color:#243039}
.program-if li::before{content:"\2192";position:absolute;left:0;color:var(--orange);font-weight:800}

.svc-list{columns:2;column-gap:34px;list-style:none;padding:0;margin:8px 0 0}
@media(max-width:620px){.svc-list{columns:1}}
.svc-list li{padding:6px 0 6px 26px;position:relative;break-inside:avoid;font-size:1rem;color:#243039}
.svc-list li::before{content:"\2713";position:absolute;left:0;color:var(--orange);font-weight:800}

/* =========================================================================
   Tabs — reveal one section at a time (Meet the Team)
   ========================================================================= */
.tabs-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.tab-btn{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 22px;
  font-weight:800;font-size:.95rem;cursor:pointer;font-family:inherit;color:var(--ink);transition:.2s}
.tab-btn:hover{border-color:var(--orange);color:var(--orange)}
.tab-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:tabIn .3s ease}
@keyframes tabIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.provider-meta{color:#243039;font-size:.95rem}
.provider-meta strong{color:var(--ink)}
.agent-block{margin-bottom:14px}

/* =========================================================================
   Meet-the-Team revisions
   ========================================================================= */
/* Reduce agent headshots by 50% on the team page */
.agent-block .media-frame.portrait{max-width:50%}
@media(max-width:760px){.agent-block .media-frame.portrait{max-width:60%}}

/* Round headshot in the lower-right corner of each provider card */
.tab-panel .card{position:relative;padding-bottom:80px}
.tab-panel .card-headshot{position:absolute;right:16px;bottom:16px;width:64px;height:64px;
  border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 6px 16px rgba(20,37,46,.3)}

/* Tab buttons stand out with shadow */
.tab-btn{box-shadow:0 4px 12px rgba(20,37,46,.12)}
.tab-btn:hover{box-shadow:0 8px 20px rgba(20,37,46,.18)}
.tab-btn.active{box-shadow:0 8px 22px rgba(217,89,31,.38)}

/* =========================================================================
   Sell-in-45 hero with beach image
   ========================================================================= */
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.hero-split .hero-img{border-radius:18px;box-shadow:0 22px 55px -18px rgba(0,0,0,.55);
  width:100%;height:100%;max-height:400px;object-fit:cover;display:block}
@media(max-width:820px){.hero-split{grid-template-columns:1fr}.hero-split .hero-img{max-height:280px;margin-top:8px}}

/* =========================================================================
   Home: agent accordion headshots + Recently Sold moving slideshow
   ========================================================================= */
/* Round headshot on the team accordion cards */
.team .acc-btn{gap:14px}
.team .who{flex:1}
.acc-headshot{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;background:#fff;
  box-shadow:0 4px 12px rgba(20,37,46,.22)}
@media(max-width:520px){.acc-headshot{width:48px;height:48px}}

/* Recently Sold marquee */
.sold-marquee{overflow:hidden;position:relative;margin-top:6px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sold-track{display:flex;gap:20px;width:max-content;animation:soldscroll 90s linear infinite}
.sold-marquee:hover .sold-track{animation-play-state:paused}
.sold-card{flex:none;width:280px}
.sold-card .frame{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;
  background:#243039;box-shadow:0 14px 32px -12px rgba(0,0,0,.55)}
.sold-card .frame img{width:100%;height:100%;object-fit:cover;display:block}
.sold-card .badge{position:absolute;top:10px;left:10px;background:var(--orange);color:#fff;
  font-weight:800;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.sold-card .addr{margin-top:10px;font-weight:700;font-size:.95rem;color:#eef2f4}
@keyframes soldscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.sold-track{animation:none}.sold-marquee{overflow-x:auto}}
@media(max-width:620px){.sold-card{width:220px}}

/* =========================================================================
   FIX: Meet-the-Team "Our Agents" headshots cropping on iPad LANDSCAPE only.
   Scope = touch device (hover:none + pointer:coarse) + landscape + iPad widths
   (1024–1366px). Excludes desktops (pointer:fine), phones (<1024px), and iPad
   portrait. On these devices, shrink the portrait and show it uncropped.
   ========================================================================= */
@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:1024px) and (max-width:1366px){
  .agent-block .media-frame.portrait{max-width:240px;aspect-ratio:auto;background:transparent}
  .agent-block .media-frame.portrait img{height:auto;object-fit:contain}
}

/* Service Providers: lift each trade card with a shadow so they stand out */
.sp-shadow{box-shadow:0 10px 30px -12px rgba(20,37,46,.30);border-color:transparent}
.sp-shadow:hover{transform:translateY(-4px);box-shadow:0 18px 42px -14px rgba(20,37,46,.40)}
@media (prefers-reduced-motion:reduce){.sp-shadow:hover{transform:none}}

/* About: align team-triangle headshots to the top so heads aren't cropped */
.team-triangle img{object-position:center top}

/* Meet the Team – Our Agents: more breathing room between stacked agents */
#tab-agents .agent-block{margin-bottom:56px}
@media(max-width:760px){#tab-agents .agent-block{margin-bottom:80px}}
