/* Editorial marketplace: cobalt, ink and one electric accent. */
:root {
  --blue: #2869c7;
  --blue-dark: #2159ac;
  --ink: #152331;
  --navy: #102c42;
  --electric: #b8e3d4;
  --purple: #2869c7;
  --cream: #f2f5f4;
  --muted: #71808f;
  --line: #dfe5eb;
}
body { background: #f2f5f4; }
.container { width: min(1280px, calc(100% - 64px)); }
.demo-bar { background: #dfe6ec; color: #6c7d8b; font-size: 10px; }
.demo-bar button { border-color: #95a6b2; }
.site-header { background: white; border-color: #e2e8ed; }
.site-header > .container, .header-inner { min-height: 77px; }
.site-header .original-logo { height: 32px; max-width: 220px; }
.site-nav { gap: 26px; }
.nav-link { font-size: 12px; font-weight: 650; color: #405161; }
.header-actions > .btn { font-size: 12px; background: var(--navy); border-color: var(--navy); color: white; }
.header-actions > .btn:hover { background: #1b3e57; border-color: #1b3e57; }
.header-favorite { color: #445c70; }
.btn { border-radius: 7px; font-size: 13px; }
.btn-primary { color: white; background: var(--blue); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-secondary { color: var(--blue); border-color: #cbd8f4; }
.eyebrow { color: #526b80; font-size: 10px; letter-spacing: .055em; }
.eyebrow::before { background: var(--blue); }
.quick-search-section { padding-top: 20px; }
.quick-search-section > h1 { font-size: 25px; line-height: 1.3; letter-spacing: -.04em; }
.quick-search-section > .eyebrow { margin-bottom: 12px; font-size: 10px; }
.quick-search-section > p { margin-top: 0; }
.quick-search-section .search-tabs { margin-top: 11px; margin-bottom: 9px; }
.search-tabs button { font-size: 11px; padding: 7px 13px; min-height: 32px; background: #e2e8ef; color: #657b90; }
.search-tabs button[aria-pressed='true'] { background: var(--navy); color: white; }
.express-search, .quick-search-section .search-panel { padding: 15px 17px; grid-template-columns: 1.1fr 1fr 1fr auto; gap: 13px; border: 1px solid #dae3ec; border-radius: 10px; background: white; }
.express-search { display: grid; align-items: end; }
.search-field select { min-height: 44px; font-size: 12px; border-color: #e1e6ed; background: #fafbfd; }
.search-label { color: #8090a0; font-size: 10px; font-weight: 600; }
.search-panel > .btn, .express-search > .btn { min-height: 44px; font-size: 12px; grid-column: auto; }
.popular-regions { font-size: 10px; gap: 9px 16px; }
.popular-regions a { color: #54799c; }
.experience-hero { position: relative; min-height: 474px; margin-top: 18px; overflow: hidden; isolation: isolate; border-radius: 13px; background: var(--navy); color: white; }
.experience-photo { position: absolute; inset: 0; display: block; height: 100%; width: 100%; object-fit: cover; object-position: 50% 52%; z-index: -3; }
.experience-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(8,28,43,.86) 0%, rgba(8,28,43,.65) 35%, rgba(8,28,43,.13) 70%, rgba(8,28,43,.04) 100%); }
.experience-content { position: relative; z-index: 2; max-width: 680px; padding: 35px 40px 108px; }
.experience-topline { display: flex; align-items: center; gap: 9px; margin-bottom: 20px; color: #e0ebee; font-size: 10px; font-weight: 600; letter-spacing: .06em; }
.experience-topline::before { content: ''; display: block; width: 26px; height: 2px; background: var(--electric); flex-shrink: 0; }
.experience-content > .eyebrow { color: #eef3f6; font-size: 10px; margin-bottom: 18px; }
.experience-content > .eyebrow::before { width: 22px; height: 2px; border-radius: 0; background: var(--electric); }
.experience-title { max-width: 590px; font-size: 64px; font-weight: 750; line-height: 1.035; letter-spacing: -.05em; color: white; }
.experience-title span { color: var(--electric); }
.experience-content > p:not(.experience-topline):not(.eyebrow) { max-width: 470px; color: #d2dfe5; font-size: 13px; line-height: 1.8; margin-top: 19px; }
.experience-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 21px; }
.experience-actions .btn { min-height: 43px; padding: 11px 17px; font-size: 12px; }
.experience-actions .btn-primary { background: var(--electric); color: #213234; border-color: var(--electric); }
.experience-actions .btn-primary:hover { background: #d0eee3; }
.experience-actions .btn-ghost, .experience-actions .text-link { color: white; }
.experience-actions .btn-ghost:hover { background: #ffffff15; }
.experience-caption { position: absolute; z-index: 3; bottom: 28px; right: 27px; width: 240px; padding: 18px; border: 1px solid #ffffff33; border-radius: 10px; background: #102c42d9; backdrop-filter: blur(8px); }
.experience-caption p, .experience-caption > span { display: block; color: #a8c2d1; font-size: 10px; margin-bottom: 6px; }
.experience-caption strong { display: block; color: white; font-size: 15px; font-weight: 650; line-height: 1.4; }
.experience-caption .price, .experience-caption .experience-price { font-size: 24px; font-weight: 750; letter-spacing: -.04em; color: var(--electric); margin-top: 8px; }
.experience-caption a { display: inline-flex; gap: 7px; color: var(--electric); font-size: 11px; font-weight: 650; margin-top: 11px; }
.experience-switches { position: absolute; bottom: 24px; left: 40px; z-index: 4; display: flex; gap: 9px; max-width: calc(100% - 340px); }
.experience-switches button { display: flex; align-items: center; gap: 9px; min-width: 0; border: 1px solid #ffffff35; border-radius: 7px; background: #ffffff16; backdrop-filter: blur(5px); color: #dce6eb; padding: 6px 10px 6px 6px; font-size: 11px; line-height: 1.4; font-weight: 600; text-align: left; transition: background .18s, border-color .18s; }
.experience-switches button:hover { background: #ffffff2c; }
.experience-switches button[aria-pressed='true'] { border-color: var(--electric); background: #b8e3d41a; color: white; }
.experience-switches button img { width: 52px; height: 42px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.experience-switches button span { max-width: 112px; }
.experience-badge { position: absolute; z-index: 2; right: 34px; top: 30px; width: 108px; height: 108px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 12px; text-align: center; border-radius: 50%; border: 1px solid var(--electric); color: var(--electric); background: #17384b70; transform: rotate(12deg); font-size: 11px; font-weight: 750; line-height: 1.35; letter-spacing: .05em; }
.experience-badge strong { font-size: 18px; letter-spacing: -.02em; }
.experience-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 20px; }
.experience-heading .section-title { font-size: 36px; font-weight: 750; letter-spacing: -.045em; color: #182d3e; }
.experience-heading .eyebrow { margin-bottom: 9px; }
.quick-routes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-top: 15px; }
.quick-route { display: block; position: relative; height: 128px; min-width: 0; isolation: isolate; overflow: hidden; border-radius: 9px; color: white; background: #214259; }
.quick-route > img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.quick-route:hover > img { transform: scale(1.055); }
.quick-route-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(0deg,#0a263bcc,#0a263b14); }
.quick-route:nth-child(2) .quick-route-overlay { background: linear-gradient(0deg,#0a343dcc,#0a263b14); }
.quick-route-copy { position: absolute; left: 17px; bottom: 15px; right: 17px; }
.quick-route-copy h3 { font-size: 19px; font-weight: 750; letter-spacing: -.03em; line-height: 1.3; }
.quick-route-copy > span, .quick-route-copy > p { font-size: 10px; color: #d7e5eb; display: block; margin-top: 4px; }
.quick-route-copy .route-arrow, .quick-route-copy .arrow { position: absolute; right: 0; bottom: 2px; color: var(--electric); font-size: 25px; margin: 0; }
.quick-route-copy svg { width: 20px; height: 20px; color: var(--electric); }
.brand-ribbon { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 19px; padding: 20px 25px; background: var(--navy); border-radius: 9px; color: white; }
.brand-ribbon > div { display: flex; align-items: center; gap: 13px; min-width: 0; }
.brand-ribbon strong { display: block; color: var(--electric); font-size: 24px; font-weight: 750; line-height: 1.2; letter-spacing: -.025em; }
.brand-ribbon p, .brand-ribbon span { color: #a6becd; font-size: 11px; line-height: 1.55; }
.brand-ribbon svg { color: var(--electric); width: 28px; height: 28px; }
.market-feed { padding-top: 37px; }
.market-feed .section-title { color: #172c3e; font-size: 32px; font-weight: 750; }
.market-feed .section-heading { margin-bottom: 20px; }
.market-feed .feed-tabs { gap: 7px; margin-bottom: 6px; }
.market-feed .feed-tabs button { padding: 8px 12px; min-height: 35px; font-size: 11px; color: #71859a; border-color: #dce4ed; }
.market-feed .feed-tabs button[aria-pressed='true'] { color: white; background: var(--navy); border-color: var(--navy); }
.feed-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 22px; }
.feed-main .listing-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.feed-main .listing-card { border-radius: 10px; border-color: #e0e6ed; box-shadow: 0 2px 4px #152c4804; }
.feed-main .listing-card:hover { border-color: #b6c9e5; box-shadow: 0 10px 24px #183d6512; }
.feed-main .card-image { height: 180px; }
.feed-main .card-body { padding: 15px; }
.feed-main .card-topline { color: #8596a7; font-size: 10px; margin-bottom: 7px; }
.feed-main .card-title { color: #294359; font-size: 15px; font-weight: 700; line-height: 1.45; }
.feed-main .card-price { color: var(--blue); font-size: 25px; font-weight: 750; letter-spacing: -.05em; }
.feed-main .card-unit { font-size: 9px; }
.feed-main .card-meta { font-size: 10px; }
.feed-main .card-meta .tag { font-size: 9px; }
.feed-main .card-image > .tag { font-size: 9px; background: #ffffffef; color: #35605a; }
.feed-main .card-bottom .btn { background: var(--blue); color: white; border-color: var(--blue); width: 32px; min-width: 32px; height: 32px; }
.feed-main .card-actions .compare-btn { font-size: 9px; min-height: 30px; }
.market-side { padding-top: 48px; }
.side-panel { background: white; border-color: #dce5ed; border-radius: 10px; }
.side-panel h2, .side-panel h3 { color: #314e63; font-size: 15px; }
.region-row { color: #69859d; font-size: 11px; padding-block: 11px; }
.region-row strong { color: #a0b1be; font-size: 11px; }
.side-help { color: #d4e6ee; background: var(--navy); border-color: var(--navy); padding: 23px 20px; }
.side-help::before { display: none; }
.side-help h2, .side-help h3 { color: white; font-size: 22px; line-height: 1.2; letter-spacing: -.04em; }
.side-help p { color: #9bb9cb; font-size: 12px; line-height: 1.75; }
.side-help .btn { background: var(--electric); color: #25383b; border-color: var(--electric); font-size: 11px; min-height: 40px; }
.side-help .btn:hover { background: #d0eee3; }
.picker-box { background: var(--navy); border-color: var(--navy); padding: 33px; margin-top: 34px; }
.picker-box h2, .picker-box h3 { color: white; font-size: 30px; line-height: 1.15; font-weight: 750; letter-spacing: -.035em; }
.picker-box > p, .picker-box > div > p, .picker-copy > p { color: #a0bbcd; font-size: 12px; line-height: 1.8; }
.picker-box .eyebrow { color: var(--electric); }
.picker-box .eyebrow::before { background: var(--electric); }
.picker-options button, .picker-option { border-color: #426178; color: #b5cbd9; background: #ffffff07; font-size: 12px; }
.picker-options button:hover, .picker-option:hover { color: white; background: #ffffff10; border-color: #91aab8; }
.picker-options button[aria-pressed='true'], .picker-option[aria-pressed='true'], .picker-option.active { background: var(--electric); border-color: var(--electric); color: #29413e; }
.picker-controls label { color: #a0bbcd; font-size: 12px; }
.picker-controls input[type='range'] { accent-color: var(--electric); }
.picker-budgetoutput { color: var(--electric); font-size: 18px; }
.picker-result { border-color: #3a566b; }
.picker-result p { color: #a0bbcd; }
.picker-result a:not(.btn) { color: var(--electric); }
.picker-result .btn { color: #29413e; background: var(--electric); border-color: var(--electric); }
.section-title { font-weight: 700; color: #21394c; }
.recent-item { border-color: #dce5ed; }
.recent-item strong { color: #3b5b75; }
.insight-strip > * { background: white !important; border: 1px solid #dfe6ec; }
.insight-strip h3, .insight-strip strong { color: #3b5870; }
.insight-strip .text-link { color: var(--blue); }
.lead-banner { background: #dde8ed; border-color: #d5e2e9; }
.lead-banner h2 { color: #29475b; font-weight: 750; }
.lead-banner .btn { color: white; background: var(--blue); border-color: var(--blue); }
.lead-banner .btn:hover { background: var(--blue-dark); }
.site-footer { background: #e1e8ed; }
.footer-links { font-size: 12px; }
.footer-links strong { color: #496377; font-size: 12px; }
@media (max-width: 1180px) {
  .container { width: calc(100% - 48px); }
  .site-nav { gap: 18px; }
  .site-header .original-logo { max-width: 195px; height: 30px; }
  .experience-title { font-size: 58px; }
  .experience-content { max-width: 640px; padding: 35px 33px 105px; }
  .experience-switches { left: 33px; max-width: calc(100% - 320px); gap: 7px; }
  .experience-switches button { gap: 7px; padding-right: 8px; font-size: 10px; }
  .experience-switches button img { width: 43px; height: 38px; }
  .experience-caption { width: 220px; right: 23px; }
  .experience-badge { width: 92px; height: 92px; right: 29px; font-size: 9px; }
  .experience-badge strong { font-size: 16px; }
  .quick-route-copy h3 { font-size: 17px; }
  .feed-layout { grid-template-columns: minmax(0,1fr) 230px; gap: 19px; }
  .feed-main .listing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feed-main .card-image { height: 200px; }
}
@media (max-width: 960px) {
  .express-search, .quick-search-section .search-panel { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .express-search > .btn, .quick-search-section .search-panel > .btn { grid-column: 1/-1; }
  .experience-hero { min-height: 482px; }
  .experience-content { padding: 31px 30px 109px; max-width: 600px; }
  .experience-title { font-size: 55px; max-width: 530px; }
  .experience-caption { display: none; }
  .experience-badge { width: 82px; height: 82px; top: 26px; right: 23px; font-size: 8px; }
  .experience-switches { left: 30px; right: 30px; max-width: none; gap: 9px; }
  .experience-switches button { flex: 1; font-size: 11px; }
  .experience-switches button img { width: 52px; height: 42px; }
  .quick-routes { gap: 10px; }
  .quick-route { height: 120px; }
  .quick-route-copy { left: 13px; right: 13px; bottom: 13px; }
  .quick-route-copy h3 { font-size: 16px; }
  .quick-route-copy > span, .quick-route-copy > p { font-size: 9px; }
  .brand-ribbon { gap: 13px; padding: 19px; }
  .brand-ribbon > div { gap: 9px; }
  .brand-ribbon strong { font-size: 21px; }
  .brand-ribbon p, .brand-ribbon span { font-size: 10px; }
  .feed-layout { grid-template-columns: 1fr; }
  .market-side { padding-top: 0; }
  .feed-main .card-image { height: 210px; }
  .picker-box { padding: 29px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 32px); }
  .site-header > .container, .header-inner { min-height: 65px; }
  .site-header .original-logo { height: 26px; max-width: 190px; }
  .nav-link, .mobile-nav > a { font-size: 13px; }
  .quick-search-section { padding-top: 15px; }
  .quick-search-section > h1 { font-size: 23px; }
  .search-tabs button { font-size: 10px; min-height: 31px; padding: 7px 10px; }
  .express-search, .quick-search-section .search-panel { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 13px; gap: 11px; }
  .search-field select { min-height: 43px; font-size: 11px; }
  .search-panel .btn, .express-search .btn { min-height: 44px; font-size: 12px; }
  .popular-regions { font-size: 9px; }
  .experience-hero { min-height: 527px; margin-top: 16px; border-radius: 11px; }
  .experience-photo { object-position: 57% 50%; }
  .experience-shade { background: linear-gradient(90deg,#0a263bd9,#0a263b55); }
  .experience-content { padding: 28px 24px 115px; max-width: 100%; }
  .experience-topline { font-size: 8px; letter-spacing: .035em; margin-bottom: 22px; gap: 7px; }
  .experience-topline::before { width: 18px; }
  .experience-content > .eyebrow { font-size: 8px; }
  .experience-title { font-size: 48px; line-height: 1.055; letter-spacing: -.055em; max-width: 390px; }
  .experience-content > p:not(.experience-topline):not(.eyebrow) { font-size: 12px; line-height: 1.75; margin-top: 17px; }
  .experience-actions { gap: 8px; margin-top: 21px; }
  .experience-actions .btn { min-height: 42px; font-size: 11px; padding: 11px 14px; }
  .experience-actions .btn-ghost { padding-inline: 0; }
  .experience-caption, .experience-badge { display: none; }
  .experience-switches { left: 17px; right: 17px; bottom: 18px; gap: 7px; }
  .experience-switches button { flex: 1 1 0; flex-direction: column; align-items: stretch; text-align: center; gap: 5px; padding: 5px; font-size: 11px; line-height: 1.25; border-radius: 6px; }
  .experience-switches button img { width: 100%; height: 34px; border-radius: 3px; }
  .experience-switches button span { display: block; max-width: none; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .experience-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .experience-heading .section-title { font-size: 30px; }
  .quick-routes { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
  .quick-route { height: 120px; }
  .quick-route-copy { left: 13px; right: 13px; bottom: 13px; }
  .quick-route-copy h3 { font-size: 18px; }
  .quick-route-copy > span, .quick-route-copy > p { font-size: 9px; }
  .quick-route-copy .route-arrow, .quick-route-copy .arrow { font-size: 21px; }
  .brand-ribbon { grid-template-columns: 1fr; gap: 15px; padding: 22px; margin-top: 16px; }
  .brand-ribbon > div { align-items: center; gap: 14px; }
  .brand-ribbon strong { font-size: 24px; }
  .brand-ribbon p, .brand-ribbon span { font-size: 11px; }
  .market-feed { padding-top: 29px; }
  .market-feed .section-title { font-size: 29px; }
  .market-feed .feed-tabs { padding-bottom: 10px; }
  .market-feed .feed-tabs button { font-size: 11px; min-height: 35px; padding: 8px 12px; }
  .feed-main .listing-grid { grid-template-columns: 1fr; gap: 18px; }
  .feed-main .card-image { height: auto; aspect-ratio: 1.55; }
  .feed-main .card-body { padding: 18px; }
  .feed-main .card-title { font-size: 17px; }
  .feed-main .card-topline { font-size: 11px; }
  .feed-main .card-price { font-size: 29px; }
  .feed-main .card-meta { font-size: 11px; }
  .feed-main .card-unit { font-size: 10px; }
  .feed-main .card-image > .tag { font-size: 10px; }
  .feed-main .card-actions .compare-btn { font-size: 10px; min-height: 32px; }
  .feed-main .card-bottom .btn { width: 38px; height: 38px; }
  .market-side { grid-template-columns: 1fr; }
  .side-panel h2, .side-panel h3 { font-size: 16px; }
  .region-row { font-size: 12px; }
  .side-help { padding: 25px; }
  .side-help h2, .side-help h3 { font-size: 26px; }
  .side-help .btn { font-size: 12px; min-height: 43px; }
  .picker-box { padding: 25px 23px; margin-top: 29px; }
  .picker-box h2, .picker-box h3 { font-size: 29px; }
  .picker-copy > p { font-size: 12px; }
  .picker-options button, .picker-option { font-size: 11px; }
  .picker-result .btn { min-height: 43px; }
  .footer-links { font-size: 11px; }
}
@media (max-width: 360px) {
  .container { width: calc(100% - 28px); }
  .site-header .original-logo { height: 24px; max-width: 166px; }
  .experience-hero { min-height: 530px; }
  .experience-content { padding: 26px 20px 111px; }
  .experience-title { font-size: 41px; }
  .experience-topline { font-size: 7px; letter-spacing: .02em; }
  .experience-content > p:not(.experience-topline):not(.eyebrow) { font-size: 11px; }
  .experience-actions { gap: 5px; }
  .experience-actions .btn { font-size: 10px; padding-inline: 11px; }
  .experience-switches { left: 14px; right: 14px; gap: 6px; }
  .experience-switches button { font-size: 10px; }
  .experience-switches button span { font-size: 9px; }
  .quick-route-copy h3 { font-size: 16px; }
  .quick-route-copy { left: 11px; right: 11px; }
  .quick-route-copy > span, .quick-route-copy > p { font-size: 8px; }
  .feed-main .card-price { font-size: 27px; }
  .feed-main .card-title { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .quick-route > img, .experience-switches button { transition: none; }
}
/* Exact app contract: search wrapper and switches nested in hero content. */
.quick-search-section.express-search { display: block; margin-top: 18px; padding: 14px 17px 16px; }
.express-search > .search-tabs { align-items: center; margin: 0 0 12px; }
.express-search > .search-panel { padding: 0; margin: 0; border: 0; box-shadow: none; background: transparent; }
.search-inventory { margin-left: auto; color: #8b9cab; font-size: 11px; }
.search-tabs button, .search-field select, .express-search .btn { font-size: 12px; }
.experience-hero { min-height: 522px; }
.experience-content { position: static; padding: 32px 40px 104px; }
.experience-topline { margin-bottom: 14px; font-size: 11px; }
.experience-content > .experience-description { margin-top: 13px !important; font-size: 13px !important; }
.experience-description br { display: none; }
.experience-actions { margin-top: 17px; }
.experience-actions .btn { font-size: 12px; }
.experience-switches { max-width: calc(100% - 340px); }
.experience-switches button { font-size: 12px; }
.experience-region { font-size: 11px; color: #b1c5d4; }
.experience-caption .experience-price { display: block; font-size: 27px; margin-top: 7px; margin-bottom: 5px; }
.experience-caption .experience-area { font-size: 12px; color: #bfd1dc; }
.experience-caption a { font-size: 12px; }
.experience-caption a svg { width: 20px; height: 20px; flex: 0 0 20px; }
.quick-route-copy > span, .quick-route-copy > p { font-size: 11px; }
.brand-ribbon > a, .brand-ribbon > button { display: flex; align-items: center; gap: 14px; padding: 0; color: var(--electric); background: transparent !important; border: 0; border-radius: 0; text-align: left; cursor: pointer; }
.brand-ribbon > a > span, .brand-ribbon > button > span { flex: 1; }
.brand-ribbon strong { font-size: 14px; color: white; line-height: 1.4; }
.brand-ribbon small { display: block; color: #8daabd; font-size: 10px; line-height: 1.5; margin-top: 5px; }
.brand-ribbon > a:hover strong, .brand-ribbon > button:hover strong { color: var(--electric); }
.picker-box { position: relative; isolation: isolate; overflow: hidden; }
.picker-box::before { content: ''; position: absolute; z-index: -1; inset: 0; background: url('assets/landscape-brand-v1.png') center / cover no-repeat; opacity: .16; pointer-events: none; }
.catalog-main .card-title { font-size: 18px; font-weight: 700; color: #294359; }
.catalog-main .card-price { color: var(--blue); font-size: 29px; font-weight: 750; letter-spacing: -.045em; }
.catalog-main .card-image { aspect-ratio: 1.5; }
.catalog-main .card-body { padding: 21px; }
.catalog-main .card-meta, .catalog-main .card-topline { font-size: 12px; }
.catalog-main .tag { font-size: 10px; }
.catalog-main .compare-btn { font-size: 11px; min-height: 33px; }
.catalog-toolbar .result-count { font-size: 16px; font-weight: 750; }
.catalog-toolbar > div > p { font-size: 11px; }
.catalog-toolbar label.field select { font-size: 12px; }
.page-heading h1 { color: #19364b; font-size: 44px; font-weight: 750; letter-spacing: -.045em; }
.page-heading p { font-size: 14px; }
.filter-panel h2 { font-size: 18px; font-weight: 750; }
.filter-panel label.field > span, .filter-group h3, .check-option { font-size: 12px; }
.filter-panel label.field select { font-size: 12px; }
.filter-panel .btn { font-size: 12px; }
.filter-panel > .filter-group { background: #eaf0f6; }
.detail-heading h1 { font-size: 39px; font-weight: 750; letter-spacing: -.04em; color: #19364b; }
.detail-heading .card-meta { font-size: 12px; }
.detail-section h2 { font-size: 28px; font-weight: 750; color: #29485e; }
.detail-section > p { font-size: 14px; }
.detail-section .fact strong { font-size: 14px; }
.detail-section .fact span { font-size: 12px; }
.detail-facts { background: white; border-color: #dce5ed; }
.contact-card { border-color: #ccdbee; }
.contact-card .price-large { color: var(--blue); font-size: 36px; font-weight: 750; }
.contact-card h3 { font-size: 18px; color: #2f4d65; }
.contact-card p { font-size: 12px; }
.contact-card .btn { min-height: 46px; font-size: 12px; }
.contact-card .detail-facts { background: #f0f5fb; }
.check-row { font-size: 13px; }
.check-row .tag { font-size: 11px; }
@media (max-width: 1180px) {
  .experience-content { padding-inline: 33px; }
  .experience-hero { min-height: 515px; }
  .experience-switches { max-width: calc(100% - 315px); }
  .experience-switches button { font-size: 11px; }
  .experience-switches button img { width: 42px; }
}
@media (max-width: 960px) {
  .experience-hero { min-height: 510px; }
  .experience-content { padding: 31px 30px 109px; }
  .experience-switches { max-width: none; }
  .experience-switches button img { width: 52px; }
  .brand-ribbon strong { font-size: 12px; }
  .brand-ribbon small { font-size: 9px; }
}
@media (max-width: 700px) {
  .quick-search-section.express-search { margin-top: 13px; padding: 12px; }
  .express-search > .search-tabs { gap: 6px; margin-bottom: 12px; }
  .search-tabs button { font-size: 11px; }
  .search-inventory { margin-left: 0; font-size: 10px; flex-basis: 100%; margin-top: 4px; }
  .search-field select, .express-search .btn { font-size: 12px; }
  .experience-hero { min-height: 534px; }
  .experience-content { padding: 28px 24px 115px; }
  .experience-topline { font-size: 9px; margin-bottom: 19px; }
  .experience-content > .experience-description { font-size: 12px !important; line-height: 1.7; margin-top: 17px !important; }
  .experience-actions { gap: 6px; margin-top: 19px; }
  .experience-actions .btn { font-size: 12px; padding-inline: 12px; }
  .experience-actions .btn-ghost { padding-inline: 0; }
  .experience-switches button { font-size: 11px; }
  .experience-switches button img { width: 100%; height: 34px; }
  .experience-switches button span { font-size: 10px; }
  .quick-route-copy > span, .quick-route-copy > p { font-size: 10px; }
  .brand-ribbon strong { font-size: 14px; }
  .brand-ribbon small { font-size: 11px; }
  .catalog-main .card-body { padding: 18px; }
  .catalog-main .card-title { font-size: 18px; }
  .catalog-main .card-price { font-size: 28px; }
  .catalog-main .card-meta, .catalog-main .card-topline { font-size: 11px; }
  .catalog-toolbar .result-count { font-size: 13px; }
  .catalog-toolbar > div > p { font-size: 10px; }
  .catalog-toolbar label.field select { font-size: 11px; }
  .page-heading h1 { font-size: 32px; }
  .page-heading p { font-size: 12px; }
  .detail-heading h1 { font-size: 30px; }
  .detail-section h2 { font-size: 25px; }
  .detail-section > p { font-size: 13px; }
  .detail-section .fact strong { font-size: 12px; }
  .detail-section .fact span { font-size: 11px; }
  .check-row { font-size: 12px; }
  .check-row .tag { font-size: 10px; }
}
@media (max-width: 360px) {
  .search-field select { font-size: 11px; }
  .experience-hero { min-height: 527px; }
  .experience-content { padding: 26px 20px 111px; }
  .experience-topline { font-size: 8px; }
  .experience-actions .btn { font-size: 11px; padding-inline: 11px; }
  .experience-actions .btn-ghost { padding-inline: 0; }
  .experience-switches button span { font-size: 9px; }
  .catalog-main .card-price { font-size: 26px; }
}
/* Illustrated project world; markers are real filtering controls. */
.experience-hero { min-height: 535px; height: 535px; max-height: 540px; }
.experience-photo { object-position: 55% 50%; }
.experience-shade { background: linear-gradient(90deg,#102b30b8 0%,#102b306e 30%,#102b3014 48%,transparent 67%); }
.experience-content { max-width: 590px; padding: 28px 40px 104px; }
.experience-title { max-width: 510px; font-size: 58px; }
.experience-content > .experience-description { max-width: 380px; line-height: 1.65; }
.experience-topline { font-size: 10px; }
.experience-switches { max-width: calc(100% - 370px); }
.experience-switches button { min-height: 45px; padding: 9px 12px; font-size: 11px; gap: 8px; }
.experience-switches button > svg { width: 19px; height: 19px; color: #b8e3d4; }
.experience-switches button > span { max-width: none; }
.experience-caption { width: 254px; padding: 16px 18px; }
.experience-caption .concept-note { font-size: 13px; line-height: 1.6; color: #dfedf3; }
.experience-caption .concept-note strong { font-size: 16px; font-weight: 700; }
.experience-caption .concept-note span { display: block; color: #9eb9ca; font-size: 10px; margin-top: 5px; }
.experience-caption .concept-note + a { font-size: 12px; }
.experience-caption .mini-listing { padding-top: 10px; gap: 10px; }
.experience-caption .mini-listing img { width: 62px; height: 48px; }
.experience-caption .mini-listing strong { font-size: 11px; color: white; }
.experience-caption .mini-listing span { font-size: 10px; color: #bad2e0; }
.concept-label { position: absolute; right: 24px; bottom: 7px; z-index: 4; color: #e9f2f6b8; font-size: 9px; font-weight: 500; letter-spacing: .015em; }
.scene-point { position: absolute; z-index: 5; display: flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 5px; border: 0; background: transparent; color: var(--navy); cursor: pointer; }
.scene-point::before { content: '+'; display: grid; place-items: center; width: 27px; height: 27px; border: 2px solid #d3eee5; border-radius: 50%; background: var(--electric); color: #27434b; font-size: 20px; font-weight: 500; line-height: 1; box-shadow: 0 0 0 6px #b8e3d422,0 3px 12px #04162430; flex-shrink: 0; transition: box-shadow .18s, transform .18s; }
.scene-point > span { display: inline-block; padding: 7px 11px; border: 1px solid #ffffffcc; background: #fffffff0; border-radius: 6px; box-shadow: 0 3px 13px #0c263229; color: #365264; font-size: 11px; font-weight: 650; line-height: 1.4; white-space: nowrap; }
.scene-point > svg { display: none; }
.scene-point:hover::before, .scene-point[aria-pressed='true']::before { transform: scale(1.12); box-shadow: 0 0 0 9px #b8e3d435,0 3px 12px #04162430; }
.scene-point[aria-pressed='true'] > span { background: var(--electric); border-color: var(--electric); }
.scene-point.water, .scene-point-water, .scene-point[data-kind='water'], .scene-point[data-filter='water'] { right: 35%; top: 44%; }
.scene-point.forest, .scene-point-forest, .scene-point[data-kind='forest'], .scene-point[data-filter='forest'] { right: 13%; top: 24%; }
.scene-point.project, .scene-point-project, .scene-point-large, .scene-point[data-kind='project'], .scene-point[data-filter='project'] { right: 12%; top: 52%; }
.scene-point > .scene-dot { display: none; }
.experience-badge { display: none; }
@media (max-width: 1180px) {
  .experience-content { padding-inline: 32px; max-width: 555px; }
  .experience-title { font-size: 54px; }
  .experience-switches { max-width: calc(100% - 315px); }
  .experience-switches button { font-size: 10px; padding-inline: 10px; gap: 6px; }
  .experience-caption { width: 233px; }
  .scene-point > span { font-size: 10px; padding: 6px 9px; }
}
@media (max-width: 960px) {
  .experience-content { max-width: 520px; padding: 31px 30px 109px; }
  .experience-title { font-size: 51px; }
  .experience-switches { max-width: none; }
  .experience-caption { display: none; }
  .scene-point > span { display: none; }
  .scene-point { transform: translateX(25px); }
  .concept-label { right: 18px; font-size: 8px; }
}
@media (max-width: 700px) {
  .experience-hero { height: 535px; min-height: 535px; max-height: 540px; }
  .experience-photo { object-position: 47% 50%; }
  .experience-shade { background: linear-gradient(90deg,#09263ae0 0%,#09263aa0 40%,#09263a33 100%); }
  .experience-content { max-width: 100%; padding: 27px 24px 105px; }
  .experience-title { font-size: 47px; }
  .experience-topline { font-size: 9px; }
  .experience-content > .experience-description { max-width: 260px; }
  .experience-switches { left: 15px; right: 15px; bottom: 25px; gap: 6px; }
  .experience-switches button { align-items: center; justify-content: center; gap: 7px; padding: 8px 5px; min-height: 62px; font-size: 11px; }
  .experience-switches button span { font-size: 10px; }
  .experience-switches button svg { width: 20px; height: 20px; }
  .scene-point { transform: none; opacity: .94; }
  .scene-point::before { width: 22px; height: 22px; font-size: 16px; border-width: 1px; box-shadow: 0 0 0 5px #b8e3d41c; }
  .scene-point.water, .scene-point-water, .scene-point[data-kind='water'], .scene-point[data-filter='water'] { right: 8%; top: 53%; }
  .scene-point.forest, .scene-point-forest, .scene-point[data-kind='forest'], .scene-point[data-filter='forest'] { right: 5%; top: 19%; }
  .scene-point.project, .scene-point-project, .scene-point-large, .scene-point[data-kind='project'], .scene-point[data-filter='project'] { right: 14%; top: 64%; }
  .concept-label { bottom: 7px; left: 20px; right: 20px; text-align: right; font-size: 7px; }
}
@media (max-width: 360px) {
  .experience-content { padding: 26px 20px 104px; }
  .experience-title { font-size: 40px; }
  .experience-topline { font-size: 8px; }
  .experience-content > .experience-description { max-width: 240px; }
  .experience-switches button { padding-inline: 4px; }
  .experience-switches button span { font-size: 9px; }
}
/* Keep the landscape visible, and the headline on three lines, on phones. */
@media (max-width: 700px) {
  .experience-home { display: flex; flex-direction: column; }
  .experience-home > .experience-hero { order: -2; }
  .experience-home > .express-search { order: -1; }
  .experience-hero { height: 590px; min-height: 590px; max-height: none; }
  .experience-content { padding: 25px 22px; }
  .experience-title { font-size: 35px; line-height: 1.07; letter-spacing: -.05em; }
  .experience-photo { object-position: 82% center; }
  .experience-shade { background: linear-gradient(180deg,#112c30e8 0%,#112c30b3 37%,#112c3000 70%,#112c3066 100%); }
  .experience-topline { margin-bottom: 17px; }
  .experience-content > .experience-description { margin-top: 14px !important; }
  .experience-actions { gap: 8px; }
  .experience-actions .btn { font-size: 11px; padding-inline: 10px; }
  .experience-switches button { background: #102c42d9; }
  .scene-point-water { right: 55%; top: 58%; }
  .scene-point-forest { right: 12%; top: 52%; }
  .scene-point-large { right: 15%; top: 72%; }
  .scene-point > span:not(.scene-dot) { display: inline-block; font-size: 10px; padding: 5px 7px; }
  .concept-label { font-size: 8px; }
}
@media (max-width: 360px) {
  .experience-title { font-size: 29px; }
  .experience-content { padding-inline: 18px; }
  .experience-actions .btn { font-size: 10px; }
  .scene-point > span:not(.scene-dot) { font-size: 9px; }
}
