/* Look: modeled on the layout and feel of ogroup.com (condensed uppercase headings, full-width
   hero band, thin rule with a short heavy end, rounded photos, rounded buttons with a plus). Colors, photos
   and words are Aubre's own. To undo the type change, set --font-display back to 'Bodoni Moda'. */
/* Shared styles for the builderseyestrategy.com content pages (about, areas, track record, FAQ, investors, relocation, library).
   Tokens match index.html and the four funnel pages. Source: Agent-OS/11-Brand-System/11-Visual-Identity.md. */
:root{
  --surface:#F6F1F1;
  --ink:#151513;
  --accent:#666666;
  --action:#000000;
  --panel:#FFFFFF;
  --panel-dark:#151513;
  --on-dark:#F6F1F1;
  --line:#E3DDD5;
  --font-display:'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-label:'Montserrat', Arial, sans-serif;
  --font-body:'Work Sans', -apple-system, sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--surface); color:var(--ink); font-family:var(--font-body); font-size:17px; line-height:1.6;}
img{max-width:100%; display:block;}
a{color:var(--ink);}
.wrap{max-width:1040px; margin:0 auto; padding:0 16px;}
section{padding:72px 0;}
h1,h2,h3{font-family:var(--font-display); font-weight:600; line-height:1.02; letter-spacing:.015em; text-transform:uppercase;}
h1{font-size:clamp(44px, 11vw, 84px); margin-bottom:20px;}
h2{font-size:clamp(32px, 7vw, 52px); margin-bottom:18px;}
h3{font-size:26px; margin:28px 0 8px;}
section .wrap > .eyebrow:first-child::before{content:""; display:block; height:3px; margin-bottom:22px; background:linear-gradient(var(--ink),var(--ink)) left center/100% 1px no-repeat, linear-gradient(var(--ink),var(--ink)) right center/22% 3px no-repeat;}
.invert .wrap > .eyebrow:first-child::before,.hero-band .wrap .eyebrow::before{background:linear-gradient(var(--on-dark),var(--on-dark)) left center/100% 1px no-repeat, linear-gradient(var(--on-dark),var(--on-dark)) right center/22% 3px no-repeat;}
p{margin-bottom:16px;}
p:last-child{margin-bottom:0;}
ul{margin:0 0 16px 22px;}
li{margin-bottom:6px;}
.eyebrow{font-family:var(--font-display); font-size:16px; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; display:block;}
.lede{font-size:20px; max-width:640px;}
img.round, .round-photo{border-radius:28px;}
p, li{max-width:760px;}

/* Header */
.site-head{background:var(--panel-dark); border-bottom:none;}
.site-head .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; padding-bottom:14px;}
.brand{font-family:var(--font-display); font-weight:500; font-size:22px; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; color:var(--on-dark); white-space:nowrap; line-height:1.1;}
.brand small{display:block; font-family:var(--font-display); font-size:11px; letter-spacing:.38em; text-transform:uppercase; color:#B8B4A9; font-weight:500;}
.nav{display:flex; flex-wrap:wrap; gap:0 18px; list-style:none; margin:0;}
.nav li{margin:0; position:relative;}
/* Dropdown groups: open on hover or keyboard focus; on touch screens the first tap opens (see the script in each page). */
.nav .has-sub > a::after{content:"\25BE"; font-size:11px; letter-spacing:0; margin-left:7px;}
.nav .sub{display:none; position:absolute; top:100%; left:-16px; min-width:210px; z-index:30; list-style:none; margin:0; padding:10px 16px 12px; background:var(--panel-dark); border-top:1px solid #3A3A36; box-shadow:0 10px 24px rgba(0,0,0,.35);}
.nav .sub li{margin:0; max-width:none;}
.nav .sub a{display:block; font-size:14px; letter-spacing:.22em; padding:8px 0; white-space:nowrap;}
.nav .has-sub:hover > .sub,.nav .has-sub:focus-within > .sub,.nav .has-sub.open > .sub{display:block;}
.nav .has-sub.is-current > a{color:#fff;}
.nav > li:nth-last-child(-n+2) > .sub{left:auto; right:-16px;}
.nav a{font-family:var(--font-display); font-size:15px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; text-decoration:none; color:#B8B4A9; padding:8px 0; display:inline-block;}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;}
.site-head nav{min-width:0; flex:0 1 auto; max-width:100%;}
/* Seven menu items fit on one row beside the brand on a laptop; on narrower screens the brand sits above the menu and the menu wraps. */
@media (max-width:1060px){ .site-head .wrap{flex-direction:column; align-items:flex-start; gap:6px;} .site-head nav{width:100%;} }
@media (max-width:640px){ .nav{gap:0 14px;} .nav a{font-size:13px; letter-spacing:.2em; padding:6px 0;} }

/* Buttons */
.btn{display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; text-align:left; background:var(--action); color:var(--surface); font-family:var(--font-display); font-weight:500; font-size:18px; letter-spacing:.3em; text-transform:uppercase; padding:17px 26px; border-radius:0 16px 0 16px; text-decoration:none; min-height:48px; border:none; cursor:pointer;}
.btn::after{content:"+"; font-size:30px; font-weight:300; letter-spacing:0; line-height:1;}
.btn:active{opacity:.85;}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--ink);}
.btn-sub a{letter-spacing:0;}
.invert .btn{background:var(--on-dark); color:var(--ink);}
.btn-sub{font-size:14px; color:var(--accent); text-align:center; margin-top:10px;}

/* Panels and cards */
.card{background:var(--panel); border:1px solid var(--line); border-radius:24px; padding:32px;}
.grid{display:grid; grid-template-columns:1fr; gap:16px;}
.invert{background:var(--panel-dark); color:var(--on-dark);}
.invert .eyebrow{color:#B8B4A9;}
.invert h2,.invert h3{color:var(--on-dark);}
.invert a{color:var(--on-dark);}
.check-list{list-style:none; margin-left:0;}
.check-list li{position:relative; padding-left:30px; margin-bottom:14px;}
.check-list li::before{content:"✓"; position:absolute; left:0; top:0; font-family:var(--font-label); font-weight:700;}

/* Stats */
.stats{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:8px 0 0;}
.stat{background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:22px; border-radius:20px;}
.stat b{display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(34px, 7vw, 46px); line-height:1.1;}
.stat span{font-family:var(--font-label); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent);}
.source{font-size:13px; color:var(--accent); margin-top:12px;}
.stats.four{grid-template-columns:1fr 1fr;}
@media (min-width:900px){ .stats.four{grid-template-columns:repeat(4,1fr);} }
.stats.four .stat span{display:block; margin-top:6px;}
.stats.four .stat b{font-size:clamp(26px, 2.7vw, 34px);}
@media (min-width:900px){ .stats.four .stat b{white-space:nowrap;} }
/* Phones: a dropdown opens under the whole menu, never off the edge of the screen. */
@media (max-width:640px){
  .nav{position:relative;}
  .nav li{position:static;}
  .nav .sub,.nav > li:nth-last-child(-n+2) > .sub{left:0; right:0; top:100%; min-width:0; width:auto;}
}

/* Quotes */
blockquote{border-left:3px solid var(--ink); padding:4px 0 4px 18px; margin:0 0 24px; font-size:18px;}
blockquote cite{display:block; font-style:normal; font-family:var(--font-label); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-top:8px;}

/* Tables */
.table-scroll{overflow-x:auto; margin:8px 0 0;}
table{width:100%; border-collapse:collapse; font-size:15px; background:var(--panel);}
th,td{padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top;}
th{font-family:var(--font-label); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--accent);}

/* Area index and FAQ */
.chips{display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:16px 0 0;}
.chips a{display:inline-block; border:1px solid var(--line); background:var(--panel); border-radius:999px; padding:7px 14px; font-family:var(--font-label); font-size:12px; font-weight:700; letter-spacing:.04em; text-decoration:none;}
.area{border-top:1px solid var(--line); padding-top:36px; margin-top:36px; scroll-margin-top:90px;}
.area .look{background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:18px 20px; margin-top:12px;}
.area .look b{font-family:var(--font-label); font-size:12px; letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:6px;}
details{background:var(--panel); border:1px solid var(--line); border-radius:20px; margin-bottom:12px;}
summary{cursor:pointer; padding:20px 22px; font-family:var(--font-display); font-weight:600; font-size:24px; letter-spacing:.04em; text-transform:uppercase; list-style:none;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+"; float:right; font-family:var(--font-label);}
details[open] summary::after{content:"–";}
details .answer{padding:0 20px 20px;}

/* Footer */
footer{padding:48px 0; text-align:center; border-top:1px solid var(--line); font-family:var(--font-label); font-size:13px; color:var(--accent);}
footer p{margin-bottom:8px;}

/* Home hero band */
.hero-band{background:var(--panel-dark); color:var(--on-dark); padding:0; position:relative; overflow:hidden; isolation:isolate;}
.hero-embed{position:absolute; top:50%; left:50%; width:100vw; height:56.25vw; min-height:100%; min-width:177.78vh; transform:translate(-50%,-50%); border:0; z-index:-2; pointer-events:none;}
.hero-band.has-video::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(21,21,19,.82) 0%, rgba(21,21,19,.55) 60%, rgba(21,21,19,.35) 100%);}
@media (prefers-reduced-motion: reduce){ .hero-embed{display:none;} }
.hero-band .wrap{display:grid; grid-template-columns:1fr; gap:32px; padding-top:56px; padding-bottom:56px; align-items:center;}
.hero-band h1{color:var(--on-dark);}
.hero-band .eyebrow{color:#B8B4A9;}
.hero-band .eyebrow::before{content:""; display:block; height:3px; margin-bottom:22px;}
.hero-band .lede{color:var(--on-dark); opacity:.92;}
.hero-band .btn{background:var(--on-dark); color:var(--ink); max-width:360px;}
.hero-band .hero-img{width:100%; max-width:380px; aspect-ratio:4/5; object-fit:cover; border-radius:28px;}
.hero-band .hero-img.has-bg{background-size:cover; background-position:center;}
@media (min-width:640px){
  .hero-band .wrap{grid-template-columns:1.4fr 1fr; padding-top:96px; padding-bottom:96px;}
}
@media (min-width:640px){
  .grid-2{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:repeat(4, 1fr);}
  .btn{width:auto; display:inline-flex; min-width:300px;}
}

/* Calculators (shared by the calculator pages) */
.calc-grid{display:grid; grid-template-columns:1fr; gap:16px;}
.calc-field label{display:block; font-family:var(--font-display); font-size:16px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:6px;}
.calc-field input{width:100%; font-family:var(--font-body); font-size:17px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); min-height:48px;}
.calc-field textarea{width:100%; font-family:var(--font-body); font-size:17px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink);}
.calc-field textarea:focus{outline:2px solid var(--ink); outline-offset:1px;}
.calc-field input:focus{outline:2px solid var(--ink); outline-offset:1px;}
.calc-field small{display:block; font-size:13px; color:var(--accent); margin-top:4px;}
.calc-results{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.invert .stat{color:var(--ink);} .invert .stat b{color:var(--ink);} .invert .stat b.neg{color:#9b1c1c;}
.invert .card{color:var(--ink);} .invert .card td{color:var(--ink);}
.neg{color:#9b1c1c;}
.calc-note{font-size:14px; color:var(--accent);}
@media (min-width:640px){ .calc-grid{grid-template-columns:1fr 1fr;} .calc-results{grid-template-columns:repeat(3, 1fr);} }

/* Blog index: card grid */
.blog-hero{background:#ECE7E6; padding:72px 0 56px;}
.blog-hero h1{margin-bottom:16px;}
.post-grid{display:grid; grid-template-columns:1fr; gap:24px;}
.post-card{display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); border-top:6px solid var(--ink); border-radius:20px; padding:28px; text-decoration:none; color:var(--ink); transition:box-shadow .15s, transform .15s;}
.post-card:hover{box-shadow:0 10px 28px rgba(21,21,19,.12); transform:translateY(-2px);}
.post-meta{display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-family:var(--font-display); font-size:15px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--accent);}
.post-chip{background:#ECE7E6; color:var(--ink); border-radius:6px; padding:3px 10px;}
.post-card h2{font-size:30px; line-height:1.05; margin:16px 0 12px;}
.post-excerpt{color:#3A3A38; font-size:16px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.post-more{margin-top:auto; padding-top:14px; font-weight:600;}
@media (min-width:700px){ .post-grid{grid-template-columns:1fr 1fr;} }

/* Process pages: numbered steps and paired buttons */
.hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}
.hero-actions .btn{width:auto; min-width:260px;}
.hero-band .btn-ghost{background:transparent; color:var(--on-dark); border:1px solid var(--on-dark);}
.step-grid{display:grid; grid-template-columns:1fr; gap:20px; margin-top:20px;}
.step{background:var(--panel); border:1px solid var(--line); border-top:6px solid var(--ink); border-radius:20px; padding:28px;}
.step-num{font-family:var(--font-display); font-size:44px; font-weight:600; line-height:1; color:var(--accent); display:block; margin-bottom:6px;}
.step h3{margin-top:0;}
@media (min-width:700px){ .step-grid{grid-template-columns:1fr 1fr;} }

/* Sold page */
.sold-hero{background:#ECE7E6; padding:64px 0 48px;}
.sold-icon{width:72px; height:54px; color:var(--ink); flex-shrink:0;}
.sold-icon-lg{width:180px; height:135px; margin:8px 0 16px; display:block;}
.sold-grid{display:grid; grid-template-columns:1fr; gap:16px;}
.sold-card{display:flex; align-items:center; gap:18px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px 20px;}
.sold-card h3{margin:8px 0 4px; font-size:22px;}
.sold-card p{margin:0; font-size:15px; color:#3A3A38;}
@media (min-width:700px){ .sold-grid{grid-template-columns:1fr 1fr;} }
@media (min-width:1000px){ .sold-grid{grid-template-columns:1fr 1fr 1fr;} }
@media (min-width:1761px){ .site-head{position:sticky; top:0; z-index:10;} }
/* One wide photo under the heading on inner pages */
img.page-photo{width:100%; height:auto; aspect-ratio:1600/560; object-fit:cover; border-radius:28px; display:block; background:var(--line);}
@media (max-width:640px){ img.page-photo{border-radius:16px; aspect-ratio:16/9;} }
/* Featured sales photo row (Track Record) */
.feature-grid{display:grid; grid-template-columns:1fr; gap:20px; margin:20px 0 8px;}
.feature-card{margin:0; background:var(--panel); border-radius:22px; overflow:hidden;}
.feature-card img{width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block;}
.feature-card figcaption{padding:14px 18px 18px; font-size:16px; line-height:1.4;}
.feature-card figcaption b{display:block; font-family:var(--font-display); font-size:21px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:4px;}
@media (min-width:760px){ .feature-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1060px){ .feature-grid{grid-template-columns:repeat(4,1fr);} .feature-card figcaption b{font-size:18px;} }
/* Latest videos gallery (Videos page): thumbnails that turn into the player when tapped */
.vid-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:22px 0 18px;}
.vid-card{min-width:0;}
.vid-play, .vid-card iframe{display:block; width:100%; aspect-ratio:9/16; border:0; border-radius:18px; background:#151513;}
.vid-wide .vid-play, .vid-wide iframe{aspect-ratio:16/9;}
.vid-play{position:relative; overflow:hidden; padding:0; cursor:pointer;}
.vid-play img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.vid-icon{position:absolute; left:50%; top:50%; width:56px; height:56px; margin:-28px 0 0 -28px; border-radius:50%; background:rgba(21,21,19,.72);}
.vid-icon::after{content:""; position:absolute; left:22px; top:16px; border-left:18px solid #F6F1F1; border-top:12px solid transparent; border-bottom:12px solid transparent;}
.vid-play:hover .vid-icon, .vid-play:focus-visible .vid-icon{background:rgba(0,0,0,.9);}
.vid-play:focus-visible{outline:3px solid var(--ink); outline-offset:3px;}
.vid-card h3.vid-title{font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:16px; font-weight:600; line-height:1.3; margin:10px 0 2px;}
.vid-card h3.vid-title a{text-decoration:none;}
.vid-card h3.vid-title a:hover{text-decoration:underline;}
.vid-date{font-size:14px; color:var(--accent); margin:0;}
@media (min-width:640px){ .vid-grid{grid-template-columns:repeat(3,1fr);} }
@media (min-width:1000px){ .vid-grid{grid-template-columns:repeat(5,1fr);} }

