/* Live Todos Santos architecture layer — ARCH-IA-v1 */

/* One footer hierarchy, preserving the established palette and type system. */
footer .footer-groups{
  grid-template-columns: 1.15fr 1.15fr 1fr .9fr;
}
footer .footer-group{ min-width: 0; }
footer .footer-group h2{ margin-bottom: 14px; }
footer .footer-group a{ min-height: 36px; }

/* One semantic breadcrumb component; route-specific classes retain spacing. */
.site-breadcrumbs a{ text-underline-offset: 4px; }
.site-breadcrumbs [aria-current="page"]{ color: var(--ink); }

/* Guides index */
.ia-page{ background: var(--paper); color: var(--ink); }
.ia-main{ padding-top: 76px; }
.ia-main>.site-breadcrumbs{
  max-width: none; margin: 0; padding: 22px var(--gutter);
  border-bottom: 1px solid var(--line);
}
.ia-hero{
  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
  min-height: min(760px,82vh); border-bottom: 1px solid var(--line);
}
.ia-hero-copy{ min-width: 0; padding: clamp(72px,9vw,148px) var(--gutter) clamp(68px,8vw,120px); align-self: end; }
.ia-kicker{ display: block; margin-bottom: 24px; }
.ia-hero h1{ max-width: 10ch; margin: 0; font-size: clamp(58px,8.6vw,132px); line-height: .89; letter-spacing: -.045em; }
.ia-hero h1 i{ color: var(--terra); font-style: italic; }
.ia-lede{ max-width: 56ch; margin: 34px 0 0; color: var(--ink-60); font-size: clamp(18px,2vw,24px); line-height: 1.52; }
.ia-hero-media{ position: relative; min-width: 0; min-height: 520px; margin: 0; overflow: hidden; background: var(--paper-2); }
.ia-hero-media img{ display: block; width: 100%; height: 100%; object-fit: cover; }
.ia-caption{ position: absolute; right: 20px; bottom: 18px; max-width: calc(100% - 40px); padding: 8px 10px; background: rgba(24,22,18,.72); color: var(--paper); font-family: var(--mono); font-size: 9px; line-height: 1.35; letter-spacing: .1em; text-align: right; text-transform: uppercase; }
.ia-jump{ display: flex; flex-wrap: wrap; gap: 10px; padding: 22px var(--gutter); border-bottom: 1px solid var(--line); }
.ia-jump a{ min-height: 42px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; font-family: var(--mono); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.ia-jump a:hover{ border-color: var(--ink); background: var(--ink); color: var(--paper); }
.ia-section{ padding: clamp(72px,10vw,150px) var(--gutter); border-bottom: 1px solid var(--line); }
.ia-section-head{ display: grid; grid-template-columns: minmax(0,.55fr) minmax(0,1fr); gap: 42px; align-items: end; margin-bottom: 52px; }
.ia-section h2{ max-width: 12ch; margin: 0; font-size: clamp(40px,5.5vw,76px); line-height: .98; letter-spacing: -.035em; }
.ia-section h2 i{ color: var(--terra); font-style: italic; }
.ia-section-intro{ max-width: 58ch; margin: 0; color: var(--ink-60); font-size: 17px; }
.ia-card-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ia-card{ min-height: 220px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; transition: background .25s,color .25s; }
.ia-card:hover{ background: var(--ink); color: var(--paper); }
.ia-card .n{ color: var(--terra); }
.ia-card h3{ margin: 36px 0 12px; font-size: clamp(24px,2.4vw,34px); line-height: 1.02; }
.ia-card p{ margin: 0; color: var(--ink-60); font-size: 14.5px; line-height: 1.55; }
.ia-card:hover p{ color: rgba(250,248,243,.72); }

/* Baja Barometer market comparison */
.market-page [hidden]{ display: none !important; }
.market-current-read{
  display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: clamp(34px,7vw,110px);
  align-items: start; padding: clamp(54px,7vw,92px) var(--gutter); background: var(--ink); color: var(--paper);
}
.market-current-read .lbl{ color: rgba(250,248,243,.58); }
.market-current-read h2{ margin: 14px 0 0; color: var(--paper); font-size: clamp(42px,5.4vw,78px); line-height: .96; }
.market-current-read>p{ max-width: 62ch; margin: 8px 0 0; color: rgba(250,248,243,.78); font-size: clamp(18px,2vw,24px); line-height: 1.55; }
.market-explorer{ padding: clamp(72px,9vw,132px) var(--gutter); border-bottom: 1px solid var(--line); scroll-margin-top: 88px; }
.market-explorer-head,.market-method,.market-help{
  display: grid; grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: clamp(34px,7vw,110px); align-items: end;
}
.market-explorer-head h2,.market-method h2,.market-help h2{ margin: 12px 0 0; font-size: clamp(38px,5vw,68px); line-height: .98; }
.market-explorer-head>p,.market-help>p{ max-width: 58ch; margin: 0; color: var(--ink-60); font-size: 17px; }
.market-controls{ display: grid; grid-template-columns: 1fr 1fr; gap: 22px 38px; margin-top: 48px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.market-control-label{ display: block; margin-bottom: 10px; color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; }
.market-switch{ display: flex; flex-wrap: wrap; gap: 8px; }
.market-switch button{
  min-height: 44px; padding: 0 17px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink);
  font: 10px/1 var(--mono); letter-spacing: .11em; text-transform: uppercase; cursor: pointer;
}
.market-switch button:hover{ border-color: var(--ink); }
.market-switch button[aria-pressed="true"]{ border-color: var(--ink); background: var(--ink); color: var(--paper); }
.market-switch button:focus-visible,.market-card-head a:focus-visible,.market-area-links a:focus-visible{ outline: 2px solid var(--terra); outline-offset: 3px; }
.market-selection{
  display: flex; justify-content: space-between; gap: 18px; align-items: baseline;
  margin-top: 26px; padding: 15px 0; border-bottom: 1px solid var(--ink);
}
.market-selection strong{ font-family: var(--serif); font-size: clamp(24px,2.8vw,38px); font-weight: 400; }
.market-selection>span{ color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; }
.market-all-types{ margin-top: 24px; }
.market-all-heading{ display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin-bottom: 14px; }
.market-all-heading strong{ font-size: 15px; font-weight: 600; }
.market-all-heading span{ color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; }
.market-all-grid{ display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.market-all-area{ min-width: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.market-all-area dt{ color: var(--terra); font-family: var(--mono); font-size: 9.5px; letter-spacing: .09em; text-transform: uppercase; }
.market-all-area dd{ margin: 10px 0 0; color: var(--ink-60); font-size: 12px; line-height: 1.45; }
.market-all-area dd strong{ display: block; color: var(--ink); font-family: var(--serif); font-size: clamp(25px,2.7vw,38px); font-weight: 400; line-height: 1; }
.market-charts{ margin-top: clamp(40px,5vw,66px); }
.market-chart-view-heading{ display: flex; justify-content: space-between; gap: 18px; align-items: baseline; margin-bottom: 18px; }
.market-chart-view-heading strong{ font-family: var(--serif); font-size: clamp(28px,3.4vw,46px); font-weight: 400; }
.market-chart-view-heading span{ color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; }
.market-chart-grid{ display: grid; grid-template-columns: minmax(0,1.35fr) minmax(240px,.8fr); gap: 18px; }
.market-chart{
  min-width: 0; margin: 0; padding: clamp(20px,2.5vw,30px); border: 1px solid var(--line); background: var(--paper-2);
}
.market-pipeline-chart{ grid-row: span 2; }
.market-chart figcaption{ display: flex; flex-direction: column; gap: 6px; }
.market-chart figcaption strong{ font-size: 17px; }
.market-chart figcaption span{ max-width: 58ch; color: var(--ink-60); font-size: 12.5px; line-height: 1.45; }
.market-chart-legend{ display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 18px; color: var(--ink-60); font-family: var(--mono); font-size: 8.5px; letter-spacing: .08em; text-transform: uppercase; }
.market-chart-legend span::before{ content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 6px; vertical-align: -1px; background: var(--ink); }
.market-chart-legend .is-pending::before{ background: var(--terra); }
.market-chart-legend .is-sales::before{ border: 1px solid var(--ink); background: transparent; }
.market-column-plot{ height: 286px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(12px,2vw,28px); align-items: end; margin-top: 28px; padding-top: 20px; border-bottom: 1px solid var(--ink); }
.market-column-group{ min-width: 0; height: 100%; display: grid; grid-template-rows: 1fr auto; gap: 10px; }
.market-column-bars{ min-height: 0; display: flex; gap: clamp(4px,.7vw,9px); align-items: end; justify-content: center; }
.market-column{ position: relative; width: min(22px,28%); height: var(--market-bar); min-height: 0; background: var(--ink); }
.market-column-pending{ background: var(--terra); }
.market-column-sales{ border: 1px solid var(--ink); background: transparent; }
.market-column b{ position: absolute; left: 50%; bottom: calc(100% + 5px); transform: translateX(-50%); font: 9px/1 var(--mono); }
.market-column-label{ min-height: 26px; color: var(--ink-60); font-family: var(--mono); font-size: 8.5px; line-height: 1.25; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.market-dot-chart ol{ display: grid; gap: 15px; margin: 22px 0 0; padding: 0; list-style: none; }
.market-dot-chart li{ display: grid; grid-template-columns: minmax(92px,.8fr) minmax(90px,1.3fr) auto; gap: 12px; align-items: center; }
.market-dot-label{ overflow-wrap: anywhere; font-size: 11px; }
.market-dot-axis{ position: relative; height: 1px; background: var(--line); }
.market-dot-axis i{ position: absolute; top: 50%; left: var(--market-dot); width: 10px; height: 10px; transform: translate(-50%,-50%); border: 2px solid var(--paper-2); border-radius: 50%; background: var(--terra); box-shadow: 0 0 0 1px var(--terra); }
.market-dot-chart li.is-empty .market-dot-axis i{ display: none; }
.market-dot-chart li strong{ min-width: 74px; font: 10px/1.2 var(--mono); text-align: right; }
.market-sr-only{ position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.market-compare-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.market-inventory-section,.market-recorded-sales-section{ margin-top: clamp(52px,7vw,96px); }
.market-recorded-sales-section{ padding-top: clamp(52px,7vw,96px); border-top: 1px solid var(--line); }
.market-section-head{ display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.4fr); gap: 12px 36px; align-items: end; }
.market-section-head .lbl{ grid-column: 1 / -1; }
.market-section-head h3{ margin: 0; font-size: clamp(38px,4.8vw,68px); line-height: .96; }
.market-section-head p{ max-width: 58ch; margin: 0; color: var(--ink-60); }
.market-inventory-charts .market-inventory-chart{ margin-top: 18px; }
.market-sales-controls{ margin-top: 28px; }
.market-compare-card{ min-width: 0; padding: 22px; border: 1px solid var(--line); border-top: 3px solid var(--terra); background: var(--paper); }
.market-card-head{ display: flex; justify-content: space-between; gap: 16px; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.market-card-head a,.market-area-links a,.market-method-copy>a{ font-family: var(--mono); font-size: 9.5px; letter-spacing: .09em; text-decoration: underline; text-underline-offset: 4px; text-transform: uppercase; }
.market-metrics{ display: grid; grid-template-columns: 1fr 1fr; margin: 18px 0 0; }
.market-metrics div{ min-width: 0; padding: 13px 10px 13px 0; border-bottom: 1px solid var(--line); }
.market-metrics div:nth-child(even){ padding-left: 13px; border-left: 1px solid var(--line); }
.market-metrics dt{ color: var(--ink-60); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.market-metrics dd{ overflow-wrap: anywhere; margin: 8px 0 0; font-family: var(--serif); font-size: clamp(22px,2.3vw,32px); line-height: 1.05; }
.market-metrics dd.market-text-value{ font-family: var(--sans); font-size: 14px; line-height: 1.35; }
.market-view-context{ margin: 18px 0 0; color: var(--terra); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.market-ask{ min-height: 42px; margin: 18px 0 0; color: var(--ink-60); font-size: 13px; }
.market-ask strong{ color: var(--ink); font-weight: 500; }
.market-prior-read{ margin: 10px 0 0; color: var(--ink-60); font-size: 12px; line-height: 1.5; }
.market-prior-read strong{ color: var(--ink); font-weight: 500; }
.market-area-picker{ margin-top: clamp(58px,7vw,96px); }
.market-area-switch{ gap: 9px; }
.market-detail-stack{ margin-top: 24px; }
.market-area-detail{ padding: clamp(26px,4vw,46px); border: 1px solid var(--line); scroll-margin-top: 94px; }
.market-area-media{ aspect-ratio: 16/6; margin: 0 0 clamp(28px,4vw,46px); overflow: hidden; background: var(--paper-2); }
.market-area-media picture,.market-area-media img{ display: block; width: 100%; height: 100%; }
.market-area-media img{ object-fit: cover; }
.market-area-heading{ display: flex; justify-content: space-between; gap: 28px; align-items: end; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.market-area-heading h3{ margin: 8px 0 0; font-size: clamp(38px,4.6vw,66px); line-height: .95; }
.market-area-links{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 22px; }
.market-neighborhood-note{ max-width: 74ch; margin: 24px 0 0; color: var(--ink-60); }
.market-area-reading{ max-width: 74ch; margin-top: 22px; padding: 20px 22px; border-left: 3px solid var(--terra); background: var(--paper-2); }
.market-area-narrative p{ margin: 0; color: var(--ink-60); }
.market-area-narrative p+p{ margin-top: 10px; }
.market-area-narrative strong{ color: var(--ink); }
.market-detail-summary{ display: flex; justify-content: space-between; gap: 22px; align-items: baseline; margin-top: 32px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.market-detail-summary strong{ font-family: var(--serif); font-size: clamp(25px,3vw,38px); font-weight: 400; }
.market-detail-summary span{ color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; }
.market-thin-note{ margin: 16px 0 0; padding: 13px 16px; border-left: 2px solid var(--terra); background: var(--paper-2); color: var(--ink-60); font-size: 13px; }
.market-sales-list{ margin: 0; padding: 0; list-style: none; }
.market-sales-list li{ display: grid; grid-template-columns: minmax(0,1fr) 100px minmax(110px,.28fr); gap: 18px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); }
.market-sales-list a{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.market-sales-list li>span:nth-child(2){ color: var(--ink-60); font-family: var(--mono); font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; }
.market-sales-list strong{ text-align: right; font-weight: 500; }
.market-list-note,.market-empty{ margin: 16px 0 0; color: var(--ink-60); font-size: 13px; }
.market-method{ align-items: start; padding: clamp(64px,8vw,110px) var(--gutter); border-bottom: 1px solid var(--line); background: var(--paper-2); }
.market-method-copy p{ max-width: 74ch; margin: 0 0 18px; color: var(--ink-60); }
.market-method-copy strong{ color: var(--ink); }
.market-help{ align-items: start; padding: clamp(64px,8vw,110px) var(--gutter); border-bottom: 1px solid var(--line); }
.market-help .market-actions{ grid-column: 2; margin-top: 4px; }
.market-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.market-actions a{ min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--ink); font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; }
.market-actions a:first-child{ background: var(--ink); color: var(--paper); }
.market-actions a:hover{ background: var(--terra); border-color: var(--terra); color: var(--paper); }
.sales-context{ margin: clamp(56px,7vw,92px) 0 0; padding: clamp(28px,4vw,44px); border: 1px solid var(--line); background: var(--paper-2); }
.sales-context .lbl{ display: block; margin-bottom: 14px; }
.sales-context h2{ margin: 0 0 14px; font-size: clamp(28px,3.2vw,44px); }
.sales-context p{ max-width: 68ch; margin: 0 0 22px; color: var(--ink-60); }
.sales-context a{ font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid var(--ink); }
.context-links{ display: flex; flex-wrap: wrap; gap: 14px 24px; }
.tryfirst.sold-image-only{ grid-template-columns: 1fr; padding: 0; background: transparent; border: 0; gap: 0; }
.tryfirst.sold-image-only .phf{ aspect-ratio: 16/7; }
.area-sales-context{ margin: clamp(56px,7vw,92px) 0 0; }
@media (max-width: 960px){
  .ia-main{ padding-top: 68px; }
  .ia-hero{ grid-template-columns: 1fr; }
  .ia-hero-copy{ order: 2; }
  .ia-hero-media{ min-height: 54vw; max-height: 560px; }
  .ia-card-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .market-compare-grid{ grid-template-columns: 1fr 1fr; }
  .market-all-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .market-chart-grid{ grid-template-columns: 1fr; }
  .market-pipeline-chart{ grid-row: auto; }
  footer .footer-groups{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px){
  .ia-hero-media{ min-height: 64vw; }
  .ia-section-head,.market-current-read,.market-explorer-head,.market-method,.market-help,.market-section-head{ grid-template-columns: 1fr; gap: 20px; }
  .market-section-head .lbl{ grid-column: 1; }
  .ia-card-grid,.market-compare-grid,.market-controls{ grid-template-columns: 1fr; }
  .ia-card{ min-height: 190px; }
  .market-switch{ flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .market-switch button{ flex: 0 0 auto; }
  .market-selection,.market-all-heading,.market-chart-view-heading{ align-items: flex-start; flex-direction: column; }
  .market-all-grid{ grid-template-columns: 1fr 1fr; }
  .market-all-area{ padding: 15px; }
  .market-column-plot{ height: 238px; gap: 8px; }
  .market-column-bars{ gap: 3px; }
  .market-column{ width: min(18px,30%); }
  .market-dot-chart li{ grid-template-columns: minmax(76px,.8fr) minmax(64px,1fr) auto; gap: 8px; }
  .market-compare-card{ padding: 20px; }
  .market-area-media{ aspect-ratio: 4/3; }
  .market-area-heading,.market-detail-summary{ align-items: flex-start; flex-direction: column; }
  .market-area-links{ justify-content: flex-start; }
  .market-sales-list li{ grid-template-columns: minmax(0,1fr) auto; gap: 7px 14px; }
  .market-sales-list li>span:nth-child(2){ grid-column: 1; }
  .market-sales-list strong{ grid-column: 2; grid-row: 1 / span 2; }
  .market-help .market-actions{ grid-column: 1; }
  footer .footer-groups{ grid-template-columns: 1fr 1fr; gap: 30px 22px; }
}
@media (prefers-reduced-motion: reduce){
  .market-page *{ scroll-behavior: auto !important; }
}
@media print{
  .market-controls,.market-area-picker,.market-help,.market-actions{ display: none !important; }
  .market-compare-grid{ grid-template-columns: repeat(2,1fr); }
  .market-area-detail[hidden]{ display: block !important; break-before: page; }
}
