/* Millie Properties: source fonts and colors verified on millie.properties. */
@font-face{font-family:Gilroy;src:url('/brand/gilroy-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:url('/brand/gilroy-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:url('/brand/gilroy-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Gilroy;src:url('/brand/gilroy-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:SourceSerif4;src:url('/brand/source-serif-4-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:SourceSerif4;src:url('/brand/source-serif-4-medium-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}

body.millie-brand{
  --ink:#1f2937;
  --paper:#fff;
  --red:#b40101;
  --muted:#59616d;
  --line:#e5e7eb;
  background:var(--paper);
  color:var(--ink);
  font-family:Gilroy,Arial,sans-serif;
  line-height:1.5;
}
.millie-brand :is(button,input,select,textarea){font-family:Gilroy,Arial,sans-serif}
.millie-brand :is(h1,h2){font-family:SourceSerif4,Georgia,serif;font-weight:500;letter-spacing:-.025em;line-height:1.15}
.millie-brand h1 em,.millie-brand h2 em{color:var(--red);font-weight:500}
.millie-brand :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
body.millie-brand>.preview{background:var(--ink);font-size:10px;padding:5px 16px;letter-spacing:1px}
body.millie-brand:not(.site-integrated)>header{height:76px;padding:0 36px;gap:24px;background:var(--red);color:#fff;border:0}
.millie-brand .brand{display:flex;align-items:center;flex-shrink:0;line-height:1}
.millie-brand .brand img{display:block;width:225px;height:auto;max-width:100%}
.millie-brand:not(.site-integrated)>header nav{font-size:14px;font-weight:700;gap:28px}
.millie-brand:not(.site-integrated)>header nav a{padding:9px 0}
.millie-brand:not(.site-integrated)>header nav a:hover{text-decoration:underline;text-underline-offset:6px}
.millie-brand:not(.site-integrated)>header nav a[aria-current=page]{border-bottom:1px solid #fff}
.millie-brand .contact-top{font-size:14px;font-weight:700;white-space:nowrap;border:0;padding:12px 0}
.millie-brand .contact-top:hover{text-decoration:underline;text-underline-offset:4px}
.millie-brand:not(.site-integrated)>header :is(a,button):focus-visible,.millie-brand:not(.site-integrated)>footer a:focus-visible{outline-color:#fff}
body.millie-brand:not(.site-integrated)>footer{max-width:none;background:var(--red);color:#fff;padding:40px 36px;gap:35px}
.millie-brand:not(.site-integrated)>footer .brand img{width:225px}
.millie-brand:not(.site-integrated)>footer .fine{color:#fff;font-size:11px;max-width:400px}
.millie-brand:not(.site-integrated)>footer p{font-size:12px}
.millie-brand:not(.site-integrated)>footer a:hover{text-decoration:underline;text-underline-offset:3px}

/* Use the same identity from the map through the property and inquiry pages. */
/* The same in-results invitation used by the luxury collection. */
.millie-brand .search-lead{display:flex;justify-content:space-between;align-items:center;gap:32px;min-width:0;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:8px;background:#fafafa;padding:32px;margin:32px 0;scroll-margin-top:24px}
.millie-brand .search-lead-copy{min-width:0}
.millie-brand .search-lead h2{font-size:32px;line-height:1.16;margin:0 0 12px}
.millie-brand .search-lead p{margin:0;color:var(--muted);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.millie-brand .search-lead .eyebrow{margin-bottom:14px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.15em}
.millie-brand .search-lead-actions{display:grid;gap:12px;flex:0 0 310px;min-width:0}
.millie-brand .search-lead-actions :is(.button,.outline-button){display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:12px 18px;text-align:center;line-height:1.4;white-space:normal}
.millie-brand .search-lead-actions .outline-button{background:#fff5f5}
.millie-brand .property-main .search-lead,.millie-brand [data-neighborhood-view=split] .search-lead{display:block;padding:28px}
.millie-brand .property-main .search-lead-actions,.millie-brand [data-neighborhood-view=split] .search-lead-actions{margin-top:22px}
@media(max-width:760px){
 .millie-brand .search-lead,.millie-brand .property-main .search-lead,.millie-brand [data-neighborhood-view=split] .search-lead{display:block;padding:26px 22px;margin:28px 0}
 .millie-brand .search-lead h2{font-size:29px}
 .millie-brand .search-lead-actions{margin-top:22px}
}
.millie-brand .button{border-radius:8px;background:var(--red);font-weight:700;font-size:14px}
.millie-brand .button:hover{background:#930101}
.millie-brand .outline-button{border:1px solid var(--red);border-radius:8px;color:var(--red);font-weight:700;font-size:13px}
.millie-brand .outline-button:hover{background:#fff5f5}
.millie-brand :is(.showing-card,.card){border-color:var(--line);border-radius:8px;box-shadow:0 8px 22px #0000000d;overflow:hidden}
.millie-brand .advisor-portrait{border-color:var(--line);background:#f5f5f5}
.millie-brand .advisor-personal strong{font-weight:700}
.millie-brand .advisor-personal a{font-weight:700}
.millie-brand .eyebrow{color:var(--red)}
.millie-brand .property-page .property-title h1{font-size:46px}
.millie-brand .property-title>strong{font-weight:700}
.millie-brand .property-nav{font-weight:600}
.millie-brand .property-nav a:hover,.millie-brand .property-top>a{color:var(--red)}
.millie-brand :is(.photo-mosaic,.gallery-count,.highlight-grid>div,.budget-result){border-radius:8px}
.millie-brand :is(.feature-tags span,.budget-result,.status-chip,.request-property){background:#f5f6f7}
.millie-brand .budget-result>strong{font-family:SourceSerif4,Georgia,serif;font-weight:500}
.millie-brand .timeline-dot,.millie-brand .history-tab.selected{background:var(--red);border-color:var(--red)}
.millie-brand dialog{background:#fff;border-radius:8px}
.millie-brand dialog::backdrop{background:#14141499}
.millie-brand :is(.request-contact input,.visit-options input,.visit-options select,#showing-form textarea,#request-phone){border-color:#c9cdd3;border-radius:8px;background:#fff}
.millie-brand .request-consent{color:var(--muted)}
.millie-brand #showing-dialog .request-property{background:#f5f6f7;border-radius:8px}
.millie-brand #showing-form :is(input,select,textarea){font-family:Gilroy,Arial,sans-serif;border-color:#c9cdd3;border-radius:8px}
.millie-brand #showing-dialog :is(input,textarea,select):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.millie-brand #gallery-image{background:#1f2937}

/* Property location preview: reserve space while the map loads. */
.millie-brand .property-map-frame{margin:24px 0 20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f5f6f7}
.millie-brand .property-map-canvas{position:relative;display:block;width:100%;height:360px;background:#f5f6f7}
.millie-brand .property-map-message{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:24px;margin:0;background:#f5f6f7;text-align:center;pointer-events:none}
.millie-brand .property-map-message[hidden]{display:none}
.millie-brand .property-map-frame noscript{display:block;padding:12px;font-size:12px}
.millie-brand .property-map-frame figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;padding:10px 16px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;line-height:1.6}
.millie-brand .property-map-frame figcaption a{display:inline-flex;align-items:center;min-height:40px;color:var(--red);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.millie-brand #area h2{overflow-wrap:anywhere}
@media(max-width:650px){.millie-brand .property-map-canvas{height:280px}.millie-brand .property-map-frame figcaption{padding:10px 12px}}

@media(max-width:1050px){
  .millie-brand:not(.site-integrated)>header nav{gap:20px;font-size:13px}
}
@media(max-width:800px){
  body.millie-brand:not(.site-integrated)>header{height:68px;padding:0 20px;gap:14px}
  .millie-brand:not(.site-integrated)>header .brand img{width:min(225px,51vw)}
  .millie-brand .contact-top{font-size:13px}
  body.millie-brand:not(.site-integrated)>footer{padding:32px 20px;gap:22px;flex-wrap:wrap}
  body.millie-brand:not(.site-integrated):has(.property-page)>footer{padding-bottom:120px}
  .millie-brand .property-page .property-title h1{font-size:36px}
}

/* Neighborhoods and market reports share the live site's existing brand system. */
.millie-brand :is(.stats strong,.collection-images a>span,.search-message h3){font-family:SourceSerif4,Georgia,serif;font-weight:500}
.millie-brand .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.18))}
.millie-brand .hero :is(h1 em,.eyebrow){color:#fff}
.millie-brand .neighborhood-hero h1{font-size:clamp(36px,4.7vw,60px);line-height:1.2;letter-spacing:0}
.millie-brand .hero-content>p:not(.eyebrow){font-size:20px;line-height:1.6;color:#fff}
.millie-brand .subnav{background:#fff;font-size:13px}
.millie-brand .text-link{color:var(--red);font-size:15px;font-weight:700}
.millie-brand .neighborhood-card{border-color:rgba(0,0,0,.14);border-radius:8px;overflow:hidden}
.millie-brand .neighborhood-card-copy h2{font-size:32px;line-height:1.1;letter-spacing:0}
.millie-brand .neighborhood-card-copy p{font-size:16px;line-height:1.45;color:var(--ink)}
.millie-brand :is(.collection-intro,.coverage-note,.search-message,.collection-inset){background:#eee}
.millie-brand .collection-inset{border-color:#eee}
.millie-brand .collection-copy h1{font-size:clamp(36px,4.7vw,60px);line-height:1.15}
.millie-brand .collection-copy>p:not(.eyebrow),.millie-brand .neighborhood-introduction>p:not(.eyebrow),.millie-brand .neighborhood-living p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--ink)}
.millie-brand .collection-signature{color:var(--muted)}
.millie-brand .coverage-note{border-left-color:var(--red);border-radius:0 8px 8px 0;font-size:14px}
.millie-brand .collection-images a>span{background:linear-gradient(transparent,#000b)}
.millie-brand :is(.collection-filters,.server-filters){border-radius:8px}
.millie-brand :is(.collection-filters label,.server-filters label){font-size:13px}
.millie-brand :is(.collection-filters input,.collection-filters select,.server-filters select){font-size:16px;border-radius:8px;min-height:46px}
.millie-brand :is(.collection-filters .button,.server-filters .button){font-size:15px;border-radius:8px}
.millie-brand .results-bar{font-size:14px}
.millie-brand :is(.data-note,.listing-disclaimer){font-size:12px}
.millie-brand .market-snapshot{background:#f6f6f6;color:var(--ink);border-color:var(--line);border-radius:8px}
.millie-brand .market-heading h2{font-family:SourceSerif4,Georgia,serif;font-weight:500;font-size:28px;letter-spacing:0}
.millie-brand .market-heading>a{color:var(--red);font-size:13px}
.millie-brand .market-heading p{color:var(--muted);font-size:12px}
.millie-brand .market-card{border-color:var(--line);border-radius:8px}
.millie-brand .market-card strong{font-family:SourceSerif4,Georgia,serif;font-weight:500}
.millie-brand .market-snapshot svg line[stroke="#26473f"]{stroke:var(--red)}
.millie-brand .market-snapshot svg circle[fill="#26473f"]{fill:var(--red)}
.millie-brand .market-report{color:var(--ink)}
.millie-brand .market-report>h1{font-size:clamp(36px,4.7vw,60px)}
.millie-brand .faq summary{font-size:17px}
.millie-brand :is(.faq details p,.faq details a,.related-articles){font-size:15px}
.millie-brand .related-articles{display:block}
.millie-brand .related-articles a{color:var(--red)}
.millie-brand .cta{background:var(--red);color:#fff}
.millie-brand .cta :is(h2 em,.eyebrow){color:#fff}
.millie-brand .cta .button.light{background:#fff;color:var(--red);border:1px solid #fff}
.millie-brand .cta .button.light:hover{background:#eee;border-color:#eee}
.millie-brand .cta a:focus-visible{outline-color:#fff}
.millie-brand .breadcrumbs{display:block;font-size:13px}
.millie-brand .breadcrumbs a{color:var(--red)}
@media(max-width:800px){
 body.millie-brand:not(.site-integrated)>header{height:auto;min-height:68px;flex-wrap:wrap;padding:14px 20px;gap:12px}
 body.millie-brand:not(.site-integrated)>header nav{display:flex;order:3;width:100%;justify-content:center;gap:24px;border-top:1px solid #ffffff50;padding-top:8px;font-size:13px}
 .millie-brand:not(.site-integrated)>header nav a:not(:first-child){display:block}
 .millie-brand .contact-top{margin-left:auto}
 .millie-brand .neighborhood-hero .hero-content h1{font-size:36px}
 .millie-brand .hero-content>p:not(.eyebrow){font-size:17px}
 .millie-brand .collection-copy h1{font-size:clamp(32px,10vw,40px);overflow-wrap:anywhere}
 .millie-brand :is(.collection-copy,.collection-images){min-width:0}
 .millie-brand .neighborhood-card-copy h2{font-size:30px}
 .millie-brand .market-heading h2{font-size:25px}
 .millie-brand .market-card strong{font-size:23px}
 .millie-brand .cta{padding:50px 24px}
 .millie-brand .cta h2{font-size:36px}
}
@media(max-width:650px){
 .millie-brand .neighborhood-hero{height:auto;min-height:440px}
 .millie-brand .neighborhood-hero>img,.millie-brand .neighborhood-hero>.neighborhood-placeholder{position:absolute;inset:0;width:100%;height:100%}
 .millie-brand .neighborhood-hero .hero-content{position:relative;inset:auto;padding:56px 24px 72px}
 .millie-brand .neighborhood-hero .hero-caption{left:24px;right:24px;bottom:24px}
}

/* Contextual luxury property navigation uses the existing typography and focus rules. */
.property-page[data-luxury-category]>.breadcrumbs a,.property-top a[data-luxury-return]{display:inline-flex;align-items:center;min-height:44px}
.property-top a[data-luxury-return]{font-size:13px;line-height:1.6;min-width:0;overflow-wrap:anywhere}
.property-page[data-luxury-category]>.breadcrumbs li{display:flex;align-items:center;min-height:44px}
.property-market-guide{margin:16px 0 0;font-size:14px;line-height:1.6}
.property-market-guide a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--red);text-decoration:underline;text-underline-offset:4px}
.property-market-guide a:hover{color:var(--ink)}
.property-market-guide a:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:2px}
