/*
 * Bridget template components (docs/AG-BRIDGET-VISUAL-PARITY-MAP.md).
 * Geometry is measured from the rendered bridgetramey.com templates at 1440, 768 and 390 px.
 * Italiana takes the display role and Manrope the structural role. AG identity, content and colors
 * stay AG; composition, widths, proportions and rhythm follow the governing Bridget page.
 */
:root{--bp-gutter:50px;--bp-max:1400px;--bp-ink:#000;--bp-paper:#fff;--bp-rule:#d8d5cf}
.bp-intro-grid>*,.bp-split-grid>*,.bp-gallery-row>*,.bp-sales-grid>*,.bp-footer-info>*,.bp-footer-legal>*{min-width:0}
.bp-container{box-sizing:border-box;width:100%;max-width:var(--bp-max);margin-inline:auto;padding-inline:var(--bp-gutter)}
.bp-h2,.bp-section h2{margin:0;font:400 38px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase;color:inherit}
.bp-section p{margin:0}
.bp-section{background:var(--bp-paper);color:var(--bp-ink)}
.bp-section .bp-body p,.bp-section .bp-list li{font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.bp-section .bp-body p+p{margin-top:25px}
.bp-outline-button .wp-block-button__link,a.bp-outline-button{display:inline-flex;align-items:center;justify-content:center;min-width:226px;min-height:58px;box-sizing:border-box;padding:20px 46px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:600 14px/1 var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .3s ease,color .3s ease}
.bp-outline-button .wp-block-button__link:hover,a.bp-outline-button:hover{background:var(--bp-ink);color:var(--bp-paper)}
.bp-dark .bp-outline-button .wp-block-button__link:hover{background:var(--bp-paper);color:var(--bp-ink)}

/* Concierge: Bridget split at 650 x 514 with a 120px text inset, three 424 x 400 cards, testimonials. */
.bp-split-short .bp-split-media{height:514px}
.bp-split-short .bp-split-text{padding-left:120px}
.bp-split-short .bp-split-text h2{margin-bottom:20px}
.bp-gallery-tight{padding:0 0 48px}
.bp-gallery-row.bp-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bp-testimonials{padding:60px 0 80px}
.bp-testimonials .bp-h2{margin-bottom:20px;text-align:center}

/* Testimonials: Bridget list, 840px column centered, 36px item padding, no rules between items. */
.story-list.bp-story-list{max-width:840px;padding:60px 0 48px;gap:0}
.bp-story-list .story-entry{padding:36px 0;border-top:0}
.bp-story-list .story-entry:first-child{border-top:0;padding-top:36px}
.bp-story-list .story-entry h2{margin:12px 0 10px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.bp-story-list .story-person{margin-bottom:20px;font:700 14px/1.6 var(--font-sans);letter-spacing:1.5px}
.bp-story-list .story-body p{margin:0 0 16px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}

/* Developments: Bridget photo hero with title, intro and a display-face subtitle, then 366px development cards. */
.page-hero.bp-dev-hero::after{background:rgb(0 0 0 / .5)}
.page-hero.bp-dev-hero h1{max-width:800px;margin-inline:auto}
.page-hero.bp-dev-hero .hero-copy{max-width:800px;margin:24px auto 0;font:400 16px/1.6 var(--font-sans);letter-spacing:1px;text-transform:none}
.page-hero.bp-dev-hero p.bp-hero-sub{max-width:800px;margin:15px auto 0;font:400 21px/1.57 var(--font-display);letter-spacing:1px;text-transform:uppercase;color:#fff}
.bp-developments{padding:65px 0 48px}
.bp-enclaves{padding:48px 0 96px}
.bp-enclaves .bp-h2{margin-bottom:40px;text-align:center}
.bp-enclaves .bp-center{margin-top:60px}
/* Bridget's grid centers whatever count exists, so a fourth card centers under the first three instead of sitting flush left. */
.bp-development-list{display:flex;flex-wrap:wrap;justify-content:center;gap:48px 40px;margin:0;padding:0;list-style:none}
.bp-development-list>li{flex:0 0 366px;max-width:100%}
.bp-development-list a{display:block;color:inherit;text-decoration:none}
.bp-development-list figure{position:relative;margin:0;aspect-ratio:366/267;overflow:hidden}
.bp-development-list img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bp-development-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;min-width:170px;min-height:58px;align-items:center;justify-content:center;background:var(--bp-ink);color:var(--bp-paper);font:600 14px/1 var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;opacity:0;transition:opacity .3s ease}
.bp-development-list a:hover img{transform:scale(1.04)}
.bp-development-list a:hover .bp-development-cta,.bp-development-list a:focus-visible .bp-development-cta{opacity:1}
.bp-development-list h3{margin:25px 0 5px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.bp-development-list p{margin:0;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.bp-development-list .bp-dev-descriptor{margin-top:4px}
.bp-development-list .bp-dev-detail[hidden]{display:none}
.bp-dev-guidance{padding:48px 0 96px}
.bp-dev-guidance .bp-body{max-width:840px;margin:0 auto}
.bp-dev-guidance h3{margin:36px 0 12px;font:400 21px/1.57 var(--font-display);letter-spacing:1px;text-transform:uppercase}

/* Valuation: Bridget 900px photo hero carrying the form. */
.bp-value-hero{position:relative;display:flex;min-height:900px;align-items:center;overflow:hidden;background:var(--bp-ink);color:var(--bp-paper);text-align:center}
.bp-value-hero>.bp-value-photo{position:absolute;inset:0;margin:0}
.bp-value-hero>.bp-value-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 30%}
.bp-value-hero::after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / .5)}
.bp-value-hero .bp-container{position:relative;z-index:1;padding-block:140px 115px}
.bp-value-hero h1{max-width:1000px;margin:0 auto;font:400 50px/1.25 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.bp-value-hero p.bp-value-copy{max-width:760px;margin:20px auto 40px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.bp-form-panel{max-width:820px;margin:0 auto;padding:40px;background:var(--bp-paper);color:var(--bp-ink);text-align:left}
.bp-form-panel h2{margin:0 0 10px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.bp-form-panel>p{margin:0 0 24px;font:400 16px/1.6 var(--font-sans)}

/* Home: Bridget runs Proven Performance, Working With and the press strip as one solid black band. */
.proof-band,.proof-band.ag-fixed-photo{background:#000;background-image:none}
.proof-band>.ag-source-image,.proof-band::before,.proof-band::after{display:none}
.recognition-marquee{border-top:0}

/* Bridget hero titles are set in capitals on every template. */
.page-hero h1{text-transform:uppercase}

/* Intro with landscape media: Bridget About f-video (470 | 780, 100px vertical padding). */
.bp-intro{padding:100px 0}
.bp-intro-grid{display:grid;grid-template-columns:470px minmax(0,1fr);gap:50px;align-items:center}
.bp-intro-copy{max-width:376px}
.bp-intro-copy .bp-wordmark img{display:block;width:260px;max-width:100%;height:auto;margin:0 0 24px}
.bp-intro-copy p{font:400 14px/1.666 var(--font-sans)}
.bp-intro-copy p+p{margin-top:25px}
.bp-intro-copy a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.bp-intro-media{margin:0;aspect-ratio:780/497;overflow:hidden}
.bp-intro-media img{display:block;width:100%;height:100%;object-fit:cover}
.bp-socials{display:flex;gap:12px;margin-top:35px;padding:0;list-style:none}
.bp-socials a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;color:inherit;text-decoration:none}
.bp-socials svg{width:16px;height:16px}

/* Boxed statement: Bridget buyers/sellers boxed-text (96px top, 1300 wide). */
.bp-boxed{padding:96px 0 50px}
.bp-boxed .bp-statement{margin:0;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase}

/* Image and text halves: Bridget hoverable-image (650 | 650). */
.bp-split{padding:0 0 48px}
.bp-split-top{padding-top:48px}
.bp-split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.bp-split-media{margin:0;height:740px;overflow:hidden}
.bp-split-media img{display:block;width:100%;height:100%;object-fit:cover}
.bp-split-text{display:flex;flex-direction:column;justify-content:center;padding:0 0 0 108px}
.bp-split-text .bp-body{max-width:542px}
.bp-split-reverse .bp-split-media{order:2;height:514px}
.bp-split-reverse .bp-split-text{order:1;justify-content:flex-start;padding:120px 50px 0 0}
.bp-split-reverse .bp-split-text h2{margin-bottom:16px}
.bp-list{margin:0;padding-left:25px;list-style:disc}
.bp-list li{list-style:inherit}
.bp-split-text .wp-block-buttons{margin-top:35px}

/* Press strip: Bridget image-carousel (250px slides with rules). */
.bp-press{padding:48px 0 96px}
.bp-press-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.bp-press-row li{display:flex;width:250px;height:105px;box-sizing:border-box;align-items:center;justify-content:center;padding:0 32px;border-left:1px solid var(--bp-ink)}
.bp-press-row li:first-child{border-left:0}
.bp-press-row img{display:block;max-width:100%;max-height:44px;width:auto;height:auto;filter:brightness(0)}

/* Stats band: Bridget About stats (black, 120px padding, three 400px items). */
.bp-stats{background:var(--bp-ink);color:var(--bp-paper);padding:120px}
.bp-stats .bp-h2{text-align:center;line-height:1.1}
.bp-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1200px;margin:25px auto 0;padding:0;list-style:none}
.bp-stats-row li{padding:28px 65px;text-align:center}
.bp-stats-row li+li{border-left:1px solid rgb(255 255 255 / .5)}
.bp-stat-value{display:block;font:400 70px/1.26 var(--font-display)}
.bp-stat-label{display:block;margin-top:25px;font:500 17px/1.47 var(--font-sans);text-transform:uppercase}

/* Two gallery cards: Bridget gallery-component (643 x 400, 14px gap). */
.bp-gallery{padding:80px 0 0}
.bp-gallery .bp-h2{max-width:700px;margin:0 auto 40px;text-align:center}
.bp-gallery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bp-gallery-card{position:relative;display:flex;height:400px;align-items:flex-end;justify-content:center;overflow:hidden;padding:40px;color:var(--bp-paper);text-decoration:none}
.bp-gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bp-gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0 / 0) 35%,rgb(0 0 0 / .55))}
.bp-gallery-card span{position:relative;z-index:1;font:400 21px/1.33 var(--font-display);letter-spacing:.5px;text-transform:uppercase}
.bp-gallery-card:hover img{transform:scale(1.04)}

/* Significant sales: Bridget featured-properties (header row, three 416px cards, centered View all). */
.bp-sales{padding:48px 0 96px}
.bp-sales-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:60px}
.bp-sales-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;justify-content:center}
.bp-sales-grid.bp-count-2{grid-template-columns:repeat(2,minmax(0,416px))}
.bp-sale{display:block;color:inherit;text-decoration:none;text-align:center}
.bp-sale-media{position:relative;margin:0;aspect-ratio:416/342;overflow:hidden;background:#777}
.bp-sale-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bp-sale:hover .bp-sale-media img{transform:scale(1.04)}
.bp-badge{position:absolute;top:0;right:0;z-index:1;padding:6px 20px;background:var(--bp-ink);color:var(--bp-paper);font:700 11px/1.4 var(--font-sans);letter-spacing:1px;text-transform:uppercase}
.bp-sale h3{margin:22px 0 6px;font:400 16px/1.4 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.bp-sale p{font:700 11px/1.7 var(--font-sans);letter-spacing:.5px;text-transform:uppercase}
.bp-center{margin-top:60px;text-align:center}
.bp-center .wp-block-buttons{justify-content:center}
.bp-center p.bp-center-copy{max-width:640px;margin:0 auto 30px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.bp-sales .bp-view-all{min-width:250px}

/* Home search slot: Bridget properties-grid (h2 centered, 48px top, 76px bottom). */
.bp-search{padding:48px 0 76px}
/* Home search page: the photo hero drops to 420px so the first results sit nearer the fold (Bridget's search opens on the results). Copy unchanged. */
body:has(.ags--search:not(.ags--location)) .page-hero:not(.hero-video){height:420px;min-height:420px}
.bp-search .bp-h2{max-width:860px;margin:0 auto 32px;text-align:center}

/* Valuation band: Bridget sellers image-section (535px, photo, centered form row). */
.bp-value{position:relative;display:flex;min-height:535px;align-items:center;justify-content:center;overflow:hidden;background:var(--bp-ink);color:var(--bp-paper);text-align:center}
.bp-value>.bp-value-photo{position:absolute;inset:0;margin:0}
.bp-value>.bp-value-photo img{width:100%;height:100%;object-fit:cover}
.bp-value::after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / .45)}
.bp-value .bp-container{position:relative;z-index:1;padding-block:115px}
.bp-value .wp-block-buttons{justify-content:center}
.bp-value p.bp-value-copy{max-width:640px;margin:20px auto 40px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}

/* Connect: Bridget image-section (689px, copy in a left 750px column with 50px padding, left aligned). */
.connect-band>div.wp-block-group{width:min(100%,750px);box-sizing:border-box;padding:50px;text-align:left}
.connect-band h2{margin:0;font:400 38px/1.3 var(--font-display);letter-spacing:1px}
.connect-band .connect-rule{width:84px;margin:28px 0 30px}
.connect-band p:not(.eyebrow){max-width:650px;margin:0 0 62px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.connect-band .wp-block-buttons,.connect-band .wp-block-button{justify-content:flex-start;margin-inline:0}
.connect-band .wp-block-button__link{min-width:226px;min-height:58px;padding:20px 46px;font:600 14px/1 var(--font-sans);letter-spacing:1.5px}

/* Footer: Bridget footer composition (white, 60px top, name, 230px role column, contact cells, legal, bottom row). */
.site-footer.bp-footer{background:var(--bp-paper);color:var(--bp-ink);padding:60px 0 30px}
.bp-footer .bp-container{max-width:1440px}
.bp-footer h2.bp-footer-name{margin:0 0 45px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bp-ink)}
.bp-footer-info{display:grid;grid-template-columns:230px minmax(0,1fr);gap:0}
.site-footer.bp-footer p.bp-footer-role{margin:0;font:400 21px/1.5 var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--bp-ink)}
.bp-footer-cells{display:grid;grid-template-columns:repeat(2,minmax(0,400px));justify-content:space-between;row-gap:47px}
.bp-footer-cell{position:relative;padding-left:50px}
.bp-footer-cell svg{position:absolute;left:0;top:0;width:24px;height:24px}
.site-footer.bp-footer .bp-footer-cell p{margin:0;font:400 14px/1.6 var(--font-sans);letter-spacing:1.5px;color:var(--bp-ink)}
.site-footer.bp-footer .bp-footer-cell .bp-footer-label{font-weight:700;text-transform:uppercase}
.site-footer.bp-footer a{color:var(--bp-ink)}
.bp-footer-cell a{font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.bp-footer-legal{display:grid;grid-template-columns:186px minmax(0,1fr);gap:43px;margin-top:40px}
.bp-footer-legal .bp-footer-lockup{margin:0}
.bp-footer-legal .bp-footer-lockup img{display:block;width:186px;height:auto}
.site-footer.bp-footer .bp-footer-legal p{margin:0;font:400 12px/1.6 var(--font-sans);letter-spacing:1px;color:var(--bp-ink)}
.site-footer.bp-footer .bp-footer-legal a.trec-compliance-link{display:inline;font-size:12px!important;line-height:1.6;color:var(--bp-ink);text-decoration:underline}
.bp-footer-legal .bp-footer-broker{margin-top:20px!important}
.bp-footer .ag-photo-credits{margin-top:20px;font:400 12px/1.6 var(--font-sans);color:var(--bp-ink)}
.bp-footer .ag-photo-credits a{color:var(--bp-ink)}
.site-footer.bp-footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:none;margin:40px 0 0;padding:30px 0 0;border-top:1px solid var(--bp-rule);color:var(--bp-ink);font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.site-footer.bp-footer .footer-bottom a{color:var(--bp-ink);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.bp-footer .footer-bottom .bp-socials{justify-self:end;margin:0}
.bp-footer .footer-bottom .bp-socials a{text-decoration:none}

/* Consent control: Bridget lp-consent banner and footer privacy link. */
.ag-analytics-settings{position:static!important;display:block;margin:0 auto;padding:12px;border:0!important;background:transparent!important;box-shadow:none!important;color:#000!important;font:400 11px/1.4 var(--font-sans)!important;text-decoration:underline;cursor:pointer}
body:has(#ag-analytics-settings) .site-footer{padding-bottom:30px}
.ag-analytics-choice{left:32px!important;right:32px;bottom:20px!important;max-width:none!important;display:flex;align-items:center;justify-content:space-between;gap:48px;padding:20px 24px!important;border:0!important;box-shadow:0 4px 30px rgb(0 0 0 / .18)!important;color:#000!important}
.ag-analytics-choice[hidden]{display:none!important}
.ag-analytics-choice p{max-width:817px;margin:0!important;font:400 12px/1.6 var(--font-sans)}
.ag-analytics-choice a{color:#000!important}
.ag-analytics-choice-actions{flex:0 0 auto}
.ag-analytics-choice-actions button{padding:12px 24px!important;border:1px solid #000!important;background:#fff!important;color:#000!important;font:500 12px/1.33 var(--font-sans)!important;text-transform:uppercase}
.ag-analytics-choice-actions #ag-analytics-accept{background:#000!important;color:#fff!important}

@media(max-width:1199px){
  .bp-split-text{padding-left:60px}
  .bp-stats{padding:100px 40px}
  .bp-stats-row li{padding:28px 30px}
}
@media(max-width:1023px){
  .bp-intro-grid,.bp-split-grid,.bp-footer-info,.bp-footer-legal{grid-template-columns:minmax(0,1fr)}
  .bp-intro-copy{max-width:none}
  .bp-intro-grid{gap:60px}
  .bp-split-media,.bp-split-reverse .bp-split-media{order:0;height:auto;aspect-ratio:668/528}
  .bp-split-text,.bp-split-reverse .bp-split-text{order:1;padding:30px 0 0}
  .bp-split-text .bp-body{max-width:none}
  .bp-split-reverse{padding-top:32px}
  .bp-stats{padding:60px 40px}
  .bp-stats-row{grid-template-columns:1fr}
  .bp-stats-row li+li{border-left:0;border-top:1px solid rgb(255 255 255 / .5)}
  .bp-gallery{padding-top:80px}
  .bp-gallery-card{height:240px;padding:24px}
  .bp-sales-head{justify-content:center;text-align:center}
  .bp-split-short .bp-split-text{padding-left:0}
  .bp-split-short .bp-split-media{height:auto}
  .bp-gallery-row.bp-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .bp-value-hero{min-height:0}
  .bp-value-hero h1{font-size:40px}
  .bp-sales-grid,.bp-sales-grid.bp-count-2{grid-template-columns:1fr;gap:48px}
  .bp-press-row{flex-wrap:nowrap}
  .bp-press-row li{flex:1 1 0;width:auto;max-width:250px;padding:0 20px}
  .site-footer.bp-footer p.bp-footer-role{margin-bottom:30px}
  .bp-footer-cells{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}
  .bp-footer-legal{gap:24px}
  .site-footer.bp-footer .footer-bottom{grid-template-columns:1fr;justify-items:center;text-align:center}
  .bp-footer .footer-bottom .bp-socials{justify-self:center}
  .ag-analytics-choice{flex-direction:column;align-items:flex-start;gap:16px;left:16px!important;right:16px}
}
@media(max-width:767px){
  .connect-band>div.wp-block-group{padding:40px 25px}
  .connect-band h2{font-size:32px}
  :root{--bp-gutter:25px}
  .bp-h2,.bp-section h2{font-size:32px;line-height:1.4;letter-spacing:.75px}
  .bp-boxed{padding-top:60px}
  .bp-boxed .bp-statement{font-size:24px}
  .bp-intro{padding:100px 0 60px}
  .bp-intro-grid{gap:60px}
  .bp-split-media,.bp-split-reverse .bp-split-media{aspect-ratio:340/269}
  .bp-intro-copy{text-align:center}
  .bp-intro-copy .bp-wordmark img{margin-inline:auto}
  .bp-intro .bp-socials{justify-content:center}
  .bp-press-row{flex-wrap:nowrap}
  .bp-press-row li{width:33.333%;height:80px;padding:0 12px}
  .bp-stats{padding:40px 25px}
  .bp-stats-row li{padding:60px 50px 0}
  .bp-stats-row li+li{border-top:0}
  .bp-stat-value{font-size:56px}
  .bp-gallery-row,.bp-gallery-row.bp-gallery-3{grid-template-columns:1fr}
  .bp-gallery-card{height:300px}
  .bp-value-hero h1{font-size:32px;line-height:1.4}
  .bp-development-list>li{flex-basis:100%}
  .bp-value-hero .bp-container{padding-block:120px 60px}
  .bp-form-panel{padding:24px}
  .bp-story-list .story-entry h2{font-size:24px}
  .bp-sales-head{margin-bottom:40px}
  .bp-footer-cells{grid-template-columns:1fr;row-gap:30px}
  .bp-footer h2.bp-footer-name{margin-bottom:30px}
  .bp-footer-legal{justify-items:center;text-align:center}
}

/* Neighborhood index: Bridget neighborhood card. 325px square photo, name set left at 94px beside a
   1 x 150 rule that rises 70px into the photo, white .75 veil with an outlined control on hover. Where the
   control sits below the card (phones, no hover) it takes the band's text color, so it stays visible on dark bands. */
.ag-directory-group .ag-directory-entry>h3{position:relative;margin:0;padding:37px 30px 0 94px;font:700 14px/1.4 var(--font-sans);letter-spacing:1px;text-align:left;text-transform:uppercase}
.ag-directory-group .ag-directory-entry>h3::before{content:"";position:absolute;left:55px;top:-70px;width:1px;height:150px;background:#c0c0c0;z-index:1;pointer-events:none}
.ag-directory-group .ag-directory-entry>p:not(:last-child){padding:6px 30px 0 94px;text-align:left;font-size:13px;letter-spacing:.5px}
.ag-directory-group .ag-directory-entry>p:last-child a{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:20px 46px;box-sizing:border-box;border:2px solid currentColor;color:inherit;background:transparent;font:700 14px/1 var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;text-decoration:none}
@media(min-width:751px) and (hover:hover){.ag-directory-group .ag-directory-entry>p:last-child{background:rgb(255 255 255 / .75)}.ag-directory-group .ag-directory-entry>p:last-child a{color:var(--bp-ink)}}
@media(min-width:901px){.ag-directory-group .ag-directory-entry{padding-bottom:70px}}
@media(max-width:750px){.ag-directory-group .ag-directory-entry>h3{padding-left:94px}.ag-directory-group .ag-directory-entry>p:last-child{justify-self:start;padding-left:94px}.ag-directory-group .ag-directory-entry>p:last-child a{min-height:44px;padding:12px 24px;font-size:12px}}

/* Community and area guides: Bridget neighborhood page. The editorial sections between the hero and
   the photograph read as one white 780px column: centered 38px welcome title, 29px uppercase subheads,
   120px above and below the block, then a full-bleed 800px photograph. Listings, FAQ and sources keep
   their own AG sections. Area guides carry no mid-page photograph, so only the column frame applies to them. */
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map){padding:0 var(--bp-gutter);background:var(--bp-paper);color:var(--bp-ink)}
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map) p{color:inherit}
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map) .section-inner{max-width:780px;margin-inline:auto;padding:0}
.ag-guide-hero+:is(.ag-guide-section,.ag-guide-map){padding-top:120px}
.ag-guide-hero+:is(.ag-guide-section,.ag-guide-map) h2{max-width:none;margin:0 0 25px;text-align:center}
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map):not(.ag-guide-hero+:is(.ag-guide-section,.ag-guide-map)) h2{margin:40px 0 20px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-align:left;text-transform:uppercase}
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map):not(:has(+:is(.ag-guide-section,.ag-guide-map))){padding-bottom:120px}
.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map) .eyebrow{color:inherit}
.ag-guide-hero~.ag-guide-image-section{height:clamp(320px,55.6vw,800px);padding:0}
.ag-guide-hero~.ag-guide-image-section img{width:100%;height:clamp(320px,55.6vw,800px);max-height:none;object-fit:cover}
@media(max-width:767px){.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map){padding-inline:25px}.ag-guide-hero+:is(.ag-guide-section,.ag-guide-map){padding-top:72px}.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map):not(:has(+:is(.ag-guide-section,.ag-guide-map))){padding-bottom:72px}.ag-guide-hero~:is(.ag-guide-section,.ag-guide-map):not(.ag-guide-hero+:is(.ag-guide-section,.ag-guide-map)) h2{font-size:24px}}

/* Header dropdowns: ABOUT ME, CONCIERGE SERVICE, PROPERTIES and HOME SEARCH (Bridget .navigation .sub-nav, read live
   2026-10-08 and re-measured 2026-10-09 at 1440; all four of her dropdowns are one component).
   Reference: every top item is a 12 px 13 px padded box with no gap between items; the panel hangs from the bottom of that
   box with its left edge on the box, width fitted to its links (max 300 px), list rgba(26,26,26,.75) with 12 px block
   padding, links 19 px 13 px, sans 14 px bold uppercase, 1.5 px tracking, line height 1, white, one per 52 px row. Hidden
   it sits 10 px higher at opacity 0; it opens on hover with a .2 s transition. The link's 1 px #C6C6C6 underline grows
   from 0 to the text width on hover. Her panel lets a long label overflow the 300 px panel; AG wraps it instead.
   AG additions: the panel also opens on keyboard focus and click (site.js keeps aria-expanded true), one panel open at a
   time, Escape closes. Triggers keep Italiana, the approved display face on every header item. Desktop only, as in the
   reference; the side menu keeps its plain links. */
.desktop-nav{gap:0}
.desktop-nav>a,.desktop-nav-trigger,.header-phone{padding:12px 13px;line-height:15px;transform:none}
.header-phone{margin-left:0}
.desktop-nav-menu{position:relative;display:flex;align-items:center}
.desktop-nav-trigger{margin:0;border:0;background:none;color:inherit;cursor:pointer;font-family:var(--font-display);font-size:14px;font-weight:400;line-height:1.1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 2px oklch(0 0 0/.78),0 0 10px oklch(0 0 0/.34)}
.desktop-nav-trigger:focus-visible{outline:2px solid var(--background);outline-offset:-2px}
.desktop-nav-panel{position:absolute;top:100%;left:0;z-index:80;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s,transform .2s,visibility 0s linear .2s}
/* Visibility switches on at once when opening, so the first link is focusable for an immediate Tab; it switches off after the fade. */
.desktop-nav-menu.is-open .desktop-nav-panel,.desktop-nav-menu:not([data-ag-ready]):hover .desktop-nav-panel{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s,visibility 0s}
.desktop-nav-panel ul{display:block;width:max-content;max-width:300px;margin:0;padding:12px 0;list-style:none;background:rgb(26 26 26/.75)}
.desktop-nav-panel li{margin:0}
.desktop-nav .desktop-nav-panel a{display:block;max-width:300px;padding:19px 13px;color:#fff;font-family:var(--font-sans);font-size:14px;font-weight:700;line-height:1;letter-spacing:1.5px;text-transform:uppercase;text-shadow:none;white-space:normal;transform:none;transition:color .2s}
.desktop-nav .desktop-nav-panel a:hover,.desktop-nav .desktop-nav-panel a:focus-visible{color:#fff}
.desktop-nav-panel a span{position:relative;display:inline;background-image:linear-gradient(#c6c6c6,#c6c6c6);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .2s}
.desktop-nav-panel a:hover span,.desktop-nav-panel a:focus-visible span{background-size:100% 1px}
.desktop-nav-panel a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
@media(prefers-reduced-motion:reduce){.desktop-nav-panel,.desktop-nav-panel a span{transition:none}}

/* Home: Bridget's stats band grid (About stats geometry, 120px padding, 70px figures, 17px uppercase labels, .5 white rules).
   AG's five statistics stay word for word; the template's sixth cell has no approved AG fact, so the second row centers its two.
   The heading and paragraph take the 38px display and 16px body roles. */
.proof-band{padding:120px clamp(1.25rem,6vw,7rem)}
.proof-band h2{margin:0 0 25px;font:400 38px/1.3 var(--font-display);letter-spacing:1px}
.proof-inner>p{max-width:1000px;margin:0 auto 60px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px;color:var(--background)}
.proof-grid{max-width:1200px;margin:0 auto}
.proof-stat{min-height:0;padding:28px 65px}
.proof-grid strong,.proof-stat.proof-hero strong{font:400 70px/1.26 var(--font-display)}
.proof-grid span{max-width:none;margin-top:25px;font:500 17px/1.47 var(--font-sans);letter-spacing:0;text-transform:uppercase}
.proof-stat::before,.proof-stat::after{background:rgb(255 255 255 / .5)}
/* Home intro: Bridget pairs the copy with her film. AG's approved film does not exist yet, so the portrait keeps the slot and the
   existing label reads as a quiet caption rather than a badge. */
.intro-video-placeholder .intro-video-label{padding:6px 12px;background:rgb(0 0 0 / .55);color:#fff;font:600 11px/1.4 var(--font-sans);letter-spacing:.14em;text-transform:uppercase}
/* Home listings: Bridget featured-properties cards (416 by 342 photo, black status badge top right, 16px centered display title,
   11px bold uppercase facts). AG's two represented homes and its search tile all take the card. */
.property-grid{grid-template-columns:repeat(3,minmax(0,416px));justify-content:center;gap:40px}
.property-card{text-align:center}
.property-image{aspect-ratio:416/342;margin-bottom:22px}
.property-image span{top:0;right:0;left:auto;padding:6px 20px;font:700 11px/1.4 var(--font-sans);letter-spacing:1px}
.property-card .eyebrow{margin-bottom:8px}
.property-card h3{margin:0 0 6px;font:400 16px/1.4 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.property-card p:not(.eyebrow):not(.ag-inline-link){margin:0;font:700 11px/1.7 var(--font-sans);letter-spacing:.5px;text-transform:uppercase}
.property-card .property-facts,.property-card .property-price{margin-top:0}
.property-card .ag-inline-link{margin-top:16px}
@media(max-width:1023px){.property-grid{grid-template-columns:minmax(0,416px)}.proof-stat{padding:28px 30px}}
/* Tablet keeps Bridget's three-across stats row (the source sheet collapses to one column below 900px). */
@media(min-width:768px) and (max-width:900px){
  .proof-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .proof-stat,.proof-stat:nth-child(4){grid-column:span 2;padding:28px 12px}
  .proof-stat:nth-child(4){grid-column:2/span 2}
  .proof-stat:nth-child(n+2)::before{left:0;right:auto;top:14%;bottom:14%;width:1px;height:auto}
  .proof-stat:nth-child(4)::before{content:none}
  .proof-stat:nth-child(4)::after,.proof-stat:nth-child(5)::after{display:block}
  .proof-grid strong,.proof-stat.proof-hero strong{font-size:56px}
  .proof-grid span{margin-top:18px;font-size:14px}
}
@media(max-width:767px){.proof-band{padding:40px 25px}.proof-stat{padding:60px 50px 0}.proof-grid strong,.proof-stat.proof-hero strong{font-size:56px}}

/* Guide and directory heroes: Bridget carries a one-line subtitle under the title. AG's hero copy keeps its words and takes the
   16px body face in sentence case, 720px wide, so three to six sentences stay readable over a photograph. */
.page-hero.ag-guide-hero .hero-copy{max-width:720px;font:400 16px/1.6 var(--font-sans);letter-spacing:.04em;text-transform:none}

/* Neighborhood directory: Bridget's directory is one white field. The area groups keep their headers, intros and links; the
   Prosper and Celina band drops its black background. On devices without hover the Read the guide control becomes a quiet
   text link under the descriptor and the whole card is the tap target. */
.ag-directory-group.dark-section{background:var(--bp-paper);color:var(--bp-ink)}
.ag-directory-group.dark-section a,.ag-directory-group.dark-section .directory-list{color:inherit;border-color:var(--bp-rule)}
.ag-directory-group{padding-block:96px 32px}
.ag-directory-intro p,.ag-directory-group .section-inner>p{font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
@media(hover:none),(max-width:750px){
  .ag-directory-entry{position:relative}
  .ag-directory-group .ag-directory-entry>p:last-child a{min-height:44px;padding:12px 0;border:0;background:transparent;color:inherit;font:600 12px/1 var(--font-sans);letter-spacing:.12em;text-decoration:underline;text-underline-offset:.3em}
  .ag-directory-group .ag-directory-entry>p:last-child a::after{content:"";position:absolute;inset:0}
}

/* Guides and area guides below the photograph: Bridget runs her browse-properties band, then the page ends. AG keeps every
   section and its copy. The inventory section becomes a distinct band (hairlines, 96px padding, centered 38px heading, the
   cards and the existing View all control), the sections after it read as one white column with 29px subheads 80px apart,
   For buyers and For sellers sit side by side from 768px with their existing links as outline buttons, and the area guide's
   Compare the settings list takes the same white column. */
.ag-guide-hero~:is(.ag-guide-listings,.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices){padding:80px var(--bp-gutter) 0;background:var(--bp-paper);color:var(--bp-ink)}
.ag-guide-hero~:is(.ag-guide-related,.ag-guide-choices):not(:has(~:is(.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related))){padding-bottom:96px}
.ag-guide-hero~:is(.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices) .section-inner{max-width:1066px}
.ag-guide-hero~:is(.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices) h2{margin:0 0 20px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-transform:uppercase}
.ag-guide-hero~:is(.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices) p{max-width:780px;color:inherit;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.ag-guide-hero~.ag-guide-choices .section-inner>a,.ag-guide-hero~:is(.ag-guide-sources,.ag-guide-related) a{color:inherit}
.ag-guide-hero~.ag-guide-listings{padding:96px var(--bp-gutter);border-top:1px solid var(--bp-rule);border-bottom:1px solid var(--bp-rule)}
.ag-guide-hero~.ag-guide-listings .section-inner{max-width:1300px}
.ag-guide-hero~.ag-guide-listings h2{margin:0 0 25px;font:400 38px/1.3 var(--font-display);letter-spacing:1px;text-align:center;text-transform:uppercase}
.ag-guide-hero~.ag-guide-listings .ags-teaser__count{text-align:center}
.ag-guide-hero~.ag-guide-search .section-inner{text-align:center}
.ag-guide-hero~.ag-guide-search p{margin-inline:auto}
.ag-guide-hero~.ag-guide-search .wp-block-buttons{justify-content:center}
.ag-guide-actions p>a:only-child{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:20px 46px;border:1px solid currentColor;color:inherit;font:600 14px/1 var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .3s ease,color .3s ease}
.ag-guide-actions p>a:only-child:hover{background:var(--bp-ink);color:var(--bp-paper)}
@media(min-width:768px){
  .ag-guide-hero~.ag-guide-actions .section-inner{column-count:2;column-gap:40px}
  .ag-guide-hero~.ag-guide-actions .section-inner>*{break-inside:avoid}
  .ag-guide-hero~.ag-guide-actions h2:not(:first-child){margin-top:0;break-before:column}
}
@media(max-width:767px){
  .ag-guide-hero~:is(.ag-guide-listings,.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices){padding-inline:25px}
  .ag-guide-hero~:is(.ag-guide-search,.ag-guide-actions,.ag-guide-faq,.ag-guide-sources,.ag-guide-related,.ag-guide-choices){padding-top:56px}
  .ag-guide-hero~.ag-guide-listings{padding-block:72px}
  .ag-guide-hero~.ag-guide-listings h2{font-size:32px}
  .ag-guide-actions p>a:only-child{width:100%}
}

/* Development detail (Fields, D056). Measured on bridgetramey.com/developments/colorfield, 2026-10-10:
   black hero 655px tall with the title at 70px, white copy section in a 1400px container with 50px gutters
   (38px uppercase H2, 14px/1.66 copy at 870px, 29px uppercase H3 over a list), then a black band with a
   centered 38px heading. At 390: 25px gutters, 40px title, 32px band heading. */
.page-hero.bp-devdetail-hero.has-image{height:655px;min-height:655px}
.page-hero.bp-devdetail-hero::after{background:rgb(0 0 0 / .55)}
.page-hero.bp-devdetail-hero .page-hero-inner{max-width:870px;padding:258px var(--bp-gutter) 60px}
.page-hero.bp-devdetail-hero h1{max-width:770px;margin-inline:auto;font-size:70px;line-height:1.25;letter-spacing:1px}
.page-hero.bp-devdetail-hero p.bp-devdetail-place{max-width:770px;margin:12px auto 0;font:400 16px/1.6 var(--font-sans);letter-spacing:1px;text-transform:none;color:#fff}
.bp-devdetail{padding:96px 0;color:var(--bp-ink);background:var(--bp-paper)}
.bp-devdetail-container{max-width:var(--bp-max);margin:0 auto;padding:0 var(--bp-gutter);box-sizing:border-box}
.bp-devdetail h2.bp-devdetail-h2{margin:0 0 20px;font:400 38px/1.1 var(--font-display);letter-spacing:normal;text-transform:uppercase;color:inherit}
.bp-devdetail h3.bp-devdetail-h3{margin:40px 0 16px;font:400 29px/1.1 var(--font-display);letter-spacing:normal;text-transform:uppercase;color:inherit}
.bp-devdetail .bp-devdetail-copy{max-width:870px;margin:0 0 56px}
.bp-devdetail .bp-devdetail-copy p{margin:0 0 20px;font:400 14px/1.66 var(--font-sans);letter-spacing:1px}
.bp-devdetail .bp-devdetail-copy p:last-child{margin-bottom:0}
.bp-devdetail-list{max-width:870px;margin:0;padding:0 0 0 20px;font:400 14px/1.66 var(--font-sans);letter-spacing:1px}
.bp-devdetail-list li{margin:0 0 8px}
.bp-devdetail-sources{padding-top:0}
.bp-devdetail-sources h3.bp-devdetail-h3{margin-top:0}
.bp-devdetail-sourcelist a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.bp-devdetail-dark{padding:140px 0;color:#fff;background:var(--bp-ink)}
.bp-devdetail-dark h2.bp-devdetail-h2{line-height:1.3;letter-spacing:1px}
.bp-devdetail-center{text-align:center}
.bp-devdetail .bp-devdetail-note{max-width:870px;margin:0 auto 30px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.bp-devdetail-dark .bp-center .bp-outline-button .wp-block-button__link{color:#fff;border-color:#fff}
.bp-devdetail-dark .bp-center .bp-outline-button .wp-block-button__link:hover{background:#fff;color:var(--bp-ink)}
@media(max-width:991px){.page-hero.bp-devdetail-hero.has-image{height:1024px;min-height:1024px}.page-hero.bp-devdetail-hero .page-hero-inner{padding-top:443px}.bp-devdetail{padding:64px 0}.bp-devdetail-dark{padding:40px 0 80px}}
@media(max-width:767px){.page-hero.bp-devdetail-hero.has-image{height:844px;min-height:844px}.page-hero.bp-devdetail-hero .page-hero-inner{padding:333px 25px 60px}.page-hero.bp-devdetail-hero h1{font-size:40px;line-height:1.6}.bp-devdetail-container{padding:0 25px}.bp-devdetail-dark h2.bp-devdetail-h2{font-size:32px;line-height:1.4}}

/* Community guides (D057). Measured on bridgetramey.com/neighborhoods/tarrytown, 2026-10-10
   (docs/evidence/bridget-neighborhood-2026-10-10/): 600px hero with the name at 70px (40px at 390), one white
   editorial column inside an 880px container with 50px gutters (780px of text), a centered 38px uppercase
   "Welcome to" title at y 720, 29px uppercase subheads set left, 16px/1.6 copy tracked 1px, then the full-width
   photograph. At 390: 25px gutters, 32px title, 21px subheads. The composition is built by
   tools/render-neighborhoods.mjs; this block carries only the measured type. */
.page-hero.ag-guide-hero.bp-nbhd-hero h1{font-size:70px;line-height:1.25;letter-spacing:1px}
.ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome h2{font-size:38px;line-height:1.3;letter-spacing:1px}
.ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome h3.ag-guide-subhead{max-width:780px;margin:48px auto 20px;font:400 29px/1.3 var(--font-display);letter-spacing:1px;text-align:left;text-transform:uppercase;color:inherit}
.ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome p{margin:0 auto 20px;font:400 16px/1.6 var(--font-sans);letter-spacing:1px}
.ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome p.ag-guide-map-link a{color:inherit;text-decoration:underline;text-underline-offset:.28em}
@media(max-width:767px){
  .page-hero.ag-guide-hero.bp-nbhd-hero h1{font-size:40px;line-height:1.6}
  .ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome h2{font-size:32px;line-height:1.4}
  .ag-guide-hero.bp-nbhd-hero~.ag-guide-welcome h3.ag-guide-subhead{margin-top:40px;font-size:21px;line-height:1.6;letter-spacing:.5px}
}

/* ==== Home hero control, measured on bridgetramey.com 2026-10-09 (theme 0.3.40). Bridget shows one control over the
   hero film: a 27 by 24 px white speaker icon 50 px from the right and bottom edges, no label, no border, no pause
   button, shown from 992 px and hidden at 900 px and below. AG keeps its soundtrack toggle in that exact place and
   form. The separate pause control stays for WCAG 2.2.2 but only appears to keyboard focus, so sighted visitors see
   one control as on Bridget; reduced motion already removes the film and the pause control together. ==== */
.hero-video .hero-sound-toggle{right:50px;bottom:50px;width:27px;height:24px;padding:0;gap:0;border:0;background:transparent;color:#fff;cursor:pointer;text-shadow:none;line-height:0}
.hero-video .hero-sound-toggle svg{display:block;width:27px;height:24px;stroke-width:1.6;filter:drop-shadow(0 1px 5px rgb(0 0 0/.7))}
.hero-video .hero-sound-toggle span{display:none}
.hero-video .hero-sound-toggle .hero-sound-icon--on,.hero-video .hero-sound-toggle.is-on .hero-sound-icon--off{display:none}
.hero-video .hero-sound-toggle.is-on .hero-sound-icon--on{display:block}
.hero-video .hero-sound-toggle:hover{border:0}
.hero-video .hero-sound-toggle:focus-visible{outline:2px solid #fff;outline-offset:6px}
.hero-video .hero-motion-toggle{right:auto;left:50px;bottom:50px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.hero-video .hero-motion-toggle:focus-visible{opacity:1;pointer-events:auto}
@media(max-width:991px){.hero-video .hero-sound-toggle{display:none}}
@media(max-width:767px){.hero-video .hero-sound-toggle{top:auto;right:50px;bottom:50px;width:27px;height:24px;border:0;background:transparent}.hero-video .hero-motion-toggle{left:25px;bottom:25px}}
