/* PROVENANCE RECORD — Netlify Build — Matching Live Site */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Space+Mono:wght@400;700&display=swap');

:root{--cream:#F4EFE6;--cream-dark:#EDE5D8;--black:#080808;--ink:#1A1A18;--ash:#3D3D3A;--warm-gray:#9A9590;--rule:#C8C1B6;--gold:#B8A47C;--gold-light:#D4C49E;--serif:'Cormorant Garamond',Georgia,serif;--serif-alt:'EB Garamond',serif;--mono:'Space Mono',monospace;--max-w:1320px;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:80px;}
body{background:var(--cream);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;letter-spacing:0.01em;line-height:1.1;}
.eyebrow{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--warm-gray);}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--cream);border-bottom:1px solid var(--rule);}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem);height:68px;display:flex;align-items:center;justify-content:space-between;}
.nav-wordmark{font-family:var(--serif);font-size:1.05rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);}
.nav-wordmark span{color:var(--gold);}
.nav-links{display:flex;list-style:none;gap:0;}
.nav-links>li{position:relative;}
.nav-links>li>a{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ash);padding:0 1.2rem;height:68px;display:flex;align-items:center;transition:color 0.2s;cursor:pointer;}
.nav-links>li>a:hover,.nav-links>li>a.active{color:var(--ink);}
.nav-dropdown{position:absolute;top:68px;left:0;background:var(--cream);border:1px solid var(--rule);min-width:230px;z-index:200;box-shadow:0 8px 32px rgba(0,0,0,0.08);max-height:70vh;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 0.18s,transform 0.18s,visibility 0.18s;}
.nav-dropdown.open{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dropdown a{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ash);padding:0.9rem 1.3rem;border-bottom:1px solid var(--rule);transition:all 0.15s;}
.nav-dropdown a:hover{background:var(--cream-dark);color:var(--ink);}
.nav-cta{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.65rem 1.4rem;border:1px solid var(--ink);color:var(--ink);cursor:pointer;transition:all 0.25s;background:transparent;}
.nav-cta:hover{background:var(--ink);color:var(--cream);}

/* LAYOUT */
.page-wrap{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem);}
.section-header{display:flex;align-items:baseline;justify-content:space-between;padding:3.5rem 0 0;border-bottom:1px solid var(--rule);}
.section-title{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--warm-gray);padding-bottom:1.2rem;}
.section-link{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);transition:color 0.2s;padding-bottom:1.2rem;}
.section-link:hover{color:var(--ink);}

/* HERO */
.hero-home{padding-top:100px;padding-bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.hero-home .hero-meta{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;}
.hero-home .hero-meta::after{content:'';flex:1;height:1px;background:var(--rule);max-width:120px;}
.hero-home h1{font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:0.95;text-transform:uppercase;}
.hero-home h1 em{font-style:italic;color:var(--gold);}
.hero-desc{font-family:var(--serif-alt);font-size:1.1rem;line-height:1.7;color:var(--ash);margin-bottom:2.5rem;}
.hero-stats{display:flex;gap:3rem;}
.hero-stat-num{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--ink);line-height:1;margin-bottom:0.3rem;}
.hero-stat-label{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--warm-gray);}

/* SUBPAGE HERO */
.hero{padding-top:140px;padding-bottom:3rem;border-bottom:1px solid var(--rule);}
.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;margin:1rem 0 0.5rem;}
.hero-subtitle{font-family:var(--serif-alt);font-size:1.05rem;color:var(--ash);max-width:55ch;line-height:1.75;margin-bottom:0.5rem;}

/* TICKER */
.ticker{background:var(--cream-dark);overflow:hidden;padding:1rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:3rem;}
.ticker-track{display:flex;gap:3rem;animation:ticker-scroll 40s linear infinite;white-space:nowrap;width:max-content;}
.ticker-item{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);display:flex;align-items:center;gap:0.8rem;}
.ticker-item strong{color:var(--ink);font-weight:700;}
.ticker-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}
@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* FEATURED CARDS */
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;}
.card{background:rgba(255,251,247,0.6);border:1px solid var(--rule);padding:1.8rem;display:flex;flex-direction:column;transition:border-color 0.25s,box-shadow 0.25s;}
.card:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.2rem;}
.card-num{font-family:var(--mono);font-size:0.65rem;color:var(--warm-gray);}
.card-tag{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--warm-gray);border:1px solid var(--rule);padding:0.3rem 0.7rem;}
.card-address{font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:0.4rem;}
.card-city{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:1.2rem;}
.card-price{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--ink);margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--rule);}

/* RECORD ROWS */
.record-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:1.2rem 0;border-bottom:1px solid var(--rule);transition:opacity 0.2s;}
.record-row:first-child{border-top:1px solid var(--rule);}
.record-row:hover{opacity:0.7;}
.record-row-addr{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--ink);margin-bottom:0.2rem;}
.record-row-meta{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.06em;color:var(--warm-gray);}
.record-row-price{font-family:var(--serif);font-size:1.1rem;font-weight:300;color:var(--ink);text-align:right;white-space:nowrap;padding-left:1.5rem;}

/* MANIFESTO / CARD STYLE */
.manifesto{background:rgba(255,251,247,0.6);padding:2.5rem;margin-bottom:3rem;border-left:3px solid var(--gold);max-width:900px;}
.manifesto h3{font-family:var(--serif);font-weight:300;font-size:1.4rem;color:var(--ink);margin-bottom:1rem;}
.manifesto p{font-family:var(--serif-alt);font-size:1rem;line-height:1.85;color:var(--ash);margin-bottom:1rem;}
.manifesto p:last-child{margin-bottom:0;}

.property-card{background:rgba(255,251,247,0.6);padding:1.8rem;margin-bottom:1.5rem;border-left:3px solid var(--gold);transition:box-shadow 0.3s;}
.property-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.06);}
.property-card h4{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--ink);margin-bottom:0.5rem;}
.property-card p{font-family:var(--serif-alt);font-size:0.95rem;line-height:1.75;color:var(--ash);}

/* DETAIL FIELDS */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem;}
.detail-field{padding:1.2rem 0;border-bottom:1px solid var(--rule);}
.detail-label{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:0.4rem;}
.detail-value{font-family:var(--serif);font-size:1.1rem;color:var(--ink);line-height:1.4;}
.detail-value--large{font-size:1.8rem;font-weight:300;}
.detail-value--body{font-family:var(--serif-alt);font-size:0.95rem;line-height:1.75;color:var(--ash);}

/* BROKER PROFILE */
.broker-hero{padding-top:140px;padding-bottom:2rem;border-bottom:1px solid var(--rule);}
.broker-hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;margin-bottom:0.4rem;}
.broker-brokerage{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:0.3rem;}
.broker-markets{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);}
.broker-bio{font-family:var(--serif-alt);font-size:1.05rem;line-height:1.8;color:var(--ash);max-width:720px;margin:2rem 0 3rem;}

.press-item{padding:1rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1rem;}
.press-source{font-family:var(--serif-alt);font-size:0.95rem;font-weight:500;color:var(--ink);}
.press-context{font-family:var(--mono);font-size:0.55rem;color:var(--warm-gray);margin-top:0.2rem;letter-spacing:0.04em;}
.press-date{font-family:var(--mono);font-size:0.55rem;color:var(--warm-gray);letter-spacing:0.06em;white-space:nowrap;}

/* BUTTONS */
.btn{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.7rem 1.6rem;border:1px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:all 0.25s;display:inline-block;}
.btn:hover{background:var(--ink);color:var(--cream);}

/* FOOTER */
footer{background:var(--black);color:var(--cream);padding:5rem 0 3rem;margin-top:5rem;}
.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem);}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--ash);}
.footer-brand-name{font-family:var(--serif);font-size:1.3rem;font-weight:300;letter-spacing:0.14em;text-transform:uppercase;color:var(--cream);margin-bottom:1rem;}
.footer-brand-desc{font-family:var(--serif-alt);font-size:0.9rem;line-height:1.7;color:var(--warm-gray);max-width:28ch;}
.footer-col h5{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:1.2rem;font-weight:400;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:0.7rem;}
.footer-col a{font-family:var(--serif-alt);font-size:0.9rem;color:var(--warm-gray);transition:color 0.2s;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.footer-legal{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.14em;color:var(--ash);}
.footer-society{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.14em;color:var(--warm-gray);}

/* MOBILE NAV */
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);padding:0.5rem;}

@media(max-width:900px){
  .hero-home{grid-template-columns:1fr;gap:2rem;padding-top:100px;}
  .hero-home h1{font-size:2.8rem;}
  .featured-grid{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr;}
  .record-row{grid-template-columns:1fr;gap:0.2rem;}
  .record-row-price{text-align:left;padding-left:0;}
  .footer-top{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;gap:1.5rem;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--rule);padding:1.5rem clamp(1.5rem,4vw,4rem);gap:0;}
  .nav-links.open>li>a{height:auto;padding:0.8rem 0;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .press-item{grid-template-columns:1fr;gap:0.2rem;}
}

/* ============ SEARCH ============ */
.pr-search{position:relative;max-width:640px;margin:0 auto;}
.pr-search--left{margin:0;}
.pr-search-field{display:flex;align-items:center;gap:0.8rem;border:1px solid var(--rule);background:rgba(255,251,247,0.7);padding:0.95rem 1.2rem;transition:border-color 0.25s;}
.pr-search-field:focus-within{border-color:var(--gold);}
.pr-search-icon{width:14px;height:14px;flex-shrink:0;opacity:0.5;}
.pr-search-input{flex:1;border:none;background:transparent;outline:none;font-family:var(--mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--ink);text-transform:uppercase;}
.pr-search-input::placeholder{color:var(--warm-gray);letter-spacing:0.12em;}
.pr-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--cream);border:1px solid var(--rule);box-shadow:0 12px 40px rgba(0,0,0,0.1);max-height:60vh;overflow-y:auto;z-index:300;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 0.18s,transform 0.18s,visibility 0.18s;}
.pr-search-results.open{opacity:1;visibility:visible;transform:translateY(0);}
.pr-search-hit{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.2rem;padding:1rem 1.2rem;border-bottom:1px solid var(--rule);transition:background 0.15s;}
.pr-search-hit:last-child{border-bottom:none;}
.pr-search-hit:hover{background:var(--cream-dark);}
.pr-hit-main{display:flex;flex-direction:column;gap:0.25rem;min-width:0;}
.pr-hit-title{font-family:var(--serif);font-size:1.02rem;color:var(--ink);line-height:1.2;}
.pr-hit-meta{font-family:var(--mono);font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);}
.pr-hit-tag{font-family:var(--mono);font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);border:1px solid var(--rule);padding:0.25rem 0.6rem;white-space:nowrap;}
.pr-hit-price{font-family:var(--serif);font-size:1.05rem;font-weight:300;color:var(--ink);white-space:nowrap;}
.pr-search-empty{padding:1.4rem 1.2rem;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);}
.pr-search-home{margin-top:2.5rem;}

/* ============ BROKER PORTRAIT ============ */
.broker-hero--withphoto{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;}
.broker-portrait{width:150px;height:188px;flex-shrink:0;border:1px solid var(--rule);object-fit:cover;filter:grayscale(1) contrast(1.05);background:var(--cream-dark);}
.broker-portrait--mono{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:300;font-size:3.4rem;color:var(--warm-gray);letter-spacing:0.04em;}
@media(max-width:640px){.broker-hero--withphoto{grid-template-columns:1fr;gap:1.4rem;}.broker-portrait{width:120px;height:150px;}}

/* ============ PRESS — YEAR GROUPS ============ */
.press-year{display:flex;align-items:baseline;gap:1.2rem;margin:2.6rem 0 0.4rem;}
.press-year-num{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--ink);}
.press-year-rule{flex:1;height:1px;background:var(--rule);}
.press-year-count{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--warm-gray);}
.press-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1.2rem;padding:0.95rem 0;border-bottom:1px solid var(--rule);}
.press-row-outlet{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.3rem;}
.press-row-head{font-family:var(--serif);font-size:1.08rem;color:var(--ink);line-height:1.3;}
.press-row-head a{color:var(--ink);border-bottom:1px solid transparent;transition:border-color 0.2s;}
.press-row-head a:hover{border-color:var(--gold);}
.press-row-date{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);white-space:nowrap;}
.marquee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:1.2rem;}
.marquee-card{border:1px solid var(--rule);padding:1.4rem;background:rgba(255,251,247,0.6);transition:border-color 0.25s;}
.marquee-card:hover{border-color:var(--gold);}
.marquee-outlet{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;}
.marquee-head{font-family:var(--serif);font-size:1.18rem;font-weight:400;color:var(--ink);line-height:1.25;margin-bottom:0.6rem;}
.marquee-date{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);}

/* ============ PRESS RECAP (GEO) ============ */
.press-row-recap{font-family:var(--serif);font-size:0.92rem;line-height:1.5;color:var(--warm-gray);margin-top:0.45rem;max-width:62ch;}


/* ============ FEATURED CARDS (HOME) ============ */
.featured-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem;}
@media(max-width:920px){.featured-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.featured-cards{grid-template-columns:1fr;}}
.featured-card{display:block;padding:2rem 1.8rem;background:rgba(255,251,247,0.55);border:1px solid var(--rule);text-decoration:none;color:var(--ink);transition:border-color 0.3s,transform 0.3s,background 0.3s;}
.featured-card:hover{border-color:var(--gold);background:rgba(255,251,247,0.95);transform:translateY(-2px);}
.fc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem;}
.fc-num{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.16em;color:var(--warm-gray);}
.fc-tag{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:0.35rem 0.7rem;white-space:nowrap;}
.fc-price{font-family:var(--serif);font-size:2.4rem;font-weight:300;line-height:1;color:var(--ink);margin-bottom:1rem;}
.fc-rule{height:1px;background:var(--rule);margin-bottom:1.1rem;}
.fc-addr{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:1rem;}
.fc-desc{font-family:var(--serif);font-size:0.98rem;line-height:1.55;color:var(--ink);margin-bottom:1.4rem;}
.fc-sources{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.14em;color:var(--warm-gray);}
