:root {
  --aubergine: #291F2D; --lavender: #EEEAF1; --citron: #E5F49B; --white: #FBFAF7;
  --muted: #625b6c; --rule: #bdb3c6; --display: 'Barlow Condensed', sans-serif; --body: 'Manrope', sans-serif;
  --text-sm: 14px; --text-base: 18px; --text-lg: 21px; --heading: clamp(48px, 5.2vw, 80px);
  --space-1: 8px; --space-2: 16px; --space-3: 24px; --space-4: 32px; --space-5: 48px; --space-6: 64px;
  --gutter: clamp(24px, 4.65vw, 90px); --radius: 0; --opening-height: 900px; --rail-width: 210px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--aubergine); background: var(--white); font: 400 var(--text-base)/1.5 var(--body); }
main { display: block; }
h1,h2,h3,h4,p,figure,blockquote,dl,dd { margin: 0; }
h1,h2,h3,h4 { font-family: var(--display); font-weight: 600; line-height: 1.04; }
h2 { font-weight: 700; font-size: var(--heading); letter-spacing: -.02em; }
h3 { font-size: 32px; }
a { color: inherit; text-decoration: none; }
button,input,select { font: inherit; color: inherit; border-radius: var(--radius); }
button,a,input,select,summary { -webkit-tap-highlight-color: transparent; }
button,summary { cursor: pointer; }
button { border: 0; }
button:disabled { opacity: .65; cursor: default; }
input,select { min-width: 0; border: 1px solid transparent; background: var(--white); padding: 16px; width: 100%; min-height: 58px; }
input::placeholder { color: var(--muted); opacity: 1; }
select { cursor: pointer; }
fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
img { display: block; max-width: 100%; object-fit: cover; }
address { font-style: normal; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #816192; outline-offset: 5px; }
.button:focus-visible { outline-offset: 4px; }
.container { width: 100%; padding-inline: var(--gutter); margin-inline: auto; max-width: 1920px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 58px; padding: 15px 28px; font-weight: 600; line-height: 1.3; text-align: center; transition: background .2s, color .2s; }
.button--citron { background: var(--citron); color: var(--aubergine); }
.button--citron:hover { background: #d4e784; }
.button--dark { background: var(--aubergine); color: var(--white); }
.button--dark:hover { background: #44324a; }
.button--outline { border: 1px solid var(--white); color: var(--white); background: transparent; }
.button--outline:hover { background: #ffffff15; }
.arrow { font: 400 32px/1 var(--body); display: inline-block; }
.text-link { display: inline-flex; align-items: center; gap: 22px; white-space: nowrap; }
.text-link:hover,.text-button:hover { text-decoration: underline; text-underline-offset: 5px; }
.text-button { background: none; padding: 6px 0; font-size: 16px; display: inline-flex; align-items: center; gap: 15px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.eyebrow { font-size: 14px; letter-spacing: .15em; margin-bottom: 12px; }
.wordmark { font: 600 46px/.92 var(--display); display: block; }
.wordmark-sub { font-size: 10px; letter-spacing: .32em; display: block; margin-top: 12px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 100; top: -70px; left: 16px; padding: 12px; color: var(--aubergine); background: var(--citron); }
.skip-link:focus { top: 12px; }
.form-message:empty { display: none; }
.form-message { margin-top: 14px; font-size: 16px; font-weight: 600; }
@media (max-width: 700px) { :root { --text-base: 16px; --gutter: 22px; --heading: 46px; } .section-heading { align-items: flex-start; flex-wrap: wrap; gap: 16px; } .text-link { font-size: 15px; gap: 12px; } .button { font-size: 16px; padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }

/* === section: header-hero === */
.header-hero { position: relative; }
.header-hero .header { position: absolute; z-index: 5; top: 0; left: 0; width: var(--rail-width); height: var(--opening-height); padding: 44px 30px 60px; background: var(--aubergine); color: var(--white); display: flex; flex-direction: column; }
.header-hero .header .header__logo { align-self: flex-start; }
.header-hero .header .header__nav { display: grid; gap: 26px; margin-top: 115px; }
.header-hero .header .header__nav a:hover { color: var(--citron); }
.header-hero .header .header__contact { display: grid; gap: 16px; margin-top: auto; }
.header-hero .header .header__contact > a:first-child { white-space: nowrap; font-size: 17px; }
.header-hero .header .header__contact .button { padding: 12px 10px; font-size: 17px; }
.header-hero .header .header__toggle { display: none; }
.header-hero .header :focus-visible { outline-color: var(--citron); }
@media (max-width: 900px) {
 .header-hero .header { position: relative; width: 100%; height: auto; min-height: 135px; padding: 22px 22px 15px; display: grid; grid-template-columns: 1fr auto; gap: 0; }
 .header-hero .header .wordmark { font-size: 28px; line-height: .88; }
 .header-hero .header .wordmark-sub { font-size: 7px; letter-spacing: .28em; margin-top: 7px; }
 .header-hero .header .header__toggle { display: flex; align-items: center; gap: 16px; color: var(--white); background: none; font-size: 16px; padding: 8px 0 24px; align-self: start; justify-self: end; }
 .header-hero .header .header__toggle span { width: 27px; height: 12px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; }
 .header-hero .header .header__contact { grid-column: 1/-1; grid-row: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: -6px; }
 .header-hero .header .header__contact > a:first-child { font-size: 14px; }
 .header-hero .header .header__contact .button { min-height: 37px; font-size: 12px; padding: 9px 12px; }
 .header-hero .header .header__nav { grid-column: 1/-1; grid-row: 3; margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 20px; padding-block: 16px; }
 .header-hero.is-enhanced .header .header__nav:not(.is-open) { display: none; }
}

/* Cinematic interior and introductory copy. */
.header-hero .hero { position: relative; height: var(--opening-height); margin-left: var(--rail-width); background: var(--aubergine); color: var(--white); overflow: hidden; }
.header-hero .hero .hero__image { position: absolute; width: 100%; height: 100%; inset: 0; object-position: center; }
.header-hero .hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(41,31,45,.92),rgba(41,31,45,.30) 45%,transparent 72%); }
.header-hero .hero .hero__content { position: relative; z-index: 1; height: 100%; padding: 45px 58px 90px; display: flex; flex-direction: column; justify-content: flex-end; }
.header-hero .hero .hero__eyebrow { position: absolute; top: 45px; left: 58px; font-family: var(--display); font-size: 15px; letter-spacing: .24em; }
.header-hero .hero h1 { font-size: clamp(74px,6.65vw,108px); font-weight: 600; line-height: .98; max-width: 880px; letter-spacing: -.015em; }
.header-hero .hero .hero__intro { max-width: 760px; font-size: 18px; margin-top: 32px; line-height: 1.5; }
.header-hero .hero .hero__actions { display: flex; gap: 14px; margin-top: 30px; }
.header-hero .hero .hero__actions .button { min-width: 218px; }
.header-hero .hero .hero__explore { position: absolute; z-index: 2; bottom: 30px; right: 34px; display: grid; text-align: center; font-size: 12px; }
.header-hero .hero .hero__explore span { font-size: 27px; }
.header-hero .hero :focus-visible { outline-color: var(--citron); }
@media (min-width: 1600px) { .header-hero .hero h1 { font-size: 108px; } }
@media (max-width: 1100px) and (min-width: 901px) { .header-hero .hero .hero__content { padding-inline: 35px; } .header-hero .hero h1 { font-size: 76px; } }
@media (max-width: 900px) {
 .header-hero .hero { margin-left: 0; height: auto; min-height: 709px; }
 .header-hero .hero .hero__image { height: 545px; object-position: center top; }
 .header-hero .hero::after { background: linear-gradient(0deg,var(--aubergine) 4%,rgba(41,31,45,.96) 22%,rgba(41,31,45,.55) 44%,transparent 74%); }
 .header-hero .hero .hero__content { padding: 285px 22px 22px; }
 .header-hero .hero .hero__eyebrow { position: static; font-size: 13px; letter-spacing: .21em; margin-bottom: 1px; }
 .header-hero .hero h1 { font-size: clamp(52px,14.65vw,88px); line-height: .98; letter-spacing: -.012em; max-width: 660px; }
 .header-hero .hero .desktop-break { display: none; }
 .header-hero .hero .hero__intro { font-size: 16px; margin-top: 18px; line-height: 1.4; }
 .header-hero .hero .hero__actions { flex-direction: column; gap: 10px; margin-top: 15px; }
 .header-hero .hero .hero__actions .button { width: 100%; min-height: 40px; padding-block: 9px; }
 .header-hero .hero .hero__explore { display: none; }
}

/* === section: search === */
.search { background: var(--lavender); padding: 28px 0 32px; }
.search .search__tabs { display: flex; gap: 34px; align-self: center; }
.search .search__tabs label { position: relative; cursor: pointer; }
.search .search__tabs input { position: absolute; opacity: 0; width: 100%; height: 100%; inset: 0; min-height: 0; cursor: pointer; }
.search .search__tabs span { display: block; min-width: 60px; padding: 13px 8px; text-align: center; border-bottom: 2px solid transparent; color: var(--muted); }
.search .search__tabs input:checked + span { color: var(--aubergine); border-color: var(--aubergine); font-weight: 700; }
.search .search__tabs input:focus-visible + span { outline: 3px solid #816192; outline-offset: 3px; }
.search .search__fields { display: grid; grid-template-columns: 1.3fr 1.15fr 1.35fr .8fr 1.2fr; gap: 20px; align-items: end; margin-top: 28px; }
.search .search__fields label,.search legend { font-size: 14px; }
.search .search__fields select { display: block; margin-top: 8px; font-size: 17px; }
.search .search__price > div { display: flex; gap: 6px; margin-top: 8px; }
.search .search__fields input { font-size: 17px; }
.search .search__fields .button { padding-inline: 20px; white-space: nowrap; }
.search .search__note { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; font-size: 16px; color: var(--muted); }
@media (max-width: 1100px) { .search .search__fields { grid-template-columns: 1fr 1fr 1fr; } .search .search__fields .button { grid-column: span 2; } }
@media (max-width: 700px) { .search { padding-block: 34px; } .search .search__tabs { gap: 24px; } .search .search__fields { grid-template-columns: 1fr 1fr; gap: 16px 12px; margin-top: 20px; } .search .search__fields > label:first-child,.search .search__price { grid-column: 1/-1; } .search .search__fields > label:nth-child(2) { grid-row: 2; } .search .search__fields > label:nth-child(4) { grid-row: 2; } .search .search__note { flex-wrap: wrap; gap: 10px; font-size: 14px; } }

/* === section: listings === */
.listings { padding: 28px 0 40px; background: var(--white); }
.listings .section-heading { margin-bottom: 20px; }
.listings .listings__grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: 30px 28px; }
.listings .listing { min-width: 0; }
.listings .listing__photo { display: block; position: relative; overflow: hidden; }
.listings .listing__photo img { width: 100%; height: 388px; transition: transform .25s; }
.listings .listing__photo:hover img { transform: scale(1.025); }
.listings .listing__tag { position: absolute; left: 14px; top: 14px; padding: 8px 20px; background: var(--citron); font-size: 15px; font-weight: 600; }
.listings .listing__heading { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }
.listings .listing h3 { font-size: 36px; }
.listings .listing__price { font: 600 32px/1.15 var(--display); white-space: nowrap; }
.listings .listing__neighborhood { color: var(--muted); margin-top: 4px; }
.listings .listing__heading a:hover { text-decoration: underline; }
.listings .listings__feedback { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; padding-block: 12px; border-block: 1px solid var(--rule); }
.listings .listings__empty { padding: 36px; background: var(--lavender); }
.listings .listings__more { margin-top: 16px; }
@media (max-width: 1100px) { .listings .listing__heading { flex-wrap: wrap; } .listings .listing h3 { font-size: 32px; } }
@media (max-width: 700px) { .listings { padding-block: 32px; } .listings .listings__grid { grid-template-columns: 1fr; gap: 32px; } .listings .listing__photo img { height: 260px; } .listings .listing__heading { flex-wrap: nowrap; align-items: baseline; } .listings .listing h3 { font-size: 28px; } .listings .listing__price { font-size: 25px; } .listings .listing__tag { font-size: 13px; padding: 7px 12px; } .listings .listings__feedback { align-items: flex-start; } }

/* === section: neighborhoods === */
.neighborhoods { background: var(--lavender); padding-top: 30px; }
.neighborhoods .eyebrow { margin-bottom: 5px; font-size: 11px; letter-spacing: .25em; }
.neighborhoods h2 { margin-bottom: 24px; }
.neighborhoods .neighborhoods__gallery { display: flex; gap: 2px; margin-inline: 26px; }
.neighborhoods .neighborhood { position: relative; min-width: 0; flex: 1; height: 440px; color: var(--white); overflow: hidden; transition: flex .25s; background: var(--aubergine); }
.neighborhoods .neighborhood img { position: absolute; inset: 0; width: 100%; height: 100%; }
.neighborhoods .neighborhood::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 45%,rgba(41,31,45,.25) 60%,var(--aubergine)); }
.neighborhoods .neighborhood__body { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; z-index: 1; }
.neighborhoods .neighborhood h3 { font-size: 27px; }
.neighborhoods .neighborhood button { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; padding: 0; background: none; color: inherit; text-align: left; font: inherit; }
.neighborhoods .neighborhood button span { font: 300 37px/1 var(--body); }
.neighborhoods .neighborhood button:focus-visible { outline-color: var(--citron); }
.neighborhoods .neighborhood__detail { font-size: 16px; line-height: 1.3; padding-top: 8px; }
.neighborhoods .neighborhood__stats { display: flex; gap: 22px; margin-top: 18px; }
.neighborhoods .neighborhood__stats span + span { padding-left: 22px; border-left: 1px solid #ffffff80; }
.neighborhoods.is-enhanced .neighborhood.is-active { flex: 2.45; }
.neighborhoods.is-enhanced .neighborhood:not(.is-active) .neighborhood__detail { display: none; }
.neighborhoods.is-enhanced .neighborhood.is-active h3 { font-size: 34px; }
.neighborhoods.is-enhanced .neighborhood.is-active button span { background: var(--citron); color: var(--aubergine); width: 45px; height: 45px; text-align: center; }
.neighborhoods:not(.is-enhanced) .neighborhoods__gallery { flex-wrap: wrap; }
.neighborhoods:not(.is-enhanced) .neighborhood { flex: 1 1 30%; }
.neighborhoods .neighborhoods__hint { display: flex; align-items: center; gap: 22px; padding-block: 14px; font-size: 16px; }
@media (max-width: 1100px) and (min-width: 701px) { .neighborhoods .neighborhood__body { padding: 14px; } .neighborhoods .neighborhood h3 { font-size: 23px; } .neighborhoods .neighborhood__stats { gap: 10px; flex-wrap: wrap; } .neighborhoods .neighborhood__stats span + span { padding: 0; border: 0; } }
@media (max-width: 700px) { .neighborhoods { padding-top: 32px; } .neighborhoods .neighborhoods__gallery { margin-inline: 22px; flex-direction: column; gap: 3px; } .neighborhoods .neighborhood { flex: auto; height: 290px; } .neighborhoods.is-enhanced .neighborhood { flex: auto; height: 78px; transition: height .25s; } .neighborhoods.is-enhanced .neighborhood.is-active { flex: auto; height: 340px; } .neighborhoods .neighborhood__body { padding: 16px; } .neighborhoods .neighborhood::after { background: linear-gradient(transparent,rgba(41,31,45,.94)); } .neighborhoods .neighborhood__stats { gap: 12px; font-size: 14px; } .neighborhoods .neighborhood__stats span + span { padding-left: 12px; } .neighborhoods h2 { font-size: 44px; } }

/* === section: numbers === */
.numbers { padding: 38px 0 48px; background: var(--aubergine); color: var(--white); }
.numbers .numbers__layout { display: grid; grid-template-columns: 37% 1fr; gap: 6%; }
.numbers .numbers__main { border-right: 1px solid #ffffff70; padding-right: 38px; }
.numbers .numbers__main strong { display: block; font: 700 clamp(120px,13.5vw,210px)/.95 var(--display); color: var(--citron); letter-spacing: -.03em; }
.numbers .numbers__main h2 { font-size: clamp(36px,3.45vw,54px); margin-top: 14px; white-space: nowrap; }
.numbers dl { display: grid; }
.numbers dl > div { display: grid; grid-template-columns: 36% 1fr; align-items: center; gap: 20px; padding: 10px 0; }
.numbers dl > div + div { border-top: 1px solid #ffffff70; }
.numbers dt { font: 600 60px/1.1 var(--display); white-space: nowrap; }
.numbers dd { font-size: 21px; }
@media (max-width: 1100px) { .numbers .numbers__layout { grid-template-columns: 1fr 1.4fr; gap: 30px; } .numbers .numbers__main h2 { white-space: normal; } .numbers dl > div { grid-template-columns: 1fr; gap: 5px; } .numbers dt { font-size: 44px; } .numbers dd { font-size: 16px; } }
@media (max-width: 700px) { .numbers .numbers__layout { grid-template-columns: 1fr; gap: 24px; } .numbers .numbers__main { border-right: 0; border-bottom: 1px solid #ffffff70; padding: 0 0 24px; } .numbers .numbers__main strong { font-size: 146px; } .numbers .numbers__main h2 { font-size: 38px; } .numbers dl > div { grid-template-columns: 1fr 1fr; gap: 18px; padding-block: 18px; } .numbers dt { font-size: 40px; } }

/* === section: process === */
.process { background: var(--white); padding: 42px 0 80px; }
.process .process__row { display: grid; grid-template-columns: 160px 1fr; gap: 36px; margin-top: 48px; }
.process .process__row > h3 { font-size: 48px; padding-top: 18px; }
.process ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.process .process__line { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.process .process__line::after { content: ''; height: 1px; background: var(--rule); flex: 1; }
.process .process__line span { display: grid; place-items: center; width: 38px; height: 38px; background: var(--lavender); font-weight: 600; }
.process li:last-child .process__line::after { background: linear-gradient(var(--rule),var(--rule)) left center / 100% 1px no-repeat; content: '→'; height: 38px; text-align: right; line-height: 34px; font-size: 32px; }
.process h4 { font-size: 32px; margin-bottom: 12px; }
.process li p { font-size: 21px; line-height: 1.45; }
@media (max-width: 1000px) { .process .process__row { grid-template-columns: 1fr; gap: 20px; } .process li p { font-size: 17px; } }
@media (max-width: 700px) { .process { padding-block: 36px; } .process .process__row { margin-top: 32px; } .process .process__row > h3 { font-size: 38px; padding: 0; } .process ol { grid-template-columns: 1fr; gap: 26px; } .process h4 { font-size: 29px; } .process .process__line { margin-bottom: 12px; } }

/* === section: valuation === */
.valuation { background: var(--citron); padding: 54px 0 60px; }
.valuation .valuation__layout { display: grid; grid-template-columns: 37% 1fr; gap: 4%; align-items: center; }
.valuation h2 { font-size: 72px; }
.valuation p { font-size: 20px; }
.valuation form { display: flex; margin-top: 22px; }
.valuation input { flex: 1; padding: 20px; }
.valuation .button { flex-shrink: 0; font-size: 18px; }
@media (max-width: 1000px) { .valuation h2 { font-size: 54px; } .valuation form { flex-wrap: wrap; } .valuation input { flex-basis: 100%; } .valuation .button { width: 100%; } }
@media (max-width: 700px) { .valuation { padding-block: 36px; } .valuation .valuation__layout { grid-template-columns: 1fr; gap: 22px; } .valuation h2 { font-size: 48px; } .valuation p { font-size: 16px; } .valuation form { gap: 10px; } }

/* === section: agents-testimonials === */
.agents-testimonials { display: grid; grid-template-columns: 34.4% 1fr; background: var(--lavender); }
.agents-testimonials .testimonials { background: var(--aubergine); color: var(--white); padding: 55px 50px 60px; display: flex; flex-direction: column; }
.agents-testimonials .testimonials .eyebrow { color: var(--citron); font: 500 18px/1.4 var(--display); letter-spacing: .25em; }
.agents-testimonials .testimonials__mark { font: 700 180px/.8 Georgia, serif; height: 108px; margin-top: 35px; color: var(--citron); }
.agents-testimonials blockquote { font: 600 clamp(40px,3.95vw,62px)/1.08 var(--display); letter-spacing: -.01em; }
.agents-testimonials figcaption { font-size: 19px; margin-top: 28px; line-height: 1.5; }
.agents-testimonials figcaption strong,.agents-testimonials figcaption span { display: block; }
.agents-testimonials figcaption strong { font-weight: 600; }
.agents-testimonials .testimonial + .testimonial { margin-top: 36px; }
.agents-testimonials.is-enhanced .testimonial { margin-top: 0; }
.agents-testimonials .testimonials__controls { display: flex; gap: 20px; margin-top: auto; padding-top: 40px; }
.agents-testimonials .testimonials__controls button { width: 72px; height: 72px; border: 1px solid var(--white); background: transparent; color: var(--white); font-size: 40px; }
.agents-testimonials .testimonials__controls button:hover { background: #ffffff18; }
.agents-testimonials .testimonials__controls button:focus-visible { outline-color: var(--citron); }
.agents-testimonials .agents { padding: 28px 48px 50px 56px; }
.agents-testimonials .agents .section-heading { align-items: flex-end; margin-bottom: 30px; }
.agents-testimonials .agents h2 { font-size: 78px; }
.agents-testimonials .agents .text-link { font-size: 19px; padding-bottom: 23px; gap: 14px; }
.agents-testimonials .agents__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 26px; }
.agents-testimonials .agent img { width: 100%; height: 235px; object-position: center 35%; }
.agents-testimonials .agent h3 { font-size: 30px; margin-top: 12px; margin-bottom: 4px; }
.agents-testimonials .agent p { font-size: 17px; }
.agents-testimonials .agent .agent__focus { font-size: 13px; color: var(--muted); margin-block: 3px; }
.agents-testimonials .agent a:hover { text-decoration: underline; }
@media (max-width: 1200px) { .agents-testimonials .testimonials { padding: 40px 30px; } .agents-testimonials .agents { padding: 30px; } .agents-testimonials .agents .section-heading { flex-wrap: wrap; } .agents-testimonials .agents h2 { font-size: 60px; } .agents-testimonials .agents .text-link { padding: 0; } .agents-testimonials .agent img { height: 200px; } }
@media (max-width: 700px) { .agents-testimonials { grid-template-columns: 1fr; } .agents-testimonials .testimonials { padding: 36px 22px; } .agents-testimonials .testimonials__mark { font-size: 170px; height: 88px; margin-top: 24px; } .agents-testimonials blockquote { font-size: 43px; } .agents-testimonials figcaption { font-size: 16px; } .agents-testimonials .testimonials__controls { padding-top: 24px; } .agents-testimonials .testimonials__controls button { height: 50px; width: 50px; font-size: 30px; } .agents-testimonials .agents { padding: 36px 22px; } .agents-testimonials .agents h2 { font-size: 50px; } .agents-testimonials .agents__grid { gap: 28px 16px; } .agents-testimonials .agent img { height: 160px; } .agents-testimonials .agent h3 { font-size: 27px; } .agents-testimonials .agent p { font-size: 14px; } .agents-testimonials .agent p:last-child a { display: block; } .agents-testimonials .agent .agent__focus { min-height: 58px; font-size: 13px; } }

/* === section: guides === */
.guides { background: var(--white); padding: 38px 0 45px; }
.guides .section-heading { margin-bottom: 36px; }
.guides .guides__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.guides .guide { display: grid; grid-template-columns: 35% 1fr; gap: 22px; padding: 15px 26px; border-right: 1px solid var(--rule); }
.guides .guide:first-child { padding-left: 0; }
.guides .guide:last-child { padding-right: 0; border: 0; }
.guides .guide__image img { width: 100%; height: 195px; }
.guides .guide > div { display: flex; flex-direction: column; }
.guides h3 { font-size: 28px; line-height: 1.05; }
.guides h3 a:hover { text-decoration: underline; }
.guides .guide p { margin-top: 14px; color: var(--muted); }
.guides .guide__arrow { align-self: flex-end; margin-top: auto; }
@media (max-width: 1100px) { .guides .guide { gap: 14px; padding-inline: 18px; } .guides h3 { font-size: 24px; } }
@media (max-width: 700px) { .guides { padding-block: 34px; } .guides .guides__grid { grid-template-columns: 1fr; } .guides .guide,.guides .guide:first-child,.guides .guide:last-child { padding: 22px 0; border: 0; border-bottom: 1px solid var(--rule); grid-template-columns: 31% 1fr; gap: 20px; } .guides .guide:last-child { border-bottom: 0; } .guides .guide__image img { height: 148px; } .guides h3 { font-size: 27px; } .guides .section-heading { margin-bottom: 8px; } }

/* === section: faq === */
.faq { padding: 52px 0 56px; background: var(--lavender); }
.faq .faq__layout { display: grid; grid-template-columns: 26% 1fr; }
.faq .faq__items { border-left: 1px solid var(--rule); }
.faq details { padding: 22px 0 22px 44px; border-bottom: 1px solid var(--rule); }
.faq details:first-child { padding-top: 0; }
.faq details:last-child { border-bottom: 0; padding-bottom: 0; }
.faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 22px; font-size: 26px; font-weight: 600; letter-spacing: -.04em; line-height: 1.4; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary span { position: relative; width: 24px; height: 24px; flex-shrink: 0; }
.faq summary span::before,.faq summary span::after { content: ''; position: absolute; background: currentColor; top: 11px; left: 0; width: 24px; height: 1px; }
.faq summary span::after { transform: rotate(90deg); }
.faq details[open] summary span::after { transform: rotate(0); }
.faq details p { font-size: 21px; color: var(--muted); margin-top: 12px; padding-right: 40px; }
@media (max-width: 700px) { .faq { padding-block: 36px; } .faq .faq__layout { grid-template-columns: 1fr; gap: 28px; } .faq h2 br { display: none; } .faq .faq__items { border: 0; } .faq details { padding: 20px 0; } .faq summary { font-size: 18px; letter-spacing: -.02em; gap: 16px; } .faq details p { font-size: 16px; padding-right: 16px; } }

/* === section: newsletter === */
.newsletter { background: var(--white); padding: 80px 0 88px; }
.newsletter .newsletter__layout { display: grid; grid-template-columns: 40% 1fr; align-items: center; gap: 4%; }
.newsletter h2 { font-size: clamp(64px,6.4vw,99px); line-height: .98; }
.newsletter p { font-size: 20px; }
.newsletter form { display: flex; gap: 18px; margin-top: 34px; }
.newsletter input { background: transparent; border-bottom: 1px solid var(--aubergine); padding-inline: 0; flex: 1; }
.newsletter .button { flex-shrink: 0; }
@media (max-width: 700px) { .newsletter { padding-block: 44px; } .newsletter .newsletter__layout { grid-template-columns: 1fr; gap: 24px; } .newsletter h2 { font-size: 60px; } .newsletter p { font-size: 16px; } .newsletter form { flex-direction: column; margin-top: 18px; } }

/* === section: footer === */
.footer { background: var(--aubergine); color: var(--white); padding: 66px 0 60px; }
.footer .footer__grid { display: grid; grid-template-columns: 1.45fr 1fr 1.1fr .9fr 1.15fr; gap: 36px; }
.footer .footer__logo { display: inline-block; }
.footer .wordmark { font-size: 75px; }
.footer .wordmark-sub { font-size: 15px; margin-top: 18px; letter-spacing: .34em; }
.footer .footer__about p { margin-top: 42px; line-height: 1.55; max-width: 290px; }
.footer h2 { font-size: 31px; color: var(--citron); margin-bottom: 28px; letter-spacing: 0; }
.footer nav > a { display: block; margin-bottom: 17px; }
.footer nav a:hover,.footer .footer__contact > a:not(.button):hover { text-decoration: underline; }
.footer .footer__contact { min-width: 0; }
.footer .footer__contact > a { display: block; margin-top: 13px; }
.footer .footer__contact > a[href^="mailto"] { font-size: 16px; overflow-wrap: anywhere; }
.footer .footer__contact p { margin-top: 14px; }
.footer .footer__contact .button { font-size: 16px; padding: 13px; white-space: nowrap; margin-top: 24px; min-height: 50px; }
.footer .footer__legal { border-top: 1px solid #ffffff80; margin-top: 48px; padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 30px; font-size: 14px; }
.footer .footer__legal > a { white-space: nowrap; display: flex; align-items: center; gap: 18px; font-size: 30px; }
.footer .footer__legal > a span { font-size: 14px; }
.footer :focus-visible { outline-color: var(--citron); }
@media (max-width: 1100px) { .footer .footer__grid { grid-template-columns: repeat(3,1fr); gap: 38px; } .footer .footer__about { grid-row: span 2; } }
@media (max-width: 700px) { .footer { padding-block: 40px; } .footer .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; } .footer .footer__about { grid-column: 1/-1; grid-row: auto; } .footer .wordmark { font-size: 55px; } .footer .wordmark-sub { font-size: 10px; margin-top: 14px; } .footer .footer__about p { margin-top: 24px; max-width: none; } .footer h2 { font-size: 27px; margin-bottom: 18px; } .footer nav > a { margin-bottom: 12px; } .footer .footer__contact { grid-column: 1/-1; } .footer .footer__contact .button { display: inline-flex; } .footer .footer__legal { flex-direction: column; align-items: flex-start; margin-top: 32px; font-size: 12px; } }
