/* Michele Mahl — site styles (matched to her current site: light greys, thin serif, framed panels) */
:root {
  --ink: #1c1c1c;
  --ink-2: #3b3b3b;
  --shingle: #707070;
  --dune: #f3f3f3;
  --paper: #ffffff;
  --pond: #1c1c1c;
  --brass: #1c1c1c;
  --line: #dddddd;
  --on-ink: #ffffff;
  --on-ink-muted: #d4d4d4;
  --display: "Gilda Display", "Didot", Georgia, "Times New Roman", serif;
  --body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --wrap: 1240px;
  --gutter: clamp(16px, 4vw, 48px);
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 15.5px; font-weight: 400; line-height: 1.95; letter-spacing: .02em; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.eyebrow { font-size: 13.5px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin: 0 0 14px; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.15; letter-spacing: .02em; text-wrap: balance; margin: 0; }
h2 { font-size: clamp(25.5px, 3.15vw, 40.5px); }
h3 { font-size: 19.5px; }
p { margin: 0 0 1.1em; }
.lede { font-size: 15.5px; color: var(--ink); max-width: 64ch; }
.center { text-align: center; }
.center .lede { margin-inline: auto; }

.btn { display: inline-block; padding: 16px 34px; border: 2px solid var(--ink); color: var(--ink); font-family: var(--body); font-size: 17px; letter-spacing: 0; text-decoration: none; background: transparent; transition: background .2s, color .2s; }
.btn:hover { background: var(--ink); color: #fff; }
.btn-light { border-color: #fff; color: #fff; }
.btn-light:hover { background: #fff; color: var(--ink); }

/* Header */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; display: flex; align-items: center; gap: 24px; padding: 18px clamp(16px, 1.6vw, 28px); background: #fff; border-bottom: 1px solid var(--line); }
.brand { display: block; text-decoration: none; margin-right: auto; flex-shrink: 0; }
.brand img { width: clamp(220px, 21vw, 380px); height: auto; }
.brand .logo-white { display: none; }
.main-nav { display: flex; gap: clamp(18px, 2.4vw, 46px); }
.main-nav a { font-size: 15.5px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.main-nav a:hover { opacity: .65; }
.menu-toggle { background: none; border: 0; padding: 8px; cursor: pointer; display: grid; gap: 6px; margin-left: clamp(8px, 2vw, 36px); }
.menu-toggle span { display: block; width: 38px; height: 3px; background: currentColor; border-radius: 2px; }
.site-header { color: var(--ink); }
body.home .site-header { position: absolute; left: 0; right: 0; top: 0; background: transparent; border: 0; color: #fff; }
body.home .brand .logo-dark { display: none; }
body.home .brand .logo-white { display: block; }
@media (max-width: 1180px) { .main-nav { display: none; } }

.drawer { position: fixed; inset: 0; z-index: 100; background: #fff; overflow-y: auto; padding: 90px var(--gutter) 60px; }
.drawer-close { position: absolute; top: 18px; right: 22px; background: none; border: 0; font-size: 34.5px; line-height: 1; cursor: pointer; color: var(--ink); }
.drawer-cols { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.drawer a { display: block; font-family: var(--display); font-size: 18px; text-decoration: none; padding: 4px 0; line-height: 1.4; }
.drawer a:hover { opacity: .6; }
.drawer-h { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--shingle); margin: 26px 0 8px; }
.drawer-h:first-child { margin-top: 0; }
@media (max-width: 760px) { .drawer-cols { grid-template-columns: 1fr; gap: 0; } }
body.drawer-open { overflow: hidden; }

/* Hero (homepage video) */
.hero { position: relative; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.35)), var(--hero-img, none) center/cover no-repeat, #58677a; }
.hero .wrap { max-width: none; padding-inline: clamp(16px, 2.6vw, 50px); }
.hero-video { overflow: hidden; min-height: min(100vh, 980px); display: flex; align-items: flex-end; }
.hero-video .wrap { position: relative; z-index: 2; width: 100%; padding-block: 160px clamp(70px, 12vh, 140px); }
.hero-media { position: absolute; inset: 0; z-index: 0; }
.hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.hero-media video.on { opacity: 1; }
.hero-video::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(10,20,30,.28), rgba(10,20,30,.12) 45%, rgba(10,20,30,.42)); }
.hero .eyebrow { color: #fff; font-size: clamp(13.5px, 1.17vw, 20px); letter-spacing: .04em; }
.hero h1 { font-size: clamp(30px, 3.3vw, 49.5px); max-width: 17ch; line-height: 1.12; }
.towns { list-style: none; padding: 0; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: clamp(12.5px, 1.12vw, 20px); letter-spacing: .03em; text-transform: uppercase; }
.towns li:not(:last-child)::after { content: "▪"; margin: 0 12px; font-size: .7em; vertical-align: .15em; }
.towns a { text-decoration: none; }
.towns a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .hero-media video:not(.on) { display: none; } }

/* Sections */
section.block { padding-block: clamp(70px, 8vw, 120px); }
.block.alt { background: var(--dune); }
.block.dark { background: #262626; color: #fff; }
.block.dark .eyebrow { color: #fff; }
.block.dark .lede { color: var(--on-ink-muted); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 90px); align-items: end; }
.section-head { text-align: center; max-width: 1080px; margin: 0 auto 50px; }
.section-head h2 { margin-bottom: 26px; }
.section-head p { max-width: none; }

/* Framed panel: grey box with an inset white rule */
.framed { background: var(--dune); outline: 4px solid #fff; outline-offset: -28px; padding: clamp(56px, 7vw, 110px) clamp(40px, 6vw, 120px); }
.framed .eyebrow { margin-bottom: 18px; }
.framed h1, .framed h2 { margin-bottom: 28px; }
.framed h3 { font-size: clamp(18px, 1.5vw, 22.5px); margin: 0 0 4px; }
.framed h3 + p { margin-top: 0; }
.framed p + h3 { margin-top: 36px; }
.framed .btn { margin-top: 18px; }

/* Feature: photo half + framed panel half */
.feature { display: grid; grid-template-columns: 1fr 1fr; background: var(--dune); align-items: stretch; }
.feature-photo { margin: 0; min-height: 560px; position: relative; overflow: hidden; }
.feature-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 25%); }
.feature-panel { display: flex; align-items: center; padding: 26px; }
.feature-panel .framed { width: 100%; }
.feature.flip .feature-photo { order: 2; }
.feature-overlay { position: relative; background: var(--img) center/cover no-repeat; padding: 60px clamp(16px, 2.4vw, 46px); }
.feature-overlay .framed { max-width: 960px; }
.feature-overlay.right .framed { margin-left: auto; }
@media (max-width: 900px) {
  .feature { grid-template-columns: 1fr; }
  .feature.flip .feature-photo { order: 0; }
  .feature-photo { min-height: 0; aspect-ratio: 4 / 5; max-height: 640px; }
  .feature-panel { padding: 16px; }
  .framed { outline-offset: -14px; padding: 48px 32px; }
  .feature-overlay { padding: 200px 16px 16px; background-position: 70% center; }
}

/* Stats boxes */
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 50px; }
.stat { border: 5px solid #fff; padding: 64px 28px; text-align: center; }
.stat .fig { font-family: var(--display); font-size: clamp(30px, 3vw, 48px); line-height: 1.1; }
.stat p { margin: 22px auto 0; max-width: 30ch; line-height: 1.85; }
.stats-head { font-family: var(--display); font-size: clamp(19.5px, 2.25vw, 31.5px); text-transform: uppercase; letter-spacing: .04em; text-align: center; }
.stats + .btn, .stats-foot { margin-top: 50px; }
@media (max-width: 860px) { .stats { grid-template-columns: 1fr; } .stat { padding: 40px 24px; } }

/* Town carousel */
.carousel { position: relative; }
.carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 22px) / 4); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 2px; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track a { scroll-snap-align: start; position: relative; display: block; aspect-ratio: 5 / 4; overflow: hidden; text-decoration: none; }
.carousel-track img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.carousel-track a:hover img { transform: scale(1.04); }
.carousel-track a::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.14); z-index: 1; }
.carousel-track a::after { content: ""; position: absolute; inset: 22px; border: 3px solid rgba(255,255,255,.75); z-index: 2; }
.carousel-track span { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; color: #fff; font-family: var(--display); font-size: clamp(19.5px, 1.72vw, 28.5px); text-shadow: 0 1px 12px rgba(0,0,0,.35); text-align: center; padding: 0 30px; }
.car-btn { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; cursor: pointer; padding: 10px; color: var(--ink); }
.car-btn.prev { left: -64px; } .car-btn.next { right: -64px; }
@media (max-width: 1380px) { .car-btn.prev { left: -8px; } .car-btn.next { right: -8px; } .car-btn { background: rgba(255,255,255,.85); z-index: 5; } }
@media (max-width: 980px) { .carousel-track { grid-auto-columns: calc((100% - 22px) / 2); } }
@media (max-width: 560px) { .carousel-track { grid-auto-columns: 86%; } }

/* Press cards */
.press-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 60px); list-style: none; margin: 0; padding: 0; }
.press-card { background: #fff; display: flex; flex-direction: column; text-decoration: none; height: 100%; }
.press-card .pc-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--line); }
.press-card .pc-img img { width: 100%; height: 100%; object-fit: cover; }
.press-card .pc-img::after { content: ""; position: absolute; inset: 24px; border: 3px solid rgba(255,255,255,.7); }
.press-card .pc-body { padding: 30px 26px 40px; text-align: center; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.press-card .pc-pub { font-family: var(--display); font-size: 22.5px; letter-spacing: .01em; line-height: 1.1; }
.press-card h3 { font-size: 18px; line-height: 1.5; letter-spacing: .04em; }
.press-card .pc-in { font-family: var(--display); color: var(--shingle); font-size: 17px; letter-spacing: .04em; }
.press-card .pc-in em { font-style: italic; }
.press-card .pc-desc { text-align: left; margin: 12px 0 0; }
.press-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
@media (max-width: 980px) { .press-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .press-cards { grid-template-columns: 1fr; } }

/* Forms (shared) */
.form { display: grid; gap: 14px; }
.form .row { display: flex; gap: 14px; }
.form input[type=email], .form input[type=text], .form textarea { width: 100%; padding: 15px 16px; font: inherit; font-size: 14.5px; color: var(--ink); background: #fff; border: 1px solid #9a9a9a; border-radius: 0; }
.form button { background: transparent; color: var(--ink); border: 2px solid var(--ink); padding: 0 30px; font: 400 17px var(--body); cursor: pointer; white-space: nowrap; }
.form button:hover { background: var(--ink); color: #fff; }
.form .consent { display: flex; gap: 10px; font-size: 11px; line-height: 1.5; color: var(--ink-2); }
.form .consent input { margin-top: 3px; flex: none; width: 18px; height: 18px; }
.form .status { font-size: 13.5px; min-height: 1.4em; margin: 0; }
.hp { position: absolute; left: -9999px; }

/* Newsletter band */
.newsletter-band { background: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.45)), var(--nl-img) center/cover no-repeat, #6b6150; color: #fff; text-align: center; padding-block: clamp(70px, 9vw, 120px); }
.newsletter-band h2 { color: #fff; margin-bottom: 18px; }
.newsletter-band > .wrap > p { font-size: 17px; }
.nl-form { max-width: 1000px; margin: 30px auto 0; text-align: left; }
.nl-form input[type=email] { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.8); color: #fff; }
.nl-form input::placeholder { color: #fff; }
.nl-form button { border-color: #fff; color: #fff; }
.nl-form button:hover { background: #fff; color: var(--ink); }
.nl-form .consent, .nl-form .status { color: #fff; }
@media (max-width: 560px) { .form .row { flex-direction: column; } .form button { padding: 14px; } }

/* Floating contact button */
.float-contact { position: fixed; right: 24px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 60; display: grid; justify-items: end; gap: 10px; }
.float-btn { display: inline-flex; align-items: center; gap: 10px; background: #111; color: #fff; border: 0; border-radius: 999px; padding: 14px 26px; font: 600 16px var(--body); cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.float-card { background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 30px rgba(0,0,0,.15); padding: 18px 22px; min-width: 240px; }
.float-card a { display: block; padding: 7px 0; text-decoration: none; border-bottom: 1px solid var(--line); }
.float-card a:last-child { border: 0; }
.float-h { font-family: var(--display); font-size: 20px; margin: 0 0 6px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
/* Town pages */
.town-hero .wrap { padding-block: clamp(150px, 22vw, 300px) clamp(50px, 7vw, 80px); }
.town-hero .eyebrow a { text-decoration: none; }
.town-hero .eyebrow a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lede.big { font-family: var(--display); font-size: clamp(16.5px, 1.8vw, 22px); line-height: 1.45; color: var(--ink); max-width: 46ch; }
.town-intro .eyebrow { margin-bottom: 22px; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; margin-top: 40px; max-width: 980px; }
.town-life { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.town-secs { display: grid; gap: 34px; margin-top: 40px; }
.town-secs h3 { font-size: 20.5px; margin-bottom: 10px; }
.town-secs p { margin: 0; max-width: 62ch; }
.town-fig { margin: 0; position: sticky; top: 110px; }
.town-fig img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.favs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 44px; }
.fav h3 { font-family: var(--body); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--pond); border-bottom: 1px solid var(--ink); padding-bottom: 12px; margin-bottom: 8px; }
.fav ul { list-style: none; margin: 0; padding: 0; }
.fav li { padding: 9px 0; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 17px; }
.town-disc { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(32px, 6vw, 90px); }
.town-disc p { font-size: 16px; max-width: 62ch; margin: 0; }
.town-links { list-style: none; margin: 36px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.town-links a { display: block; padding: 10px 18px; border: 1px solid var(--ink); text-decoration: none; font-size: 12.5px; letter-spacing: .06em; }
.town-links a:hover { background: var(--ink); color: var(--on-ink); }

/* Town photo cards (homepage + overview) */
.town-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.town-cards a { display: block; text-decoration: none; }
.town-cards img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease; }
.town-cards a > img, .town-cards a > picture > img { display: block; }
.town-cards li { overflow: hidden; }
.town-cards a:hover img { transform: scale(1.03); }
.card-body { display: block; padding-top: 14px; }
.card-name { display: block; font-family: var(--display); font-size: 20px; line-height: 1.2; }
.card-short { display: block; font-size: 13.5px; color: var(--ink-2); margin-top: 6px; }
.town-cards a:hover .card-name { color: var(--pond); }

@media (max-width: 860px) {
  .two-col, .town-life, .town-disc { grid-template-columns: 1fr; }
  .town-fig { position: static; max-width: 460px; }
  .favs { grid-template-columns: 1fr 1fr; }
  .town-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .favs, .town-cards { grid-template-columns: 1fr; }
}
.town-hero { background: linear-gradient(180deg, rgba(21,33,44,.15) 0%, rgba(21,33,44,.1) 45%, rgba(21,33,44,.68) 100%), var(--hero-img, none) center/cover no-repeat, var(--ink); }

/* Inner pages */
.page-title { font-size: clamp(31.5px, 4.5vw, 54px); }
.split { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 90px); align-items: start; }
.split-text .page-title { margin-bottom: 26px; }
.lede-stack p { font-size: 16px; color: var(--ink-2); max-width: 60ch; }
.lede-stack p:first-child { font-family: var(--display); font-size: clamp(16px, 1.58vw, 19px); line-height: 1.45; color: var(--ink); }
.split-text > .btn { margin-top: 14px; }
.split-fig { margin: 0; }
.split-fig img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; }

.bio-rows { display: grid; gap: clamp(60px, 8vw, 110px); }
.bio-row { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 90px); align-items: center; }
.bio-row.flip figure { order: 2; }
.bio-row figure { margin: 0; }
.bio-row img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 25%; }
.bio-row h2 { font-size: clamp(21px, 2.4vw, 28.5px); margin-bottom: 20px; }
.bio-row p { max-width: 60ch; }
.two-up { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 90px); }
.two-up h2 { font-size: clamp(21px, 2.4vw, 28.5px); margin-bottom: 18px; }

.deals-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 32px; }
.deal figure { margin: 0 0 18px; }
.deal img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.deal .noimg { aspect-ratio: 3 / 2; background: var(--paper); border: 1px dashed var(--line); display: grid; place-items: center; color: var(--shingle); font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; }
.deal-meta { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--pond); margin: 0 0 8px; }
.deal h3 { font-size: 21px; }
.deal-amt { font-family: var(--display); font-size: 20px; color: var(--brass); margin: 6px 0 12px; font-variant-numeric: lining-nums; }
.deal-body p:last-child { margin-bottom: 0; }

.quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 40px; }
.quote { margin: 0; background: var(--paper); padding: 32px; border-top: 2px solid var(--ink); }
.block:not(.alt) .quote { background: var(--dune); }
.quote blockquote { margin: 0 0 20px; font-family: var(--display); font-size: 19px; line-height: 1.45; }
.quote figcaption { font-size: 12.5px; color: var(--ink-2); }

.press-list { list-style: none; margin: 50px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 28px; }
.press-list a { display: flex; flex-direction: column; gap: 10px; height: 100%; text-decoration: none; border-top: 2px solid var(--ink); padding-top: 20px; }
.press-list .pub { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--pond); }
.press-list h3 { font-size: 20px; }
.press-list p { font-size: 13.5px; color: var(--ink-2); margin: 0; }
.press-list .more { margin-top: auto; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.press-list a:hover h3 { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }

.steps { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.steps li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 28px 0; border-top: 1px solid rgba(21,33,44,.25); }
.steps .n { font-family: var(--display); font-size: 22.5px; color: var(--brass); line-height: 1; font-variant-numeric: lining-nums; }
.steps h3 { font-size: 20.5px; margin-bottom: 8px; }
.steps p { margin: 0; font-size: 14.5px; }
.checklist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.checklist li { padding: 14px 0 14px 28px; border-bottom: 1px solid var(--line); position: relative; }
.checklist li::before { content: ""; position: absolute; left: 4px; top: 23px; width: 10px; height: 1px; background: var(--brass); }

.narrow { max-width: 820px; }
.grid-form { grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-top: 32px; }
.grid-form .full { grid-column: 1 / -1; }
.grid-form label:not(.consent) { display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 7px; }
.grid-form input[type=tel], .grid-form input[type=number], .grid-form select { width: 100%; padding: 15px 16px; font: inherit; font-size: 14.5px; color: var(--ink); background: var(--paper); border: 1px solid var(--ink); border-radius: 0; }
.grid-form textarea { resize: vertical; }
.grid-form button { padding: 16px 30px; }
.contact-split .grid-form { margin-top: 40px; }
.contact-list { margin: 30px 0 0; display: grid; gap: 0; border-top: 1px solid var(--ink); }
.contact-list div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.contact-list dt { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--pond); padding-top: 3px; }
.contact-list dd { margin: 0; }

.calc { display: grid; grid-template-columns: 7fr 5fr; gap: 0; margin-top: 44px; border: 1px solid var(--ink); }
.calc-in { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 32px; }
.calc-in label { display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 7px; }
.calc-in input, .calc-in select { width: 100%; padding: 14px; font: inherit; font-size: 15.5px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); border-radius: 0; font-variant-numeric: tabular-nums; }
.calc-out { background: var(--ink); color: var(--on-ink); padding: 32px; }
.calc-out .eyebrow { color: #b08e62; }
.calc-total { font-family: var(--display); font-size: clamp(33px, 3.75vw, 45px); line-height: 1; margin: 6px 0 26px; font-variant-numeric: lining-nums tabular-nums; }
.calc-out dl { margin: 0 0 30px; }
.calc-out dl div { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.16); font-variant-numeric: tabular-nums; }
.calc-out dt { color: var(--on-ink-muted); }
.calc-out dd { margin: 0; }

.journal { list-style: none; margin: 44px 0 0; padding: 0; border-top: 1px solid var(--ink); columns: 2; column-gap: 48px; }
.journal li { break-inside: avoid; border-bottom: 1px solid var(--line); }
.journal a { display: grid; gap: 4px; padding: 16px 0; text-decoration: none; }
.journal .date { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--shingle); }
.journal .t { font-family: var(--display); font-size: 19px; line-height: 1.3; }
.journal a:hover .t { color: var(--pond); }

.prose h2 { font-size: 19.5px; margin: 36px 0 12px; }
.prose p { max-width: 68ch; }

@media (max-width: 860px) {
  .split, .bio-row, .two-up, .calc, .quotes, .steps { grid-template-columns: 1fr; }
  .bio-row.flip figure { order: 0; }
  .split-fig, .bio-row figure { max-width: 460px; }
  .deals-grid, .press-list { grid-template-columns: 1fr 1fr; }
  .journal { columns: 1; }
}
@media (max-width: 520px) {
  .deals-grid, .press-list, .grid-form, .calc-in { grid-template-columns: 1fr; }
  .contact-list div { grid-template-columns: 1fr; gap: 2px; }
}
.deal-photo { margin: 0 0 24px; }
.deal-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.press a img, .press-list a img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin-bottom: 6px; }
.press a:has(img), .press-list a:has(img) { border-top: 0; padding-top: 0; }
.foot-profile { display: flex; align-items: center; gap: 16px; margin: 26px 0 16px; }
.foot-profile img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; flex: none; }
.foot-profile p { margin: 0; line-height: 1.5; }
.foot-profile strong { color: var(--on-ink); font-weight: 500; }
.quote blockquote p { margin: 0 0 14px; }
.quote blockquote p:last-child { margin-bottom: 0; }
.quotes { align-items: start; }

/* Contact page: info left, form on photo right (matches current site) */
.contact-page { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
.contact-info { padding: clamp(48px, 7vw, 90px) clamp(16px, 5vw, 70px); max-width: 680px; }
.contact-info .page-title { font-size: clamp(30px, 3.75vw, 45px); margin-bottom: 26px; }
.contact-lines { line-height: 1.9; }
.contact-lines a { text-decoration: none; }
.contact-social { display: flex; gap: 18px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 28px; }
.contact-social a { text-decoration: none; }
.contact-social a:hover { color: var(--pond); }
.contact-panel { background: linear-gradient(rgba(21,33,44,.45), rgba(21,33,44,.55)), var(--panel-img) 30% center/cover no-repeat, var(--ink); padding: 32px; display: flex; }
.contact-frame { flex: 1; border: 2px solid rgba(255,255,255,.6); padding: clamp(28px, 4vw, 56px); color: #fff; }
.contact-frame h2 { text-align: center; color: #fff; margin-bottom: 28px; }
.contact-frame .grid-form { margin-top: 0; }
.contact-frame label:not(.consent) { color: #fff; }
.contact-frame input[type=text], .contact-frame input[type=email], .contact-frame input[type=tel], .contact-frame select, .contact-frame textarea { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.7); color: #fff; }
.contact-frame select option { color: var(--ink); }
.contact-frame .consent { color: rgba(255,255,255,.9); }
.contact-frame button { background: transparent; border: 1px solid #fff; }
.contact-frame button:hover { background: #fff; color: var(--ink); border-color: #fff; }
.contact-frame .status { color: #fff; }
@media (max-width: 860px) { .contact-page { grid-template-columns: 1fr; } .contact-panel { padding: 16px; } }

/* Banner pages: header over the photo */
body.overhero .site-header { position: absolute; left: 0; right: 0; top: 0; background: transparent; border: 0; color: #fff; }
body.overhero .brand .logo-dark { display: none; }
body.overhero .brand .logo-white { display: block; }
.town-hero { background: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.28)), var(--hero-img, none) center/cover no-repeat, #58677a; text-align: center; }
.town-hero .wrap { padding-block: clamp(190px, 16vw, 250px) clamp(90px, 8vw, 130px); }
.town-hero .eyebrow { font-size: clamp(13.5px, 1.08vw, 18px); letter-spacing: .06em; }
.town-hero h1 { font-size: clamp(39px, 4.5vw, 78px); max-width: none; }
.town-hero .eyebrow a { text-decoration: none; }
.intro-text { max-width: 1480px; text-align: center; }
.intro-text p { margin-bottom: 1.6em; }
.page-title { font-size: clamp(34.5px, 3.75vw, 63px); }

/* Town grid (overview) */
.town-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; }
.town-grid a { position: relative; display: block; aspect-ratio: 11 / 7; overflow: hidden; text-decoration: none; }
.town-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.town-grid a:hover img { transform: scale(1.04); }
.town-grid a::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.14); z-index: 1; }
.town-grid a::after { content: ""; position: absolute; inset: 20px; border: 3px solid rgba(255,255,255,.75); z-index: 2; }
.town-grid span { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; color: #fff; font-family: var(--display); font-size: clamp(21px, 1.8vw, 31.5px); text-shadow: 0 1px 12px rgba(0,0,0,.35); }
@media (max-width: 980px) { .town-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
@media (max-width: 560px) { .town-grid { grid-template-columns: 1fr; } }

/* Notable transactions rows */
.deal-rows .wrap { display: grid; gap: 70px; max-width: 1800px; }
.deal-row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.deal-row figure { margin: 0; }
.deal-row figure img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; }
.deal-card { background: #fff; padding: clamp(36px, 4vw, 64px); align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.deal-row.flip figure { order: 2; }
.deal-card h2 { font-size: clamp(22.5px, 2.1vw, 33px); }
.deal-loc { font-size: 20px; font-weight: 300; margin: 6px 0 28px; }
.deal-amt { font-size: 18px; font-weight: 300; margin: 0 0 26px; }
.deal-logos { margin-top: 20px; max-width: 760px; width: 100%; }
.additional { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1180px; text-align: center; }
.additional img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.additional p { margin: 18px 0 0; font-size: 16px; font-weight: 300; line-height: 1.6; }
.additional .amt { margin-top: 8px; font-size: 14.5px; font-weight: 400; }
@media (max-width: 860px) { .deal-row { grid-template-columns: 1fr; } .deal-row.flip figure { order: 0; } .additional { grid-template-columns: 1fr; max-width: 420px; } }

/* Press card logos */
.press-card .pc-pub { height: 56px; display: flex; align-items: center; justify-content: center; }
.press-card .pc-pub img { max-height: 54px; width: auto; max-width: 240px; mix-blend-mode: multiply; }

/* Mortgage calculator (matches current site) */
.mc-hero { background: linear-gradient(rgba(30,30,30,.55), rgba(30,30,30,.55)), var(--img) center/cover no-repeat, #666; color: #fff; padding-block: clamp(170px, 14vw, 210px) 90px; }
.mc-head { text-align: center; max-width: 980px; margin: 0 auto 70px; }
.mc-head .eyebrow { color: #fff; font-size: 16px; }
.mc-head h1 { font-size: clamp(33px, 3.3vw, 51px); margin-bottom: 28px; }
.mc-panel { background: rgba(255,255,255,.18); backdrop-filter: blur(3px); padding: clamp(28px, 5vw, 80px); max-width: 1480px; margin: 0 auto; }
.mc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 50px; align-items: end; }
.mc-field label { display: block; font-size: 15.5px; margin-bottom: 8px; }
.mc-in { display: flex; align-items: flex-end; gap: 14px; }
.mc-in input { width: 100%; min-width: 0; padding: 9px 10px; font: inherit; font-size: 16px; color: #fff; background: transparent; border: 1px solid #fff; border-radius: 0; font-variant-numeric: tabular-nums; }
.mc-note { font-size: 12.5px; white-space: nowrap; min-width: 50px; }
.mc-range { width: 100%; margin-top: 18px; accent-color: #fff; }
.mc-go button { width: 100%; padding: 14px; background: transparent; border: 2px solid #fff; color: #fff; font: 400 19px var(--body); cursor: pointer; }
.mc-go button:hover { background: #fff; color: var(--ink); }
.mc-out { margin-top: 50px; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.5); display: grid; grid-template-columns: 1fr 1.4fr; gap: 20px 60px; }
.mc-total span { display: block; font-size: 13.5px; letter-spacing: .08em; text-transform: uppercase; }
.mc-total strong { font-family: var(--display); font-weight: 400; font-size: clamp(34.5px, 3.75vw, 54px); font-variant-numeric: tabular-nums; }
.mc-out dl { margin: 0; }
.mc-out dl div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.3); font-variant-numeric: tabular-nums; }
.mc-out dd { margin: 0; }
.mc-fine { grid-column: 1 / -1; font-size: 11.5px; opacity: .85; margin: 0; }
@media (max-width: 1080px) { .mc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .mc-grid, .mc-out { grid-template-columns: 1fr; } }

/* Dark photo call-to-action band (shared) */
.cta-band { background: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)), var(--img) center/cover no-repeat, #333; color: #fff; text-align: center; padding-block: clamp(110px, 12vw, 190px); }
.cta-band h2 { color: #fff; margin-bottom: 26px; }
.cta-band p { max-width: 1100px; margin: 0 auto 44px; font-size: 16px; }

/* Buying / selling timeline */
.btn-stack { display: flex; flex-direction: column; align-items: center; gap: 24px; margin-top: 30px; }
.tl-frame { max-width: 1180px; margin: 0 auto; padding-block: clamp(50px, 6vw, 90px); }
.timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 35px; top: 30px; bottom: 30px; width: 1px; background: #c9c9c9; }
.timeline li { display: grid; grid-template-columns: 72px 1fr; gap: 34px; padding: 0 0 46px; position: relative; }
.timeline li:last-child { padding-bottom: 0; }
.tl-n { width: 72px; height: 72px; border-radius: 50%; background: #1c1c1c; color: #fff; display: grid; place-items: center; font-size: 19.5px; box-shadow: 0 6px 16px rgba(0,0,0,.2); position: relative; z-index: 1; }
.timeline h3 { font-size: clamp(21px, 1.95vw, 30px); margin: 10px 0 12px; }
.timeline p { margin: 0; max-width: 70ch; }
.timeline a { text-decoration: underline; text-underline-offset: 3px; }
.dots { padding-left: 22px; margin: 0 0 1.1em; line-height: 1.9; }
@media (max-width: 600px) { .timeline li { grid-template-columns: 52px 1fr; gap: 18px; } .tl-n { width: 52px; height: 52px; font-size: 18px; } .timeline::before { left: 25px; } }

/* Home valuation (frosted panel over photo, step-by-step form) */
.val-band { background: var(--img) center/cover no-repeat, #555; padding: clamp(50px, 6vw, 90px) var(--gutter); }
.val-panel { max-width: 1000px; margin: 0 auto; background: rgba(40,40,40,.55); backdrop-filter: blur(10px); color: #fff; padding: clamp(36px, 5vw, 80px); text-align: center; }
.val-panel h2 { color: #fff; margin-bottom: 20px; }
.val-panel > p { max-width: 62ch; margin: 0 auto 36px; }
.val-panel form { text-align: left; }
.val-panel fieldset { border: 0; padding: 0; margin: 0; }
.val-panel label:not(.consent) { color: #fff; }
.val-panel input[type=text], .val-panel input[type=email], .val-panel input[type=tel], .val-panel input[type=number], .val-panel select, .val-panel textarea { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.75); color: #fff; }
.val-panel select option { color: var(--ink); }
.val-panel .consent, .val-panel .status { color: #fff; }
.val-nav { display: flex; justify-content: flex-end; gap: 14px; margin-top: 26px; }
.val-panel button { background: transparent; border: 1px solid #fff; color: #fff; padding: 14px 34px; font: 400 17px var(--body); cursor: pointer; }
.val-panel button:hover { background: #fff; color: var(--ink); }
.intro-text .btn { margin-top: 10px; }
.intro-text h2 { margin-bottom: 24px; }
.grid-form { display: grid; }
.val-step .grid-form { margin-top: 0; }
.main-nav a { font-size: 13.5px; }
@media (max-width: 1240px) { .main-nav { display: none; } }
html, body { overflow-x: clip; }

/* Town pages (matches current site) */
.town-banner { height: clamp(360px, 38vw, 730px); background: var(--hero-img) center/cover no-repeat, #58677a; }
.town-banner::before { content: ""; display: block; height: 140px; background: linear-gradient(rgba(0,0,0,.35), transparent); }
.town-title { position: relative; z-index: 5; display: flex; justify-content: center; margin: -78px 16px 0; }
.town-title h1 { background: #474747; padding: 12px; box-shadow: 0 16px 30px rgba(0,0,0,.18); }
.town-title span { display: block; border: 2px solid #fff; color: #fff; padding: 14px clamp(24px, 3vw, 36px) 20px; font-size: clamp(31.5px, 3.3vw, 57px); line-height: 1.1; }
.town-intro-band { margin-top: -78px; padding-top: calc(78px + clamp(60px, 6vw, 90px)); }
.town-life { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 200px); align-items: start; }
.town-secs { display: grid; gap: 56px; padding-top: 70px; }
.town-secs h3 { font-size: clamp(19.5px, 1.65vw, 28.5px); margin-bottom: 14px; }
.town-secs p { margin: 0; max-width: 62ch; }
.town-fig { margin: 0; position: static; }
.town-fig img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.favs-band { background: #474747; color: #fff; }
.favs-band h2 { color: #fff; margin-bottom: 44px; }
.fav-boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; max-width: 1800px; margin: 0 auto; }
.fav-boxes.n2 { grid-template-columns: repeat(2, 1fr); max-width: 1200px; }
.fav-box { border: 1px solid rgba(255,255,255,.8); padding: 48px 28px 56px; text-align: center; }
.fav-box svg { color: #fff; margin: 0 auto 26px; display: block; }
.fav-box h3 { display: flex; align-items: center; gap: 26px; justify-content: center; font-size: clamp(22.5px, 1.8vw, 30px); margin-bottom: 18px; }
.fav-box h3::before, .fav-box h3::after { content: ""; flex: 0 1 112px; height: 1px; background: #fff; }
.fav-box ul { list-style: none; margin: 0; padding: 0; }
.fav-box li { padding: 7px 0; font-size: 16px; line-height: 1.6; }
.town-text { max-width: 1520px; }
.town-text h2 { margin: 0 0 40px; }
.town-text p { margin-bottom: 70px; }
.town-text p:last-child { margin-bottom: 0; }
.section-head h3 { font-size: clamp(19.5px, 1.8vw, 30px); }
@media (max-width: 900px) {
  .town-life, .fav-boxes, .fav-boxes.n2 { grid-template-columns: 1fr; }
  .town-secs { padding-top: 0; }
  .town-fig img { max-height: 560px; }
}

/* Testimonials (matches current site) */
.q-split { display: grid; grid-template-columns: 5fr 9fr; gap: clamp(30px, 3vw, 60px); align-items: start; max-width: 1860px; }
.q-photo { margin: 0; position: sticky; top: 30px; }
.q-photo img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 15%; }
.q-list { display: grid; gap: 60px; }
.q-narrow { max-width: 1440px; }
.q-card { margin: 0; background: #fff; border: 10px solid #fff; outline: 4px solid #f1f1f1; outline-offset: -10px; box-shadow: 0 6px 24px rgba(0,0,0,.08); padding: clamp(32px, 3vw, 50px) clamp(28px, 3vw, 50px); }
.q-card blockquote { margin: 0 0 40px; line-height: 2; }
.q-name { font-size: clamp(15px, 1.2vw, 19px); margin: 0; }
.q-name span { font-weight: 300; margin: 0 4px; }
.q-role { font-style: italic; margin: 6px 0 0; }
@media (max-width: 900px) { .q-split { grid-template-columns: 1fr; } .q-photo { position: static; max-width: 460px; } }

/* Blog */
.post-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
.post-card { display: flex; flex-direction: column; height: 100%; background: #fff; text-decoration: none; }
.post-card .pc-img { aspect-ratio: 3 / 2; overflow: hidden; }
.post-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.post-card:hover img { transform: scale(1.04); }
.post-card .pc-body { padding: 26px 26px 32px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.post-card .date { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--shingle); }
.post-card h3 { font-size: 19px; line-height: 1.3; }
.post-card .pc-desc { font-size: 14px; line-height: 1.8; color: var(--ink-2); }
.post-card .more { margin-top: auto; padding-top: 8px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 980px) { .post-cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .post-cards { grid-template-columns: 1fr; } }
.post-hero h1 { font-size: clamp(28.5px, 3.45vw, 54px); max-width: 22ch; margin-inline: auto; }
.post-body { max-width: 860px; }
.post-body h2 { font-size: clamp(21px, 1.95vw, 28.5px); margin: 50px 0 18px; }
.post-body h2.post-sub { margin-top: 0; }
.post-body h3 { font-size: clamp(17px, 1.5vw, 22px); margin: 40px 0 12px; }
.post-body p, .post-body li { line-height: 2; }
.post-body ul, .post-body ol { padding-left: 24px; margin: 0 0 1.2em; }
.post-body strong { font-weight: 500; }
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-nav .pn { display: block; padding: 26px 28px; background: #fff; text-decoration: none; font-family: var(--display); font-size: 20px; line-height: 1.35; }
.post-nav .pn span { display: block; font-family: var(--body); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--shingle); margin-bottom: 8px; }
.post-nav .next { text-align: right; grid-column: 2; }
.post-nav .pn:hover { outline: 1px solid var(--ink); }
@media (max-width: 620px) { .post-nav { grid-template-columns: 1fr; } .post-nav .next { grid-column: 1; text-align: left; } }
.post-body h4 { font-family: var(--display); font-weight: 400; font-size: clamp(16px, 1.27vw, 19px); margin: 30px 0 10px; }
.btn-row { display: flex; gap: 36px; justify-content: center; flex-wrap: wrap; }
.post-card { box-shadow: 0 6px 24px rgba(0,0,0,.07); }
.post-card .pc-body { padding: 36px 32px 44px; gap: 30px; }
.post-card h3 { font-size: clamp(18px, 1.5vw, 24px); line-height: 1.5; letter-spacing: .03em; }
.post-card .read { margin-top: auto; align-self: flex-start; border: 2px solid var(--ink); padding: 12px 26px; font-size: 16px; text-transform: uppercase; }
.post-card:hover .read { background: var(--ink); color: #fff; }
.post-head { padding-block: 70px 60px; text-align: center; }
.post-head h1 { font-size: clamp(27px, 3.15vw, 48px); max-width: 24ch; margin: 0 auto; }
.post-head .eyebrow a { text-decoration: none; }
body.overhero .post-head ~ * , .post-head { }
.post-img { margin: 0 0 44px; }
.post-img img { width: 100%; }
.post-gallery { display: grid; gap: 16px; margin-top: 44px; }
.post-gallery.n2 { grid-template-columns: 1fr 1fr; }
.post-gallery.n3 { grid-template-columns: repeat(3, 1fr); }
.post-gallery figure { margin: 0; }
.post-gallery img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 620px) { .post-gallery.n2, .post-gallery.n3 { grid-template-columns: 1fr; } }
.post-body a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; } .post-body a:hover { opacity: .65; }
.prose ul { padding-left: 22px; margin: 0 0 1.1em; } .prose li { margin-bottom: 8px; }

/* Footer (compact, dark) */
.site-footer { background: #1f2427; color: #b9bec1; font-size: 15px; line-height: 1.7; }
.site-footer a { text-decoration: none; color: inherit; }
.site-footer a:hover { color: #fff; }
.foot-top { display: grid; grid-template-columns: 1fr 2.2fr; gap: clamp(32px, 6vw, 100px); padding-block: 64px 48px; }
.foot-brand .brand img { width: 260px; height: auto; }
.foot-tag { margin: 22px 0 18px; max-width: 34ch; color: #d5d9db; }
.foot-contact { display: flex; flex-direction: column; margin: 0 0 16px; color: #fff; }
.social-icons { display: flex; gap: 16px; margin: 0; color: #d5d9db; }
.foot-nav { display: grid; grid-template-columns: auto auto auto; justify-content: space-between; gap: 32px; }
.site-footer h4 { white-space: nowrap; }
.site-footer h4 { font-family: var(--display); font-weight: 400; font-size: 20px; color: #fff; margin: 0 0 14px; letter-spacing: .02em; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.site-footer .two-col-list { grid-template-columns: auto auto; column-gap: 32px; }
@media (max-width: 460px) { .foot-nav { grid-template-columns: 1fr; } }
.foot-broker { margin: 22px 0 0; font-size: 13.5px; color: #8e9599; }
.legal { background: #171b1d; color: #9aa1a5; font-size: 13px; line-height: 1.6; padding-block: 26px 30px; }
.legal p { margin: 0 0 10px; }
.legal p:last-child { margin: 0; }
.legal .eho { display: flex; align-items: center; gap: 12px; color: #d5d9db; font-size: 14px; }
.legal .links { display: flex; flex-wrap: wrap; row-gap: 4px; font-size: 14px; color: #d5d9db; }
.legal .links.small { font-size: 13px; }
.legal .links a:not(:last-child)::after { content: "|"; margin: 0 10px; color: #5c6367; }
.legal .copy { color: #d5d9db; }
.legal .disclaimer { font-style: italic; }
@media (max-width: 980px) { .foot-top { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .foot-nav { grid-template-columns: 1fr 1fr; } .foot-nav > div:first-child { grid-column: 1 / -1; } }
.footnote { font-size: 13px; color: var(--shingle); text-align: center; max-width: 900px; margin: 40px auto 0; font-style: italic; }
.fig sup { font-size: .45em; vertical-align: super; margin-left: 2px; }
.prose ol { padding-left: 24px; margin: 0 0 1.1em; } .prose ol li { margin-bottom: 8px; }
/* Footer: tighter */
.site-footer { font-size: 14px; line-height: 1.6; }
.foot-top { padding-block: 40px 30px; gap: clamp(28px, 5vw, 80px); }
.foot-brand .brand img { width: 200px; }
.foot-tag { margin: 14px 0 12px; font-size: 13.5px; }
.foot-contact { margin: 0 0 10px; }
.social-icons svg { width: 18px; height: 18px; }
.site-footer h4 { font-size: 17px; margin: 0 0 8px; }
.site-footer ul { gap: 0; }
.legal { font-size: 12px; line-height: 1.5; padding-block: 16px 18px; }
.legal p { margin: 0 0 6px; }
.legal .eho { font-size: 12.5px; gap: 8px; }
.legal .eho-mark { width: 26px; height: auto; }
.legal .links { font-size: 12.5px; row-gap: 2px; }
.legal .links.small { font-size: 12px; }
.legal .links a:not(:last-child)::after { margin: 0 8px; }
/* Footer type matched to current site: light Inter, sans headings */
.site-footer { font-size: 14px; font-weight: 300; letter-spacing: .02em; }
.site-footer h4 { font-family: var(--body); font-weight: 400; font-size: 15px; letter-spacing: .03em; margin: 0 0 10px; padding-bottom: 8px; position: relative; }
.site-footer h4::after { content: ""; position: absolute; left: 0; bottom: 0; width: 26px; height: 1px; background: #fff; }
.foot-brand .brand img { width: 190px; }
.foot-tag { font-size: 13px; }
.foot-contact { font-size: 13.5px; font-weight: 400; }
.legal { font-size: 11.5px; font-weight: 300; letter-spacing: .03em; }
.legal .eho, .legal .links { font-size: 12px; }
.legal .links.small { font-size: 11.5px; }
.legal .copy { font-weight: 400; }
/* Overall scale-down: tighter buttons, stats and spacing */
body { line-height: 1.85; }
.btn { padding: 12px 28px; }
.stat { padding: 44px 24px; }
.stat p { margin-top: 16px; }
.framed { padding: clamp(44px, 5.5vw, 88px) clamp(34px, 5vw, 96px); }
section.block { padding-block: clamp(56px, 6.5vw, 96px); }
.section-head { margin-bottom: 40px; }
.section-head h2 { margin-bottom: 20px; }
/* Main nav dropdowns */
.nav-dd { position: relative; display: flex; }
.nav-dd > a { position: relative; }
.nav-dd > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; background: currentColor; transform: scaleX(0); transition: transform .2s; }
.nav-dd:hover > a::after, .nav-dd:focus-within > a::after { transform: scaleX(1); }
.dd-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 14px; min-width: 100%; width: max-content; background: #fafafa; box-shadow: 0 10px 28px rgba(0,0,0,.14); padding: 8px 0; display: none; z-index: 70; }
.dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.nav-dd:hover .dd-menu, .nav-dd:focus-within .dd-menu { display: block; }
.main-nav .dd-menu a { display: block; color: var(--ink); text-transform: none; letter-spacing: .01em; font-size: 15px; text-align: center; padding: 9px 36px; opacity: 1; }
.main-nav .dd-menu a:hover { background: #efefef; opacity: 1; }
/* Sizes matched to current site (measured from Jen's screenshots) */
.eyebrow { font-size: 16px; }
.main-nav a { font-size: 15px; }
h2 { font-size: clamp(28px, 3.2vw, 49px); }
.stat p { font-size: 14.5px; }
.brand img { width: clamp(200px, 20vw, 300px); }
/* ===== Type scale calibrated to the current michelemahl.com (measured from Jen's screen recording) ===== */
body { font-size: clamp(14.5px, 1vw, 19px); }
.main-nav a { font-size: clamp(13px, 1vw, 19px); }
.eyebrow { font-size: clamp(13px, 1.05vw, 20px); }
.hero .eyebrow, .town-hero .eyebrow { font-size: clamp(13.5px, 1.1vw, 21px); }
.hero h1 { font-size: clamp(30px, 3.1vw, 60px); }
.town-hero h1 { font-size: clamp(40px, 5.7vw, 110px); }
.page-title { font-size: clamp(36px, 4.6vw, 88px); }
.town-title span { font-size: clamp(32px, 3.85vw, 74px); }
h2 { font-size: clamp(26px, 3.2vw, 62px); }
.stat .fig { font-size: clamp(30px, 3.3vw, 63px); }
.stat p { font-size: clamp(13.5px, .93vw, 18px); }
.deal-card h2 { font-size: clamp(22px, 1.83vw, 35px); }
.deal-loc { font-size: clamp(14px, 1.04vw, 20px); }
.deal-amt { font-size: clamp(15px, 1.1vw, 21px); }
.brand img { width: clamp(200px, 19.7vw, 380px); }
.towns { font-size: clamp(12.5px, 1.15vw, 22px); }

/* Header stays pinned like the current site; turns white once you scroll */
.site-header { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
body.home .site-header, body.overhero .site-header { position: fixed; box-shadow: none; transition: background .25s, color .25s, box-shadow .25s; }
body.home .site-header.scrolled, body.overhero .site-header.scrolled { background: #fff; color: var(--ink); box-shadow: 0 2px 10px rgba(0,0,0,.08); }
body.home .site-header.scrolled .logo-dark, body.overhero .site-header.scrolled .logo-dark { display: block; }
body.home .site-header.scrolled .logo-white, body.overhero .site-header.scrolled .logo-white { display: none; }

/* Dropdowns styled like the current site */
.dd-menu { background: #fff; padding: 0; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.main-nav .dd-menu a { font-size: clamp(13px, .9vw, 16px); padding: 8px 30px; color: var(--ink); }
.main-nav .dd-menu a:hover { background: #555; color: #fff; }
.hero h1 { max-width: none; }
/* Redesigned stats band */
:root { --taupe: #7d6e62; --warm: #f7f5f1; }
.redefine { background: var(--warm); }
.redefine .section-head { max-width: 900px; margin-bottom: clamp(36px, 3.5vw, 60px); }
.kicker { font-family: var(--display); text-transform: uppercase; letter-spacing: .42em; color: var(--taupe); font-size: clamp(14px, 1.15vw, 21px); margin: 0 0 6px; }
.redefine h2 { font-size: clamp(34px, 3.9vw, 72px); margin-bottom: 8px; line-height: 1.05; }
.subhead { font-family: var(--display); font-style: italic; color: var(--taupe); font-size: clamp(18px, 1.75vw, 33px); margin: 0 0 18px; }
.stats2 { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; }
.stat2 { padding: 4px clamp(16px, 2vw, 40px); }
.stat2 + .stat2 { border-left: 1px solid #b9ada3; }
.stat2 .fig { font-family: var(--display); font-size: clamp(34px, 3.9vw, 74px); line-height: 1.1; }
.stat2 .lbl { text-transform: uppercase; letter-spacing: .28em; color: var(--taupe); font-size: clamp(11.5px, .9vw, 16px); font-weight: 500; margin: 10px 0 14px; }
.stat2 p:not(.lbl) { margin: 0; line-height: 1.7; }
.btn-arrow { text-transform: uppercase; letter-spacing: .16em; font-size: clamp(12px, .85vw, 15px); font-weight: 500; padding: 18px 44px; border-width: 1px; }
.btn-arrow span { margin-left: 12px; }
@media (max-width: 760px) {
  .stats2 { grid-template-columns: 1fr; gap: 34px; }
  .stat2 + .stat2 { border-left: 0; border-top: 1px solid #b9ada3; padding-top: 34px; }
  .stat2 br { display: none; }
}
.stat2 .fig { white-space: nowrap; font-size: clamp(30px, 3.5vw, 70px); }
@media (min-width: 1000px) { .stat2 .lbl { white-space: nowrap; letter-spacing: .24em; } }
@media (min-width: 761px) and (max-width: 1100px) { .stat2 .fig { font-size: 3.2vw; } .stat2 .lbl { letter-spacing: .14em; white-space: normal; } }
.redefine .wrap { max-width: 1600px; }
.stat2 p:not(.lbl) { font-size: clamp(13.5px, .95vw, 18px); }
/* Home: About Michele (redesign) */
.about2 { display: grid; grid-template-columns: 1fr 1fr; background: var(--warm); align-items: stretch; }
.about2-photo { margin: 0; position: relative; min-height: 560px; overflow: hidden; }
.about2-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.about2-text { position: relative; padding: clamp(48px, 5.5vw, 100px) clamp(24px, 6vw, 120px) clamp(48px, 5.5vw, 100px) clamp(40px, 5.5vw, 110px); display: flex; flex-direction: column; justify-content: center; }
.about2-text::before { content: ""; position: absolute; left: clamp(0px, 2vw, 40px); top: clamp(40px, 4vw, 70px); bottom: clamp(40px, 4vw, 70px); width: 1px; background: #b9ada3; }
.kicker-sans { text-transform: uppercase; letter-spacing: .22em; color: var(--taupe); font-size: clamp(12px, .9vw, 16px); font-weight: 500; margin: 0 0 10px; }
.about2 h2 { font-size: clamp(34px, 3.6vw, 68px); margin: 0 0 26px; }
.about2-text p:not(.kicker-sans) { max-width: 62ch; color: #3a3a3a; }
.about2 .btn-arrow { align-self: flex-start; margin-top: 16px; }
@media (max-width: 900px) {
  .about2 { grid-template-columns: 1fr; }
  .about2-photo { min-height: 0; aspect-ratio: 4 / 5; max-height: 620px; }
  .about2-text { padding: 44px 24px; }
  .about2-text::before { display: none; }
}
.about2.flip .about2-photo { order: 2; }
.about2.flip .about2-text::before { left: auto; right: clamp(0px, 2vw, 40px); }
@media (max-width: 900px) { .about2.flip .about2-photo { order: 0; } }
.about2.flip .about2-text { padding-left: clamp(24px, 6vw, 120px); padding-right: clamp(40px, 5.5vw, 110px); }
.about2-deal .about2-photo img { object-position: 50% 50%; }
/* Photo stays in place while the text beside it scrolls (desktop) */
@media (min-width: 901px) {
  .about2, .feature { align-items: start; }
  .about2-photo, .feature-photo { position: sticky; top: 72px; height: calc(100vh - 72px); min-height: 520px; }
  .about2-text { min-height: calc(100vh - 72px); }
  .feature-panel { min-height: calc(100vh - 72px); }
}
/* Home: Explore The Hamptons (redesign) + town cards */
.explore2 { background: var(--warm); padding-bottom: clamp(24px, 2vw, 40px); }
.explore2 .wrap { max-width: none; padding-inline: clamp(12px, 1.4vw, 28px); }
.explore2 .section-head { max-width: 1100px; margin-bottom: 26px; }
.explore2 .section-head h2 { font-size: clamp(34px, 3.6vw, 68px); margin-bottom: 18px; }
.explore2 .section-head p:not(.kicker-sans) { margin-bottom: .9em; }
.carousel-track { gap: 10px; grid-auto-columns: calc((100% - 3 * 10px) / 4); }
.carousel-track a { aspect-ratio: 23 / 20; }
.carousel-track a::after { display: none; }
.carousel-track a::before { background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.45)); }
.carousel-track span { place-items: end start; text-align: left; padding: 0 clamp(20px, 2vw, 36px) clamp(22px, 2.2vw, 40px); font-size: clamp(22px, 2vw, 38px); }
.carousel-track span::after { content: ""; display: block; width: 52px; height: 1.5px; background: #fff; margin-top: 12px; }
.carousel-track span { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.explore2 .car-btn.prev { left: 6px; } .explore2 .car-btn.next { right: 6px; }
.explore2 .car-btn { background: rgba(255,255,255,.85); z-index: 5; }
@media (max-width: 980px) { .carousel-track { grid-auto-columns: calc((100% - 10px) / 2); } }
@media (max-width: 560px) { .carousel-track { grid-auto-columns: 86%; } }
.car-btn { width: 44px; height: 44px; border-radius: 50%; padding: 0; display: grid; place-items: center; background: rgba(255,255,255,.88) !important; box-shadow: 0 2px 10px rgba(0,0,0,.12); opacity: .0; transition: opacity .2s; }
.carousel:hover .car-btn, .car-btn:focus-visible { opacity: 1; }
.car-btn svg { width: 12px; height: 24px; }
.car-btn.prev { left: 14px !important; } .car-btn.next { right: 14px !important; }
@media (hover: none) { .car-btn { opacity: 1; } }
/* Home: In The Press (redesign) — whole feature is one link, no card box */
.press2 { background: var(--warm); }
.press2 .wrap { max-width: 1600px; }
.press2 .section-head { max-width: 1000px; margin-bottom: 30px; }
.press2 .section-head h2 { font-size: clamp(32px, 3vw, 58px); margin-bottom: 14px; }
.kicker-sans.rule::after { content: ""; display: block; width: 90px; height: 1px; background: #9c9088; margin: 16px auto 22px; }
.press2 .kicker-sans { color: #3a3a3a; }
.press2 .press-cards { gap: clamp(18px, 2vw, 34px); }
.press2 .press-card { background: transparent; box-shadow: none; }
.press2 .press-card .pc-img { aspect-ratio: 16 / 9; }
.press2 .press-card .pc-img::after { display: none; }
.press2 .press-card .pc-body { padding: 16px 8px 0; gap: 6px; }
.press2 .press-card .pc-desc { display: none; }
.press2 .press-card .pc-pub { height: 44px; }
.press2 .press-card .pc-pub img { max-height: 40px; }
.press2 .press-card h3 { font-size: clamp(19px, 1.45vw, 27px); line-height: 1.35; letter-spacing: .01em; }
.press2 .press-card .pc-in { color: #3a3a3a; font-size: clamp(14px, 1vw, 18px); }
.press2 .press-card .pc-img img { transition: transform .6s ease; }
.press2 .press-card:hover .pc-img img { transform: scale(1.03); }
.press2 .press-card:hover h3 { text-decoration: none; opacity: .75; }
.press2 .stats-foot { margin-top: 36px; }
.press2 .press-card .pc-img img { object-position: 50% 18%; }
/* Home: Join My Newsletter (redesign) */
.newsletter-band { background: linear-gradient(rgba(20,20,20,.18), rgba(20,20,20,.28)), var(--nl-img) center/cover no-repeat, #6b6150; padding-block: clamp(90px, 10vw, 170px); }
.newsletter-band h2 { font-size: clamp(38px, 3.6vw, 70px); margin-bottom: 14px; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.newsletter-band > .wrap > p { font-size: clamp(15px, 1.1vw, 21px); text-shadow: 0 1px 10px rgba(0,0,0,.3); }
.nl-form { max-width: 1060px; margin-top: clamp(30px, 2.6vw, 50px); gap: 22px; }
.nl-form .row { gap: 0; }
.nl-form input[type=email] { background: rgba(255,255,255,.06); border: 1.5px solid rgba(255,255,255,.9); border-right: 0; font-family: var(--display); font-size: clamp(18px, 1.35vw, 26px); padding: 20px 26px; color: #fff; }
.nl-form input[type=email]::placeholder { color: #fff; opacity: .95; }
.nl-form button { background: #f3f0ea; color: var(--taupe); border: 1.5px solid #f3f0ea; font: 400 clamp(15px, 1.1vw, 21px) var(--body); letter-spacing: .06em; text-transform: uppercase; padding: 0 clamp(34px, 3.5vw, 64px); }
.nl-form button:hover { background: #fff; color: var(--ink); border-color: #fff; }
.nl-form .consent { font-size: clamp(12.5px, .85vw, 15px); line-height: 1.5; gap: 16px; align-items: flex-start; }
.nl-form .consent input { width: 22px; height: 22px; margin-top: 2px; accent-color: #f3f0ea; }
.nl-form .consent a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) { .nl-form input[type=email] { border-right: 1.5px solid rgba(255,255,255,.9); } .nl-form button { padding: 16px; } }
.press2 .press-card h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* Full press page: same look, keeps the short descriptions */
.press-all .press-cards { row-gap: clamp(40px, 4vw, 70px); }
.press-all .press-card .pc-desc { display: block; font-size: clamp(13.5px, .92vw, 17px); color: #4a4a4a; line-height: 1.7; text-align: center; margin-top: 8px; }
.press-all .section-head p { max-width: 1100px; margin-inline: auto; }
/* Footer headings: uppercase serif, as in mockup */
.site-footer h4 { font-family: var(--display); font-weight: 400; text-transform: uppercase; letter-spacing: .08em; font-size: clamp(15px, 1.1vw, 21px); padding-bottom: 12px; margin-bottom: 16px; }
.site-footer h4::after { width: 30px; }
.foot-brand .brand img { width: clamp(200px, 16vw, 320px); }
.site-footer { font-size: clamp(14px, 1vw, 19px); letter-spacing: .04em; }
.site-footer ul { gap: clamp(2px, .45vw, 8px); }
.foot-tag { font-size: clamp(13.5px, 1vw, 19px); line-height: 1.65; }
.foot-contact { font-size: clamp(14px, 1.1vw, 21px); gap: 4px; }
.social-icons { gap: 24px; } .social-icons svg { width: 24px; height: 24px; }
.site-footer .two-col-list { column-gap: clamp(32px, 4vw, 80px); }
.foot-top { padding-block: clamp(44px, 3.5vw, 64px) clamp(36px, 2.8vw, 52px); }
.legal { font-size: clamp(12px, .9vw, 17px); }
.legal .eho, .legal .links { font-size: clamp(12px, .9vw, 17px); }
.legal .links.small { font-size: clamp(12px, .9vw, 17px); }
.legal .disclaimer { font-size: clamp(11.5px, .82vw, 15px); }
.legal .eho-mark { width: 32px; }
.legal .links a:not(:last-child)::after { margin: 0 14px; }
.legal .sep { margin: 0 12px; color: #8a9195; }
.site-footer .wrap { max-width: 1720px; padding-inline: clamp(16px, 7vw, 160px); }
/* Home press: show descriptions, tighter width, wider photos (per mockup) */
.press2 .wrap { max-width: 1720px; padding-inline: clamp(16px, 8vw, 160px); }
.press2 .press-card .pc-img { aspect-ratio: 2 / 1; }
.press2 .press-card .pc-desc { display: block; font-size: clamp(13.5px, .92vw, 17px); color: #3a3a3a; line-height: 1.7; text-align: center; margin-top: 6px; padding-inline: 4%; }
.press2 .stats-foot { margin-top: 28px; }
/* Header + hero per mockup */
.site-header { padding: clamp(14px, 1.6vw, 30px) clamp(16px, 4.6vw, 88px); }
.brand img { width: clamp(190px, 17.5vw, 330px); }
.main-nav { gap: clamp(20px, 2.7vw, 50px); }
.main-nav a { font-family: var(--display); font-size: clamp(13px, 1.02vw, 19px); letter-spacing: .1em; }
.menu-toggle { margin-left: clamp(16px, 4vw, 80px); gap: 8px; }
.menu-toggle span { width: 36px; height: 2px; }
.hero .wrap { padding-inline: clamp(16px, 4.7vw, 90px); }
.hero .eyebrow { font-size: clamp(13px, 1.1vw, 21px); letter-spacing: .06em; margin-bottom: 18px; }
.hero h1 { font-size: clamp(34px, 3.75vw, 72px); line-height: 1.12; }
.towns { font-size: clamp(12.5px, 1.1vw, 21px); letter-spacing: .06em; margin-top: 30px; }
.towns li:not(:last-child)::after { content: "•"; margin: 0 8px; font-size: 1em; vertical-align: 0; }
/* Hero lettering per mockup: Playfair Display headline, light Inter lines */
.hero-video h1 { font-family: "Playfair Display", var(--display); font-weight: 400; letter-spacing: 0; }
.hero-video .eyebrow, .towns { font-family: var(--body); font-weight: 300; letter-spacing: .07em; }
/* Active top-menu item underline */
.main-nav > a, .nav-dd > a { position: relative; }
.main-nav > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.main-nav > a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.main-nav a.active::after { right: auto; width: 56px; }
/* Bio page in the new layout */
.about2-h { font-size: clamp(38px, 4vw, 76px); margin: 0 0 22px; }
.about2-text h3 { font-size: clamp(24px, 2vw, 38px); margin: 0 0 12px; }
.about2-text p + h3 { margin-top: 30px; }
.about2-text p:not(.kicker-sans) { line-height: 1.7; }
.main-nav a { font-size: clamp(12px, .86vw, 16px); letter-spacing: .12em; }
.site-header { gap: clamp(24px, 3vw, 60px); }
@media (max-width: 1300px) { .main-nav { display: none; } }
/* Bio sections per mockup: slightly narrower photo, larger headings and body text, wider text column */
.bio2 { grid-template-columns: 45fr 55fr; }
.bio2.flip { grid-template-columns: 55fr 45fr; }
.bio2 .about2-text { padding: clamp(48px, 4.5vw, 90px) clamp(24px, 3.5vw, 70px) clamp(48px, 4.5vw, 90px) clamp(40px, 7.5vw, 140px); }
.bio2.flip .about2-text { padding-left: clamp(24px, 10vw, 190px); padding-right: clamp(40px, 6vw, 120px); }
.bio2 .about2-text::before { left: clamp(0px, 3.8vw, 70px); }
.bio2.flip .about2-text::before { left: auto; right: clamp(0px, 3vw, 56px); }
.bio2 .about2-text p:not(.kicker-sans) { font-size: clamp(15px, 1.08vw, 20px); line-height: 1.6; max-width: 72ch; color: #2e2e2e; }
.bio2 .about2-text h3 { font-size: clamp(26px, 2.15vw, 42px); letter-spacing: -.005em; margin-bottom: 16px; }
.bio2 .about2-text p + h3 { margin-top: clamp(36px, 3vw, 56px); }
@media (max-width: 900px) { .bio2, .bio2.flip { grid-template-columns: 1fr; } .bio2 .about2-text, .bio2.flip .about2-text { padding: 44px 24px; } }
/* Page banners per mockup: italic serif eyebrow, thin rule, large title */
.town-hero .eyebrow { font-family: var(--display); font-style: italic; text-transform: uppercase; letter-spacing: .12em; font-size: clamp(13px, 1vw, 19px); font-weight: 400; margin: 0; }
.town-hero .eyebrow::after { content: ""; display: block; width: 200px; max-width: 40%; height: 1px; background: rgba(255,255,255,.75); margin: clamp(18px, 1.8vw, 34px) auto clamp(10px, 1vw, 20px); }
.town-hero h1 { font-size: clamp(44px, 5.4vw, 104px); line-height: 1.05; }
.town-hero { background: linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.22)), var(--hero-img, none) center/cover no-repeat, #58677a; }
.town-hero .wrap { padding-block: clamp(150px, 11vw, 210px) clamp(70px, 6.5vw, 120px); }
/* Intro paragraph under a banner: warm background, larger text, short vertical rule */
.intro2 { background: var(--warm); padding-block: clamp(48px, 3.5vw, 64px) clamp(40px, 3vw, 56px); }
.intro2 .intro-text { max-width: 1120px; }
.intro2 .intro-text p { font-size: clamp(16px, 1.15vw, 22px); line-height: 1.75; letter-spacing: .03em; margin-bottom: 0; }
.intro2 .intro-text::after { content: ""; display: block; width: 1px; height: clamp(36px, 2.4vw, 46px); background: #8f847b; margin: clamp(30px, 2.2vw, 42px) auto 0; }
.intro2 .section-head { margin-bottom: 0; }
/* Testimonials per mockup */
.q-split { grid-template-columns: 33fr 67fr; gap: 0; max-width: 1860px; }
.q-photo { margin-right: clamp(24px, 2.5vw, 46px); }
.q-list { border-left: 1px solid #b9ada3; padding-left: clamp(24px, 2.4vw, 46px); gap: clamp(24px, 2.4vw, 46px); }
.q-card.q2 { display: grid; grid-template-columns: auto 1fr; gap: clamp(14px, 1.4vw, 26px); background: transparent; border: 1px solid #d8d0c8; outline: 0; box-shadow: none; padding: clamp(28px, 2.6vw, 52px) clamp(24px, 2.8vw, 56px) clamp(26px, 2.2vw, 42px) clamp(20px, 2vw, 38px); }
.q-mark { font-family: var(--display); color: #b08e62; font-size: clamp(48px, 3.4vw, 66px); line-height: .8; margin-top: 4px; }
.q2 blockquote { margin: 0 0 22px; font-size: clamp(15px, 1.05vw, 20px); line-height: 1.65; color: #3a3a3a; }
.q2 figcaption::before { content: ""; display: block; width: 36px; height: 1px; background: #b08e62; margin-bottom: 18px; }
.q2 .q-name { font-family: var(--display); font-size: clamp(24px, 1.8vw, 36px); margin: 0 0 4px; }
.q2 .q-role { font-style: normal; text-transform: uppercase; letter-spacing: .2em; font-size: clamp(11.5px, .82vw, 15px); color: #7d6e62; margin: 0; }
.block:has(.q-split), .block:has(.q-narrow) { background: var(--warm); }
@media (max-width: 900px) { .q-split { grid-template-columns: 1fr; } .q-photo { margin: 0 0 30px; } .q-list { border-left: 0; padding-left: 0; } }
.q2 .q-name { line-height: 1.2; } .q2 .q-role { line-height: 1.5; margin-top: 6px; }
/* Industry endorsements per mockup */
.intro3 { background: var(--warm); padding-block: clamp(40px, 3vw, 60px) 0; }
.intro3 .intro-text { max-width: 1340px; }
.intro3 .intro-text p { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.75; letter-spacing: .03em; margin: 0; }
.q-narrow { max-width: 1480px; }
.block:has(.q-narrow) { padding-top: clamp(28px, 2.4vw, 46px); }
.q-narrow .q2 { padding-left: clamp(24px, 2.4vw, 46px); gap: clamp(20px, 2.4vw, 44px); }
.q-narrow .q-role { color: #b08e62; }
.q-narrow.q-list { border-left: 0; padding-left: 0; }
.intro3 { padding-bottom: 0; }
.intro3 + .block { padding-top: clamp(28px, 2.4vw, 46px); background: var(--warm); }
.q-narrow .q-mark { font-size: clamp(56px, 4vw, 78px); }
section.block.intro3 { padding-bottom: 0 !important; }
section.block:has(> .wrap.q-narrow) { padding-top: clamp(28px, 2.4vw, 46px) !important; }
/* Testimonials intro: no divider line, tight spacing */
.intro2 .intro-text::after { display: none; }
section.block.intro2 { padding-block: clamp(40px, 3vw, 56px) 0 !important; }
section.block:has(> .wrap.q-split) { padding-top: clamp(32px, 2.6vw, 48px) !important; }
/* Balance space around the industry intro */
section.block:has(> .wrap.q-split) { padding-bottom: 0 !important; }
section.block.intro3 { padding-top: clamp(40px, 3vw, 56px) !important; }
.q-narrow.q-list { padding-inline: var(--gutter); }
.intro3 .intro-text { max-width: 1180px; }
/* Home hero back to mockup: brighter video, regular-weight lines, menu size restored */
.hero-video::after { background: linear-gradient(180deg, rgba(10,20,30,.22) 0%, rgba(10,20,30,0) 22%, rgba(10,20,30,0) 45%, rgba(10,20,30,.38) 100%); }
.hero-video .eyebrow, .hero-video .towns { font-weight: 400; letter-spacing: .06em; font-size: clamp(12.5px, 1.05vw, 20px); }
.hero-video .towns { margin-top: 26px; }
.hero-video h1 { text-shadow: 0 2px 20px rgba(0,0,0,.18); }
.main-nav a { font-size: clamp(12.5px, .98vw, 18px); }
.main-nav { gap: clamp(20px, 2.6vw, 48px); }
.main-nav { gap: clamp(18px, 2.3vw, 44px); }
/* Notable Transactions per mockup */
.deal2 { background: var(--warm); }
.deal2 .wrap { max-width: none; padding-inline: 0; gap: clamp(50px, 5vw, 90px); }
.deal2 .deal-row { grid-template-columns: 51fr 49fr; align-items: stretch; }
.deal2 .deal-row.flip { grid-template-columns: 49fr 51fr; }
.deal2 .deal-row figure img { height: 100%; aspect-ratio: auto; min-height: 480px; }
.deal2 .deal-card { background: transparent; position: relative; padding: clamp(24px, 2vw, 40px) clamp(24px, 4vw, 80px) clamp(24px, 2vw, 40px) clamp(40px, 6.5vw, 120px); justify-content: center; }
.deal2 .deal-card::before { content: ""; position: absolute; left: clamp(0px, 2.7vw, 50px); top: 0; bottom: 0; width: 1px; background: #b9ada3; }
.deal2 .deal-row.flip .deal-card { padding-left: clamp(24px, 4.5vw, 90px); padding-right: clamp(40px, 6.5vw, 120px); }
.deal2 .deal-row.flip .deal-card::before { left: auto; right: clamp(0px, 2.7vw, 50px); }
.deal2 .deal-card h2 { font-size: clamp(30px, 3vw, 58px); line-height: 1.1; margin-bottom: 14px; }
.deal2 .deal-loc { text-transform: uppercase; letter-spacing: .18em; color: #7d6e62; font-size: clamp(12.5px, .95vw, 17px); font-weight: 400; margin: 0 0 22px; }
.deal2 .deal-amt { font-family: var(--body); font-size: clamp(17px, 1.3vw, 25px); font-weight: 400; margin: 0 0 30px; }
.deal2 .deal-card p:not(.deal-loc):not(.deal-amt) { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.75; color: #2e2e2e; max-width: 66ch; }
.add2 { background: var(--warm); }
.add2-h { font-size: clamp(34px, 3.2vw, 62px); margin-bottom: 0; }
.add2-h::after { content: ""; display: block; width: 160px; height: 1.5px; background: #b08e62; margin: 22px auto clamp(28px, 2vw, 40px); }
.add2 .additional { max-width: 1520px; gap: 0; }
.add2 .additional li { border: 1px solid #ddd5cc; padding: clamp(12px, 1vw, 18px) clamp(12px, 1vw, 18px) clamp(24px, 2vw, 36px); margin: 0 clamp(16px, 1.7vw, 34px); position: relative; }
.add2 .additional li + li::before { content: ""; position: absolute; left: calc(-1 * clamp(16px, 1.7vw, 34px) - 1px); top: 0; bottom: 0; width: 1px; background: #cfc6bc; margin-left: calc(-1 * clamp(16px, 1.7vw, 34px) + clamp(16px, 1.7vw, 34px)); }
.add2 .additional img { aspect-ratio: 1 / 1.01; }
.add2 .additional h3 { font-size: clamp(24px, 1.8vw, 34px); margin: 0; }
.add2 .additional h3::before { content: ""; display: block; width: 38px; height: 1.5px; background: #b08e62; margin: 22px auto 18px; }
.add2 .additional .add-loc { text-transform: uppercase; letter-spacing: .2em; color: #8d7f73; font-size: clamp(12px, .9vw, 16px); margin: 8px 0 0; font-weight: 400; }
.add2 .additional .amt { font-size: clamp(15px, 1.05vw, 19px); margin-top: 14px; color: #3a3a3a; }
@media (max-width: 860px) { .deal2 .deal-row, .deal2 .deal-row.flip { grid-template-columns: 1fr; } .deal2 .deal-card, .deal2 .deal-row.flip .deal-card { padding: 34px 24px; } .deal2 .deal-card::before { display: none; } .deal2 .deal-row figure img { min-height: 0; aspect-ratio: 16/11; } .add2 .additional li { margin: 0 0 24px; } .add2 .additional li + li::before { display: none; } }
.add2 .wrap { max-width: 1640px; } .add2 .additional { max-width: none; } .add2 .additional img { aspect-ratio: 42 / 43; }
.deal-logos { mix-blend-mode: multiply; }
/* Full press page: show whole headlines, tighter intro, same look as home */
.press-all .press-card h3 { display: block; -webkit-line-clamp: unset; overflow: visible; }
.press-all { padding-top: clamp(40px, 3vw, 56px); }
.press-all .section-head { margin-bottom: clamp(28px, 2.4vw, 44px); max-width: 1120px; }
.press-all .section-head p { font-size: clamp(16px, 1.15vw, 22px); line-height: 1.75; letter-spacing: .03em; margin: 0; }
/* Full press page per mockup: outlined cards */
.press-all-h { font-size: clamp(32px, 2.6vw, 50px); margin: 0; }
.press-all-h::after { content: ""; display: block; width: 130px; height: 1px; background: #b08e62; margin: 18px auto clamp(24px, 1.8vw, 32px); }
.press-all .press-cards { gap: clamp(24px, 2.2vw, 40px); }
.press-all .press-card { border: 1px solid #e0d8cf; padding: clamp(14px, 1.2vw, 22px); }
.press-all .press-card .pc-img { aspect-ratio: 7 / 4; }
.press-all .press-card .pc-body { padding: 18px 2px 8px; gap: 8px; }
.press-all .press-card .pc-pub::after { content: ""; position: absolute; }
.press-all .press-card .pc-pub { position: relative; flex-direction: column; height: auto; }
.press-all .press-card h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: clamp(20px, 1.5vw, 28px); line-height: 1.3; }
.press-all .press-card h3::before { content: ""; display: block; width: 42px; height: 1px; background: #cfc3b7; margin: 6px auto 16px; }
.press-all .press-card h3 { -webkit-line-clamp: 3; }
.press-all .press-card .pc-in { text-transform: uppercase; letter-spacing: .2em; font-family: var(--body); font-size: clamp(11.5px, .8vw, 14.5px); color: #9a8a7c; margin-top: 4px; }
.press-all .press-card .pc-in em { font-style: italic; }
.press-all .press-card .pc-desc { text-align: left; font-size: clamp(13.5px, .88vw, 16px); letter-spacing: .05em; line-height: 1.6; margin-top: 12px; padding-inline: 4%; color: #3a3a3a; }
.press-all .press-card h3 { -webkit-line-clamp: 2; min-height: 2.6em; }
.press-all .wrap { padding-inline: clamp(16px, 4vw, 76px); max-width: 1800px; }
.press-all .press-card .pc-desc { font-size: clamp(13px, .82vw, 15px); }
.press-all .press-card .pc-pub { height: 48px; justify-content: center; }
/* Contact page per mockup */
.contact2 { grid-template-columns: 42fr 58fr; background: var(--warm); min-height: calc(100vh - 110px); }
.contact2 .contact-info { position: relative; max-width: none; padding: clamp(50px, 5vw, 96px) clamp(40px, 5vw, 100px) clamp(40px, 3vw, 60px) clamp(24px, 5.3vw, 100px); }
.contact2 .contact-info::after { content: ""; position: absolute; right: clamp(0px, 1.8vw, 34px); top: clamp(30px, 2.4vw, 44px); bottom: clamp(30px, 2.4vw, 44px); width: 1px; background: #b9ada3; }
.contact2 .kicker-sans { color: #b08e62; margin-bottom: 12px; }
.contact-h { font-size: clamp(38px, 3.3vw, 62px); margin: 0; }
.contact-h::after { content: ""; display: block; width: 108px; height: 1px; background: #b08e62; margin: 18px 0 22px; }
.contact2 .contact-lines { font-size: clamp(15px, 1.05vw, 19px); line-height: 1.7; margin-bottom: 20px; }
.contact2 .contact-social { font-size: clamp(11.5px, .75vw, 14px); color: #b08e62; gap: 18px; margin-bottom: 30px; }
.contact2 .contact-info > p:not(.kicker-sans):not(.contact-lines):not(.contact-social) { font-size: clamp(15px, 1.05vw, 19px); line-height: 1.55; max-width: 48ch; color: #2e2e2e; }
.contact2 .contact-panel { background: var(--panel-img) center/cover no-repeat, #e9ddd0; padding: clamp(16px, 1.6vw, 30px); }
.contact2 .contact-frame { border: 1px solid rgba(90,80,70,.35); color: var(--ink); padding: clamp(40px, 3.5vw, 64px) clamp(28px, 6.5vw, 128px) clamp(40px, 3vw, 60px); }
.contact2 .contact-frame h2 { color: var(--ink); font-size: clamp(36px, 3vw, 58px); margin-bottom: 0; }
.contact2 .contact-frame h2::after { content: ""; display: block; width: 70px; height: 1px; background: #b08e62; margin: 20px auto 28px; }
.contact2 .contact-frame label:not(.consent) { color: var(--ink); letter-spacing: .18em; font-weight: 500; font-size: clamp(11px, .75vw, 14px); }
.contact2 .contact-frame input[type=text], .contact2 .contact-frame input[type=email], .contact2 .contact-frame input[type=tel], .contact2 .contact-frame select, .contact2 .contact-frame textarea { background: rgba(255,255,255,.12); border: 1px solid rgba(90,80,70,.55); color: var(--ink); }
.contact2 .contact-frame .consent { color: #3a3a3a; font-size: clamp(11.5px, .72vw, 13.5px); }
.contact2 .contact-frame .status { color: var(--ink); }
.contact2 .contact-frame button { border: 1px solid var(--ink); color: var(--ink); background: rgba(255,255,255,.15); text-transform: uppercase; letter-spacing: .18em; font-size: clamp(12px, .85vw, 15px); font-weight: 500; padding: 16px 34px; justify-self: start; }
.contact2 .contact-frame button:hover { background: var(--ink); color: #fff; }
@media (max-width: 860px) { .contact2 { grid-template-columns: 1fr; } .contact2 .contact-info::after { display: none; } }
.contact2 .contact-panel { background: linear-gradient(180deg, rgba(247,243,237,.62) 0%, rgba(247,243,237,.45) 55%, rgba(247,243,237,.15) 100%), var(--panel-img) center bottom/cover no-repeat, #e9ddd0; }
.contact2 .contact-frame input[type=text], .contact2 .contact-frame input[type=email], .contact2 .contact-frame input[type=tel], .contact2 .contact-frame select, .contact2 .contact-frame textarea { background: rgba(255,255,255,.28); }
.contact2 .contact-frame .consent { background: none; text-shadow: 0 0 6px rgba(255,255,255,.7); }
.contact2 .contact-frame textarea { height: clamp(80px, 5vw, 96px); min-height: 0; }
.contact2 .contact-panel { background: linear-gradient(180deg, rgba(247,243,237,.62) 0%, rgba(247,243,237,.5) 60%, rgba(247,243,237,.35) 100%), var(--panel-img) center bottom/cover no-repeat, #e9ddd0; }
.newsletter-band { background-position: center 60%; }
.newsletter-band { background: linear-gradient(rgba(20,20,20,.22), rgba(20,20,20,.30)), var(--nl-img) center 60%/cover no-repeat, #6b6150; }
/* Explore the Hamptons overview per mockup */
.site-header { background: #faf8f4; }
.light-hero { background: linear-gradient(180deg, rgba(250,247,242,.55) 0%, rgba(250,247,242,.25) 45%, rgba(250,247,242,0) 70%), var(--hero-img) center 62%/cover no-repeat, #d9d0c3; color: var(--ink); }
.light-hero .wrap { padding-block: clamp(46px, 3.2vw, 60px) clamp(150px, 11vw, 210px); }
.light-hero .eyebrow { color: #4a4540; letter-spacing: .32em; }
.light-hero .eyebrow::after { background: #6d655d; width: 140px; }
.light-hero h1 { color: var(--ink); text-shadow: 0 1px 14px rgba(255,255,255,.4); }
.intro-rule .intro-text::before { content: ""; display: block; width: 60px; height: 1px; background: #b08e62; margin: 0 auto clamp(20px, 1.6vw, 30px); }
.intro-rule .intro-text p { margin-bottom: 1.2em; }
.intro-rule .intro-text p:last-child { margin-bottom: 0; }
.grid2 { background: var(--warm); padding-top: clamp(36px, 3vw, 56px); }
.grid2 .wrap { max-width: 1800px; padding-inline: clamp(16px, 4vw, 76px); }
.grid2-k { color: #6d655d; font-family: var(--display); letter-spacing: .24em; text-align: center; margin: 0; }
.grid2-k.rule::after { margin: 12px auto 16px; width: 190px; background: #b9ada3; }
.grid2-h { font-size: clamp(34px, 3vw, 58px); margin: 0 0 clamp(22px, 1.8vw, 34px); }
.grid2 .town-grid { gap: 12px 14px; }
.grid2 .town-grid a { aspect-ratio: 5 / 2.05; }
.grid2 .town-grid a::after { display: none; }
.grid2 .town-grid a::before { background: rgba(0,0,0,.12); }
.grid2 .town-grid span { font-size: clamp(24px, 2.1vw, 40px); text-shadow: 0 2px 14px rgba(0,0,0,.45); }
@media (max-width: 980px) { .grid2 .town-grid a { aspect-ratio: 16 / 9; } }
.light-hero h1 { font-size: clamp(40px, 4.2vw, 80px); }
.grid2 .town-grid img { object-position: 50% 70%; }
/* Audit fixes: match mockup text sizes */
.redefine .section-head { max-width: 1040px; }
.redefine .section-head > p:not(.kicker):not(.subhead) { font-size: clamp(15.5px, 1.1vw, 21px); line-height: 1.55; }
.about2 .about2-text p:not(.kicker-sans) { font-size: clamp(15px, 1.06vw, 20px); line-height: 1.65; }
.intro2 .intro-text p { font-size: clamp(15px, 1.02vw, 19.5px); }
.intro-rule .intro-text p { font-size: clamp(14.5px, .9vw, 17px); line-height: 1.8; }
.intro-rule .intro-text { max-width: 1340px; }
/* Buying / Selling pages per mockup */
.proc-intro .intro-text p { font-size: clamp(15px, 1.02vw, 19.5px); line-height: 1.85; }
.proc-btns { margin-top: clamp(30px, 2.4vw, 44px); gap: clamp(16px, 1.8vw, 32px); }
.proc-btns .btn, .cta2 .btn { text-transform: uppercase; letter-spacing: .12em; font-size: clamp(12.5px, .88vw, 16px); padding: clamp(16px, 1.2vw, 22px) clamp(28px, 3vw, 56px); border-width: 1.5px; }
.proc2 { background: var(--warm); padding-top: clamp(40px, 3vw, 60px); }
.proc-head { max-width: 1340px; }
.proc-head h2 { font-size: clamp(32px, 2.9vw, 56px); margin-bottom: 0; }
.proc-head h2::after { content: ""; display: block; width: 90px; height: 1.5px; background: #b08e62; margin: 18px auto 22px; }
.proc-head p { font-size: clamp(15px, 1.02vw, 19.5px); line-height: 1.75; }
.tl2 { max-width: 1300px; margin: clamp(34px, 3vw, 56px) auto 0; }
.tl2 .timeline::before { left: 40px; top: 40px; bottom: 40px; background: #b08e62; width: 1.5px; }
.tl2 .timeline li { grid-template-columns: 82px 1fr; gap: clamp(30px, 4vw, 76px); padding-bottom: 0; }
.tl2 .tl-n { width: 82px; height: 82px; background: var(--warm); color: var(--ink); border: 1.5px solid #b08e62; box-shadow: none; font-family: var(--display); font-style: italic; font-size: clamp(26px, 1.9vw, 36px); }
.tl2 .timeline li > div { border-bottom: 1px solid #ddd5cc; padding: 4px 0 clamp(34px, 2.8vw, 52px); margin-bottom: clamp(30px, 2.6vw, 48px); }
.tl2 .timeline li:last-child > div { border-bottom: 0; margin-bottom: 0; }
.tl2 .timeline h3 { font-size: clamp(26px, 2.1vw, 40px); margin: 8px 0 10px; }
.tl2 .timeline p { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.6; max-width: 62ch; color: #3a3a3a; }
.bio2 .about2-text h2 { font-size: clamp(34px, 3.3vw, 62px); line-height: 1.15; margin: 0; }
.bio2 .about2-text h2::after { content: ""; display: block; width: 86px; height: 1.5px; background: #b08e62; margin: 22px 0 26px; }
.bio2 .about2-text .dots { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.75; color: #2e2e2e; }
.cta2 { background: var(--warm); text-align: center; padding-block: clamp(70px, 6vw, 120px); }
.cta2 h2 { font-size: clamp(34px, 3.3vw, 64px); margin: 0; }
.cta2 h2::after { content: ""; display: block; width: 88px; height: 1.5px; background: #b08e62; margin: 22px auto 26px; }
.cta2 p { max-width: 1540px; margin: 0 auto clamp(30px, 2.4vw, 44px); font-size: clamp(16px, 1.2vw, 23px); line-height: 1.8; }
@media (max-width: 600px) { .tl2 .timeline li { grid-template-columns: 56px 1fr; gap: 18px; } .tl2 .tl-n { width: 56px; height: 56px; font-size: 22px; } .tl2 .timeline::before { left: 28px; } }
.proc2 .wrap { max-width: 1560px; }
/* Mortgage calculator per mockup: light page, outlined panel, taupe sliders */
.mc2 { background: var(--warm); color: var(--ink); padding-block: clamp(44px, 3.4vw, 64px) clamp(60px, 5vw, 96px); }
.mc2 .mc-head { margin-bottom: clamp(30px, 3vw, 60px); max-width: 1440px; }
.mc2 .mc-head .eyebrow { color: #b08e62; font-weight: 500; letter-spacing: .2em; font-size: clamp(13px, 1vw, 19px); }
.mc2 .mc-head h1 { font-size: clamp(40px, 3.4vw, 66px); margin-bottom: 0; }
.mc2 .mc-head h1::after { content: ""; display: block; width: 74px; height: 1.5px; background: #b08e62; margin: 22px auto 28px; }
.mc2 .mc-head p:not(.eyebrow) { font-size: clamp(16px, 1.15vw, 22px); line-height: 1.8; }
.mc2 .mc-panel { background: rgba(255,255,255,.25); backdrop-filter: none; border: 1px solid #e3dbd1; max-width: 1660px; padding: clamp(32px, 4vw, 76px) clamp(24px, 5vw, 94px); }
.mc2 .mc-field label { text-transform: uppercase; letter-spacing: .16em; font-size: clamp(12px, .85vw, 16px); font-weight: 500; margin-bottom: 14px; }
.mc2 .mc-in input { color: var(--ink); border: 1px solid #9a948d; background: transparent; padding: 16px 20px; font-size: clamp(16px, 1.05vw, 20px); }
.mc2 .mc-note { color: #555; font-size: clamp(13px, .9vw, 17px); }
.mc2 .mc-range { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #b08e62 var(--pct, 50%), #e2ddd6 var(--pct, 50%)); margin-top: 24px; accent-color: #b08e62; }
.mc2 .mc-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.25); cursor: pointer; }
.mc2 .mc-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 0; box-shadow: 0 1px 5px rgba(0,0,0,.25); }
.mc2 .mc-grid { row-gap: clamp(36px, 3vw, 60px); }
.mc2 .mc-go button { border: 1.5px solid var(--ink); color: var(--ink); text-transform: uppercase; letter-spacing: .16em; font-size: clamp(13px, .9vw, 16px); }
.mc2 .mc-go button:hover { background: var(--ink); color: #fff; }
.mc2 .mc-out { border-top: 1px solid #e3dbd1; }
.mc2 .mc-total span { color: #7d6e62; }
.mc2 .mc-out dl div { border-bottom: 1px solid #e3dbd1; }
.cta-photo { background: linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.34)), var(--img) center/cover no-repeat, #333; padding-block: clamp(150px, 13vw, 250px); }
.cta-photo h2 { font-size: clamp(36px, 3.3vw, 64px); margin-bottom: 22px; }
.cta-photo p { font-size: clamp(16px, 1.15vw, 22px); line-height: 1.85; max-width: 1180px; }
.cta-photo .btn { text-transform: uppercase; letter-spacing: .22em; font-size: clamp(13px, .95vw, 18px); border-width: 1.5px; padding: clamp(16px, 1.2vw, 22px) clamp(36px, 2.6vw, 50px); }
.mc2 .wrap { max-width: 1760px; }
.mc2 .mc-head { max-width: 1400px; }
.mc2 .mc-grid { gap: clamp(36px, 3vw, 60px) clamp(30px, 3.5vw, 70px); }
.mc2 .mc-field label { white-space: nowrap; letter-spacing: .14em; }
.mc2 .mc-in input { max-width: 300px; }
.mc2 .mc-range { max-width: 300px; }
.mc2 .mc-head p:not(.eyebrow) { max-width: 1320px; margin-inline: auto; }
/* Home valuation per mockup: cream panel on photo, gold outline */
.val2 { padding: clamp(60px, 5vw, 100px) var(--gutter); background: var(--img) center/cover no-repeat, #6f8a5a; }
.val2 .val-panel { background: #faf7f2; backdrop-filter: none; color: var(--ink); border: 1.5px solid #b08e62; max-width: 1220px; padding: clamp(36px, 3.2vw, 56px) clamp(24px, 3vw, 56px); }
.val2 .kicker-sans { color: #6d655d; letter-spacing: .24em; margin-bottom: 8px; }
.val2 .val-panel h2 { color: var(--ink); font-size: clamp(34px, 3vw, 58px); margin: 0; }
.val2 .val-panel h2::after { content: ""; display: block; width: 62px; height: 1.5px; background: #b08e62; margin: 18px auto 22px; }
.val2 .val-panel > p:not(.kicker-sans) { color: #3a3a3a; font-size: clamp(15px, 1.02vw, 19px); letter-spacing: .03em; max-width: 64ch; margin-bottom: clamp(26px, 2.2vw, 40px); }
.val2 label:not(.consent) { color: #3a3a3a !important; text-transform: uppercase; letter-spacing: .14em; font-size: clamp(11.5px, .78vw, 14px); font-weight: 600; }
.val2 input[type=text], .val2 input[type=email], .val2 input[type=tel], .val2 input[type=number], .val2 select, .val2 textarea { background: #fff !important; border: 1px solid #b9b2aa !important; color: var(--ink) !important; }
.val2 .consent, .val2 .status { color: #3a3a3a !important; }
.val2 .val-nav { border-top: 1px solid #e0d6c8; padding-top: 22px; }
.val2 .val-panel button { border: 1.5px solid var(--ink); color: var(--ink); text-transform: uppercase; letter-spacing: .16em; font-size: clamp(12.5px, .85vw, 15px); padding: 14px 36px; }
.val2 .val-panel button:hover { background: var(--ink); color: #fff; }
.val-intro .intro-text { max-width: 1480px; } .val-intro .intro-text p { margin-bottom: 1.1em; } .val-intro .intro-text p:last-child { margin-bottom: 0; } section.block.val-intro { padding-bottom: clamp(40px,3vw,56px) !important; }
/* Mortgage calculator v3 per mockup: banner + light panel + centered result */
.mc3 { padding-top: clamp(28px, 2.2vw, 40px); }
.mc3 .mc-head { max-width: 1120px; margin: 0 auto clamp(22px, 1.6vw, 30px); text-align: center; }
.mc3 .mc-head p { font-size: clamp(15px, 1vw, 19px); line-height: 1.7; margin: 0; }
.mc3 .mc-panel { max-width: 1580px; margin: 0 auto; padding: clamp(24px, 2vw, 38px) clamp(20px, 3.6vw, 70px) clamp(24px, 2vw, 36px); background: transparent; }
.mc3 .mc-grid { grid-template-columns: repeat(4, 1fr); gap: clamp(24px, 2vw, 40px) clamp(30px, 4vw, 80px); }
.mc3 .mc-field label { font-family: var(--display); font-weight: 400; font-size: clamp(11.5px, .72vw, 14px); letter-spacing: .12em; margin-bottom: 10px; }
.mc3 .mc-in input { max-width: none; padding: 11px 14px; background: #fff; border-color: #cfc8bf; }
.mc3 .mc-range { max-width: none; margin-top: 18px; height: 4px; background: linear-gradient(90deg, #b08e62 var(--pct, 50%), #e2ddd6 var(--pct, 50%)); }
.mc3 .mc-range::-webkit-slider-thumb { width: 24px; height: 24px; background: #faf8f4; border: 1.5px solid #b08e62; box-shadow: none; }
.mc3 .mc-range::-moz-range-thumb { width: 24px; height: 24px; background: #faf8f4; border: 1.5px solid #b08e62; box-shadow: none; }
.mc-res { border-top: 1px solid #ddd2c3; margin-top: clamp(24px, 2vw, 36px); padding-top: clamp(16px, 1.3vw, 24px); text-align: center; }
.mc-lbl { font-family: var(--display); text-transform: uppercase; letter-spacing: .14em; font-size: clamp(12px, .78vw, 15px); margin: 0; }
.mc-big { font-family: var(--display); color: #b08e62; font-size: clamp(44px, 3.4vw, 66px); line-height: 1.1; margin: 4px 0 6px; font-variant-numeric: lining-nums; }
.mc-sub { font-size: clamp(12.5px, .8vw, 15px); margin: 0 0 clamp(18px, 1.4vw, 26px); }
.mc-parts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.mc-parts div { display: flex; flex-direction: column; align-items: center; padding: 4px 10px; }
.mc-parts div + div { border-left: 1px solid #b08e62; }
.mc-parts dd { margin: 0; font-family: var(--display); font-size: clamp(24px, 1.8vw, 34px); order: 0; }
.mc-parts dt { order: 1; font-size: clamp(13px, .88vw, 16px); color: #3a3a3a; }
.mc3 .mc-fine { font-size: 12px; color: #7a746d; margin: 18px 0 0; }
@media (max-width: 900px) { .mc3 .mc-grid { grid-template-columns: 1fr 1fr; } .mc-parts { grid-template-columns: 1fr 1fr; row-gap: 18px; } .mc-parts div:nth-child(3) { border-left: 0; } }
@media (max-width: 520px) { .mc3 .mc-grid { grid-template-columns: 1fr; } }
section.block.mc3 { padding-top: clamp(26px,2vw,38px) !important; } .mc3 .mc-head p { font-size: clamp(14.5px,.95vw,18px) !important; }
/* Home corrections (mockup 18:09) */
.hero-video h1 { font-family: var(--display); font-weight: 400; letter-spacing: .005em; font-size: clamp(38px, 4.1vw, 80px); line-height: 1.1; }
.hero-video .eyebrow, .hero-video .towns { font-weight: 500; letter-spacing: .05em; font-size: clamp(13px, 1.12vw, 21px); }
.kicker-sans.gold { color: #b08e62; letter-spacing: .24em; font-weight: 500; }
.newsletter-band .kicker-sans.gold { color: #b08e62; font-size: clamp(14px, 1.1vw, 21px); margin-bottom: 10px; text-shadow: none; }
.newsletter-band { background: linear-gradient(rgba(20,20,20,.12), rgba(20,20,20,.2)), var(--nl-img) center 60%/cover no-repeat, #6b6150; }
.newsletter-band .consent { font-size: clamp(13px, .85vw, 16px); }
/* Home press: same formatting as the full press page */
.press2 .section-head h2 { margin-bottom: 14px; }
.press2 .press-card h3 { -webkit-line-clamp: unset; display: block; overflow: visible; font-size: clamp(20px, 1.5vw, 29px); }
.press2 .press-card .pc-in { text-transform: uppercase; letter-spacing: .16em; font-family: var(--body); font-size: clamp(12px, .85vw, 16px); color: #b08e62; font-weight: 500; }
.press2 .press-card .pc-in em { font-style: italic; }
.press2 .press-card .pc-desc { font-size: clamp(14.5px, .98vw, 18px); line-height: 1.6; color: #3a3a3a; }
.newsletter-band .kicker-sans.gold { text-shadow: 0 1px 8px rgba(0,0,0,.35); }
/* Bio page visual refinements (copy + photos locked) */
body.page-bio, .page-bio main, .page-bio .bio2, .page-bio .redefine { background: #f8f6f2; }
.page-bio .kicker-sans, .page-bio .redefine .kicker { font-family: var(--body); color: #b08e62; text-transform: uppercase; letter-spacing: .24em; font-weight: 500; font-size: clamp(12px, .9vw, 16px); }
.page-bio .bio2 .about2-text::before { background: #cbbca6; }
.page-bio .stat2 + .stat2 { border-left-color: #cbbca6; }
.page-bio .bio2 .about2-text p:not(.kicker-sans), .page-bio .stat2 p:not(.lbl) { font-weight: 400; line-height: 1.65; }
.page-bio .bio2 .about2-text h3.sub-h { font-size: clamp(22px, 1.75vw, 34px); }
.page-bio .stat2 .lbl { color: #b08e62; }
.page-bio .redefine .btn-arrow { border: 1px solid #b08e62; color: #2a2a2a; background: transparent; }
.page-bio .redefine .btn-arrow span { color: #b08e62; }
.page-bio .redefine .btn-arrow:hover { background: #2a2a2a; color: #fff; border-color: #2a2a2a; }
/* Footer phone & email only */
.site-footer .foot-contact, .site-footer .foot-contact a { font-family: var(--body); font-weight: 400; font-size: clamp(16px, 1vw, 19px); line-height: 1.45; letter-spacing: .01em; text-transform: none; }
.site-footer .foot-contact, .site-footer .foot-contact a { font-size: clamp(16px, calc(1vw + 2.5px), 19.5px); }
.site-footer .foot-contact, .site-footer .foot-contact a { color: #e2e5e6; -webkit-font-smoothing: antialiased; }
.page-bio .bio2 .about2-text p:not(.kicker-sans), .page-bio .stat2 p:not(.lbl) { color: #3D3A37; }
/* Footer per mockup (18:28): gold headings, no heading rule, brighter text */
.site-footer h4 { color: #b08e62; }
.site-footer h4::after { display: none; }
.site-footer h4 { padding-bottom: 0; margin-bottom: clamp(18px, 1.5vw, 28px); }
.site-footer ul a, .foot-tag { color: #e2e5e6; }
.site-footer ul { gap: clamp(4px, .6vw, 10px); }
.social-icons { color: #fff; gap: 28px; } .social-icons svg { width: 28px; height: 28px; }
.legal, .legal .links, .legal .copy, .legal .eho { color: #d9dcdd; }
.legal .disclaimer { color: #a9aeb1; }
/* Testimonials page — final refinement */
body.page-testi, .page-testi main, .page-testi .intro2, .page-testi .intro3, .page-testi section.block { background: #F8F6F2; }
.page-testi .town-hero .eyebrow { font-family: var(--body); font-style: normal; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; color: #b08e62; font-size: clamp(12px, .9vw, 16px); text-shadow: 0 1px 10px rgba(0,0,0,.35); }
.page-testi .intro-text p { color: #3D3A37; font-weight: 400; }
.page-testi .q-card.q2 { border: 1px solid #e2d6c4; background: transparent; box-shadow: none; border-radius: 0; }
.page-testi .q-mark { color: #b08e62; font-size: clamp(38px, 2.6vw, 50px); }
.page-testi .q-narrow .q-mark { font-size: clamp(38px, 2.6vw, 50px); }
.page-testi .q2 blockquote { color: #3D3A37; font-weight: 400; font-style: normal; line-height: 1.75; margin-bottom: clamp(24px, 2vw, 34px); }
.page-testi .q2 figcaption::before { background: #b08e62; }
.page-testi .q2 .q-name { font-family: var(--display); font-weight: 400; color: var(--ink); }
.page-testi .q2 .q-role, .page-testi .q-narrow .q-role { font-family: var(--body); color: #b08e62; text-transform: uppercase; letter-spacing: .2em; font-weight: 500; font-style: normal; }
.page-testi .q-list { border-left-color: #cbbca6; }
.page-testi section.block.intro3 { padding-top: clamp(70px, 5.5vw, 110px) !important; }
.page-testi .town-hero .eyebrow { color: #c6a26b; text-shadow: 0 1px 3px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.35); }
/* Header nav: sans-serif labels */
.main-nav > a, .main-nav .nav-dd > a { font-family: var(--body); font-weight: 450; font-size: clamp(14px, .85vw, 16px); letter-spacing: .11em; text-transform: uppercase; }
.main-nav > a, .main-nav .nav-dd > a { font-size: clamp(15px, .85vw, 16px); }
.main-nav { gap: clamp(18px, 2vw, 44px); } .menu-toggle { margin-left: clamp(16px, 2.6vw, 70px); } .site-header { gap: clamp(20px, 2.4vw, 56px); }
.main-nav .dd-menu a { font-family: var(--body); font-weight: 400; font-size: clamp(15px, .85vw, 16px); letter-spacing: .01em; text-transform: none; }
/* All photo banners: gold sans eyebrow (same as Testimonials) */
.town-hero:not(.light-hero) .eyebrow { font-family: var(--body); font-style: normal; font-weight: 500; text-transform: uppercase; letter-spacing: .24em; font-size: clamp(12px, .9vw, 16px); color: #c6a26b; text-shadow: 0 1px 3px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.35); }
.nt-intro .intro-text { max-width: 1480px; } .nt-intro .intro-text p { color: #3D3A37; margin-bottom: 1.1em; } .nt-intro .intro-text p:last-child { margin-bottom: 0; }
.press-all .section-head { margin-bottom: clamp(34px, 2.8vw, 52px); } .press-all .press-card .pc-body { justify-content: flex-start; } .press-all .press-card .pc-in { min-height: 1.4em; }
/* Inner pages: intro paragraph sections ~15-20% shallower (not home, bio, contact) */
section.block.intro2 { padding-top: clamp(26px, 2vw, 34px) !important; }
section.block.intro2:not(.val-intro):not(.nt-intro) { padding-bottom: clamp(0px, 0vw, 0px); }
.page-testi section.block:has(> .wrap.q-split) { padding-top: clamp(22px, 1.6vw, 30px) !important; }
.nt-intro { padding-bottom: clamp(26px, 2vw, 34px) !important; }
.nt-intro + .deal2 { padding-top: clamp(30px, 2.6vw, 46px); }
.intro-rule .intro-text::before { margin-bottom: clamp(14px, 1.1vw, 20px); }
.proc-intro { padding-bottom: clamp(30px, 2.4vw, 44px) !important; }
.proc-btns { margin-top: clamp(22px, 1.8vw, 32px); }
.proc2 { padding-top: clamp(30px, 2.2vw, 42px); }
.intro-rule:not(.proc-intro) { padding-bottom: clamp(18px, 1.4vw, 26px) !important; }
.grid2 { padding-top: clamp(24px, 1.8vw, 34px); }
.press-all { padding-top: clamp(30px, 2.2vw, 42px) !important; }
.press-all .section-head { margin-bottom: clamp(24px, 1.9vw, 36px); }
.val-intro { padding-bottom: clamp(24px, 1.8vw, 34px) !important; }
.val2 { padding-top: clamp(44px, 3.6vw, 70px); }
.town-intro-band { padding-top: calc(78px + clamp(40px, 3.6vw, 60px)); padding-bottom: clamp(36px, 3vw, 56px); }
.town-intro-band + section.block { padding-top: clamp(44px, 4.4vw, 76px); }
.press-all { padding-top: clamp(36px, 2.8vw, 52px) !important; }
.press-all .section-head { margin-bottom: clamp(30px, 2.4vw, 44px); }
.intro-rule .intro-text p { margin-bottom: .85em; }
.intro-rule:not(.proc-intro) { padding-bottom: clamp(10px, .8vw, 16px) !important; }
.grid2 { padding-top: clamp(18px, 1.4vw, 26px); }
.proc-intro { padding-bottom: clamp(24px, 1.8vw, 34px) !important; }
.proc2 { padding-top: clamp(22px, 1.6vw, 30px); }
.val-intro .intro-text p { margin-bottom: .8em; }
.val2 { padding-top: clamp(36px, 2.8vw, 54px); }
.town-intro-band { padding-top: calc(78px + clamp(32px, 2.6vw, 46px)); padding-bottom: clamp(30px, 2.4vw, 44px); }
.town-intro-band + section.block { padding-top: clamp(36px, 3.4vw, 60px); }
.blog-intro { padding-top: clamp(40px, 3.4vw, 64px); padding-bottom: clamp(40px, 3.4vw, 64px); background: #F8F6F2; }
.blog-intro .intro-text p { color: #3D3A37; }
section.block.blog-intro { padding-top: clamp(40px, 3.4vw, 64px); padding-bottom: clamp(36px, 3vw, 56px); } .blog-intro + section.block { padding-top: clamp(40px, 3.4vw, 64px); }
/* Hamptons overview: concise intro */
section.block.nb-intro { background: #f8f6f2; padding-block: clamp(48px, 4.2vw, 80px) clamp(40px, 3.4vw, 64px); }
.nb-intro-text { max-width: 900px; margin: 0 auto; text-align: center; }
.nb-intro-text p { font-family: var(--body); font-weight: 400; font-size: clamp(17px, 1.15vw, 21px); line-height: 1.6; color: #3D3A37; margin: 0; letter-spacing: .01em; }
.nb-intro + .grid2 { padding-top: 0; }
/* Expand space under banners a bit (partial undo of tightening) */
section.block.intro2 { padding-top: clamp(38px, 3vw, 54px) !important; }
.press-all { padding-top: clamp(40px, 3.2vw, 58px) !important; }
section.block.blog-intro { padding-top: clamp(46px, 4vw, 72px); }
.town-intro-band { padding-top: calc(78px + clamp(40px, 3.4vw, 58px)); }
/* Testimonials: industry intro on two lines */
.page-testi .intro3 .intro-text { max-width: 1640px; }
/* Equal space above and below the first intro paragraph (matches Testimonials top gap) */
:root { --intro-gap: clamp(38px, 3vw, 54px); }
section.block.intro2, section.block.val-intro, section.block.nb-intro, section.block.blog-intro { padding-top: var(--intro-gap) !important; padding-bottom: var(--intro-gap) !important; }
.intro2 .section-head, .blog-intro .section-head { margin-bottom: 0 !important; }
.page-testi section.block:has(> .wrap.q-split) { padding-top: 0 !important; }
.nt-intro + .deal2 { padding-top: 0 !important; }
.proc-intro + .proc2 { padding-top: 0 !important; }
.nb-intro + .grid2 { padding-top: 0 !important; }
.val-intro + .val2 { margin-top: 0; }
.blog-intro + .blog-grid { padding-top: 0 !important; background: #F8F6F2; }
.press-all { padding-top: var(--intro-gap) !important; }
.press-all .section-head { margin-bottom: var(--intro-gap) !important; }
.mc3 { padding-top: var(--intro-gap) !important; }
.mc3 .mc-head { margin-bottom: var(--intro-gap) !important; }
section.block.mc3 { padding-top: var(--intro-gap) !important; }
.press-all .section-head p { font-size: clamp(15px, 1.02vw, 19.5px); line-height: 1.75; letter-spacing: .03em; color: #3D3A37; font-weight: 400; }
/* One intro-paragraph style for all banner pages (matches Testimonials) */
.proc-intro .intro-text p, .val-intro .intro-text p, .blog-intro .intro-text p, .mc3 .mc-head p, .nt-intro .intro-text p { font-size: clamp(15px, 1.02vw, 19.5px) !important; line-height: 1.75 !important; letter-spacing: .03em; color: #3D3A37; font-weight: 400; }
.nb-intro-text { max-width: 1120px; } .nb-intro-text p { font-size: clamp(15px, 1.02vw, 19.5px) !important; line-height: 1.75 !important; letter-spacing: .03em; color: #3D3A37; font-weight: 400; }
.contact2 .contact-lines a { font-family: var(--body); font-weight: 400; letter-spacing: inherit; }
/* Overview town cards: same label style as home page town photos */
.grid2 .town-grid a::before { background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.45)); }
.grid2 .town-grid span { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; text-align: left; padding: 0 clamp(20px, 2vw, 36px) clamp(22px, 2.2vw, 40px); font-size: clamp(22px, 2vw, 38px); text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.grid2 .town-grid span::after { content: ""; display: block; width: 52px; height: 1.5px; background: #fff; margin-top: 12px; }
/* ===== Town pages redesign ===== */
.town2-hero { text-align: center; }
.town2-hero .wrap { padding-block: clamp(170px, 14vw, 250px) clamp(120px, 11vw, 200px); }
.town2-hero h1 { font-size: clamp(52px, 5.4vw, 100px); }
.town2-hero h1::after { content: ""; display: block; width: 120px; height: 2px; background: #b08e62; margin: clamp(22px, 2vw, 34px) auto 0; }
.gold-rule::after { content: ""; display: block; width: 130px; height: 1.5px; background: #b08e62; margin: clamp(22px, 2vw, 34px) 0 clamp(26px, 2.4vw, 42px); }
.gold-rule.c::after { width: 74px; margin-left: auto; margin-right: auto; }
.town2-life, .favs2, .town2-text, .town2-intro { background: #F8F6F2; }
.town2-life { padding-top: clamp(20px, 1.6vw, 30px); }
.town2-life .town-life { grid-template-columns: 1fr 1fr; gap: clamp(30px, 3vw, 60px); align-items: stretch; }
.town2-life .wrap { max-width: 1800px; }
.town2-life .town-secs { padding-top: 0; gap: 0; }
.town2-life .town-secs h2 { font-size: clamp(34px, 3.1vw, 60px); margin: 0; }
.town2-life .town-secs > div + div::before { content: ""; display: block; width: 68px; height: 1.5px; background: #b08e62; margin: clamp(26px, 2.2vw, 40px) 0; }
.town2-life .town-secs h3 { font-size: clamp(26px, 1.9vw, 36px); margin-bottom: 10px; }
.town2-life .town-secs p { font-size: clamp(15px, 1.02vw, 19px); line-height: 1.75; letter-spacing: .03em; color: #3D3A37; max-width: 64ch; }
.town2-life .town-fig { position: relative; }
.town2-life .town-fig img { height: 100%; aspect-ratio: auto; min-height: 520px; }
.favs2 { color: var(--ink); }
.favs2 h2 { color: var(--ink); font-size: clamp(36px, 3.2vw, 62px); margin-bottom: 0; }
.favs2 .fav-boxes { gap: 0; max-width: 1560px; }
.favs2 .fav-box { border: 0; padding: 12px 20px 10px; }
.favs2 .fav-box + .fav-box { border-left: 1px solid #cbbca6; }
.favs2 .fav-box svg { color: #b08e62; margin-bottom: 20px; }
.favs2 .fav-box h3 { display: block; font-size: clamp(32px, 2.4vw, 46px); margin-bottom: 0; }
.favs2 .fav-box h3::before { display: none; }
.favs2 .fav-box h3::after { content: ""; display: block; width: 74px; height: 1.5px; background: #b08e62; margin: 22px auto 26px; flex: none; }
.favs2 .fav-box li { font-size: clamp(16px, 1.15vw, 21px); color: #3D3A37; padding: 8px 0; letter-spacing: .02em; }
.town2-text .town-text { max-width: 1340px; }
.town2-text h2 { font-size: clamp(36px, 3.2vw, 62px); margin: 0 !important; }
.town2-text p { font-size: clamp(15px, 1.05vw, 20px); line-height: 1.75; letter-spacing: .02em; color: #3D3A37; text-align: center; margin-bottom: clamp(56px, 4.5vw, 86px) !important; }
.town2-text p.center { margin-bottom: 0 !important; }
.gold-btn { border: 1.5px solid #b08e62 !important; color: #2a2a2a; }
.gold-btn span { color: #2a2a2a; }
.gold-btn:hover { background: #2a2a2a; color: #fff; border-color: #2a2a2a !important; }
@media (max-width: 900px) { .town2-life .town-life { grid-template-columns: 1fr; } .town2-life .town-fig img { min-height: 0; aspect-ratio: 4/3; } .favs2 .fav-box + .fav-box { border-left: 0; border-top: 1px solid #cbbca6; padding-top: 30px; } }
.town2-intro .intro-text p { font-size: clamp(15px, 1.02vw, 19.5px) !important; line-height: 1.75 !important; letter-spacing: .03em; color: #3D3A37; }
section.block.town2-life { padding-top: 0; }
.town2-life .town-life { grid-template-columns: 52fr 48fr; align-items: stretch; }
.town2-life .town-secs { padding-right: clamp(0px, 2vw, 40px); }
.town2-life .town-secs h2 { font-size: clamp(30px, 2.55vw, 50px); white-space: nowrap; }
.town2-life .town-fig { position: static; margin: 0; }
.town2-life .town-fig img { height: 100%; }
@media (max-width: 1100px) { .town2-life .town-secs h2 { white-space: normal; } }
/* Town pages: consistent vertical rhythm */
.town2-life .town-secs { margin-top: 0; }
section.block.town2-life { padding-bottom: clamp(56px, 4.6vw, 84px); }
section.block.favs2, section.block.town2-text, .town2-text ~ section.block.explore2 { padding-top: clamp(56px, 4.6vw, 84px); padding-bottom: clamp(56px, 4.6vw, 84px); }
.town2-text p { margin-bottom: clamp(48px, 3.8vw, 70px) !important; }
.town2-text p.center { margin-top: 0; }
/* Explore the Hamptons overview hero per mockup */
.light-hero { background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 22%), var(--hero-img) center 62%/cover no-repeat, #d9d0c3; }
.light-hero .wrap { padding-block: clamp(120px, 8vw, 150px) clamp(150px, 11vw, 210px); }
.light-hero .eyebrow { font-family: var(--body); font-style: normal; font-weight: 600; text-transform: uppercase; letter-spacing: .2em; color: #b08e62; font-size: clamp(13px, 1vw, 19px); text-shadow: none; }
.light-hero .eyebrow::after { background: #b08e62; width: 200px; }
.light-hero h1 { color: #26292e; text-shadow: none; }
/* Local Favorites: tighter */
.favs2 h2 { font-size: clamp(30px, 2.4vw, 46px); }
.favs2 h2.gold-rule::after { margin: 16px auto 28px; }
.favs2 .fav-boxes { max-width: 1240px; }
.favs2 .fav-box { padding: 4px 16px 4px; }
.favs2 .fav-box svg { width: 40px; height: 40px; margin-bottom: 12px; }
.favs2 .fav-box h3 { font-size: clamp(24px, 1.7vw, 32px); }
.favs2 .fav-box h3::after { width: 54px; margin: 14px auto 16px; }
.favs2 .fav-box li { font-size: clamp(15px, 1vw, 18px); padding: 4px 0; line-height: 1.55; }
.town2-hero[style*="bridgehampton-hero"] { background-position: center, center 28%; }
/* Town banners: same height/framing as the current site (full-width photo, ~38% of width tall) */
.town2-hero { min-height: clamp(420px, 38vw, 730px); display: flex; align-items: center; justify-content: center; background: linear-gradient(rgba(0,0,0,.14), rgba(0,0,0,.2)), var(--hero-img) center center/cover no-repeat, #58677a; }
.town2-hero .wrap { padding-block: clamp(90px, 7vw, 130px) clamp(40px, 3vw, 60px); }
/* Town banners: framing matched to the current michelemahl.com */
.town2-hero { background-position: center, center 50%; }
.town2-hero[style*="parrish-art-museum-water-mill"] { background-position: center, center 62%; }
.town2-hero[style*="montauk"] { background-position: center, center 12%; }
.town2-hero[style*="sagaponack"] { background-position: center, center 100%; }
.town2-hero[style*="southampton"] { background-position: center, center 45%; }
.town2-hero[style*="sag-harbor"] { background-position: center, center 75%; }
.town2-hero[style*="wainscott"] { background-position: center, center 70%; }
.town2-hero[style*="amagansett"] { background-position: center, center 55%; }
.town2-hero[style*="east-hampton"] { background-position: center, center 50%; }
.town2-hero[style*="bridgehampton-hero"] { background-position: center, center 28%; }
.town2-hero[style*="montauk"] { background-position: center, center 42%; }
.town2-hero[style*="southampton"] { background-position: center, center 68%; }
.town2-hero[style*="montauk"] { background-position: center, center 28%; }
.town-grid img[src*="bridgehampton-hero"], .carousel-track img[src*="bridgehampton-hero"] { object-position: 60% 30%; }
/* Nav underline: identical full-word underline on hover and for the current page, on every item */
.main-nav > a::after, .main-nav .nav-dd > a::after { content: ""; position: absolute; left: 0; right: 0; width: auto; bottom: -8px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.main-nav > a:hover::after, .main-nav .nav-dd:hover > a::after, .main-nav .nav-dd:focus-within > a::after, .main-nav a.active::after { transform: scaleX(1); right: 0; width: auto; }
/* Hero reframing */
.town2-hero[style*="wainscott"] { background-position: center, center 38%; }
.town2-hero[style*="montauk"] { background-position: center, center 8%; }
.town2-hero[style*="parrish-art-museum-water-mill"] { background: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.12)), var(--hero-img) center 88%/cover no-repeat, #58677a; }
.town2-hero[style*="parrish-art-museum-water-mill"] { background: linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 100%), var(--hero-img) center 88%/cover no-repeat, #58677a; } .town2-hero[style*="parrish-art-museum-water-mill"] h1 { text-shadow: 0 2px 18px rgba(0,0,0,.35); }
/* ===== Town pages: final typography & spacing refinement ===== */
/* 1. Intro below hero */
.page-town section.block.town2-intro { padding-top: clamp(48px, 4.2vw, 72px) !important; padding-bottom: clamp(40px, 3.6vw, 60px) !important; }
.page-town .town2-intro .intro-text { max-width: 1140px; }
.page-town .town2-intro .intro-text p { font-size: clamp(16px, 1.1vw, 18px) !important; line-height: 1.65 !important; letter-spacing: .01em; font-weight: 400; }
/* 2-5. Editorial section */
.page-town section.block.town2-life { padding-top: 0; padding-bottom: clamp(64px, 5.4vw, 96px); }
.page-town .town2-life .town-secs h2 { font-size: clamp(32px, 2.7vw, 44px); font-weight: 400; white-space: nowrap; }
.page-town .town2-life .town-secs h2.gold-rule::after { margin: 18px 0 30px; }
.page-town .town2-life .town-secs h3 { font-size: clamp(24px, 1.8vw, 30px); font-weight: 400; margin-bottom: 8px; }
.page-town .town2-life .town-secs > div + div::before { margin: 26px 0 24px; }
.page-town .town2-life .town-secs p { font-size: clamp(15.5px, 1.05vw, 17px); line-height: 1.65; letter-spacing: 0; font-weight: 400; }
.page-town .town2-life .town-fig img { min-height: 0; }
/* 6. Local Favorites (scale only) */
.page-town section.block.favs2 { padding-block: clamp(64px, 5.4vw, 96px); }
.page-town .favs2 h2 { font-size: clamp(30px, 2.4vw, 40px); }
.page-town .favs2 .fav-box h3 { font-size: clamp(24px, 1.8vw, 30px); }
.page-town .favs2 .fav-box li { font-size: clamp(15px, 1.05vw, 17px); }
/* 7. Why / Discovering + CTA */
.page-town section.block.town2-text { padding-block: clamp(64px, 5.4vw, 96px) clamp(56px, 4.6vw, 84px); }
.page-town .town2-text h2 { font-size: clamp(32px, 2.7vw, 44px); }
.page-town .town2-text .gold-rule.c::after { margin: 18px auto 24px; }
.page-town .town2-text p { font-size: clamp(15.5px, 1.05vw, 17px); line-height: 1.65; letter-spacing: 0; margin-bottom: clamp(44px, 3.6vw, 64px) !important; }
.page-town .town2-text p.center { margin: 0 !important; }
.page-town .town2-text p + p.center { margin-top: -10px !important; }
/* 8-10. Explore The Hamptons */
.page-town section.block.explore2 { padding-top: clamp(64px, 5.4vw, 96px); }
.page-town .explore2 .section-head { max-width: 1250px; margin-bottom: clamp(60px, 5.6vw, 90px); }
.page-town .explore2 .kicker-sans { font-style: normal; margin-bottom: 10px; }
.page-town .explore2 .section-head h2 { font-size: clamp(40px, 3.6vw, 58px); margin-bottom: 14px; }
.page-town .explore2 .section-head h3 { font-size: clamp(24px, 1.9vw, 30px) !important; margin: 0 0 12px !important; }
.page-town .explore2 .section-head p:not(.kicker-sans) { font-size: clamp(15.5px, 1.05vw, 17px); line-height: 1.62; margin: 0 auto 26px; max-width: 1230px; }
.page-town .explore2 .section-head .btn { margin: 0; }
.town2-hero[style*="montauk"] { background-position: center, center 18%; }
.town2-hero[style*="sag-harbor"] { background-position: center, center 86%; }
/* Town editorial photo: height follows the copy beside it (no tall portrait stretch) */
.page-town .town2-life .town-life { align-items: stretch; }
.page-town .town2-life .town-fig { position: relative; min-height: 460px; }
.page-town .town2-life .town-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .page-town .town2-life .town-fig { min-height: 0; } .page-town .town2-life .town-fig img { position: static; height: auto; aspect-ratio: 4 / 3; } }
/* Explore: a bit more room after the button */
.page-town .explore2 .section-head { margin-bottom: clamp(70px, 6.4vw, 114px); }
.page-town .explore2 .section-head { margin-bottom: clamp(84px, 7.2vw, 128px); }
.page-town .town-fig img[src*="sag-harbor-cinema"] { object-position: 30% 40%; }
.page-town .town-fig img[src*="serena-and-lily-wainscott"] { object-position: 45% 22%; }
.page-town .town-fig img[src*="wolffer-estate-rose-cart-sagaponack"] { object-position: 50% 20%; }
.page-town .town-fig img[src*="sag-harbor-cinema"] { object-position: 50% 42%; }
.town2-hero[style*="sag-harbor"] { background-position: center, center 100%; }
.main-nav .dd-menu a { padding-top: 5px; padding-bottom: 5px; line-height: 1.5; } .main-nav .dd-menu { padding-block: 8px; }
.site-header .brand img { width: clamp(200px, 15vw, 290px); }

/* Buying & Selling: extra editorial breathing room before process heading (+26px) */
.proc-intro + .proc2 { padding-top: 26px !important; }

/* Buying & Selling: centered numbered process steps (number above, heading + copy centered) */
.tl2 .timeline::before { display: none !important; }
.tl2 .timeline li { display: flex !important; flex-direction: column; align-items: center; text-align: center; gap: 18px !important; }
.tl2 .timeline li > div { width: 100%; display: flex; flex-direction: column; align-items: center; padding-top: 0; }
.tl2 .timeline h3 { margin: 0 0 12px; }
.tl2 .timeline p { max-width: 62ch; margin-left: auto; margin-right: auto; }
@media (max-width: 600px) { .tl2 .timeline li { gap: 14px !important; } }

/* Mortgage Calculator: remove decorative rule under the eyebrow/title, keep spacing */
.page-calc .town-hero .eyebrow::after { content: none !important; }
.page-calc .town-hero .eyebrow { margin-bottom: clamp(14px, 1.4vw, 26px); }

/* ===== Global town/location tile component (Explore grid, home + town-page carousels) ===== */
.town-grid a::before, .carousel-track a::before {
  background: radial-gradient(ellipse 95% 140% at 0% 100%, rgba(8,10,12,.80) 0%, rgba(8,10,12,.62) 24%, rgba(8,10,12,.38) 48%, rgba(8,10,12,.14) 68%, rgba(8,10,12,0) 86%) !important;
}
.town-grid a::after, .carousel-track a::after { display: none !important; }
.town-grid span, .carousel-track span {
  position: absolute; inset: 0; z-index: 3;
  display: flex !important; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  text-align: left; color: #fff; font-family: var(--display);
  padding: 0 clamp(20px, 2vw, 36px) clamp(16px, 1.5vw, 28px) !important;
  font-size: clamp(20px, 1.8vw, 34px) !important; line-height: 1.1; font-weight: 400;
  -webkit-text-stroke: .3px currentColor; letter-spacing: .005em;
  text-shadow: none !important;
}
.town-grid span::after, .carousel-track span::after {
  content: "" !important; display: block !important; width: 60px !important; height: 1.5px !important;
  background: #fff !important; margin: 11px 0 0 !important;
}

/* Footer legal: match approved footer mockup */
.legal .eho { gap: 18px; }
.legal .eho span { text-transform: uppercase; letter-spacing: .22em; font-size: clamp(11px, .72vw, 13.5px); }
.legal .links a:not(:last-child)::after { margin: 0 clamp(14px, 1.45vw, 26px) !important; color: #6b7276; }
.legal .sep { margin: 0 clamp(12px, 1.3vw, 24px) !important; color: #6b7276 !important; }

/* Blog banner: move photo up to show the picnic */
.town-hero[style*="banner-blog"] { background-position: center, center 80% !important; }

/* Newsletter band — revised light treatment (approved mockup) */
.newsletter-band { background: linear-gradient(180deg, rgba(250,246,238,.42) 0%, rgba(250,246,238,.22) 45%, rgba(250,246,238,0) 72%), var(--nl-img) center 46%/cover no-repeat, #d9cdb8 !important; color: #2b2724; }
.newsletter-band h2 { color: #2b2724 !important; text-shadow: none !important; margin-bottom: clamp(12px, 1vw, 18px); }
.newsletter-band > .wrap > p.nl-sub { font-family: var(--display); font-style: italic; color: #b08e62; font-size: clamp(18px, 1.45vw, 28px); text-shadow: none !important; margin: 0; }
.nl-form { max-width: 1200px; margin-top: clamp(30px, 2.6vw, 48px); }
.nl-form .row { display: grid; grid-template-columns: 1fr auto; column-gap: clamp(12px, 1vw, 18px); align-items: stretch; }
.nl-form .nl-label { grid-column: 1 / -1; font: 500 clamp(12px, .8vw, 14.5px) var(--body); letter-spacing: .2em; text-transform: uppercase; color: #2b2724; margin-bottom: 10px; }
.nl-form input[type=email] { background: rgba(255,255,255,.35) !important; border: 1px solid rgba(43,39,36,.55) !important; color: #2b2724 !important; font: 400 clamp(16px, 1.1vw, 20px) var(--body) !important; padding: clamp(16px, 1.3vw, 24px) 22px !important; }
.nl-form button { background: transparent !important; color: #2b2724 !important; border: 1px solid rgba(43,39,36,.65) !important; font: 500 clamp(14px, 1vw, 19px) var(--body) !important; letter-spacing: .16em; text-transform: uppercase; padding: 0 clamp(40px, 3.8vw, 72px) !important; }
.nl-form button span { margin-left: 10px; letter-spacing: 0; }
.nl-form button:hover { background: #2b2724 !important; color: #fff !important; border-color: #2b2724 !important; }
.newsletter-band .nl-form .consent, .newsletter-band .nl-form .status { color: #3d3a37 !important; text-shadow: none !important; margin-top: 14px; }
.nl-form .consent input { accent-color: #2b2724; background: #fff; }
.nl-form .consent a { color: #2b2724; }
@media (max-width: 560px) { .nl-form .row { grid-template-columns: 1fr; row-gap: 12px; } .nl-form button { padding: 16px !important; } }

/* ===== FOOTER — exact match to approved rendering (values scale from a 1600px reference) ===== */
.site-footer .wrap { max-width: none !important; padding-inline: clamp(16px, 6.75vw, 180px) !important; }
.site-footer .foot-top { grid-template-columns: 33.67% 1fr !important; gap: 0 !important; padding-block: clamp(44px, 4.2vw, 84px) clamp(24px, 1.78vw, 36px) !important; }
.site-footer .foot-brand .brand img { width: clamp(200px, 16.7vw, 336px) !important; }
.site-footer .foot-tag { margin: clamp(10px, .91vw, 18px) 0 0 !important; }
.site-footer .foot-contact { margin: clamp(9px, .82vw, 17px) 0 0 !important; gap: 0 !important; line-height: 1.59 !important; }
.site-footer .social-icons { margin: clamp(11px, .88vw, 18px) 0 0 !important; }
.site-footer .foot-nav { grid-template-columns: 45.4% 32.2% 1fr !important; justify-content: start !important; gap: 0 !important; }
.site-footer .two-col-list { grid-template-columns: 48.2% 1fr !important; column-gap: 0 !important; }
.site-footer h4 { font-size: clamp(16px, 1.145vw, 22px) !important; margin-bottom: clamp(18px, 1.37vw, 28px); margin-top: -2px !important; }
.site-footer ul { gap: clamp(4px, .49vw, 9px) !important; }
.legal { padding-block: clamp(14px, 1.06vw, 20px) clamp(22px, 1.87vw, 36px) !important; }
.legal .eho { gap: clamp(10px, .8vw, 15px) !important; margin-bottom: clamp(7px, .58vw, 12px) !important; }
.legal .eho-mark { width: clamp(26px, 1.9vw, 36px) !important; }
.legal .eho span { font-size: clamp(10.5px, .7vw, 13px) !important; letter-spacing: .16em !important; }
.legal .links, .legal .links.small, .legal .copy { font-size: clamp(12px, .81vw, 15.5px) !important; }
.legal .disclaimer, .legal .footnote { font-size: clamp(11.5px, .79vw, 15px) !important; }
.site-footer .foot-contact a { line-height: 1.59 !important; }
.site-footer .foot-top, .site-footer .foot-tag, .site-footer ul a { font-weight: 400 !important; letter-spacing: .025em !important; -webkit-font-smoothing: antialiased; }
.site-footer .foot-tag, .site-footer ul a, .site-footer .foot-contact, .site-footer .foot-contact a { color: #eef0f0 !important; }
.site-footer .foot-contact, .site-footer .foot-contact a { font-weight: 400 !important; letter-spacing: .025em !important; }
.site-footer h4 { color: #d6a768 !important; }
.legal, .legal .links, .legal .links a, .legal .copy, .legal .eho { color: #e9ebeb !important; -webkit-font-smoothing: antialiased; }
.legal .disclaimer { color: #b4b9bb !important; }
.legal .links a:not(:last-child)::after, .legal .sep { color: #7b8184 !important; }
.site-footer .foot-tag { font-size: clamp(14px, 1.034vw, 20px) !important; }
.site-footer .foot-contact, .site-footer .foot-contact a { font-size: clamp(15px, 1.12vw, 21px) !important; }
.site-footer .foot-top, .site-footer .foot-tag, .site-footer ul a, .site-footer .foot-contact, .site-footer .foot-contact a { font-weight: 350 !important; }
.legal, .legal p, .legal .links, .legal .links a, .legal .copy { letter-spacing: 0 !important; font-weight: 350 !important; }
.legal .links, .legal .links.small, .legal .copy { font-size: clamp(12.5px, .86vw, 16.5px) !important; }
.legal .disclaimer, .legal .footnote { font-size: clamp(12px, .84vw, 16px) !important; letter-spacing: 0 !important; font-weight: 300 !important; }
.legal .links a:not(:last-child)::after { margin: 0 clamp(14px, 1.58vw, 28px) !important; }
.legal .sep { margin: 0 clamp(12px, 1.42vw, 26px) !important; }
.legal .foot-fn { margin-bottom: 0 !important; }
.legal .foot-fn { margin-bottom: 3px !important; }
@media (max-width: 980px) {
  .site-footer .foot-top { grid-template-columns: 1fr !important; row-gap: 36px !important; }
  .site-footer .foot-nav { grid-template-columns: 1fr 1fr 1fr !important; column-gap: 24px !important; }
}
@media (max-width: 700px) {
  .site-footer .foot-nav { grid-template-columns: 1fr 1fr !important; row-gap: 30px !important; }
  .site-footer .foot-nav > div:first-child { grid-column: 1 / -1; }
  .site-footer .two-col-list { grid-template-columns: 1fr 1fr !important; }
}

/* ===== FOOTER — final colour corrections (softer charcoal, warm gold, soft whites) ===== */
.site-footer { background: #21282C !important; }
.site-footer .legal { background: #181E21 !important; border: 0 !important; }
.site-footer h4 { color: #C6A26B !important; }
.site-footer .foot-tag, .site-footer ul a, .site-footer .foot-contact, .site-footer .foot-contact a, .site-footer .social-icons a { color: #E1E0DC !important; }
.site-footer ul a:hover, .site-footer .foot-contact a:hover, .site-footer .social-icons a:hover { color: #fff !important; }
.legal, .legal .links, .legal .links a, .legal .copy, .legal .eho, .legal .eho span { color: #C4C6C5 !important; }
.legal .links a:hover { color: #E1E0DC !important; }
.legal .links a:not(:last-child)::after, .legal .sep { color: #50585C !important; }
.legal .disclaimer, .legal .foot-fn { color: #A6AAAB !important; }

/* Blog post — author / contact block */
.post-author { background: var(--warm); padding-block: clamp(48px, 4.5vw, 84px); border-top: 1px solid #e4dccf; }
.post-author .pa-grid { max-width: 1180px; display: grid; grid-template-columns: minmax(220px, 340px) 1fr; gap: clamp(32px, 5vw, 90px); align-items: start; }
.post-author .pa-photo { margin: 0; aspect-ratio: 1 / 1; overflow: hidden; }
.post-author .pa-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.post-author .pa-name { font-family: var(--display); font-weight: 400; font-size: clamp(32px, 2.6vw, 46px); color: var(--ink); margin: clamp(18px, 1.6vw, 26px) 0 12px; }
.post-author .pa-meta { font-size: clamp(15px, 1vw, 17px); line-height: 1.85; color: #3D3A37; margin: 0; letter-spacing: .02em; }
.post-author .pa-meta a { color: inherit; text-decoration: none; }
.post-author .pa-meta a:hover { color: #b08e62; }
.post-author .pa-text { padding-top: clamp(20px, 5vw, 96px); }
.post-author .pa-text p { font-size: clamp(16px, 1.08vw, 19px); line-height: 1.8; color: #3D3A37; margin: 0 0 1.3em; max-width: 64ch; }
.post-author .pa-text .pa-q { font-family: var(--display); font-size: clamp(24px, 1.9vw, 34px); line-height: 1.3; color: var(--ink); margin-bottom: .8em; }
.post-author .pa-text a { color: inherit; text-decoration: underline; text-decoration-color: #b08e62; text-underline-offset: 4px; }
@media (max-width: 760px) { .post-author .pa-grid { grid-template-columns: 1fr; } .post-author .pa-card { max-width: 340px; } .post-author .pa-text { padding-top: 0; } }

/* ===== SITEWIDE QA: hero → intro standard (Testimonials benchmark) ===== */
main > .town-hero + section.block { padding-top: clamp(32px, 3vw, 56px) !important; }
main > .town-hero + section.intro-rule { padding-top: clamp(18px, 1.8vw, 34px) !important; }
main > .town-hero + section .intro-text,
main > .town-hero + section .nb-intro-text { max-width: 1100px !important; margin-left: auto !important; margin-right: auto !important; }
main > .town-hero + section .intro-text > p,
main > .town-hero + section .nb-intro-text > p { max-width: 1100px !important; margin-left: auto !important; margin-right: auto !important; font-size: clamp(15px, 1.02vw, 19px) !important; line-height: 1.75 !important; }
.page-town main > .town-hero + section.block.town2-intro { padding-top: clamp(32px, 3vw, 56px) !important; }
.page-town main > .town-hero + section.town2-intro .intro-text > p { font-size: clamp(15px, 1.02vw, 19px) !important; line-height: 1.75 !important; font-weight: 400; }
main > .town-hero + section .intro-text, main > .town-hero + section .nb-intro-text { max-width: 1196px !important; }
.page-town main > .town-hero + section.town2-intro .intro-text > p { letter-spacing: .03em !important; }

/* ===== SITEWIDE QA: eyebrow / kicker consistency ===== */
main .kicker-sans, main .kicker, .post-head .eyebrow, .light-hero .eyebrow { color: #b08e62 !important; font-style: normal !important; }
main .kicker-sans, .post-head .eyebrow, .light-hero .eyebrow { font-family: var(--body) !important; font-weight: 500; text-transform: uppercase; letter-spacing: .24em !important; font-size: clamp(12px, .9vw, 16px) !important; }
.post-head .eyebrow a { color: inherit; text-decoration: none; }
.pc-in em { font-style: normal !important; }
main > section.block:first-child .eyebrow { color: #b08e62 !important; font-family: var(--body) !important; font-weight: 500; text-transform: uppercase; letter-spacing: .24em !important; font-size: clamp(12px, .9vw, 16px) !important; font-style: normal !important; }

/* ===== SITEWIDE QA: one outlined CTA button standard ===== */
main a.btn, .cta-band a.btn {
  display: inline-flex !important; align-items: center; justify-content: center;
  text-transform: uppercase !important; letter-spacing: .16em !important;
  font-family: var(--body) !important; font-size: clamp(12px, .85vw, 15px) !important; font-weight: 500 !important;
  line-height: 1.9 !important; padding: 18px 44px !important; border-width: 1px !important; border-style: solid !important;
  transition: background .2s, color .2s, border-color .2s;
}
main a.btn > span, .cta-band a.btn > span { margin-left: 12px !important; letter-spacing: 0; }
main a.btn:not(:has(> span))::after, .cta-band a.btn:not(:has(> span))::after { content: "→"; margin-left: 12px; letter-spacing: 0; }
main a.btn:not(.btn-light):hover { background: var(--ink) !important; color: #fff !important; border-color: var(--ink) !important; }
main a.btn:not(.btn-light):hover > span { color: #fff !important; }
@media (max-width: 560px) { main a.btn, .cta-band a.btn { padding: 16px 26px !important; letter-spacing: .12em !important; } }

/* ===== SITEWIDE QA: localized readability shading behind hero titles (photo heroes only) ===== */
.town-hero:not(.light-hero) h1 { position: relative; isolation: isolate; }
.town-hero:not(.light-hero) h1::before {
  content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; pointer-events: none;
  width: min(100vw, calc(100% + 30vw)); height: 360%; transform: translate(-50%, -60%);
  background: radial-gradient(closest-side, rgba(10,14,18,.40), rgba(10,14,18,.20) 55%, rgba(10,14,18,0));
}
/* localized readability shading behind image-CTA copy */
.cta-band > .wrap { position: relative; isolation: isolate; }
.cta-band > .wrap::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none; left: 50%; top: 50%;
  width: min(100vw, calc(100% + 12vw)); height: 150%; transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(10,14,18,.38), rgba(10,14,18,.18) 60%, rgba(10,14,18,0));
}

/* ===== SITEWIDE QA: vertical rhythm — sections end on their padding, not stray trailing margins ===== */
main > section.block > .wrap > :last-child,
main > section.block > .wrap > :last-child > :last-child,
main > section.block > .wrap > :last-child > :last-child > :last-child { margin-bottom: 0 !important; }
.page-town main > .town-hero + section.block.town2-intro { padding-bottom: clamp(32px, 3vw, 56px) !important; }
/* one warm ivory for all light section backgrounds */
main > section.block, main > section.about2, .post-author, .post-head, section.block.alt, .cta2, .contact-page { background-color: #F8F6F2 !important; }
.blog-intro + .blog-grid { padding-top: clamp(28px, 2.5vw, 48px) !important; }
/* form buttons follow the CTA typography (no arrow) */
main form:not(.nl-form) button:not(.car-btn) {
  font-family: var(--body) !important; font-size: clamp(12px, .85vw, 15px) !important; font-weight: 500 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important; line-height: 1.9 !important;
  padding: 16px 40px !important; border: 1px solid var(--ink) !important; background: transparent !important; color: var(--ink) !important; border-radius: 0 !important;
  transition: background .2s, color .2s;
}
main form:not(.nl-form) button:not(.car-btn):hover { background: var(--ink) !important; color: #fff !important; }

/* ===== SITEWIDE QA: responsive fixes ===== */
@media (max-width: 1100px) { .page-town .town2-life .town-secs h2 { white-space: normal !important; } }
@media (max-width: 900px) { .page-town .town2-life .town-life { grid-template-columns: 1fr !important; } .page-town .town2-life .town-fig { min-height: 0 !important; } .page-town .town2-life .town-fig img { position: static !important; aspect-ratio: 4 / 3; height: auto !important; } }
@media (max-width: 560px) { .town2-hero h1 { font-size: 44px !important; } }
@media (max-width: 700px) {
  .legal .links { flex-direction: column; row-gap: 6px !important; }
  .legal .links a::after { content: none !important; }
  .legal .copy .sep { display: block; height: 0; overflow: hidden; margin: 0 !important; }
  .legal .copy { line-height: 1.9; }
  .newsletter-band { background: linear-gradient(180deg, rgba(250,246,238,.55) 0%, rgba(250,246,238,.45) 60%, rgba(250,246,238,.35) 100%), var(--nl-img) center 46%/cover no-repeat, #d9cdb8 !important; }
}
/* Testimonials second intro matches the first intro's width and type */
.page-testi .intro3 .intro-text { max-width: 1196px !important; margin-left: auto !important; margin-right: auto !important; }
.page-testi .intro3 .intro-text > p { max-width: 1100px !important; margin-left: auto !important; margin-right: auto !important; font-size: clamp(15px, 1.02vw, 19px) !important; line-height: 1.75 !important; letter-spacing: .03em !important; }
.town-hero[style*="montage-laguna-beach-pool"] { background-position: center, center 88% !important; }

.town-grid span, .carousel-track span { text-shadow: none !important; }
.town-grid span, .carousel-track span { -webkit-text-stroke: .45px currentColor !important; }

/* Legal-band separators: quiet warm off-white, never gold */
.legal .links a:not(:last-child)::after, .legal .sep { color: rgba(255,255,255,.28) !important; }

/* ===== FOOTER — render match (gold logo rule, icon contact rows, gold divider) ===== */
.site-footer .wrap { padding-inline: clamp(16px, 6.3vw, 170px) !important; }
.site-footer .foot-top { grid-template-columns: 32.1% 1fr !important; padding-block: clamp(40px, 3.6vw, 72px) clamp(28px, 2.3vw, 46px) !important; }
.site-footer .foot-brand .brand { display: inline-block; padding-bottom: clamp(10px, .8vw, 16px); border-bottom: 1.5px solid #C6A26B; line-height: 0; }
.site-footer .foot-brand .brand img { width: clamp(220px, 18.4vw, 360px) !important; }
.foot-contact2 { list-style: none; padding: 0; margin: clamp(26px, 2.3vw, 44px) 0 0 !important; display: grid !important; gap: clamp(14px, 1.2vw, 22px) !important; }
.foot-contact2 li { display: flex; align-items: center; gap: clamp(16px, 1.5vw, 28px); }
.foot-contact2 .fc-ic { width: clamp(20px, 1.45vw, 28px); height: auto; color: #C6A26B; flex: none; }
.foot-contact2 a { color: #E1E0DC !important; font-family: var(--body); font-weight: 400; font-size: clamp(14px, 1vw, 19px) !important; letter-spacing: .02em; text-decoration: none; }
.foot-contact2 a:hover { color: #fff !important; }
.site-footer .social-icons { margin: clamp(20px, 1.9vw, 36px) 0 0 !important; display: flex; gap: clamp(24px, 1.9vw, 36px); }
.site-footer .social-icons svg { width: clamp(22px, 1.7vw, 32px); height: auto; }
.site-footer .foot-nav { grid-template-columns: 44.5% 31.9% 1fr !important; }
.site-footer .two-col-list { grid-template-columns: 45.3% 1fr !important; }
.site-footer ul a { font-size: clamp(14px, 1.05vw, 20px) !important; letter-spacing: .04em !important; }
.site-footer .foot-nav ul { gap: clamp(6px, .6vw, 12px) !important; }
.site-footer h4 { margin-bottom: clamp(18px, 1.6vw, 30px) !important; letter-spacing: .1em !important; }
.site-footer .legal { border-top: 1.5px solid #C6A26B !important; }
.site-footer .foot-brand .brand { padding-bottom: clamp(7px, .5vw, 11px) !important; }
.foot-contact2 { margin-top: clamp(20px, 1.6vw, 32px) !important; gap: clamp(18px, 1.6vw, 30px) !important; padding-left: clamp(6px, .65vw, 12px) !important; }
.site-footer .social-icons { margin-top: clamp(14px, 1.1vw, 22px) !important; padding-left: clamp(6px, .65vw, 12px); }
.site-footer .foot-nav ul { gap: clamp(4px, .35vw, 7px) !important; }
.site-footer h4 { margin-bottom: clamp(22px, 2.16vw, 40px) !important; }
.site-footer .two-col-list { grid-template-columns: 43.6% 1fr !important; }
.site-footer .foot-top { padding-bottom: clamp(20px, 1.6vw, 32px) !important; }
.legal { padding-top: clamp(16px, 1.3vw, 24px) !important; padding-bottom: clamp(24px, 2.2vw, 40px) !important; }
.foot-contact2 { gap: clamp(20px, 1.98vw, 36px) !important; }
.site-footer .foot-top { padding-bottom: clamp(14px, 1.1vw, 24px) !important; }
.site-footer ul.foot-contact2 { gap: clamp(10px, .86vw, 17px) !important; }
/* render colour match */
.site-footer { background: #1B2124 !important; }
.site-footer .legal { background: #1A2023 !important; border-top-color: #D6A85E !important; }
.site-footer h4 { color: #D6A85E !important; }
.site-footer .foot-brand .brand { border-bottom-color: #D6A85E !important; }
.foot-contact2 .fc-ic { color: #D6A85E !important; }
.foot-contact2 a { font-size: clamp(13.5px, .95vw, 18px) !important; letter-spacing: .01em !important; }
.site-footer ul.foot-contact2 a { font-size: clamp(13.5px, .95vw, 18px) !important; letter-spacing: .01em !important; }
.site-footer .foot-contact2 .fc-ic { width: clamp(22px, 1.6vw, 30px); }
.site-footer .foot-contact2 .fc-ic path, .site-footer .foot-contact2 .fc-ic rect { stroke-width: 1.6; }

/* All action buttons carry the standard → (forms included; Back keeps no arrow) */
main form:not(.nl-form) button:not(.car-btn):not([data-back])::after { content: "→"; margin-left: 12px; letter-spacing: 0; }
main form:not(.nl-form) button:not(.car-btn) { display: inline-flex !important; align-items: center; justify-content: center; }

/* Newsletter: Stay Informed kicker */
.newsletter-band .nl-kicker { color: #b08e62 !important; text-shadow: none !important; margin: 0 0 clamp(10px, .9vw, 16px) !important; }

/* Bio: Commitment heading matches Living the Hamptons Lifestyle */
.page-bio .about2-text h3.sub-h { font-size: clamp(28px, 2.15vw, 40px) !important; }
/* Bio: opening portrait shifted up to show more of the figure */
.page-bio main > section.about2:nth-of-type(1) .about2-photo img { object-position: 50% 50% !important; }
/* Bio: "Measured Guidance" block raised ~60px (portrait + gold rule unchanged) */
.page-bio main > section.about2:nth-of-type(4) .about2-text > * { position: relative; top: -60px; }

/* ===== Three-line callout system (eyebrow / serif statement / gold rule / italic line) ===== */
.callout { text-align: center; max-width: 1200px; margin: 0 auto clamp(30px, 2.6vw, 48px) !important; }
.callout .co-eyebrow { font-family: var(--display) !important; font-weight: 400; text-transform: uppercase; letter-spacing: .3em; font-size: clamp(13px, 1vw, 19px) !important; color: #b08e62 !important; margin: 0 0 clamp(10px, .9vw, 16px) !important; font-style: normal; max-width: none !important; line-height: 1.4 !important; }
.callout .co-head { font-family: var(--display); font-weight: 400; color: #1c1c1c; font-size: clamp(30px, 3.4vw, 64px) !important; line-height: 1.15; letter-spacing: 0; margin: 0 !important; }
.callout .co-head::before, .callout .co-head::after { content: none !important; }
.callout .co-head + .co-sub::before { content: ""; display: block; width: 64px; height: 1px; background: #b08e62; margin: clamp(18px, 1.5vw, 26px) auto clamp(16px, 1.3vw, 22px); }
.callout .co-sub { font-family: var(--display) !important; font-style: italic !important; color: #9a7b55 !important; font-size: clamp(19px, 1.75vw, 32px) !important; line-height: 1.35 !important; margin: 0 !important; max-width: none !important; letter-spacing: 0 !important; }
main > .town-hero + section:has(.callout) { padding-top: clamp(44px, 4vw, 72px) !important; }
.intro3:has(.callout) { padding-top: clamp(60px, 5vw, 96px) !important; }
/* the callout's rule replaces the older decorative line above the Buying/Selling intro */
.intro-rule .intro-text::before { content: none !important; display: none !important; }
main > .town-hero + section.intro-rule:has(.callout) { padding-top: clamp(44px, 4vw, 72px) !important; }
html body main section .callout p.co-eyebrow { font-size: clamp(13px, 1vw, 19px) !important; letter-spacing: .3em !important; line-height: 1.4 !important; }
html body main section .callout p.co-sub { font-size: clamp(19px, 1.75vw, 32px) !important; line-height: 1.35 !important; letter-spacing: 0 !important; }
.callout { width: min(1500px, calc(100vw - 32px)); max-width: none !important; position: relative; left: 50%; transform: translateX(-50%); }
html body main section .callout p.co-eyebrow { font-size: clamp(13px, 1.1vw, 21px) !important; }

/* Callouts — headline ~18% smaller, tighter unit, 68px rule */
html body main section .callout h2.co-head { font-size: clamp(26px, 2.8vw, 54px) !important; line-height: 1.18 !important; }
html body main section .callout p.co-eyebrow { margin-bottom: clamp(8px, .6vw, 12px) !important; }
.callout .co-head + .co-sub::before { width: 68px !important; margin: clamp(12px, 1vw, 18px) auto clamp(11px, .85vw, 16px) !important; }
@media (max-width: 560px) { html body main section .callout h2.co-head { font-size: 26px !important; } }

/* Bio opening: same editorial callout hierarchy (eyebrow / serif name / gold rule / italic gold tagline) */
.page-bio .about2-text .about2-h { margin-bottom: 0 !important; }
.page-bio .about2-text .about2-h::after { content: none !important; }
.page-bio .about2-text p.bio-tagline { font-family: var(--display) !important; font-style: italic !important; color: #9a7b55 !important; font-size: clamp(19px, 1.75vw, 32px) !important; line-height: 1.35 !important; letter-spacing: 0 !important; margin: 0 0 clamp(22px, 1.8vw, 32px) !important; }
.page-bio .about2-text p.bio-tagline::before { content: ""; display: block; width: 68px; height: 1px; background: #b08e62; margin: clamp(12px, 1vw, 18px) 0 clamp(11px, .85vw, 16px); }
.page-bio .about2-text p.bio-tagline { font-size: clamp(18px, 1.4vw, 27px) !important; white-space: nowrap; }
@media (max-width: 1100px) { .page-bio .about2-text p.bio-tagline { white-space: normal; } }

/* ===== Stats band (home + bio): dark charcoal panel, white serif figures, gold labels, gold dividers ===== */
.redefine .stats2 { background: #1B2427; padding: clamp(28px, 2.2vw, 42px) clamp(16px, 2vw, 40px); align-items: stretch; }
.redefine .stat2 { padding: clamp(6px, .6vw, 12px) clamp(16px, 2.2vw, 44px) !important; border-top: 0 !important; }
.redefine .stat2 + .stat2 { border-left: 1px solid #C6A26B !important; }
.redefine .stat2 .fig { color: #fff !important; }
.redefine .stat2 .lbl { color: #D6A85E !important; margin: clamp(8px, .7vw, 14px) 0 clamp(14px, 1.2vw, 22px) !important; }
.redefine .stat2 p:not(.lbl) { color: #E6E4E0 !important; font-weight: 400 !important; line-height: 1.65 !important; max-width: 30ch; margin-left: auto !important; margin-right: auto !important; }
.redefine .stats-foot { margin-top: clamp(30px, 2.6vw, 48px) !important; }
@media (max-width: 760px) {
  .redefine .stats2 { padding: 34px 20px; gap: 0 !important; }
  .redefine .stat2 + .stat2 { border-left: 0 !important; border-top: 1px solid rgba(198,162,107,.6) !important; margin-top: 28px; padding-top: 28px !important; }
}
.redefine .stat2 p:not(.lbl) { max-width: 34ch; }
.page-bio .redefine .stat2 p br { display: none; }
.page-bio .redefine .btn-arrow { border-color: var(--ink) !important; }
.page-bio .redefine .btn-arrow span { color: inherit !important; }

/* ===== Blog post template — final refinements ===== */
.post-head, article.post, .post-author, main > section.block.alt { background: #F8F6F2 !important; }
.post-img-wide { width: min(1160px, calc(100% - 32px)); margin: 0 auto clamp(40px, 3.4vw, 60px) !important; }
.post-img-wide img { width: 100%; height: auto; display: block; }
.post-author .pa-grid { grid-template-columns: minmax(220px, 320px) 1fr !important; align-items: center !important; }
.post-author .pa-id { margin: clamp(14px, 1.2vw, 20px) 0 0; display: grid; gap: 4px; }
.post-author .pa-id .pa-name { font-family: var(--display); font-size: clamp(22px, 1.6vw, 28px); color: var(--ink); }
.post-author .pa-id .pa-role { font-family: var(--body); font-size: clamp(11px, .75vw, 13px); letter-spacing: .2em; text-transform: uppercase; color: #b08e62; font-weight: 500; }
.post-author .pa-text { padding-top: 0 !important; }
.post-author .pa-text h2.pa-q { font-family: var(--display); font-weight: 400; font-size: clamp(28px, 2.4vw, 44px); line-height: 1.2; color: var(--ink); margin: 0 0 clamp(16px, 1.3vw, 22px) !important; max-width: 22ch; }
.post-author .pa-text .pa-btn { margin: clamp(22px, 1.8vw, 32px) 0 0 !important; }
/* previous / next */
main > section.block.alt { padding-block: clamp(48px, 4vw, 72px) !important; }
.post-nav { max-width: 1100px; margin: 0 auto; grid-template-columns: 1fr 1fr !important; gap: clamp(14px, 1.4vw, 24px) !important; }
.post-nav.single { grid-template-columns: minmax(0, 540px) !important; justify-content: center; }
.post-nav.single .next { grid-column: 1 !important; }
.post-nav .pn { background: #fff; border: 1px solid #e4dccf; padding: clamp(20px, 1.8vw, 30px) clamp(22px, 2vw, 32px) !important; font-size: clamp(18px, 1.35vw, 23px) !important; }
.post-nav .pn span { color: #b08e62 !important; font-weight: 500; letter-spacing: .2em !important; }
.post-nav .pn:hover { outline: none !important; border-color: #b08e62; }
.post-all { margin: clamp(30px, 2.6vw, 44px) 0 0 !important; }
@media (max-width: 620px) { .post-nav, .post-nav.single { grid-template-columns: 1fr !important; } .post-nav .next { grid-column: 1 !important; } }
.post-img-wide img { aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 50%; }
.post-author .pa-text a.btn { text-decoration: none !important; }
.post-author .pa-text h2.pa-q { max-width: 30ch !important; }
.post-author .pa-id { margin-top: 14px !important; gap: 2px !important; }
.post-author .pa-id .pa-name { margin: 0 !important; line-height: 1.3; }
.post-author .pa-id .pa-role { font-size: clamp(10px, .66vw, 12px) !important; letter-spacing: .16em !important; white-space: nowrap; }
.post-author { padding-block: clamp(56px, 4.6vw, 84px) !important; }
.post-author + section.block.alt { padding-top: clamp(8px, .8vw, 16px) !important; }

/* ===== HERO eyebrow rule (hero over photo only; three-line intro callouts untouched) ===== */
/* keep eyebrow, make eyebrow + its hero rule white: Buying, Selling, Mortgage Calculator */
.town-hero[style*="buy-banner"] .eyebrow, .town-hero[style*="sell-banner"] .eyebrow, .town-hero[style*="estate-pool-wide"] .eyebrow { color: #fff !important; }
.town-hero[style*="buy-banner"] .eyebrow::after, .town-hero[style*="sell-banner"] .eyebrow::after, .town-hero[style*="estate-pool-wide"] .eyebrow::after { background: #fff !important; }
/* remove eyebrow + its hero rule (space kept so hero height and title position don't move) */
.town-hero[style*="valuation-banner"] .eyebrow, .town-hero[style*="banner-testimonials"] .eyebrow, .town-hero[style*="banner-press"] .eyebrow,
.town-hero[style*="montage-laguna-beach-pool"] .eyebrow, .town-hero[style*="own-beach-umbrellas"] .eyebrow { visibility: hidden !important; }
/* Mortgage Calculator hero: brighter — lighter overlay, frame on the house + pool */
.town-hero[style*="estate-pool-wide"] { background: linear-gradient(rgba(10,14,18,.06), rgba(10,14,18,.14)), var(--hero-img) center 72%/cover no-repeat, #58677a !important; }
.town-hero[style*="estate-pool-wide"] h1::before { background: radial-gradient(closest-side, rgba(10,14,18,.28), rgba(10,14,18,.12) 55%, rgba(10,14,18,0)) !important; }
/* Buying/Selling: advisory-guide line now lives in the intro callout — hide hero eyebrow + its rule (space kept) */
.town-hero[style*="buy-banner"] .eyebrow, .town-hero[style*="sell-banner"] .eyebrow { visibility: hidden !important; }
/* Valuation + Calculator: hero shows page title only (eyebrow lines moved into intro callouts), height kept */
.town-hero[style*="valuation-banner"] .eyebrow, .town-hero[style*="estate-pool-wide"] .eyebrow { visibility: hidden !important; }
.town-hero { overflow: hidden; }
.town-hero[style*="banner-blog"] .eyebrow { visibility: hidden !important; }
/* in-article photos */
.post-inline { margin: clamp(28px, 2.4vw, 40px) 0 clamp(22px, 2vw, 32px); }
.post-inline img { display: block; width: 100%; height: auto; }
.post-inline.portrait { max-width: 520px; }
.post-inline.small { max-width: 400px; }

/* ===== Town page v3 (Water Mill pilot) ===== */
.page-town3 section.block.t3-intro { padding: clamp(40px, 3.6vw, 64px) 0 clamp(40px, 3.4vw, 60px) !important; background: #F8F6F2; }
.page-town3 .t3-intro .callout { margin-bottom: clamp(22px, 1.8vw, 32px) !important; }
.t3-lead { max-width: 1100px; margin: 0 auto; text-align: center; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.75; letter-spacing: .03em; color: #3D3A37; }
.page-town3 section.block.t3-life { background: #F8F6F2; border-top: 1px solid #ebe4d8; padding-block: clamp(48px, 4.2vw, 80px) !important; }
.t3-grid { max-width: 1500px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 3.6vw, 72px); align-items: stretch; }
.t3-eyebrow { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .24em; font-size: clamp(12px, .9vw, 16px); color: #b08e62; margin: 0 0 clamp(10px, .8vw, 14px); }
.t3-h { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 2.8vw, 54px); line-height: 1.15; color: #1c1c1c; margin: 0; }
.t3-h::after { content: ""; display: block; width: 68px; height: 1px; background: #b08e62; margin: clamp(16px, 1.3vw, 24px) 0 clamp(8px, .8vw, 14px); }
.t3-sec { margin-top: clamp(20px, 1.8vw, 32px); }
.t3-sec h3 { font-family: var(--display); font-weight: 400; font-size: clamp(22px, 1.6vw, 30px); margin: 0 0 8px; color: #1c1c1c; }
.t3-sec p { margin: 0; font-size: clamp(15px, 1.02vw, 18px); line-height: 1.7; color: #3D3A37; max-width: 62ch; }
.t3-fig { margin: 0; position: relative; min-height: 460px; }
.t3-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-town3 section.block.t3-why { background: #F8F6F2; border-top: 1px solid #ebe4d8; padding-block: clamp(48px, 4.2vw, 80px) !important; text-align: center; }
.t3-why .callout { margin-bottom: clamp(22px, 1.8vw, 32px) !important; }
.t3-why .co-head.t3-nosub::after { content: "" !important; display: block !important; width: 68px; height: 1px; background: #b08e62; margin: clamp(12px, 1vw, 18px) auto 0; }
.t3-why p { max-width: 1100px; margin: 0 auto 1.2em; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.75; letter-spacing: .03em; color: #3D3A37; }
.t3-why p:last-child { margin-bottom: 0; }
.t3-favs { background: #1B2427; color: #E6E4E0; padding: clamp(40px, 3.6vw, 64px) 0 clamp(44px, 4vw, 72px); text-align: center; }
.t3-favs h2 { font-family: var(--display); font-weight: 400; color: #fff; text-transform: uppercase; letter-spacing: .14em; font-size: clamp(24px, 2vw, 38px); margin: 0; }
.t3-favs h2::after { content: ""; display: block; width: 56px; height: 1px; background: #C6A26B; margin: clamp(14px, 1.1vw, 20px) auto clamp(26px, 2.2vw, 40px); }
.t3-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; }
.t3-cols.n3 { grid-template-columns: repeat(3, minmax(0, 360px)); }
.t3-col { padding: 0 clamp(20px, 3vw, 60px); }
.t3-col + .t3-col { border-left: 1px solid rgba(198,162,107,.45); }
.t3-ic { color: #D6A85E; display: inline-block; line-height: 0; }
.t3-ic svg { width: 32px; height: 32px; }
.t3-col h3 { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .24em; color: #D6A85E; font-size: clamp(13px, .95vw, 17px); margin: 10px 0 14px; }
.t3-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.t3-col li { font-family: var(--display); font-size: clamp(16px, 1.15vw, 21px); color: #F2F0EC; }
.page-town3 section.block.t3-cta { background: #F8F6F2; padding-block: clamp(36px, 3vw, 56px) !important; }
.page-town3 section.block.t3-explore { background: #F8F6F2; border-top: 1px solid #ebe4d8; padding-top: clamp(48px, 4.2vw, 80px) !important; }
.t3-explore-head { text-align: center; max-width: 1200px; margin: 0 auto clamp(30px, 2.6vw, 48px); }
.t3-explore-head h2 { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 2.8vw, 54px); color: #1c1c1c; margin: 0; }
.t3-explore-head h2::after { content: ""; display: block; width: 68px; height: 1px; background: #b08e62; margin: clamp(14px, 1.1vw, 20px) auto clamp(16px, 1.3vw, 22px); }
.t3-explore-head p { font-size: clamp(15px, 1.02vw, 19px); line-height: 1.75; color: #3D3A37; margin: 0 auto; max-width: 1100px; }
/* circled arrow on town cards (this page only) */
.page-town3 .carousel-track a::after { content: "→" !important; content: "→" / "" !important; display: grid !important; place-items: center; position: absolute; right: clamp(16px, 1.6vw, 28px); bottom: clamp(16px, 1.5vw, 28px); width: clamp(38px, 2.9vw, 54px); height: clamp(38px, 2.9vw, 54px); border: 1.5px solid #D6A85E; border-radius: 50%; color: #fff; font-size: clamp(17px, 1.3vw, 24px); z-index: 4; inset: auto clamp(16px, 1.6vw, 28px) clamp(16px, 1.5vw, 28px) auto; transition: background .2s; }
.page-town3 .carousel-track a:hover::after { background: rgba(214,168,94,.35); }
@media (max-width: 900px) {
  .t3-grid { grid-template-columns: 1fr; } .t3-fig { min-height: 0; } .t3-fig img { position: static; aspect-ratio: 4 / 3; height: auto; }
  .t3-cols, .t3-cols.n3 { grid-template-columns: 1fr; row-gap: 30px; }
  .t3-col + .t3-col { border-left: 0; border-top: 1px solid rgba(198,162,107,.45); padding-top: 30px; }
}
.page-town3 .carousel-track a::after { border-color: #E6C58C !important; background: rgba(10,14,18,.22) !important; }
/* Local Favorites band — compact */
.t3-favs { padding: clamp(28px, 2.4vw, 44px) 0 clamp(30px, 2.6vw, 48px) !important; }
.t3-favs h2 { font-size: clamp(22px, 1.7vw, 32px) !important; }
.t3-favs h2::after { margin: clamp(10px, .8vw, 14px) auto clamp(18px, 1.5vw, 26px) !important; }
.t3-ic svg { width: 26px; height: 26px; }
.t3-col h3 { margin: 6px 0 10px !important; }
.t3-col ul { gap: 3px !important; }
.t3-col li { font-size: clamp(15px, 1.02vw, 19px) !important; line-height: 1.45; }
.t3-cols { grid-template-columns: minmax(0, 380px) minmax(0, 560px) !important; }
.t3-col:last-child ul { grid-template-columns: 1fr 1fr; column-gap: 28px; }
@media (max-width: 900px) { .t3-cols { grid-template-columns: 1fr !important; } }
/* Local Favorites v3.1: heading on ivory, contained dark panel */
.t3-favs { background: #F8F6F2 !important; padding: clamp(40px, 3.4vw, 64px) 0 0 !important; }
.t3-favs h2 { color: #1c1c1c !important; font-size: clamp(26px, 2vw, 40px) !important; letter-spacing: .12em !important; margin: 0 0 clamp(26px, 2.2vw, 40px) !important; }
.t3-favs h2::after { content: none !important; }
.t3-panel { background: #1B2427; max-width: 1380px; margin: 0 auto; padding: clamp(30px, 2.6vw, 50px) clamp(20px, 3vw, 60px) clamp(28px, 2.4vw, 44px); }
.t3-ic svg { width: 30px !important; height: 30px !important; }
.t3-col h3 { margin: 10px 0 16px !important; }
.t3-col ul { gap: 5px !important; }
.t3-col:last-child ul { column-gap: 44px !important; }
.t3-col + .t3-col { border-left-color: #C6A26B !important; }
.page-town3 section.block.t3-cta { padding-top: clamp(28px, 2.2vw, 40px) !important; }
.t3-col li { font-size: clamp(16px, 1.2vw, 23px) !important; }
.t3-col h3 { font-size: clamp(14px, 1.05vw, 19px) !important; }
.t3-ic svg { width: 34px !important; height: 34px !important; }
/* v3: one eyebrow treatment for every section eyebrow (matches the WATER MILL, NEW YORK callout eyebrow) */
html body main section p.t3-eyebrow { font-family: var(--display) !important; font-weight: 400 !important; font-size: clamp(13px, 1.1vw, 21px) !important; letter-spacing: .3em !important; line-height: 1.4 !important; text-transform: uppercase !important; color: #b08e62 !important; font-style: normal !important; margin: 0 0 clamp(8px, .6vw, 12px) !important; }
.t3-explore-head p.t3-eyebrow { max-width: none; }

/* ===== Standard gold eyebrow — sitewide (master = WATER MILL, NEW YORK callout eyebrow) ===== */
html body main section p.kicker-sans, html body main section p.kicker, html body main section p.grid2-k, .newsletter-band p.kicker-sans {
  font-family: var(--display) !important; font-weight: 400 !important; font-size: clamp(13px, 1.1vw, 21px) !important;
  letter-spacing: .3em !important; line-height: 1.4 !important; text-transform: uppercase !important;
  color: #b08e62 !important; font-style: normal !important;
}
/* v3 template, 3-column Local Favorites (towns with Shop) */
.t3-cols.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.t3-cols.n3 .t3-col:last-child ul { grid-template-columns: 1fr !important; }
.t3-cols.n3 .t3-col { padding: 0 clamp(16px, 2vw, 40px); }
@media (max-width: 900px) { .t3-cols.n3 { grid-template-columns: 1fr !important; } }
.t3-cols.n3 .t3-col:first-child ul:has(li:nth-child(12)) { grid-template-columns: 1fr 1fr !important; column-gap: 20px; }
.t3-cols.n3 .t3-col:has(li:nth-child(12)) { grid-column: span 1; }
.t3-cols.n3:has(li:nth-child(12)) { grid-template-columns: 1.6fr 1fr 1fr !important; }
.t3-cols.n3 li { font-size: clamp(15px, 1.05vw, 20px) !important; }
.t3-cols.n3 .t3-col:not(:first-child) ul { grid-template-columns: 1fr !important; }
.t3-cols.n3:has(.t3-col:first-child li:nth-child(12)) { grid-template-columns: 1.7fr 1fr 1fr !important; }
.t3-cols.n3 .t3-col li { line-height: 1.35; }

/* ===== Local Favorites — final structure (identical on every town page) ===== */
.page-town3 section.block.t3-why { padding-bottom: clamp(72px, 6vw, 112px) !important; }
.t3-favs { padding-top: clamp(28px, 2.4vw, 44px) !important; border-top: 1px solid #ebe4d8; }
.t3-panel { width: min(1380px, calc(100% - 2 * clamp(16px, 6vw, 110px))) !important; max-width: none !important; margin: 0 auto !important; padding: clamp(32px, 2.8vw, 52px) 0 clamp(32px, 2.8vw, 52px) !important; box-sizing: border-box; }
.t3-cols.t3-two { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; align-items: start !important; justify-content: stretch !important; column-gap: 0 !important; }
.t3-two .t3-col { padding: 0 clamp(20px, 3vw, 64px) !important; text-align: center; border: 0 !important; min-width: 0; }
.t3-two .t3-col + .t3-col { border-left: 1px solid #C6A26B !important; }
.t3-two .t3-col ul { grid-template-columns: 1fr !important; justify-items: center; column-gap: 32px !important; }
.t3-two .t3-col ul:has(li:nth-child(9)) { grid-template-columns: 1fr 1fr !important; }
.t3-two .t3-col li { font-size: clamp(15px, 1.05vw, 20px) !important; line-height: 1.4; }
.t3-shop { text-align: center; margin: clamp(26px, 2.2vw, 40px) clamp(20px, 3vw, 64px) 0; padding-top: clamp(22px, 1.8vw, 32px); }
.t3-shop h3 { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .24em; color: #D6A85E; font-size: clamp(14px, 1.05vw, 19px); margin: 0 0 12px; }
.t3-shop ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0; }
.t3-shop li { font-family: var(--display); font-size: clamp(15px, 1.05vw, 20px); color: #F2F0EC; }
.t3-shop li + li::before { content: "·"; color: #C6A26B; margin: 0 .7em; }
@media (max-width: 900px) {
  .t3-cols.t3-two { grid-template-columns: 1fr !important; row-gap: 30px; }
  .t3-two .t3-col + .t3-col { border-left: 0 !important; border-top: 1px solid rgba(198,162,107,.6); padding-top: 30px !important; }
  .t3-two .t3-col ul:has(li:nth-child(9)) { grid-template-columns: 1fr !important; }
}

/* Smaller editorial eyebrows — listed home + bio labels only */
html body.home main section p.kicker-sans, html body.page-bio main section.about2 p.kicker-sans {
  font-size: clamp(12px, .82vw, 15px) !important; letter-spacing: .24em !important; line-height: 1.5 !important; white-space: nowrap;
}
@media (max-width: 760px) { html body.home main section p.kicker-sans, html body.page-bio main section.about2 p.kicker-sans { white-space: normal; } }
.t3-favs > .wrap { max-width: none !important; padding-inline: 0 !important; }
.t3-cols.t3-two { align-items: stretch !important; }
.t3-favs { border-top: 0 !important; }
.t3-shop li + li::before { content: none !important; }
.t3-shop li:not(:last-child)::after { content: "·"; color: #C6A26B; margin: 0 .7em; }
/* Towns with shopping: equal thirds Dine | Shop | Experience */
.t3-cols.t3-two.t3-three { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.t3-three .t3-col { padding: 0 clamp(16px, 2.2vw, 44px) !important; }
.t3-three .t3-col ul:has(li:nth-child(9)) { grid-template-columns: 1fr !important; }
.t3-three .t3-col:first-child ul:has(li:nth-child(13)) { grid-template-columns: 1fr 1fr !important; column-gap: 18px !important; }
.t3-three .t3-col li { font-size: clamp(14px, 1vw, 19px) !important; }
@media (max-width: 900px) { .t3-cols.t3-two.t3-three { grid-template-columns: 1fr !important; } .t3-three .t3-col:first-child ul { grid-template-columns: 1fr !important; } }
/* Local Favorites: one name per line, never wrapped (3-column towns list in a single column) */
.t3-three .t3-col:first-child ul:has(li:nth-child(13)) { grid-template-columns: 1fr !important; }
.t3-two .t3-col li { white-space: nowrap; }
.t3-three .t3-col { padding: 0 clamp(12px, 1.4vw, 28px) !important; }
@media (max-width: 1100px) { .t3-two .t3-col li { white-space: normal; } }

/* Blog refinements */
article.block.post { padding-bottom: clamp(72px, 6vw, 112px) !important; }
.post-inline.pair { max-width: 580px; }
.post-inline.pair img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto; }
.post-inline.small img { width: 100%; }
.post-body h4.beach-area { font-family: var(--display); font-weight: 400; font-size: clamp(19px, 1.4vw, 24px); margin: 26px 0 6px; color: #1c1c1c; }
.post-body p.beach-contact { margin: 0 0 2px; line-height: 1.7; }

/* ===== EYEBROW SIZE — unified recommended size (all primary gold eyebrows) ===== */
html body main section p.kicker-sans, html body main section p.kicker, html body main section p.grid2-k,
html body main section p.t3-eyebrow, html body main section .callout p.co-eyebrow, .newsletter-band p.kicker-sans,
html body.home main section p.kicker-sans, html body.page-bio main section.about2 p.kicker-sans {
  font-family: var(--display) !important; font-weight: 400 !important; text-transform: uppercase !important;
  color: #b08e62 !important; font-size: clamp(14px, 1vw, 18.5px) !important; letter-spacing: .26em !important;
  line-height: 1.45 !important; white-space: nowrap;
}
@media (max-width: 900px) {
  html body main section p.kicker-sans, html body main section p.kicker, html body main section p.grid2-k,
  html body main section p.t3-eyebrow, html body main section .callout p.co-eyebrow, .newsletter-band p.kicker-sans { white-space: normal !important; }
}

/* Callout eyebrows on Testimonials, Notable Transactions, Press, Neighborhoods, Blog, Buyers, Sellers: 18px desktop */
html body main section .callout p.co-eyebrow.co-lg { font-size: clamp(14px, 1.125vw, 18px) !important; }
@media (min-width: 1200px) { html body main section .callout p.co-eyebrow.co-lg { font-size: 18px !important; } }

/* Redefining (home) + Distinguished Track Record (bio): 18px desktop */
html body.home main section p.kicker, html body.page-bio main section p.kicker { font-size: clamp(14px, 1.125vw, 18px) !important; }
@media (min-width: 1200px) { html body.home main section p.kicker, html body.page-bio main section p.kicker { font-size: 18px !important; } }

/* Bio: Hamptons Luxury Real Estate Advisor — 18px when the column allows, shrinks just enough to stay on one line */
html body.page-bio main section.about2 p.kicker-sans { font-size: clamp(14px, 1.24vw, 18px) !important; }

/* Home: six gold eyebrows — one shared size, 18px wherever "Hamptons Luxury Real Estate Advisor" fits on one line */
html body.home main section p.kicker-sans, html body.home .newsletter-band p.kicker-sans { font-size: clamp(14px, 1.24vw, 18px) !important; letter-spacing: .26em !important; line-height: 1.45 !important; }

/* Blog: photo captions sit directly under the photo, as on the live site */
.post-inline.has-cap { margin-bottom: clamp(24px, 2.2vw, 36px); }
.post-inline figcaption { font-family: var(--body); font-size: clamp(14px, .95vw, 16px); line-height: 1.55; color: #3D3A37; text-align: center; margin: 10px auto 0; max-width: 62ch; font-style: normal; letter-spacing: .01em; }
.post-inline figcaption a { color: inherit; }

/* Beaches: town / village names under Beach Access & Passes — a label, not a heading */
.post-body h4.beach-area { font-family: var(--body) !important; font-weight: 600 !important; font-size: clamp(15px, 1vw, 17px) !important; letter-spacing: .01em !important; line-height: 1.5 !important; margin: 22px 0 4px !important; color: #1c1c1c !important; }

/* Footer: a little more breathing room above the gold rule (+14px on the overall footer content padding) */
.site-footer .foot-top { padding-bottom: calc(clamp(14px, 1.1vw, 24px) + 14px) !important; }

/* Footer nav: two equal sections (Explore The Hamptons | Discover Luxury Living), each with two link columns */
.site-footer .foot-nav { grid-template-columns: 1fr 1fr !important; column-gap: clamp(24px, 3vw, 56px) !important; }
.site-footer .foot-nav .two-col-list { grid-template-columns: 1fr 1fr !important; column-gap: clamp(16px, 1.6vw, 30px) !important; }
.site-footer .foot-nav h4 { white-space: nowrap; }
@media (max-width: 980px) { .site-footer .foot-nav { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 700px) { .site-footer .foot-nav { grid-template-columns: 1fr !important; row-gap: 30px !important; } .site-footer .foot-nav h4 { white-space: normal; } }
@media (max-width: 1180px) { .site-footer .foot-top { grid-template-columns: 1fr !important; row-gap: 36px !important; } }

/* Footer — matched to Jen's Oct 5 render */
.site-footer .foot-nav h4 { font-size: clamp(17px, 1.375vw, 26px) !important; margin-bottom: clamp(19px, 1.9vw, 36px) !important; }
.site-footer .foot-nav .two-col-list { grid-template-columns: max-content max-content !important; justify-content: start !important; column-gap: clamp(32px, 4.8vw, 96px) !important; }
.site-footer .foot-top { padding-bottom: calc(clamp(14px, 1.1vw, 24px) + clamp(24px, 1.85vw, 36px)) !important; }
@media (max-width: 700px) { .site-footer .foot-nav .two-col-list { grid-template-columns: 1fr 1fr !important; column-gap: 16px !important; } }

/* Contact page: social links as gold icons (same spot, same links) */
.contact2 .contact-social { align-items: center; gap: clamp(26px, 2.3vw, 44px) !important; line-height: 0; }
.contact2 .contact-social a { display: inline-flex; color: #b08e62; }
.contact2 .contact-social svg { width: clamp(21px, 1.5vw, 28px); height: clamp(21px, 1.5vw, 28px); display: block; }
.contact2 .contact-social a:hover { color: #8f6f47; }
.contact2 .contact-social { height: calc(clamp(11.5px, .75vw, 14px) * 1.8); overflow: visible; }
.contact2 .contact-social { gap: clamp(28px, 2.5vw, 50px) !important; }
.contact2 .contact-social svg { width: clamp(24px, 1.8vw, 34px); height: clamp(24px, 1.8vw, 34px); }
.contact2 .contact-social svg rect, .contact2 .contact-social svg circle[fill="none"] { stroke-width: 2; }
.contact2 .contact-social a[aria-label="LinkedIn"] svg path, .contact2 .contact-social a[aria-label="Facebook"] svg path { transform: scale(1.12); transform-origin: 12px 12px; }

/* Town thumbnails (Neighborhoods grid + town-page carousel) use each town's hero image, framed like the hero */
.town-grid img[src*="southampton-main-street.jpg"], .carousel-track img[src*="southampton-main-street.jpg"] { object-position: 50% 68% !important; }
.town-grid img[src*="parrish-art-museum-water-mill.jpg"], .carousel-track img[src*="parrish-art-museum-water-mill.jpg"] { object-position: 50% 88% !important; }
.town-grid img[src*="bridgehampton-hero"], .carousel-track img[src*="bridgehampton-hero"] { object-position: 50% 28% !important; }
.town-grid img[src*="east-hampton-main-street-shopping.jpg"], .carousel-track img[src*="east-hampton-main-street-shopping.jpg"] { object-position: 50% 50% !important; }
.town-grid img[src*="sagaponack-vineyard-sunset.jpg"], .carousel-track img[src*="sagaponack-vineyard-sunset.jpg"] { object-position: 50% 100% !important; }
.town-grid img[src*="amagansett-ocean-beach.jpg"], .carousel-track img[src*="amagansett-ocean-beach.jpg"] { object-position: 50% 55% !important; }
.town-grid img[src*="sag-harbor-marina-yachts.jpg"], .carousel-track img[src*="sag-harbor-marina-yachts.jpg"] { object-position: 50% 100% !important; }
.town-grid img[src*="wainscott-aerial-homes-farmland.jpg"], .carousel-track img[src*="wainscott-aerial-homes-farmland.jpg"] { object-position: 50% 38% !important; }
.town-grid img[src*="montauk-point-lighthouse.jpg"], .carousel-track img[src*="montauk-point-lighthouse.jpg"] { object-position: 50% 18% !important; }
/* Neighborhoods grid fine-tune (Oct 6): Sag Harbor + Sagaponack up a bit (already at bottom edge, so a slight zoom anchored at the bottom), Wainscott down a bit */
.town-grid img[src*="sag-harbor-marina-yachts.jpg"], .town-grid img[src*="sagaponack-vineyard-sunset.jpg"] { scale: 1.1; transform-origin: 50% 100%; }
.town-grid img[src*="wainscott-aerial-homes-farmland.jpg"], .carousel-track img[src*="wainscott-aerial-homes-farmland.jpg"] { object-position: 50% 24% !important; }
/* Overview thumbnails, Oct 6 revision: undo the zoom; Sag Harbor + Sagaponack frame shifted up a hair, Wainscott down a hair */
.town-grid img[src*="sag-harbor-marina-yachts.jpg"], .town-grid img[src*="sagaponack-vineyard-sunset.jpg"] { scale: none; }
.town-grid img[src*="sag-harbor-marina-yachts.jpg"] { object-position: 50% 88% !important; }
.town-grid img[src*="sagaponack-vineyard-sunset.jpg"] { object-position: 50% 88% !important; }
.town-grid img[src*="wainscott-aerial-homes-farmland.jpg"] { object-position: 50% 46% !important; }
/* Overview thumbnails: Sag Harbor + Sagaponack show the bottom of the photo (top cropped) */
.town-grid img[src*="sag-harbor-marina-yachts.jpg"], .town-grid img[src*="sagaponack-vineyard-sunset.jpg"] { object-position: 50% 100% !important; scale: none; }

/* Oct 6: Contact eyebrow + town-page eyebrows + "Explore The Hamptons" match the master eyebrow ("INSTITUTIONAL EXPERIENCE", Notable Transactions) */
html body main section.contact2 p.kicker-sans,
html body.page-town main section .callout p.co-eyebrow,
html body.page-town main section p.t3-eyebrow {
  font-family: var(--display) !important; font-weight: 400 !important; text-transform: uppercase !important;
  font-size: clamp(14px, 1.125vw, 18px) !important; letter-spacing: .26em !important; line-height: 1.45 !important; color: #b08e62 !important;
}
@media (min-width: 1200px) {
  html body main section.contact2 p.kicker-sans,
  html body.page-town main section .callout p.co-eyebrow,
  html body.page-town main section p.t3-eyebrow { font-size: 18px !important; }
}
/* Press card: James Lane Post photo moved up (Oct 6) — home page and Press page */
/* James Lane photo: top of her hair ~8px below the frame edge */
.press-card .pc-img img[src*="michele-mahl-james-lane-post-agents-to-know"] { object-position: 50% 23% !important; }
.press-all .press-card .pc-img img[src*="michele-mahl-james-lane-post-agents-to-know"] { object-position: 50% 24.5% !important; }

/* Header (Oct 8): logo +12%; menu icon white over video/photo heroes, dark on light headers */
.site-header .brand img { width: clamp(224px, 16.8vw, 325px) !important; }
.menu-toggle span { background: #1c1c1c !important; }
body.home .site-header:not(.scrolled) .menu-toggle span,
body.overhero .site-header:not(.scrolled) .menu-toggle span { background: #fff !important; }

/* Oct 8: primary gold eyebrows — gold darkened ~15% (#b08e62 → #967953) for readability.
   Gilda Display ships in a single weight (Regular), so weight stays 400 rather than a browser-faked bold. */
html body main section p.kicker-sans:not(.eyebrow), html body main section p.kicker, html body main section p.grid2-k,
html body main section .callout p.co-eyebrow, html body main section p.t3-eyebrow,
.newsletter-band p.kicker-sans { color: #967953 !important; font-synthesis: none; }
/* Home Valuation: "Personalized Property Analysis" at the master eyebrow size */
html body main section.val2 p.kicker-sans { font-family: var(--display) !important; font-weight: 400 !important; font-size: clamp(14px, 1.125vw, 18px) !important; letter-spacing: .26em !important; line-height: 1.45 !important; }
@media (min-width: 1200px) { html body main section.val2 p.kicker-sans { font-size: 18px !important; } }
html body.page-town main section .callout p.co-eyebrow, html body.page-town main section p.t3-eyebrow,
html body main section.contact2 p.kicker-sans { color: #967953 !important; }
html body.page-bio main section p.kicker-sans, html body.page-bio main section p.kicker { color: #967953 !important; }
html body.page-bio main section.about2 p.kicker-sans { color: #967953 !important; }

/* Oct 8: primary gold eyebrows matched to Jen's "About Michele" reference render — richer gold, slightly fuller stroke */
html body main section p.kicker-sans:not(.eyebrow), html body main section p.kicker, html body main section p.grid2-k,
html body main section .callout p.co-eyebrow, html body main section p.t3-eyebrow, .newsletter-band p.kicker-sans,
html body.page-town main section .callout p.co-eyebrow, html body.page-town main section p.t3-eyebrow,
html body main section.contact2 p.kicker-sans, html body.page-bio main section p.kicker-sans, html body.page-bio main section p.kicker,
html body.page-bio main section.about2 p.kicker-sans, html body main section.val2 p.kicker-sans {
  color: #916638 !important; -webkit-text-stroke: .5px #916638; font-synthesis: none;
}

/* Footer — matched to Jen's Oct 8 render */
.site-footer .foot-brand .fb-brand { display: inline-block; width: clamp(220px, 18.4vw, 360px); line-height: 1; padding-bottom: clamp(9px, .86vw, 16px) !important; border-bottom: 2px solid #D6A85E !important; }
.site-footer .foot-brand .fb-brand img { width: 100% !important; display: block; }
.site-footer .fb-tag { display: block; margin-top: clamp(13px, 1.14vw, 22px); font-family: var(--body); font-weight: 600; text-transform: uppercase; color: #fff; font-size: clamp(8.4px, .69vw, 13.5px); letter-spacing: .08em; line-height: 1; text-align: justify; text-align-last: justify; white-space: nowrap; }
.site-footer .foot-nav h4 { font-size: clamp(19px, 1.54vw, 29px) !important; -webkit-text-stroke: .5px #D6A85E; }
.site-footer ul:not(.foot-contact2) a { font-size: clamp(14.7px, 1.1vw, 21px) !important; }
.site-footer ul.foot-contact2 a { font-size: clamp(15.8px, 1.11vw, 21px) !important; }
.site-footer .foot-contact2 .fc-ic { width: clamp(26px, 1.92vw, 36px) !important; height: auto; }
.site-footer .fb-tag { letter-spacing: .145em !important; text-align: left !important; text-align-last: auto !important; margin-right: -.145em; }
.site-footer ul a, .site-footer ul.foot-contact2 a { font-weight: 400 !important; color: #F1F0EC !important; }
.site-footer .social-icons a { color: #fff !important; }
.site-footer .social-icons svg { width: clamp(24px, 2.05vw, 38px) !important; height: clamp(24px, 2.05vw, 38px) !important; }
.site-footer ul:not(.foot-contact2) a { letter-spacing: .02em !important; }
.site-footer .foot-nav h4 { -webkit-text-stroke: .7px #D6A85E; }

/* Residential Transactions page */
.res2 .res-grid { display: flex; flex-wrap: wrap; justify-content: center; row-gap: clamp(28px, 2.6vw, 48px); }
.res2 .res-grid li { flex: 0 1 calc((100% - 6 * clamp(16px, 1.7vw, 34px)) / 3); min-width: 280px; }
.res2 .res-grid li::before { display: none !important; }
.res2 .res-grid img { aspect-ratio: 4 / 3 !important; object-fit: cover; }
.res2 .res-grid li.no-img { padding-top: clamp(26px, 2.2vw, 40px); }
.res2 .res-grid li.no-img h3::before { margin-top: 0; }
.res2 .res-rent-h { margin-top: clamp(64px, 5.5vw, 104px); }
.res2 { padding-bottom: clamp(72px, 6vw, 112px); }
.town-hero[style*="banner-residential"] { background-position: center, center 55% !important; }
@media (max-width: 860px) { .res2 .res-grid li { flex-basis: 100%; max-width: 460px; } }
.town-hero[style*="banner-residential"] .eyebrow { visibility: hidden !important; }
.res2 .res-grid h3 { font-size: clamp(22px, 1.6vw, 30px); }
.res2 .res-sub { font-family: var(--display); font-style: italic; color: rgb(154, 123, 85); font-size: clamp(17px, 1.25vw, 23px); line-height: 1.4; margin: -6px auto clamp(28px, 2.4vw, 44px); max-width: none; }
/* Residential page refinement (Oct 8): tighter intro gap, smaller section headings, tighter heading→rule→line→cards */
.res2 { padding-top: clamp(34px, 3.2vw, 48px) !important; }
.res2 .res-h { font-size: clamp(30px, 2.5vw, 48px) !important; }
.res2 .res-h::after { margin-top: clamp(14px, 1.05vw, 18px) !important; margin-bottom: clamp(20px, 1.5vw, 28px) !important; }
.res2 .res-sub { margin-bottom: clamp(20px, 1.7vw, 32px) !important; }
/* Rental cards awaiting a photo: quiet stone panel in the photo's place so rows stay even */
.res2 .res-grid li.no-img { padding-top: clamp(12px, 1vw, 18px); }
.res2 .res-ph { display: block; width: 100%; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #ebe5dc, #e2dacf); position: relative; }
.res2 .res-ph::after { content: ""; position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; transform: translate(-50%, -50%); opacity: .55;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23b08e62' stroke-width='1.4'%3E%3Cpath d='M6 22 24 8l18 14'/%3E%3Cpath d='M11 19v21h26V19'/%3E%3Cpath d='M20 40V28h8v12'/%3E%3C/svg%3E"); }
.res2 .res-grid li.no-img h3::before { margin-top: 22px; }
.res2 .res-grid img[src*="res-50-hubbard-74"] { object-position: 50% 68%; }
.res2 .res-grid img[src*="res-17-indian-wells"] { object-position: 30% 55%; }

/* Residential Transactions — ledger layout (no property photos) */
.res2 .res-ledger { list-style: none; margin: 0 auto; padding: 0; max-width: 1040px; border-top: 1px solid #c9b48f; }
.res2 .res-ledger li { display: grid; grid-template-columns: 1.5fr 1fr 1fr; align-items: baseline; column-gap: 24px; padding: clamp(18px, 1.5vw, 26px) clamp(4px, .6vw, 12px); border-bottom: 1px solid #d9ccb7; }
.res2 .rl-addr { font-family: var(--display); font-size: clamp(20px, 1.55vw, 28px); color: #1c1c1c; line-height: 1.3; }
.res2 .rl-town { font-family: var(--body); text-transform: uppercase; letter-spacing: .2em; font-size: clamp(11.5px, .82vw, 14px); color: #967953; text-align: center; }
.res2 .rl-role { font-family: var(--body); font-size: clamp(14px, 1vw, 17px); color: #3a3a3a; text-align: right; letter-spacing: .01em; }
.res2 .res-rent-h { margin-top: clamp(56px, 4.6vw, 88px) !important; }
@media (max-width: 760px) {
  .res2 .res-ledger li { grid-template-columns: 1fr; row-gap: 6px; text-align: center; }
  .res2 .rl-town, .res2 .rl-role { text-align: center; }
}
@media (min-width: 701px) { .site-footer .foot-nav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; } }
@media (max-width: 700px) { .site-footer .foot-nav .two-col-list { column-gap: 10px !important; } .site-footer .foot-nav .two-col-list a { font-size: 14px !important; } }
@media (min-width: 701px) { .site-footer .foot-nav > div:nth-child(2) .two-col-list { column-gap: clamp(24px, 2.4vw, 56px) !important; } }
.town-hero[style*="banner-residential"] { background-position: center, center 50% !important; }
/* Ledger matched to Jen's Oct 8 render: wider list, larger type, role column left-aligned */
.res2 .res-ledger { max-width: min(1330px, 100%); }
.res2 .res-ledger li { grid-template-columns: 1.65fr 1fr .85fr; padding: clamp(20px, 1.75vw, 32px) clamp(16px, 2.8vw, 52px); }
.res2 .rl-addr { font-size: clamp(22px, 2.05vw, 38px); }
.res2 .rl-town { font-size: clamp(12px, 1vw, 17px); text-align: left; letter-spacing: .2em; }
.res2 .rl-role { font-size: clamp(15px, 1.3vw, 22px); text-align: left; }
@media (max-width: 760px) { .res2 .res-ledger li { grid-template-columns: 1fr !important; text-align: center; padding: 18px 8px; } .res2 .rl-town, .res2 .rl-role { text-align: center !important; } }
.town-hero[style*="banner-calculator"] { background-position: center, center 50% !important; }
.town-hero[style*="banner-calculator"] .eyebrow { visibility: hidden !important; }
/* Residential ledger — compact editorial sizing (Oct 8) */
.res2 .res-ledger li { padding-top: clamp(13px, 1.17vw, 21.5px) !important; padding-bottom: clamp(13px, 1.17vw, 21.5px) !important; }
.res2 .rl-addr { font-size: clamp(16px, 1.37vw, 25.5px) !important; }
.res2 .rl-town { font-size: clamp(11px, .87vw, 14.8px) !important; }
.res2 .rl-role { font-size: clamp(13px, 1.07vw, 18px) !important; }
@media (max-width: 760px) { .res2 .res-ledger li { padding-top: 12px !important; padding-bottom: 12px !important; } }
/* Residential ledger — exact spec (Oct 8) */
@media (min-width: 761px) {
  .res2 .res-ledger li { box-sizing: border-box; height: 64px; padding-top: 12px !important; padding-bottom: 12px !important; align-items: center !important; margin: 0; }
  .res2 .rl-addr { font-size: 25px !important; line-height: 1.2; }
  .res2 .rl-town { font-size: 14px !important; }
  .res2 .rl-role { font-size: 17px !important; }
}
.res2 .res-ledger { border-top: 1px solid #d9ccb7 !important; }
.res2 .res-ledger li { border-bottom: 1px solid #d9ccb7 !important; }
.res2 .rl-addr, .res2 .rl-town, .res2 .rl-role { margin: 0; }
.res-intro { padding-bottom: 0 !important; } .res-intro .intro-text > p:last-of-type { margin-bottom: 0 !important; }
.res2 { padding-top: 48px !important; }
html body main section.block.res-intro { padding-bottom: 0 !important; }
/* Residential ledger — FINAL spec (Oct 8, replaces 25px/64px/48px) */
html body main section.res2 { padding-top: 28px !important; }
html body main section.res2 .res-ledger { max-width: 1100px !important; width: 100%; margin: 0 auto; }
@media (min-width: 761px) {
  html body main section.res2 .res-ledger li { grid-template-columns: 46% 24% 30% !important; column-gap: 0 !important; height: 52px !important; box-sizing: border-box; padding: 0 16px !important; margin: 0 !important; align-items: center !important; }
  html body main section.res2 .rl-addr { font-size: 20px !important; line-height: 1.2 !important; }
  html body main section.res2 .rl-town { font-size: 12px !important; line-height: 1.2 !important; }
  html body main section.res2 .rl-role { font-size: 14px !important; line-height: 1.2 !important; }
}
/* Residential ledger: shift representation column ~110px right (desktop only) */
@media (min-width: 761px) {
  html body main section.res2 .rl-role { padding-left: min(110px, calc(100% - 180px)) !important; text-align: left !important; }
}
/* Bio: A Career of Distinction — three photographic features under stats panel */
:is(.page-bio, .home, .page-adv) .redefine .dist-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 56px); margin-top: clamp(48px, 4vw, 72px); }
:is(.page-bio, .home, .page-adv) .redefine .df-item { display: flex; flex-direction: column; align-items: center; text-align: center; }
:is(.page-bio, .home, .page-adv) .redefine .df-img { display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
:is(.page-bio, .home, .page-adv) .redefine .df-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
:is(.page-bio, .home, .page-adv) .redefine .df-img:hover img { transform: scale(1.03); }
:is(.page-bio, .home, .page-adv) .redefine .df-h { font-family: var(--body); font-size: clamp(12px, .8vw, 14px); font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: #967953; margin: clamp(22px, 1.8vw, 30px) 0 10px; line-height: 1.4; }
:is(.page-bio, .home, .page-adv) .redefine .df-p { font-size: clamp(15px, 1vw, 17px); line-height: 1.6; color: #4a4a4a; max-width: 30ch; margin: 0 auto clamp(22px, 1.8vw, 30px); flex-grow: 1; }
:is(.page-bio, .home, .page-adv) .redefine .df-item .btn-arrow { margin-top: auto; white-space: nowrap; }
@media (max-width: 1100px) and (min-width: 761px) { :is(.page-bio, .home, .page-adv) .redefine .dist-features { gap: 24px; } :is(.page-bio, .home, .page-adv) .redefine .df-item .btn-arrow { width: 100%; justify-content: center; font-size: 10.5px; padding-left: 8px; padding-right: 8px; letter-spacing: .1em; white-space: nowrap; } }
@media (max-width: 1000px) and (min-width: 761px) { :is(.page-bio, .home, .page-adv) .redefine .dist-features { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; gap: 48px; } :is(.page-bio, .home, .page-adv) .redefine .df-item .btn-arrow { width: auto; font-size: 12px; padding-left: 28px; padding-right: 28px; letter-spacing: .16em; } }
@media (max-width: 760px) { :is(.page-bio, .home, .page-adv) .redefine .dist-features { grid-template-columns: 1fr; gap: 48px; max-width: 480px; margin-left: auto; margin-right: auto; } :is(.page-bio, .home, .page-adv) .redefine .df-item .btn-arrow { white-space: normal; } }
/* Bio: Career of Distinction — match reference render */
@media (min-width: 1001px) { .page-bio .redefine .section-head { max-width: none !important; } .page-bio .redefine .section-head h2 { white-space: nowrap; font-size: clamp(34px, 3.4vw, 64px) !important; } }
:is(.page-bio, .home, .page-adv) .redefine .dist-features { margin-top: clamp(24px, 1.8vw, 32px) !important; padding: 0 clamp(0px, 1.5vw, 24px); }
:is(.page-bio, .home, .page-adv) .redefine .df-img { aspect-ratio: 3 / 2 !important; }
:is(.page-bio, .home, .page-adv) .redefine .df-p { font-family: var(--display); font-size: clamp(17px, 1.15vw, 21px) !important; line-height: 1.45 !important; color: #2a2a2a !important; max-width: 28ch !important; }
/* Bio gallery: refined buttons + tighter vertical rhythm */
@media (min-width: 1001px) and (max-width: 1100px) { html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { height: 52px !important; min-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; display: inline-flex !important; align-items: center !important; } }
@media (min-width: 1101px), (min-width: 761px) and (max-width: 1000px) {
  html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 30px !important; display: inline-flex !important; align-items: center !important; justify-content: center; width: auto !important; box-sizing: border-box; line-height: 1 !important; }
}
html body:is(.page-bio, .home, .page-adv) main .redefine .df-h { margin: clamp(16px, 1.25vw, 22px) 0 6px !important; }
html body:is(.page-bio, .home, .page-adv) main .redefine .df-p { margin-bottom: clamp(16px, 1.25vw, 22px) !important; }
@media (min-width: 1001px) {
  html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { width: auto !important; max-width: 100%; height: 52px !important; padding: 0 clamp(14px, 1.6vw, 30px) !important; font-size: clamp(10.5px, .78vw, 15px) !important; letter-spacing: .16em !important; white-space: nowrap !important; display: inline-flex !important; align-items: center !important; justify-content: center; }
}
@media (min-width: 1001px) and (max-width: 1400px) { html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { letter-spacing: .13em !important; } }
@media (min-width: 1200px) { html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { font-size: clamp(12px, .78vw, 14px) !important; } }
@media (max-width: 760px) { html body:is(.page-bio, .home, .page-adv) main .redefine .df-item .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 26px !important; display: inline-flex !important; align-items: center !important; justify-content: center; } }
/* Bio gallery: cohesive with stats panel */
html body:is(.page-bio, .home, .page-adv) main .redefine .dist-features { margin-top: clamp(12px, .85vw, 16px) !important; padding-left: 0 !important; padding-right: 0 !important; }
html body:is(.page-bio, .home, .page-adv) main .redefine .df-h { margin: clamp(14px, 1vw, 18px) 0 4px !important; }
html body:is(.page-bio, .home, .page-adv) main .redefine .df-p { margin-bottom: clamp(14px, 1vw, 18px) !important; }
/* Bio gallery headings: match stats-panel label size */
html body:is(.page-bio, .home, .page-adv) main .redefine .df-h { font-size: clamp(11.5px, .9vw, 16px) !important; }
/* Home: "A Different Perspective on Hamptons Real Estate" — one centered line on desktop */
@media (min-width: 1001px) {
  body.home .redefine .section-head h2 { font-size: clamp(34px, 2.9vw, 56px) !important; white-space: nowrap; width: max-content; max-width: calc(100vw - 48px); position: relative; left: 50%; transform: translateX(-50%); }
}
/* Footer: towns read down each column (Overview → Montauk, then Sag Harbor → Water Mill) */
.site-footer .foot-nav .two-col-list.town-cols { grid-auto-flow: column !important; grid-template-rows: repeat(5, auto) !important; }
/* Contact Michele popup — refined card */
.float-contact .float-card { position: relative; box-sizing: border-box; width: 360px; max-width: calc(100vw - 32px); max-height: calc(100vh - 120px); overflow-y: auto; background: #fff; border: 1px solid #ece7df; box-shadow: 0 14px 40px rgba(20,20,20,.14); padding: 30px 30px 14px; min-width: 0; }
.float-contact .float-card[hidden] { display: none; }
.float-contact .float-h { font-family: var(--display); font-weight: 400; font-size: 30px; line-height: 1.15; color: #2a2a2a; letter-spacing: .01em; margin: 6px 0 14px; padding-right: 32px; }
.float-contact .float-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; display: grid; place-items: center; background: none; border: 0; padding: 0; cursor: pointer; color: #9a9a9a; font: 300 30px/1 var(--body); transition: color .2s; }
.float-contact .float-close:hover, .float-contact .float-close:focus-visible { color: #2a2a2a; }
.float-contact .float-card a.fc-row { display: grid; grid-template-columns: 26px 1fr 16px; align-items: center; column-gap: 20px; padding: 17px 2px; text-decoration: none; color: #2a2a2a; border-bottom: 1px solid #e3e0db; font-family: var(--display); font-size: 19px; line-height: 1.3; transition: color .2s; }
.float-contact .float-card a.fc-row:last-child { border-bottom: 0; }
.float-contact .float-card a.fc-row .fc-i, .float-contact .float-card a.fc-row .fc-chev { color: #9a7440; display: block; }
.float-contact .float-card a.fc-row .fc-chev { justify-self: end; transition: transform .2s; }
.float-contact .float-card a.fc-row.fc-gold { color: #9a7440; }
.float-contact .float-card a.fc-row:hover { color: #9a7440; }
.float-contact .float-card a.fc-row:hover .fc-chev { transform: translateX(3px); }
@media (max-width: 760px) {
  .float-contact .float-card { width: min(360px, calc(100vw - 48px)); max-width: calc(100vw - 48px); padding: 24px 22px 10px; }
  .float-contact .float-h { font-size: 26px; }
  .float-contact .float-card a.fc-row { font-size: 18px; padding: 15px 2px; column-gap: 16px; }
}
/* Floating Contact button — compact ivory rounded rectangle, gold outline + phone icon */
.float-contact .float-btn { width: 52px; height: 48px; padding: 0; gap: 0; display: inline-grid; place-items: center; background: #f8f6f2; color: #9a7440; border: 1px solid #b08e62; border-radius: 8px; box-shadow: 0 2px 8px rgba(20,20,20,.10); font-size: 0; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.float-contact .float-btn svg { width: 21px; height: 21px; display: block; }
.float-contact .float-btn:hover, .float-contact .float-btn[aria-expanded="true"] { background: #f1e9dc; border-color: #8a6a3a; color: #7d5c2e; }
.float-contact .float-btn:focus { outline: none; }
.float-contact .float-btn:focus-visible { outline: 2px solid #7d5c2e; outline-offset: 3px; }
/* Floating Contact button — charcoal rectangle, champagne-gold border + icon, white label */
.float-contact .float-btn { width: 140px; height: 48px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: #1C2224; color: #FFFFFF; border: 1px solid #B68A49; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.18); font: 500 15px/1 var(--body); letter-spacing: .04em; cursor: pointer; transition: border-color .2s ease, color .2s ease; }
.float-contact .float-btn svg { width: 19px; height: 19px; color: #C9A263; flex: none; transition: color .2s ease; }
.float-contact .float-btn .fb-label { color: #FFFFFF; }
.float-contact .float-btn:hover, .float-contact .float-btn[aria-expanded="true"] { background: #1C2224; border-color: #D2AE6E; color: #FFFFFF; }
.float-contact .float-btn:hover svg, .float-contact .float-btn[aria-expanded="true"] svg { color: #DDBB7E; }
.float-contact .float-btn:focus-visible { outline: 2px solid #C9A263; outline-offset: 3px; }
/* ===== Slide-in side navigation (replaces full-screen overlay) ===== */
.drawer { position: fixed; inset: 0; z-index: 100; background: transparent; overflow: hidden; padding: 0; }
.drawer[hidden] { display: none; }
.drawer-scrim { position: absolute; inset: 0; background: rgba(20,22,23,.38); opacity: 0; transition: opacity .3s ease; cursor: pointer; }
.drawer.is-open .drawer-scrim { opacity: 1; }
.drawer-panel { position: absolute; top: 0; right: 0; bottom: 0; width: 460px; max-width: 100%; background: #f8f6f2; box-shadow: -8px 0 30px rgba(0,0,0,.12); overflow-y: auto; overscroll-behavior: contain; transform: translateX(100%); transition: transform .32s cubic-bezier(.22,.61,.36,1); display: flex; flex-direction: column; }
.drawer.is-open .drawer-panel { transform: translateX(0); }
.drawer-top { display: flex; justify-content: flex-end; padding: 18px 18px 14px; flex: none; }
.drawer .drawer-close { position: static; width: 44px; height: 44px; display: grid; place-items: center; background: none; border: 0; padding: 0; color: #1C2224; cursor: pointer; font-size: 0; transition: opacity .2s; }
.drawer .drawer-close:hover { opacity: .6; }
.drawer .drawer-close:focus-visible { outline: 2px solid #9a7440; outline-offset: 2px; }
.drawer .sn-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid #e3ddd3; }
.drawer .sn-list > li { border-bottom: 1px solid #e3ddd3; margin: 0; }
.drawer .sn-top { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 65px; box-sizing: border-box; padding: 0 56px; background: none; border: 0; margin: 0; font-family: var(--body); font-size: 14.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #1C2224; text-decoration: none; text-align: center; line-height: 1.3; cursor: pointer; transition: color .2s ease; }
.drawer a.sn-top:hover, .drawer button.sn-top:hover { color: #9a7440; opacity: 1; }
.drawer .sn-top:focus-visible { outline: 2px solid #9a7440; outline-offset: -4px; }
.drawer .sn-chev { position: absolute; right: 28px; top: 50%; margin-top: -9px; color: #9a7440; transition: transform .25s ease; }
.drawer .sn-group.is-open .sn-chev { transform: rotate(180deg); }
.drawer .sn-sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; background: #f1ece3; }
.drawer .sn-group.is-open .sn-sub { grid-template-rows: 1fr; }
.drawer .sn-sub-inner { overflow: hidden; min-height: 0; }
.drawer .sn-sub ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #e3ddd3; }
.drawer .sn-group:not(.is-open) .sn-sub { visibility: hidden; transition: grid-template-rows .3s ease, visibility 0s linear .3s; }
.drawer .sn-group.is-open .sn-sub { visibility: visible; transition: grid-template-rows .3s ease, visibility 0s; }
.drawer .sn-sub li { border-bottom: 1px solid #e6e0d6; }
.drawer .sn-sub li:last-child { border-bottom: 0; }
.drawer .sn-sub a { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 40px; font-family: var(--body); font-size: 13px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: #4a4a4a; text-decoration: none; text-align: center; line-height: 1.3; transition: color .2s ease; }
.drawer .sn-sub a:hover { color: #9a7440; opacity: 1; }
.drawer .sn-sub a:focus-visible { outline: 2px solid #9a7440; outline-offset: -4px; }
html.drawer-open, body.drawer-open { overflow: hidden; }
@media (max-width: 520px) { .drawer-panel { width: 100%; box-shadow: none; } .drawer .sn-top { padding: 0 52px; font-size: 14px; } .drawer .sn-chev { right: 22px; } }
@media (prefers-reduced-motion: reduce) { .drawer-panel, .drawer-scrim, .drawer .sn-sub, .drawer .sn-chev { transition: none !important; } }
/* Floating Contact button — text only, 120px */
.float-contact .float-btn { width: 120px; padding: 0 12px; gap: 0; }
/* Side menu: submenu links +1px; open parent stays muted gold */
.drawer .sn-sub a { font-size: 14px; }
.drawer .sn-group.is-open > .sn-top { color: #9a7440; }
@media (max-width: 360px) { .drawer .sn-sub a { padding: 0 12px; } }
/* Blog article header: date under headline, tighter gap to featured image */
html body main section.block.post-head { padding-bottom: calc(clamp(48px, 4vw, 72px) - 22px) !important; }
.post-head .post-date { margin: clamp(14px, 1.1vw, 18px) 0 0; font-family: var(--body); font-size: clamp(13px, .85vw, 15px); font-weight: 400; letter-spacing: .04em; color: #6f6a64; text-align: center; }
/* ===== Blog article ending: author/contact + prev/next ===== */
html body main section.block.pa2 { background: #F3EEE6 !important; padding-block: clamp(40px, 3.4vw, 64px) !important; border: 0; }
.pa2-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 72px); align-items: center; max-width: 1160px; margin: 0 auto; }
.pa2-photo { margin: 0; aspect-ratio: 10 / 9; overflow: hidden; }
.pa2-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 52% 30%; display: block; }
.pa2-text { max-width: 480px; }
.pa2 .pa2-eyebrow { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .2em; font-size: clamp(12px, .85vw, 15px); color: #9a7440; margin: 0 0 14px; }
.pa2 .pa2-name { font-family: var(--display); font-weight: 400; font-size: clamp(38px, 3.4vw, 60px); line-height: 1.05; color: #1C2224; margin: 0; letter-spacing: .01em; }
.pa2-rule { display: block; width: 72px; height: 1px; background: #b08e62; margin: clamp(18px, 1.5vw, 26px) 0 clamp(20px, 1.6vw, 28px); }
.pa2 .pa2-copy { font-family: var(--display); font-size: clamp(17px, 1.15vw, 21px); line-height: 1.55; color: #2a2a2a; margin: 0 0 clamp(24px, 2vw, 34px); }
.pa2-btn-wrap { margin: 0; }
.pa2-btn { display: inline-flex; align-items: center; gap: 14px; background: #9a7440; color: #fff !important; border: 1px solid #9a7440; border-radius: 2px; padding: 17px 36px; font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .16em; font-size: clamp(12px, .85vw, 15px); text-decoration: none; transition: background-color .2s ease, border-color .2s ease; }
.pa2-btn:hover { background: #7d5c2e; border-color: #7d5c2e; }
.pa2-btn:focus-visible { outline: 2px solid #7d5c2e; outline-offset: 3px; }
html body main section.block.pn2-wrap { background: #F8F6F2 !important; padding-block: clamp(40px, 3.4vw, 60px) clamp(48px, 4vw, 72px) !important; }
.pn2 { display: grid; grid-template-columns: 1fr 1fr; max-width: 1000px; margin: 0 auto; }
.pn2.single { grid-template-columns: 1fr; max-width: 500px; }
.pn2 .pn { display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); text-decoration: none; color: #1C2224; padding: 6px clamp(16px, 3vw, 56px); transition: color .2s ease; }
.pn2 .pn.prev { justify-content: flex-start; }
.pn2 .pn.next { justify-content: flex-end; text-align: right; }
.pn2 .pn.prev + .pn.next { border-left: 1px solid #ddd3c4; }
.pn2.single .pn.next { justify-content: center; }
.pn2.single .pn.prev { justify-content: center; }
.pn2-arrow { flex: none; color: #9a7440; transition: transform .2s ease; }
.pn2 .pn.next .pn2-arrow { color: #1C2224; }
.pn2 .pn.prev:hover .pn2-arrow { transform: translateX(-3px); }
.pn2 .pn.next:hover .pn2-arrow { transform: translateX(3px); }
.pn2-txt { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pn2-label { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .18em; font-size: clamp(11px, .78vw, 13.5px); color: #9a7440; }
.pn2-title { font-family: var(--display); font-size: clamp(19px, 1.45vw, 26px); line-height: 1.3; color: #1C2224; max-width: 17em; }
.pn2 .pn.next .pn2-title { margin-left: auto; }
.pn2 .pn:hover .pn2-title { color: #9a7440; }
.pn2-all { text-align: center; margin: clamp(32px, 2.8vw, 48px) 0 0; }
.pn2-allbtn { display: inline-flex; align-items: center; gap: 14px; border: 1px solid #b08e62; color: #9a7440 !important; background: transparent; padding: 17px clamp(40px, 4vw, 64px); font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .16em; font-size: clamp(12px, .85vw, 15px); text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.pn2-allbtn:hover { background: #9a7440; color: #fff !important; }
@media (max-width: 760px) {
  .pa2-grid { grid-template-columns: 1fr; gap: 28px; }
  .pa2-photo { aspect-ratio: 4 / 3.4; }
  .pa2-text { max-width: none; }
  .pa2-btn { padding: 16px 28px; }
  .pn2 { grid-template-columns: 1fr; }
  .pn2 .pn { padding: 18px 4px; }
  .pn2 .pn.prev + .pn.next { border-left: 0; border-top: 1px solid #ddd3c4; }
  .pn2-title { font-size: 19px; }
}
@media (min-width: 761px) { .pn2 .pn { align-items: flex-start; } .pn2 .pn .pn2-arrow { margin-top: calc(clamp(11px, .78vw, 13.5px) * 1.3 + 10px + clamp(19px, 1.45vw, 26px) * .65 - 13px); } }
/* Explore the Hamptons hero: identical to Testimonials hero (spacer eyebrow hidden, same height/headline) */
.town-hero[style*="explore-beach-bright"] .eyebrow { visibility: hidden !important; }
/* when "Explore the Hamptons" wraps to two lines on small phones, shrink the hidden spacer so the hero height still equals Testimonials */
@media (max-width: 508px) { .town-hero[style*="explore-beach-bright"] .eyebrow { height: 28px; overflow: hidden; } }
@media (max-width: 412px) { .town-hero[style*="explore-beach-bright"] .eyebrow { height: 50px; } }
/* Explore the Hamptons hero: show more of the beach (photo shifted up) */
.town-hero[style*="explore-beach-bright"] { background-position: 0 0, center 72%, 0 0 !important; }
/* Explore the Hamptons hero: headline raised 30px (photo, height and type unchanged) */
.town-hero[style*="explore-beach-bright"] h1 { transform: translateY(-30px); }
/* Gallery spans the full width of the charcoal statistics panel: outer photo edges flush with the panel edges,
   three equal columns, two identical 28px gaps (middle photo stays centered under $1.95 Billion). */
@media (min-width: 1001px) {
  html body:is(.page-bio, .home, .page-adv) main .redefine .dist-features { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 28px !important; row-gap: 0 !important; padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box; width: 100%; }
  html body:is(.page-bio, .home, .page-adv) main .redefine .df-item { min-width: 0; padding-left: 0; padding-right: 0; }
}
/* ===== Residential Transactions: two-column property list + estate photo ===== */
html body main section.block.res3 { background: #F8F6F2 !important; padding-top: clamp(28px, 2.6vw, 48px) !important; padding-bottom: clamp(56px, 5vw, 96px) !important; }
.res3-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(32px, 3.4vw, 64px); align-items: stretch; max-width: 1400px; margin: 0 auto; }
.res3-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(4, 1fr); column-gap: clamp(28px, 3vw, 56px); }
.res3-list li { display: flex; flex-direction: column; justify-content: center; gap: clamp(8px, .7vw, 12px); padding: clamp(18px, 1.6vw, 30px) 0; border-bottom: 1px solid #ddd0bc; margin: 0; }
.res3 .r3-addr { font-family: var(--display); font-size: clamp(20px, 1.55vw, 30px); line-height: 1.2; color: #1C2224; }
.res3 .r3-town { font-family: var(--body); font-weight: 500; text-transform: uppercase; letter-spacing: .2em; font-size: clamp(11.5px, .82vw, 15px); color: #9a7440; }
.res3-photo { margin: 0; position: relative; min-height: 100%; overflow: hidden; }
.res3-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; display: block; }
@media (max-width: 1000px) {
  .res3-grid { grid-template-columns: 1fr; }
  .res3-photo { order: -1; aspect-ratio: 3 / 2; min-height: 0; }
}
@media (max-width: 600px) {
  .res3-list { grid-template-columns: 1fr; grid-template-rows: none; }
  .res3-list li { padding: 16px 0; }
  .res3-list li:nth-child(even) { order: 1; }
}
.res3-grid { max-width: 1600px; grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); }
.res3 .r3-addr { font-size: clamp(19px, 1.4vw, 27px); white-space: nowrap; }
@media (max-width: 1000px) { .res3 .r3-addr { white-space: normal; } }
/* Residential list + photo: compact editorial proportions (~48% list / 8% gap / 44% photo), centered */
@media (min-width: 1001px) {
  .res3-grid { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; grid-template-columns: 48fr 44fr !important; column-gap: 8% !important; }
  .res3-list { column-gap: 28px !important; }
}
/* Residential photo: tighter vertical entrance crop, taller than wide; list rows stretch to match; smaller gap */
@media (min-width: 1001px) {
  .res3-grid { column-gap: 4% !important; align-items: stretch !important; }
  .res3-photo { aspect-ratio: 570 / 760; min-height: 0 !important; height: auto; align-self: start; }
  .res3-list { height: 100%; }
  .res3-photo img { object-position: 50% 50% !important; }
}
@media (max-width: 1000px) { .res3-photo { aspect-ratio: 4 / 5 !important; max-width: 520px; margin-left: auto; margin-right: auto; width: 100%; } }
@media (min-width: 1001px) {
  .res3-grid { grid-template-columns: minmax(0, 48fr) minmax(0, 44fr) !important; max-width: clamp(1240px, 76vw, 1460px) !important; }
}
@media (max-width: 1000px) { html body main .res3-grid > .res3-photo { width: 100% !important; max-width: 520px; justify-self: center; aspect-ratio: 4 / 5 !important; height: auto !important; min-height: 0 !important; align-self: start; } }
@media (max-width: 600px) { html body main .res3-grid > .res3-photo { max-width: none; } }
@media (max-width: 1000px) { html body main .res3-grid { grid-template-columns: 1fr !important; row-gap: 32px; } }
/* Residential: ~20% shorter composition — shorter photo (same width), tighter rows follow it */
@media (min-width: 1001px) {
  html body main .res3-grid > .res3-photo { aspect-ratio: 570 / 608 !important; }
  .res3-photo img { object-position: 50% 30% !important; }
}
/* Residential hero (white shingle house): show rooflines + sky on wider screens */
@media (min-width: 761px) { .town-hero[style*="banner-residential-2"] { background-position: center, center 30% !important; } }
@media (min-width: 1001px) { .res3-photo img { object-position: 50% 26% !important; } }
@media (min-width: 761px) { .town-hero[style*="banner-residential-3"] { background-position: center, center 40% !important; } }
@media (min-width: 761px) { .town-hero[style*="banner-residential-4"] { background-position: center, center 45% !important; } }
/* Residential town names: same treatment as the stats-panel gold label ("IN REAL ESTATE TRANSACTIONS") */
.res3 .r3-town { font-family: var(--body) !important; font-weight: 500 !important; text-transform: uppercase !important; font-size: clamp(11.5px, .9vw, 16px) !important; letter-spacing: .28em !important; color: #D6A85E !important; }
@media (min-width: 1000px) { .res3 .r3-town { letter-spacing: .24em !important; } }
/* Residential: photo 18px closer to the property list (list and photo size/position otherwise unchanged) */
@media (min-width: 1001px) { html body main .res3-grid > .res3-photo { transform: translateX(-18px); } }
/* Residential town names: warm gold for ivory (typography values remain identical to the stats-panel label) */
.res3 .r3-town { color: #9A7440 !important; }
@media (min-width: 761px) and (max-width: 1100px) { .res3 .r3-town { letter-spacing: .14em !important; } }
/* ===== Residential: final refinement — one container aligned to the intro paragraph ===== */
html body main section.block.res3 .res3-grid { max-width: 1100px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; }
html body main section.block.res3 .res3-grid > .res3-photo { transform: none !important; }
.res3 .res3-h { max-width: 1100px; margin: 0 auto clamp(28px, 2.4vw, 44px); text-align: center; font-family: var(--display); font-weight: 400; font-size: clamp(22px, 1.6vw, 30px); line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; color: #1C2224; }
@media (min-width: 1001px) {
  html body main section.block.res3 .res3-grid { grid-template-columns: minmax(0, 60fr) minmax(0, 36fr) !important; column-gap: 4% !important; align-items: start !important; }
  html body main section.block.res3 .res3-grid > .res3-photo { aspect-ratio: 570 / 608 !important; align-self: start; }
  html body main section.block.res3 .res3-list { height: auto !important; align-self: stretch; }
  .res3 .r3-addr { font-size: clamp(19px, 1.25vw, 24px) !important; }
}
@media (min-width: 1001px) {
  html body main section.block.res3 .res3-grid { align-items: stretch !important; }
  html body main section.block.res3 .res3-list { grid-template-rows: repeat(4, auto) !important; align-self: start !important; }
  html body main section.block.res3 .res3-list li { padding: clamp(16px, 1.25vw, 24px) 0 !important; }
  html body main section.block.res3 .res3-grid > .res3-photo { aspect-ratio: auto !important; align-self: stretch !important; height: auto !important; min-height: 0 !important; }
}
/* keep the photo portrait (taller than wide) at every desktop width */
@media (min-width: 1001px) { html body main section.block.res3 .res3-list li { min-height: min(110px, 9.6vw); box-sizing: border-box; } }
/* Residential: heading-to-list gap reduced by 18px */
.res3 .res3-h { margin-bottom: calc(clamp(28px, 2.4vw, 44px) - 18px) !important; }
/* Residential section heading: title case, natural serif spacing */
.res3 .res3-h { text-transform: none !important; letter-spacing: .01em !important; }
/* Blog author section: outlined gold Contact Michele button */
.pa2-btn { background: transparent !important; color: #9a7440 !important; border: 1px solid #b08e62 !important; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.pa2-btn:hover { background: #9a7440 !important; border-color: #9a7440 !important; color: #fff !important; }
/* Transactions: parent opens the dropdown (no direct link) */
.main-nav .nav-dd.open .dd-menu { display: block; }
.main-nav .nav-dd.open > a::after { transform: scaleX(1); }
.main-nav .nav-dd-tx > a { cursor: pointer; }
.main-nav .dd-menu a[aria-current="page"] { font-weight: 500; }
.main-nav .nav-dd.dd-closed:not(:hover) .dd-menu { display: none !important; }
/* Contact Michele popup: thin muted-gold border */
.float-contact .float-card { border: 1px solid #C9B08A !important; }
/* Blog listing READ POST: smaller, more tracked type; button box unchanged (149 x 58) */
.post-card .read { font-size: 14px !important; letter-spacing: .14em !important; width: 149px; height: 58px; box-sizing: border-box; display: inline-flex !important; align-items: center; justify-content: center; padding-left: 0 !important; padding-right: 0 !important; white-space: nowrap; }
/* Top-nav hover underline: 1px, raised 4px for clear separation from the dropdown */
.main-nav > a::after, .main-nav .nav-dd > a::after { height: 1px !important; bottom: -4px !important; }

/* Explore overview intro: spacing between the three approved paragraphs */
.nb-intro-text p + p { margin-top: 1.1em; }

/* Custom 404 page (only used on /404.html) */
section.block.nf { background: #f8f6f2; padding-block: clamp(100px, 10vw, 170px); }
.nf-wrap { max-width: 760px; margin: 0 auto; text-align: center; }
.nf-rule { display: block; width: 68px; height: 1px; background: #b08e62; margin: clamp(22px, 1.8vw, 32px) auto clamp(22px, 1.8vw, 30px); }
.nf-text { font-family: var(--body); font-size: clamp(15px, 1.05vw, 19px); line-height: 1.7; color: #3D3A37; max-width: 56ch; margin: 0 auto clamp(34px, 2.6vw, 44px); }
.nf-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Stats panel shares the photo grid below it (desktop): same 3 equal columns, same 28px gutter, no side inset,
   gold dividers drawn in the centre of each gutter */
@media (min-width: 1001px) {
  html body:is(.page-bio, .home, .page-adv) main .redefine .stats2 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 28px !important; padding-left: 0 !important; padding-right: 0 !important; }
  html body:is(.page-bio, .home, .page-adv) main .redefine .stat2 { position: relative; }
  html body:is(.page-bio, .home, .page-adv) main .redefine .stat2 + .stat2 { border-left: 0 !important; }
  html body:is(.page-bio, .home, .page-adv) main .redefine .stat2 + .stat2::before { content: ""; position: absolute; top: 0; bottom: 0; left: -14.5px; width: 1px; background: #C6A26B; }
}

/* Residential: centre the section heading over the address list (left column), not the whole list + photo row */
@media (min-width: 1001px) {
  html body main section.block.res3 .res3-h { display: grid; grid-template-columns: minmax(0, 60fr) minmax(0, 36fr); column-gap: 4%; }
}

/* Residential: more air above "Select Residential Sales & Rentals" (~60px) and +50px before the footer */
html body main section.block.res3 { padding-top: 44px !important; padding-bottom: calc(clamp(56px, 5vw, 96px) + 50px) !important; }
@media (min-width: 1001px) { html body main section.block.res3 { padding-top: 60px !important; } }

/* ---------- Phase 2 (approved Oct 11): links and heading semantics, no redesign ---------- */
/* Inline text links: same treatment as links inside blog articles */
.inline-link { color: inherit; text-decoration: none; }
.inline-link:hover { opacity: .65; }
/* Discreet standalone arrow links ("Contact Michele →", "View Select Residential Sales & Rentals →") */
.p2-link-wrap { margin: 1.4em 0 0 !important; }
.p2-link { font-family: var(--body); font-size: clamp(12px, .85vw, 14px); font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #9A7440; text-decoration: none; }
.p2-link span { margin-left: 8px; letter-spacing: 0; }
.p2-link:hover { opacity: .7; }
/* Residential list: town names link to their guides, same look */
.res3 .r3-town a { color: inherit; text-decoration: none; }
.res3 .r3-town a:hover { opacity: .65; }
/* Residential: approved sentence below the list, centred under the address list column */
.res3 .res3-next { max-width: 1100px; margin: clamp(28px, 2.4vw, 40px) auto 0; text-align: center; }
.res3 .res3-next p { margin: 0; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.75; letter-spacing: .03em; color: #3D3A37; }
@media (min-width: 1001px) {
  html body main section.block.res3 .res3-next { display: grid; grid-template-columns: minmax(0, 60fr) minmax(0, 36fr); column-gap: 4%; }
}
/* About page: section headings are now <h2 class="bio-sec"> (was h3) for a correct outline; identical look */
.bio2 .about2-text h2.bio-sec { font-size: clamp(26px, 2.15vw, 42px); letter-spacing: -.005em; line-height: 1.15; margin: 0 0 16px; }
.bio2 .about2-text h2.bio-sec::after { content: none; display: none; }
.bio2 .about2-text p + h2.bio-sec { margin-top: clamp(36px, 3vw, 56px); }
.page-bio .bio2 .about2-text h2.bio-sec.sub-h { font-size: clamp(22px, 1.75vw, 34px); }
.page-bio .about2-text h2.bio-sec.sub-h { font-size: clamp(28px, 2.15vw, 40px) !important; }

/* Phase 2: About 'Measured Guidance' — cancel desktop lift when stacked (≤900px) */
@media (max-width: 900px) { .page-bio main > section.about2:nth-of-type(4) .about2-text > * { top: 0; } }
/* Phase 2: floating Contact tucks while scrolling down on mobile/tablet (≤900px) — desktop unaffected */
@media (max-width: 900px) {
  .float-contact { transition: transform .25s ease, opacity .25s ease; }
  .float-contact.fc-tucked { transform: translateY(calc(100% + 40px)); opacity: 0; pointer-events: none; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) { .float-contact { transition: none; } }
/* Phase 2: Residential closing — centered under full grid + photo, serif charcoal, Contact button (Residential page only) */
html body main section.block.res3 .res3-next { display: block !important; max-width: 1100px; margin: clamp(48px, 4vw, 72px) auto 0; text-align: center; }
.res3 .res3-next > p:first-child { max-width: 48em; margin: 0 auto; font-family: var(--display); font-size: clamp(17px, 1.2vw, 21px); line-height: 1.65; letter-spacing: .005em; color: #1C2224; text-wrap: balance; }
.res3 .res3-next .inline-link { transition: color .2s ease; }
.res3 .res3-next .inline-link:hover { opacity: 1; color: #9A7440; }
.res3 .res3-next .inline-link:focus-visible { outline: 1px solid #9A7440; outline-offset: 3px; }
.res3 .res3-next .res3-cta { margin: clamp(28px, 2.4vw, 40px) 0 0; }
/* Residential Contact button — same specs as the paired View Press Coverage / View Notable Transactions buttons */
html body main section.block.res3 .res3-cta .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px, 1.6vw, 30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; box-sizing: border-box; line-height: 1 !important; font-size: clamp(12px, .78vw, 14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; }
@media (max-width: 1000px) { html body main section.block.res3 .res3-cta .btn-arrow { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width: 560px) { html body main section.block.res3 .res3-cta .btn-arrow { letter-spacing: .12em !important; line-height: 1.9 !important; } }
/* Meet Michele "Measured Guidance": outlined muted-gold Contact button (this button only) */
.page-bio .about2 .bio-cta { margin: 44px 0 0 !important; }
@media (max-width: 900px) { .page-bio .about2 .bio-cta { margin-top: 30px !important; } }
html body.page-bio main .about2 .bio-cta .bio-cta-btn { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px, 1.6vw, 30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; box-sizing: border-box; line-height: 1 !important; font-size: clamp(12px, .78vw, 14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; margin: 0 !important; border: 1px solid #9A7440 !important; color: #9A7440 !important; background: transparent !important; }
@media (max-width: 1000px) { html body.page-bio main .about2 .bio-cta .bio-cta-btn { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width: 560px) { html body.page-bio main .about2 .bio-cta .bio-cta-btn { letter-spacing: .12em !important; line-height: 1.9 !important; } }
html body.page-bio main .about2 .bio-cta .bio-cta-btn > span { color: inherit !important; }
html body.page-bio main .about2 .bio-cta .bio-cta-btn:hover { background: #9A7440 !important; border-color: #9A7440 !important; color: #FFFFFF !important; }
html body.page-bio main .about2 .bio-cta .bio-cta-btn:focus-visible { outline: 2px solid #9A7440; outline-offset: 3px; }
.page-bio .about2 .about2-text > p:has(+ .bio-cta) { margin-bottom: 0 !important; }
/* Inline paragraph links (internal) — charcoal like the text, muted-gold hover, no underline */
html body main p a.inline-link { color: inherit !important; text-decoration: none !important; transition: color .2s ease; }
html body main p a.inline-link:hover { opacity: 1 !important; color: #9A7440 !important; text-decoration: none !important; }
html body main p a.inline-link:focus-visible { outline: 1px solid #9A7440; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html body main p a.inline-link { transition: none; } }
/* Inline paragraph links: faint muted-gold underline on touch devices only (no hover available) */
@media (hover: none) and (pointer: coarse) { html body main p a.inline-link { text-decoration: underline !important; text-decoration-color: rgba(154, 116, 64, .45) !important; text-decoration-thickness: 1px !important; text-underline-offset: 3px; } }
/* Home/Meet Michele card button "View Residential Sales & Rentals": ease side padding on narrow laptop widths only */
@media (min-width: 1001px) and (max-width: 1060px) { html body:is(.page-bio, .home, .page-adv) main .redefine .df-item a.btn-arrow[href="/residential-transactions/"] { padding-left: 10px !important; padding-right: 10px !important; } }
/* Contact & Home Valuation forms: Privacy Policy link near submit */
.form .form-privacy { margin: 8px 0 0 35px; font-size: 11px; line-height: 1.5; }
.form .form-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.form .form-privacy a:hover { color: #9A7440; }
/* Homepage "Let's Talk Hamptons Real Estate" band (replaces the newsletter form): same photo, height and type; one Contact button */
html body main section.newsletter-band.nl-contact { display: flex; flex-direction: column; justify-content: center; }
html body main section.newsletter-band.nl-contact > .wrap > p.nl-sub { max-width: 34em; margin-left: auto; margin-right: auto; text-wrap: balance; }
html body main section.newsletter-band.nl-contact .nl-cta { margin: clamp(28px, 2.4vw, 40px) 0 0; }
html body main section.newsletter-band.nl-contact .nl-cta .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px, 1.6vw, 30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; line-height: 1 !important; font-size: clamp(12px, .78vw, 14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; }
@media (max-width: 1000px) { html body main section.newsletter-band.nl-contact .nl-cta .btn-arrow { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width: 560px) { html body main section.newsletter-band.nl-contact .nl-cta .btn-arrow { letter-spacing: .12em !important; line-height: 1.9 !important; } }
/* Closing contact invitations — In the Press and Testimonials (approved Oct 17) */
html body main section.close-cta { background: #F8F6F2; padding: 0 0 clamp(44px,3.6vw,68px) !important; text-align: center; }
@media (min-width: 761px) { html body main section.close-cta:not(.ruled) { margin-top: calc(-1 * clamp(16px, 1.5vw, 28px)); } }
html body main section.close-cta .wrap { max-width: 1100px; width: calc(100% - 48px); margin: 0 auto; padding-left: 0; padding-right: 0; }
html body main section.close-cta.ruled .wrap { border-top: 1px solid #d9d4cc; border-bottom: 1px solid #d9d4cc; padding-top: clamp(26px,2vw,36px); padding-bottom: clamp(26px,2vw,36px); }
html body main section.close-cta p.kicker { margin: 0 0 clamp(14px,1.2vw,20px) !important; text-wrap: balance; }
html body main section.close-cta .cc-text { font-family: var(--display); color: #1C2224; font-size: clamp(22px,1.9vw,34px); line-height: 1.35; max-width: 32em; margin: 0 auto; text-wrap: balance; }
html body main section.close-cta h2.cc-h { font-family: var(--display); font-weight: 400; color: #1C2224; font-size: clamp(27px,2.13vw,38px); line-height: 1.25; margin: 0 auto; max-width: 28em; text-wrap: balance; }
html body main section.close-cta .cc-btn { margin: clamp(28px,2.4vw,40px) 0 0; }
html body main section.close-cta .cc-btn .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px,1.6vw,30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; line-height: 1 !important; font-size: clamp(12px,.78vw,14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; }
@media (max-width:1000px){ html body main section.close-cta .cc-btn .btn-arrow { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width:560px){ html body main section.close-cta .cc-btn .btn-arrow { letter-spacing: .12em !important; line-height: 1.9 !important; } }
/* "Let's Talk" band refinements: ~28% shorter on desktop, natural height on mobile, sans charcoal body text */
html body main section.newsletter-band.nl-contact { padding-block: clamp(84px, 8.4vw, 150px) !important; }
@media (max-width: 760px) { html body main section.newsletter-band.nl-contact { padding-block: 72px 96px !important; } }
html body main section.newsletter-band.nl-contact > .wrap > p.nl-sub { font-family: var(--body) !important; font-style: normal !important; color: #3a3a3a !important; font-size: clamp(15px, 1.06vw, 19px) !important; line-height: 1.65 !important; letter-spacing: .29px; max-width: 34em; margin-top: 0; }
/* Closing-section eyebrows match the site's standard interior eyebrow size (e.g. "MEDIA RECOGNITION") */
html body main section.close-cta p.kicker { font-size: clamp(12px, .94vw, 15px) !important; }
@media (min-width: 1200px) { html body main section.close-cta p.kicker { font-size: 15px !important; } }

/* Oct 18: homepage only. Explore The Hamptons and In The Press supporting paragraphs match the About / Why Michele / Notable Transactions body text (size, charcoal-gray, weight, line height). Alignment, width and wording unchanged. */
html body.home main section.explore2 .section-head p:not(.kicker-sans),
html body.home main section.press2 .section-head p:not(.kicker-sans) { font-size: clamp(15px, 1.06vw, 20px) !important; line-height: 1.65 !important; color: #3a3a3a !important; font-weight: 400 !important; }

/* Oct 18: Residential Sales & Rentals closing: eyebrow + heading matching the In the Press / Testimonials closing sections. Paragraph, links, button and background unchanged. */
html body main section.block.res3 .res3-close-head { max-width: 1100px; margin: clamp(48px, 4vw, 72px) auto 0; text-align: center; }
html body main section.block.res3 .res3-close-head p.kicker { margin: 0 0 clamp(14px,1.2vw,20px) !important; text-wrap: balance; font-size: clamp(12px, .94vw, 15px) !important; }
@media (min-width: 1200px) { html body main section.block.res3 .res3-close-head p.kicker { font-size: 15px !important; } }
html body main section.block.res3 .res3-close-head h2.cc-h { font-family: var(--display); font-weight: 400; color: #1C2224; font-size: clamp(27px,2.13vw,38px); line-height: 1.25; margin: 0 auto; max-width: 28em; text-wrap: balance; }
html body main section.block.res3 .res3-close-head + .res3-next { margin-top: clamp(12px, 1.1vw, 21px); }

/* Oct 18: Buying and Selling closing sections only (.cta2-guide): heading, button and rhythm match the Testimonials closing; gold divider kept; sans paragraph narrowed. Home Valuation's cta2 is not affected. */
html body main section.cta2.cta2-guide { padding-block: clamp(52px, 4.4vw, 76px) !important; }
html body main section.cta2.cta2-guide h2 { font-family: var(--display); font-weight: 400; color: #1C2224; font-size: clamp(27px,2.13vw,38px) !important; line-height: 1.25; max-width: 28em; margin: 0 auto; text-wrap: balance; }
html body main section.cta2.cta2-guide h2::after { margin: clamp(16px,1.3vw,20px) auto clamp(20px,1.7vw,26px); }
html body main section.cta2.cta2-guide p { max-width: 875px; margin: 0 auto clamp(28px,2.4vw,40px); font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.65; color: #3a3a3a; }
@media (min-width: 1001px) { html body main section.cta2.cta2-guide p { line-height: 1.6; } }
html body main section.cta2.cta2-guide a.btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px,1.6vw,30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; line-height: 1 !important; font-size: clamp(12px,.78vw,14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; }
@media (max-width:1000px){ html body main section.cta2.cta2-guide a.btn-arrow { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width:560px){ html body main section.cta2.cta2-guide a.btn-arrow { letter-spacing: .12em !important; line-height: 1.9 !important; } }

/* Oct 18: homepage "Redefining" tagline: keep each phrase together so it wraps only between sentences. */
html body.home main section.redefine .subhead .sh-ph { white-space: nowrap; }

/* Oct 18: Explore the Hamptons closing CTA (.nb-cta): reuses the interior closing style (heading, button); supporting line matches the Buying/Selling closing paragraphs. */
html body main section.close-cta.nb-cta .cc-sub, html body main section.close-cta.nt-cta .cc-sub { max-width: 875px; margin: clamp(12px, 1.1vw, 16px) auto 0; font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.65; color: #3a3a3a; text-wrap: balance; }
@media (min-width: 1001px) { html body main section.close-cta.nb-cta .cc-sub, html body main section.close-cta.nt-cta .cc-sub { line-height: 1.6; } }

/* Oct 18: Contact form only: Privacy Policy link sits closer to the consent statement so they read as one consent area. */
.form[name="contact"] .form-privacy { margin-top: 2px; }

/* Oct 21 (approved CV-2, CV-3, CV-5): owner valuation prompt on town pages, testimonial + credential line on Buyers / Sellers / Home Valuation, homepage seller link. Scoped; nothing else changes. */
section.block.proof2 { padding-block: clamp(48px, 4.5vw, 84px); }
.proof2 .q-narrow { max-width: 980px; }
.proof2 .q-card.q2 { border: 1px solid #e2d6c4; background: transparent; box-shadow: none; }
.proof2 .q2 .q-role { color: #b08e62; }
.proof2 .cred-line { text-align: center; margin: clamp(22px, 2vw, 32px) auto 0; max-width: 980px; font-size: clamp(12.5px, .85vw, 15px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.8; color: #5b5650; }
.t3-why p.t3-owner { margin-top: clamp(18px, 1.6vw, 28px); font-family: var(--display); font-size: clamp(17px, 1.2vw, 22px); }
.newsletter-band > .wrap > p.nl-alt { margin: clamp(16px, 1.3vw, 22px) 0 0; font-size: clamp(15px, 1vw, 18px); color: #2b2724; text-shadow: none; }

/* Oct 22 (approved CV-4): Home Valuation "What You'll Receive" list. Scoped to the valuation intro only. */
.val-intro .val-recv-h { font-family: var(--display); font-weight: 400; font-size: clamp(24px, 1.8vw, 32px); margin: clamp(26px, 2.2vw, 38px) 0 clamp(12px, 1vw, 18px); }
.val-intro .val-recv { list-style: none; margin: 0 auto; padding: 0; max-width: 760px; text-align: left; display: grid; gap: 10px; }
.val-intro .val-recv li { position: relative; padding-left: 26px; font-size: clamp(15px, 1.02vw, 19px); line-height: 1.6; color: #3D3A37; }
.val-intro .val-recv li::before { content: ""; position: absolute; left: 0; top: .8em; width: 12px; height: 1px; background: #b08e62; }

/* P-1 (approved Oct 22): the card arrow above is decorative — `/ ""` gives it empty alt text so link names stay the town name; the first declaration is the fallback for older browsers */
/* P-2 (approved Oct 22): $5M post headings are now h2 (towns) and h3 (subsections), was h3/h4; identical look */
.post-body h2.ph-town { font-size: clamp(17px, 1.5vw, 22px); margin: 40px 0 12px; }
.post-body h3.ph-sub { font-family: var(--display); font-weight: 400; font-size: clamp(16px, 1.27vw, 19px); margin: 30px 0 10px; line-height: inherit; letter-spacing: inherit; text-wrap: inherit; }

/* Oct 22 (approved): town-page hero photo is a real <img> (indexable, with the approved description as alt)
   instead of a CSS background; the overlay and framing reproduce the previous background exactly. */
.town2-hero.has-hero-img { background-image: none !important; position: relative; isolation: isolate; }
.town2-hero.has-hero-img > .hero-img, .town2-hero.has-hero-img > picture > .hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.town2-hero.has-hero-img::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(rgba(0,0,0,.14), rgba(0,0,0,.2)); }
.town2-hero.has-hero-img[style*="parrish-art-museum-water-mill"]::before { background: linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 100%); }
.hero-img[src*="southampton-main-street"] { object-position: 50% 68%; }
.hero-img[src*="parrish-art-museum-water-mill"] { object-position: 50% 88%; }
.hero-img[src*="bridgehampton-hero"] { object-position: 50% 28%; }
.hero-img[src*="east-hampton-main-street-shopping"] { object-position: 50% 50%; }
.hero-img[src*="sagaponack-vineyard-sunset"] { object-position: 50% 100%; }
.hero-img[src*="wainscott-aerial-homes-farmland"] { object-position: 50% 38%; }
.hero-img[src*="sag-harbor-marina-yachts"] { object-position: 50% 100%; }
.hero-img[src*="amagansett-ocean-beach"] { object-position: 50% 55%; }
.hero-img[src*="montauk-point-lighthouse"] { object-position: 50% 18%; }

/* CV-1 (approved Oct 22): Buy & Sell dropdown uses the same behaviour as Transactions */
.main-nav .nav-dd-bs > a { cursor: pointer; }
/* Oct 25: Buy & Sell removed from the desktop menu; the six-item header tightening is no longer needed */


/* Oct 24: Private Real Estate Advisory + FAQ pages */
.adv-stats { padding-block: clamp(36px, 4vw, 60px); }
.adv-block h2.center, .tl-frame h2.center { margin: 8px auto clamp(24px, 3vw, 40px); max-width: 900px; }
.adv-cards { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); max-width: 1100px; }
.adv-cards li { background: #fff; border: 1px solid #e4ddd5; padding: clamp(22px, 2.4vw, 34px); }
.adv-block.alt .adv-cards li { background: #fbf9f6; }
.adv-cards h3 { font-size: clamp(19px, 1.4vw, 23px); margin: 0 0 10px; }
.adv-cards p { margin: 0; line-height: 1.7; }
.adv-lede { max-width: 820px; margin: 0 auto clamp(26px, 3vw, 40px); text-align: center; line-height: 1.75; }
.adv-deals { display: grid; gap: clamp(18px, 2vw, 28px); max-width: 1000px; margin: 0 auto; }
.adv-deal { border-left: 3px solid #b8a48c; padding: 4px 0 4px clamp(18px, 2vw, 28px); }
.adv-deal h3 { margin: 0 0 4px; font-size: clamp(20px, 1.5vw, 25px); }
.adv-deal .deal-amt { margin: 0 0 10px; letter-spacing: .06em; text-transform: uppercase; font-size: 13px; color: #6d625a; }
.adv-more { margin-top: clamp(24px, 3vw, 36px); }
.draft-slot { border: 2px dashed #b8860b; background: #fff8e1; color: #4a3b00; padding: 16px 18px; margin: 14px 0; font-size: 15px; line-height: 1.55; text-align: left; }
.draft-slot p { margin: 0 0 6px; } .draft-slot .ds-label { font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.faq-narrow { max-width: 900px; }
.faq-group { margin-bottom: clamp(30px, 3.5vw, 48px); }
.faq-group h2 { font-size: clamp(24px, 2vw, 32px); margin: 0 0 14px; }
.faq-item { border-bottom: 1px solid #ddd5cc; }
.faq-item summary { cursor: pointer; list-style: none; padding: 18px 40px 18px 0; position: relative; font-size: clamp(17px, 1.2vw, 20px); line-height: 1.45; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 6px; top: 14px; font-size: 24px; font-weight: 300; }
.faq-item[open] summary::after { content: "\2212"; }
.faq-item summary:focus-visible { outline: 2px solid #1c1c1c; outline-offset: 3px; }
.faq-a p { margin: 0 0 18px; line-height: 1.75; max-width: 780px; }
.faq-a a, .faq-note a, .cc-sub a { text-decoration: underline; text-underline-offset: 3px; }
.faq-note { font-size: 14px; color: #6d625a; margin-top: 10px; }
@media (max-width: 700px) { .adv-cards { grid-template-columns: 1fr; } }
.adv-intro .intro-text p + p { margin-top: 1em; }
.ver-tag { display: inline-block; margin: -6px 0 16px; padding: 3px 10px; border: 1px dashed #b8860b; background: #fff8e1; color: #4a3b00; font-size: 12px; letter-spacing: .04em; }
.adv-career { list-style: none; margin: 0 auto; padding: 0; max-width: 1000px; display: grid; gap: clamp(14px, 1.6vw, 22px); }
.adv-career li { display: grid; grid-template-columns: 130px 1fr; column-gap: 24px; border-top: 1px solid #ddd5cc; padding-top: 16px; }
.adv-career .ac-years { grid-row: span 2; letter-spacing: .08em; font-size: 13px; text-transform: uppercase; color: #6d625a; padding-top: 4px; }
.adv-career h3 { margin: 0 0 4px; font-size: clamp(19px, 1.4vw, 23px); }
.adv-career p { margin: 0; line-height: 1.7; }
.adv-cred { text-align: center; margin-top: clamp(24px, 3vw, 36px); letter-spacing: .04em; color: #4f463f; }
@media (max-width: 600px) { .adv-career li { grid-template-columns: 1fr; } .adv-career .ac-years { grid-row: auto; } }
/* Oct 25: About-page card styling reused on the Private Advisory page (placeholder block) */
.page-adv .redefine { background: #f8f6f2; }
.page-adv .redefine .stat2 p br { display: none; }
.page-adv .redefine .btn-arrow { border: 1px solid var(--ink) !important; color: #2a2a2a; background: transparent; }
.page-adv .redefine .btn-arrow span { color: inherit !important; }
.page-adv .redefine .btn-arrow:hover { background: #2a2a2a; color: #fff; border-color: #2a2a2a; }
.adv-cards.adv-cards3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .adv-cards.adv-cards3 { grid-template-columns: 1fr; } }
.adv-block .adv-lede:only-of-type { margin-top: 14px; margin-bottom: 0; }

/* ===== Private Real Estate Advisory page (approved Oct 25) ===== */

/* Private Real Estate Advisory, institutional v2 structure in the site's fonts and colors */
body.page-adv3{background:#F8F6F2}
.adv3{--ink:#1E1E1E;--body:#4A4540;--muted:#6A6058;--gold:#7D6443;--goldline:#B8A48C;--line:#DDD5CB;background:#F8F6F2;color:var(--ink);font-family:Inter,Arial,sans-serif}
.adv3-wrap{max-width:1320px;margin:0 auto;padding-left:5.5%;padding-right:5.5%;box-sizing:border-box}
.adv3-kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--gold);margin:0}
.adv3-hero{padding-top:160px;padding-bottom:100px;text-align:left}
.adv3-hero h1{font-family:'Gilda Display',Georgia,serif;font-size:clamp(46px,5.6vw,84px);line-height:1.06;letter-spacing:-.01em;font-weight:400;max-width:1050px;margin:26px 0 28px;color:var(--ink)}
.adv3-lede{font-family:'Gilda Display',Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,27px);line-height:1.5;max-width:760px;color:#8A6E4A;margin:0}
.adv3-herobottom{margin-top:66px;border-top:1px solid var(--goldline);padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.adv3-bar{background:#1B2427;color:#fff;padding:34px 0}
.adv3-bar .adv3-wrap{display:flex;gap:24px;justify-content:space-between;align-items:center}
.adv3-bar p{font-family:'Gilda Display',Georgia,serif;font-size:clamp(17px,1.35vw,21px);line-height:1.55;max-width:820px;margin:0;color:#EDE9E2}
.adv3-bar span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:#D6A85E}
.adv3-section{padding-top:100px;padding-bottom:100px;border-bottom:1px solid var(--line)}
.adv3-noborder{border-bottom:0}
.adv3-grid{display:grid;grid-template-columns:32% 1fr;gap:10%}
.adv3 h2{font-family:'Gilda Display',Georgia,serif;font-size:clamp(32px,3.2vw,48px);font-weight:400;letter-spacing:-.005em;line-height:1.15;margin:18px 0 0;color:var(--ink)}
.adv3 h2::after{content:"";display:block;width:44px;border-top:1px solid var(--goldline);margin-top:26px}
.adv3-body{font-size:16.5px;line-height:1.9;max-width:720px;color:var(--body);font-weight:400}
.adv3-body p{margin:0 0 20px}.adv3-body p:last-child{margin-bottom:0}
.adv3-two{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:44px}
.adv3-two > div{border-top:1px solid var(--line);padding-top:22px}
.adv3-two h3{font-family:'Gilda Display',Georgia,serif;font-size:24px;letter-spacing:0;text-transform:none;font-weight:400;margin:0 0 10px;color:var(--ink)}
.adv3-two p{font-size:15px;line-height:1.8;margin:0;color:var(--body)}
.adv3-exp{background:#EFEBE4}
.adv3-links{margin-top:40px;border-top:1px solid #CFC5B8;display:block}
.adv3-links a{display:flex;justify-content:space-between;text-decoration:none;padding:19px 0;border-bottom:1px solid #CFC5B8;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.adv3-links a span:last-child{color:var(--gold);font-size:17px;letter-spacing:0}
.adv3-links a:hover span:first-child{color:var(--gold)}
.adv3-contact{padding-top:100px;padding-bottom:110px;text-align:center}
.adv3-contact h2{font-size:clamp(34px,3.4vw,50px);margin:20px 0 18px}
.adv3-contact h2::after{margin:26px auto 0}
.adv3-contact p{font-size:16.5px;color:var(--body);line-height:1.7;margin:0 auto;max-width:560px}
.adv3-direct{margin-top:10px !important;letter-spacing:.03em}
.adv3-direct a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--goldline)}
.adv3-btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;margin-top:30px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;padding:0 30px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.adv3-btn::after{content:"→";letter-spacing:0;color:var(--gold)}
.adv3-btn:hover{background:#1E1E1E;color:#fff}
@media(max-width:760px){.adv3-hero{padding-top:115px;padding-bottom:65px}.adv3-hero h1{font-size:48px}.adv3-herobottom{margin-top:52px}.adv3-bar .adv3-wrap{display:block}.adv3-bar span{display:block;margin-top:16px}.adv3-section{padding-top:68px;padding-bottom:68px}.adv3-grid{grid-template-columns:1fr;gap:26px}.adv3-two{grid-template-columns:1fr;gap:26px}.adv3-contact{padding-top:65px;padding-bottom:70px}}
.adv3-hero{padding-top:90px !important;padding-bottom:90px}
.adv3-timeline{list-style:none;margin:0;padding:0;border-top:1px solid #CFC5B8}
.adv3-timeline li{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:22px 0;border-bottom:1px solid #CFC5B8}
.adv3-yr{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding-top:5px}
.adv3-timeline h3{font-family:'Gilda Display',Georgia,serif;font-size:23px;font-weight:400;margin:0 0 4px;color:var(--ink)}
.adv3-timeline p{margin:0;font-size:15px;line-height:1.7;color:var(--body)}
.adv3-edu{margin-top:44px}
.adv3-edu-line{font-family:'Gilda Display',Georgia,serif;font-size:23px;margin:12px 0 4px;color:var(--ink)}
.adv3-edu-sub{margin:0;font-size:15px;color:var(--body)}
.adv3-noborder + .adv3-contact{border-top:1px solid var(--line)}
@media(max-width:760px){.adv3-hero{padding-top:60px !important;padding-bottom:60px}.adv3-timeline li{grid-template-columns:1fr;gap:6px}}
.adv3-top{padding-top:80px;padding-bottom:70px}
.adv3-top h1{font-family:'Gilda Display',Georgia,serif;font-size:clamp(44px,5.4vw,78px);line-height:1.06;letter-spacing:-.01em;font-weight:400;margin:24px 0 26px;color:var(--ink)}
.adv3-top .adv3-lede{max-width:880px;margin-top:22px}
.adv3-metrics{margin:62px 0 0;padding:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.adv3-metric{padding:28px 22px 28px 0}
.adv3-metric:not(:last-child){border-right:1px solid var(--line);margin-right:22px}
.adv3-metric dt{font-family:'Gilda Display',Georgia,serif;font-size:clamp(30px,3.2vw,46px);line-height:1.1;color:var(--ink);white-space:nowrap}
.adv3-metric dd{margin:10px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted);letter-spacing:.02em}
.adv3-disclaimer{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}
.adv3-exp .adv3-timeline{margin-top:40px}
@media(max-width:800px){.adv3-top{padding-top:56px}.adv3-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.adv3-metric{border-right:0 !important;margin-right:0 !important;border-bottom:1px solid var(--line);padding-right:12px}.adv3-metric dt{white-space:normal}}

/* metrics restyled to match the site's dark credentials band */
.adv3-metrics{margin:56px 0 0 !important;padding:clamp(30px,2.6vw,46px) clamp(12px,1.6vw,28px) !important;background:#1B2427;border:0 !important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.adv3-metric{padding:6px clamp(12px,1.8vw,34px) !important;margin:0 !important;border:0 !important;text-align:center}
.adv3-metric + .adv3-metric{border-left:1px solid #C6A26B !important}
.adv3-metric dt{font-family:'Gilda Display',Georgia,serif;color:#fff;font-size:clamp(30px,2.6vw,48px);line-height:1.1;white-space:nowrap}
.adv3-metric dd{margin:0;color:#E6E4E0;font-size:clamp(13px,.95vw,15px);line-height:1.6}
.adv3-metric dd.lbl{color:#D6A85E;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(11px,.85vw,14px);margin:14px 0 14px;font-weight:500}
@media(max-width:1000px){.adv3-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.adv3-metric:nth-child(3){border-left:0 !important}.adv3-metric:nth-child(n+3){border-top:1px solid rgba(198,162,107,.6) !important;margin-top:24px !important;padding-top:24px !important}.adv3-metric dt{white-space:normal}}
@media(max-width:560px){.adv3-metrics{grid-template-columns:1fr}.adv3-metric + .adv3-metric{border-left:0 !important;border-top:1px solid rgba(198,162,107,.6) !important;margin-top:24px !important;padding-top:24px !important}}

/* tighter rhythm (Oct 25) */
.adv3-band{padding-top:8px;padding-bottom:56px}
.adv3-band .adv3-metrics{margin-top:0 !important}
.adv3-section{padding-top:64px !important;padding-bottom:64px !important}
.adv3-exp .adv3-section{padding-top:64px !important;padding-bottom:64px !important}
.adv3-contact{padding-top:64px !important;padding-bottom:76px !important}
.adv3 h2::after{margin-top:20px}
.adv3-two{margin-top:32px}
.adv3-exp .adv3-timeline{margin-top:30px}
.adv3-links{margin-top:30px}
@media(max-width:760px){.adv3-section,.adv3-exp .adv3-section{padding-top:48px !important;padding-bottom:48px !important}.adv3-band{padding-bottom:40px}}

/* final refinements (Oct 25) */
.adv3-metric dt{font-size:clamp(26px,2.1vw,38px) !important}
.adv3-metrics{padding:clamp(24px,2vw,34px) clamp(10px,1.4vw,24px) !important}
.adv3-metric dd.lbl{margin:10px 0 10px !important}
.adv3 .adv3-grid h2{margin-top:0}
body.page-adv3 .float-contact{display:none}
.proc-intro .callout{margin-bottom:0}

/* repositioned as a private-client offering (Oct 25) */
.adv3-two{grid-template-columns:1fr 1fr;row-gap:30px}
.adv3-two h3{font-size:22px !important}
.adv3-bandwrap{margin-top:40px}
.adv3-bandwrap .adv3-metrics{margin-top:0 !important}
.adv3-exp .adv3-links{margin-top:34px}


.faq-a .faq-list { margin: -6px 0 18px; padding-left: 20px; max-width: 780px; }
.faq-a .faq-list li { margin: 0 0 8px; line-height: 1.7; }
.faq-a .faq-list strong { font-weight: 500; }

/* Oct 25 (preview): floating Contact button hidden on the Contact page only */
body.page-contact .float-contact { display: none !important; }
/* Oct 25 (preview): footer typography, desktop only (mobile unchanged) */
@media (min-width: 1181px) {
  .site-footer ul:not(.foot-contact2) a { font-size: clamp(14.7px, 1.1vw, 18px) !important; }
  .site-footer ul.foot-contact2 a { font-size: clamp(15px, 1vw, 17px) !important; }
}

/* Private Advisory: formatting aligned with site main pages (preview, Oct 25) */
.page-adv .adv-sec + .adv-sec { padding-top: 0; }
.page-adv .adv-sec .proc-head { max-width: 980px; margin-bottom: 0; }
.page-adv .adv-sec .proc-head p + p { margin-top: 1em; }
.page-adv .adv-svc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(30px, 3vw, 56px) clamp(28px, 3vw, 56px); max-width: 1340px; margin: clamp(36px, 3vw, 56px) auto 0; text-align: center; }
.page-adv .adv-svc h3 { font-size: clamp(22px, 1.6vw, 30px); margin: 0 0 10px; }
.page-adv .adv-svc p { font-size: clamp(15px, 1.02vw, 19.5px); line-height: 1.75; margin: 0; }
.page-adv .redefine .proc-head { max-width: 980px; }
.page-adv .adv-links { justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: clamp(40px, 3.4vw, 60px); }
.page-adv .adv-direct { margin: 0 0 1.4em; }
@media (min-width: 1001px) {
  html body.page-adv main .redefine .stats2.stats4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 1000px) {
  .page-adv .adv-svc { grid-template-columns: 1fr; max-width: 640px; }
  .page-adv .adv-links .btn { width: 100%; max-width: 360px; justify-content: center; }
}
html body.page-adv main .redefine .stats4 .lbl { white-space: normal !important; max-width: 16em; margin-left: auto; margin-right: auto; }
@media (min-width: 1001px) { html body.page-adv main .redefine .stats4 .fig { font-size: clamp(30px, 2.5vw, 48px) !important; } }
.page-adv .adv-bg { padding-top: clamp(20px, 2vw, 40px); }
@media (min-width: 1001px) {
  html body.page-adv main .redefine .stats4 .stat2 + .stat2 { border-left: 0 !important; }
  html body.page-adv main .redefine .stats4 .stat2 + .stat2::before { content: "" !important; position: absolute; top: 0; bottom: 0; left: -14.5px; width: 1px; background: #C6A26B !important; }
}

/* Advisory Services: editorial cards (preview, Oct 25) */
.page-adv .adv-svc { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(18px, 1.6vw, 28px) !important; max-width: 1240px; text-align: left; align-items: stretch; }
.page-adv .adv-svc-item { background: #fbfaf7; border: 1px solid rgba(125, 110, 98, .28); padding: clamp(26px, 2.2vw, 40px) clamp(24px, 2vw, 36px); display: flex; flex-direction: column; }
.page-adv .adv-num { display: block; font-family: var(--body); font-size: 12px; font-weight: 500; letter-spacing: .22em; color: #b08e62; margin-bottom: clamp(14px, 1.2vw, 20px); }
.page-adv .adv-svc-item h3 { font-size: clamp(21px, 1.45vw, 27px); line-height: 1.25; margin: 0 0 12px; }
.page-adv .adv-svc-item p { font-size: clamp(15px, 1vw, 17.5px); line-height: 1.7; color: var(--ink-2); }
@media (min-width: 641px) and (max-width: 1000px) { .page-adv .adv-svc { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: none; } }
@media (max-width: 640px) { .page-adv .adv-svc { grid-template-columns: 1fr !important; max-width: none; } }
.page-adv .adv-svc { grid-auto-rows: 1fr; }
@media (max-width: 640px) { .page-adv .adv-svc { grid-auto-rows: auto; } }
/* Related-page links: same outlined button spec as Meet Michele (.df-item .btn-arrow) */
html body.page-adv main .adv-links .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 30px !important; display: inline-flex !important; align-items: center !important; justify-content: center; box-sizing: border-box; line-height: 1 !important; white-space: nowrap !important; font-size: 12px !important; letter-spacing: .16em !important; }
@media (min-width: 1200px) { html body.page-adv main .adv-links .btn-arrow { font-size: clamp(12px, .78vw, 14px) !important; } }
@media (max-width: 760px) { html body.page-adv main .adv-links { flex-direction: column; align-items: center; } html body.page-adv main .adv-links .btn-arrow { width: 100% !important; max-width: 360px; padding: 0 26px !important; } }
@media (min-width: 761px) { html body.page-adv main .adv-links .btn-arrow { padding: 0 clamp(14px, 1.6vw, 30px) !important; } }
@media (min-width: 1001px) and (max-width: 1400px) { html body.page-adv main .adv-links .btn-arrow { letter-spacing: .13em !important; } }
@media (max-width: 760px) { html body.page-adv main .adv-links .btn-arrow { letter-spacing: .12em !important; } }

/* Closing CTA (preview, Oct 25) */
.page-adv .adv-cta { padding-top: clamp(48px, 4vw, 72px) !important; padding-bottom: clamp(56px, 4.6vw, 84px) !important; }
.page-adv .adv-cta .kicker { margin: 0 0 12px; }
.page-adv .adv-cta h2 { font-size: clamp(32px, 2.9vw, 56px); margin: 0; }
.page-adv .adv-cta h2::after { content: ""; display: block; width: 90px; height: 1.5px; background: #b08e62; margin: 18px auto 22px; }
.page-adv .adv-cta p:not(.kicker) { max-width: 760px; margin: 0 auto 30px; }
html body.page-adv main .adv-cta .wrap { display: block !important; text-align: center !important; }
html body.page-adv main .adv-cta .kicker { display: block !important; width: 100%; text-align: center !important; color: #b08e62; font-size: clamp(12px, .9vw, 15px); letter-spacing: .32em; margin: 0 0 14px !important; }
html body.page-adv main .adv-cta h2 { font-size: clamp(32px, 2.9vw, 52px) !important; }
html body.page-adv main .adv-bg { padding-bottom: clamp(48px, 4vw, 72px) !important; }
html body.page-adv main .adv-cta .kicker { margin: 0 auto 14px !important; }

/* Advisory intro (preview, Oct 25) */
.page-adv .adv-intro .intro-text > p { max-width: 820px; margin-left: auto; margin-right: auto; }
html body.page-adv main section.adv-intro .intro-text > p { max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; }
html body.page-adv main section.adv-bg.adv3-exp { background: #EFEBE4 !important; }
html body.page-adv main .adv3.adv3-restored { background: transparent !important; }

/* Private Advisory: section spacing reduced ~22% (preview, Oct 25) */
html body.page-adv main section.adv-intro { padding-bottom: clamp(30px, 2.34vw, 42px) !important; }
html body.page-adv main section.adv-sec { padding-bottom: clamp(44px, 5.07vw, 82px) !important; }
html body.page-adv main section.adv-sec:first-of-type, html body.page-adv main section.adv-intro + section.adv-sec { padding-top: clamp(44px, 5.07vw, 82px) !important; }
html body.page-adv main section.adv-bg { padding-bottom: clamp(37px, 3.1vw, 56px) !important; }

/* Footer navigation links (Explore the Hamptons / Discover Luxury Living): ~6.5% smaller, site-wide */
html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(13.75px, 1.03vw, 19.6px) !important; }
@media (min-width: 1181px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(13.75px, 1.03vw, 16.8px) !important; } }
@media (max-width: 700px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: 13.1px !important; } }

/* FAQ page: editorial refinement (preview, Oct 25) */
html body.page-faq main section.faq-intro .intro-text > p { max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; }
html body.page-faq main section.faq-intro { padding-bottom: clamp(30px, 2.34vw, 42px) !important; }
html body.page-faq main section.faq-wrap { padding-top: clamp(28px, 2.6vw, 48px) !important; padding-bottom: clamp(36px, 3vw, 56px) !important; }
html body.page-faq .faq-narrow { max-width: 980px; }
html body.page-faq .faq-group { margin: 0 0 clamp(40px, 3.6vw, 60px); }
html body.page-faq .faq-group:last-of-type { margin-bottom: clamp(24px, 2vw, 36px); }
html body.page-faq .faq-group h2 { font-size: clamp(27px, 2.25vw, 38px); line-height: 1.2; margin: 0 0 clamp(10px, .9vw, 16px); }
html body.page-faq .faq-item summary { font-size: clamp(17.5px, 1.3vw, 21px); line-height: 1.45; padding: clamp(20px, 1.6vw, 26px) 48px clamp(20px, 1.6vw, 26px) 0; min-height: 48px; box-sizing: border-box; }
html body.page-faq .faq-item summary::after { right: 4px; top: 50%; transform: translateY(-50%); line-height: 1; font-size: 26px; color: #6d625a; }
html body.page-faq .faq-item summary:hover { color: #7d6e62; }
html body.page-faq .faq-a { padding: 0 48px clamp(10px, 1vw, 18px) 0; }
html body.page-faq .faq-a p { font-size: clamp(15.5px, 1.08vw, 18px); line-height: 1.85; max-width: 860px; margin: 0 0 1.1em; color: #2e2e2e; }
html body.page-faq .faq-a .faq-list { max-width: 860px; margin: -.2em 0 1.2em; }
html body.page-faq .faq-a .faq-list li { font-size: clamp(15.5px, 1.08vw, 18px); line-height: 1.75; }
html body.page-faq .ver-tag { margin: 0 0 clamp(18px, 1.4vw, 24px); }
html body.page-faq .faq-note { font-size: clamp(13px, .9vw, 15px); line-height: 1.6; margin-top: 0; }
@media (max-width: 760px) {
  html body.page-faq .faq-item summary { font-size: 17px; padding: 18px 40px 18px 0; }
  html body.page-faq .faq-item summary::after { right: 2px; font-size: 24px; }
  html body.page-faq .faq-a { padding-right: 0; }
  html body.page-faq .faq-a p, html body.page-faq .faq-a .faq-list li { font-size: 16px; line-height: 1.8; }
  html body.page-faq .faq-group h2 { font-size: 26px; }
}
html body.page-faq .faq-narrow > .draft-slot { margin: 0 0 clamp(36px, 3vw, 52px); }
html body.page-faq .ver-tag + .ver-tag { margin-left: 8px; }
/* FAQ: floating Contact button would sit over the accordion column below ~1240px; hide it there (FAQ page only) */
@media (max-width: 1240px) { html body.page-faq .float-contact { display: none !important; } }
/* FAQ answers: inline links without permanent underline; muted-gold underline on hover; visible keyboard focus */
html body.page-faq .faq-a a { color: inherit !important; text-decoration: none !important; transition: color .2s ease, text-decoration-color .2s ease; }
html body.page-faq .faq-a a:hover { color: #8c6d45 !important; text-decoration: underline !important; text-decoration-color: #b08e62 !important; text-decoration-thickness: 1px !important; text-underline-offset: 4px !important; }
html body.page-faq .faq-a a:focus-visible { outline: 2px solid #1c1c1c; outline-offset: 3px; border-radius: 1px; text-decoration: underline !important; text-decoration-color: #b08e62 !important; text-underline-offset: 4px !important; }
html body.page-faq .faq-note { margin: clamp(22px, 1.8vw, 30px) 0 clamp(30px, 2.6vw, 48px); }
html body.page-faq main section.close-cta { padding-top: clamp(32px, 3.1vw, 45px) !important; }

/* Private Advisory stats panel: larger figures (preview, Oct 25) */

html body.page-adv main .adv3-metric dt { margin-left: calc(-1 * clamp(12px, 1.8vw, 34px)) !important; margin-right: calc(-1 * clamp(12px, 1.8vw, 34px)) !important; }
@media (min-width: 1280px) { html body.page-adv main .adv3-metric dt { font-size: 44px !important; } }
@media (min-width: 1001px) and (max-width: 1279px) { html body.page-adv main .adv3-metric dt { font-size: clamp(34px, 3.4vw, 42px) !important; } }
@media (min-width: 561px) and (max-width: 1000px) { html body.page-adv main .adv3-metric dt { font-size: 40px !important; } }
@media (max-width: 560px) { html body.page-adv main .adv3-metric dt { font-size: 38px !important; } }


/* Private Real Estate Advisory: institutional two-column editorial layout (preview, Oct 25) */
html body.page-adv main .advx-sec { background: transparent; padding: 0; }
html body.page-adv main .advx-sec .advx-grid { display: grid; grid-template-columns: 32% 1fr; column-gap: 10%; border-top: 1px solid #ddd3c7; padding: clamp(46px, 4.2vw, 70px) 0; }
html body.page-adv main .advx-left { align-self: start; }
html body.page-adv main .advx-label { font-family: var(--body); font-size: clamp(11.5px, .8vw, 13px); font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #a8875c; margin: 0 0 clamp(12px, 1vw, 16px); }
html body.page-adv main .advx-left h2 { font-family: var(--display); font-weight: 400; color: #1C2224; font-size: clamp(28px, 2.35vw, 40px); line-height: 1.18; margin: 0; }
html body.page-adv main .advx-right { position: relative; min-width: 0; }
html body.page-adv main .advx-right::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: -8.62%; width: 1px; background: #ddd3c7; }
html body.page-adv main .advx-right > p { font-size: clamp(15.5px, 1.08vw, 18px); line-height: 1.8; color: #2e2e2e; margin: 0 0 1.05em; }
html body.page-adv main .advx-right > p:last-child { margin-bottom: 0; }
html body.page-adv main .advx-svc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.2vw, 20px); margin-top: clamp(26px, 2.2vw, 36px); }
html body.page-adv main .advx-svc-item { background: #fbfaf7; border: 1px solid rgba(125, 110, 98, .28); padding: clamp(20px, 1.6vw, 26px) clamp(20px, 1.7vw, 28px); }
html body.page-adv main .advx-svc-item h3 { font-family: var(--display); font-weight: 400; color: #1C2224; font-size: clamp(19px, 1.35vw, 23px); line-height: 1.25; margin: 0 0 8px; }
html body.page-adv main .advx-svc-item p { font-size: clamp(14.5px, .98vw, 16px); line-height: 1.7; color: #3a3a3a; margin: 0; }
html body.page-adv main .advx-exp { margin: 0; border-bottom: 1px solid #ddd3c7; }
html body.page-adv main .advx-exp-row { display: grid; grid-template-columns: clamp(118px, 10vw, 160px) 1fr; column-gap: clamp(18px, 2vw, 32px); padding: clamp(16px, 1.3vw, 22px) 0; border-top: 1px solid #ddd3c7; }
html body.page-adv main .advx-exp-row:first-child { border-top: 0; padding-top: 4px; }
html body.page-adv main .advx-exp dt { font-size: clamp(13px, .9vw, 15px); letter-spacing: .06em; color: #7d6e62; padding-top: .35em; }
html body.page-adv main .advx-exp dd { margin: 0; }
html body.page-adv main .advx-firm { display: block; font-family: var(--display); font-size: clamp(20px, 1.45vw, 25px); line-height: 1.25; color: #1C2224; }
html body.page-adv main .advx-role { display: block; font-size: clamp(13.5px, .95vw, 15.5px); line-height: 1.6; color: #5b5550; margin-top: 3px; }
html body.page-adv main section.advx-band { padding-top: clamp(46px, 4.2vw, 70px) !important; }
@media (max-width: 760px) {
  html body.page-adv main .advx-sec .advx-grid { grid-template-columns: 1fr; row-gap: 20px; padding: 40px 0; }
  html body.page-adv main .advx-right::before { display: none; }
  html body.page-adv main .advx-left h2 { font-size: 30px; }
}
@media (max-width: 600px) { html body.page-adv main .advx-svc { grid-template-columns: 1fr; } }
@media (max-width: 420px) { html body.page-adv main .advx-exp-row { grid-template-columns: 1fr; row-gap: 4px; } html body.page-adv main .advx-exp dt { padding-top: 0; } }
html body.page-adv main .advx-sec { background: #F8F6F2 !important; }

/* Private Real Estate Advisory: two-column sections matched to original design reference (preview, Oct 26) */
html body.page-adv main .advx-right::before { display: none !important; content: none !important; }
html body.page-adv main .advx-label { font-size: clamp(12.5px, .95vw, 15px) !important; letter-spacing: .24em !important; color: #8f7150 !important; margin: 0 0 clamp(18px, 1.7vw, 28px) !important; }
html body.page-adv main .advx-left h2 { font-size: clamp(36px, 3.3vw, 54px) !important; line-height: 1.17 !important; letter-spacing: -.005em; }
html body.page-adv main .advx-left h2::after { content: ""; display: block; width: clamp(56px, 4.6vw, 74px); height: 1px; background: #c9c0b6; margin-top: clamp(26px, 2.3vw, 38px); }
html body.page-adv main .advx-right > p { font-size: clamp(16.5px, 1.3vw, 21px) !important; line-height: 1.95 !important; }
html body.page-adv main .advx-sec .advx-grid { padding: clamp(56px, 5.2vw, 88px) 0 !important; }
@media (max-width: 760px) {
  html body.page-adv main .advx-left h2 { font-size: 36px !important; }
  html body.page-adv main .advx-right > p { font-size: 17px !important; line-height: 1.85 !important; }
}

/* Private Real Estate Advisory: experience timeline + education under Section 05 narrative (preview, Oct 26) */
html body.page-adv main .advx-right > .advx-exp { margin-top: clamp(30px, 2.6vw, 44px); border-top: 1px solid #ddd3c7; }
html body.page-adv main .advx-right > .advx-exp .advx-exp-row:first-child { padding-top: clamp(16px, 1.3vw, 22px); }
html body.page-adv main .advx-edu { margin-top: clamp(26px, 2.2vw, 36px); }
html body.page-adv main .advx-edu p { margin: 0; }
html body.page-adv main .advx-edu-label { font-size: clamp(12px, .85vw, 13.5px); font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: #8f7150; margin-bottom: 10px !important; }

/* Private Real Estate Advisory: refined editorial typography & spacing (preview, Oct 26) */
html body.page-adv main .advx-sec .advx-grid { grid-template-columns: minmax(0, 32%) minmax(0, 1fr) !important; column-gap: clamp(56px, 6.5vw, 96px) !important; padding: clamp(56px, 6.1vw, 92px) 0 !important; align-items: start; }
html body.page-adv main .advx-label { font-size: 12.5px !important; letter-spacing: .22em !important; line-height: 1.4 !important; margin: 0 0 18px !important; }
html body.page-adv main .advx-left h2 { font-size: clamp(32px, 2.9vw, 44px) !important; line-height: 1.18 !important; }
html body.page-adv main .advx-left h2::after { width: 64px !important; margin-top: 28px !important; }
html body.page-adv main .advx-right > p { font-size: clamp(16px, 1.25vw, 18px) !important; line-height: 1.7 !important; margin: 0 0 24px !important; }
html body.page-adv main .advx-right > p:last-child { margin-bottom: 0 !important; }
html body.page-adv main .advx-svc { margin-top: 32px !important; gap: 16px !important; }
html body.page-adv main .advx-svc-item { padding: 22px 24px !important; }
html body.page-adv main .advx-svc-item h3 { font-size: clamp(18px, 1.3vw, 20px) !important; margin-bottom: 8px !important; }
html body.page-adv main .advx-svc-item p { font-size: clamp(14.5px, 1vw, 15.5px) !important; line-height: 1.65 !important; }
html body.page-adv main .advx-right > .advx-exp { margin-top: 36px !important; }
html body.page-adv main .advx-exp-row { grid-template-columns: 132px 1fr !important; column-gap: 24px !important; padding: 16px 0 !important; }
html body.page-adv main .advx-exp dt { font-size: 13.5px !important; padding-top: .3em !important; }
html body.page-adv main .advx-firm { font-size: clamp(18px, 1.3vw, 20px) !important; }
html body.page-adv main .advx-role { font-size: 14px !important; }
html body.page-adv main .advx-edu { margin-top: 28px !important; }
@media (max-width: 760px) {
  html body.page-adv main .advx-sec .advx-grid { grid-template-columns: 1fr !important; row-gap: 22px !important; padding: 48px 0 !important; }
  html body.page-adv main .advx-left h2 { font-size: 31px !important; }
  html body.page-adv main .advx-left h2::after { margin-top: 22px !important; }
  html body.page-adv main .advx-right > p { font-size: 17px !important; line-height: 1.7 !important; margin-bottom: 22px !important; }
  html body.page-adv main .advx-exp-row { grid-template-columns: 112px 1fr !important; column-gap: 16px !important; }
}
@media (max-width: 420px) { html body.page-adv main .advx-exp-row { grid-template-columns: 1fr !important; row-gap: 2px !important; } }
@media (min-width: 761px) { html body.page-adv main .advx-right > p { font-size: clamp(17px, 1.3vw, 18px) !important; } }

/* Private Real Estate Advisory: ivory surround for statistics band, tighter gap above it (preview, Oct 26) */
html body.page-adv main section.adv-bg.adv3-exp.advx-band { background: #F8F6F2 !important; padding-top: 0 !important; }
html body.page-adv main section.adv-bg.adv3-exp.advx-band { display: flow-root; }

/* Section 05: Education as a timeline row (preview, Oct 26) */
html body.page-adv main .advx-right > .advx-exp { border-bottom: 0 !important; }
html body.page-adv main .advx-exp-edu dt { text-transform: uppercase; letter-spacing: .14em !important; }

/* Private Real Estate Advisory: section paragraphs match intro paragraph; headings just above CTA heading (preview, Oct 26) */
html body.page-adv main .advx-right > p,
html body.page-adv main .advx-right > p:last-child { font-family: var(--body) !important; font-size: clamp(15px, 1.02vw, 19px) !important; font-weight: 400 !important; line-height: 1.75 !important; letter-spacing: .03em !important; color: #1c1c1c !important; }
html body.page-adv main .advx-right > p { margin: 0 0 1.4em !important; }
html body.page-adv main .advx-right > p:last-child { margin-bottom: 0 !important; }
html body.page-adv main .advx-left h2 { font-size: clamp(30px, 2.25vw, 42px) !important; line-height: 1.2 !important; }
@media (max-width: 760px) { html body.page-adv main .advx-left h2 { font-size: 29px !important; } html body.page-adv main .advx-right > p { margin-bottom: 1.4em !important; } }

/* Private Real Estate Advisory: tighter Education-to-statistics gap; darker ivory closing CTA (preview, Oct 26) */
html body.page-adv main section.advx-band .adv3-bandwrap { margin-top: 12px !important; }
html body.page-adv main section.adv-cta { background: #EEECE6 !important; }

/* Private Real Estate Advisory: statistics as a 2x2 grid of boxes + links, inside the right column (preview, Oct 26) */
html body.page-adv main .advx-statgrid { display: grid; grid-template-columns: minmax(0, 32%) minmax(0, 1fr); column-gap: clamp(56px, 6.5vw, 96px); padding: 0 0 clamp(56px, 6.1vw, 92px); align-items: start; }
html body.page-adv main .advx-statgrid .advx-right { min-width: 0; }
html body.page-adv main .advx-statgrid .adv3-bandwrap { margin: 0 !important; }
html body.page-adv main dl.advx-stats { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 1fr; gap: 16px !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
html body.page-adv main dl.advx-stats .adv3-metric { background: #1B2427 !important; border: 0 !important; margin: 0 !important; padding: clamp(26px, 2.2vw, 36px) clamp(18px, 1.6vw, 28px) !important; text-align: center; display: flex; flex-direction: column; justify-content: center; position: static !important; }
html body.page-adv main dl.advx-stats .adv3-metric::before, html body.page-adv main dl.advx-stats .adv3-metric + .adv3-metric::before { content: none !important; display: none !important; }
html body.page-adv main dl.advx-stats .adv3-metric dt { margin: 0 !important; font-size: clamp(28px, 3vw, 44px) !important; white-space: nowrap !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { white-space: normal !important; max-width: none !important; }
html body.page-adv main .advx-statgrid .adv3-links { margin-top: 20px !important; }
@media (max-width: 760px) {
  html body.page-adv main .advx-statgrid { grid-template-columns: 1fr; padding-bottom: 48px; }
  html body.page-adv main .advx-statgrid .advx-left { display: none; }
}
@media (max-width: 600px) {
  html body.page-adv main dl.advx-stats { grid-template-columns: 1fr !important; grid-auto-rows: auto; }
  html body.page-adv main dl.advx-stats .adv3-metric dt { font-size: 38px !important; }
}

/* Private Real Estate Advisory: compact statistics boxes and tighter spacing (preview, Oct 26) */
html body.page-adv main .advx-statgrid { margin-top: calc(44px - clamp(56px, 6.1vw, 92px)) !important; }
html body.page-adv main dl.advx-stats { gap: 18px !important; }
html body.page-adv main dl.advx-stats .adv3-metric { padding: 16px clamp(16px, 1.4vw, 24px) !important; justify-content: center !important; }
html body.page-adv main dl.advx-stats .adv3-metric dt { font-size: clamp(26px, 2.5vw, 36px) !important; line-height: 1.1 !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { margin: 8px 0 8px !important; font-size: clamp(10.5px, .78vw, 12.5px) !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd:not(.lbl) { font-size: clamp(12.5px, .9vw, 14px) !important; line-height: 1.5 !important; }
html body.page-adv main .advx-statgrid .adv3-links { margin-top: 24px !important; }
@media (max-width: 760px) { html body.page-adv main .advx-statgrid { margin-top: -4px !important; } }
@media (max-width: 600px) { html body.page-adv main dl.advx-stats .adv3-metric dt { font-size: 32px !important; } }

/* advx11: links spacing */
html body.page-adv main .advx-statgrid .adv3-links { margin-top: 40px !important; }

/* advx12: balance dollar figures */
html body.page-adv main dl.advx-stats .adv3-metric:nth-child(2) dt,
html body.page-adv main dl.advx-stats .adv3-metric:nth-child(4) dt { font-size: clamp(22px, 2.08vw, 30px) !important; line-height: calc(clamp(26px, 2.5vw, 36px) * 1.1) !important; white-space: nowrap !important; }
@media (max-width: 600px) {
  html body.page-adv main dl.advx-stats .adv3-metric:nth-child(2) dt,
  html body.page-adv main dl.advx-stats .adv3-metric:nth-child(4) dt { font-size: 27px !important; line-height: 35.2px !important; }
}

/* advx13: equal 48px above and below statistics */
html body.page-adv main .advx-statgrid { margin-top: calc(32px - clamp(56px, 6.1vw, 92px)) !important; }
html body.page-adv main .advx-statgrid .adv3-links { margin-top: 48px !important; }
@media (max-width: 760px) { html body.page-adv main .advx-statgrid { margin-top: -16px !important; } }

/* advx14: optical balance, 48px visible above and below statistics */
html body.page-adv main .advx-statgrid { margin-top: calc(28px - clamp(56px, 6.1vw, 92px)) !important; }
@media (max-width: 760px) { html body.page-adv main .advx-statgrid { margin-top: -20px !important; } }

/* advx15: fixed internal grid for statistics boxes */
html body.page-adv main dl.advx-stats .adv3-metric {
  --sf: clamp(26px, 2.5vw, 36px); --lf: clamp(10.5px, .78vw, 12.5px); --df: clamp(12.5px, .9vw, 14px); --bh: clamp(154px, 11.25vw, 191px);
  display: grid !important; grid-template-rows: auto auto auto !important; align-content: start !important; justify-items: center !important;
  min-height: var(--bh) !important;
  padding-top: max(16px, calc((var(--bh) - (var(--sf) * 1.1 + 16px + var(--lf) * 3.2 + var(--df) * 3)) / 2)) !important;
  padding-bottom: 16px !important;
}
html body.page-adv main dl.advx-stats .adv3-metric dt { margin: 0 !important; height: calc(var(--sf) * 1.1) !important; line-height: calc(var(--sf) * 1.1) !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { line-height: 1.6 !important; min-height: 3.2em !important; margin: 8px 0 8px !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd:not(.lbl) { margin: 0 !important; }
@media (max-width: 600px) {
  html body.page-adv main dl.advx-stats .adv3-metric { --sf: 32px; min-height: 0 !important; padding-top: 16px !important; }
  html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { min-height: 0 !important; }
}
/* advx15b: share one baseline across all four figures */
html body.page-adv main dl.advx-stats .adv3-metric dt::before { content: "\200B"; font-size: var(--sf); line-height: calc(var(--sf) * 1.1); }
html body.page-adv main dl.advx-stats .adv3-metric:nth-child(2) dt, html body.page-adv main dl.advx-stats .adv3-metric:nth-child(4) dt { line-height: calc(var(--sf) * 1.1) !important; }

/* advx16: one-line label slot now that every label fits on one line */
html body.page-adv main dl.advx-stats .adv3-metric { padding-top: max(16px, calc((var(--bh) - (var(--sf) * 1.1 + 16px + var(--lf) * 1.6 + var(--df) * 3)) / 2)) !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { min-height: 1.6em !important; }
@media (min-width: 761px) and (max-width: 1040px) {
  html body.page-adv main dl.advx-stats .adv3-metric { padding-top: max(16px, calc((var(--bh) - (var(--sf) * 1.1 + 16px + var(--lf) * 3.2 + var(--df) * 3)) / 2)) !important; }
  html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { min-height: 3.2em !important; }
}
@media (max-width: 600px) { html body.page-adv main dl.advx-stats .adv3-metric { padding-top: 16px !important; } }

/* advx17: one statistic style for all four figures */
html body.page-adv main dl.advx-stats .adv3-metric:nth-child(n) dt { font-size: var(--sf) !important; line-height: calc(var(--sf) * 1.1) !important; font-weight: inherit; white-space: nowrap !important; }

/* Oct 26: town pages, Local Favorites heading/spacing + standardized closing CTA (replaces owner line and standalone button) */
html body.page-town3 main section.block.t3-why { padding-bottom: clamp(48px, 4.2vw, 80px) !important; }
html body.page-town3 main .t3-favs { padding-top: 0 !important; }
html body.page-town3 main .t3-favs h2 { font-size: clamp(22px, 1.8vw, 34px) !important; letter-spacing: .06em !important; margin: 0 0 clamp(22px, 2vw, 34px) !important; }
html body.page-town3 main section.close-cta.t3-close { margin-top: 0 !important; padding: clamp(48px, 4.2vw, 80px) 0 clamp(48px, 4.2vw, 80px) !important; }
html body.page-town3 main section.close-cta.t3-close .cc-btn { margin-top: clamp(26px, 2.2vw, 36px); }
html body.page-town3 main section.close-cta.t3-close .cc-btn .btn-arrow { height: auto !important; min-height: 52px !important; padding-block: 14px !important; line-height: 1.5 !important; max-width: 100%; text-align: center; }
html body.page-town3 main section.close-cta.t3-close p.cc-owner { margin: clamp(30px, 2.6vw, 42px) 0 0; font-family: var(--display); font-weight: 400; font-size: clamp(17px, 1.2vw, 22px); line-height: 1.4; color: #3D3A37; }
html body.page-town3 main section.close-cta.t3-close .cc-btn2 { margin-top: clamp(14px, 1.1vw, 18px); }
html body.page-town3 main section.block.t3-explore { margin-top: 0 !important; }
html body.page-town3 main section.close-cta.t3-close .cc-btn .btn-arrow { width: min(100%, 500px) !important; box-sizing: border-box; }
@media (max-width: 560px) { html body.page-town3 main section.close-cta.t3-close .cc-btn .btn-arrow { white-space: normal !important; padding-inline: 22px !important; gap: 12px; } }

/* Oct 26 (b): town closing CTA moved below "Choosing The Right Area"; compact spacing; body-font homeowner prompt; town cards ~15% shorter */
html body.page-town3 main .carousel-track a { aspect-ratio: 23 / 17 !important; }
html body.page-town3 main section.block.t3-explore { padding-bottom: clamp(48px, 4.2vw, 80px) !important; }
html body.page-town3 main section.close-cta.t3-close { border-top: 1px solid #ebe4d8; padding: clamp(44px, 3.6vw, 64px) 0 clamp(44px, 3.6vw, 64px) !important; }
html body.page-town3 main section.close-cta.t3-close .cc-btn { margin-top: clamp(24px, 2vw, 32px); }
html body.page-town3 main section.close-cta.t3-close p.cc-owner { margin: clamp(18px, 1.5vw, 24px) 0 0; font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.6; color: #3a3a3a; }
html body.page-town3 main section.close-cta.t3-close .cc-btn2 { margin-top: 10px; }
/* Oct 26 (c): town closing CTA, slightly less space between description and first button */
html body.page-town3 main section.close-cta.t3-close .cc-btn:not(.cc-btn2) { margin-top: clamp(18px, 1.5vw, 24px); }

/* Oct 26 (d): town closing CTA, two buttons side by side on desktop, stacked on smaller screens; homeowner prompt removed */
html body.page-town3 main section.close-cta.t3-close .cc-pair { display: flex; flex-wrap: nowrap; justify-content: center; align-items: stretch; gap: 16px; margin-top: clamp(18px, 1.5vw, 24px); }
html body.page-town3 main section.close-cta.t3-close .cc-pair .btn-arrow { width: auto !important; white-space: nowrap !important; margin: 0 !important; }
@media (max-width: 1000px) {
  html body.page-town3 main section.close-cta.t3-close .cc-pair { flex-direction: column; align-items: center; gap: 12px; }
  html body.page-town3 main section.close-cta.t3-close .cc-pair .btn-arrow { width: min(100%, 500px) !important; }
}
@media (max-width: 560px) { html body.page-town3 main section.close-cta.t3-close .cc-pair .btn-arrow { white-space: normal !important; } }
@media (max-width: 400px) { html body.page-town3 main section.close-cta.t3-close .cc-pair .btn-arrow { letter-spacing: .1em !important; padding-inline: 16px !important; } }

/* Oct 26: advisory statistics boxes restyled to the warm beige rendering (replaces charcoal) */
html body.page-adv main dl.advx-stats .adv3-metric { background: #EBE7DE !important; border: 1px solid #CDC2AF !important; min-height: 0 !important; padding-top: clamp(22px, 2.1vw, 30px) !important; padding-bottom: clamp(22px, 2.1vw, 30px) !important; --lf: clamp(11px, .9vw, 13px); --df: clamp(13px, 1vw, 14.5px); }
html body.page-adv main dl.advx-stats .adv3-metric dt { color: #1C1C1C !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { color: #A88A52 !important; font-size: var(--lf) !important; font-weight: 500 !important; letter-spacing: .12em !important; line-height: 1.3 !important; min-height: 1.3em !important; margin: 14px 0 18px !important; }
html body.page-adv main dl.advx-stats .adv3-metric dd:not(.lbl) { color: #2B2B2B !important; font-size: var(--df) !important; line-height: 1.65 !important; }
@media (min-width: 761px) and (max-width: 1040px) { html body.page-adv main dl.advx-stats .adv3-metric { padding-top: 22px !important; } html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { min-height: 2.6em !important; } }
@media (max-width: 600px) { html body.page-adv main dl.advx-stats .adv3-metric { padding-top: 24px !important; padding-bottom: 24px !important; } html body.page-adv main dl.advx-stats .adv3-metric dd.lbl { min-height: 0 !important; } }
/* Oct 26: advisory statistics figures enlarged to the rendering's proportions; box height held constant by trimming top/bottom padding by the same amount */
html body.page-adv main dl.advx-stats .adv3-metric { --sf: clamp(32px, 3.2vw, 46px); padding-top: calc(clamp(22px, 2.1vw, 30px) - (clamp(32px, 3.2vw, 46px) - clamp(26px, 2.5vw, 36px)) * .55) !important; padding-bottom: calc(clamp(22px, 2.1vw, 30px) - (clamp(32px, 3.2vw, 46px) - clamp(26px, 2.5vw, 36px)) * .55) !important; }
html body.page-adv main dl.advx-stats .adv3-metric:nth-child(n) dt { font-family: var(--display) !important; font-weight: 400 !important; letter-spacing: -.01em !important; color: #1C1C1C !important; }
@media (min-width: 761px) and (max-width: 1040px) { html body.page-adv main dl.advx-stats .adv3-metric { padding-top: calc(22px - (32px - 26px) * .55) !important; } }
@media (max-width: 600px) { html body.page-adv main dl.advx-stats .adv3-metric { --sf: 40px; padding-top: calc(24px - 8px * .55) !important; padding-bottom: calc(24px - 8px * .55) !important; } }
@media (min-width: 761px) and (max-width: 1040px) { html body.page-adv main dl.advx-stats .adv3-metric { --sf: clamp(26px, 3.2vw, 32px); padding-top: calc(22px - (var(--sf) - 26px) * .55) !important; padding-bottom: calc(22px - (var(--sf) - 26px) * .55) !important; } }

/* Oct 26: timeline dates and Education label in deeper warm gold */
html body.page-adv main .advx-exp dt { color: #8A6A45 !important; }

/* Oct 26: global footer, smaller gold headings (~22%), tighter heading-to-links gap (~34%), links ~6.5% smaller */
html body .site-footer .foot-nav h4 { font-size: clamp(14.5px, 1.2vw, 22px) !important; margin-bottom: clamp(12px, 1.25vw, 24px) !important; }
html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(12.85px, .96vw, 18.3px) !important; }
@media (min-width: 1181px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(12.85px, .96vw, 15.7px) !important; } }
@media (max-width: 700px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: 12.25px !important; } }
html body .site-footer .foot-nav h4 { margin-bottom: clamp(9px, 1.1vw, 21px) !important; }

/* Oct 26: footer, final refinements (padding -18%, tighter link rows, legal spacing -15%, middle dots instead of vertical bars, rows wrap naturally on phones) */
html body .site-footer .foot-top { padding-top: clamp(33px, 2.95vw, 59px) !important; padding-bottom: calc((clamp(14px, 1.1vw, 24px) + clamp(24px, 1.85vw, 36px)) * .82) !important; }
html body .site-footer .foot-nav ul.two-col-list { row-gap: clamp(2px, .2vw, 4px) !important; }
html body .site-footer .legal { padding-top: calc(clamp(16px, 1.3vw, 24px) * .85) !important; padding-bottom: calc(clamp(24px, 2.2vw, 40px) * .85) !important; }
html body .site-footer .legal .eho { margin-bottom: calc(clamp(7px, .58vw, 12px) * .85) !important; }
html body .site-footer .legal .wrap > p.links, html body .site-footer .legal .wrap > p.copy { margin-bottom: 5px !important; }
html body .site-footer .legal .links { display: block !important; }
html body .site-footer .legal .links a:not(:last-child)::after { content: "·" !important; display: inline !important; margin: 0 clamp(9px, .75vw, 13px) !important; color: rgba(255,255,255,.42) !important; }
html body .site-footer .legal .sep { display: inline !important; height: auto !important; overflow: visible !important; margin: 0 clamp(9px, .75vw, 13px) !important; color: rgba(255,255,255,.42) !important; }
@media (max-width: 700px) { html body .site-footer .legal .links, html body .site-footer .legal .copy { line-height: 2 !important; } }

/* Oct 26 (b): footer about 11-12% shorter; legal bottom padding about 9px less */
html body .site-footer .foot-top { padding-top: calc(clamp(33px, 2.95vw, 59px) - clamp(12px, 1.15vw, 22px)) !important; padding-bottom: calc((clamp(14px, 1.1vw, 24px) + clamp(24px, 1.85vw, 36px)) * .82 - clamp(12px, 1.15vw, 22px)) !important; }
html body .site-footer .legal { padding-bottom: max(12px, calc(clamp(24px, 2.2vw, 40px) * .85 - 9px)) !important; }

/* Oct 27: Buying/Selling FAQ text link below the process steps */
html body main section.proc2 p.proc-faq { text-align: center; max-width: 900px; margin: clamp(36px, 3vw, 52px) auto 0; font-size: clamp(15px, 1.02vw, 18px); line-height: 1.7; color: #3D3A37; }
html body main section.proc2 p.proc-faq { margin-top: 4px !important; }

/* Oct 27 (b): FAQ link in gold, less space before the photograph */
html body main section.proc2 p.proc-faq a.inline-link { color: #9A7440 !important; }
html body main section.proc2 p.proc-faq a.inline-link:hover { color: #7A5A30 !important; }
html body main section.block.proc2:has(p.proc-faq) { padding-bottom: calc(clamp(56px, 6.5vw, 96px) - 27px) !important; }
@media (max-width: 760px) { html body main section.block.proc2:has(p.proc-faq) { padding-bottom: 40px !important; } }

/* Oct 27 (c): FAQ prompt after Step 8 as divider + question + standard outlined button (replaces inline gold link) */
html body main section.block.proc2:has(.proc-faq2) { padding-bottom: 55px !important; }
html body main section.proc2 .proc-faq2 { text-align: center; margin-top: 44px; }
html body main section.proc2 .proc-faq2 .pf-rule { width: 60px; height: 1px; background: #b08e62; margin: 0 auto 28px; }
html body main section.proc2 .proc-faq2 p.pf-q { margin: 0; font-size: clamp(15px, 1.02vw, 18px); line-height: 1.6; color: #3D3A37; }
html body main section.proc2 .proc-faq2 p.pf-btn { margin: 22px 0 0; }
html body main section.proc2 .proc-faq2 .btn-arrow { height: 52px !important; min-height: 0 !important; padding: 0 clamp(14px,1.6vw,30px) !important; display: inline-flex !important; align-items: center !important; justify-content: center; line-height: 1 !important; font-size: clamp(12px,.78vw,14px) !important; letter-spacing: .16em !important; white-space: nowrap !important; }
@media (max-width: 1000px) { html body main section.proc2 .proc-faq2 .btn-arrow { padding: 0 26px !important; font-size: 12px !important; } }
@media (max-width: 760px) { html body main section.block.proc2:has(.proc-faq2) { padding-bottom: 50px !important; } html body main section.proc2 .proc-faq2 { margin-top: 40px; } }
@media (max-width: 420px) { html body main section.proc2 .proc-faq2 .btn-arrow { letter-spacing: .1em !important; padding: 0 18px !important; } }
html body main section.proc2 .proc-faq2 { margin-top: 0 !important; }
html body main section.proc2 .proc-faq2 p.pf-btn { margin-top: 19px !important; }
@media (max-width: 760px) { html body main section.proc2 .proc-faq2 { margin-top: 4px !important; } }
@media (max-width: 440px) { html body main section.proc2 .proc-faq2 .btn-arrow { box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; white-space: normal !important; height: auto !important; min-height: 52px !important; padding: 12px 18px !important; line-height: 1.5 !important; letter-spacing: .12em !important; } }
@media (max-width: 440px) { html body main section.proc2 .proc-faq2 .btn-arrow { white-space: nowrap !important; letter-spacing: .07em !important; padding: 0 14px !important; height: 52px !important; font-size: 11.5px !important; } }
@media (max-width: 340px) { html body main section.proc2 .proc-faq2 .btn-arrow { white-space: normal !important; height: auto !important; padding: 12px 14px !important; line-height: 1.5 !important; } }

/* Homepage-only rules (previously inline on the reviewed homepage preview) */
/* PREVIEW: Let's Talk band, two matching outlined buttons */
html body main section.newsletter-band.nl-contact .nl-ctas{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px clamp(18px,1.6vw,28px)}
html body main section.newsletter-band.nl-contact .nl-ctas .btn-arrow{margin:0 !important}
@media (max-width:560px){html body main section.newsletter-band.nl-contact .nl-ctas{flex-direction:column;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto}html body main section.newsletter-band.nl-contact .nl-ctas .btn-arrow{width:100% !important;box-sizing:border-box}}
/* floating Contact button: hidden while this section (with its own Contact button) is on screen */
.float-contact{transition:opacity .25s ease,visibility .25s ease}
.float-contact.is-hidden{opacity:0;visibility:hidden;pointer-events:none}

/* Oct 26: homepage Distinct Advantage, longer "Explore Private Real Estate Advisory" button */
@media (max-width: 1300px) { html body.home main .redefine .df-item .btn-arrow { letter-spacing: .12em !important; } }
html body.home main .redefine .df-item .btn-arrow[href="/private-real-estate-advisory/"] { white-space: normal !important; height: auto !important; min-height: 52px !important; padding-top: 10px !important; padding-bottom: 10px !important; line-height: 1.5 !important; text-align: center; max-width: 100% !important; box-sizing: border-box; }

/* Oct 26: global footer, smaller gold headings (~22%), tighter heading-to-links gap (~34%), links ~6.5% smaller */
html body .site-footer .foot-nav h4 { font-size: clamp(14.5px, 1.2vw, 22px) !important; margin-bottom: clamp(12px, 1.25vw, 24px) !important; }
html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(12.85px, .96vw, 18.3px) !important; }
@media (min-width: 1181px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: clamp(12.85px, .96vw, 15.7px) !important; } }
@media (max-width: 700px) { html body .site-footer .foot-nav ul.two-col-list li a { font-size: 12.25px !important; } }
html body .site-footer .foot-nav h4 { margin-bottom: clamp(9px, 1.1vw, 21px) !important; }

/* Oct 26: footer, final refinements (padding -18%, tighter link rows, legal spacing -15%, middle dots instead of vertical bars, rows wrap naturally on phones) */
html body .site-footer .foot-top { padding-top: clamp(33px, 2.95vw, 59px) !important; padding-bottom: calc((clamp(14px, 1.1vw, 24px) + clamp(24px, 1.85vw, 36px)) * .82) !important; }
html body .site-footer .foot-nav ul.two-col-list { row-gap: clamp(2px, .2vw, 4px) !important; }
html body .site-footer .legal { padding-top: calc(clamp(16px, 1.3vw, 24px) * .85) !important; padding-bottom: calc(clamp(24px, 2.2vw, 40px) * .85) !important; }
html body .site-footer .legal .eho { margin-bottom: calc(clamp(7px, .58vw, 12px) * .85) !important; }
html body .site-footer .legal .wrap > p.links, html body .site-footer .legal .wrap > p.copy { margin-bottom: 5px !important; }
html body .site-footer .legal .links { display: block !important; }
html body .site-footer .legal .links a:not(:last-child)::after { content: "·" !important; display: inline !important; margin: 0 clamp(9px, .75vw, 13px) !important; color: rgba(255,255,255,.42) !important; }
html body .site-footer .legal .sep { display: inline !important; height: auto !important; overflow: visible !important; margin: 0 clamp(9px, .75vw, 13px) !important; color: rgba(255,255,255,.42) !important; }
@media (max-width: 700px) { html body .site-footer .legal .links, html body .site-footer .legal .copy { line-height: 2 !important; } }

/* Oct 26 (b): footer about 11-12% shorter; legal bottom padding about 9px less */
html body .site-footer .foot-top { padding-top: calc(clamp(33px, 2.95vw, 59px) - clamp(12px, 1.15vw, 22px)) !important; padding-bottom: calc((clamp(14px, 1.1vw, 24px) + clamp(24px, 1.85vw, 36px)) * .82 - clamp(12px, 1.15vw, 22px)) !important; }
html body .site-footer .legal { padding-bottom: max(12px, calc(clamp(24px, 2.2vw, 40px) * .85 - 9px)) !important; }

/* iOS 26 Safari (Nov 1, 2026): on phones and tablets the photo frames in About/Why Michele/Notable Transactions
   collapsed to zero height because Safari ignored their aspect-ratio, so the photos never appeared.
   An explicit height gives the same 4:5 size as before (capped as before) without relying on aspect-ratio. */
@media (max-width: 900px) {
  .about2-photo { height: min(125vw, 620px); }
  .feature-photo { height: min(125vw, 640px); }
}

/* Image optimization (Oct 30, 2026): <picture> wrappers generate no box, so layout is unchanged; AVIF backgrounds
   apply only where image-set() with type() is supported (other browsers keep the JPEG) */
picture { display: contents; }
@supports (background-image: image-set(url("x.avif") type("image/avif"))) {
  [style*="--hero-img-set"] { --hero-img: var(--hero-img-set) !important; }
  [style*="--img-set"] { --img: var(--img-set) !important; }
  [style*="--panel-img-set"] { --panel-img: var(--panel-img-set) !important; }
  [style*="--nl-img-set"] { --nl-img: var(--nl-img-set) !important; }
}
