:root {
  --ink: #0a2247;
  --ink-deep: #07182f;
  --paper: #f7f3eb;
  --paper-2: #efe8dc;
  --white: #fffdf8;
  --clay: #b64f38;
  --clay-soft: #d98164;
  --gold: #c59a52;
  --sage: #647665;
  --line: rgba(10, 34, 71, .18);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.5; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }

.progress { position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; height: 3px; background: transparent; }
.progress span { display: block; width: 0; height: 100%; background: var(--clay); }
.site-header { position: absolute; z-index: 20; top: 0; left: 0; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 12px 30px; width: 100%; min-height: 398px; padding: 12px 4vw 16px; border-bottom: 1px solid rgba(10,34,71,.15); background: rgba(247,243,235,.96); }
.brand { grid-column: 1 / 3; grid-row: 1; display: flex; justify-content: center; min-width: 0; }
.brand-lockup { display: inline-flex; align-items: center; gap: 14px; }
.brand .brand-lockup, .footer-brand .brand-lockup { padding: 0; background: transparent; box-shadow: none; }
.brand .brand-lockup { width: min(794px, 100%); }
.brand img { object-fit: contain; object-position: center; }
.brand .team-logo { flex: 0 0 calc((100% - 14px) * .3718); width: calc((100% - 14px) * .3718); height: auto; }
.brand .remax-logo { flex: 0 0 calc((100% - 14px) * .6282); width: calc((100% - 14px) * .6282); height: auto; }
.desktop-nav { grid-column: 1; grid-row: 2; display: flex; justify-content: flex-start; gap: clamp(22px, 2.5vw, 46px); }
.desktop-nav a { position: relative; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.desktop-nav a::after { content: ''; position: absolute; right: 0; bottom: -10px; left: 0; height: 1px; background: var(--clay); transform: scaleX(0); transition: transform .25s ease; }
.desktop-nav a:hover::after { transform: scaleX(1); }
.header-cta { grid-column: 2; grid-row: 2; padding: 15px 19px; border: 1px solid var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transition: .2s ease; }
.header-cta:hover { background: var(--ink); color: white; }
.menu-toggle, .mobile-menu { display: none; }

.hero { position: relative; display: grid; grid-template-columns: 52% 48%; min-height: 100svh; padding-top: 398px; overflow: hidden; background: var(--paper); }
.hero::before { content: ''; position: absolute; z-index: 2; top: 398px; left: 51.95%; width: 1px; height: calc(100% - 398px); background: rgba(255,255,255,.55); }
.hero-copy { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; padding: 90px 5.8vw 70px 7.2vw; }
.eyebrow { margin: 0 0 22px; color: var(--clay); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; line-height: .97; }
.hero h1 { margin: 0; font-size: clamp(64px, 6.7vw, 115px); }
.hero h1 em, .seller-copy h2 em { color: var(--clay); font-weight: 400; }
.hero-intro { max-width: 560px; margin: 34px 0; color: #33445f; font-family: var(--serif); font-size: clamp(18px, 1.35vw, 24px); line-height: 1.45; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 0; cursor: pointer; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.button-dark { background: var(--ink); color: white; }
.button-dark:hover { background: var(--clay); }
.text-link { padding-bottom: 5px; border-bottom: 1px solid currentColor; font-family: var(--serif); font-size: 17px; }
.hero-portrait { position: relative; min-width: 0; background-image: linear-gradient(180deg, rgba(7,24,47,.06), rgba(7,24,47,.22)), url('assets/team-photo.jpg'); background-position: 52% 25%; background-size: cover; }
.hero-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(247,243,235,.06), transparent 24%, rgba(7,24,47,.07)); }
.hero-video-wrap { position: relative; min-width: 0; overflow: hidden; background: var(--ink); }
.hero-video-wrap video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.hero-video-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,24,47,.14), transparent 32%, rgba(7,24,47,.12)); pointer-events: none; }
.video-loop-slate { position: absolute; z-index: 3; inset: 0; display: flex; visibility: hidden; align-items: center; justify-content: center; background: var(--paper); opacity: 0; pointer-events: none; transition: opacity 1s ease, visibility 0s linear 1s; }
.video-loop-slate.is-active { visibility: visible; opacity: 1; transition-delay: 0s; }
.video-loop-slate.is-fade-out { background: #030914; }
.video-loop-slate-lockup { display: flex; align-items: center; gap: 22px; opacity: 1; transition: opacity .45s ease; }
.video-loop-slate.is-fade-out .video-loop-slate-lockup { opacity: 0; }
.video-loop-slate .team-logo { width: clamp(140px, 14vw, 210px); height: auto; }
.video-loop-slate .remax-logo { width: clamp(220px, 22vw, 330px); height: auto; }
.video-brand-watermark { position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; align-items: center; gap: 14px; opacity: .035; pointer-events: none; transform: translate(-50%, -50%); transition: opacity .8s ease; }
.video-brand-watermark .team-logo { width: clamp(110px, 10vw, 150px); height: auto; }
.video-brand-watermark .remax-logo { width: clamp(175px, 16vw, 240px); height: auto; object-fit: contain; }
.video-toggle { position: absolute; z-index: 4; right: 24px; top: 24px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(7,24,47,.55); color: white; cursor: pointer; font-size: 12px; }
.video-toggle:hover { background: var(--clay); }
.video-toggle[aria-pressed="true"] span { font-size: 0; }
.video-toggle[aria-pressed="true"] span::after { content: '▶'; font-size: 12px; }
.portrait-caption { position: absolute; z-index: 2; right: 25px; bottom: 24px; padding: 9px 12px; background: rgba(247,243,235,.88); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-place { position: absolute; z-index: 4; bottom: 24px; left: 7.2vw; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.hero-mark { position: absolute; z-index: 2; bottom: -57px; left: 45.5%; color: rgba(10,34,71,.05); font-family: var(--serif); font-size: 230px; line-height: 1; }

.proof-strip { display: flex; justify-content: center; align-items: center; gap: 28px; min-height: 92px; padding: 20px 5vw; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.proof-strip p { margin: 0; font-family: var(--serif); font-size: 17px; }
.proof-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--clay); }

.section { min-height: 100svh; padding: clamp(62px, 7.5vh, 90px) 7vw; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 58px; }
.section-heading h2, .story-copy h2, .seller-copy h2, .contact h2, dialog h2 { margin: 0; font-size: clamp(46px, 5vw, 82px); }
.journey-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.seller-led-grid { grid-template-columns: 1.3fr 1fr .7fr; }
.seller-primary-card { background: var(--white); }
.seller-support-card { background: var(--paper-2); }
.seller-primary-card h3 { font-size: clamp(38px, 3.5vw, 60px); }
.journey-card { display: flex; flex-direction: column; justify-content: space-between; min-height: clamp(390px, 49vh, 475px); padding: 30px 30px 38px; border-right: 1px solid var(--ink); transition: transform .25s ease, background .25s ease, color .25s ease; }
.journey-card:last-child { border-right: 0; }
.journey-card:hover { z-index: 2; background: var(--ink); color: white; transform: translateY(-8px); }
.journey-card:hover .card-kicker, .journey-card:hover a { color: #f3b6a5; }
.card-number { margin: 0; font-family: var(--serif); font-size: 18px; }
.card-kicker { margin: 0 0 12px; color: var(--clay); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journey-card h3 { max-width: 390px; margin: 0 0 22px; font-family: var(--serif); font-size: clamp(30px, 2.9vw, 48px); font-weight: 400; line-height: 1.04; }
.journey-card div > p:not(.card-kicker) { max-width: 390px; color: inherit; opacity: .78; font-size: 15px; }
.journey-card a { display: inline-block; margin-top: 22px; color: var(--clay); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.buyer-bridge { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(420px, 1.15fr); align-items: center; gap: clamp(48px, 8vw, 120px); min-height: clamp(560px, 72svh, 690px); padding: clamp(64px, 8vh, 96px) 7vw; background: var(--ink-deep); color: white; }
.buyer-bridge-heading h2 { max-width: 620px; margin: 0; color: white; font-size: clamp(64px, 7vw, 112px); font-weight: 400; line-height: .9; }
.buyer-bridge-copy > p { max-width: 660px; margin: 0 0 32px; color: #cbd4df; font-family: var(--serif); font-size: clamp(18px, 1.7vw, 24px); line-height: 1.55; }
.buyer-bridge-copy ul { margin: 0 0 34px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); }
.buyer-bridge-copy li { display: grid; grid-template-columns: 38px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.22); color: #e0e5eb; font-size: 13px; line-height: 1.5; }
.buyer-bridge-copy li span { color: #f3b6a5; font-family: var(--serif); }

.story { display: grid; grid-template-columns: minmax(390px, .82fr) minmax(560px, 1.18fr); gap: 4vw; align-items: center; background: var(--white); }
.team-intro > h2 { margin: 0; font-family: var(--serif); font-size: clamp(46px, 4.7vw, 76px); font-weight: 400; letter-spacing: -.045em; line-height: .97; }
.team-intro > p:not(.eyebrow) { max-width: 630px; color: #536073; font-family: var(--serif); font-size: 18px; }
.team-photo-feature { position: relative; margin: 28px 0 0; overflow: hidden; aspect-ratio: 513 / 390; box-shadow: 0 24px 55px rgba(7,24,47,.15); background: var(--ink); }
.team-photo-feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 62%, rgba(7,24,47,.72)); pointer-events: none; }
.team-photo-feature img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.team-photo-feature figcaption { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; color: white; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.team-member-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.team-member-card { position: relative; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; background: var(--ink); color: white; cursor: pointer; text-align: left; aspect-ratio: 1 / 1.04; }
.team-member-card::after { content: ''; position: absolute; inset: 30% 0 0; background: linear-gradient(180deg, transparent, rgba(7,24,47,.93)); }
.team-member-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.team-member-card:hover img, .team-member-card:focus-visible img { transform: scale(1.035); }
.team-member-card > span { position: absolute; z-index: 2; right: 22px; bottom: 20px; left: 22px; }
.team-member-card strong, .team-member-card small, .team-member-card em { display: block; }
.team-member-card strong { font-family: var(--serif); font-size: clamp(22px, 2vw, 32px); font-weight: 400; line-height: 1; }
.team-member-card small { margin-top: 6px; color: #f4c1b1; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-member-card em { margin-top: 10px; font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; opacity: .82; }

.seller-system { position: relative; display: grid; grid-template-columns: 34% 66%; min-height: 100svh; overflow: hidden; background: var(--ink-deep); color: white; }
.seller-system::before { content: 'MARYLAND'; position: absolute; right: -40px; bottom: -55px; color: rgba(255,255,255,.025); font-family: var(--serif); font-size: 190px; letter-spacing: -.07em; }
.seller-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 90px 5vw 90px 7vw; }
.eyebrow-light { color: #f3b6a5; }
.seller-copy p:not(.eyebrow) { max-width: 540px; margin: 30px 0; color: #c9d1dc; font-family: var(--serif); font-size: 21px; }
.button-light { align-self: flex-start; background: white; color: var(--ink); }
.button-light:hover { background: var(--clay); color: white; }
.campaign-stack { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr) 270px; gap: 10px; min-height: calc(100svh - 50px); margin: 25px 25px 25px 0; padding: 10px; overflow: hidden; background: linear-gradient(145deg, #d8d6ce, #9da8a3); }
.campaign-stack::before { display: none; }
.campaign-montage { position: relative; grid-column: 1 / -1; min-height: 0; overflow: hidden; background: #030914; }
.campaign-montage > video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.campaign-video-shade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(7,24,47,.08), transparent 60%, rgba(7,24,47,.32)); pointer-events: none; }
.campaign-montage-caption { position: absolute; z-index: 2; bottom: 16px; left: 18px; padding: 8px 10px; background: rgba(247,243,235,.88); color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.campaign-montage .video-loop-slate .team-logo { width: clamp(115px, 11vw, 170px); }
.campaign-montage .video-loop-slate .remax-logo { width: clamp(185px, 18vw, 275px); }
.campaign-montage .video-brand-watermark .team-logo { width: clamp(90px, 8vw, 125px); }
.campaign-montage .video-brand-watermark .remax-logo { width: clamp(145px, 13vw, 205px); }
.campaign-photo { position: relative; z-index: 1; width: 100%; height: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 18px 38px rgba(7,24,47,.22); background: var(--ink); }
.campaign-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.campaign-photo:hover img { transform: scale(1.025); }
.campaign-photo::after { content: ''; position: absolute; inset: 0 0 42%; background: linear-gradient(180deg, rgba(7,24,47,.9), transparent); pointer-events: none; }
.campaign-photo figcaption { position: absolute; z-index: 2; top: 15px; right: 14px; bottom: auto; left: 14px; display: grid; grid-template-columns: 38px 1fr; align-items: start; color: white; }
.campaign-photo figcaption span { grid-row: 1 / 3; align-self: stretch; display: grid; place-items: center; margin-right: 10px; border-right: 1px solid rgba(255,255,255,.45); color: #f3b6a5; font-family: var(--serif); font-size: 23px; }
.campaign-photo figcaption p { margin: 0; font-family: var(--serif); font-size: clamp(21px, 1.8vw, 29px); line-height: 1; }
.campaign-photo figcaption small { margin-top: 5px; color: #dce4ee; font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.campaign-one, .campaign-two, .campaign-three { inset: auto; }

.communities { min-height: auto; background: var(--paper); }
.communities-heading { margin-bottom: 38px; }
.communities-heading > p { max-width: 480px; margin: 0 0 5px; color: #566174; font-family: var(--serif); font-size: 18px; }
.community-stories { border-top: 1px solid var(--line); }
.community-story { display: grid; grid-template-columns: minmax(330px, .34fr) minmax(0, .66fr); min-height: 390px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.42); cursor: pointer; transition: background .25s ease, box-shadow .25s ease; }
.community-story:hover, .community-story:focus-within { position: relative; z-index: 1; background: rgba(255,255,255,.78); box-shadow: 0 16px 46px rgba(7,24,47,.11); }
.community-story:nth-child(even) { grid-template-columns: minmax(0, .66fr) minmax(330px, .34fr); }
.community-story:nth-child(even) .community-copy { order: 2; }
.community-story:nth-child(even) .community-gallery { order: 1; }
.community-copy { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 34px clamp(26px, 3vw, 46px); }
.community-index { position: absolute; top: 25px; right: 28px; color: rgba(10,34,71,.27); font-family: var(--serif); font-size: 18px; }
.community-kicker { max-width: 82%; margin: 0 0 8px; color: var(--clay); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.community-copy h3 { margin: 0 0 13px; font-family: var(--serif); font-size: clamp(48px, 4.8vw, 72px); font-weight: 400; line-height: .95; }
.community-copy > p:not(.community-kicker) { margin: 0; color: #4f5d70; font-size: 12.5px; line-height: 1.6; }
.community-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0 0; padding: 17px 0 32px; border-top: 1px solid var(--line); list-style: none; }
.community-facts li { min-width: 0; }
.community-facts strong, .community-facts span { display: block; }
.community-facts strong { margin-bottom: 4px; color: var(--ink); font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.community-facts span { color: #657083; font-size: 9px; line-height: 1.35; }
.community-open { position: absolute; right: clamp(26px, 3vw, 46px); bottom: 18px; align-self: flex-start; margin: 0; padding: 9px 0 5px; border: 0; border-bottom: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.community-open span { display: inline-block; margin-left: 7px; transition: transform .2s ease; }
.community-story:hover .community-open span, .community-open:focus-visible span { transform: translate(3px, -3px); }
.community-gallery { display: grid; min-width: 0; min-height: 390px; overflow: hidden; background: var(--ink); }
.community-gallery-two { grid-template-columns: 1.4fr 1fr; }
.community-gallery-three { grid-template-columns: 1.4fr 1fr 1fr; }
.community-gallery-four { grid-template-columns: 1.45fr repeat(3, 1fr); }
.community-image { position: relative; min-width: 0; height: 100%; margin: 0; overflow: hidden; border-left: 2px solid var(--paper); background: #dce3e5; }
.community-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.community-image:hover img { transform: scale(1.025); }
.community-image-lead figcaption { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 9px 10px; background: rgba(247,243,235,.91); color: var(--ink); font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
[data-community="gambrills"] .community-image:nth-child(1) img { object-position: 50% 45%; }
[data-community="gambrills"] .community-image:nth-child(2) img { object-position: 48% 50%; }
[data-community="gambrills"] .community-image:nth-child(3) img { object-position: 50% 48%; }
[data-community="gambrills"] .community-image:nth-child(4) img { object-position: 48% 50%; }
[data-community="crofton"] .community-image:nth-child(1) img { object-position: 50% 48%; }
[data-community="crofton"] .community-image:nth-child(2) img { object-position: 51% 52%; }
[data-community="crofton"] .community-image:nth-child(3) img { object-position: 50% 48%; }
[data-community="odenton"] .community-image:nth-child(1) img { object-position: 48% 52%; }
[data-community="odenton"] .community-image:nth-child(2) img { object-position: 50% 48%; }
.community-disclaimer { margin: 18px 0 0; color: #6a7485; font-size: 9px; line-height: 1.5; }

.portfolio-section { min-height: 100svh; padding: clamp(54px, 6.5vh, 78px) 7vw; background: var(--paper-2); }
.portfolio-header { display: grid; grid-template-columns: 1fr minmax(280px, 430px); align-items: end; gap: 7vw; margin-bottom: 32px; }
.portfolio-header h2 { margin: 0; font-size: clamp(52px, 6vw, 96px); }
.portfolio-total { padding: 0 0 10px 25px; border-left: 1px solid var(--clay); }
.portfolio-total strong { display: block; font-family: var(--serif); font-size: clamp(55px, 6vw, 90px); font-weight: 400; line-height: .9; }
.portfolio-total span { display: block; margin-top: 12px; font-size: 13px; font-weight: 700; }
.portfolio-total small { display: block; margin-top: 7px; color: #687487; font-size: 10px; }
.portfolio-experience { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr); min-height: clamp(470px, 55vh, 540px); box-shadow: 0 25px 65px rgba(7,24,47,.12); }
.portfolio-map { position: relative; min-width: 0; overflow: hidden; background: #cbdade; }
.portfolio-map-live { min-height: clamp(470px, 55vh, 540px); background: #fff; }
.portfolio-map-live #__pmiembed { width: 100%; min-height: clamp(470px, 55vh, 540px); }
.portfolio-map-live iframe { display: block; width: 100% !important; max-width: 100%; height: clamp(470px, 55vh, 540px) !important; border: 0; }
.projectmapit-live-label { position: absolute; z-index: 4; top: 14px; left: 14px; padding: 9px 12px; background: rgba(255,253,248,.95); box-shadow: 0 8px 25px rgba(7,24,47,.14); color: var(--ink); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.projectmapit-live-label span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #2f7b58; }
.portfolio-map > img { width: 100%; height: 100%; object-fit: cover; }
.map-legend { position: absolute; left: 18px; bottom: 18px; padding: 8px 11px; background: rgba(255,253,248,.93); color: var(--ink); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.map-pin { position: absolute; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,253,248,.94); box-shadow: 0 8px 24px rgba(7,24,47,.22); cursor: pointer; transform: translate(-50%, -50%); transition: transform .2s ease, background .2s ease; }
.map-pin span { width: 12px; height: 12px; border-radius: 50%; background: var(--ink); }
.map-pin:hover, .map-pin.is-active { z-index: 2; background: var(--clay); transform: translate(-50%, -50%) scale(1.15); }
.map-pin.is-active span, .map-pin:hover span { background: white; }
.pin-crofton { top: 31%; left: 22%; }
.pin-odenton { top: 46%; left: 43%; }
.pin-gambrills { top: 72%; left: 28%; }
.pin-annapolis { top: 77%; left: 66%; }
.portfolio-panel { display: flex; flex-direction: column; justify-content: center; padding: 55px 44px; background: var(--white); }
.panel-label { margin: 0 0 10px; color: var(--clay); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.portfolio-panel h3 { margin: 0; font-family: var(--serif); font-size: clamp(44px, 4vw, 68px); font-weight: 400; line-height: 1; }
.portfolio-panel > p:not(.panel-label) { color: #566275; font-family: var(--serif); font-size: 17px; }
.portfolio-controls { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0; }
.portfolio-controls button { padding: 8px 11px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.portfolio-controls button:hover, .portfolio-controls button.is-active { border-color: var(--ink); background: var(--ink); color: white; }
.portfolio-panel ul { margin: 6px 0 28px; padding: 0; list-style: none; }
.portfolio-panel li { padding: 8px 0; border-bottom: 1px solid var(--line); color: #5d697b; font-size: 12px; }
.portfolio-panel li::before { content: '·'; margin-right: 9px; color: var(--clay); font-weight: 900; }
.portfolio-panel .button { align-self: flex-start; }


.testimonial { text-align: center; background: var(--clay); color: white; }
.testimonial .eyebrow { color: #ffe4d9; }
.seller-testimonials { min-height: clamp(500px, 68svh, 640px); padding-top: clamp(50px, 7vh, 70px); padding-bottom: clamp(48px, 6vh, 66px); }
.quote-stage { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; gap: clamp(16px, 2.4vw, 34px); min-height: clamp(300px, 38vh, 370px); }
.quote-slides { min-width: 0; }
.quote-slide { animation: quote-in .42s ease both; }
.quote-slide[hidden] { display: none; }
.testimonial blockquote { max-width: 940px; margin: 0 auto; font-family: var(--serif); font-size: clamp(30px, 3.8vw, 56px); line-height: 1.14; letter-spacing: -.035em; }
.testimonial-meta { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 26px; text-align: left; }
.testimonial-initials { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; font-family: var(--serif); font-size: 18px; }
.testimonial-meta p { margin: 0; font-size: 11px; }
.testimonial-meta span { opacity: .76; }
.quote-side { display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.74); border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 20px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.quote-side:hover { background: white; color: var(--clay); transform: scale(1.05); }
.quote-controls { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 18px; }
.quote-controls button { min-height: 42px; padding: 0 15px; border: 1px solid rgba(255,255,255,.68); background: transparent; color: white; cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.quote-controls button:hover { background: white; color: var(--clay); }
.quote-count { min-width: 45px; font-family: var(--serif); font-size: 15px; }
@keyframes quote-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.contact { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr); align-items: center; gap: clamp(42px, 6vw, 90px); min-height: clamp(620px, 74svh, 700px); padding: clamp(52px, 6vh, 68px) 7vw; background: var(--ink); color: white; }
.contact-copy h2 { max-width: 760px; margin: 0; font-size: clamp(62px, 7vw, 112px); line-height: .9; }
.contact-intro { max-width: 520px; margin: 28px 0 0; color: #c6d0dc; font-size: 14px; line-height: 1.7; }
.consultation-card { padding: clamp(28px, 3.2vw, 44px); background: var(--paper); color: var(--ink); box-shadow: 10px 10px 0 var(--clay); }
.consultation-card-kicker { margin: 0 0 8px; color: var(--clay); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.consultation-card h3 { margin: 0 0 14px; font-family: var(--serif); font-size: clamp(28px, 2.7vw, 42px); font-weight: 400; line-height: 1; }
.consultation-topics { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.consultation-topics li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; padding: 11px 0; border-bottom: 1px solid var(--line); }
.consultation-topics li > span { color: var(--clay); font-family: var(--serif); font-size: 16px; }
.consultation-topics strong { display: block; margin-bottom: 2px; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.consultation-topics p { margin: 0; color: #5c687a; font-size: 10.5px; line-height: 1.45; }
.consultation-next { display: grid; grid-template-columns: 118px 1fr; gap: 14px; padding: 13px 0; }
.consultation-next small { color: var(--clay); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.consultation-next p { margin: 0; color: #536073; font-size: 10px; line-height: 1.5; }
.consultation-actions { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8px; }
.consultation-actions a, .consultation-actions button { display: grid; min-height: 43px; place-items: center; padding: 9px 12px; border: 0; font: inherit; font-size: 8px; font-weight: 800; letter-spacing: .09em; text-align: center; text-transform: uppercase; cursor: pointer; }
.consultation-primary { background: var(--ink); color: white; }
.consultation-secondary { border: 1px solid var(--ink); color: var(--ink); }
.consultation-actions a:hover, .consultation-actions a:focus-visible, .consultation-actions button:hover, .consultation-actions button:focus-visible { background: var(--clay); border-color: var(--clay); color: white; }


footer { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; padding: 55px 7vw; background: var(--paper-2); }
.footer-brand { grid-column: 1 / 3; display: flex; justify-content: center; align-items: center; min-width: 0; }
.footer-brand .brand-lockup { width: min(1098px, 100%); gap: 18px; }
.footer-brand .team-logo { flex: 0 0 calc((100% - 18px) * .3889); width: calc((100% - 18px) * .3889); height: auto; object-fit: contain; }
.footer-brand .remax-logo { flex: 0 0 calc((100% - 18px) * .6111); width: calc((100% - 18px) * .6111); height: auto; object-fit: contain; }
.footer-address { display: flex; gap: 50px; color: #556173; font-size: 12px; }
.back-top { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

dialog { width: min(560px, calc(100% - 32px)); padding: 45px; border: 0; background: var(--paper); color: var(--ink); box-shadow: 0 30px 90px rgba(7,24,47,.35); }
dialog::backdrop { background: rgba(7,24,47,.7); backdrop-filter: blur(5px); }
dialog h2 { font-size: 46px; }
dialog p:not(.eyebrow) { color: #586478; }
.dialog-close { position: absolute; top: 14px; right: 16px; border: 0; background: transparent; color: var(--ink); cursor: pointer; font-size: 30px; }

.team-profile-dialog { width: min(1120px, calc(100% - 32px)); max-height: 90vh; padding: 0; overflow: auto; }
.team-profile-layout { display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr); min-height: 720px; }
.team-profile-photo { position: sticky; top: 0; width: 100%; height: min(90vh, 820px); object-fit: cover; }
.team-profile-copy { padding: 58px 58px 70px; }
.team-profile-copy h2 { margin: 0; font-size: clamp(48px, 5vw, 76px); }
.team-profile-role { margin: 12px 0 22px; color: var(--clay) !important; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.team-profile-contact { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.team-profile-contact a { padding: 9px 12px; border: 1px solid var(--line); font-size: 11px; font-weight: 800; }
.team-profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
.team-profile-details section { padding-top: 17px; border-top: 2px solid var(--clay); }
.team-profile-details h3 { margin: 0 0 12px; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.team-profile-details ul { margin: 0; padding-left: 18px; color: #586478; font-size: 13px; }
.team-profile-details li { margin: 0 0 7px; }

.community-detail-dialog { width: min(1240px, calc(100% - 28px)); height: min(92vh, 920px); max-width: none; max-height: none; padding: 0; overflow: auto; background: var(--paper); }
.community-detail-dialog .community-detail-close { position: sticky; z-index: 4; top: 14px; float: right; width: 46px; height: 46px; margin: 14px 14px -60px 0; border-radius: 50%; background: rgba(247,243,235,.94); box-shadow: 0 8px 28px rgba(7,24,47,.2); color: var(--ink); line-height: 1; }
.community-detail-header { padding: 66px 6vw 42px; background: var(--ink); color: white; }
.community-detail-header .eyebrow { margin-bottom: 34px; color: #f2b7a7; }
.community-detail-kicker { margin: 0 0 8px; color: #cad4df !important; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.community-detail-dialog h2 { max-width: 900px; margin: 0; color: white; font-size: clamp(62px, 7.5vw, 104px); font-weight: 400; line-height: .9; }
.community-detail-copy { padding: 46px 6vw 34px; }
.community-detail-description { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 44px); }
.community-detail-description p { margin: 0; color: #4f5d70 !important; font-size: 14px; line-height: 1.7; }
.community-detail-facts { padding: 0 6vw 42px; }
.community-detail-facts .community-facts { margin: 0; padding: 22px 0 0; }
.community-detail-facts .community-facts strong { font-size: 8px; }
.community-detail-facts .community-facts span { font-size: 11px; }
.community-detail-gallery { column-count: 2; column-gap: 12px; padding: 0 12px 12px; background: #dbe1e4; }
.community-detail-gallery figure { position: relative; break-inside: avoid; margin: 0 0 12px; overflow: hidden; background: white; }
.community-detail-gallery img { display: block; width: 100%; height: auto; }
.community-detail-gallery figcaption { padding: 10px 12px; background: white; color: #657083; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.community-detail-note { margin: 0; padding: 20px 6vw 34px; color: #687486 !important; font-size: 9px; line-height: 1.5; }

@media (max-width: 1100px) {
  .site-header { min-height: 398px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 10px; }
  .hero { grid-template-columns: 56% 44%; padding-top: 398px; }
  .hero::before { top: 398px; height: calc(100% - 398px); }
  .hero-copy { padding-left: 5vw; }
  .hero-place { left: 5vw; }
  .journey-card { padding: 24px; }

  .portfolio-experience { grid-template-columns: minmax(0, 1fr) 350px; }
  .story { grid-template-columns: minmax(320px, .75fr) minmax(480px, 1.25fr); }
  .team-member-card > span { right: 15px; bottom: 14px; left: 15px; }
  .community-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 350px 300px; }
  .community-crofton { grid-row: auto; }
  .community-odenton { grid-column: 1 / 3; grid-row: 2; }
  .footer-address { grid-column: 1; }
}

@media (max-width: 760px) {
  .site-header { position: absolute; top: 0; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 8px 12px; min-height: 205px; padding: 8px 18px; background: rgba(247,243,235,.97); }
  .brand-lockup { gap: 8px; }
  .brand .brand-lockup { padding: 0; box-shadow: none; }
  .brand .team-logo { flex-basis: calc((100% - 8px) * .3718); width: calc((100% - 8px) * .3718); }
  .brand .remax-logo { flex-basis: calc((100% - 8px) * .6282); width: calc((100% - 8px) * .6282); }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { grid-column: 2; grid-row: 2; display: grid; gap: 6px; width: 42px; height: 42px; place-content: center; border: 0; background: transparent; }
  .menu-toggle span { display: block; width: 24px; height: 1px; background: var(--ink); transition: .2s; }
  .menu-open .menu-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 15; inset: 205px 0 auto; display: flex; visibility: hidden; flex-direction: column; gap: 0; padding: 24px; background: var(--paper); opacity: 0; pointer-events: none; transform: translateY(calc(-100% - 207px)); transition: transform .25s ease, opacity .2s ease, visibility 0s linear .25s; }
  .mobile-menu a { padding: 15px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 25px; }
  .menu-open .mobile-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }

  .hero { display: flex; flex-direction: column; min-height: auto; padding-top: 205px; }
  .hero::before, .hero-mark { display: none; }
  .hero-copy { min-height: 500px; padding: 58px 22px 46px; }
  .hero h1 { font-size: clamp(54px, 17vw, 74px); }
  .hero-intro { margin: 25px 0; font-size: 18px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .hero-portrait, .hero-video-wrap { min-height: 430px; }
  .hero-portrait { background-position: 50% 24%; }
  .hero-video-wrap video { object-position: 50% center; }
  .video-toggle { top: 16px; right: 16px; }
  .hero-place { position: static; order: 3; padding: 20px 22px; background: var(--ink); color: white; }
  .portrait-caption { right: 12px; bottom: 12px; font-size: 8px; }
  .video-brand-watermark { gap: 8px; }
  .video-brand-watermark .team-logo { width: 80px; }
  .video-brand-watermark .remax-logo { width: 166px; height: auto; }
  .video-loop-slate-lockup { gap: 10px; }
  .video-loop-slate .team-logo { width: 92px; }
  .video-loop-slate .remax-logo { width: 185px; }

  .proof-strip { flex-wrap: wrap; gap: 10px 15px; min-height: 110px; padding: 23px 20px; }
  .proof-strip p { font-size: 14px; }
  .section { min-height: auto; padding: 66px 20px; }
  .section-heading { display: block; margin-bottom: 40px; }
  .section-heading h2, .story-copy h2, .seller-copy h2, .contact h2 { font-size: 47px; }
  .journey-grid { grid-template-columns: 1fr; }
  .journey-card { min-height: 280px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .journey-card:last-child { border-bottom: 0; }
  .journey-card:hover { transform: none; }
  .journey-card h3 { font-size: 38px; }

  .buyer-bridge { grid-template-columns: 1fr; gap: 36px; min-height: auto; padding: 74px 20px; }
  .buyer-bridge-heading h2 { font-size: 62px; }
  .buyer-bridge-copy > p { font-size: 18px; }
  .buyer-bridge-copy li { grid-template-columns: 32px 1fr; gap: 10px; padding: 15px 0; }

  .story { display: block; }
  .team-intro > h2 { font-size: 47px; }
  .team-intro > p:not(.eyebrow) { font-size: 16px; }
  .team-photo-feature { min-height: 0; margin: 24px 0 34px; aspect-ratio: 513 / 390; }
  .team-photo-feature figcaption { right: 16px; bottom: 14px; left: 16px; font-size: 8px; }
  .team-member-grid { gap: 9px; }
  .team-member-card { aspect-ratio: .93 / 1; }
  .team-member-card > span { right: 10px; bottom: 10px; left: 10px; }
  .team-member-card strong { font-size: 19px; }
  .team-member-card small { font-size: 7px; letter-spacing: .05em; }
  .team-member-card em { margin-top: 6px; font-size: 7px; }

  .seller-system { display: block; min-height: auto; }
  .seller-copy { padding: 80px 22px; }
  .seller-copy p:not(.eyebrow) { font-size: 19px; }
  .campaign-stack { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; gap: 8px; min-height: auto; margin: 0 16px 16px; padding: 8px; }
  .campaign-montage { grid-column: 1; min-height: 0; aspect-ratio: 16 / 9; }
  .campaign-montage-caption { bottom: 10px; left: 10px; font-size: 7px; }
  .campaign-video-toggle { top: 10px; right: 10px; }
  .campaign-photo { position: relative; inset: auto; width: 100%; height: clamp(220px, 66vw, 285px); }
  .campaign-photo figcaption { top: 14px; right: 16px; bottom: auto; left: 16px; grid-template-columns: 44px 1fr; }
  .campaign-photo figcaption span { margin-right: 12px; font-size: 24px; }
  .campaign-photo figcaption p { font-size: 27px; }
  .campaign-photo figcaption small { font-size: 8px; letter-spacing: .07em; }
  .campaign-one, .campaign-two, .campaign-three { top: auto; right: auto; bottom: auto; left: auto; }

  .communities { padding: 50px 0; }
  .communities-heading { margin: 0 20px 20px; }
  .communities-heading > p { margin-top: 24px; }
  .communities-heading h2 { font-size: 38px; line-height: 1; }
  .communities-heading > p { font-size: 15px; line-height: 1.45; }
  .community-story, .community-story:nth-child(even) { display: grid; grid-template-columns: 1fr; min-height: auto; }
  .community-story:nth-child(even) .community-copy, .community-story:nth-child(even) .community-gallery { order: initial; }
  .community-copy { padding: 26px 20px 22px; }
  .community-index { top: 25px; right: 20px; }
  .community-kicker { max-width: 78%; font-size: 7px; }
  .community-copy h3 { font-size: 50px; }
  .community-copy > p:not(.community-kicker) { font-size: 12px; line-height: 1.6; }
  .community-facts { gap: 10px; margin-top: 16px; padding-bottom: 0; }
  .community-facts span { font-size: 8px; }
  .community-open { position: static; margin-top: 12px; }
  .community-gallery, .community-gallery-two, .community-gallery-three, .community-gallery-four { grid-template-columns: repeat(6, 1fr); grid-template-rows: 174px 108px; min-height: 288px; gap: 2px; padding: 0 12px 4px; background: rgba(255,255,255,.42); }
  .community-image { height: auto; border: 0; }
  .community-image-lead { grid-row: 1; grid-column: 1 / -1; }
  .community-gallery-two .community-image:nth-child(2) { grid-row: 2; grid-column: 1 / 7; }
  .community-gallery-three .community-image:nth-child(2) { grid-row: 2; grid-column: 1 / 4; }
  .community-gallery-three .community-image:nth-child(3) { grid-row: 2; grid-column: 4 / 7; }
  .community-gallery-four .community-image:nth-child(2) { grid-row: 2; grid-column: 1 / 3; }
  .community-gallery-four .community-image:nth-child(3) { grid-row: 2; grid-column: 3 / 5; }
  .community-gallery-four .community-image:nth-child(4) { grid-row: 2; grid-column: 5 / 7; }
  .community-image-lead figcaption { right: 10px; bottom: 10px; left: 10px; }
  .community-disclaimer { margin: 16px 20px 0; }

  .portfolio-section { min-height: auto; padding: 54px 20px; }
  .portfolio-header { grid-template-columns: 1fr; gap: 28px; margin-bottom: 26px; }
  .portfolio-header h2 { font-size: 50px; }
  .portfolio-total { padding-left: 18px; }
  .portfolio-experience { grid-template-columns: 1fr; }
  .portfolio-map { min-height: 0; aspect-ratio: 1200 / 760; }
  .portfolio-map-live { min-height: 440px; aspect-ratio: auto; }
  .portfolio-map-live #__pmiembed { min-height: 440px; }
  .portfolio-map-live iframe { height: 440px !important; }
  .projectmapit-live-label { top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 7px 9px; font-size: 7px; }
  .portfolio-panel { padding: 36px 24px; }
  .portfolio-panel h3 { font-size: 48px; }
  .map-pin { width: 29px; height: 29px; }
  .map-pin span { width: 9px; height: 9px; }
  .map-legend { right: 8px; bottom: 8px; left: 8px; padding: 6px 8px; text-align: center; font-size: 7px; }


  .seller-testimonials { min-height: auto; padding: 50px 14px 48px; }
  .quote-stage { grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 6px; min-height: 350px; }
  .quote-side { width: 38px; height: 38px; font-size: 17px; }
  .testimonial blockquote { font-size: 26px; line-height: 1.16; letter-spacing: -.025em; }
  .testimonial-meta { align-items: flex-start; gap: 10px; margin-top: 20px; }
  .testimonial-initials { width: 40px; height: 40px; font-size: 16px; }
  .testimonial-meta p { font-size: 10px; }
  .testimonial-meta span { display: inline-block; max-width: 185px; }
  .quote-controls { flex-wrap: wrap; gap: 9px; margin-top: 14px; }

  .contact { grid-template-columns: 1fr; gap: 20px; min-height: auto; padding: 34px 20px 38px; }
  .contact-copy h2 { font-size: 47px; line-height: .92; }
  .contact-intro { margin-top: 16px; font-size: 12px; line-height: 1.5; }
  .consultation-card { padding: 16px; box-shadow: 6px 6px 0 var(--clay); }
  .consultation-card h3 { margin-bottom: 10px; font-size: 26px; }
  .consultation-topics li { grid-template-columns: 26px 1fr; gap: 9px; padding: 7px 0; }
  .consultation-topics li > span { font-size: 14px; }
  .consultation-topics strong { font-size: 8px; }
  .consultation-topics p { font-size: 9.5px; line-height: 1.35; }
  .consultation-next { grid-template-columns: 90px 1fr; gap: 9px; padding: 9px 0; }
  .consultation-next p { font-size: 9px; line-height: 1.4; }
  .consultation-actions { grid-template-columns: 1.2fr .8fr; gap: 6px; }
  .consultation-actions a, .consultation-actions button { min-height: 40px; padding: 7px 8px; font-size: 7px; }

  footer { grid-template-columns: 1fr; align-items: start; gap: 34px; padding: 50px 22px 85px; }
  .footer-brand { grid-column: 1; align-items: center; }
  .footer-brand .brand-lockup { width: 100%; gap: 10px; padding: 0; }
  .footer-brand .team-logo { flex-basis: calc((100% - 10px) * .3889); width: calc((100% - 10px) * .3889); height: auto; }
  .footer-brand .remax-logo { flex-basis: calc((100% - 10px) * .6111); width: calc((100% - 10px) * .6111); height: auto; }
  .footer-address { grid-row: auto; grid-column: auto; flex-direction: column; gap: 8px; }
  .back-top { justify-self: start; }
  dialog { padding: 38px 24px; }
  dialog h2 { font-size: 40px; }

  .team-profile-dialog { max-height: 92vh; padding: 0; }
  .team-profile-layout { grid-template-columns: 1fr; }
  .team-profile-photo { position: static; height: 300px; }
  .team-profile-copy { padding: 34px 22px 52px; }
  .team-profile-copy h2 { font-size: 46px; }
  .team-profile-details { grid-template-columns: 1fr; }
  .community-detail-dialog { width: calc(100% - 12px); height: calc(100dvh - 12px); padding: 0; }
  .community-detail-dialog .community-detail-close { top: 10px; width: 42px; height: 42px; margin: 10px 10px -52px 0; }
  .community-detail-header { padding: 62px 20px 30px; }
  .community-detail-header .eyebrow { margin-bottom: 28px; }
  .community-detail-dialog h2 { font-size: 56px; }
  .community-detail-copy { padding: 30px 20px 24px; }
  .community-detail-description { grid-template-columns: 1fr; gap: 20px; }
  .community-detail-description p { font-size: 13px; line-height: 1.65; }
  .community-detail-facts { padding: 0 20px 30px; }
  .community-detail-gallery { column-count: 1; padding: 0 8px 8px; }
  .community-detail-gallery figure { margin-bottom: 8px; }
  .community-detail-note { padding: 18px 20px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
  .quote-slide { animation: none !important; }
}
