/* GENERATED by feed/build_fg_css.py from css/_fg-source.css. Do not edit by hand. */
:where(main, .fg-out) {
  --paper: #f4efe6;
  --paper-2: #ebe4d7;
  --paper-3: #e1d8c8;
  --card: #fbf8f2;
  --ink: #16130f;
  --ink-2: #4a443b;
  --ink-3: #6b6356;
  --rule: #d3c9b7;
  --rule-strong: #16130f;
  --red: #ec0712;          
  --red-ink: #b30a12;      
  --green: #2f5b45;        
  --night: #1b1814;        
  --night-2: #2a261f;
  --on-night: #efe8db;
  --on-night-2: #b9b0a0;

  --f-display: "Newsreader", Georgia, "Times New Roman", serif;
  --f-text: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wrap: 1240px;
  --gutter: clamp(16px, 4vw, 48px);
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;
  --shadow: 0 1px 2px rgba(22, 19, 15, .06), 0 8px 24px -12px rgba(22, 19, 15, .22);
  --ease: cubic-bezier(.16, 1, .3, 1);
  --header-h: 72px;
}
*, *::before, *::after { box-sizing: border-box; }
:where(main, .fg-out) img, :where(main, .fg-out) svg, :where(main, .fg-out) video { display: block; max-width: 100%; }
:where(main, .fg-out) img { height: auto; }
:where(main, .fg-out) a { color: inherit; }
:where(main, .fg-out) button, :where(main, .fg-out) input, :where(main, .fg-out) select, :where(main, .fg-out) textarea { font: inherit; color: inherit; }
:where(main, .fg-out) input, :where(main, .fg-out) textarea { caret-color: var(--red); }
:where(main, .fg-out) :focus-visible { outline: 2px solid var(--red-ink); outline-offset: 3px; border-radius: 2px; }
:where(main, .fg-out) .num, :where(main, .fg-out) table, :where(main, .fg-out) .facts, :where(main, .fg-out) .price { font-variant-numeric: tabular-nums lining-nums; }
:where(main, .fg-out) .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(main, .fg-out) .wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
:where(main, .fg-out) h1, :where(main, .fg-out) h2, :where(main, .fg-out) h3, :where(main, .fg-out) .display { font-family: var(--f-display); font-weight: 500; letter-spacing: -0.02em; line-height: 1.04; margin: 0; text-wrap: balance; font-optical-sizing: auto; }
:where(main, .fg-out) h1 { font-size: clamp(2.6rem, 5.4vw, 5.25rem); }
:where(main, .fg-out) h2 { font-size: clamp(2rem, 3.6vw, 3.25rem); line-height: 1.08; }
:where(main, .fg-out) h3 { font-size: clamp(1.3rem, 1.6vw, 1.5rem); line-height: 1.2; letter-spacing: -0.01em; }
:where(main, .fg-out) h4 { font: 600 1rem/1.3 var(--f-text); margin: 0; }
:where(main, .fg-out) p { margin: 0; }
:where(main, .fg-out) .lede { font-size: clamp(1.1rem, 1.35vw, 1.3rem); line-height: 1.5; color: var(--ink-2); max-width: 46ch; }
:where(main, .fg-out) .muted { color: var(--ink-3); }
:where(main, .fg-out) .small { font-size: .875rem; line-height: 1.5; }
:where(main, .fg-out) .tiny { font-size: .8125rem; line-height: 1.5; color: var(--ink-3); }
:where(main, .fg-out) em.serif, :where(main, .fg-out) .serif { font-family: var(--f-display); }
:where(main, .fg-out) .link { color: var(--ink); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px; transition: background-size .35s var(--ease), color .2s; font-weight: 600; }
:where(main, .fg-out) .link:hover { color: var(--red-ink); background-size: 0 1px; background-position: 100% 100%; }
:where(main, .fg-out) .link--arrow::after { content: ""; display: inline-block; width: .55em; height: .55em; margin-left: .4em; border-top: 1.6px solid currentColor; border-right: 1.6px solid currentColor; transform: translateY(-.08em) rotate(45deg); transition: transform .3s var(--ease); }
:where(main, .fg-out) .link--arrow:hover::after { transform: translate(.2em, -.08em) rotate(45deg); }
:where(main, .fg-out) .prose a, :where(main, .fg-out) .inline-link { color: var(--red-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:where(main, .fg-out) .prose a:hover, :where(main, .fg-out) .inline-link:hover { text-decoration-thickness: 2px; }
:where(main, .fg-out) .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1.5px solid var(--ink); background: var(--ink); color: var(--paper); font: 600 1rem/1 var(--f-text); text-decoration: none; cursor: pointer; transition: transform .25s var(--ease), background-color .2s, color .2s, box-shadow .25s; white-space: nowrap; }
:where(main, .fg-out) .btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px -8px rgba(22, 19, 15, .5); }
:where(main, .fg-out) .btn:active { transform: translateY(1px) scale(.98); box-shadow: none; }
:where(main, .fg-out) .btn--red { background: var(--red); border-color: var(--red); color: #fff; }
:where(main, .fg-out) .btn--red:hover { background: #d10610; border-color: #d10610; }
:where(main, .fg-out) .btn--ghost { background: transparent; color: var(--ink); }
:where(main, .fg-out) .btn--ghost:hover { background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .btn--light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
:where(main, .fg-out) .btn--sm { min-height: 40px; padding: 0 16px; font-size: .9375rem; }
:where(main, .fg-out) .btn--block { width: 100%; }
:where(main, .fg-out) .section { padding-block: clamp(72px, 10vw, 136px); }
:where(main, .fg-out) .section--tight { padding-block: clamp(56px, 7vw, 96px); }
:where(main, .fg-out) .section--surface { background: var(--paper-2); }
:where(main, .fg-out) .section--night { background: var(--night); color: var(--on-night); }
:where(main, .fg-out) .section--night .lede, :where(main, .fg-out) .section--night .muted { color: var(--on-night-2); }
:where(main, .fg-out) .section-head { display: grid; gap: 18px; margin-bottom: clamp(32px, 4vw, 56px); max-width: 760px; }
:where(main, .fg-out) .section-head--split { max-width: none; grid-template-columns: 1fr; align-items: end; }
:where(main, .fg-out) .section-head--split { max-width: 760px; gap: 14px; align-items: start; }
:where(main, .fg-out) .section-head--split .lede { max-width: 62ch; }
:where(main, .fg-out) .section-head--split > :is(a, :where(main, .fg-out) .link) { justify-self: start; }
:where(main, .fg-out) .rule { border: 0; border-top: 1px solid var(--rule); margin: 0; }
:where(main, .fg-out) .rule--ink { border-top-color: var(--ink); }
@media (min-width: 1024px) and (min-height: 700px) {
:where(main, .fg-out) .screen { min-height: calc(100svh - var(--header-h)); display: flex; flex-direction: column; justify-content: center; }
}
@media (prefers-reduced-motion: no-preference) {
:where(main, .fg-out) [data-enter] > * { animation: rise .9s var(--ease) both; }
:where(main, .fg-out) [data-enter] > *:nth-child(2) { animation-delay: .08s; }
:where(main, .fg-out) [data-enter] > *:nth-child(3) { animation-delay: .16s; }
:where(main, .fg-out) [data-enter] > *:nth-child(4) { animation-delay: .24s; }
:where(main, .fg-out) [data-enter] > *:nth-child(5) { animation-delay: .32s; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
:where(main, .fg-out) .photo { position: relative; overflow: hidden; border-radius: var(--r-md); background: var(--paper-3); margin: 0; }
:where(main, .fg-out) .photo > img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
:where(main, .fg-out) a:hover > .photo > img, :where(main, .fg-out) a.photo:hover > img, :where(main, .fg-out) .card:hover .photo > img { transform: scale(1.025); }
:where(main, .fg-out) .hero { padding-block: clamp(40px, 6vw, 72px) clamp(48px, 6vw, 80px); }
:where(main, .fg-out) .hero__grid { display: grid; gap: clamp(32px, 4vw, 64px); align-items: center; }
@media (min-width: 1024px) {
:where(main, .fg-out) .hero__grid { grid-template-columns: 1.02fr 1fr; }
}
:where(main, .fg-out) .hero__copy { display: grid; gap: 26px; }
:where(main, .fg-out) .hero h1 { max-width: 12ch; }
:where(main, .fg-out) .hero h1 em { font-style: italic; font-weight: 400; }
:where(main, .fg-out) .hero .lede { max-width: 40ch; }
:where(main, .fg-out) .search { display: flex; align-items: stretch; background: var(--card); border: 1.5px solid var(--ink); border-radius: 999px; padding: 6px; max-width: 560px; box-shadow: var(--shadow); }
:where(main, .fg-out) .search label { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 18px; min-width: 0; }
:where(main, .fg-out) .search label span { font-size: .75rem; font-weight: 600; color: var(--ink-3); line-height: 1.2; }
:where(main, .fg-out) .search input { border: 0; background: transparent; font-size: 1rem; padding: 2px 0 4px; outline: none; min-width: 0; width: 100%; }
:where(main, .fg-out) .search input::placeholder { color: var(--ink-3); opacity: 1; }
:where(main, .fg-out) .search:focus-within { outline: 2px solid var(--red-ink); outline-offset: 3px; }
:where(main, .fg-out) .hero__alt { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; font-size: .9375rem; }
:where(main, .fg-out) .hero__photo { aspect-ratio: 4 / 3.3; border-radius: var(--r-lg); }
:where(main, .fg-out) .hero__photo-wrap { position: relative; }
:where(main, .fg-out) .hero__tag { position: absolute; left: 16px; bottom: 16px; right: 16px; display: flex; justify-content: space-between; align-items: end; gap: 12px; background: var(--card); border-radius: var(--r-md); padding: 14px 16px; box-shadow: var(--shadow); text-decoration: none; transition: transform .25s var(--ease); }
:where(main, .fg-out) .hero__tag:hover { transform: translateY(-2px); }
:where(main, .fg-out) .hero__tag strong { font: 500 1.25rem/1.15 var(--f-display); display: block; }
:where(main, .fg-out) .hero__tag .price { font: 600 1.125rem/1 var(--f-text); white-space: nowrap; }
@media (max-width: 560px) {
:where(main, .fg-out) .search { border-radius: var(--r-lg); flex-direction: column; gap: 6px; }
:where(main, .fg-out) .search label { padding: 10px 14px 4px; }
:where(main, .fg-out) .search .btn { width: 100%; }
:where(main, .fg-out) .search input { font-size: 16px; }
}
:where(main, .fg-out) .ledger { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); }
:where(main, .fg-out) .ledger > div { padding: 18px 0 4px; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .ledger dt { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .ledger dd { margin: 4px 0 0; font: 500 clamp(1.5rem, 2.2vw, 2rem)/1.1 var(--f-display); }
@media (min-width: 720px) {
:where(main, .fg-out) .ledger { grid-template-columns: repeat(4, 1fr); }
:where(main, .fg-out) .ledger > div { padding-right: 16px; }
:where(main, .fg-out) .ledger > div + div { padding-left: 16px; border-left: 1px solid var(--rule); }
}
:where(main, .fg-out) .index { display: grid; gap: clamp(32px, 4vw, 64px); align-items: stretch; }
@media (min-width: 1024px) {
:where(main, .fg-out) .index { grid-template-columns: 1fr 1.05fr; }
}
:where(main, .fg-out) .index__photo { border-radius: var(--r-lg); min-height: 360px; height: 100%; }
:where(main, .fg-out) .areas { width: 100%; border-collapse: collapse; }
:where(main, .fg-out) .areas caption { text-align: left; padding-bottom: 10px; font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .areas th, :where(main, .fg-out) .areas td { text-align: left; padding: 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .areas thead th { font-size: .8125rem; font-weight: 600; color: var(--ink-3); padding: 0 0 10px; border-bottom: 1px solid var(--ink); }
:where(main, .fg-out) .areas thead th:not(:first-child), :where(main, .fg-out) .areas td:not(:first-child) { text-align: right; }
:where(main, .fg-out) .areas tbody a { display: flex; align-items: baseline; gap: 10px; padding: 16px 0; text-decoration: none; font: 500 clamp(1.25rem, 1.8vw, 1.6rem)/1.1 var(--f-display); }
:where(main, .fg-out) .areas tbody a::after { content: ""; width: 7px; height: 7px; border-top: 1.5px solid var(--ink-3); border-right: 1.5px solid var(--ink-3); transform: rotate(45deg); transition: transform .3s var(--ease), border-color .2s; margin-left: 4px; }
:where(main, .fg-out) .areas tbody tr:hover a { color: var(--red-ink); }
:where(main, .fg-out) .areas tbody tr:hover a::after { transform: translateX(3px) rotate(45deg); border-color: var(--red-ink); }
:where(main, .fg-out) .areas td { font-size: 1.0625rem; white-space: nowrap; }
:where(main, .fg-out) .areas td:not(:first-child) { padding-left: 16px; }
:where(main, .fg-out) .areas-foot { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; align-items: center; }
:where(main, .fg-out) .cards { display: grid; gap: clamp(20px, 2.4vw, 32px); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
:where(main, .fg-out) .card { position: relative; display: flex; flex-direction: column; gap: 14px; text-decoration: none; transition: transform .3s var(--ease); }
:where(main, .fg-out) .card:hover { transform: translateY(-2px); }
:where(main, .fg-out) .card .photo { aspect-ratio: 4 / 3; }
:where(main, .fg-out) .card__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
:where(main, .fg-out) .card__price { font: 600 1.25rem/1.1 var(--f-text); }
:where(main, .fg-out) .card__area { font-size: .875rem; color: var(--ink-3); white-space: nowrap; }
:where(main, .fg-out) .card__addr { font: 500 1.3rem/1.2 var(--f-display); }
:where(main, .fg-out) .card__facts { display: flex; gap: 14px; font-size: .875rem; color: var(--ink-2); flex-wrap: wrap; }
:where(main, .fg-out) .card__facts span + span::before { content: ""; display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--ink-3); margin-right: 14px; vertical-align: middle; }
:where(main, .fg-out) .badge { position: absolute; top: 12px; left: 12px; z-index: 1; background: var(--card); color: var(--ink); font-size: .8125rem; font-weight: 600; padding: 6px 10px; border-radius: 999px; }
:where(main, .fg-out) .badge--red { background: var(--red); color: #fff; }
:where(main, .fg-out) .split { display: grid; gap: clamp(32px, 5vw, 80px); align-items: center; }
@media (min-width: 1024px) {
:where(main, .fg-out) .split { grid-template-columns: 1fr 1fr; }
:where(main, .fg-out) .split--rev > :first-child { order: 2; }
}
:where(main, .fg-out) .split .photo { aspect-ratio: 5 / 4; border-radius: var(--r-lg); }
:where(main, .fg-out) .steps { list-style: none; margin: 32px 0 36px; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .steps li { display: grid; grid-template-columns: 2.2em 1fr; gap: 4px 12px; padding: 20px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .steps li::before { counter-increment: step; content: counter(step); font: 500 1.4rem/1 var(--f-display); color: var(--red-ink); grid-row: span 2; padding-top: 2px; }
:where(main, .fg-out) .steps { counter-reset: step; }
:where(main, .fg-out) .steps p { color: var(--ink-2); font-size: 1rem; }
:where(main, .fg-out) .reviews { display: grid; gap: clamp(32px, 4vw, 56px); }
@media (min-width: 1024px) {
:where(main, .fg-out) .reviews { grid-template-columns: 1.35fr 1fr; align-items: start; }
}
:where(main, .fg-out) .quote-lg blockquote { margin: 0; font: 400 clamp(1.6rem, 2.6vw, 2.4rem)/1.25 var(--f-display); letter-spacing: -0.012em; text-wrap: pretty; }
:where(main, .fg-out) .quote-lg blockquote::before { content: "\201C"; display: block; font-size: 4rem; line-height: .6; color: var(--red); margin-bottom: 18px; }
:where(main, .fg-out) .quote-lg figcaption, :where(main, .fg-out) .quote-sm figcaption { margin-top: 22px; font-size: .9375rem; color: var(--on-night-2); }
:where(main, .fg-out) .quote-lg figcaption strong, :where(main, .fg-out) .quote-sm figcaption strong { color: var(--on-night); font-weight: 600; }
:where(main, .fg-out) .quote-sm { margin: 0; padding: 24px 0; border-top: 1px solid rgba(239, 232, 219, .22); }
:where(main, .fg-out) .quote-sm blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.55; color: var(--on-night); }
:where(main, .fg-out) .quote-sm figcaption { margin-top: 12px; }
:where(main, .fg-out) .section--night .link { color: var(--on-night); }
:where(main, .fg-out) .section--night .link:hover { color: #fff; }
:where(main, .fg-out) .posts { display: grid; gap: clamp(24px, 3vw, 40px); }
@media (min-width: 900px) {
:where(main, .fg-out) .posts { grid-template-columns: 1.4fr 1fr; }
}
:where(main, .fg-out) .post { display: grid; gap: 14px; text-decoration: none; transition: transform .3s var(--ease); }
:where(main, .fg-out) .post:hover { transform: translateY(-2px); }
:where(main, .fg-out) .post .photo { aspect-ratio: 16 / 10; }
:where(main, .fg-out) .post h3 { transition: color .2s; }
:where(main, .fg-out) .post:hover h3 { color: var(--red-ink); }
:where(main, .fg-out) .post p { color: var(--ink-2); font-size: 1rem; }
:where(main, .fg-out) .post-list { display: grid; align-content: start; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .post-row { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--rule); text-decoration: none; align-items: center; }
:where(main, .fg-out) .post-row .photo { aspect-ratio: 4 / 3; }
:where(main, .fg-out) .post-row h3 { font-size: 1.2rem; }
:where(main, .fg-out) .post-row:hover h3 { color: var(--red-ink); }
:where(main, .fg-out) .meta { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .close { display: grid; gap: 40px; align-items: center; }
@media (min-width: 900px) {
:where(main, .fg-out) .close { grid-template-columns: auto 1fr; gap: 64px; }
}
:where(main, .fg-out) .close__portrait { width: clamp(180px, 22vw, 280px); aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--paper-3); }
:where(main, .fg-out) .close__portrait img { width: 100%; height: 100%; object-fit: cover; }
:where(main, .fg-out) .close h2 { max-width: 16ch; }
:where(main, .fg-out) .close__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
:where(main, .fg-out) .crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: .875rem; color: var(--ink-3); padding: 20px 0 0; list-style: none; margin: 0; }
:where(main, .fg-out) .crumbs a { color: var(--ink-2); text-decoration: none; }
:where(main, .fg-out) .crumbs a:hover { color: var(--red-ink); text-decoration: underline; }
:where(main, .fg-out) .crumbs li + li::before { content: "/"; margin-right: 10px; color: var(--rule); }
:where(main, .fg-out) .p-head { display: grid; gap: 20px; padding-block: 24px 28px; }
@media (min-width: 1024px) {
:where(main, .fg-out) .p-head { grid-template-columns: 1fr auto; align-items: end; gap: 48px; }
}
:where(main, .fg-out) .p-head h1 { font-size: clamp(2.2rem, 4.4vw, 4rem); }
:where(main, .fg-out) .p-sub { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: var(--ink-2); font-size: .9688rem; align-items: center; }
:where(main, .fg-out) .status { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--green); }
:where(main, .fg-out) .status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
:where(main, .fg-out) .p-price { text-align: left; }
@media (min-width: 1024px) {
:where(main, .fg-out) .p-price { text-align: right; }
}
:where(main, .fg-out) .p-price .price { font: 500 clamp(2.2rem, 3.6vw, 3.25rem)/1 var(--f-display); letter-spacing: -0.02em; }
:where(main, .fg-out) .p-price .tiny { margin-top: 8px; }
:where(main, .fg-out) .gallery { display: grid; gap: 8px; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; aspect-ratio: 2.35 / 1; border-radius: var(--r-lg); overflow: hidden; position: relative; }
:where(main, .fg-out) .gallery .photo { border-radius: 0; }
:where(main, .fg-out) .gallery .photo:first-child { grid-row: span 2; }
:where(main, .fg-out) .gallery__all { position: absolute; right: 16px; bottom: 16px; }
@media (max-width: 760px) {
:where(main, .fg-out) .gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto; aspect-ratio: auto; margin-inline: calc(var(--gutter) * -1); border-radius: 0; }
:where(main, .fg-out) .gallery .photo:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 4 / 3; }
:where(main, .fg-out) .gallery .photo:nth-child(n+4) { display: none; }
:where(main, .fg-out) .gallery .photo { aspect-ratio: 4 / 3; }
}
:where(main, .fg-out) .facts { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ink); margin: 0; }
:where(main, .fg-out) .facts > div { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .facts dt { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .facts dd { margin: 2px 0 0; font: 500 1.6rem/1.15 var(--f-display); }
@media (min-width: 720px) {
:where(main, .fg-out) .facts { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
:where(main, .fg-out) .facts { grid-template-columns: repeat(6, 1fr); }
:where(main, .fg-out) .facts > div + div { padding-left: 16px; border-left: 1px solid var(--rule); }
}
:where(main, .fg-out) .p-layout { display: grid; gap: clamp(40px, 5vw, 72px); padding-block: 48px 96px; align-items: start; }
@media (min-width: 1024px) {
:where(main, .fg-out) .p-layout { grid-template-columns: minmax(0, 1fr) 380px; }
}
:where(main, .fg-out) .p-main { display: grid; gap: clamp(56px, 6vw, 88px); min-width: 0; }
:where(main, .fg-out) .p-block { display: grid; gap: 22px; }
:where(main, .fg-out) .p-block > h2 { font-size: clamp(1.75rem, 2.6vw, 2.4rem); }
:where(main, .fg-out) .p-block .prose { max-width: 68ch; }
:where(main, .fg-out) .prose p + p { margin-top: 1em; }
:where(main, .fg-out) .spec { width: 100%; border-collapse: collapse; font-size: 1rem; }
:where(main, .fg-out) .spec th, :where(main, .fg-out) .spec td { text-align: left; vertical-align: top; padding: 14px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .spec th { width: 34%; font-weight: 500; color: var(--ink-3); padding-right: 16px; }
:where(main, .fg-out) .spec tr:first-child th, :where(main, .fg-out) .spec tr:first-child td { border-top: 1px solid var(--ink); }
:where(main, .fg-out) .work { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--ink); }
@media (min-width: 720px) {
:where(main, .fg-out) .work { grid-template-columns: 1fr 1fr; column-gap: 32px; }
}
:where(main, .fg-out) .work li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--rule); font-size: 1rem; }
:where(main, .fg-out) .work li::before { content: ""; width: 14px; height: 8px; border-left: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: rotate(-45deg) translate(2px, 3px); }
:where(main, .fg-out) .work strong { display: block; font-weight: 600; }
:where(main, .fg-out) .work span { color: var(--ink-2); font-size: .9375rem; }
:where(main, .fg-out) .plans { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 720px) {
:where(main, .fg-out) .plans { grid-template-columns: repeat(3, 1fr); }
}
:where(main, .fg-out) .plan { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: var(--r-md); padding: 10px; display: grid; gap: 10px; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; }
:where(main, .fg-out) .plan:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
:where(main, .fg-out) .plan img { aspect-ratio: 4 / 3; object-fit: contain; width: 100%; }
:where(main, .fg-out) .plan h3 { font: 600 .9375rem/1.3 var(--f-text); letter-spacing: 0; padding: 0 4px 4px; display: flex; justify-content: space-between; }
:where(main, .fg-out) .plan h3 span { color: var(--ink-3); font-weight: 500; }
:where(main, .fg-out) .checks { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 720px) {
:where(main, .fg-out) .checks { grid-template-columns: 1fr 1fr; }
}
:where(main, .fg-out) .check { display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; padding: 12px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); text-decoration: none; transition: transform .3s var(--ease), border-color .2s; }
:where(main, .fg-out) .check:hover { transform: translateY(-2px); border-color: var(--ink); }
:where(main, .fg-out) .check .photo { aspect-ratio: 1; border-radius: var(--r-sm); }
:where(main, .fg-out) .check h3 { font-size: 1.15rem; }
:where(main, .fg-out) .check p { font-size: .875rem; color: var(--ink-2); margin-top: 4px; }
:where(main, .fg-out) .hood { display: grid; gap: 24px; }
@media (min-width: 900px) {
:where(main, .fg-out) .hood { grid-template-columns: 1.1fr 1fr; align-items: start; gap: 32px; }
}
:where(main, .fg-out) .hood > * { min-width: 0; }
:where(main, .fg-out) .hood .photo { aspect-ratio: 3 / 2; }
:where(main, .fg-out) .hood dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .hood dl > div { padding: 14px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .hood dt { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .hood dd { margin: 2px 0 0; font: 500 1.4rem/1.2 var(--f-display); }
:where(main, .fg-out) .agent { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 18px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); padding: 24px; box-shadow: var(--shadow); }
:where(main, .fg-out) .agent__who { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; }
:where(main, .fg-out) .agent__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
:where(main, .fg-out) .agent__who strong { font: 500 1.3rem/1.15 var(--f-display); display: block; }
:where(main, .fg-out) .agent h2 { font-size: 1.6rem; }
:where(main, .fg-out) .field { display: grid; gap: 6px; }
:where(main, .fg-out) .field label, :where(main, .fg-out) .field legend { font-size: .875rem; font-weight: 600; }
:where(main, .fg-out) .field input, :where(main, .fg-out) .field select, :where(main, .fg-out) .field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1.5px solid var(--rule); border-radius: var(--r-md); background: #fff; font-size: 16px; transition: border-color .2s; }
:where(main, .fg-out) .field textarea { min-height: 88px; resize: vertical; }
:where(main, .fg-out) .field input:hover, :where(main, .fg-out) .field select:hover, :where(main, .fg-out) .field textarea:hover { border-color: var(--ink-3); }
:where(main, .fg-out) .field input:focus, :where(main, .fg-out) .field select:focus, :where(main, .fg-out) .field textarea:focus { border-color: var(--ink); outline: 2px solid var(--red-ink); outline-offset: 1px; }
:where(main, .fg-out) .field .err { color: var(--red-ink); font-size: .8125rem; display: none; }
:where(main, .fg-out) .field.has-error input { border-color: var(--red-ink); }
:where(main, .fg-out) .field.has-error .err { display: block; }
:where(main, .fg-out) .days { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; border: 0; margin: 0; padding: 0; }
:where(main, .fg-out) .days legend { margin-bottom: 8px; }
:where(main, .fg-out) .days label { position: relative; }
:where(main, .fg-out) .days input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
:where(main, .fg-out) .days span { display: grid; place-items: center; min-height: 56px; border: 1.5px solid var(--rule); border-radius: var(--r-md); font-size: .8125rem; line-height: 1.25; text-align: center; background: #fff; transition: border-color .2s, background-color .2s; cursor: pointer; }
:where(main, .fg-out) .days span b { display: block; font-size: 1.05rem; font-weight: 600; }
:where(main, .fg-out) .days input:checked + span { border-color: var(--ink); background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .days input:focus-visible + span { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .days label:hover span { border-color: var(--ink-3); }
:where(main, .fg-out) .agent__or { display: flex; gap: 10px; }
:where(main, .fg-out) .agent__or .btn { flex: 1; }
:where(main, .fg-out) .sent { display: none; padding: 14px; border-radius: var(--r-md); background: #e7efe8; color: var(--green); font-weight: 600; }
:where(main, .fg-out) .sent.is-shown { display: block; }
:where(main, .fg-out) .actionbar { display: none; }
@media (max-width: 1023px) {
:where(main, .fg-out) .actionbar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--rule); }
:where(main, .fg-out) .actionbar .btn { width: 100%; }
:where(main, .fg-out) .agent { position: static; }
}
:where(main, .fg-out) .a-head { padding-block: 20px clamp(24px, 3vw, 32px); display: grid; gap: 18px; }
:where(main, .fg-out) .a-head h1 { font-size: clamp(2.2rem, 3.6vw, 3.4rem); max-width: 30ch; line-height: 1.1; }
:where(main, .fg-out) .a-head .lede { max-width: 56ch; }
:where(main, .fg-out) .byline { display: flex; align-items: center; gap: 14px; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .byline img { flex: none; }
:where(main, .fg-out) .byline img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
:where(main, .fg-out) .byline strong { color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .a-hero { aspect-ratio: 16 / 8; border-radius: var(--r-lg); }
@media (max-width: 760px) {
:where(main, .fg-out) .a-hero { aspect-ratio: 4 / 3; margin-inline: calc(var(--gutter) * -1); border-radius: 0; }
}
@media (min-width: 761px) {
:where(main, .fg-out) .a-hero.is-capped { aspect-ratio: auto; height: clamp(260px, 40vh, 470px); }
}
:where(main, .fg-out) .a-hero.is-capped > img { object-position: center center; }
:where(main, .fg-out) .a-hero.is-capped.hero-top > img { object-position: center 22%; }
:where(main, .fg-out) .a-hero.is-capped.hero-upper > img { object-position: center 35%; }
:where(main, .fg-out) .a-hero.is-capped.hero-lower > img { object-position: center 65%; }
:where(main, .fg-out) .a-layout { display: grid; gap: 48px; padding-block: clamp(28px, 3.5vw, 44px) 96px; }
@media (min-width: 1100px) {
:where(main, .fg-out) .a-layout { grid-template-columns: 220px minmax(0, 680px) 340px; justify-content: space-between; gap: 48px; }
}
:where(main, .fg-out) .toc { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; font-size: .875rem; }
:where(main, .fg-out) .toc h2 { font: 600 .8125rem/1.3 var(--f-text); letter-spacing: 0; color: var(--ink-3); margin-bottom: 12px; }
:where(main, .fg-out) .toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--rule); }
:where(main, .fg-out) .toc a { display: block; padding: 7px 0 7px 14px; margin-left: -1px; border-left: 2px solid transparent; text-decoration: none; color: var(--ink-2); line-height: 1.35; transition: color .2s, border-color .2s; }
:where(main, .fg-out) .toc a:hover { color: var(--ink); }
:where(main, .fg-out) .toc a.is-current { color: var(--ink); border-left-color: var(--red); font-weight: 600; }
@media (max-width: 1099px) {
:where(main, .fg-out) .toc { display: none; }
}
:where(main, .fg-out) .article { font-family: var(--f-display); font-size: 1.25rem; line-height: 1.62; font-variation-settings: "opsz" 16; color: #221e18; }
:where(main, .fg-out) .article > * + * { margin-top: 1.1em; }
:where(main, .fg-out) .article h2 { font-size: clamp(1.7rem, 2.4vw, 2.15rem); margin-top: 2.2em; line-height: 1.15; scroll-margin-top: calc(var(--header-h) + 24px); }
:where(main, .fg-out) .article h3 { font-size: 1.35rem; margin-top: 1.6em; }
:where(main, .fg-out) .article strong { font-weight: 600; }
:where(main, .fg-out) .article ul, :where(main, .fg-out) .article ol { padding-left: 1.2em; }
:where(main, .fg-out) .article li + li { margin-top: .45em; }
:where(main, .fg-out) .answer { font-family: var(--f-text); font-size: 1.0625rem; line-height: 1.6; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); padding: 22px 24px; color: var(--ink); }
:where(main, .fg-out) .answer h2 { font: 600 1rem/1.3 var(--f-text); letter-spacing: 0; margin: 0 0 8px; }
:where(main, .fg-out) .takeaways { font-family: var(--f-text); font-size: 1.0625rem; border-top: 1px solid var(--ink); padding-top: 18px; }
:where(main, .fg-out) .takeaways h2 { font: 600 1rem/1.3 var(--f-text); letter-spacing: 0; margin: 0 0 6px; }
:where(main, .fg-out) .takeaways ul { list-style: none; padding: 0; margin: 0; }
:where(main, .fg-out) .takeaways li { padding: 12px 0 12px 26px; border-bottom: 1px solid var(--rule); position: relative; margin: 0 !important; }
:where(main, .fg-out) .takeaways li::before { content: ""; position: absolute; left: 2px; top: 1.05em; width: 10px; height: 2px; background: var(--red); }
:where(main, .fg-out) .figure { margin: 2em 0; }
:where(main, .fg-out) .figure img { width: 100%; background: #fff; border: 1px solid var(--rule); border-radius: var(--r-md); }
:where(main, .fg-out) .pull { font-size: clamp(1.5rem, 2.2vw, 1.9rem); line-height: 1.3; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); padding: 22px 0; margin: 1.8em 0; font-style: italic; }
:where(main, .fg-out) .series { font-family: var(--f-text); font-size: 1rem; border: 1px solid var(--rule); border-radius: var(--r-md); background: var(--card); padding: 22px 24px; }
:where(main, .fg-out) .series h2 { font: 600 1rem/1.3 var(--f-text); letter-spacing: 0; margin: 0 0 4px; }
:where(main, .fg-out) .series ol { list-style: none; padding: 0; margin: 12px 0 0; counter-reset: s; }
:where(main, .fg-out) .series li { counter-increment: s; border-top: 1px solid var(--rule); margin: 0 !important; }
:where(main, .fg-out) .series li a, :where(main, .fg-out) .series li > span { display: grid; grid-template-columns: 28px 1fr; padding: 12px 0; text-decoration: none; color: var(--ink-2); }
:where(main, .fg-out) .series li a::before, :where(main, .fg-out) .series li > span::before { content: counter(s); font: 500 1.1rem/1.2 var(--f-display); color: var(--ink-3); }
:where(main, .fg-out) .series li a:hover { color: var(--red-ink); }
:where(main, .fg-out) .series li > span { color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .series li > span::before { color: var(--red-ink); }
:where(main, .fg-out) .data { font-family: var(--f-text); font-size: 1rem; }
:where(main, .fg-out) .data h2 { font-family: var(--f-display); }
:where(main, .fg-out) .bands { width: 100%; border-collapse: collapse; margin-top: 12px; }
:where(main, .fg-out) .bands th, :where(main, .fg-out) .bands td { padding: 10px 0; border-bottom: 1px solid var(--rule); text-align: left; }
:where(main, .fg-out) .bands thead th { font-size: .8125rem; color: var(--ink-3); font-weight: 600; border-bottom-color: var(--ink); }
:where(main, .fg-out) .bands td:nth-child(2), :where(main, .fg-out) .bands th:nth-child(2) { text-align: right; width: 18%; }
:where(main, .fg-out) .bands td:nth-child(3), :where(main, .fg-out) .bands th:nth-child(3) { width: 40%; padding-left: 20px; }
:where(main, .fg-out) .bar { height: 10px; background: var(--paper-3); border-radius: 2px; overflow: hidden; }
:where(main, .fg-out) .bar i { display: block; height: 100%; background: var(--ink); }
:where(main, .fg-out) .author { font-family: var(--f-text); font-size: 1rem; display: grid; grid-template-columns: 88px 1fr; gap: 20px; align-items: start; border-top: 2px solid var(--ink); padding-top: 24px; margin-top: 3em; }
:where(main, .fg-out) .author img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
:where(main, .fg-out) .author h2 { font: 500 1.5rem/1.2 var(--f-display); margin: 0 0 6px; }
:where(main, .fg-out) .author p { color: var(--ink-2); }
:where(main, .fg-out) .aside-card { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; display: grid; gap: 14px; text-decoration: none; padding: 16px; border: 1px solid var(--rule); background: var(--card); border-radius: var(--r-md); transition: transform .3s var(--ease); }
:where(main, .fg-out) .aside-card:hover { transform: translateY(-2px); }
:where(main, .fg-out) .aside-card .photo { aspect-ratio: 4 / 3; }
:where(main, .fg-out) .aside-card h2 { font: 600 .8125rem/1.3 var(--f-text); letter-spacing: 0; color: var(--ink-3); }
@media (max-width: 1099px) {
:where(main, .fg-out) .aside-card { position: static; max-width: 680px; }
}
:where(main, .fg-out) .c-hero { display: grid; gap: clamp(32px, 4vw, 64px); padding-block: 32px clamp(56px, 7vw, 96px); align-items: end; }
@media (min-width: 1024px) {
:where(main, .fg-out) .c-hero { grid-template-columns: 1.15fr .85fr; }
}
:where(main, .fg-out) .c-hero h1 { font-size: clamp(2.6rem, 5.6vw, 5.5rem); max-width: 12ch; }
:where(main, .fg-out) .c-hero .photo { aspect-ratio: 4 / 5; border-radius: var(--r-lg); }
:where(main, .fg-out) .c-layout { display: grid; gap: 48px; padding-block: clamp(56px, 7vw, 96px); }
@media (min-width: 1024px) {
:where(main, .fg-out) .c-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 80px; }
}
:where(main, .fg-out) .c-body { display: grid; gap: 56px; min-width: 0; }
:where(main, .fg-out) .c-body section { display: grid; gap: 18px; }
:where(main, .fg-out) .c-body .prose { font-size: 1.125rem; line-height: 1.65; max-width: 64ch; color: #2a251e; }
:where(main, .fg-out) .c-side { display: grid; gap: 20px; align-content: start; position: sticky; top: calc(var(--header-h) + 24px); }
@media (max-width: 1023px) {
:where(main, .fg-out) .c-side { position: static; }
}
:where(main, .fg-out) .box { border: 1px solid var(--rule); background: var(--card); border-radius: var(--r-md); padding: 22px; display: grid; gap: 12px; }
:where(main, .fg-out) .box h2 { font: 600 1rem/1.3 var(--f-text); letter-spacing: 0; }
:where(main, .fg-out) .box dl { margin: 0; display: grid; gap: 0; }
:where(main, .fg-out) .box dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--rule); font-size: .9375rem; }
:where(main, .fg-out) .box dt { color: var(--ink-3); }
:where(main, .fg-out) .box dd { margin: 0; font-weight: 600; text-align: right; }
:where(main, .fg-out) .ways { display: grid; gap: 0; border-top: 1px solid var(--ink); }
@media (min-width: 760px) {
:where(main, .fg-out) .ways { grid-template-columns: 1fr 1fr; column-gap: 40px; }
}
:where(main, .fg-out) .way { padding: 24px 0; border-bottom: 1px solid var(--rule); display: grid; gap: 10px; align-content: start; }
:where(main, .fg-out) .way p { color: var(--ink-2); font-size: 1rem; }
:where(main, .fg-out) .timeline { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .timeline li { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .timeline b { font: 500 1.35rem/1.2 var(--f-display); }
:where(main, .fg-out) .timeline span { color: var(--ink-2); }
:where(main, .fg-out) .wide-photo { aspect-ratio: 21 / 9; border-radius: var(--r-lg); }
@media (max-width: 760px) {
:where(main, .fg-out) .wide-photo { aspect-ratio: 4 / 3; }
}
:where(main, .fg-out) .days legend { font-size: .875rem; font-weight: 600; padding: 0; }
:where(main, .fg-out) .photos-dialog { width: min(1200px, 100vw); max-width: 100vw; height: min(92vh, 100%); max-height: 100dvh; padding: 0; border: 0; border-radius: var(--r-lg); background: var(--paper); color: var(--ink); }
:where(main, .fg-out) .photos-dialog::backdrop { background: rgba(22, 19, 15, .7); }
:where(main, .fg-out) .photos-dialog__bar { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; background: var(--paper); border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .photos-dialog__bar h2 { font-size: 1.4rem; }
:where(main, .fg-out) .photos-dialog__grid { display: grid; gap: 8px; padding: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
:where(main, .fg-out) .photos-dialog__grid img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-sm); background: #fff; }
@media (max-width: 640px) {
:where(main, .fg-out) .photos-dialog { height: 100dvh; border-radius: 0; }
}
:where(main, .fg-out) .field select { -webkit-appearance: none; appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2316130f' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center; }
:where(main, .fg-out) .link { justify-self: start; align-self: start; width: fit-content; }
:where(main, .fg-out) .filters { display: grid; gap: 18px 28px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); align-items: start; padding: 22px 0 24px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .filters fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
:where(main, .fg-out) .filters legend, :where(main, .fg-out) .filters .field > label { display: block; font-size: .8125rem; font-weight: 600; color: var(--ink-2); margin-bottom: 8px; padding: 0; line-height: 1.3; }
:where(main, .fg-out) .filters .field { gap: 0; }
:where(main, .fg-out) .seg { display: flex; flex-wrap: wrap; gap: 6px; }
:where(main, .fg-out) .seg label { position: relative; }
:where(main, .fg-out) .seg input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
:where(main, .fg-out) .seg span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--rule); border-radius: 999px; font-size: .9063rem; font-weight: 500; background: var(--card); transition: border-color .2s, background-color .2s, color .2s; white-space: nowrap; }
:where(main, .fg-out) .seg label:hover span { border-color: var(--ink-3); }
:where(main, .fg-out) .seg input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--paper); }
:where(main, .fg-out) .seg input:focus-visible + span { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .filters .field input, :where(main, .fg-out) .filters .field select { min-height: 44px; }
:where(main, .fg-out) .count-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; align-items: baseline; padding: 18px 0 8px; }
:where(main, .fg-out) .count-line strong { font: 500 1.5rem/1.2 var(--f-display); }
:where(main, .fg-out) .hood-cards { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); margin-top: 12px; }
:where(main, .fg-out) .hood-card { display: grid; gap: 10px; padding: 18px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); text-decoration: none; transition: transform .3s var(--ease), border-color .2s; }
:where(main, .fg-out) .hood-card:hover { transform: translateY(-2px); border-color: var(--ink); }
:where(main, .fg-out) .hood-card h3 { font-size: 1.35rem; }
:where(main, .fg-out) .hood-card__top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
:where(main, .fg-out) .hood-card__q { font-size: .8125rem; color: var(--ink-3); white-space: nowrap; }
:where(main, .fg-out) .hood-card dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-top: 1px solid var(--rule); padding-top: 10px; }
:where(main, .fg-out) .hood-card dt { font-size: .75rem; color: var(--ink-3); }
:where(main, .fg-out) .hood-card dd { margin: 0; font-weight: 600; font-size: .9688rem; font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .empty { padding: 28px; border: 1px dashed var(--rule); border-radius: var(--r-md); color: var(--ink-2); text-align: center; }
:where(main, .fg-out) .more-row { display: flex; justify-content: center; padding-top: 24px; }
:where(main, .fg-out) .tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-top: 8px; }
:where(main, .fg-out) .sortable { width: 100%; border-collapse: collapse; font-size: .9688rem; font-variant-numeric: tabular-nums; min-width: 680px; }
:where(main, .fg-out) .sortable th, :where(main, .fg-out) .sortable td { padding: 13px 14px 13px 0; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: baseline; }
:where(main, .fg-out) .sortable th.num, :where(main, .fg-out) .sortable td.num { text-align: right; }
:where(main, .fg-out) .sortable thead th { border-bottom: 1px solid var(--ink); position: sticky; top: var(--header-h); background: var(--paper); z-index: 1; }
:where(main, .fg-out) .section--surface .sortable thead th { background: var(--paper-2); }
:where(main, .fg-out) .sortable thead button { all: unset; cursor: pointer; font-size: .8125rem; font-weight: 600; color: var(--ink-2); display: inline-flex; gap: 6px; align-items: center; min-height: 32px; }
:where(main, .fg-out) .sortable thead button:hover { color: var(--ink); }
:where(main, .fg-out) .sortable thead button:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; border-radius: 2px; }
:where(main, .fg-out) .sortable thead button::after { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--rule); }
:where(main, .fg-out) .sortable thead [aria-sort="ascending"] button::after { border-top: 0; border-bottom: 5px solid var(--ink); }
:where(main, .fg-out) .sortable thead [aria-sort="descending"] button::after { border-top-color: var(--ink); }
:where(main, .fg-out) .sortable tbody tr { transition: background-color .15s; }
:where(main, .fg-out) .sortable tbody tr:hover { background: color-mix(in srgb, var(--paper-3) 45%, transparent); }
:where(main, .fg-out) .sortable td:first-child a { font: 500 1.125rem/1.25 var(--f-display); text-decoration: none; }
:where(main, .fg-out) .sortable td:first-child a:hover { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .pill { display: inline-block; font-size: .75rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--paper-3); color: var(--ink-2); white-space: nowrap; }
:where(main, .fg-out) .pill--new { background: #dfe8e1; color: var(--green); }
:where(main, .fg-out) .meter { display: inline-grid; grid-template-columns: 44px auto; gap: 8px; align-items: center; justify-content: end; }
:where(main, .fg-out) .meter i { display: block; height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--ink) var(--v), var(--paper-3) var(--v)); }
:where(main, .fg-out) .quads { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
:where(main, .fg-out) .quad { display: grid; gap: 12px; padding: 22px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); text-decoration: none; align-content: start; transition: transform .3s var(--ease), border-color .2s; }
:where(main, .fg-out) .quad:hover { transform: translateY(-2px); border-color: var(--ink); }
:where(main, .fg-out) .quad h3 { font-size: 1.6rem; }
:where(main, .fg-out) .quad p { color: var(--ink-2); font-size: .9688rem; }
:where(main, .fg-out) .quad dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border-top: 1px solid var(--ink); padding-top: 12px; }
:where(main, .fg-out) .quad dt { font-size: .75rem; color: var(--ink-3); }
:where(main, .fg-out) .quad dd { margin: 0; font: 500 1.3rem/1.2 var(--f-display); font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .quad__top { font-size: .875rem; color: var(--ink-2); }
:where(main, .fg-out) .chips { display: flex; flex-wrap: wrap; gap: 8px; }
:where(main, .fg-out) .chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--rule); border-radius: 999px; text-decoration: none; font-weight: 500; font-size: .9375rem; background: var(--card); transition: border-color .2s, transform .25s var(--ease); }
:where(main, .fg-out) .chips a:hover { border-color: var(--ink); transform: translateY(-1px); }
:where(main, .fg-out) .today { background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); padding: 24px; box-shadow: var(--shadow); display: grid; gap: 14px; }
:where(main, .fg-out) .today h2 { font-size: 1.5rem; }
:where(main, .fg-out) .today table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .today th, :where(main, .fg-out) .today td { padding: 11px 0; border-bottom: 1px solid var(--rule); text-align: left; font-size: .9688rem; }
:where(main, .fg-out) .today th { font-weight: 500; color: var(--ink-2); }
:where(main, .fg-out) .today td { text-align: right; font: 500 1.2rem/1.2 var(--f-display); }
:where(main, .fg-out) .today tr:first-child th, :where(main, .fg-out) .today tr:first-child td { border-top: 1px solid var(--ink); }
:where(main, .fg-out) .hero-b { padding-block: clamp(40px, 6vw, 80px) clamp(48px, 6vw, 88px); }
:where(main, .fg-out) .hero-b { background: var(--card); border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .ai-launch.is-away, :where(main, .fg-out) .ai-launch.is-chat { opacity: 0; visibility: hidden; pointer-events: none; }
:where(main, .fg-out) .hero-b__grid { display: grid; gap: clamp(32px, 4vw, 64px); align-items: start; }
@media (min-width: 1024px) {
:where(main, .fg-out) .hero-b__grid { grid-template-columns: minmax(0, 860px); }
}
:where(main, .fg-out) .hero-b h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); max-width: 14ch; }
:where(main, .fg-out) .hero-b .search { max-width: 640px; }
:where(main, .fg-out) .hero-b__grid { justify-content: center; text-align: center; }
@media (min-width: 1024px) {
:where(main, .fg-out) .hero-b__grid { grid-template-columns: minmax(0, 960px); }
}
:where(main, .fg-out) .hero-b__grid > div { justify-items: center; }
:where(main, .fg-out) .hero-b .hero-ask-title, :where(main, .fg-out) .hero-b .lede { margin-inline: auto; }
:where(main, .fg-out) .hero-b .ask { width: 100%; max-width: 960px; text-align: left; }
:where(main, .fg-out) .hero-b .ask__foot { max-width: 960px; justify-content: center; }
:where(main, .fg-out) .hero-b .chips { justify-content: center; }
:where(main, .fg-out) .ask__modes { margin-top: 2px; }
:where(main, .fg-out) .valuation { display: flex; gap: 10px; flex-wrap: wrap; max-width: 620px; margin-top: 28px; }
:where(main, .fg-out) .valuation .field { flex: 1 1 280px; }
:where(main, .fg-out) .ryan-band { display: grid; gap: clamp(32px, 4vw, 64px); align-items: center; }
@media (min-width: 900px) {
:where(main, .fg-out) .ryan-band { grid-template-columns: 360px 1fr; }
}
:where(main, .fg-out) .ryan-band .photo { aspect-ratio: 1; border-radius: var(--r-lg); max-width: 360px; }
@media (min-width: 900px) {
:where(main, .fg-out) .tablewrap:has(> .sortable) { overflow: visible; }
:where(main, .fg-out) .sortable thead th { top: 80px; border-bottom-color: transparent; box-shadow: inset 0 -1px 0 var(--ink); }
}
@media (max-width: 899px) {
:where(main, .fg-out) .sortable thead th { position: static; }
}
@media (max-width: 640px) {
:where(main, .fg-out) .sortable { min-width: 0; }
:where(main, .fg-out) .sortable thead { display: none; }
:where(main, .fg-out) .sortable tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .sortable td { border: 0; padding: 0; text-align: left !important; font-size: .9375rem; }
:where(main, .fg-out) .sortable td::before { content: attr(data-label); display: block; font-size: .75rem; color: var(--ink-3); margin-bottom: 2px; }
:where(main, .fg-out) .sortable td:first-child { grid-column: 1 / -1; }
:where(main, .fg-out) .sortable td:first-child::before { display: none; }
:where(main, .fg-out) .meter { justify-content: start; }
}
:where(main, .fg-out) .sortable tbody tr[hidden], :where(main, .fg-out) [hidden] { display: none !important; }
:where(main, .fg-out) .kicker { font-size: .875rem; font-weight: 600; color: var(--red-ink); letter-spacing: .01em; }
:where(main, .fg-out) .area-hero { display: grid; gap: clamp(32px, 4vw, 64px); padding: 28px 0 clamp(32px, 4vw, 48px); align-items: end; }
:where(main, .fg-out) .area-hero__text { display: grid; gap: 22px; align-content: start; }
:where(main, .fg-out) .area-hero h1 { font-size: clamp(2.4rem, 5.2vw, 4.6rem); line-height: 1.04; max-width: 14ch; }
:where(main, .fg-out) .area-hero .lede { max-width: 58ch; }
@media (min-width: 1000px) {
:where(main, .fg-out) .area-hero { grid-template-columns: minmax(0, 1fr) 380px; }
}
:where(main, .fg-out) .area-photo { aspect-ratio: 21 / 8; border-radius: var(--r-lg); }
:where(main, .fg-out) .area-photo img { object-position: 50% 62%; }
@media (max-width: 640px) {
:where(main, .fg-out) .area-photo { aspect-ratio: 4 / 3; }
}
:where(main, .fg-out) .two-tables { display: grid; gap: clamp(40px, 5vw, 72px); }
@media (min-width: 1000px) {
:where(main, .fg-out) .two-tables { grid-template-columns: 1.15fr 1fr; }
}
:where(main, .fg-out) .table-title { font-size: 1.35rem; margin-bottom: 14px; }
:where(main, .fg-out) .figs { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .figs th, :where(main, .fg-out) .figs td { padding: 13px 0; border-bottom: 1px solid var(--rule); text-align: left; font-size: .9688rem; vertical-align: baseline; }
:where(main, .fg-out) .figs td + td, :where(main, .fg-out) .figs th + td { padding-left: 14px; }
:where(main, .fg-out) .figs thead th { font-size: .8125rem; font-weight: 600; color: var(--ink-3); border-bottom-color: var(--ink); padding-top: 0; }
:where(main, .fg-out) .figs .num { text-align: right; }
:where(main, .fg-out) .figs tbody th { font-weight: 500; }
:where(main, .fg-out) .figs tbody th a { font: 500 1.125rem/1.25 var(--f-display); text-decoration: none; }
:where(main, .fg-out) .figs tbody th a:hover { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .figs tbody td { font: 500 1.125rem/1.2 var(--f-display); }
:where(main, .fg-out) .bar { display: inline-block; width: 96px; height: 6px; border-radius: 3px; margin-right: 12px; vertical-align: middle; background: linear-gradient(90deg, var(--ink-3) var(--v), var(--paper-3) var(--v)); }
:where(main, .fg-out) .bar--ink, :where(main, .fg-out) .figs--bars .bar { background: linear-gradient(90deg, var(--ink) var(--v), var(--paper-3) var(--v)); }
:where(main, .fg-out) .figs--bars td, :where(main, .fg-out) .walk td { white-space: nowrap; }
:where(main, .fg-out) .starts { display: grid; gap: 32px clamp(24px, 3vw, 48px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
:where(main, .fg-out) .starts h3 { font-size: 1.3rem; padding-bottom: 12px; border-bottom: 1px solid var(--ink); }
:where(main, .fg-out) .starts ul { list-style: none; margin: 0; padding: 0; }
:where(main, .fg-out) .starts li a { display: flex; align-items: center; min-height: 46px; border-bottom: 1px solid var(--rule); text-decoration: none; font-weight: 500; transition: color .2s, padding-left .25s var(--ease); }
:where(main, .fg-out) .starts li a:hover { color: var(--red-ink); padding-left: 4px; }
:where(main, .fg-out) .starts li a { justify-content: space-between; gap: 12px; }
:where(main, .fg-out) .starts__n { font-weight: 400; color: var(--ink-3); font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .walk { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; align-self: start; }
:where(main, .fg-out) .walk th, :where(main, .fg-out) .walk td { padding: 14px 0; border-bottom: 1px solid var(--rule); text-align: left; font-size: .9688rem; }
:where(main, .fg-out) .walk td { white-space: nowrap; padding-left: 12px; font: 500 1.125rem/1.2 var(--f-display); }
:where(main, .fg-out) .walk thead th { font-size: .8125rem; font-weight: 600; color: var(--ink-3); border-bottom-color: var(--ink); padding-top: 0; }
:where(main, .fg-out) .walk thead th + th { padding-left: 12px; }
:where(main, .fg-out) .walk tbody th { font-weight: 500; }
:where(main, .fg-out) .walk__all th, :where(main, .fg-out) .walk__all td { border-bottom-color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .more-grid { display: grid; gap: 48px clamp(32px, 5vw, 80px); }
@media (min-width: 900px) {
:where(main, .fg-out) .more-grid { grid-template-columns: 1fr 1fr; }
}
:where(main, .fg-out) .more-grid h2 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); }
@media (max-width: 640px) {
:where(main, .fg-out) .figs thead { display: none; }
:where(main, .fg-out) .figs tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 12px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .figs--bars tbody tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:where(main, .fg-out) .figs th, :where(main, .fg-out) .figs td { border: 0; padding: 0 !important; text-align: left !important; }
:where(main, .fg-out) .figs tbody th { grid-column: 1 / -1; }
:where(main, .fg-out) .figs td::before { content: attr(data-label); display: block; font: 400 .75rem/1.3 var(--f-ui, var(--f-text)); color: var(--ink-3); margin-bottom: 2px; }
:where(main, .fg-out) .figs--bars .bar { display: none; }
:where(main, .fg-out) .walk .bar { width: 44px; margin-right: 6px; }
}
:where(main, .fg-out) .walk td { min-width: 150px; }
@media (max-width: 640px) {
:where(main, .fg-out) .walk td { min-width: 0; }
}
:where(main, .fg-out) button.nav__top::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s var(--ease); }
:where(main, .fg-out) button.nav__top[aria-expanded="true"]::after { transform: translateY(1px) rotate(-135deg); }
:where(main, .fg-out) .newlist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .newlist a { display: grid; grid-template-columns: 2fr 1.2fr 2fr auto; gap: 6px 20px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--rule); text-decoration: none; transition: background-color .15s; }
:where(main, .fg-out) .newlist a:hover { background: color-mix(in srgb, var(--paper-3) 40%, transparent); }
:where(main, .fg-out) .newlist a:hover .newlist__addr { color: var(--red-ink); }
:where(main, .fg-out) .newlist__addr { font: 500 1.125rem/1.25 var(--f-display); }
:where(main, .fg-out) .newlist__area, :where(main, .fg-out) .newlist__facts { font-size: .875rem; color: var(--ink-2); }
:where(main, .fg-out) .newlist__price { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
:where(main, .fg-out) .newlist a { grid-template-columns: 1fr auto; }
:where(main, .fg-out) .newlist__area { grid-row: 2; }
:where(main, .fg-out) .newlist__facts { grid-column: 1 / -1; }
}
:where(main, .fg-out) .dir__jump { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 28px; position: sticky; top: var(--header-h); z-index: 2; background: var(--paper-2); padding: 10px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .dir__jump a { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: .9375rem; }
:where(main, .fg-out) .dir__jump a:hover { background: var(--card); color: var(--red-ink); }
:where(main, .fg-out) .dir__letter { scroll-margin-top: calc(var(--header-h) + 64px); }
:where(main, .fg-out) .dir__l { font: 500 2.2rem/1 var(--f-display); padding: 28px 0 12px; border-bottom: 1px solid var(--ink); margin-bottom: 16px; }
:where(main, .fg-out) .dir__letter { column-width: 250px; column-gap: 36px; }
:where(main, .fg-out) .dir__l { column-span: all; }
:where(main, .fg-out) .dir__hood { break-inside: avoid; margin-bottom: 18px; }
:where(main, .fg-out) .dir__hood h4 { font: 600 .8125rem/1.3 var(--f-text); color: var(--ink-3); margin-bottom: 4px; }
:where(main, .fg-out) .dir__hood ul { list-style: none; margin: 0; padding: 0; }
:where(main, .fg-out) .dir__hood li { padding: 3px 0; font-size: .9375rem; }
:where(main, .fg-out) .dir__hood a { text-decoration: none; font-weight: 500; }
:where(main, .fg-out) .dir__hood a:hover { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .dir__act { font-size: .75rem; font-weight: 600; color: var(--green); white-space: nowrap; margin-left: 4px; }
:where(main, .fg-out) .ask { position: relative; display: grid; gap: 12px; background: var(--card); border: 1.5px solid var(--ink); border-radius: var(--r-lg); padding: 14px 14px 16px; box-shadow: var(--shadow); max-width: 640px; }
:where(main, .fg-out) .ask__modes { display: flex; gap: 6px; }
:where(main, .fg-out) .ask__mode { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; font-weight: 600; font-size: .9375rem; border: 1.5px solid var(--rule); background: var(--paper); }
:where(main, .fg-out) .ask__mode[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
:where(main, .fg-out) .ask__mode:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .ask__modes { flex-wrap: wrap; }
:where(main, .fg-out) .ask__mode svg { width: 17px; height: 17px; flex: none; }
:where(main, .fg-out) .ask__plain { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; font-weight: 600; font-size: .9375rem; border: 1.5px solid var(--rule); background: var(--paper); }
:where(main, .fg-out) .ask__plain:hover, :where(main, .fg-out) .ask__mode:hover { border-color: var(--ink); }
:where(main, .fg-out) .ask__plain:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .ask__menu { right: 14px; max-width: 460px; }
:where(main, .fg-out) .ask__menu-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 6px 12px; }
:where(main, .fg-out) .ask__menu-title { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
:where(main, .fg-out) .ask__menu .ask__menu-close { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; font-size: 22px; line-height: 1; color: var(--ink-2); }
:where(main, .fg-out) .ask__menu-list { display: grid; }
@media (max-width: 560px) {
:where(main, .fg-out) .ask__modes { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -14px; padding-inline: 14px; }
:where(main, .fg-out) .ask__modes::-webkit-scrollbar { display: none; }
:where(main, .fg-out) .ask__mode, :where(main, .fg-out) .ask__plain { flex: 0 0 auto; }
:where(main, .fg-out) .ask__menu { left: 8px; right: 8px; min-width: 0; }
}
:where(main, .fg-out) .ask__chev { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
:where(main, .fg-out) .ask__mode[aria-expanded="true"] .ask__chev { transform: translateY(1px) rotate(-135deg); }
:where(main, .fg-out) .ask__menu { position: absolute; top: calc(100% + 6px); left: 14px; z-index: 5; display: grid; min-width: 280px; padding: 8px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); box-shadow: 0 18px 40px -16px rgba(22,19,15,.3); }
:where(main, .fg-out) .ask__menu button { all: unset; box-sizing: border-box; cursor: pointer; padding: 11px 12px; border-radius: 8px; font-weight: 500; }
:where(main, .fg-out) .ask__menu button:hover, :where(main, .fg-out) .ask__menu button:focus-visible { background: var(--paper-2); color: var(--red-ink); }
:where(main, .fg-out) .ask__label { display: block; font-size: .875rem; color: var(--ink-2); margin: 2px 4px 8px; }
:where(main, .fg-out) .ask__row { display: flex; gap: 10px; align-items: flex-end; }
:where(main, .fg-out) .ask textarea, :where(main, .fg-out) .ask input { flex: 1; min-width: 0; font: 400 1.0625rem/1.45 var(--f-text); color: var(--ink); background: var(--paper); border: 1px solid var(--rule); border-radius: var(--r-md); padding: 12px 14px; resize: none; min-height: 52px; }
:where(main, .fg-out) .ask textarea:focus, :where(main, .fg-out) .ask input:focus { outline: 2px solid var(--ink); outline-offset: 0; }
:where(main, .fg-out) .ask__send { flex: none; width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--red); color: #fff; cursor: pointer; display: grid; place-items: center; transition: transform .2s var(--ease), background-color .2s; }
:where(main, .fg-out) .ask__send:hover { background: var(--red-ink); transform: translateX(2px); }
:where(main, .fg-out) .ask__send svg { width: 22px; height: 22px; }
:where(main, .fg-out) .ask .btn { flex: none; min-height: 52px; }
:where(main, .fg-out) .ask__small { font-size: .8125rem; color: var(--ink-3); margin: 8px 4px 0; }
:where(main, .fg-out) .ask__foot { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: .875rem; color: var(--ink-3); max-width: 640px; }
:where(main, .fg-out) .ask__foot a { color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .ask__ai::before { content: "AI"; display: inline-block; font-size: .6875rem; font-weight: 700; padding: 1px 6px; border-radius: 4px; background: var(--ink); color: var(--paper); margin-right: 6px; vertical-align: 1px; }
@media (max-width: 560px) {
:where(main, .fg-out) .ask__row { flex-direction: column; align-items: stretch; }
:where(main, .fg-out) .ask__send { width: 100%; border-radius: 999px; }
:where(main, .fg-out) .ask .btn { width: 100%; }
}
:where(main, .fg-out) .ai-panel { position: fixed; z-index: 60; top: var(--header-h); right: 0; bottom: 0; width: min(440px, 100vw); display: flex; flex-direction: column; background: var(--paper); border-left: 1px solid var(--rule); box-shadow: -24px 0 48px -32px rgba(22,19,15,.35); }
:where(main, .fg-out) .ai-panel[hidden] { display: none !important; }
@media (max-width: 760px) {
:where(main, .fg-out) .ai-panel { top: 0; width: 100vw; border: 0; z-index: 70; }
}
:where(main, .fg-out) .ai-panel__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .ai-panel__head strong { display: block; font: 500 1.25rem/1.2 var(--f-display); }
:where(main, .fg-out) .ai-panel__head span { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .ai-panel__close { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--rule); background: var(--card); font-size: 1.5rem; line-height: 1; cursor: pointer; }
:where(main, .fg-out) .ai-panel__mock { margin: 0; padding: 8px 18px; font-size: .75rem; color: var(--ink-3); background: var(--paper-2); }
:where(main, .fg-out) .ai-log { flex: 1; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 12px; overscroll-behavior: contain; }
:where(main, .fg-out) .ai-msg p { margin: 0; }
:where(main, .fg-out) .ai-bot { max-width: 92%; font-size: .9688rem; line-height: 1.55; }
:where(main, .fg-out) .ai-bot a { font-weight: 600; }
:where(main, .fg-out) .ai-user { align-self: flex-end; max-width: 85%; background: var(--ink); color: var(--paper); padding: 10px 14px; border-radius: 16px 16px 4px 16px; font-size: .9688rem; }
:where(main, .fg-out) .ai-typing { display: flex; gap: 4px; padding: 6px 0; }
:where(main, .fg-out) .ai-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-3); animation: ai-dot 1s infinite ease-in-out; }
:where(main, .fg-out) .ai-typing i:nth-child(2) { animation-delay: .15s; }
:where(main, .fg-out) .ai-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes ai-dot { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) {
:where(main, .fg-out) .ai-typing i { animation: none; opacity: .6; }
}
:where(main, .fg-out) .ai-chips { display: flex; flex-wrap: wrap; gap: 6px; }
:where(main, .fg-out) .ai-chips button { all: unset; box-sizing: border-box; cursor: pointer; min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border: 1.5px solid var(--rule); border-radius: 999px; background: var(--card); font-weight: 500; font-size: .9063rem; }
:where(main, .fg-out) .ai-chips button:hover:not(:disabled) { border-color: var(--ink); }
:where(main, .fg-out) .ai-chips button:disabled { opacity: .45; cursor: default; }
:where(main, .fg-out) .ai-chips button.is-picked { opacity: 1; background: var(--ink); color: var(--paper); border-color: var(--ink); }
:where(main, .fg-out) .ai-chips button:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .ai-cards { display: grid; gap: 8px; }
:where(main, .fg-out) .ai-card { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; padding: 8px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); text-decoration: none; transition: border-color .2s, transform .25s var(--ease); }
:where(main, .fg-out) .ai-card:hover { border-color: var(--ink); transform: translateY(-1px); }
:where(main, .fg-out) .ai-card img, :where(main, .fg-out) .ai-card__noimg { width: 96px; height: 72px; object-fit: cover; border-radius: 8px; background: var(--paper-3); display: block; }
:where(main, .fg-out) .ai-card__body { display: grid; gap: 2px; font-size: .875rem; }
:where(main, .fg-out) .ai-card__body strong { font-size: 1rem; }
:where(main, .fg-out) .ai-card__meta { color: var(--ink-3); font-size: .8125rem; }
:where(main, .fg-out) .ai-form form { display: grid; gap: 10px; padding: 14px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-md); }
:where(main, .fg-out) .ai-form label { display: grid; gap: 4px; font-size: .8125rem; font-weight: 600; color: var(--ink-2); }
:where(main, .fg-out) .ai-form input:not([type="checkbox"]) { font: 400 1rem/1.4 var(--f-text); padding: 10px 12px; border: 1px solid var(--rule); border-radius: 8px; background: #fff; }
:where(main, .fg-out) .ai-form__err { margin: 0; font-size: .8125rem; color: var(--red-ink); }
:where(main, .fg-out) .ai-input { display: flex; gap: 8px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--rule); background: var(--paper); }
:where(main, .fg-out) .ai-input textarea { flex: 1; font: 400 1rem/1.45 var(--f-text); padding: 11px 14px; border: 1px solid var(--rule); border-radius: 22px; resize: none; background: #fff; min-height: 44px; }
:where(main, .fg-out) .ai-input button { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--red); color: #fff; display: grid; place-items: center; cursor: pointer; }
:where(main, .fg-out) .ai-input button svg { width: 20px; height: 20px; }
:where(main, .fg-out) .rl-callbar { display: none; }
@media (max-width: 760px) {
:where(main, .fg-out) .rl-callbar { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--rule); }
:where(main, .fg-out) .rl-callbar a, :where(main, .fg-out) .rl-callbar button { all: unset; box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 999px; font-weight: 600; font-size: .9375rem; cursor: pointer; text-align: center; }
:where(main, .fg-out) .rl-callbar__call { background: var(--red); color: #fff; }
:where(main, .fg-out) .rl-callbar__text { border: 1.5px solid var(--ink); }
:where(main, .fg-out) .rl-callbar__ask { padding: 0 18px; background: var(--ink); color: var(--paper); }
}
:where(main, .fg-out) .value { display: grid; gap: clamp(36px, 5vw, 72px); align-items: start; }
@media (min-width: 1000px) {
:where(main, .fg-out) .value { grid-template-columns: 1fr 520px; }
}
:where(main, .fg-out) .value__pitch { display: grid; gap: 20px; align-content: start; }
:where(main, .fg-out) .value__ryan { width: 120px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; margin: 0; }
:where(main, .fg-out) .value__ryan img { width: 100%; height: 100%; object-fit: cover; }
:where(main, .fg-out) .value__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; color: var(--on-night); }
:where(main, .fg-out) .value__points li { display: flex; gap: 12px; align-items: baseline; }
:where(main, .fg-out) .value__points li::before { content: ""; flex: none; width: 14px; height: 8px; border-left: 2px solid var(--on-night); border-bottom: 2px solid var(--on-night); transform: rotate(-45deg) translateY(-3px); }
:where(main, .fg-out) .value__card { display: grid; gap: 14px; background: var(--paper); color: var(--ink); border-radius: var(--r-lg); padding: clamp(20px, 2.4vw, 32px); }
:where(main, .fg-out) .value__card .tiny { color: var(--ink-3); }
:where(main, .fg-out) .value__quote { margin: 0 0 4px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .value__quote blockquote { margin: 0 0 6px; font: 400 1.125rem/1.45 var(--f-display); }
:where(main, .fg-out) .value__quote figcaption { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .field-row { display: grid; gap: 14px; }
@media (min-width: 560px) {
:where(main, .fg-out) .field-row { grid-template-columns: 1fr 1fr; }
}
:where(main, .fg-out) .opt { font-weight: 400; color: var(--ink-3); }
:where(main, .fg-out) .consent { display: flex; gap: 10px; align-items: flex-start; font-size: .875rem; color: var(--ink-2); cursor: pointer; }
:where(main, .fg-out) .consent input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--ink); }
:where(main, .fg-out) .auth { border: 0; padding: 0; border-radius: var(--r-lg); max-width: min(440px, calc(100vw - 32px)); background: var(--paper); color: var(--ink); box-shadow: 0 40px 80px -30px rgba(0,0,0,.5); }
:where(main, .fg-out) .auth::backdrop { background: rgba(22,19,15,.45); }
:where(main, .fg-out) .auth__card { position: relative; display: grid; gap: 14px; padding: 28px; }
:where(main, .fg-out) .auth__card h2 { font-size: 1.6rem; }
:where(main, .fg-out) .auth__card .field { display: grid; gap: 6px; font-size: .875rem; font-weight: 600; }
:where(main, .fg-out) .auth__card input { font: 400 1rem var(--f-text); padding: 12px 14px; border: 1px solid var(--rule); border-radius: var(--r-md); }
:where(main, .fg-out) .auth__x { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rule); background: var(--card); font-size: 1.4rem; cursor: pointer; }
@media (max-width: 760px) {
:where(main, .fg-out) .rl-callbar .rl-callbar__call { background: var(--red); color: #fff; }
:where(main, .fg-out) .rl-callbar .rl-callbar__text { border: 1.5px solid var(--ink); }
:where(main, .fg-out) .rl-callbar .rl-callbar__ask { padding: 0 18px; background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .ask textarea { min-height: 78px; }
}
:where(main, .fg-out) .cta-stack { display: grid; gap: 18px; align-content: start; align-self: start; }
:where(main, .fg-out) .cta-stack--sticky > :last-child { position: sticky; top: calc(var(--header-h) + 20px); }
:where(main, .fg-out) .cta { display: grid; gap: 12px; padding: 22px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); }
:where(main, .fg-out) .cta h2 { font: 500 1.4rem/1.2 var(--f-display); letter-spacing: -.005em; }
:where(main, .fg-out) .cta p { font-size: .9375rem; color: var(--ink-2); margin: 0; }
:where(main, .fg-out) .cta__tag { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--red-ink); }
:where(main, .fg-out) .cta__fine { font-size: .8125rem !important; color: var(--ink-3) !important; }
:where(main, .fg-out) .cta__fine a { color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .cta form { display: grid; gap: 10px; }
:where(main, .fg-out) .cta .field input { min-height: 46px; }
:where(main, .fg-out) .cta .sent { font-size: .8125rem; }
:where(main, .fg-out) .cta--seller { background: var(--night); color: var(--on-night); border-color: var(--night); }
:where(main, .fg-out) .cta--seller h2 { color: var(--on-night); }
:where(main, .fg-out) .cta--seller p { color: var(--on-night-2); }
:where(main, .fg-out) .cta--seller .cta__tag { color: #ff8a8f; }
:where(main, .fg-out) .cta--seller label { color: var(--on-night); }
:where(main, .fg-out) .cta--seller .cta__fine { color: var(--on-night-2) !important; }
:where(main, .fg-out) .cta--seller .err { color: #ffb3b6; }
:where(main, .fg-out) .cta--account { border: 1.5px solid var(--ink); }
:where(main, .fg-out) .cta__ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: .9375rem; }
:where(main, .fg-out) .cta__ticks li { display: flex; gap: 10px; align-items: baseline; }
:where(main, .fg-out) .cta__ticks li::before { content: ""; flex: none; width: 12px; height: 7px; border-left: 2px solid var(--green); border-bottom: 2px solid var(--green); transform: rotate(-45deg) translateY(-2px); }
:where(main, .fg-out) .cta--account .btn { background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .cta__homes { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
:where(main, .fg-out) .cta__homes a { display: grid; grid-template-columns: 92px 1fr; gap: 12px; align-items: center; text-decoration: none; padding: 6px; margin: -6px; border-radius: var(--r-md); transition: background-color .15s; }
:where(main, .fg-out) .cta__homes a:hover { background: var(--paper-2); }
:where(main, .fg-out) .cta__homes a:hover strong { color: var(--red-ink); }
:where(main, .fg-out) .cta__homes img { width: 92px; height: 68px; object-fit: cover; border-radius: 8px; }
:where(main, .fg-out) .cta__homes span { display: grid; gap: 1px; font-size: .875rem; }
:where(main, .fg-out) .cta__homes strong { font-size: 1.0625rem; }
:where(main, .fg-out) .cta__meta { color: var(--ink-3); font-size: .8125rem !important; }
:where(main, .fg-out) .cta__img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-md); }
:where(main, .fg-out) .cta__who { display: flex; gap: 14px; align-items: center; }
:where(main, .fg-out) .cta__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex: none; }
:where(main, .fg-out) .cta__who span { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .cta__actions { display: flex; flex-wrap: wrap; gap: 8px; }
:where(main, .fg-out) .cta-stack .agent { position: static; }
:where(main, .fg-out) .with-side { display: grid; gap: 40px; }
@media (min-width: 1100px) {
:where(main, .fg-out) .with-side { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; }
:where(main, .fg-out) .with-side .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1099px) {
:where(main, .fg-out) .cta-stack { max-width: 680px; }
:where(main, .fg-out) .cta-stack--sticky > :last-child { position: static; }
}
:where(main, .fg-out) .hero-kicker { font: 600 .9375rem/1.3 var(--f-text) !important; letter-spacing: .01em; color: var(--red-ink); max-width: none !important; }
:where(main, .fg-out) .hero-ask-title { font: 500 clamp(2.6rem, 5.4vw, 4.8rem)/1.02 var(--f-display); letter-spacing: -.02em; margin: -10px 0 0; max-width: 13ch; }
:where(main, .fg-out) .lrow + .lrow { margin-top: clamp(36px, 4vw, 56px); }
:where(main, .fg-out) .lrow__head { display: flex; justify-content: space-between; align-items: end; gap: 12px 24px; flex-wrap: wrap; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--ink); }
:where(main, .fg-out) .lrow__head h3 { font: 500 clamp(1.4rem, 2vw, 1.75rem)/1.15 var(--f-display); }
:where(main, .fg-out) .lrow__head p { font-size: .9375rem; color: var(--ink-2); margin: 4px 0 0; }
:where(main, .fg-out) .lrow__scroll { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, calc((100% - 3 * 20px) / 4)); gap: 20px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: none; overscroll-behavior-y: auto; scroll-snap-type: x mandatory; touch-action: pan-x pan-y; padding-bottom: 8px; scrollbar-width: thin; }
:where(main, .fg-out) .lrow__card { scroll-snap-align: start; display: grid; gap: 4px; text-decoration: none; min-width: 0; }
:where(main, .fg-out) .lrow__ph { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: var(--paper-3); margin-bottom: 8px; }
:where(main, .fg-out) .lrow__ph img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .2s; }
:where(main, .fg-out) .lrow__card:hover .lrow__ph img { opacity: .92; }
:where(main, .fg-out) .lrow__price { font-weight: 600; font-size: 1.125rem; }
:where(main, .fg-out) .lrow__addr { font: 500 1.0625rem/1.25 var(--f-display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:where(main, .fg-out) .lrow__card:hover .lrow__addr { color: var(--red-ink); }
:where(main, .fg-out) .lrow__meta { font-size: .8125rem; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 640px) {
:where(main, .fg-out) .lrow__scroll { grid-auto-columns: 78%; gap: 14px; }
}
:where(main, .fg-out) .lrow-cats { margin: -8px 0 clamp(28px, 3vw, 40px); }
:where(main, .fg-out) .hn2 { display: grid; gap: 32px clamp(24px, 3vw, 48px); grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); align-items: start; }
:where(main, .fg-out) .hn2__area { display: grid; gap: 8px; }
:where(main, .fg-out) .hn2__area h3 { font: 500 1.4rem/1.2 var(--f-display); padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
:where(main, .fg-out) .hn2__area h3 a { text-decoration: none; }
:where(main, .fg-out) .hn2__area h3 a:hover { color: var(--red-ink); }
:where(main, .fg-out) .hn2__area > p { font-size: .8125rem; color: var(--ink-3); margin: 0; }
:where(main, .fg-out) .hn2__area ul { list-style: none; margin: 0 0 6px; padding: 0; }
:where(main, .fg-out) .hn2__area li { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 6px 0; border-bottom: 1px solid var(--rule); font-size: .9375rem; }
:where(main, .fg-out) .hn2__area li a { text-decoration: none; font-weight: 500; }
:where(main, .fg-out) .hn2__area li a:hover { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .hn2__area li span { font-size: .8125rem; color: var(--ink-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .lrow__ph img { max-width: none; }
:where(main, .fg-out) .p-tools { display: flex; justify-content: space-between; align-items: center; gap: 10px 20px; flex-wrap: wrap; padding: 18px 0 6px; font-size: .9375rem; }
:where(main, .fg-out) .p-tools__btns { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
:where(main, .fg-out) .p-tool { all: unset; box-sizing: border-box; cursor: pointer; min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; border: 1.5px solid var(--rule); border-radius: 999px; font-weight: 500; background: var(--card); }
:where(main, .fg-out) .p-tool:hover { border-color: var(--ink); }
:where(main, .fg-out) .p-tool:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .p-tools__auth { font-size: .875rem; color: var(--ink-3); margin-left: 6px; }
:where(main, .fg-out) .p-tools__auth a { color: var(--ink); font-weight: 600; }
:where(main, .fg-out) .p-sub a { color: inherit; }
:where(main, .fg-out) .p-drop { margin: 4px 0 6px; font-size: .875rem; font-weight: 600; color: var(--green); }
:where(main, .fg-out) .p-note { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin-top: 18px; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .p-note p { margin: 0; }
:where(main, .fg-out) .p-chips { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; }
:where(main, .fg-out) .p-chips li { font-size: .8125rem; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: #dfe8e1; color: var(--green); }
:where(main, .fg-out) .verify { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .verify li { display: grid; grid-template-columns: 170px 1fr; gap: 2px 16px; padding: 14px 0; border-bottom: 1px solid var(--rule); align-items: baseline; }
:where(main, .fg-out) .verify strong { font: 500 1.125rem/1.3 var(--f-display); }
:where(main, .fg-out) .v-why { grid-column: 2; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .v-tag { grid-row: span 2; font-size: .75rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--ink-3); }
:where(main, .fg-out) .v-tag--stated { color: var(--red-ink); }
@media (max-width: 640px) {
:where(main, .fg-out) .verify li { grid-template-columns: 1fr; }
:where(main, .fg-out) .v-tag { grid-row: auto; }
:where(main, .fg-out) .v-why { grid-column: 1; }
}
:where(main, .fg-out) .verify__unlock { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 16px; padding: 16px 18px; background: var(--paper-2); border-radius: var(--r-md); }
:where(main, .fg-out) .verify__unlock p { margin: 0; font-size: .9375rem; flex: 1 1 260px; }
:where(main, .fg-out) .verify__unlock .btn { background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .lol { padding: 22px 24px !important; border: 1.5px solid var(--ink); border-radius: var(--r-lg); background: var(--card); }
:where(main, .fg-out) .lol h2 { font-size: 1.5rem !important; margin-bottom: 8px; }
:where(main, .fg-out) .lol p { margin: 0; color: var(--ink-2); }
:where(main, .fg-out) .tabs__list { display: flex; gap: 4px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: none; overscroll-behavior-y: auto; touch-action: pan-x pan-y; border-bottom: 1px solid var(--ink); scrollbar-width: none; }
:where(main, .fg-out) .tabs__list::-webkit-scrollbar { display: none; }
:where(main, .fg-out) .tabs__list [role="tab"] { all: unset; box-sizing: border-box; cursor: pointer; flex: none; padding: 12px 16px; font-weight: 600; font-size: .9375rem; color: var(--ink-3); border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
:where(main, .fg-out) .tabs__list [role="tab"]:hover { color: var(--ink); }
:where(main, .fg-out) .tabs__list [role="tab"][aria-selected="true"] { color: var(--ink); border-bottom-color: var(--red); }
:where(main, .fg-out) .tabs__list [role="tab"]:focus-visible { outline: 2px solid var(--red-ink); outline-offset: -2px; border-radius: 4px; }
:where(main, .fg-out) .tabs__panel { padding-top: 24px; }
:where(main, .fg-out) .tabs__panel h3 { font: 500 1.2rem/1.2 var(--f-display); margin-bottom: 8px; }
@media print {
:where(main, .fg-out) .tabs__panel[hidden] { display: block !important; }
:where(main, .fg-out) .tabs__list { display: none; }
}
:where(main, .fg-out) .spec-groups { display: grid; gap: 24px 40px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
:where(main, .fg-out) .hood2 { display: grid; gap: 24px; }
@media (min-width: 800px) {
:where(main, .fg-out) .hood2 { grid-template-columns: 1fr 1.1fr; align-items: start; }
}
:where(main, .fg-out) .hood2 > div { display: grid; gap: 10px; align-content: start; }
:where(main, .fg-out) .hood2 h3 { display: flex; gap: 10px; align-items: center; }
:where(main, .fg-out) .hood2 p { margin: 0; color: var(--ink-2); }
:where(main, .fg-out) .hood2__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--ink); }
:where(main, .fg-out) .hood2__stats > div { padding: 12px 10px 12px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .hood2__stats dt { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .hood2__stats dd { margin: 2px 0 0; font: 500 1.4rem/1.15 var(--f-display); }
:where(main, .fg-out) .hood2__stats dd.sm { font: 400 .75rem/1.3 var(--f-text); color: var(--ink-3); }
@media (max-width: 480px) {
:where(main, .fg-out) .hood2__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
:where(main, .fg-out) .permits { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--rule); }
:where(main, .fg-out) .permits li { display: grid; grid-template-columns: 140px 1fr auto; gap: 4px 16px; padding: 11px 0; border-bottom: 1px solid var(--rule); font-size: .9375rem; align-items: baseline; }
:where(main, .fg-out) .permits__d { font-size: .8125rem; color: var(--ink-3); font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .permits__v { font-size: .8125rem; color: var(--ink-3); }
@media (max-width: 640px) {
:where(main, .fg-out) .permits li { grid-template-columns: 1fr; }
}
:where(main, .fg-out) .p-map { height: 340px; border-radius: var(--r-lg); overflow: hidden; background: var(--paper-3); border: 1px solid var(--rule); z-index: 0; }
:where(main, .fg-out) .p-map__foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
:where(main, .fg-out) .mini-legend { display: block; font-size: .8125rem; font-weight: 600; color: var(--ink-2); margin-bottom: 8px; padding: 0; }
:where(main, .fg-out) .days--7 { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
:where(main, .fg-out) .days--7 span { min-height: 50px; font-size: .75rem; }
:where(main, .fg-out) .seg--times { gap: 6px; }
:where(main, .fg-out) .seg--times span { min-height: 36px; padding: 0 10px; font-size: .8125rem; }
:where(main, .fg-out) .ask-q { margin-top: 6px; }
:where(main, .fg-out) .chips--sm a { min-height: 36px; padding: 0 12px; font-size: .8438rem; }
:where(main, .fg-out) .agent fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
:where(main, .fg-out) .p-main, :where(main, .fg-out) .p-block, :where(main, .fg-out) .tabs, :where(main, .fg-out) .tabs__panel { min-width: 0; }
:where(main, .fg-out) .p-main { max-width: 100%; }
:where(main, .fg-out) .cta-stack, :where(main, .fg-out) .cta-stack > * { min-width: 0; }
@media (max-width: 480px) {
:where(main, .fg-out) .days--7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
:where(main, .fg-out) .mock-switch { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 4px; padding: 6px; border: 1px dashed var(--ink-3); border-radius: 999px; font-size: .8125rem; }
:where(main, .fg-out) .mock-switch span { padding: 0 6px; color: var(--ink-3); }
:where(main, .fg-out) .mock-switch button { all: unset; cursor: pointer; padding: 6px 12px; border-radius: 999px; font-weight: 600; }
:where(main, .fg-out) .mock-switch button[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
:where(main, .fg-out) .mock-switch button:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .rep { display: grid; gap: 18px; margin-top: 16px; }
:where(main, .fg-out) .rep__summary { font-size: .9375rem; color: var(--ink-2); margin: 0; padding: 14px 16px; background: var(--paper-2); border-radius: var(--r-md); }
:where(main, .fg-out) .rep__cards { display: grid; gap: 14px; }
:where(main, .fg-out) .rep__card { display: grid; gap: 10px; padding: 20px; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); }
:where(main, .fg-out) .rep__card header { display: grid; gap: 4px; }
:where(main, .fg-out) .rep__card h3 { font: 500 1.3rem/1.25 var(--f-display); }
:where(main, .fg-out) .rep__card > p { margin: 0; color: var(--ink-2); font-size: .9688rem; line-height: 1.6; }
:where(main, .fg-out) .rep__card dl { margin: 0; display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid var(--rule); }
:where(main, .fg-out) .rep__card dt { font-size: .8125rem; font-weight: 700; color: var(--ink); }
:where(main, .fg-out) .rep__card dd { margin: 2px 0 0; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .rep__qs { padding: 18px 20px; border: 1.5px solid var(--ink); border-radius: var(--r-lg); }
:where(main, .fg-out) .rep__qs h3 { font: 500 1.25rem/1.2 var(--f-display); margin-bottom: 8px; }
:where(main, .fg-out) .rep__qs ol { margin: 0; padding-left: 20px; display: grid; gap: 6px; font-size: .9375rem; }
:where(main, .fg-out) .v-tag--mapped { color: #1f4f7a; }
:where(main, .fg-out) .sold__head { display: flex; justify-content: space-between; align-items: center; gap: 10px 20px; flex-wrap: wrap; }
:where(main, .fg-out) .sold__head .mock-switch { margin: 0; }
:where(main, .fg-out) .sold .lede { margin: 10px 0 18px; }
:where(main, .fg-out) .sold__wrap { position: relative; }
:where(main, .fg-out) .sold__grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); }
:where(main, .fg-out) .sold__card { display: grid; grid-template-rows: auto 1fr; background: var(--card); border: 1px solid var(--rule); border-radius: var(--r-lg); overflow: hidden; }
:where(main, .fg-out) .sold__tile { display: grid; place-items: center; gap: 6px; aspect-ratio: 16 / 10; background: var(--paper-3); color: var(--ink-3); padding: 14px; text-align: center; }
:where(main, .fg-out) .sold__tile svg { width: 56px; height: 42px; }
:where(main, .fg-out) .sold__tile span { font-size: .75rem; font-weight: 600; letter-spacing: .02em; }
:where(main, .fg-out) .sold__body { display: grid; gap: 4px; padding: 14px 16px 16px; align-content: start; }
:where(main, .fg-out) .sold__body p { margin: 0; }
:where(main, .fg-out) .sold__when { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--red-ink); }
:where(main, .fg-out) .sold__price { font: 500 1.5rem/1.15 var(--f-display); }
:where(main, .fg-out) .sold__gated { font-size: .8125rem; color: var(--ink-2); }
:where(main, .fg-out) .sold__facts { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .is-blurred { filter: blur(6px); user-select: none; }
:where(main, .fg-out) .sold__gate { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -38%); width: min(420px, calc(100% - 24px)); display: grid; gap: 10px; justify-items: center; text-align: center; padding: 22px 24px; background: color-mix(in srgb, var(--paper) 94%, transparent); border: 1.5px solid var(--ink); border-radius: var(--r-lg); box-shadow: 0 24px 48px -24px rgba(22,19,15,.4); }
:where(main, .fg-out) .sold__gate p { margin: 0; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .sold__gate .sold__gate-h { font: 500 1.4rem/1.2 var(--f-display); color: var(--ink); }
:where(main, .fg-out) .sold__gate .tiny a { color: var(--ink); font-weight: 600; }
@media (max-width: 640px) {
:where(main, .fg-out) .sold__gate { position: static; transform: none; width: auto; margin-top: 14px; }
}
:where(main, .fg-out) .sold__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
:where(main, .fg-out) .sold__tile { aspect-ratio: 16 / 7; }
@media (max-width: 640px) {
:where(main, .fg-out) .sold__grid { grid-template-columns: 1fr; gap: 10px; }
:where(main, .fg-out) .sold__card { grid-template-rows: none; grid-template-columns: 92px 1fr; }
:where(main, .fg-out) .sold__tile { aspect-ratio: auto; height: 100%; padding: 8px; }
:where(main, .fg-out) .sold__tile svg { width: 40px; height: 30px; }
:where(main, .fg-out) .sold__tile span { font-size: .6875rem; }
:where(main, .fg-out) .sold__body { padding: 12px 14px; }
}
:where(main, .fg-out) .auth-grid { display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); align-items: start; padding-bottom: 96px; }
:where(main, .fg-out) .auth-demo { margin: 0; display: grid; gap: 10px; }
:where(main, .fg-out) .auth-demo figcaption { font-size: .8125rem; color: var(--ink-3); }
:where(main, .fg-out) .auth-panel, :where(main, .fg-out) .auth__card { position: relative; display: grid; gap: 14px; padding: 28px; background: var(--paper); border: 1px solid var(--rule); border-radius: var(--r-lg); box-shadow: 0 30px 60px -36px rgba(22,19,15,.45); }
:where(main, .fg-out) .auth-panel h2, :where(main, .fg-out) .auth__card h2 { font: 500 1.6rem/1.2 var(--f-display); padding-right: 44px; }
:where(main, .fg-out) .auth-sub { margin: 0; color: var(--ink-2); font-size: .9688rem; }
:where(main, .fg-out) .auth-google { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; border: 1.5px solid var(--rule); border-radius: 999px; background: #fff; font-weight: 600; }
:where(main, .fg-out) .auth-google:hover { border-color: var(--ink); }
:where(main, .fg-out) .auth-google:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .auth-or { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; color: var(--ink-3); font-size: .8125rem; }
:where(main, .fg-out) .auth-or::before, :where(main, .fg-out) .auth-or::after { content: ""; height: 1px; background: var(--rule); }
:where(main, .fg-out) .auth-form { display: grid; gap: 12px; }
:where(main, .fg-out) .auth-form label { display: grid; gap: 6px; font-size: .875rem; font-weight: 600; }
:where(main, .fg-out) .auth-form input { font: 400 16px/1.4 var(--f-text); padding: 12px 14px; border: 1.5px solid var(--rule); border-radius: var(--r-md); background: #fff; }
:where(main, .fg-out) .auth-links { margin: 0; text-align: center; font-size: .875rem; color: var(--ink-2); }
:where(main, .fg-out) .auth-link { all: unset; cursor: pointer; font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .auth-link:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 2px; }
:where(main, .fg-out) .auth-done { display: grid; gap: 6px; justify-items: center; text-align: center; padding: 8px 0; }
:where(main, .fg-out) .auth-done p { margin: 0; color: var(--ink-2); }
:where(main, .fg-out) .auth-done__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #dfe8e1; color: var(--green); font-size: 1.4rem; font-weight: 700; }
:where(main, .fg-out) .dash-head { display: flex; justify-content: space-between; align-items: end; gap: 20px 40px; flex-wrap: wrap; padding: 32px 0 24px; }
:where(main, .fg-out) .dash-head h1 { font-size: clamp(2.2rem, 4vw, 3.4rem); }
:where(main, .fg-out) .dash-head .lede { margin-top: 10px; }
:where(main, .fg-out) .dash-who { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--rule); border-radius: 999px; background: var(--card); }
:where(main, .fg-out) .dash-who div { display: grid; font-size: .8125rem; }
:where(main, .fg-out) .dash-who span { color: var(--ink-3); }
:where(main, .fg-out) .dash-avatar { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--paper) !important; font-weight: 700; }
:where(main, .fg-out) .dash-tabs { padding-bottom: 96px; }
:where(main, .fg-out) .tab-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--paper-3); font-size: .75rem; }
:where(main, .fg-out) .dash-h { font: 500 1.5rem/1.2 var(--f-display); margin-bottom: 14px; }
:where(main, .fg-out) .fav-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
:where(main, .fg-out) .fav { position: relative; }
:where(main, .fg-out) .fav > a { display: grid; gap: 8px; text-decoration: none; }
:where(main, .fg-out) .fav .photo { aspect-ratio: 4 / 3; }
:where(main, .fg-out) .fav__heart { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--paper); color: var(--red); font-size: 1.3rem; cursor: pointer; box-shadow: 0 6px 16px -8px rgba(0,0,0,.4); }
:where(main, .fg-out) .fav__flag { position: absolute; top: 14px; left: 14px; padding: 4px 10px; border-radius: 999px; background: var(--ink); color: var(--paper); font-size: .75rem; font-weight: 700; }
:where(main, .fg-out) .cmp { width: 100%; border-collapse: collapse; min-width: 560px; font-variant-numeric: tabular-nums; }
:where(main, .fg-out) .cmp th, :where(main, .fg-out) .cmp td { padding: 12px 14px 12px 0; border-bottom: 1px solid var(--rule); text-align: left; font-size: .9375rem; }
:where(main, .fg-out) .cmp thead th { border-bottom: 1px solid var(--ink); font: 500 1.05rem/1.25 var(--f-display); }
:where(main, .fg-out) .cmp tbody th { font-weight: 600; color: var(--ink-3); font-size: .8125rem; }
:where(main, .fg-out) .ss { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .ss h3 { font: 500 1.25rem/1.25 var(--f-display); }
:where(main, .fg-out) .ss p { margin: 4px 0 0; font-size: .9375rem; color: var(--ink-2); }
:where(main, .fg-out) .ss__count { font-weight: 600; color: var(--green) !important; }
:where(main, .fg-out) .ss__actions { display: flex; gap: 8px; }
:where(main, .fg-out) .prefs { display: grid; gap: 22px; max-width: 640px; }
:where(main, .fg-out) .prefs p { margin: 0; color: var(--ink-2); }
:where(main, .fg-out) .prefs fieldset { border: 0; margin: 0; padding: 0; }
:where(main, .fg-out) .prefs legend { font-weight: 700; margin-bottom: 10px; }
:where(main, .fg-out) .pref-list { display: grid; gap: 8px; }
:where(main, .fg-out) .pref { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--rule); border-radius: var(--r-md); background: var(--card); cursor: pointer; }
:where(main, .fg-out) .pref:has(input:checked) { border-color: var(--ink); }
:where(main, .fg-out) .pref input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ink); flex: none; }
:where(main, .fg-out) .pref > span { display: grid; gap: 2px; }
:where(main, .fg-out) .pref > span span { font-size: .875rem; color: var(--ink-2); }
:where(main, .fg-out) .split-form { display: grid; gap: 32px; }
@media (min-width: 1000px) {
:where(main, .fg-out) .split-form { grid-template-columns: 1fr 480px; align-items: start; }
}
:where(main, .fg-out) .split-form p { color: var(--ink-2); }
:where(main, .fg-out) .ai-launch { position: fixed; right: 24px; bottom: 24px; z-index: 60; display: inline-flex; align-items: center; gap: 10px; padding: 6px 18px 6px 6px; border: 0; border-radius: 999px; background: var(--ink); color: var(--paper); font: 600 .9375rem/1 var(--f-text); cursor: pointer; box-shadow: 0 18px 40px -14px rgba(22,19,15,.55); transition: transform .2s var(--ease), background-color .2s; }
:where(main, .fg-out) .ai-launch:hover { background: #000; transform: translateY(-2px); }
:where(main, .fg-out) .ai-launch:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 3px; }
:where(main, .fg-out) .ai-launch img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: block; }
:where(main, .fg-out) .ai-launch .ai-pulse { position: relative; }
:where(main, .fg-out) .ai-launch .ai-pulse::after { content: ""; position: absolute; right: 0; bottom: 1px; width: 10px; height: 10px; border-radius: 50%; background: #2fb36b; border: 2px solid var(--ink); }
:where(main, .fg-out) .ai-open .ai-launch { display: none; }
@media (max-width: 760px) {
:where(main, .fg-out) .ai-launch { right: 12px; bottom: calc(76px + env(safe-area-inset-bottom)); padding: 4px; gap: 0; }
:where(main, .fg-out) .ai-launch__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:where(main, .fg-out) .ai-launch img { width: 46px; height: 46px; }
}
:where(main, .fg-out) .ask { z-index: 6; }
:where(main, .fg-out) .ask__menu { background: var(--card, #fbf8f2); }
:where(main, .fg-out) .ask__menu .ask__menu-list button { display: grid; gap: 3px; width: 100%; font-weight: 600; }
:where(main, .fg-out) .ask__menu .ask__menu-list button small { display: block; font-size: .8125rem; font-weight: 400; color: var(--ink-3); }
:where(main, .fg-out) .sp-hero { align-items: start; }
@media (min-width: 1024px) {
:where(main, .fg-out) .sp-hero { grid-template-columns: 1.1fr .9fr; }
}
:where(main, .fg-out) .sp-hero__answer { font-size: 1rem; }
:where(main, .fg-out) .sp-hero__answer p + p { margin-top: .8em; }
:where(main, .fg-out) .sp-hero__answer a, :where(main, .fg-out) .guide .prose a { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .answer__label { font-weight: 700; font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
:where(main, .fg-out) .guide { display: grid; gap: clamp(48px, 6vw, 72px); min-width: 0; }
:where(main, .fg-out) .guide-sec { min-width: 0; }
:where(main, .fg-out) .guide-sec > h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.12; max-width: 24ch; margin-bottom: 18px; }
:where(main, .fg-out) .guide-sec .prose { max-width: 72ch; }
:where(main, .fg-out) .prose h3, :where(main, .fg-out) .guide-sec .prose h3 { font: 500 clamp(1.25rem, 1.5vw, 1.4rem)/1.25 var(--f-display); letter-spacing: -0.01em; margin: 1.7em 0 .5em; }
:where(main, .fg-out) .prose h2 + h3, :where(main, .fg-out) .prose > h3:first-child { margin-top: .4em; }
:where(main, .fg-out) .prose ul, :where(main, .fg-out) .prose ol { padding-left: 1.5em; margin: .6em 0 1em; }
:where(main, .fg-out) .prose li { padding-left: .2em; }
:where(main, .fg-out) .prose li + li { margin-top: .35em; }
:where(main, .fg-out) .prose li::marker { color: var(--ink-3); }
:where(main, .fg-out) .prose ul + p, :where(main, .fg-out) .prose ol + p { margin-top: 1em; }
:where(main, .fg-out) .guide-sec .tablewrap { max-width: none; margin: 22px 0 6px; }
:where(main, .fg-out) .guide-sec .figs { min-width: 560px; }
:where(main, .fg-out) .guide-sec .figs th[scope=row] { font-weight: 600; }
:where(main, .fg-out) .guide-sec .figs a { color: var(--ink); }
:where(main, .fg-out) .guide-sec .sortable { min-width: 640px; }
:where(main, .fg-out) .facts--stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 6px 0 22px; max-width: 72ch; }
:where(main, .fg-out) .facts--stats dd { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
@media (max-width: 560px) {
:where(main, .fg-out) .facts--stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
:where(main, .fg-out) .faq { border-top: 1px solid var(--ink); }
:where(main, .fg-out) .faq details { border-bottom: 1px solid var(--rule); }
:where(main, .fg-out) .faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font: 500 1.2rem/1.3 var(--f-display); }
:where(main, .fg-out) .faq summary::-webkit-details-marker { display: none; }
:where(main, .fg-out) .faq summary::after { content: "+"; font: 400 1.5rem/1 var(--f-text); color: var(--ink-3); flex: none; }
:where(main, .fg-out) .faq details[open] summary::after { content: "\2212"; }
:where(main, .fg-out) .faq details .prose { padding: 0 0 20px; }
:where(main, .fg-out) .section--surface .sortable thead th { background: var(--paper-2, var(--paper)); }
:where(main, .fg-out) .area-hero--split { align-items: start; }
@media (min-width: 1024px) {
:where(main, .fg-out) .area-hero--split { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important; }
}
:where(main, .fg-out) .area-hero--split h1 { max-width: 16ch; font-size: clamp(2.3rem, 4.4vw, 3.9rem); }
:where(main, .fg-out) .area-hero__intro { display: grid; gap: 16px; padding-top: 6px; }
:where(main, .fg-out) .area-hero__intro .lede { font-size: 1.0625rem; }
:where(main, .fg-out) .area-hero--split .lede a, :where(main, .fg-out) #ryan .prose a, :where(main, .fg-out) #hoods .lede a { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .starts h3 a { color: var(--ink); text-decoration: none; }
:where(main, .fg-out) .starts h3 a:hover { color: var(--red-ink); text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .ryan-note { display: flex; gap: 18px; align-items: center; align-self: start; }
:where(main, .fg-out) .ryan-note img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: none; }
:where(main, .fg-out) .ryan-note__name { font: 500 1.4rem/1.2 var(--f-display); }
:where(main, .fg-out) #ryan .prose h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: 14px; }
:where(main, .fg-out) #market .table-title { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
:where(main, .fg-out) .card .photo img { width: 100%; height: 100%; object-fit: cover; max-width: none; }
:where(main, .fg-out) .card .photo img[style] { position: absolute; }
:where(main, .fg-out) .card:hover .photo > img { transform: none; opacity: .92; }
:where(main, .fg-out) .card .photo > img { transition: opacity .2s; }
@media (min-width: 1100px) {
:where(main, .fg-out) .a-head .lede { max-width: 92ch; }
:where(main, .fg-out) .area-hero__intro .lede { max-width: none; }
}
:where(main, .fg-out) [data-baked][data-limit="20"]:not(.is-ready) tbody tr:nth-child(n+21), :where(main, .fg-out) [data-baked][data-limit="25"]:not(.is-ready) tbody tr:nth-child(n+26), :where(main, .fg-out) [data-baked][data-limit="40"]:not(.is-ready) tbody tr:nth-child(n+41) { display: none; }
:where(main, .fg-out) .article .a-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 2.4em; font-family: var(--f-text); }
:where(main, .fg-out) .a-pn__link { display: grid; gap: 4px; padding: 16px 18px; border: 1px solid var(--rule); border-radius: var(--r-md); background: var(--card); text-decoration: none; color: var(--ink); transition: border-color .2s; }
:where(main, .fg-out) .a-pn__link:hover { border-color: var(--ink); }
:where(main, .fg-out) .a-pn__next { text-align: right; }
:where(main, .fg-out) .a-pn__label { font-size: .8125rem; font-weight: 600; color: var(--ink-3); }
:where(main, .fg-out) .a-pn__prev .a-pn__label::before { content: "\2190  "; }
:where(main, .fg-out) .a-pn__next .a-pn__label::after { content: "  \2192"; }
:where(main, .fg-out) .a-pn__title { font: 500 1.0625rem/1.3 var(--f-display); }
:where(main, .fg-out) .article .a-more { margin-top: 2.4em; font-family: var(--f-text); }
:where(main, .fg-out) .article .a-more h2 { font-size: clamp(1.4rem, 2vw, 1.7rem); margin: 0 0 16px; }
:where(main, .fg-out) .a-more__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; margin-bottom: 18px; }
:where(main, .fg-out) .a-more__card { display: grid; gap: 10px; align-content: start; text-decoration: none; color: var(--ink); }
:where(main, .fg-out) .a-more__card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-sm); background: var(--paper-3); }
:where(main, .fg-out) .a-more__card:hover .a-more__title { text-decoration: underline; text-underline-offset: 3px; }
:where(main, .fg-out) .a-more__title { font: 500 1.0625rem/1.3 var(--f-display); }
@media (max-width: 560px) {
:where(main, .fg-out) .article .a-pn { grid-template-columns: 1fr; }
:where(main, .fg-out) .a-pn__next { text-align: left; }
}
:where(main, .fg-out) .ask__label-phone { display: none; }
@media (max-width: 560px) {
:where(main, .fg-out) .hero-b { padding-block: 18px 28px; }
:where(main, .fg-out) .hero-b__grid > div[data-enter] { gap: 12px !important; }
:where(main, .fg-out) .hero-b .hero-ask-title { font-size: 2.15rem; line-height: 1.05; max-width: none; margin: 0; }
:where(main, .fg-out) .hero-b .lede { font-size: 1rem; line-height: 1.5; }
:where(main, .fg-out) .hero-lede-more { display: none; }
:where(main, .fg-out) .ask__label-wide { display: none; }
:where(main, .fg-out) .ask__label-phone { display: inline; }
:where(main, .fg-out) .hero-b .ask { padding: 12px 12px 14px; gap: 10px; margin-top: 4px; }
:where(main, .fg-out) .hero-b .ask__label { margin: 0 2px 6px; }
:where(main, .fg-out) .hero-b .ask__row { flex-direction: row; align-items: flex-end; }
:where(main, .fg-out) .hero-b .ask__send { width: 48px; height: 48px; border-radius: 50%; }
:where(main, .fg-out) .hero-b .ask textarea { min-height: 96px; }
:where(main, .fg-out) .hero-b .ask__mode--plan, :where(main, .fg-out) .hero-b .ask__plain { display: none; }
:where(main, .fg-out) .hero-b .ask__modes { flex-wrap: wrap; overflow: visible; margin-inline: 0; padding-inline: 0; }
:where(main, .fg-out) .hero-b .ask__mode, :where(main, .fg-out) .hero-b .ask__plain { flex: 0 1 auto; }
}
body.fg-page :where(main, .fg-out) .wrap { max-width: none; padding-inline: 0; width: min(var(--page-max, 1560px), calc(100% - 2 * var(--page-gutter, 20px))); }
body.fg-page :where(main) .a-layout > *, body.fg-page :where(main) .with-side > * { min-width: 0; }
body.fg-page :where(main) .article table { display: block; max-width: 100%; overflow-x: auto; }
