/* ============================================================
   City Commercial Realty — Editorial homepage (EDGE-inspired)
   Full-bleed hero · serif display · minimal chrome · whitespace
   Brand: navy + steel + cream + white. Logo/labels = Archivo;
   editorial headlines = Fraunces (display serif).
   ============================================================ */
:root{ --serif:"Fraunces", Georgia, "Times New Roman", serif; }
.home{background:#fff;color:var(--ccr-ink);font-family:var(--ccr-font-sans)}
.home img{max-width:100%}

/* ---------- minimal fixed nav ---------- */
.ed-nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:15px clamp(20px,5vw,64px);transition:background .35s var(--ccr-ease),padding .35s var(--ccr-ease)}
.ed-nav.solid{background:var(--ccr-navy);padding-top:11px;padding-bottom:11px;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.ed-nav .brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;line-height:1}
.ed-nav .brand .sky{width:188px;max-width:48vw;height:auto;display:block}
.ed-nav .brand .wm{font-family:var(--ccr-font-display);font-weight:400;letter-spacing:.045em;text-transform:uppercase;color:#fff;font-size:13px}
.ed-nav .links{display:flex;align-items:center;gap:28px}
.ed-nav .links a{color:rgba(255,255,255,.82);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.02em;transition:color .2s}
.ed-nav .links a:hover{color:#fff}
.ed-nav .pill{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:9px 18px;color:#fff;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ed-nav .pill:hover{background:#fff;color:var(--ccr-navy)}
.ed-nav .menu{display:none;background:none;border:0;color:#fff;cursor:pointer}
@media(max-width:820px){ .ed-nav .links{display:none} .ed-nav .menu{display:block} }

/* ---------- hero ---------- */
.ed-hero{position:relative;min-height:100svh;background:radial-gradient(120% 90% at 70% 10%,#1C2A5E 0%,#0E1A44 48%,#08102E 100%);
  color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.ed-hero .sky{position:absolute;left:0;right:0;bottom:0;width:100%;opacity:.32;pointer-events:none}
.ed-hero .wrap{position:relative;z-index:2;padding:0 clamp(20px,5vw,64px) clamp(48px,9vh,120px);max-width:1320px;width:100%}
.ed-hero .eyebrow{font-family:var(--ccr-font-display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ccr-steel-300);font-weight:500;margin-bottom:22px}
.ed-hero h1{color:#fff;font-family:var(--serif);font-weight:400;font-size:clamp(46px,8.5vw,118px);line-height:.98;letter-spacing:-.015em;max-width:14ch}
.ed-hero .sub{margin-top:26px;font-size:clamp(15px,1.5vw,19px);color:#c2c9de;max-width:46ch;line-height:1.6}
.ed-hero .markets{margin-top:30px;display:flex;gap:26px;flex-wrap:wrap;font-family:var(--ccr-font-display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ed-hero .markets span{position:relative;padding-left:18px}
.ed-hero .markets span::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--ccr-steel-300)}

/* ---------- generic editorial section ---------- */
.ed-sec{padding:clamp(72px,12vh,160px) clamp(20px,5vw,64px);max-width:1320px;margin:0 auto}
.ed-eyebrow{font-family:var(--ccr-font-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ccr-steel);font-weight:500;display:flex;align-items:center;gap:14px;margin-bottom:26px}
.ed-eyebrow::before{content:"";width:34px;height:1px;background:var(--ccr-steel)}
.ed-h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,5vw,68px);line-height:1.04;letter-spacing:-.01em;color:var(--ccr-navy);max-width:18ch}
.ed-lede{font-size:clamp(16px,1.5vw,20px);line-height:1.65;color:var(--ccr-ink-muted);max-width:60ch;margin-top:24px}
.ed-link{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-family:var(--ccr-font-display);font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ccr-navy);text-decoration:none}
.ed-link svg{width:22px;height:22px;transition:transform .25s var(--ccr-ease)}
.ed-link:hover svg{transform:translateX(6px)}
.ed-link.on-navy{color:#fff}

/* statement (two-column: heading left, copy right) */
.ed-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end}
@media(max-width:840px){ .ed-split{grid-template-columns:1fr;gap:24px} }

/* featured listing — image + text */
.ed-feature{background:var(--ccr-cream-50);border-top:1px solid var(--ccr-line);border-bottom:1px solid var(--ccr-line)}
.ed-feature .inner{display:grid;grid-template-columns:1.15fr .85fr;gap:0;max-width:1480px;margin:0 auto;align-items:stretch}
.ed-feature .shot{position:relative;min-height:520px;background:var(--ccr-navy)}
.ed-feature .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ed-feature .shot .tag{position:absolute;top:22px;left:22px;background:#fff;color:var(--ccr-navy);font-family:var(--ccr-font-display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
.ed-feature .txt{padding:clamp(40px,6vw,88px) clamp(28px,5vw,72px)}
.ed-feature .addr{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,46px);line-height:1.05;color:var(--ccr-navy);margin:14px 0 6px}
.ed-feature .loc{color:var(--ccr-ink-muted);font-size:16px}
.ed-feature .facts{display:flex;gap:36px;margin:30px 0 4px;flex-wrap:wrap}
.ed-feature .facts .n{font-family:var(--serif);font-size:30px;color:var(--ccr-navy);line-height:1}
.ed-feature .facts .l{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ccr-ink-muted);margin-top:6px}
@media(max-width:840px){ .ed-feature .inner{grid-template-columns:1fr} .ed-feature .shot{min-height:340px} }

/* services — editorial rows */
.ed-rows{border-top:1px solid var(--ccr-line);margin-top:48px}
.ed-row{display:grid;grid-template-columns:64px 1fr auto;gap:28px;align-items:start;padding:34px 0;border-bottom:1px solid var(--ccr-line)}
.ed-row .idx{font-family:var(--serif);font-size:20px;color:var(--ccr-steel-300)}
.ed-row h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,32px);color:var(--ccr-navy);line-height:1.1}
.ed-row p{font-size:15.5px;color:var(--ccr-ink-muted);line-height:1.6;margin-top:8px;max-width:60ch}
.ed-row .go{align-self:center;color:var(--ccr-steel)}
.ed-row .go svg{width:24px;height:24px;transition:transform .25s var(--ccr-ease)}
.ed-row:hover .go svg{transform:translateX(6px)}
@media(max-width:680px){ .ed-row{grid-template-columns:1fr;gap:8px} .ed-row .idx,.ed-row .go{display:none} }

/* closing */
.ed-closing{background:var(--ccr-navy);color:#fff;text-align:center;padding:clamp(80px,14vh,180px) clamp(20px,5vw,64px)}
.ed-closing h2{color:#fff;font-family:var(--serif);font-weight:400;font-size:clamp(34px,6vw,84px);line-height:1.02;letter-spacing:-.01em;max-width:16ch;margin:0 auto}
.ed-closing .row{margin-top:38px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;align-items:center}
.ed-cta{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:#fff;color:var(--ccr-navy);font-family:var(--ccr-font-display);font-weight:500;font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:15px 26px;border-radius:999px;text-decoration:none;transition:background .2s}
.ed-cta:hover{background:var(--ccr-steel-300)}
.ed-closing .tel{color:rgba(255,255,255,.85);text-decoration:none;font-size:15px}
.ed-closing .tel:hover{color:#fff}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ccr-ease),transform .8s var(--ccr-ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} }

/* hero content animates in on load (not scroll-dependent) */
.ed-hero .reveal{animation:heroIn .9s var(--ccr-ease) both}
.ed-hero .eyebrow.reveal{animation-delay:.05s}
.ed-hero h1.reveal{animation-delay:.16s}
.ed-hero .sub.reveal{animation-delay:.34s}
.ed-hero .markets.reveal{animation-delay:.48s}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){ .ed-hero .reveal{animation:none;opacity:1;transform:none} }

/* ============================================================
   SUB-PAGES (listings / services / team / contact / eastbank)
   ============================================================ */
body.sub{background:#fff;color:var(--ccr-ink);font-family:var(--ccr-font-sans)}
body.sub img{max-width:100%}
/* nav sits in-flow and stays navy (no dark hero behind it) */
body.sub .ed-nav{position:sticky;top:0;background:var(--ccr-navy)}
body.sub .ed-nav.solid{box-shadow:0 1px 0 rgba(255,255,255,.08)}
.ed-nav .links a.active{color:#fff}
/* serif headlines everywhere on sub-pages */
body.sub h1,body.sub h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}

/* page head (navy band under the nav) */
.ed-pagehead{position:relative;background:var(--ccr-navy);overflow:hidden;
  padding:clamp(56px,8vh,96px) clamp(20px,5vw,64px) clamp(52px,8vh,88px)}
.ed-pagehead .sky{position:absolute;left:0;right:0;bottom:0;width:100%;opacity:.15;pointer-events:none}
.ed-pagehead .wrap{position:relative;z-index:2;max-width:1320px;margin:0 auto}
.ed-pagehead .ed-eyebrow{color:var(--ccr-steel-300);margin-bottom:18px}
.ed-pagehead .ed-eyebrow::before{background:var(--ccr-steel-300)}
.ed-pagehead h1{color:#fff;font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,90px);line-height:1.0;letter-spacing:-.015em;max-width:17ch}
.ed-pagehead .sub{margin-top:22px;font-size:clamp(15px,1.5vw,19px);color:#c2c9de;max-width:56ch;line-height:1.6}

/* services rows — tag chips */
.ed-row .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.ed-row .tags span{font-size:12px;font-weight:500;letter-spacing:.02em;padding:5px 13px;border:1px solid var(--ccr-line);border-radius:999px;color:var(--ccr-ink-muted);background:#fff}

/* team / broker bio */
.ed-bio{display:grid;grid-template-columns:360px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
.ed-bio .col-photo{position:sticky;top:104px}
.ed-bio .photo{border-radius:var(--ccr-r-lg);overflow:hidden;background:linear-gradient(160deg,#27365f,#0e1a44)}
.ed-bio .photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.ed-bio .creds{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ccr-line);border-radius:var(--ccr-r-md);overflow:hidden;margin-top:16px;background:#fff}
.ed-bio .creds .c{padding:15px 8px;text-align:center;border-right:1px solid var(--ccr-line)}
.ed-bio .creds .c:last-child{border-right:none}
.ed-bio .creds .n{font-family:var(--serif);font-size:19px;color:var(--ccr-navy);line-height:1}
.ed-bio .creds .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ccr-ink-muted);margin-top:6px}
.ed-bio .role{font-family:var(--ccr-font-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ccr-steel);font-weight:500}
.ed-bio h2{font-size:clamp(34px,4.6vw,58px);color:var(--ccr-navy);line-height:1.02;margin:8px 0 0;max-width:none}
.ed-bio p{font-size:16px;line-height:1.7;color:var(--ccr-ink-muted);margin-top:18px;max-width:66ch}
.ed-bio .sub-h{font-family:var(--ccr-font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ccr-steel);font-weight:500;margin:32px 0 14px;display:flex;align-items:center;gap:12px}
.ed-bio .sub-h::before{content:"";width:28px;height:1px;background:var(--ccr-steel)}
.ed-bio .awards{list-style:none;display:grid;gap:9px}
.ed-bio .awards li{font-size:15px;color:var(--ccr-ink-muted);padding-left:22px;position:relative}
.ed-bio .awards li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--ccr-steel-300);border-radius:2px;transform:rotate(45deg)}
.ed-bio .btns{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:820px){.ed-bio{grid-template-columns:1fr}.ed-bio .col-photo{position:static}.ed-bio .photo img{aspect-ratio:16/10}}

/* contact */
.ed-contact{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(32px,5vw,72px);align-items:start}
.ed-contact .info h2{font-size:clamp(28px,3.4vw,46px);color:var(--ccr-navy);line-height:1.05}
.ed-contact .info .lead{font-size:17px;line-height:1.7;color:var(--ccr-ink-muted);margin-top:18px;max-width:44ch}
.ed-contact .lines{margin-top:30px;display:grid;gap:18px}
.ed-contact .line{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;color:var(--ccr-ink)}
.ed-contact .line svg{width:20px;height:20px;stroke:var(--ccr-steel);fill:none;stroke-width:1.8;flex:0 0 20px;margin-top:2px}
.ed-contact .line a{color:var(--ccr-navy);text-decoration:none;border-bottom:1px solid var(--ccr-line)}
.ed-contact .line a:hover{border-color:var(--ccr-steel)}
.ed-contact .broker{margin-top:30px;padding-top:24px;border-top:1px solid var(--ccr-line);display:flex;align-items:center;gap:13px}
.ed-form{background:var(--ccr-cream-50);border:1px solid var(--ccr-line);border-radius:var(--ccr-r-lg);padding:clamp(24px,3vw,40px)}
.ed-form h3{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--ccr-navy);margin-bottom:4px}
.ed-form .pr{font-size:14.5px;color:var(--ccr-ink-muted);margin-bottom:20px}
@media(max-width:820px){.ed-contact{grid-template-columns:1fr}}

/* mobile menu opens below the fixed home nav (nav stays clickable at z-60) */
.home .mobile-menu{position:fixed;top:0;left:0;right:0;z-index:59;padding-top:104px;background:var(--ccr-navy-900);box-shadow:0 14px 34px rgba(8,16,46,.35)}
