/* ---- havlo-tokens.css ---- */
/* HAVLO tokens: the Rust system, Day and Night designed together.
   Source of truth: .claude/skills/havlo-experience/references/foundations.md.
   Components use these tokens only, never color literals. Sans type only. */

@font-face{font-family:"Manrope";src:url('/assets/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:optional}
@font-face{font-family:"Instrument Sans";src:url('/assets/InstrumentSans-Variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:optional}
@font-face{font-family:"Instrument Sans";src:url('/assets/InstrumentSans-VariableItalic.woff2') format('woff2');font-style:italic;font-weight:400 700;font-stretch:75% 100%;font-display:optional}

/* Day: cream paper under Texas daylight. */
:root{
  color-scheme:light;
  --hv-ink:#101719;
  --hv-cream:#f2eee5;
  --hv-paper:#fbf9f4;
  --hv-raised:#ffffff;
  --hv-overlay:#ffffff;
  --hv-line:#d6d0c5;
  --hv-muted:#5c6667;
  --hv-disabled:#8a9091;
  --hv-rust:#b86530;
  --hv-rust-strong:#9a4f22;
  --hv-rust-tint:#f3e1d3;
  --hv-on-rust:#ffffff;
  --hv-focus:var(--hv-rust-strong);

  /* Bands: a deep section (footer, film chapter) that stays dark in both themes. */
  --hv-band:#101719;
  --hv-band-line:#2e3a3d;
  --hv-on-band:#f2eee5;
  --hv-on-band-muted:#a3abab;
  --hv-on-band-accent:#b86530;
  --hv-scrim:rgb(16 23 25 / .72);

  /* Semantic tones: always paired with a word. */
  --hv-good-fill:#e3ede6;   --hv-good-text:#2d5a44;
  --hv-watch-fill:#f6ecd9;  --hv-watch-text:#7d5412;
  --hv-alert-fill:#f5e1e1;  --hv-alert-text:#9e3538;
  --hv-neutral-fill:var(--hv-paper); --hv-neutral-text:var(--hv-ink);

  /* Chart series tuned for the Day ground. */
  --hv-series-1:#101719;
  --hv-series-2:#b86530;
  --hv-series-3:#8ba7a1;
  --hv-series-4:#d6d0c5;
  --hv-chart-grid:var(--hv-line);
  --hv-chart-label:var(--hv-muted);

  /* Depth: one shadow by day, lines by night. */
  --hv-shadow:0 8px 24px -8px rgb(16 23 25 / .12);
  --hv-shadow-line:transparent;
  --hv-photo-line:transparent;

  /* Type: sans only. */
  --hv-font-fallback:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --hv-font-display:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --hv-font-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --hv-text-caption:.75rem;
  --hv-text-small:.875rem;
  --hv-text-body:1rem;
  --hv-text-lead:1.125rem;
  --hv-text-h3:1.375rem;
  --hv-text-h2:1.75rem;
  --hv-text-h1:2.5rem;
  --hv-text-display:clamp(2.5rem,6vw,4.5rem);
  --hv-leading-body:1.55;
  --hv-leading-heading:1.2;
  --hv-measure:68ch;
  --hv-weight-body:400;

  /* Space, shape, layout. */
  --hv-space-1:4px; --hv-space-2:8px; --hv-space-3:12px; --hv-space-4:16px; --hv-space-5:24px;
  --hv-space-6:32px; --hv-space-7:48px; --hv-space-8:72px; --hv-space-9:96px;
  --hv-gutter:clamp(16px,6vw,96px);
  --hv-max:1200px;
  --hv-reading:680px;
  --hv-radius-control:6px;
  --hv-radius-card:10px;
  --hv-radius-pill:999px;
  --hv-radius-action:6px 999px 999px 6px; /* the Havlo standard: square left corner, round right, like the mark */
  --hv-radius-panel:28px;  /* the conversation and result cards */
  --hv-radius-sheet:32px;  /* the large sticky conversation card */

  /* The section rhythm: one spacing scale for every section on every page (havlo-site-live.css uses only these).
     CEO 2026-10-10 on /legal: "some spacing in places is off, there needs to be consistency." */
  --hv-sec-pad-block:clamp(40px,6vw,72px); /* top and bottom of every section, the same */
  --hv-sec-gap-eyebrow:8px; /* eyebrow (or status tag) -> the heading it labels */
  --hv-sec-gap-head:16px;   /* heading -> its summary line ("In plain words.", the sub line) */
  --hv-sec-gap-body:24px;   /* summary -> body, and between body blocks (a list, a grid, a callout) */
  --hv-sec-gap-p:16px;      /* paragraph -> paragraph */
  --hv-sec-gap-list:10px;   /* between items of a written list */
  --hv-sec-gap-sub:36px;    /* before a sub-heading (h3) inside a section */
  --hv-sec-gap-sub-after:12px; /* sub-heading -> what it heads */
  --hv-sec-gap-cta:32px;    /* anything -> the section's buttons */
  --hv-sec-gap-sticky:12px; /* under the docked question box, before the page shows */
  --hv-sec-body:1.0625rem;  /* one body size for every section */
  --hv-sec-body-lh:1.6;
  --hv-sec-fine:.875rem;    /* fine print: attribution and disclosure notes only (.sf-note) */

  /* Surface: the conversation language (the homepage and every page built beside it). Day is warm off-white paper with cream
     sections between (CEO 2026-10-13, "Home, lit from within"); Night is Ink. */
  --hv-surface:#fbf9f4;
  --hv-card:rgb(242 238 229 /.96);
  --hv-card-solid:#f2eee5;
  --hv-field:#fff;
  --hv-edge:#e4ddd0;
  --hv-text:#101719;
  --hv-text-2:#3a4244;
  --hv-text-soft:#4a5557;
  --hv-accent:#9a4f22;
  --hv-chip:rgb(16 23 25 /.07);
  --hv-chip-hover:rgb(16 23 25 /.08);
  --hv-action:#b86530;
  --hv-on-action:#fff;
  --hv-action-weight:700;

  /* Motion. */
  --hv-fast:170ms;
  --hv-settle:340ms;
  --hv-ease:cubic-bezier(.22,1,.36,1);
}

/* Night: the same house after dark. Depth by lightness, copper accent, cream text. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --hv-ink:#f2eee5;
    --hv-cream:#101719;
    --hv-paper:#182124;
    --hv-raised:#1f2a2e;
    --hv-overlay:#26333a;
    --hv-line:#2e3a3d;
    --hv-muted:#a3abab;
    --hv-disabled:#6b7577;
    --hv-rust:#b86530;
    --hv-rust-strong:#b86530;
    --hv-rust-tint:#3a2619;
    --hv-on-rust:#ffffff;
    --hv-band:#1f2a2e;
    --hv-band-line:#2e3a3d;
    --hv-good-fill:#1c3128;   --hv-good-text:#9fd1b5;
    --hv-watch-fill:#3a2e1a;  --hv-watch-text:#e6bf78;
    --hv-alert-fill:#3b2224;  --hv-alert-text:#ec9a9c;
    --hv-series-1:#f2eee5;
    --hv-series-2:#b86530;
    --hv-series-3:#7fa39b;
    --hv-series-4:#2e3a3d;
    --hv-shadow:0 0 0 1px #2e3a3d;
    --hv-shadow-line:#2e3a3d;
    --hv-photo-line:#2e3a3d;
    --hv-leading-body:1.6;
    --hv-surface:#101719;
    --hv-card:rgb(24 33 36 /.95);
    --hv-card-solid:#182124;
    --hv-field:#101719;
    --hv-edge:#2e3a3d;
    --hv-text:#f2eee5;
    --hv-text-2:#cfd4d4;
    --hv-text-soft:#a3abab;
    --hv-accent:#b86530;
    --hv-chip:rgb(242 238 229 /.09);
    --hv-chip-hover:rgb(242 238 229 /.12);
    --hv-action:#b86530;
    --hv-on-action:#fff;
    --hv-action-weight:800;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --hv-ink:#f2eee5;
  --hv-cream:#101719;
  --hv-paper:#182124;
  --hv-raised:#1f2a2e;
  --hv-overlay:#26333a;
  --hv-line:#2e3a3d;
  --hv-muted:#a3abab;
  --hv-disabled:#6b7577;
  --hv-rust:#b86530;
  --hv-rust-strong:#b86530;
  --hv-rust-tint:#3a2619;
  --hv-on-rust:#ffffff;
  --hv-band:#1f2a2e;
  --hv-band-line:#2e3a3d;
  --hv-good-fill:#1c3128;   --hv-good-text:#9fd1b5;
  --hv-watch-fill:#3a2e1a;  --hv-watch-text:#e6bf78;
  --hv-alert-fill:#3b2224;  --hv-alert-text:#ec9a9c;
  --hv-series-1:#f2eee5;
  --hv-series-2:#b86530;
  --hv-series-3:#7fa39b;
  --hv-series-4:#2e3a3d;
  --hv-shadow:0 0 0 1px #2e3a3d;
  --hv-shadow-line:#2e3a3d;
  --hv-photo-line:#2e3a3d;
  --hv-leading-body:1.6;
  --hv-surface:#101719;
  --hv-card:rgb(24 33 36 /.95);
  --hv-card-solid:#182124;
  --hv-field:#101719;
  --hv-edge:#2e3a3d;
  --hv-text:#f2eee5;
  --hv-text-2:#cfd4d4;
  --hv-text-soft:#a3abab;
  --hv-accent:#b86530;
  --hv-chip:rgb(242 238 229 /.09);
  --hv-chip-hover:rgb(242 238 229 /.12);
  --hv-action:#b86530;
  --hv-on-action:#fff;
  --hv-action-weight:800;
}

/* Theme cross-fade (not a flash). */
html{background:var(--hv-cream);color:var(--hv-ink)}
body{transition:background-color var(--hv-fast) ease,color var(--hv-fast) ease}
::selection{background:var(--hv-rust-tint);color:var(--hv-ink)}

/* The mark and wordmark: ink by day, cream by night. Each asset has a -cream variant. */
.hv-night-only{display:none!important}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .hv-day-only{display:none!important}
  :root:not([data-theme="light"]) .hv-night-only{display:revert!important}
}
:root[data-theme="dark"] .hv-day-only{display:none!important}
:root[data-theme="dark"] .hv-night-only{display:revert!important}

/* Theme control: Day / Night / Automatic. */
.hv-theme{display:inline-flex;align-items:center;gap:2px;margin:0;padding:2px;border:1px solid var(--hv-line);border-radius:var(--hv-radius-pill);background:var(--hv-paper);font:600 .6875rem/1 var(--hv-font-display);letter-spacing:.02em}
.hv-theme[hidden]{display:none}
.hv-theme legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hv-theme button{min-width:44px;min-height:32px;margin:0;padding:0 10px;border:0;border-radius:var(--hv-radius-pill);background:transparent;color:var(--hv-muted);font:inherit;cursor:pointer;transition:background-color var(--hv-fast) ease,color var(--hv-fast) ease}
.hv-theme button:hover{color:var(--hv-ink)}
.hv-theme button[aria-pressed="true"]{background:var(--hv-ink);color:var(--hv-cream)}
.hv-theme button:focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}

/* Charts: drawn from theme tokens, exact figure beside the drawing. */
.hv-chart{margin:0;display:grid;gap:10px;font-family:var(--hv-font-body);color:var(--hv-ink)}
.hv-chart svg{display:block;width:100%;height:auto;overflow:visible}
.hv-chart figcaption{color:var(--hv-muted);font-size:var(--hv-text-caption);line-height:1.5}
.hv-bullet{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.hv-bullet-label{grid-column:1/-1;color:var(--hv-muted);font:600 var(--hv-text-caption)/1.3 var(--hv-font-display);letter-spacing:.08em;text-transform:uppercase}
.hv-bullet-figure{font:600 1rem/1.2 var(--hv-font-display);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--hv-ink)}
.hv-bullet-figure small{display:block;color:var(--hv-muted);font:400 var(--hv-text-caption)/1.3 var(--hv-font-body)}
.hv-chart .track{fill:var(--hv-rust-tint)}
.hv-chart .value{fill:var(--hv-series-2)}
.hv-chart .benchmark{stroke:var(--hv-series-1);stroke-width:2}
.hv-chart .grid{stroke:var(--hv-chart-grid);stroke-width:1}
.hv-chart .dot{fill:var(--hv-series-3)}
.hv-chart .dot-focus{fill:var(--hv-series-2);stroke:var(--hv-cream);stroke-width:2}
.hv-chart text{fill:var(--hv-chart-label);font:500 11px var(--hv-font-body);font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:no-preference){.hv-chart .value{transition:width var(--hv-settle) var(--hv-ease)}}

/* ---- havlo-site-std-base.css ---- */
/* The standard's base: the rules of the retired havlo-site.css that still decided what people see, found by
   site-home/test/visual/legacy_css.mjs (every page, three widths, Day and Night, the main states). The rest of that sheet
   was hidden under the standard's layers and is gone (740 of 1440 rules kept, each with its original declarations; the
   old navy night surface is Ink now). Rust tokens and sans type only. Edit it like any other layer of the standard. */
@keyframes grain{0%{transform:translate(0px, 0px)}
20%{transform:translate(-6%, 4%)}
40%{transform:translate(4%, -7%)}
60%{transform:translate(-3%, -2%)}
80%{transform:translate(7%, 5%)}
100%{transform:translate(0px, 0px)}
}
@keyframes drift{0%{transform:translateX(-500px)}
100%{transform:translateX(1900px)}
}
@keyframes across{0%{transform:translateX(-900px)}
100%{transform:translateX(1500px)}
}
@keyframes swing{0%{transform:rotate(16deg)}
100%{transform:rotate(-16deg)}
}
@keyframes wag{100%{transform:rotate(-60deg)}
}
@keyframes drop{0%{transform:translateY(-60px);opacity:0}
14%{transform:none;opacity:1}
80%{opacity:1}
100%{opacity:0}
}
@keyframes ring{0%{transform:scale(0.6);opacity:1}
100%{transform:scale(2.2);opacity:0}
}
@keyframes float{100%{transform:translateY(-12px)}
}
@keyframes kb{0%{transform:scale(1.04) translate(0px, 0px)}
100%{transform:scale(1.14) translate(-1.2%, -0.8%)}
}
@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}
}
@keyframes grow{0%{width:0px}
}
@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}
}
@keyframes sk{100%{background-position:-200% 0px}
}
@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}
}
@keyframes fxzoom{0%{transform:scale(1.05) translate(0px, 0px)}
100%{transform:scale(1.28) translate(-3%, -2%)}
}
@keyframes sxin{0%{opacity:0;transform:translateY(8px);box-shadow:0 0 0 2px var(--copper)}
100%{box-shadow:transparent 0px 0px 0px 0px}
}
@keyframes cardin{0%{opacity:0;transform:translateY(10px) scale(0.985)}
}
@keyframes cxupd{0%{box-shadow:0 0 0 2px var(--accent)}
100%{box-shadow:transparent 0px 0px 0px 0px}
}
@keyframes tick{0%{color:var(--accent-text)}
100%{}
}
@keyframes ah-grow{0%{transform:scaleX(0)}
100%{transform:scaleX(1)}
}
:root{--ink:#101719;--cream:#f2eee5;--paper:#fbf9f4;--line:#d6d0c5;--muted:#5c6667;--rust:#b86530;--rust-strong:#9a4f22;--copper:#b86530;--tint:#f3e1d3;--on-rust:#ffffff;--gulf:#8ba7a1;--good-fill:#e3ede6;--good-text:#2d5a44;--ground:var(--cream);--text:var(--ink);--soft:var(--muted);--surface:var(--paper);--rule:var(--line);--accent:var(--rust);--accent-text:var(--rust-strong);--night:#101719;--night-2:#182124;--night-3:#1f2a2e;--night-line:#2e3a3d;--night-muted:#a3abab;--sky-top:#3f8fdc;--sky-bot:#cfe7fb;--sun:#fff1bf;--win:#a9d6f5;--lawn:#67ad48;--lawn2:#7fc05c;--far:#4f8f45;--tower:#a9bfd6;--tower2:#8aa6c2;--road:#cfcac0;--walk:#ece7dc;--cloud:#ffffff;--display:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--gutter:clamp(16px,5vw,80px);--ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.76,0,.24,1)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark;--ground:#101719;--text:#f2eee5;--soft:#a3abab;--surface:#182124;--rule:#2e3a3d;--accent:#b86530;--accent-text:#b86530;--tint:#3a2619;--on-rust:#101719;--gulf:#7fa39b;--good-fill:#1c3128;--good-text:#9fd1b5;--sky-top:#0d1733;--sky-bot:#c96a3c;--sun:#ffc978;--win:#ffcf73;--lawn:#2f5a33;--lawn2:#3b6c3d;--far:#22422a;--tower:#34435a;--tower2:#28354a;--road:#45474d;--walk:#66645f;--cloud:#e7b28c}
}
/* Night chosen on the site (or by Houston's sun) on a device set to light: the same night values, or the older blocks (the
   schools table, what is mapped, a neighborhood's parks) draw dark ink on the dark page (found 2026-10-13). */
:root[data-theme="dark"]{color-scheme:dark;--ground:#101719;--text:#f2eee5;--soft:#a3abab;--surface:#182124;--rule:#2e3a3d;--accent:#b86530;--accent-text:#b86530;--tint:#3a2619;--on-rust:#101719;--gulf:#7fa39b;--good-fill:#1c3128;--good-text:#9fd1b5;--sky-top:#0d1733;--sky-bot:#c96a3c;--sun:#ffc978;--win:#ffcf73;--lawn:#2f5a33;--lawn2:#3b6c3d;--far:#22422a;--tower:#34435a;--tower2:#28354a;--road:#45474d;--walk:#66645f;--cloud:#e7b28c}
*,::before,::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--ground);color:var(--text);font:400 1rem/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
.skip{position:absolute;left:-999px;top:12px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:8px}
.skip:focus{left:16px}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;animation:grain 1s steps(6) infinite}
.nav{position:fixed;z-index:70;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:6px 6px 6px 16px;border-radius:999px;background:rgb(16 23 25 / .52);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .14),0 20px 40px -20px rgb(0 0 0 / .5);color:#f2eee5;max-width:calc(100% - 24px)}
.nav .logo{width:74px;display:block;margin-right:10px;color:#f2eee5}
.nav a.l{text-decoration:none;font:600 .8125rem/1 var(--display);padding:11px 12px;border-radius:999px;transition:background .2s}
.nav a.l:hover{background:rgb(242 238 229 / .12)}
.theme button{border:0;background:none;color:#f2eee5;font:700 .6875rem/1 var(--display);letter-spacing:.04em;padding:9px 10px;border-radius:999px;cursor:pointer}
.theme button[aria-pressed="true"]{background:#f2eee5;color:#101719}
@media (max-width: 640px){.nav{padding-left:12px}
.nav .logo{width:62px;margin-right:4px}
.nav a.l{padding:11px 9px}
}
svg.art{position:absolute;inset:0;width:100%;height:100%;display:block}
.drift{animation:drift linear infinite}
.walker{animation:across linear infinite}
.leg,.arm{transform-box:fill-box;transform-origin:50% 0;animation:swing .55s ease-in-out infinite alternate}
.leg.b,.arm.a{animation-direction:alternate-reverse}
.wag{transform-box:fill-box;transform-origin:100% 50%;animation:wag .3s ease-in-out infinite alternate}
.ph{position:absolute;inset:0;overflow:hidden;z-index:0;background:#1f2a2e}
.ph .pl{position:absolute;inset:-7% 0;will-change:transform}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;animation:kb 18s ease-in-out infinite alternate;transform-origin:50% 40%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:12px;border:0;background:#9a4f22;color:#fff;font:700 .9375rem/1 var(--display);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-line{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:12px;border:0;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor;color:var(--text);font:700 .9375rem/1 var(--display);text-decoration:none;cursor:pointer}
dialog.sheet{position:fixed;inset:0 0 0 auto;margin:0;width:min(720px,100%);height:100%;max-height:100%;max-width:100%;padding:0;border:0;background:var(--ground);color:var(--text);overflow:auto;overscroll-behavior:contain;box-shadow:-30px 0 80px -30px rgb(0 0 0 / .45)}
dialog.sheet::backdrop{background:rgb(16 23 25 / .55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sheet-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(18px,4vw,40px) 14px;background:var(--ground);box-shadow:0 1px 0 var(--rule)}
.sheet-bar .eyebrow{color:var(--accent-text)}
.sheet-x{width:44px;height:44px;border-radius:50%;border:0;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);color:var(--text);font:400 1.6rem/1 var(--display);cursor:pointer}
.sheet-body{padding:clamp(24px,4vw,44px) clamp(18px,4vw,40px);display:grid;gap:20px;align-content:start}
.sheet-body h2{font-size:clamp(2rem,4.4vw,3.25rem);font-weight:600;letter-spacing:-.04em;line-height:1}
.sheet-body .lede{font-size:1.125rem;color:var(--soft);max-width:56ch}
body.sheet-open{overflow:hidden}
.greet{position:relative;min-height:100vh;min-height:100svh;display:grid;align-items:end;padding:calc(96px + env(safe-area-inset-top,0px)) var(--gutter) 72px;color:#f2eee5;isolation:isolate;overflow:hidden;background:#101719}
.greet-bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgb(16 23 25 / .7) 0%,rgb(16 23 25 / .45) 30%,rgb(16 23 25 / .55) 60%,rgb(16 23 25 / .9) 100%)}
.greet .eyebrow{color:var(--copper)}
.greet-h .copper{color:var(--copper)}
.composer input,
.composer textarea{flex:1;min-width:0;border:0;background:transparent;font:500 1.0625rem/1.3 var(--body);color:#101719;padding:14px 0}
.composer input::placeholder,
.composer textarea::placeholder{color:#5c6667}
.composer input:focus,
.composer textarea:focus{outline:none}
.send{width:50px;height:50px;border-radius:14px;border:0;background:#9a4f22;color:#fff;display:grid;place-items:center;cursor:pointer}
.send svg{width:20px;height:20px}
@media (max-width: 640px){.chips{padding-left:0}
.msg .av{width:28px;height:28px}
}
.greet{align-items:start;padding-bottom:40px}
.greet-col{width:100%;max-width:780px;margin-inline:auto;display:grid;gap:14px;padding-top:max(0px,calc(38vh - 160px))}
.story-sentinel{height:2px}
.req-form .fld{display:grid;gap:6px}
.req-form .fld span{font:600 .9375rem/1.3 var(--display)}
.req-form .fld em{font-style:normal;color:var(--soft);font-weight:500}
.req-form input[type="text"]{min-height:48px;padding:0 14px;border-radius:12px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--rule);color:var(--text);font:500 1rem/1.2 var(--body)}
.req-form input[type="text"]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}
.req-form select{min-height:48px;padding:0 14px;border-radius:12px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--rule);color:var(--text);font:500 1rem/1.2 var(--body)}
.req-form select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}
.req-form .fld[hidden],.tour-sum .fld[hidden]{display:none}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.9375rem;color:var(--soft)}
.consent input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:#9a4f22}
.legal-note{font-size:.8125rem;color:var(--soft)}
.legal-note a{color:var(--accent-text)}
.req-err{color:#9e3538;font-weight:600}
.pl{font:700 .6875rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#a3abab;margin-top:6px}
@media (max-width: 760px){.pl{margin-top:2px}
}
input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;cursor:pointer}
input[type="range"]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--copper) 0 var(--v,50%),var(--night-line) var(--v,50%) 100%)}
input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#f2eee5;margin-top:-10px;box-shadow:0 0 0 6px rgb(184 101  48 / .28);transition:box-shadow .2s}
input[type="range"]:active::-webkit-slider-thumb{box-shadow:0 0 0 12px rgb(184 101  48 / .22)}
.lit{font:600 clamp(2rem,5vw,4.4rem)/1.04 var(--display);letter-spacing:-.04em;margin-top:22px}
.rules{margin-top:clamp(40px,6vw,72px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rule{padding:22px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);display:grid;gap:8px;transition:transform .5s var(--ease),box-shadow .3s}
.rule:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:inset 0 0 0 1.5px var(--accent)}
.rule b{font:700 1.0625rem/1.25 var(--display)}
.rule span{color:var(--soft);font-size:.9375rem}
@media (max-width: 540px){.rules{grid-template-columns:1fr}
}
.now{background:var(--ground);padding-block:clamp(40px,6vw,100px) clamp(88px,12vw,160px)}
.foot{display:grid;grid-template-columns:auto 1fr;gap:28px 56px;align-items:start}
.foot .logo{width:120px;color:#f2eee5}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot a{color:#f2eee5;text-underline-offset:3px}
.legal strong{color:#f2eee5;font-weight:600}
@media (max-width: 640px){.foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){*,::before,::after{animation:auto ease 0s 1 normal none running none !important;transition:none !important}
.grain,.ph img{animation:none}
}
.greet-col{max-width:720px;gap:18px;padding-top:max(0px,calc(42vh - 150px))}
.greet-h{font-weight:600;letter-spacing:-.05em;line-height:.92;font-size:clamp(2.2rem,5.4vw,4.2rem);margin-bottom:6px}
.chat{display:grid;gap:18px}
.msg{display:flex;animation:msgIn .45s var(--ease);align-items:flex-start;gap:12px;transition:opacity .4s var(--ease)}
.msg.past{opacity:.42}
.msg.past:hover{opacity:.8}
.msg .av{flex:none;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;margin-top:2px;background:transparent;box-shadow:inset 0 0 0 1.5px rgb(184 101 48 / .7)}
.msg .av svg{width:15px;height:15px}
.msg.hv .t{margin:0;font:500 clamp(1.15rem,2vw,1.4rem)/1.4 var(--display);letter-spacing:-.01em;color:#f2eee5;max-width:34ch;text-wrap:pretty;text-shadow:0 1px 18px rgb(16 23 25 / .5)}
.msg.me{justify-content:flex-end}
.msg.me .t{margin:0;max-width:30ch;padding:10px 16px;border-radius:18px 18px 4px 18px;background:rgb(242 238 229 / .92);color:#101719;font:500 1rem/1.4 var(--body)}
.msg.vis{display:block;padding-left:42px;animation:fadeUp .6s var(--ease)}
.chips{display:flex;flex-wrap:wrap;animation:msgIn .45s var(--ease);padding-left:42px;gap:8px}
.chip-btn{border-radius:999px;border:0;cursor:pointer;color:#f2eee5;transition:background .2s,box-shadow .2s,transform .2s var(--ease);min-height:40px;padding:0 14px;background:transparent;box-shadow:inset 0 0 0 1px rgb(242 238 229 / .38);font:600 .875rem/1 var(--display);text-decoration:none;display:inline-flex;align-items:center;backdrop-filter:none;-webkit-backdrop-filter:none}
.chip-btn:hover{background:rgb(242 238 229 / .12);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .7);color:#f2eee5;transform:none}
.composer{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;border-radius:18px;background:#f2eee5;color:#101719;box-shadow:0 24px 60px -24px rgb(184 101 48 / .65);position:sticky;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:5;margin-top:22px}
.home-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
.home{flex:none;width:200px;scroll-snap-align:start;border:0;padding:0;border-radius:14px;overflow:hidden;background:var(--ground);color:var(--text);text-align:left;cursor:pointer;display:grid;grid-template-rows:130px auto;box-shadow:0 18px 40px -24px rgb(0 0 0 / .6)}
.home img{width:100%;height:130px;object-fit:cover;display:block}
.home .h-t{display:grid;gap:2px;padding:10px 12px 12px}
.home .h-t b{font:700 1.05rem/1.2 var(--display)}
.home .h-t span{font-size:.8125rem;color:var(--soft)}
.home .h-t small{font-size:.6875rem;color:var(--soft)}
footer{background:var(--night);color:var(--night-muted);border-top:1px solid var(--night-line);padding-block:48px calc(36px + env(safe-area-inset-bottom,0px));font-size:.875rem;position:relative;z-index:3}
.greet-bg{z-index:-1;position:fixed;inset:0;transition:opacity .3s linear;pointer-events:none}
.page-view{position:relative;min-height:100vh;background:#101719;padding:calc(84px + env(safe-area-inset-top,0px)) var(--gutter) 40px;color:#f2eee5}
.pv-head{position:relative;max-width:1100px;margin:0 auto;border-radius:24px;overflow:hidden;min-height:clamp(460px,50vw,580px);display:grid;align-items:end;isolation:isolate}
@media (max-width: 640px){.pv-head,.pv-head.short-head{min-height:600px}
}
.pv-photo{position:absolute;inset:0;z-index:-1;background:#182124}
.pv-photo img{width:100%;height:100%;object-fit:cover;animation:kb 18s ease-in-out infinite alternate}
.pv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(16 23 25 / .95) 0%,rgb(16 23 25 / .8) 30%,rgb(16 23 25 / 0) 62%)}
.pv-head-in{padding:clamp(22px,4vw,44px);display:grid;gap:12px;max-width:640px}
.pv-head .eyebrow{color:var(--copper)}
.pv-lede{font-size:1.125rem;color:rgb(242 238 229 / .86);max-width:56ch}
.pv-meta{font-size:.8125rem;color:rgb(242 238 229 / .65)}
.pv-body{max-width:1100px;margin:28px auto 0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.pv-toc{position:sticky;top:calc(84px + env(safe-area-inset-top,0px));display:grid;gap:2px;padding:14px;border-radius:16px;background:rgb(16 23 25 / .55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.pv-toc a{color:rgb(242 238 229 / .75);text-decoration:none;font:600 .875rem/1.2 var(--display);padding:9px 10px;border-radius:10px;min-height:40px;display:flex;align-items:center}
.pv-toc a:hover,.pv-toc a.on{background:rgb(242 238 229 / .1);color:#f2eee5}
.lg{background:var(--ground);color:var(--text);border-radius:20px;padding:clamp(20px,3vw,32px);display:grid;gap:14px;scroll-margin-top:100px;transition:box-shadow .5s var(--ease)}
.lg h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:600;letter-spacing:-.03em}
.lg h3{font-size:1rem;font-weight:700;margin-bottom:6px}
.lg .short{font:600 clamp(1.05rem,1.7vw,1.2rem)/1.4 var(--display);color:var(--text);max-width:56ch;padding-left:14px;box-shadow:inset 3px 0 0 var(--accent)}
.lg-list{margin:0;padding-left:1.1em;display:grid;gap:8px;color:var(--soft);max-width:68ch}
.lg-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lg-dl{margin:0;display:grid;gap:0}
.lg-dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--rule)}
.lg-dl div:first-child{border-top:0}
.lg-dl dt{font:700 .8125rem/1.4 var(--display);color:var(--soft);text-transform:uppercase;letter-spacing:.08em}
.lg-dl dd{margin:0}
.lg-callout{display:grid;gap:8px;padding:16px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule)}
.lg-callout p{margin:0;color:var(--soft)}
.lg-actions{display:flex;flex-wrap:wrap;gap:10px}
.lg-small{font-size:.8125rem;color:var(--soft)}
.page-view .page-chat{max-width:760px;margin:28px auto 0}
.page-view .page-chat:empty{display:none}
.page-composer-slot .composer{margin-top:0}
.page-view .msg.hv .t{color:#f2eee5}
@media (max-width: 860px){.pv-body{grid-template-columns:1fr}
.pv-toc{position:relative;top:0;display:flex;overflow-x:auto;gap:4px}
.pv-toc a{white-space:nowrap}
.lg-two,.lg-cards{grid-template-columns:1fr}
}
.pv-body.single{grid-template-columns:minmax(0,860px);justify-content:center}
.j-chip{min-height:42px;padding:0 14px;border-radius:999px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);color:var(--text);font:600 .875rem/1 var(--display);cursor:pointer;transition:box-shadow .2s,background .2s}
.j-chip:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.j-fig{margin:0;display:grid;gap:10px;padding:16px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule)}
.j-fig figcaption{font:700 .8125rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.j-fig svg{width:100%;height:auto;overflow:visible}
.j-fig .ax{stroke:var(--rule);stroke-width:2}
.j-fig .band{fill:var(--tint)}
.j-fig .mid{stroke:var(--text);stroke-width:2}
.j-fig .lbl{font:600 13px var(--display);fill:var(--soft)}
.j-fig .lbl.s{font-size:12px}
.j-note{margin:0;color:var(--soft)}
.j-bars{display:grid;gap:10px}
.j-bar{display:grid;grid-template-columns:minmax(120px,210px) 1fr auto;gap:12px;align-items:center;font-size:.9375rem}
.j-bar i{display:block;height:14px;border-radius:7px;background:var(--gulf);animation:grow .9s var(--ease) both}
.j-bar i.hot{background:#b86530}
.j-bar b{font:700 .9375rem/1 var(--display);font-variant-numeric:tabular-nums;text-align:right;min-width:6ch}
@media (max-width: 560px){.j-bar{grid-template-columns:1fr auto}
.j-bar i{grid-column:1/-1;order:3}
}
.j-src{margin:0;font-size:.75rem;color:var(--soft)}
.pv-notice{margin:4px 4px 0;font-size:.8125rem;color:rgb(242 238 229 / .7)}
.j-homes{display:grid;gap:10px}
.j-homes .home{background:var(--surface)}
.j-bar.pick span{font-weight:700;color:var(--text)}
.nav{left:14px;right:14px;transform:none;max-width:1240px;margin:0 auto;justify-content:space-between;padding:6px 6px 6px 18px;gap:10px}
.nav .l{background:none;border:0;cursor:pointer;color:inherit}
.talk{min-height:38px;padding:0 14px;border-radius:999px;border:0;background:#b86530;color:#101719;font:700 .8125rem/1 var(--display);cursor:pointer}
.menu-btn{display:none;min-height:38px;padding:0 14px;border-radius:999px;border:0;background:rgb(242 238 229 / .12);color:#f2eee5;font:700 .8125rem/1 var(--display);cursor:pointer}
.nav .l.on{background:rgb(242 238 229 / .16)}
.site-menu{position:fixed;inset:0;z-index:65;background:rgb(16 23 25 / .96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:auto;padding:calc(86px + env(safe-area-inset-top,0px)) var(--gutter) calc(30px + env(safe-area-inset-bottom,0px));animation:pageIn .35s var(--ease)}
.sm-in{max-width:760px;margin:0 auto;display:grid;gap:26px}
.sm-group{display:grid;gap:2px}
.sm-h{margin:0 0 6px;font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
.sm-group a{color:#f2eee5;text-decoration:none;font:600 clamp(1.4rem,5vw,1.9rem)/1.3 var(--display);letter-spacing:-.02em;padding:4px 0}
.sm-group a:hover{color:var(--copper)}
.sm-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-top:18px;border-top:1px solid rgb(242 238 229 / .14)}
@media (max-width: 980px){.menu-btn{display:inline-flex;align-items:center}
}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.foot-cols nav{display:grid;gap:8px;align-content:start}
.foot-cols .fh{margin:0 0 4px;font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
.foot-cols a:hover{text-decoration:underline}
@media (max-width: 760px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.composer-note{margin:8px 4px 0;font-size:.75rem;color:rgb(242 238 229 / .6)}
.fee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);border-radius:14px;overflow:hidden}
@media (max-width: 640px){.fee-grid{grid-template-columns:1fr 1fr}
}
.pr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.pr-g h3{font:700 .75rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:10px}
.pr-g ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pr-g li{display:grid;gap:2px;padding-left:22px;position:relative}
.pr-g li::before{content:"";position:absolute;left:0;top:.35em;width:12px;height:12px;border-radius:50%;background:var(--accent);opacity:.9}
#sell-provides .pr,#invest-provides .pr{grid-template-columns:1fr 1fr}
#sell-provides .pr-g ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
@media (max-width: 700px){.pr,#sell-provides .pr-g ul{grid-template-columns:1fr}
}
.j-more{border-top:1px solid var(--rule);padding-top:10px}
.j-more summary{cursor:pointer;font:700 .9375rem/1.2 var(--display);color:var(--accent-text);min-height:40px;display:flex;align-items:center}
.j-more > * + *{margin-top:12px}
.j-end{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:12px;border-top:1px solid var(--rule)}
.page-composer-slot{max-width:760px;margin:18px auto 0;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:6;position:static}
.pv-photo.fx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:grayscale(1) contrast(1.15) brightness(1.05);transition:opacity 2s ease;animation:fxzoom 24s ease-in-out infinite alternate}
.pv-photo.fx img.on{opacity:1}
.pv-photo.fx::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#101719 0%,#1f2a2e 45%,#b86530 130%);mix-blend-mode:color;opacity:.95;pointer-events:none}
.pv-photo.fx::after{z-index:2;background:linear-gradient(0deg,rgb(16 23 25 / .95),rgb(16 23 25 / .15) 70%),radial-gradient(120% 90% at 80% 10%,rgb(184 101 48 / .35),transparent 60%)}
.fx-grain{position:absolute;inset:-50%;z-index:2;pointer-events:none;opacity:.12;mix-blend-mode:overlay;background-image:var(--grain-img,none);animation:grain 1s steps(6) infinite}
@media (prefers-reduced-motion: reduce){.pv-photo.fx img{animation:none}
.fx-grain{display:none}
}
.ab-why h2{max-width:24ch;text-wrap:balance}
.ab-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px}
.ab-was,.ab-is{border-radius:16px;padding:20px;display:grid;gap:10px;align-content:start}
.ab-was{box-shadow:inset 0 0 0 1px var(--rule);color:var(--soft)}
.ab-was ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ab-was ol li{padding:5px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--rule);font-size:.875rem}
.ab-was ol li + li::before{content:"\2192";margin-right:6px;opacity:.6}
.ab-is{background:var(--rust-strong);color:#fff}
#page-about .rules{margin-top:0}
.ab-is p{margin:0;line-height:1.55}
.ab-was b,.ab-is b{font:700 1rem/1.3 var(--display);color:inherit}
.ab-life{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ab-life button{all:unset;cursor:pointer;display:grid;gap:6px;align-content:start;padding:16px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .3s,transform .4s var(--ease)}
.ab-life button:hover,.ab-life button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);transform:translateY(-2px)}
.ab-life b{font:700 1rem/1.25 var(--display)}
.ab-life span{font-size:.875rem;color:var(--soft);line-height:1.4}
.ab-bel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.ab-bel div{display:grid;gap:6px;padding-left:14px;border-left:2px solid var(--accent)}
.ab-bel b{font:700 1.0625rem/1.3 var(--display);text-wrap:balance}
.ab-bel span{color:var(--soft);line-height:1.5}
.road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative}
.road > li{border-radius:16px;padding:18px;display:grid;gap:12px;align-content:start;box-shadow:inset 0 0 0 1px var(--rule)}
.road > li.now{box-shadow:inset 0 0 0 2px var(--accent)}
.road > li.later{border-style:dashed;box-shadow:none;outline:1px dashed var(--rule);outline-offset:-1px}
.road-tag{font:700 .75rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.road li.next .road-tag,.road li.later .road-tag{color:var(--soft)}
.road ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.road ul li{position:relative;padding-left:18px;line-height:1.45;font-size:.9375rem}
.road ul li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--soft)}
.road li.now ul li::before{background:var(--accent);box-shadow:none}
@media (max-width: 860px){.ab-life{grid-template-columns:repeat(2,minmax(0,1fr))}
.road{grid-template-columns:1fr}
.ab-split{grid-template-columns:1fr}
}
@media (max-width: 540px){.ab-bel{grid-template-columns:1fr}
}
[data-feature]:not(.f-on){display:none!important}
.f-soon{display:grid;gap:8px;padding:18px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rule);border-style:dashed}
.f-soon b{font:700 1rem/1.3 var(--display)}
.f-soon span{color:var(--soft)}
.area-find{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.area-find label{flex:1 1 260px}
.area-find input{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1px var(--rule);background:var(--surface);color:var(--text);font:inherit}
.area-find .j-note{flex-basis:100%;margin:0}
#page-areas .lg h2{font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.02em;margin-top:8px}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.area-card{all:unset;cursor:pointer;display:grid;gap:4px;padding:16px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .3s,transform .4s var(--ease)}
.area-card:hover,.area-card:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);transform:translateY(-2px)}
.area-card b{font:700 1.125rem/1.2 var(--display)}
.area-card span{font-variant-numeric:tabular-nums}
.area-card small{color:var(--soft)}
.area-crumb{color:inherit;text-decoration:none}
.crumb-sep{font-style:normal;opacity:.7}
.area-homes,.area-src{display:grid;gap:12px;margin-top:10px}
.area-homes h2,.area-src h2{font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.02em}
.area-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.area-links li{display:grid;gap:2px;padding:14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rule)}
.area-links a{font-weight:700;color:var(--accent-text)}
.area-links span{font-size:.8125rem;color:var(--soft)}
@media (max-width: 760px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.area-links{grid-template-columns:1fr}
}
@media (max-width: 480px){.area-grid,.area-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ab-bio{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.ab-bio figure{margin:0;display:grid;gap:12px}
.ab-bio img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:18px}
.ab-bio figcaption{display:grid;gap:3px;font-size:.8125rem;color:var(--soft)}
.ab-bio figcaption b{font:700 1.0625rem/1.25 var(--display);color:var(--text)}
.ab-bio-text{display:grid;gap:18px;max-width:62ch}
.ab-bio-lede{font:500 clamp(1.125rem,1.8vw,1.3rem)/1.45 var(--display);margin:0;text-wrap:pretty}
.ab-facts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ab-facts li{display:grid;gap:3px;padding-left:14px;border-left:2px solid var(--accent)}
.ab-facts b{font:700 .9375rem/1.3 var(--display)}
.ab-facts span{color:var(--soft);line-height:1.5}
.ab-quote{margin:0;font:600 clamp(1.25rem,2.2vw,1.6rem)/1.25 var(--display);letter-spacing:-.02em;color:var(--accent-text)}
.ab-more summary{cursor:pointer;font-weight:600;color:var(--accent-text)}
.ab-more p{margin:12px 0 0;line-height:1.6;color:var(--soft)}
@media (max-width: 640px){.ab-bio{grid-template-columns:1fr}
.ab-bio figure{grid-template-columns:96px 1fr;align-items:center}
.ab-bio img{aspect-ratio:1}
}
@media (min-width: 900px){.pv-head{background:#101719;align-items:center;min-height:clamp(440px,42vw,540px)}
.pv-photo{left:40%}
.pv-photo::after{background:linear-gradient(90deg,#101719 0%,rgb(16 23 25 / .6) 12%,rgb(16 23 25 / 0) 40%),linear-gradient(0deg,rgb(16 23 25 / .35),rgb(16 23 25 / 0) 40%)}
.pv-head-in{max-width:40%}
.pv-photo.fx::after{background:linear-gradient(90deg,#101719 0%,rgb(16 23 25 / 0) 30%),radial-gradient(120% 90% at 80% 10%,rgb(184 101 48 / .35),transparent 60%)}
}
.intro{position:fixed;inset:0;z-index:300;background:#101719;transition:opacity .8s ease}
.intro-cap{position:absolute;left:var(--gutter);right:var(--gutter);bottom:15vh;margin:0;text-align:center;font:600 clamp(1.15rem,2.2vw,1.6rem)/1.3 var(--display);letter-spacing:-.01em;color:#f2eee5;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}
.intro-skip:hover,.intro-skip:focus-visible{background:rgb(242 238 229 / .2)}
.page-view{overflow-x:clip}
.pv-bands{width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(48px,6vw,88px);display:grid}
.band{padding-block:clamp(56px,8vw,128px);padding-inline:max(var(--gutter),calc((100vw - 1280px)/2))}
.band .lg{background:transparent;padding:0;border-radius:0;box-shadow:none;max-width:none;gap:18px}
.band-light{background:#f2eee5;color:#101719;--ground:#f2eee5;--text:#101719;--soft:#5c6667;--surface:#fbf9f4;--rule:#d6d0c5;--accent:#b86530;--accent-text:#9a4f22;--tint:#f3e1d3;color-scheme:light}
.band-dark{background:#101719;color:#f2eee5;--ground:#101719;--text:#f2eee5;--soft:#a3abab;--surface:#182124;--rule:#2e3a3d;--accent:#b86530;--accent-text:#b86530;--tint:#3a2619;color-scheme:dark}
.band .lg h2{font-size:clamp(2rem,4.2vw,3.6rem);font-weight:600;letter-spacing:-.045em;line-height:1;max-width:16ch;text-wrap:balance}
.band .lg .eyebrow{color:var(--accent-text)}
.band-split{display:grid;gap:28px}
.band-head{display:grid;gap:14px;align-content:start}
.band-body{display:grid;gap:18px;min-width:0}
@media (min-width: 980px){.band-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,6vw,96px)}
.band-head{position:sticky;top:110px}
}
.canvas{display:none}
@media (min-width: 1180px){.nav{max-width:1440px}
.greet{grid-template-columns:minmax(440px,540px) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);align-items:start;padding-inline:max(var(--gutter),calc((100vw - 1520px)/2))}
.greet-col{margin-inline:0;max-width:none;padding-top:max(0px,calc(26vh - 120px))}
.greet{align-items:stretch}
.greet > .greet-col{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-self:stretch}
.greet > .canvas{align-self:start}
.greet > .canvas{grid-column:2;grid-row:1}
.greet > .story-sentinel{grid-column:1/-1;grid-row:2}
.greet-h{font-size:clamp(2.6rem,4.2vw,4.4rem)}
.canvas{display:grid;gap:18px;align-content:start;padding:clamp(22px,2.4vw,34px);border-radius:28px;background:rgb(16 23 25 / .74);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .1),0 40px 90px -40px rgb(0 0 0 / .8);color:#f2eee5;scrollbar-width:thin}
.canvas .eyebrow{color:var(--copper)}
.cv-h{font:600 clamp(1.8rem,2.6vw,2.6rem)/1 var(--display);letter-spacing:-.04em}
.cv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cv-stat{padding:14px 16px;border-radius:16px;background:rgb(242 238 229 / .06);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .1);display:grid;gap:4px}
.cv-stat b{font:700 clamp(1.3rem,1.8vw,1.75rem)/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cv-stat span{font-size:.8125rem;color:rgb(242 238 229 / .7)}
.cv-src{font-size:.75rem;color:rgb(242 238 229 / .55);margin-top:-8px}
.cv-life{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cv-tile{all:unset;cursor:pointer;position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#182124;isolation:isolate}
.cv-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .8s var(--ease)}
.cv-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgb(16 23 25 / .85),rgb(16 23 25 / 0) 55%)}
.cv-tile span{position:absolute;left:14px;bottom:12px;font:700 1rem/1.2 var(--display)}
.cv-tile:hover img,.cv-tile:focus-visible img{transform:scale(1.06)}
.cv-towns{display:grid;gap:10px}
.cv-town-row{display:flex;flex-wrap:wrap;gap:8px}
.cv-town{all:unset;cursor:pointer;display:grid;gap:2px;padding:10px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px rgb(242 238 229 / .22)}
.cv-town:hover,.cv-town:focus-visible{box-shadow:inset 0 0 0 1.5px var(--copper)}
.cv-town b{font:700 .9375rem/1.2 var(--display)}
.cv-town span{font-size:.8125rem;color:rgb(242 238 229 / .7);font-variant-numeric:tabular-nums}
.cv-all{align-content:center;color:var(--copper);font-weight:700}
.page-view:not([hidden]){padding-inline:max(var(--gutter),calc((100vw - 1480px)/2))}
.page-view > .pv-head{max-width:none;width:100%}
.pv-body.single{grid-template-columns:minmax(0,1fr)}
.pr{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.area-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.area-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ab-bel{grid-template-columns:repeat(3,minmax(0,1fr))}
footer .wrap{max-width:1480px}
}
.cmp-field{position:relative;flex:1;min-width:0;display:block}
.cmp-field input{position:relative;z-index:1;width:100%;background:transparent}
.cmp-hl{position:absolute;inset:0;z-index:0;padding:14px 0;font:500 1.0625rem/1.3 var(--body);white-space:pre;overflow:hidden;color:transparent;pointer-events:none}
.cmp-chip{flex:none;display:inline-flex;align-items:center;gap:4px;max-width:40%;padding:6px 6px 6px 10px;border-radius:999px;background:#101719;color:#f2eee5;font:600 .8125rem/1 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fadeUp .34s var(--ease)}
.cmp-chip-x{border:0;background:none;color:inherit;opacity:.7;cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}
.cmp-chip-x:hover{opacity:1}
.cmp-status{color:rgb(242 238 229 / .8)}
.sx{display:grid;gap:16px}
.sx.sx-in{animation:sxin .34s var(--ease)}
.sx-head{display:grid;gap:10px}
.sx-title{font:600 clamp(1.4rem,2.2vw,2rem)/1.05 var(--display);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.sx-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sx-chip{display:inline-flex;align-items:center;gap:2px;padding:6px 6px 6px 12px;border-radius:999px;background:rgb(242 238 229 / .08);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .22);font:600 .8125rem/1 var(--display);animation:fadeUp .3s var(--ease)}
.sx-chip:last-of-type{padding-right:12px}
.sx-x{border:0;background:none;color:inherit;opacity:.65;cursor:pointer;font-size:1rem;line-height:1;padding:0 6px}
.sx-x:hover,.sx-x:focus-visible{opacity:1}
.sx-editbtn{border:0;background:none;color:var(--copper);font:700 .8125rem/1 var(--display);cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
.sx-edit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end;padding:14px;border-radius:14px;background:rgb(242 238 229 / .05);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .12);animation:fadeUp .3s var(--ease)}
.sx-fig{margin:0;display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:rgb(242 238 229 / .05);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .1)}
.sx-fig figcaption{font-size:.8125rem;color:rgb(242 238 229 / .75)}
.sx-fig svg{width:100%;height:auto;overflow:visible}
.sx-fig .ax{stroke:rgb(242 238 229 / .2);stroke-width:1.5}
.sx-fig .band{fill:rgb(184 101 48 / .35)}
.sx-fig .mid{stroke:#f2eee5;stroke-width:1.5}
.sx-fig .lbl{font:600 11px var(--display);fill:rgb(242 238 229 / .7)}
.sx-fig .you{fill:var(--copper);stroke:#101719;stroke-width:2}
.sx-fig .you-l{fill:var(--copper)}
.sx-body{display:grid;gap:14px}
.sx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sx-card{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-rows:auto 1fr;border-radius:16px;overflow:hidden;background:#f2eee5;color:#101719;animation:cardin .42s var(--ease) both;transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
.sx-card:hover,.sx-card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgb(0 0 0 / .8),0 0 0 2px var(--copper)}
.sx-ph{display:block;aspect-ratio:4/3;background:#d6d0c5;overflow:hidden}
.sx-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.sx-card:hover .sx-ph img{transform:scale(1.04)}
.sx-t{display:grid;gap:3px;padding:12px 14px 14px}
.sx-t b{font:700 1.125rem/1.1 var(--display);font-variant-numeric:tabular-nums}
.sx-t span{font-size:.875rem;color:#3a4244}
.sx-t small{font-size:.6875rem;color:#5c6667;margin-top:4px}
.sx-pos{justify-self:start;margin-top:4px;padding:3px 8px;border-radius:999px;background:#f3e1d3;color:#9a4f22;font:700 .6875rem/1.2 var(--display);font-style:normal;letter-spacing:.02em}
.sx-src{font-size:.6875rem;color:rgb(242 238 229 / .55);margin:0}
@media (max-width: 760px){.sx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sx-edit{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){.msg.vis{padding-left:0}
.sx-grid{gap:8px}
.sx-t{padding:10px}
.sx-t b{font-size:1rem}
.sx-t small{font-size:.625rem}
.sx-ph{aspect-ratio:1}
}
@media (prefers-reduced-motion: reduce){.sx.sx-in,.sx-detail.sx-in,.sx-card,.sx-chip,.msg.work,.cmp-chip,.toast{animation:none}
}
.pv-cine{padding:calc(84px + env(safe-area-inset-top,0px)) 0 0!important}
.cine{display:grid;gap:18px;padding:0 var(--gutter) clamp(40px,6vw,80px);grid-template-areas:"scene" "talk" "result";grid-template-columns:minmax(0,1fr)}
.cine-scene{grid-area:scene;position:relative;height:clamp(300px,52svh,520px);border-radius:24px;overflow:hidden;background:#182124;isolation:isolate;transition:height .9s var(--ease)}
.cine-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fx,50%) var(--fy,40%);opacity:0;transform:translate(var(--tx,0%),var(--ty,0%)) scale(var(--z,1));transform-origin:var(--fx,50%) var(--fy,50%);transition:opacity 1.6s var(--ease),transform 3.2s cubic-bezier(.22,.61,.2,1);will-change:transform,opacity}
.cine-shot.on{opacity:1}
.cine-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(16 23 25 / .5),rgb(16 23 25 / 0) 38%);pointer-events:none}
.cine-talk{grid-area:talk;display:grid;gap:16px;align-content:start;min-width:0}
.cine-head .eyebrow{color:var(--copper)}
.cine-head h1{font-size:clamp(2.1rem,4.4vw,3.8rem);font-weight:600;letter-spacing:-.045em;line-height:.98;text-wrap:balance;transition:font-size .6s var(--ease)}
.pv-cine.engaged .cine-head h1{font-size:clamp(1.5rem,2.3vw,2.1rem)}
.pv-cine.engaged .cine-head .pv-lede{display:none}
.cine .page-chat,.cine .page-composer-slot{margin:0;max-width:none}
.cine .page-composer-slot{position:static}
@media (min-width: 1180px){.cine{grid-template-columns:minmax(380px,460px) minmax(0,1fr);grid-template-areas:"talk scene" "talk result";grid-template-rows:auto 1fr;column-gap:clamp(28px,3vw,52px);padding-inline:max(var(--gutter),calc((100vw - 1480px)/2));align-items:start}
.cine-talk{display:flex;flex-direction:column}
.cine-talk .page-chat{flex:1 1 auto;min-height:0}
.cine-scene{height:calc(100svh - 116px)}
}
.cx{gap:18px;align-content:start;min-width:0}
.cx .cx-body{transition:opacity .3s var(--ease)}
.cx.cx-upd{animation:cxupd .7s var(--ease)}
.cx-head{display:grid;gap:8px}
.cx-title{font:600 clamp(1.5rem,2.4vw,2.2rem)/1.05 var(--display);letter-spacing:-.035em;text-wrap:balance}
.cx-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cx-chip{display:inline-flex;align-items:center;padding:4px 2px 4px 12px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);font:600 .8125rem/1 var(--display);animation:fadeUp .3s var(--ease)}
.cx-x{border:0;background:none;color:inherit;opacity:.6;cursor:pointer;font-size:1.05rem;line-height:1;padding:4px 10px;min-height:28px}
.cx-x:hover,.cx-x:focus-visible{opacity:1}
.cx-body{display:grid;gap:16px}
.cx-lede{margin:0;font:500 1.05rem/1.45 var(--display);color:var(--soft);max-width:56ch}
.cx-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cx-tile{padding:14px 16px;border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);display:grid;gap:4px;align-content:start}
.cx-tile.hot{background:var(--tint);box-shadow:none}
.cx-fig{margin:0;display:grid;gap:6px}
.cx-fig figcaption{font-size:.8125rem;color:var(--soft)}
.cx-fig svg{width:100%;height:auto;overflow:visible}
.cx-fig .ax{stroke:var(--rule);stroke-width:1.5}
.cx-fig .band{fill:var(--tint)}
.cx-fig .top{fill:var(--accent);opacity:.35}
.cx-fig .mid{stroke:var(--text);stroke-width:1.5}
.cx-fig .lbl{font:600 12px var(--display);fill:var(--soft)}
.cx-fig .you{fill:var(--accent-text);stroke:var(--ground);stroke-width:3}
.cx-fig .you-l{fill:var(--accent-text)}
.cx-plan{display:grid;gap:10px}
.cx-sum{margin:0;padding:14px 16px;border-radius:14px;background:#101719;color:#f2eee5;font:500 1rem/1.5 var(--display)}
.cx-sum b{color:#b86530;font-variant-numeric:tabular-nums}
.cx-ups{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cx-up label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rule);cursor:pointer;transition:box-shadow .25s,background .25s}
.cx-up.in label{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}
.cx-up input{margin:2px 0 0;width:18px;height:18px;accent-color:#9a4f22}
.cx-up-t{display:grid;gap:3px}
.cx-up-t b{font:700 .9375rem/1.25 var(--display)}
.cx-up-t > span{font-size:.875rem;color:var(--soft)}
.cx-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cx-tags em{font:600 .6875rem/1 var(--display);font-style:normal;padding:4px 8px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule);color:var(--soft)}
.cx-tags em.mine{background:var(--tint);box-shadow:none;color:var(--accent-text)}
.cx-cost{font:700 .875rem/1.3 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
.cx-notes{margin:0;padding-left:1.1em;display:grid;gap:6px;color:var(--soft);font-size:.9375rem}
.cx-acts{display:flex;flex-wrap:wrap;gap:10px}
.cx-acts:empty{display:none}
.cx-fine summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.75rem;line-height:1.4;color:var(--soft)}
.cx-fine summary::-webkit-details-marker{display:none}
.cx-how{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.cx-fine ul{margin:10px 0 0;padding-left:1.1em;display:grid;gap:6px;font-size:.8125rem;color:var(--soft)}
.cx-peek{border:0;background:none;color:var(--copper);font:700 .8125rem/1 var(--display);cursor:pointer;padding:6px 0 6px 42px;justify-self:start}
@media (max-width: 560px){.cx-tiles{grid-template-columns:1fr}
.cx-up label{grid-template-columns:auto minmax(0,1fr)}
.cx-cost{grid-column:2}
.cx-peek{padding-left:0}
}
@media (prefers-reduced-motion: reduce){.cine-shot{transition:opacity .01s;transform:none!important}
.cine-scene,.cine-head h1{transition:none}
.cx.cx-upd,.cx-chip{animation:none}
}
.marquee{background:#101719;color:#f2eee5;padding-block:clamp(40px,7vw,90px);overflow:hidden;border-top:1px solid rgb(242 238 229 / .08)}
.mrow{overflow:hidden;font:700 clamp(3rem,9vw,8.5rem)/1.02 var(--display);letter-spacing:-.045em}
.mtrack{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.mrow .o{color:transparent;-webkit-text-stroke:1.5px rgb(242 238 229 / .55)}
.mrow .c{color:var(--copper)}
.mrow + .mrow{margin-top:.08em;font-size:clamp(2rem,6vw,5.6rem)}
.cmp-reset{display:none;flex:none;border:0;border-radius:999px;padding:0 12px;min-height:36px;align-self:center;margin-left:6px;background:rgb(16 23 25 / .07);color:#101719;font:600 .8125rem/1 var(--display);cursor:pointer}
.cmp-reset:hover,.cmp-reset:focus-visible{background:rgb(16 23 25 / .14)}
.composer.talking .cmp-reset{display:inline-flex;align-items:center}
.earlier{margin:0 0 4px;border-radius:12px}
.earlier > summary{cursor:pointer;list-style:none;font:600 .8125rem/1.2 var(--display);color:rgb(242 238 229 / .6);padding:6px 0}
.earlier > summary::-webkit-details-marker{display:none}
.earlier > summary::before{content:"\25B8";display:inline-block;margin-right:6px;transition:transform .2s}
.cine-talk .page-chat{align-content:start;display:grid;gap:12px}
.cine-scene{view-transition-name:cine-scene}
@media (max-width: 1179px){.pv-cine.engaged .cine{grid-template-areas:"talk" "result"}
.pv-cine.engaged .cine-scene{grid-area:result;align-self:start;height:auto;aspect-ratio:3/2;margin:clamp(20px,3vw,32px);z-index:2;border-radius:16px}
}
@media (min-width: 1180px){.pv-cine.engaged .cine{grid-template-areas:"talk result";grid-template-rows:auto}
.pv-cine.engaged .cine-scene{grid-area:result;justify-self:end;align-self:start;width:42%;height:auto;aspect-ratio:3/2;margin:clamp(20px,3vw,32px);z-index:2;border-radius:18px;box-shadow:0 24px 50px -28px rgb(0 0 0 / .6)}
.pv-cine.engaged .cx-head{padding-right:calc(42% + 12px);min-height:calc((100cqw + 2 * clamp(20px,3vw,32px)) * .28 + 6px);align-content:start}
}
@media (max-width: 1179px){.cine-shot{object-position:55% 40%}
}
.pv-photo.place img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 26s ease-in-out infinite alternate}
.pv-photo.place .night{filter:brightness(.5) saturate(.65);transition:filter 4.5s cubic-bezier(.3,.6,.2,1),opacity 4.5s cubic-bezier(.3,.6,.2,1)}
.pv-photo.place.lit .night{filter:none}
@media (prefers-reduced-motion: reduce){.pv-photo.place img{animation:none}
.pv-photo.place .night{transition:none}
}
.cine-scene.place .cine-shot{filter:brightness(calc(.42 + .58 * var(--lit,.12))) saturate(calc(.6 + .4 * var(--lit,.12)));transition:opacity 1.6s var(--ease),transform 3.2s cubic-bezier(.22,.61,.2,1),filter 3.6s cubic-bezier(.3,.6,.2,1)}
@media (prefers-reduced-motion: reduce){.cine-scene.place .cine-shot{filter:none;transition:none}
}
.cx-sub{font:700 .8125rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.cx-towns{display:flex;flex-wrap:wrap;gap:8px}
.cx .j-homes{gap:10px}
.cx .home-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));overflow:visible}
.cx .home{width:auto;background:var(--surface)}
.cx-fig .plan{fill:none;stroke:var(--accent-text);stroke-width:3;transition:opacity .4s}
.cx-fig .plan-path{stroke:var(--accent-text);stroke-width:3;stroke-dasharray:4 5;transition:opacity .4s}
.cx-fig .plan-l{fill:var(--accent-text);font-weight:700;transition:opacity .4s}
.msg .t .cx-peek{display:inline-block;margin-left:8px;padding:0;vertical-align:baseline}
.greet-bg.city .pair{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.greet-bg.city .pair.on{opacity:1}
.greet-bg.city .pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;animation:kb 18s ease-in-out infinite alternate}
.greet-bg.city .pair img.night{filter:brightness(.5) saturate(.65);transition:filter 4.5s cubic-bezier(.3,.6,.2,1),opacity 5s cubic-bezier(.3,.6,.2,1)}
.greet-bg.city .pair.lit img.night{filter:none}
@media (prefers-reduced-motion: reduce){.greet-bg.city .pair,.greet-bg.city .pair img{transition:none;animation:none}
}
html.photos-day .greet-bg.city .pair img.night{filter:none}
html.photos-day .pv-photo.place .night{filter:none}
html.photos-day .cine-scene.place .cine-shot{filter:none}
.signup{display:grid;gap:10px;max-width:520px}
.signup-row{display:flex;gap:8px}
.signup input[type="email"]{flex:1;min-width:0;min-height:48px;padding:0 14px;border-radius:12px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--rule);color:var(--text);font:500 1rem var(--body)}
.signup input[type="email"]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}
.signup .consent{font-size:.8125rem}
.signup-msg{margin:0;font-size:.875rem;color:var(--good-text)}
.signup-msg.bad{color:#9e3538}
.foot-signup{display:grid;gap:8px;grid-column:1/-1;padding-top:22px;border-top:1px solid var(--night-line);color:#f2eee5}
.foot-signup > p:not(.fh){margin:0;color:var(--night-muted);font-size:.875rem}
.foot-signup .signup input[type="email"]{background:#182124;color:#f2eee5;box-shadow:inset 0 0 0 1.5px #2e3a3d}
.foot-signup .consent{color:var(--night-muted)}
.foot-signup .signup-msg{color:#9fd1b5}
.nb-level{display:grid;gap:14px}
.nb-level h2{margin:6px 0 0}
.nb-level .short{margin:0}
a.area-card{color:var(--text)}
.area-root[hidden]{display:none}
@media (max-width: 820px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 480px){.area-grid{grid-template-columns:minmax(0,1fr)}
}
.area-card{padding:0;overflow:hidden;grid-template-rows:auto 1fr;gap:0;background:var(--surface,transparent)}
.area-card .ac-ph{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--rule)}
.area-card .ac-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.area-card:hover .ac-ph img,.area-card:focus-visible .ac-ph img{transform:scale(1.05)}
.area-card .ac-tx{display:grid;gap:4px;padding:14px 16px 16px}
.area-card.dim{opacity:.38;filter:saturate(.4)}
.area-card .ac-count{font-weight:700;color:var(--accent-text)}
.story-reel{display:grid;gap:14px;margin:8px 0 28px}
.area-card.story{position:relative;display:block;border-radius:22px;min-height:min(62vh,560px);box-shadow:none;color:#fff}
.area-card.story .ac-ph{position:absolute;inset:0;aspect-ratio:auto}
.area-card.story .ac-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.72) 100%)}
.area-card.story .ac-ph img{transform:scale(1.08);transition:transform 2.4s var(--ease)}
.area-card.story.seen .ac-ph img{transform:scale(1)}
.area-card.story .ac-tx{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,4vw,40px);gap:6px}
.area-card.story b{font:700 clamp(1.75rem,5vw,3.25rem)/1.05 var(--display);letter-spacing:-.01em}
.area-card.story span,.area-card.story small{color:rgba(255,255,255,.88);font-size:1rem}
.area-card.story:hover,.area-card.story:focus-visible{transform:none;box-shadow:0 0 0 3px var(--accent)}
@media (prefers-reduced-motion: reduce){.area-card .ac-ph img,.area-card.story .ac-ph img{transform:none;transition:none}
}
@media (max-width: 480px){.area-card.story{min-height:420px;border-radius:16px}
}
.nb-schools .tbl{overflow-x:auto}
.nb-schools table{width:100%;border-collapse:collapse;font-size:.9375rem}
.nb-schools th,.nb-schools td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.nb-schools th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);font-weight:600}
.nb-schools td a{color:var(--text);font-weight:600}
.tea{display:inline-block;min-width:2.2em;text-align:center;padding:2px 8px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--rule);font-weight:700;font-variant-numeric:tabular-nums}
.place-map{width:100%;aspect-ratio:16/9;max-height:520px;border-radius:18px;overflow:hidden;background:var(--rule)}
.place-map .pin{width:16px;height:16px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);cursor:pointer}
.map-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:0;list-style:none;font-size:.8125rem;color:var(--soft)}
.map-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
@media (max-width: 480px){.place-map{aspect-ratio:4/3}
}
.wr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:10px}
.wr-t{display:grid;gap:2px;padding:14px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rule)}
.wr-t b{font:700 1.5rem/1.1 var(--display);font-variant-numeric:tabular-nums}
.wr-t span{font-weight:600}
.wr-t small{color:var(--soft);line-height:1.35}
.ck{position:fixed;right:16px;bottom:16px;z-index:90;max-width:min(380px,calc(100vw - 32px));background:var(--surface);color:var(--text);border:1px solid var(--rule);border-radius:16px;padding:14px 16px;box-shadow:0 18px 48px -20px rgb(0 0 0 /.45);font:500 .875rem/1.45 var(--body)}
.ck[hidden]{display:none}
.ck p{margin:0 0 10px}
.ck-ok{border:0;border-radius:999px;background:var(--rust-strong);color:#fff;font:700 .875rem var(--display);padding:9px 18px;min-height:40px;cursor:pointer}
.ck a,.ck-clear{color:var(--accent-text);font:600 .8125rem var(--display);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body:has(.ah-foot:not([hidden])) .ck{bottom:calc(var(--foot,96px) + 28px)}
@media (max-width: 640px){.ck{left:8px;right:8px;max-width:none}
.ck{padding:10px 12px;font-size:.75rem;border-radius:14px}
.ck p{margin-bottom:8px}
.ck-ok{padding:7px 14px;min-height:34px;font-size:.8125rem}
.ck a,.ck-clear{font-size:.75rem}
}
.ck-h{font:700 1rem var(--display);margin:0 0 6px}
.ck-opts{display:grid;gap:10px;margin:0 0 12px}
.ck-opts label{display:flex;gap:10px;align-items:flex-start}
.ck-none{margin:0;color:var(--soft)}
.ck-ok.ck-eq{background:var(--rust-strong);color:#fff}
.ck-link{border:0;background:none;color:var(--accent-text);font:600 .8125rem var(--display);text-decoration:underline;text-underline-offset:3px;padding:9px 6px;cursor:pointer}
.ck-opts[hidden],.ck [hidden]{display:none}
body:has(#notes-signup:not([hidden])) .foot-signup{display:none}
.pv-photo,.cine-scene{--py:0px}
.pv-photo{transform:translate3d(0,var(--py),0) scale(1.1);will-change:transform}
.marquee .mrow{transition:opacity .6s}
.lg a,.btn,.btn-line,.chip{transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.btn:hover,.btn-line:hover{transform:translateY(-2px) scale(1.02)}
@media (prefers-reduced-motion: reduce){.pv-photo{transform:none}
}
.page-view{background:transparent}
.page-view .cine-scene,.page-view.pv-cine.engaged .cine-scene{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;z-index:-1!important;justify-self:auto!important}
.page-view .cine-scene::after{background:linear-gradient(90deg,rgb(16 23 25 / .86),rgb(16 23 25 / .5) 55%,rgb(16 23 25 / .25)),linear-gradient(0deg,rgb(16 23 25 / .7),rgb(16 23 25 / 0) 40%)}
.page-view .pv-head{background:transparent!important;overflow:visible;min-height:auto;display:block;border-radius:0}
.page-view .pv-head .pv-photo{position:fixed;inset:0;left:0;z-index:-1}
.page-view .pv-photo::after,.page-view .pv-photo.fx::after{background:linear-gradient(90deg,rgb(16 23 25 / .86),rgb(16 23 25 / .5) 55%,rgb(16 23 25 / .25)),linear-gradient(0deg,rgb(16 23 25 / .7),rgb(16 23 25 / 0) 40%)}
.page-view .band-light,.page-view .band-dark{background:rgb(16 23 25 / .74);color:#f2eee5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);--ground:#101719;--text:#f2eee5;--soft:#a3abab;--surface:#182124;--rule:#2e3a3d;--accent:#b86530;--accent-text:#b86530;--tint:#3a2619;color-scheme:dark}
.area-card.story .ac-stats{display:grid;gap:8px;margin-top:10px;max-width:520px}
.area-card.story .ac-n{font:600 .875rem var(--display);color:#fff}
.area-card.story .ac-n b{font:700 1.25rem var(--display);margin-right:4px}
.area-card.story .ac-bar{display:block;height:6px;border-radius:3px;background:rgb(255 255 255 / .25);overflow:hidden}
.area-card.story .ac-bar i{display:block;height:100%;border-radius:3px;background:var(--copper);transform-origin:left;animation:ah-grow 1.1s cubic-bezier(.16,1,.3,1) both}
.area-card.story .ac-chips{display:flex;flex-wrap:wrap;gap:6px}
.area-card.story .ac-chips em{font:600 .8125rem var(--display);font-style:normal;padding:5px 11px;border-radius:999px;background:rgb(0 0 0 / .45);color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .28);backdrop-filter:blur(8px);transition:background .3s,opacity .3s,transform .3s}
.story-reel[data-mode="Lease"] .ac-chips em[data-m="Sale"],.story-reel[data-mode="Sale"] .ac-chips em[data-m="Lease"]{opacity:.35}
.story-reel[data-mode="Lease"] .ac-chips em[data-m="Lease"],.story-reel[data-mode="Sale"] .ac-chips em[data-m="Sale"]{background:var(--rust-strong);transform:scale(1.06)}
.area-card.story.fit::before{content:"Fits your budget";position:absolute;top:14px;left:14px;z-index:2;font:700 .75rem var(--display);padding:5px 11px;border-radius:999px;background:var(--rust-strong);color:#fff}
.area-card.story{transition:opacity .4s,filter .4s}
.page-view .room-end{background:rgb(16 23 25 / .74);color:#f2eee5;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);--ground:#101719;--text:#f2eee5;--soft:#a3abab;--surface:#182124;--rule:#2e3a3d;--accent:#b86530;--accent-text:#b86530;--tint:#3a2619;color-scheme:dark}
.room-end .lg{max-width:1100px;margin-inline:auto;display:grid;gap:18px}
.room-end h2{font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.03em}
.room-act{display:flex;flex-wrap:wrap;gap:10px}
.room-slots{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:760px}
.room-slots li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 .9375rem/1.4 var(--body);color:var(--soft)}
.room-slots .tag{flex:none;font:700 .6875rem var(--display);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--rule);color:var(--soft)}
.room-slots li.on{color:var(--text)}
.room-slots li.on .tag{background:var(--rust-strong);color:#fff;box-shadow:none}
.room-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.room-next a{display:grid;gap:4px;padding:16px 18px;border-radius:16px;text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1px var(--rule);transition:transform .3s var(--ease),box-shadow .3s}
.room-next a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--copper)}
.room-next b{font:700 1rem var(--display)}
.room-next span{font:500 .875rem/1.4 var(--body);color:var(--soft)}
.nb-level.band-split{grid-template-columns:minmax(0,1fr)}
.story-reel{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
.area-card.story{min-height:clamp(280px,34vw,380px)}
.area-card.story b{font-size:clamp(1.4rem,2.4vw,2rem)}
.area-card.story .ac-tx{padding:clamp(16px,2vw,24px)}
.page-view:has([data-compose="about"][data-mounted]) .ab-road .road li.now{display:none}
.room-home{margin:4px 0 0}
.room-home a{font:600 .9375rem var(--display);color:var(--accent-text);text-underline-offset:3px}
.room-next-h{margin:6px 0 -6px;font:700 .75rem var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
@media (max-width: 640px){.ck{padding:8px 12px;bottom:8px}
.ck p{margin-bottom:8px}
.ck-ok{min-height:34px;padding:6px 12px}
}
body:has(#ck:not([hidden])) .ah-foot{display:none}
body:has(#ck:not([hidden])) .ck{bottom:8px}
@media (max-width: 640px){.ck{font-size:.71875rem;line-height:1.35}
.ck-ok{font-size:.78125rem}
.ck-link,.ck a{font-size:.71875rem}
}
.area-card.story .ac-rank{position:absolute;top:14px;left:14px;z-index:2;font:700 .75rem var(--display);letter-spacing:.04em;padding:5px 11px;border-radius:999px;background:rgb(0 0 0 / .5);color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .3);backdrop-filter:blur(8px)}
.area-card.story.fit::before{top:48px}
.btn,.btn-line{border-radius:var(--hv-radius-action,6px 999px 999px 6px)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .pl{color:#5c6667}
:root:not([data-theme="dark"]) input[type="range"]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--copper) 0 var(--v,50%),rgb(16 23 25 / .14) var(--v,50%) 100%)}
:root:not([data-theme="dark"]) .foot .logo{color:#101719}
:root:not([data-theme="dark"]) .foot a{color:#101719}
:root:not([data-theme="dark"]) .legal strong{color:#101719}
:root:not([data-theme="dark"]) .msg.hv .t{color:#101719}
:root:not([data-theme="dark"]) .msg.me .t{background:rgb(16 23 25 / 0.6)}
:root:not([data-theme="dark"]) .chip-btn{color:#101719;box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.304)}
:root:not([data-theme="dark"]) .chip-btn:hover{background:rgb(16 23 25 / 0.096);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.56);color:#101719}
:root:not([data-theme="dark"]) footer{background:#f2eee5;color:#5c6667;border-top:1px solid rgb(16 23 25 / .14)}
:root:not([data-theme="dark"]) .page-view{background:#fbf9f4;color:#101719}
:root:not([data-theme="dark"]) .pv-photo::after{background:linear-gradient(0deg,rgb(250 247 241 / .95) 0%,rgb(250 247 241 / .8) 30%,rgb(250 247 241 / 0) 62%)}
:root:not([data-theme="dark"]) .pv-head .eyebrow{color:#9a4f22}
:root:not([data-theme="dark"]) .pv-lede{color:rgb(16 23 25 / 0.86)}
:root:not([data-theme="dark"]) .pv-meta{color:rgb(16 23 25 / 0.65)}
:root:not([data-theme="dark"]) .pv-toc{background:rgb(255 255 255 / .55)}
:root:not([data-theme="dark"]) .pv-toc a{color:rgb(16 23 25 / 0.75)}
:root:not([data-theme="dark"]) .pv-toc a:hover,:root:not([data-theme="dark"]) .pv-toc a.on{background:rgb(16 23 25 / 0.08);color:#101719}
:root:not([data-theme="dark"]) .page-view .msg.hv .t{color:#101719}
:root:not([data-theme="dark"]) .pv-notice{color:rgb(16 23 25 / 0.7)}
:root:not([data-theme="dark"]) .menu-btn{background:rgb(16 23 25 / 0.096);color:#101719}
:root:not([data-theme="dark"]) .sm-h{color:#9a4f22}
:root:not([data-theme="dark"]) .sm-group a{color:#101719}
:root:not([data-theme="dark"]) .sm-group a:hover{color:#9a4f22}
:root:not([data-theme="dark"]) .sm-foot{border-top:1px solid rgb(16 23 25 / 0.112)}
:root:not([data-theme="dark"]) .foot-cols .fh{color:#9a4f22}
:root:not([data-theme="dark"]) .composer-note{color:rgb(16 23 25 / 0.6)}
:root:not([data-theme="dark"]) .pv-photo.fx::before{background:linear-gradient(135deg,#fbf9f4 0%,#1f2a2e 45%,#b86530 130%)}
:root:not([data-theme="dark"]) .pv-photo.fx::after{background:linear-gradient(0deg,rgb(250 247 241 / .95),rgb(250 247 241 / .15) 70%),radial-gradient(120% 90% at 80% 10%,rgb(184 101 48 / .35),transparent 60%)}
}
@media (prefers-color-scheme: light) and (min-width: 900px){:root:not([data-theme="dark"]) .pv-head{background:#fbf9f4}
:root:not([data-theme="dark"]) .pv-photo::after{background:linear-gradient(90deg,#fbf9f4 0%,rgb(250 247 241 / .6) 12%,rgb(250 247 241 / 0) 40%),linear-gradient(0deg,rgb(250 247 241 / .35),rgb(250 247 241 / 0) 40%)}
:root:not([data-theme="dark"]) .pv-photo.fx::after{background:linear-gradient(90deg,#fbf9f4 0%,rgb(250 247 241 / 0) 30%),radial-gradient(120% 90% at 80% 10%,rgb(184 101 48 / .35),transparent 60%)}
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .intro{background:#fbf9f4}
:root:not([data-theme="dark"]) .intro-cap{color:#101719}
:root:not([data-theme="dark"]) .intro-skip:hover,:root:not([data-theme="dark"]) .intro-skip:focus-visible{background:rgb(16 23 25 / 0.16)}
:root:not([data-theme="dark"]) .band-dark{background:#fbf9f4;color:#101719}
}
@media (prefers-color-scheme: light) and (min-width: 1180px){:root:not([data-theme="dark"]) .canvas{background:rgb(255 255 255 / .74);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.08),0 40px 90px -40px rgb(0 0 0 / .8);color:#101719}
:root:not([data-theme="dark"]) .canvas .eyebrow{color:#9a4f22}
:root:not([data-theme="dark"]) .cv-stat{background:rgb(16 23 25 / 0.048);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.08)}
:root:not([data-theme="dark"]) .cv-stat span{color:rgb(16 23 25 / 0.7)}
:root:not([data-theme="dark"]) .cv-src{color:rgb(16 23 25 / 0.55)}
:root:not([data-theme="dark"]) .cv-town{box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.176)}
:root:not([data-theme="dark"]) .cv-town span{color:rgb(16 23 25 / 0.7)}
:root:not([data-theme="dark"]) .cv-all{color:#9a4f22}
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .cmp-chip{background:#fbf9f4;color:#101719}
:root:not([data-theme="dark"]) .cmp-status{color:rgb(16 23 25 / 0.8)}
:root:not([data-theme="dark"]) .sx-chip{background:rgb(16 23 25 / 0.064);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.176)}
:root:not([data-theme="dark"]) .sx-editbtn{color:#9a4f22}
:root:not([data-theme="dark"]) .sx-edit{background:rgb(16 23 25 / 0.04);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.096)}
:root:not([data-theme="dark"]) .sx-fig{background:rgb(16 23 25 / 0.04);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.08)}
:root:not([data-theme="dark"]) .sx-fig figcaption{color:rgb(16 23 25 / 0.75)}
:root:not([data-theme="dark"]) .sx-fig .ax{stroke:rgb(16 23 25 / 0.16)}
:root:not([data-theme="dark"]) .sx-fig .lbl{fill:rgb(16 23 25 / 0.56)}
:root:not([data-theme="dark"]) .sx-fig .you{stroke:#fbf9f4}
:root:not([data-theme="dark"]) .sx-src{color:rgb(16 23 25 / 0.55)}
:root:not([data-theme="dark"]) .cine-head .eyebrow{color:#9a4f22}
:root:not([data-theme="dark"]) .cx-sum{background:#fbf9f4;color:#101719}
:root:not([data-theme="dark"]) .cx-sum b{color:#9a4f22}
:root:not([data-theme="dark"]) .cx-peek{color:#9a4f22}
:root:not([data-theme="dark"]) .marquee{background:#fbf9f4;color:#101719;border-top:1px solid rgb(16 23 25 / 0.064)}
:root:not([data-theme="dark"]) .mrow .o{-webkit-text-stroke:1.5px rgb(16 23 25 / 0.44)}
:root:not([data-theme="dark"]) .mrow .c{color:#9a4f22}
:root:not([data-theme="dark"]) .earlier > summary{color:rgb(16 23 25 / 0.6)}
:root:not([data-theme="dark"]) .foot-signup{border-top:1px solid rgb(16 23 25 / .14);color:#101719}
:root:not([data-theme="dark"]) .foot-signup > p:not(.fh){color:#5c6667}
:root:not([data-theme="dark"]) .foot-signup .signup input[type="email"]{color:#101719}
:root:not([data-theme="dark"]) .foot-signup .consent{color:#5c6667}
:root:not([data-theme="dark"]) .page-view .pv-photo::after,:root:not([data-theme="dark"]) .page-view .pv-photo.fx::after{background:linear-gradient(90deg,rgb(250 247 241 / .86),rgb(250 247 241 / .5) 55%,rgb(250 247 241 / .25)),linear-gradient(0deg,rgb(250 247 241 / .7),rgb(250 247 241 / 0) 40%)}
:root:not([data-theme="dark"]) .page-view .band-light,:root:not([data-theme="dark"]) .page-view .band-dark{background:rgb(255 255 255 / .74);color:#101719}
:root:not([data-theme="dark"]) .page-view .room-end{background:rgb(255 255 255 / .74);color:#101719}
:root:not([data-theme="dark"]) .page-view{background:transparent;color:#101719}
:root:not([data-theme="dark"]) .nav{background:rgb(255 255 255 / .84);color:#101719;box-shadow:0 10px 32px -18px rgb(60 40 20 / .4),inset 0 0 0 1px rgb(16 23 25 / .1)}
:root:not([data-theme="dark"]) .nav .logo{color:#101719}
:root:not([data-theme="dark"]) .nav a.l:hover{background:rgb(16 23 25 / .07)}
:root:not([data-theme="dark"]) .theme button{color:#101719}
:root:not([data-theme="dark"]) .theme button[aria-pressed="true"]{background:#101719;color:#fbf9f4}
:root:not([data-theme="dark"]) .menu-btn{background:rgb(16 23 25 / .08);color:#101719}
:root:not([data-theme="dark"]) .site-menu{background:rgb(250 247 241 / .98);color:#101719}
:root:not([data-theme="dark"]) .site-menu a,:root:not([data-theme="dark"]) .site-menu .sm-h{color:#101719}
:root:not([data-theme="dark"]) footer{background:#f2eee5;color:#5c6667;border-top-color:rgb(16 23 25 / .12)}
:root:not([data-theme="dark"]) .foot .logo,:root:not([data-theme="dark"]) .foot a,:root:not([data-theme="dark"]) .legal strong{color:#101719}
:root:not([data-theme="dark"]) footer .signup input[type="email"]{background:#fff;color:#101719;box-shadow:inset 0 0 0 1.5px rgb(16 23 25 / .28)}
:root:not([data-theme="dark"]) footer .signup input[type="email"]::placeholder{color:#5c6667}
:root:not([data-theme="dark"]) .foot-cols .fh,:root:not([data-theme="dark"]) .foot-signup .fh{color:#9a4f22}
:root:not([data-theme="dark"]) .band-dark,:root:not([data-theme="dark"]) .band-light,:root:not([data-theme="dark"]) .room-end{background:rgb(255 255 255 / .8);color:#101719;--ground:#f2eee5;--text:#101719;--soft:#5c6667;--surface:#ffffff;--rule:#d6d0c5;--accent:#b86530;--accent-text:#9a4f22;--tint:#f3e1d3;color-scheme:light}
:root:not([data-theme="dark"]) .cine-scene::after{background:linear-gradient(90deg,rgb(251 247 240 / .94),rgb(251 247 240 / .78) 55%,rgb(251 247 240 / .5)),linear-gradient(0deg,rgb(251 247 240 / .8),rgb(251 247 240 / 0) 40%)}
:root:not([data-theme="dark"]) .eyebrow,:root:not([data-theme="dark"]) .cine-head .eyebrow{color:#9a4f22}
}

/* Plain-English search (havlo-site-search.js, 2026-10-08): why each home matched, honest notes, the fair-housing line */
.sx-more{justify-self:center}
.page-chat .sx-grid,.cine-talk .sx-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.sx-why{display:grid;gap:2px;margin-top:4px}
.sx-why i{font-style:normal;font-size:.75rem;line-height:1.3;color:#3a4244;padding-left:14px;position:relative}
.sx-why i::before{content:"";position:absolute;left:2px;top:.45em;width:6px;height:6px;border-radius:50%;background:var(--copper)}
.sx-notes{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:.8125rem;color:rgb(242 238 229 / .72)}
.sx-notes li{padding-left:14px;position:relative}
.sx-notes li::before{content:"\2022";position:absolute;left:2px;color:var(--copper)}
.sx-fh{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:rgb(242 238 229 / .05);box-shadow:inset 0 0 0 1px rgb(242 238 229 / .14);font-size:.875rem;line-height:1.45}
.sx-fh p{margin:0}
.sx-fh .sx-fact{color:rgb(242 238 229 / .78)}
.sx-fh a{color:var(--copper);text-underline-offset:3px}
:root[data-theme="light"] .sx-notes{color:rgb(16 23 25 / 0.72)}
:root[data-theme="light"] .sx-fh{background:rgb(16 23 25 / 0.04);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.1)}
:root[data-theme="light"] .sx-fh .sx-fact{color:rgb(16 23 25 / 0.78)}
:root[data-theme="light"] .sx-fh a{color:#9a4f22}
:root[data-theme="light"] .sx-why i{color:#3a4244}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .sx-notes{color:rgb(16 23 25 / 0.72)}
:root:not([data-theme="dark"]) .sx-fh{background:rgb(16 23 25 / 0.04);box-shadow:inset 0 0 0 1px rgb(16 23 25 / 0.1)}
:root:not([data-theme="dark"]) .sx-fh .sx-fact{color:rgb(16 23 25 / 0.78)}
:root:not([data-theme="dark"]) .sx-fh a{color:#9a4f22}
:root:not([data-theme="dark"]) .sx-why i{color:#3a4244}
}

.composer textarea{resize:none;min-height:24px;max-height:240px;overflow-y:auto;line-height:1.4;}

/* ---- havlo-site-home.css ---- */
.ah{--foot:74px;--bg:var(--hv-surface);--card:var(--hv-card);--card-solid:var(--hv-card-solid);--field:var(--hv-field);--line:var(--hv-edge);--tx:var(--hv-text);--tx2:var(--hv-text-2);--mut:var(--hv-text-soft);--acc:var(--hv-accent);--chip:var(--hv-chip);--soft:var(--hv-chip-hover);--ease:cubic-bezier(.22,1,.36,1);position:relative;min-height:100vh;min-height:100svh;background:var(--bg);color:var(--tx);font-family:var(--body,var(--hv-font-body));padding:calc(96px + env(safe-area-inset-top,0px)) 0 calc(var(--foot) + 28px);isolation:isolate}.ah *{box-sizing:border-box}.ah button{font-family:inherit;cursor:pointer}.ah h1,.ah h2,.ah h3{font-family:var(--display,var(--hv-font-display));margin:0;font-weight:700;letter-spacing:-.025em}.ah p{margin:0}.ah a{color:var(--acc);text-underline-offset:3px}.ah :focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}@keyframes ah-drift{0%{transform:scale(1.03) translate(0)}to{transform:scale(1.1) translate(-1.2%,-.8%)}}@keyframes ah-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.rise{animation:ah-rise .7s var(--ease,cubic-bezier(.22,1,.36,1)) both}.ah-eyebrow{font:800 12px var(--display,var(--hv-font-display));letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}.ah-eyebrow.copper{color:var(--acc)}.ah-memory{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:32px}.ah-fact{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--chip);color:inherit;padding:6px 12px;font:700 13px var(--display,var(--hv-font-display));min-height:32px;transition:background .3s var(--ease)}.ah-fact:hover{background:var(--soft)}.ah-fact i{font-style:normal;color:var(--mut)}.ah-link{border:0;background:none;padding:0 4px;color:var(--acc);font:700 13px var(--display,var(--hv-font-display));text-decoration:underline;text-underline-offset:3px;min-height:32px;cursor:pointer}.ah-you{align-self:flex-end;max-width:330px;background:#9a4f22;color:#fff;border-radius:24px 24px 6px;padding:10px 16px;font:500 16px/1.4 var(--body,var(--hv-font-body))}.ah-reply{display:flex;gap:14px;align-items:flex-start}.ah-av{flex:none;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--acc);display:grid;place-items:center;color:var(--acc);margin-top:3px}.ah-av svg{width:16px;height:auto}.ah-reply .said{font:600 clamp(1.15rem,2vw,1.45rem)/1.35 var(--display,var(--hv-font-display));letter-spacing:-.01em;max-width:34ch}.ah-say.big{font-weight:700;font-size:clamp(1.5rem,2.4vw,1.75rem);line-height:1.14;letter-spacing:-.03em;text-wrap:balance}.ah-say .ah-w{display:inline-block;white-space:pre}.ah-reply .asked{font:500 17px/1.5 var(--body,var(--hv-font-body));color:var(--tx2);margin-top:12px;max-width:52ch}.ah-tag{font:500 12px var(--body,var(--hv-font-body));color:var(--mut);margin-top:10px}.ah-chip{border:1px solid var(--line);background:var(--field);color:inherit;border-radius:999px;padding:9px 16px;font:700 14px var(--display,var(--hv-font-display));min-height:44px;transition:background .3s var(--ease),border-color .3s var(--ease)}.ah-chip:hover{border-color:var(--acc)}.ah-composer{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 22px;border-radius:999px;background:var(--field);color:var(--tx);border:1px solid var(--line);margin-top:6px}.ah-composer:focus-within{box-shadow:0 0 0 3px var(--acc)}.ah-composer input,.ah-composer textarea{flex:1;min-width:0;border:0;background:transparent;font:500 17px var(--body,var(--hv-font-body));color:inherit;padding:12px 0}.ah-composer input::placeholder,.ah-composer textarea::placeholder{color:var(--mut);opacity:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ah-composer input:focus,.ah-composer textarea:focus{outline:none}.ah-composer button{height:48px;padding:0 26px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);border:0;background:#9a4f22;color:#fff;font:700 16px var(--display,var(--hv-font-display))}:root[data-theme=dark] .ah .ah-composer button{background:#b86530;color:#101719;font-weight:800}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-composer button{background:#b86530;color:#101719;font-weight:800}}.ah-h2{font-size:clamp(1.75rem,3.4vw,2.5rem)!important;line-height:1.02!important;letter-spacing:-.035em!important;font-weight:800!important}.ah-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}.ah-tile{position:relative;display:flex;align-items:flex-end;height:240px;border-radius:24px;background:#cfdcd8;overflow:hidden;padding:20px;text-decoration:none;color:#fff!important}.ah-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.ah-tile:hover img{transform:scale(1.06)}.ah-tile-shade{position:absolute;inset:0;background:#10171952}.ah-tile-in{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;width:100%}.ah-tile-in b{font:800 22px/1.1 var(--display,var(--hv-font-display));letter-spacing:-.02em}.ah-tile-n{font:700 13px var(--display,var(--hv-font-display));background:#fff;color:#101719;border-radius:999px;padding:8px 14px;white-space:nowrap}.ah-canvas{display:flex;flex-direction:column;gap:16px}.ah-moment{display:grid;grid-template-columns:minmax(0,1fr);background:#101719;color:#fff;border-radius:28px;overflow:hidden;border:1px solid #2e3a3d}.ah-moment-cell{padding:22px 26px}.ah-moment.two .ah-moment-cell+.ah-moment-cell{border-left:1px solid #2e3a3d}.ah-moment-k{display:block;font:800 12px var(--display,var(--hv-font-display));letter-spacing:.1em;text-transform:uppercase;color:#b86530}.ah-moment-cell p{font:600 17px/1.45 var(--display,var(--hv-font-display));margin-top:8px;color:#fff}.ah-moment .ah-link{color:#b86530}.ah-next{font:600 17px/1.45 var(--display,var(--hv-font-display))}.ah-thread{list-style:none;margin:0;padding:18px 22px 20px;background:var(--card);border:1px solid var(--line);border-radius:28px;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0 8px}.ah-thread-art{grid-column:1/-1;position:relative;height:64px;margin:0 0 10px}.ah-thread-art svg{width:100%;height:100%;display:block;overflow:visible}.ah-thread-base{stroke:var(--line)}.ah-thread-fill{stroke:#9a4f22}:root[data-theme=dark] .ah .ah-thread-fill{stroke:#b86530}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-thread-fill{stroke:#b86530}}.ah-thread-dot{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--card-solid);box-shadow:inset 0 0 0 4px var(--line)}.ah-thread-dot.is-done{background:#2d5a44;box-shadow:none}:root[data-theme=dark] .ah .ah-thread-dot.is-done{background:#2d5a44}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-thread-dot.is-done{background:#2d5a44}}.ah-thread-dot.is-now{background:#fff;box-shadow:inset 0 0 0 4px #9a4f22}:root[data-theme=dark] .ah .ah-thread-dot.is-now{background:#101719;box-shadow:inset 0 0 0 4px #b86530}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-thread-dot.is-now{background:#101719;box-shadow:inset 0 0 0 4px #b86530}}.ah-thread-step{display:flex;align-items:flex-start;gap:8px;font:700 13px/1.3 var(--display,var(--hv-font-display));color:var(--mut)}.ah-thread-step b{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font:800 12px var(--display,var(--hv-font-display));background:var(--soft);color:var(--mut)}.ah-thread-step.is-done{color:var(--tx2)}.ah-thread-step.is-done b{background:#2d5a44;color:#fff}.ah-thread-step.is-now{color:var(--tx)}.ah-thread-step.is-now b{background:#9a4f22;color:#fff}.ah-panel{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:24px 28px}.ah-panel.dashed{border-style:dashed}.ah-panel.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ah-panel h2{font-size:clamp(1.05rem,1.8vw,1.25rem)}.ah-panel h2.small,.ah h2.small{font:800 12px var(--display,var(--hv-font-display));letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}.ah-pov h2{font:800 12px var(--display,var(--hv-font-display));letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:12px}.ah-pov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 28px}.ah-pov-grid h3{font-size:1.05rem}.ah-pov-grid p{font:500 14px/1.5 var(--body,var(--hv-font-body));color:var(--tx2);margin-top:3px}.ah-recap,.ah-note{font:500 13px/1.5 var(--body,var(--hv-font-body));color:var(--mut)}.ah-note.big{font-size:16px;color:var(--tx2)}.ah-note.foot{margin-top:auto;font-size:12px}.ah-note.why{margin-top:-8px}.ah-callout{background:var(--card);border:1px solid var(--line);border-left:6px solid #9a4f22;border-radius:28px;padding:18px 24px}:root[data-theme=dark] .ah .ah-callout{border-left-color:#b86530}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-callout{border-left-color:#b86530}}.ah-callout b{font:800 16px var(--display,var(--hv-font-display))}.ah-callout p{font:500 14px/1.45 var(--body,var(--hv-font-body));color:var(--tx2);margin-top:3px}.ah-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}.ah-row .count{font:800 clamp(1.25rem,2.4vw,1.75rem) var(--display,var(--hv-font-display));letter-spacing:-.03em}.ah-bar{position:relative;height:34px;margin-top:12px}.ah-bar .ah-trackbar{position:absolute;left:0;right:0;top:15px;height:4px;border-radius:2px;background:var(--line)}.ah-bar .ah-markpin{position:absolute;top:2px;width:3px;height:30px;border-radius:2px;background:var(--tx)}@keyframes ah-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ah-axis{display:flex;justify-content:space-between;font:700 12px var(--display,var(--hv-font-display));color:var(--mut);margin-top:2px}.ah-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;align-content:start}.ah-card{display:flex;flex-direction:column;text-align:left;padding:0;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:28px;overflow:hidden;transition:transform .6s var(--ease),border-color .3s}.ah-card:hover{transform:translateY(-3px)}.ah-card .ah-pic{display:block;aspect-ratio:3/2;background:#e3ebe8;overflow:hidden}:root[data-theme=dark] .ah .ah-card .ah-pic{background:#182124}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-card .ah-pic{background:#182124}}.ah-card .ah-pic img{width:100%;height:100%;object-fit:cover;display:block}.ah-card .ah-cbody{display:flex;flex-direction:column;gap:5px;padding:16px 18px 18px}.ah-card b{font:800 16px var(--display,var(--hv-font-display))}.ah-card .ah-subline{font:500 13px var(--body,var(--hv-font-body));color:var(--mut)}.ah-card .ah-priceline{font:800 22px var(--display,var(--hv-font-display));letter-spacing:-.02em;margin-top:2px}.ah-card small,.ah-focus small{font:500 13px var(--body,var(--hv-font-body));color:var(--mut)}.ah-card .ah-ctag{width:fit-content;font:800 11px var(--display,var(--hv-font-display));letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#9a4f22;border-radius:var(--hv-radius-action,6px 999px 999px 6px);padding:6px 12px}.ah-card .ah-byline{font:500 11px var(--body,var(--hv-font-body));color:var(--mut)}.ah-hoods{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:8px}.ah-chipcard{display:flex;flex-direction:column;gap:3px;text-align:left;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px 16px;transition:border-color .3s,transform .6s var(--ease)}.ah-chipcard:hover{border-color:var(--acc);transform:translateY(-2px)}.ah-chipcard b{font:800 14px var(--display,var(--hv-font-display))}.ah-chipcard span{font:500 12px/1.35 var(--body,var(--hv-font-body));color:var(--mut)}.ah-hood{display:flex;flex-direction:column;gap:12px}.ah-hood h2{font-size:1.5rem}.ah-around{display:flex;gap:22px;flex-wrap:wrap;margin-top:6px}.ah-around b{display:block;font:800 22px var(--display,var(--hv-font-display));letter-spacing:-.02em}.ah-around span{font:500 13px/1.35 var(--body,var(--hv-font-body));color:var(--mut)}.ah-focus{display:flex;flex-direction:column;gap:14px}.ah-crumbs{display:flex;flex-wrap:wrap;gap:2px;align-items:center;font:700 13px var(--display,var(--hv-font-display));color:var(--mut)}.ah-crumbs b{color:var(--tx)}.ah-crumbs i{font-style:normal}.ah-gallery{display:grid;grid-template-columns:1fr;gap:8px;border-radius:28px;overflow:hidden}.ah-gallery.wide{grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,170px))}.ah-gallery img{width:100%;height:100%;object-fit:cover;display:block;min-height:160px}.ah-gallery .ah-mainpic{grid-row:1/3;min-height:240px;max-height:420px}.ah-gallery:not(.wide) .ah-mainpic{max-height:300px}.ah-gallery .ah-nopic{background:#e3ebe8}:root[data-theme=dark] .ah .ah-gallery .ah-nopic{background:#182124}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-gallery .ah-nopic{background:#182124}}.ah-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;align-items:start}.ah-focus h2{font-size:1.5rem}.ah-focus .ah-subline{font:500 14px var(--body,var(--hv-font-body));color:var(--mut);margin-top:4px}.ah-focus .ah-priceline{font:800 32px var(--display,var(--hv-font-display));letter-spacing:-.025em;margin-top:8px}.ah-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:14px 0 0;font:500 14px var(--body,var(--hv-font-body))}.ah-facts dt{color:var(--mut)}.ah-facts dd{margin:0;font-weight:700}.ah-qa{padding-top:10px;margin-top:10px;border-top:1px solid var(--line)}.ah-qa b{font:700 13px var(--display,var(--hv-font-display));color:var(--mut)}.ah-qa p{font:500 16px/1.45 var(--body,var(--hv-font-body));margin-top:3px}.ah-others{display:flex;flex-direction:column;gap:8px}.ah-others>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ah-offer{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.ah-offer b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#9a4f22;color:#fff;font:800 13px var(--display,var(--hv-font-display))}.ah-offer h3{font-size:1rem;margin-top:8px}.ah-offer p{font:500 13px/1.45 var(--body,var(--hv-font-body));color:var(--tx2);margin-top:3px}.ah-stats{display:flex;gap:32px;flex-wrap:wrap;margin:10px 0}.ah-stats b{display:block;font:800 34px var(--display,var(--hv-font-display));letter-spacing:-.03em}.ah-stats span{font:500 13px var(--body,var(--hv-font-body));color:var(--mut)}.ah-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.ah-three p{font:500 15px/1.5 var(--body,var(--hv-font-body));color:var(--tx2);margin-top:6px}.ah-pill{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:700 13px var(--display,var(--hv-font-display))}.ah-status{width:fit-content;border-radius:var(--hv-radius-action,6px 999px 999px 6px);padding:6px 12px;font:800 11px var(--display,var(--hv-font-display));letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--line);color:var(--tx2)}.ah-status.workingtoday{background:#2d5a44;color:#fff;box-shadow:none}.ah-status.beginning{box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc)}.ah-foot{position:fixed;left:0;right:0;bottom:0;z-index:30;min-height:var(--foot);padding:10px clamp(18px,3.4vw,48px) calc(10px + env(safe-area-inset-bottom,0px));background:#101719;border-top:1px solid #2e3a3d;display:flex;flex-direction:column;justify-content:center;gap:4px}.ah-foot .l1{font:700 11px/1.4 var(--display,var(--hv-font-display));color:#f2eee5}.ah-foot .l2{font:500 11px/1.45 var(--body,var(--hv-font-body));color:#a3abab}.ah-foot a{color:#b86530}html:not(.ah-on) .ah-foot{display:none}@media(max-width:1100px){.ah-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.ah{padding-top:calc(88px + env(safe-area-inset-top,0px));--foot:92px}.ah-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ah-hoods,.ah-others>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ah-pov-grid,.ah-focus-grid,.ah-three,.ah-offer{grid-template-columns:1fr}.ah-gallery.wide{grid-template-columns:1fr 1fr;grid-template-rows:auto}.ah-gallery .ah-mainpic{grid-row:auto;grid-column:1/3}.ah-moment.two{grid-template-columns:1fr}.ah-moment.two .ah-moment-cell+.ah-moment-cell{border-left:0;border-top:1px solid #2e3a3d}}@media(max-width:520px){.ah-grid{grid-template-columns:1fr}.ah-stats{gap:20px}}.ah-fallback{background:#101719;color:#f2eee5;padding:120px clamp(18px,5vw,80px) 160px;min-height:100svh}.ah-fallback h1{font-size:clamp(2.4rem,7vw,4rem);letter-spacing:-.04em;line-height:1}.ah-fallback p{margin-top:16px;max-width:52ch;color:#cfd4d4}.ah-fallback ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:24px 0 0}.ah-fallback a{color:#b86530}@media(max-width:520px){.ah-foot .l1,.ah-foot .l2{font-size:10px}.ah{--foot:104px}}.ah-attr{font:500 12px/1.45 var(--body,var(--hv-font-body));color:var(--mut);margin-top:2px}.ah-fb{font:500 13px var(--body,var(--hv-font-body));color:var(--mut);margin-top:6px}.ah-live{display:flex;align-items:center;gap:8px;font:700 13px var(--display,var(--hv-font-display));color:var(--acc);margin-top:8px}.ah-live i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:ah-pulse 1s ease-in-out infinite}@keyframes ah-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.ah-facts+.ah-note{margin-top:12px}.ah-bare{display:grid;gap:6px;margin-bottom:6px}.ah-bare h2{font-size:1rem}.ah-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .6s var(--ease),border-color .3s;position:relative}.ah-tilt:hover{border-color:var(--acc)}.ah-tilt:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--gx,50%) var(--gy,50%),rgb(184 101 48 /.18),transparent 60%);opacity:0;transition:opacity .3s}.ah-tilt:hover:after{opacity:1}.ah-skel{pointer-events:none;animation:ah-rise .7s both}.ah-skel .ah-pic{background:linear-gradient(100deg,var(--soft) 30%,var(--line) 50%,var(--soft) 70%);background-size:220% 100%;animation:ah-shim 1.3s linear infinite}.ah-skel .ah-cbody i{display:block;height:12px;border-radius:6px;margin:8px 0;background:linear-gradient(100deg,var(--soft) 30%,var(--line) 50%,var(--soft) 70%);background-size:220% 100%;animation:ah-shim 1.3s linear infinite}.ah-skel .ah-cbody i:nth-child(2){width:70%}.ah-skel .ah-cbody i:nth-child(3){width:40%}@keyframes ah-shim{0%{background-position:120% 0}to{background-position:-120% 0}}.ah-work{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.ah-work li{display:flex;align-items:center;gap:8px;font:700 13px var(--display,var(--hv-font-display));color:var(--acc)}.ah-work i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:ah-pulse 1s ease-in-out infinite}.ah-work span{letter-spacing:.2em;animation:ah-pulse 1s ease-in-out infinite}.ah-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;font:600 14px var(--body,var(--hv-font-body));color:var(--mut)}.ah-preview b{font:700 14px var(--display,var(--hv-font-display));padding:8px 16px;border-radius:999px;background:transparent;color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}.ah-try-n{font:800 clamp(2rem,4vw,2.8rem) var(--display,var(--hv-font-display));letter-spacing:-.03em;margin:4px 0}.ah-try-n small{font:700 14px var(--display,var(--hv-font-display));opacity:.7}.ah-try input[type=range]{width:100%;accent-color:#9a4f22;margin:6px 0 10px}:root[data-theme=dark] .ah .ah-try input[type=range]{accent-color:#b86530}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ah .ah-try input[type=range]{accent-color:#b86530}}.ah-go{justify-self:start;border:0;border-radius:var(--hv-radius-action,6px 999px 999px 6px);background:#9a4f22;color:#fff;font:700 15px var(--display,var(--hv-font-display));padding:13px 24px;min-height:48px}.ah-scene{display:grid;gap:14px;margin-bottom:16px}.ah-scene-pic{position:relative;aspect-ratio:16/7;min-height:200px;border-radius:28px;overflow:hidden;background:#182124}.ah-scene-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:ah-kb 14s ease-in-out infinite alternate}.ah-scene-shade{position:absolute;inset:0;background:#10171980}.ah-scene-pic h2{position:absolute;left:clamp(16px,3vw,28px);bottom:clamp(14px,2.4vw,24px);right:16px;font:800 clamp(1.5rem,3.4vw,2.4rem)/1.05 var(--display,var(--hv-font-display));letter-spacing:-.03em;color:#fff;margin:0}.ah-scene-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0}.ah-scene-facts div{padding:14px 18px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);animation:ah-rise .7s var(--ease) both}.ah-scene-facts dt{font:800 11px var(--display,var(--hv-font-display));letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}.ah-scene-facts dd{margin:4px 0 0;font:700 15px/1.35 var(--display,var(--hv-font-display))}.ah-scene-follow{display:flex;flex-wrap:wrap;gap:8px}@keyframes ah-kb{0%{transform:scale(1.04) translate(0)}to{transform:scale(1.12) translate(-1.4%,-1%)}}.ah-back{align-self:flex-start;border:0;background:none;color:inherit;font:700 13px var(--display,var(--hv-font-display));padding:4px 0;min-height:32px;opacity:.85;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ah-back:hover{opacity:1;color:var(--acc)}.ah-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 4px}.ah-steps .ah-back{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--hv-radius-action,6px 999px 999px 6px);text-decoration:none;opacity:1;background:var(--card-solid)}.ah-steps .ah-back:hover{border-color:var(--acc)}.ah-steps .ah-link{min-height:44px}.ah-stepname{font:700 12px/1.2 var(--display,var(--hv-font-display));letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}.ah-endact{display:flex;flex-wrap:wrap;gap:10px}.ah-go.alt{background:none;color:inherit;box-shadow:inset 0 0 0 1.5px var(--tx)}.ah-sign{margin-top:14px}.ah-sign .ah-go{display:inline-flex;align-items:center;text-decoration:none;color:#fff}.ah-sign .ah-go:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:640px){.ah-h2{font-size:34px!important}.ah-tiles{grid-template-columns:1fr 1fr;gap:12px}.ah-tile{height:180px;padding:14px}.ah-tile-in{flex-direction:column;align-items:flex-start}.ah-reply{flex-direction:column;gap:8px}.ah-reply .said{max-width:none}.ah-say.big{font-size:1.4rem;line-height:1.2}.ah-thread{padding:14px 14px 16px}.ah-thread-step{font-size:11px;flex-direction:column;gap:4px}}.ah-status.rust{background:#9a4f22;color:#fff;box-shadow:none}@media(prefers-reduced-motion:reduce){.rise,.ah-scene-pic img,.ah-scene-facts div,.ah-live i,.ah-skel,.ah-skel .ah-pic,.ah-skel .ah-cbody i,.ah-work i,.ah-work span{animation:none!important}.ah-card,.ah-chipcard,.ah-tile img{transition:none}.ah-tilt{transform:none}}.ah-conv{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;max-width:780px}.ah-turn{display:grid;gap:6px;padding:16px 20px;border-radius:24px;max-width:88%;min-width:0}.ah-turn p{margin:0;line-height:1.5;font:500 16px/1.5 var(--body,var(--hv-font-body))}.ah-who{font:700 11px/1 var(--display,var(--hv-font-display));letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}.ah-turn.havlo,.ah-turn.decision,.ah-turn.statement{background:var(--card-solid);border-top-left-radius:6px;justify-self:start}.ah-turn.owner{background:var(--chip);border-top-right-radius:6px;justify-self:end}.ah-turn.owner .ah-who{color:var(--mut)}.ah-turn.note{max-width:100%;background:none;padding:12px 0 0;border-radius:0;border-top:1px solid var(--line);color:var(--mut)}.ah-turn.note .ah-who{color:var(--mut)}.ah-turn.decision,.ah-turn.statement{width:min(100%,560px);max-width:100%}.ah-conv-card{display:grid;gap:12px;background:var(--field);border:1px solid var(--line);border-radius:20px;padding:18px}.ah-conv-title{font:800 18px/1.2 var(--display,var(--hv-font-display))!important;letter-spacing:-.01em}.ah-conv-card dl{display:grid;gap:8px;margin:0}.ah-conv-card dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.ah-conv-card dt{color:var(--mut)}.ah-conv-card dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.ah-conv-card dl .keep{border-bottom:0;padding-bottom:0;font-weight:800}.ah-conv-btns{display:flex;gap:8px;flex-wrap:wrap;margin:0}.ah-conv-btns span{padding:9px 16px;border-radius:6px 999px 999px 6px;background:var(--acc);color:#101719;font:700 14px var(--display,var(--hv-font-display))}:root[data-theme=light] .ah .ah-conv-btns span{color:#fff}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .ah .ah-conv-btns span{color:#fff}}.ah-conv-btns span.alt{background:none;color:var(--tx);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px}@media(max-width:640px){.ah-turn{max-width:100%}.ah-conv-card dl div{flex-direction:column;gap:2px}.ah-conv-card dd{text-align:left}}.ah-convwrap{margin-top:28px;max-width:780px;border:1px solid var(--line);border-radius:32px;background:var(--card);overflow:hidden}.ah-convbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line)}.ah-live{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 var(--display,var(--hv-font-display));letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.ah-live i{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:ah-pulse 1.8s ease-in-out infinite}@keyframes ah-pulse{0%,to{opacity:.35}50%{opacity:1}}.ah-convwrap .ah-conv{margin:0;max-width:none;min-height:300px;padding:20px;align-content:start}.ah-typing p{display:flex;gap:5px;padding:4px 0;height:18px;align-items:center}.ah-typing i{width:7px;height:7px;border-radius:50%;background:var(--mut);animation:ah-dot 1s ease-in-out infinite}.ah-typing i:nth-child(2){animation-delay:.15s}.ah-typing i:nth-child(3){animation-delay:.3s}@keyframes ah-dot{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-3px);opacity:1}}@media(prefers-reduced-motion:reduce){.ah-live i,.ah-typing i{animation:none}.ah-convwrap .ah-conv{scroll-behavior:auto}}.ah-mf{list-style:none;margin:8px 0 0;padding:0;display:grid}.ah-mf li{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.ah-mf li:first-child{border-top:0}.ah-mf span{font-size:1rem;line-height:1.5;color:var(--tx)}.ah-mf small{font-size:.8125rem;color:var(--mut)}.ah-why{display:grid;gap:2px;margin-top:4px}.ah-why i{font-style:normal;font-size:.75rem;line-height:1.3;padding-left:12px;position:relative;opacity:.86}.ah-why i:before{content:"";position:absolute;left:1px;top:.45em;width:6px;height:6px;border-radius:50%;background:var(--acc)}.ah-notes{margin:6px 0 10px;padding:0;list-style:none;display:grid;gap:4px;font-size:.8125rem;opacity:.8}.ah-notes li{padding-left:12px;position:relative}.ah-notes li:before{content:"•";position:absolute;left:0;color:var(--acc)}.ah-fh{display:grid;gap:6px;margin:6px 0 12px;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent);font-size:.875rem;line-height:1.45}.ah-fh p{margin:0}.ah-fh .ah-fhfact{opacity:.82}.ah-fh a{color:var(--acc);text-underline-offset:3px}.ah-alts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.ah-gallery{display:block;border-radius:24px;overflow:hidden}.ah-photo-stage{position:relative;touch-action:pan-y;background:var(--panel,#182124)}.ah-photo-open{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.ah-gallery .ah-photo-stage .ah-mainpic{width:100%;height:clamp(220px,40vw,440px);max-height:none;min-height:0;object-fit:cover}.ah-photo-prev,.ah-photo-next,.ah-photo-expand,.ah-photo-close{position:absolute;z-index:2;border:1px solid #ffffff70;background:#101719e8;color:#fff;cursor:pointer;font-family:inherit}.ah-photo-prev,.ah-photo-next{top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1}.ah-photo-prev{left:12px}.ah-photo-next{right:12px}.ah-photo-expand{right:12px;bottom:12px;padding:10px 14px;border-radius:999px;font-size:14px}.ah-photo-count{position:absolute;left:12px;bottom:12px;background:#101719e8;color:#fff;border-radius:999px;padding:8px 12px;font-size:14px;pointer-events:none}.ah-photo-thumbs{display:flex;gap:8px;padding:10px;background:var(--panel,#fff);overflow-x:auto;max-width:100%;scrollbar-width:thin}.ah-photo-thumbs button{flex:0 0 76px;width:76px;height:58px;border:2px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:var(--field);cursor:pointer}.ah-photo-thumbs button[aria-pressed=true]{border-color:var(--acc,#b86530)}.ah-gallery .ah-photo-thumbs img{width:100%;height:100%;min-height:0;object-fit:cover}.ah-photo-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:60px 12px 12px;border:0;background:#101719;color:#fff;box-sizing:border-box}.ah-photo-dialog::backdrop{background:#101719ed}.ah-photo-dialog[open]{display:flex;flex-direction:column;gap:10px}.ah-photo-dialog .ah-photo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.ah-gallery .ah-photo-dialog .ah-photo-stage img{width:100%;height:100%;min-height:0;object-fit:contain}.ah-photo-dialog .ah-photo-thumbs{flex-shrink:0;background:#182124}.ah-photo-close{top:10px;right:12px;height:40px;padding:0 16px;border-radius:999px;font-size:15px}.ah-gallery button:focus-visible{outline:3px solid var(--acc,#b86530);outline-offset:2px}@media(max-width:600px){.ah-gallery .ah-photo-stage .ah-mainpic{height:260px}.ah-photo-thumbs button{flex-basis:64px;width:64px;height:50px}.ah-photo-dialog{padding-left:6px;padding-right:6px}}.ah-composer textarea{resize:none;min-height:24px;max-height:240px;overflow-y:auto;line-height:1.4}.ah.is-focus{padding-bottom:0}.ah.is-focus .ah-canvas,.ah.is-focus .ah-focus{display:contents}.ah.is-focus .ah-focus-top{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:14px;min-width:0}.ah.is-focus .ah-focus-below{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:16px;min-width:0}.ah.is-focus{overflow-x:clip}.ah.is-focus .ah-photo-stage,.ah.is-focus .ah-photo-thumbs button{background:var(--hv-chip)}.ah-foot.inline{position:static;min-height:0;margin-top:0;border-top:1px solid #2e3a3d}@media(max-width:980px){.ah.is-focus .ah-focus-below{display:contents}.ah.is-focus .ah-focus-top,.ah.is-focus .ah-focus-below>*{grid-column:1;grid-row:auto}.ah.is-focus .ah-focus-top{order:1}.ah.is-focus .ah-focus-below>.hv-glance{order:2}.ah.is-focus .ah-focus-below>:not(.hv-glance){order:4}}.ah.is-focus .ah-others>div{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ah.is-focus .ah-focus .ah-gallery .ah-photo-stage .ah-mainpic{height:clamp(240px,34vw,440px)}.ah.is-focus .ah-composer{border-radius:32px}.ah.is-focus .ah-composer textarea{font-size:16px;line-height:1.3;padding:6px 0;min-height:48px;box-sizing:border-box}a.ah-chip{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.ah-r2p figure{margin:14px 0 0}.ah-r2p figcaption{font:700 13px var(--body,var(--hv-font-body));color:var(--mut);margin:0 0 8px}.ah-r2p ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ah-r2p li{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) 64px;align-items:center;gap:10px;font:500 14px var(--body,var(--hv-font-body))}.ah-r2p-year li{grid-template-columns:minmax(140px,220px) minmax(0,1fr) 84px}.ah-r2p li a{color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-r2p li a:hover{text-decoration:underline}.ah-r2p .bar{position:relative;height:12px;border-radius:999px;background:color-mix(in srgb,currentColor 8%,transparent);overflow:hidden}.ah-r2p .bar i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:color-mix(in srgb,currentColor 38%,transparent);transition:width .7s cubic-bezier(.22,1,.36,1)}.ah-r2p li.me{font-weight:800}.ah-r2p li.me .bar i{background:var(--hv-rust-strong,#9a4f22)}.ah-r2p li b{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:520px){.ah-r2p li{grid-template-columns:96px minmax(0,1fr) 54px;font-size:13px}.ah-r2p-year li{grid-template-columns:120px minmax(0,1fr) 72px}}@media(prefers-reduced-motion:reduce){.ah-r2p .bar i{transition:none}}.ah-searchbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 16px}.ah-seg{display:inline-flex;padding:4px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}.ah-seg button{all:unset;cursor:pointer;padding:9px 16px;border-radius:999px;font:700 14px var(--display,var(--hv-font-display))}.ah-seg button.on{background:var(--hv-ink,#101719);color:var(--hv-paper,#fbf9f4)}.ah-seg button:focus-visible{outline:2px solid var(--hv-rust-strong,#9a4f22);outline-offset:2px}.ah-quick{display:inline-flex;flex-wrap:wrap;gap:6px}.ah-own-differs{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px;max-width:760px}.ah-own-differs li{position:relative;padding-left:28px;line-height:1.5}.ah-own-differs li:before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:3px 999px 999px 3px;background:var(--hv-rust-strong,#9a4f22)}

/* ---- havlo-site-std-chrome.css ---- */
/* The Havlo standard: site chrome (header pill, menu, footer, cookie banner, ticker). Loaded after the standard base layer (havlo-site-std-base.css). Spec: docs/design/standard/ (Main, Footer, Standard section 4). Use tokens from havlo-tokens.css.
   Day is the default; Night follows prefers-color-scheme unless the page says otherwise, or when the switch says dark.
   Rules are written once against --c-* variables; the variables change per theme. The :root:root:root:root prefix keeps the chrome above the base layer. */

:root{
  --c-pill:#fbf9f4; --c-pill-fg:#101719; --c-pill-hover:rgb(16 23 25 / .07); --c-pill-on:rgb(16 23 25 / .1);
  --c-pill-shadow:0 8px 32px rgb(0 0 0 / .25); --c-pill-ring:transparent;
  --c-panel:#ffffff; --c-panel-line:#e4ddd0; --c-panel-shadow:0 18px 48px -12px rgb(16 23 25 / .28); --c-panel-muted:#4a5557; --c-rust:#9a4f22; --c-on-rust:#ffffff;
  --c-seg:rgb(16 23 25 / .07); --c-seg-on:#101719; --c-seg-on-fg:#ffffff;
  --c-menu:#ffffff; --c-menu-fg:#101719; --c-menu-line:#dfe5e3; --c-menu-head:#9a4f22; --c-menu-hover:#9a4f22;
  --c-foot:#ffffff; --c-foot-fg:#101719; --c-foot-muted:#4a5557; --c-foot-line:#dfe5e3; --c-foot-head:#9a4f22; --c-foot-dot:#9a4f22; --c-foot-field:#ffffff; --c-foot-field-line:rgb(16 23 25 / .28); --c-foot-ok:#2d5a44;
  --c-ck:#ffffff; --c-ck-fg:#101719; --c-ck-muted:#4a5557; --c-ck-line:#cfdcd8; --c-ck-btn:#ffffff; --c-ck-shadow:0 12px 40px rgb(16 23 25 / .18);
  --c-focus:#9a4f22;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --c-pill:rgb(24 33 36 / .96); --c-pill-fg:#f2eee5; --c-pill-hover:rgb(242 238 229 / .1); --c-pill-on:rgb(242 238 229 / .16);
    --c-pill-shadow:0 8px 32px rgb(0 0 0 / .45); --c-pill-ring:#2e3a3d;
    --c-panel:#182124; --c-panel-line:#2e3a3d; --c-panel-shadow:0 18px 48px -12px rgb(0 0 0 / .6); --c-panel-muted:#a3abab; --c-rust:#9a4f22; --c-on-rust:#ffffff;
    --c-seg:rgb(242 238 229 / .08); --c-seg-on:#f2eee5; --c-seg-on-fg:#101719;
    --c-menu:#101719; --c-menu-fg:#f2eee5; --c-menu-line:#2e3a3d; --c-menu-head:#b86530; --c-menu-hover:#b86530;
    --c-foot:#101719; --c-foot-fg:#f2eee5; --c-foot-muted:#a3abab; --c-foot-line:#2e3a3d; --c-foot-head:#b86530; --c-foot-dot:#b86530; --c-foot-field:#182124; --c-foot-field-line:#2e3a3d; --c-foot-ok:#9fd1b5;
    --c-ck:#182124; --c-ck-fg:#f2eee5; --c-ck-muted:#a3abab; --c-ck-line:#2e3a3d; --c-ck-btn:#182124; --c-ck-shadow:0 12px 40px rgb(0 0 0 / .5);
    --c-focus:#b86530;
  }
}
:root[data-theme="dark"]{
  --c-pill:rgb(24 33 36 / .96); --c-pill-fg:#f2eee5; --c-pill-hover:rgb(242 238 229 / .1); --c-pill-on:rgb(242 238 229 / .16);
  --c-pill-shadow:0 8px 32px rgb(0 0 0 / .45); --c-pill-ring:#2e3a3d;
    --c-panel:#182124; --c-panel-line:#2e3a3d; --c-panel-shadow:0 18px 48px -12px rgb(0 0 0 / .6); --c-panel-muted:#a3abab; --c-rust:#9a4f22; --c-on-rust:#ffffff;
  --c-seg:rgb(242 238 229 / .08); --c-seg-on:#f2eee5; --c-seg-on-fg:#101719;
  --c-menu:#101719; --c-menu-fg:#f2eee5; --c-menu-line:#2e3a3d; --c-menu-head:#b86530; --c-menu-hover:#b86530;
  --c-foot:#101719; --c-foot-fg:#f2eee5; --c-foot-muted:#a3abab; --c-foot-line:#2e3a3d; --c-foot-head:#b86530; --c-foot-dot:#b86530; --c-foot-field:#182124; --c-foot-field-line:#2e3a3d; --c-foot-ok:#9fd1b5;
  --c-ck:#182124; --c-ck-fg:#f2eee5; --c-ck-muted:#a3abab; --c-ck-line:#2e3a3d; --c-ck-btn:#182124; --c-ck-shadow:0 12px 40px rgb(0 0 0 / .5);
  --c-focus:#b86530;
}

/* ---------- Header: the quiet bar (CEO 2026-10-13). Flat, full width, one hairline under it: the wordmark, five words, one
   orange action, then a compact cluster (Day/Night, Sign in, Talk to a person). Solid Paper (Day) or Ink 2 (Night).
   Once the page moves it condenses: the wordmark steps back to the H, the words close in, the bar rises. Transforms and
   opacity only, so nothing on the page moves with it. ---------- */
:root{--nav-h:72px;--nav-slim:58px}
:root:root:root:root .nav{position:fixed;top:0;left:0;right:0;transform:none;width:auto;max-width:none;height:calc(var(--nav-h) + env(safe-area-inset-top,0px));margin:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;padding:env(safe-area-inset-top,0px) max(20px,calc((100% - var(--hv-max,1200px)) / 2)) 0;border-radius:0;background:var(--c-pill);color:var(--c-pill-fg);box-shadow:inset 0 -1px 0 var(--c-panel-line);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:70}
:root:root:root:root .nav>*{transition:transform .45s var(--hv-ease,cubic-bezier(.22,1,.36,1)),opacity .45s var(--hv-ease,cubic-bezier(.22,1,.36,1))}
:root:root:root:root .nav .logo{width:104px;margin:0 22px 0 0;color:var(--c-pill-fg);flex-shrink:0;display:block}
:root:root:root:root .nav .logo svg{display:block;width:104px;height:auto}
:root:root:root:root .nav .logo svg path:not(.logo-h),:root:root:root:root .nav .logo svg rect{transition:opacity .35s var(--hv-ease,ease)}
:root:root:root:root .nav-links{display:flex;align-items:center;gap:0}
:root:root:root:root .nav a.l{font:600 .9375rem/1 var(--display);padding:12px 10px;border-radius:var(--hv-radius-control,8px);color:var(--c-pill-fg);text-decoration:none;background:none;transition:color .3s}
:root:root:root:root .nav a.l:hover{color:var(--c-rust)}
:root:root:root:root .nav a.l.on,:root:root:root:root .nav a.l[aria-current]{background:none;box-shadow:inset 0 -2px 0 var(--c-rust)}
:root:root:root:root .nav-end{display:flex;align-items:center;gap:6px;margin-left:auto}
/* "Search homes" is the one primary action: Havlo orange and the action corner. */
:root:root:root:root .nav .nav-search{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);background:var(--c-rust);color:var(--c-on-rust);font:700 .9375rem/1 var(--display);white-space:nowrap;text-decoration:none;transition:filter .3s}
:root:root:root:root .nav .nav-search:hover{filter:brightness(1.08)}
/* The utility cluster: small, quiet, after a hairline. */
:root:root:root:root .nav-util{display:flex;align-items:center;gap:2px;margin-left:10px;padding-left:10px;box-shadow:inset 1px 0 0 var(--c-panel-line)}
:root:root:root:root .nav .talk{min-height:40px;padding:0 10px;border:0;border-radius:var(--hv-radius-control,8px);background:none;color:var(--c-pill-fg);font:600 .8125rem/1 var(--display);white-space:nowrap;cursor:pointer;transition:color .3s}
:root:root:root:root .nav .talk:hover{color:var(--c-rust)}
:root:root:root:root .nav .menu-btn{display:none;min-height:42px;padding:0 16px;border:0;border-radius:var(--hv-radius-control,8px);background:var(--c-seg);color:var(--c-pill-fg);font:700 .9375rem/1 var(--display);cursor:pointer}
/* Condensed: the bar rises by the difference and its contents settle back to its middle. */
:root:root:root:root.nav-slim .nav{transform:translateY(calc(var(--nav-slim) - var(--nav-h)))}
:root:root:root:root.nav-slim .nav>*{transform:translateY(calc((var(--nav-h) - var(--nav-slim)) / 2))}
:root:root:root:root.nav-slim .nav .logo svg path:not(.logo-h),:root:root:root:root.nav-slim .nav .logo svg rect{opacity:0}
:root:root:root:root.nav-slim .nav .nav-links{transform:translate(-74px,calc((var(--nav-h) - var(--nav-slim)) / 2))}
:root:root:root:root.nav-slim .nav a.l{font-size:.875rem}
@media (prefers-reduced-motion:reduce){:root:root:root:root .nav>*,:root:root:root:root .nav .logo svg path{transition:none}}
/* The H draws itself once per visit, in under half a second (havlo-theme.js decides it before the first paint). */
@media (prefers-reduced-motion:no-preference){
  :root:root:root:root.hv-draw .nav .logo .logo-h{stroke:currentColor;stroke-width:9;stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0;animation:hv-h-draw .46s var(--hv-ease,cubic-bezier(.22,1,.36,1)) forwards}
}
@keyframes hv-h-draw{65%{stroke-dashoffset:0;fill-opacity:0;stroke-width:9}100%{stroke-dashoffset:0;fill-opacity:1;stroke-width:0}}
:root:root:root:root .nav :focus-visible,:root:root:root:root .site-menu :focus-visible,:root:root:root:root footer:not(.ah-foot) :focus-visible,:root:root:root:root .ck :focus-visible{outline:2px solid var(--c-focus);outline-offset:3px}
/* Dropdown groups: a link to the page, an arrow that opens its panel, and the panel itself (solid, absolute, so nothing moves when it opens). */
:root:root:root:root .nv{position:relative;display:flex;align-items:center;border-radius:999px}
:root:root:root:root .nv>a.l{padding-right:4px}
:root:root:root:root .nv.on>a.l{background:var(--c-pill-on)}
:root:root:root:root .nv-t{display:inline-flex;align-items:center;justify-content:center;width:28px;height:36px;margin-right:2px;padding:0;border:0;border-radius:999px;background:none;color:var(--c-pill-fg);cursor:pointer}
:root:root:root:root .nv-t svg{width:10px;height:6px;transition:transform .2s}
:root:root:root:root .nv-t[aria-expanded="true"] svg{transform:rotate(180deg)}
:root:root:root:root .nv-t:hover{background:var(--c-pill-hover)}
:root:root:root:root .nv-p{position:absolute;top:calc(100% + 14px);left:-12px;z-index:5;width:max-content;min-width:320px;max-width:360px;display:grid;gap:2px;padding:8px;border-radius:20px;background:var(--c-panel);color:var(--c-pill-fg);box-shadow:var(--c-panel-shadow),inset 0 0 0 1px var(--c-panel-line);animation:hv-panel-in .18s ease-out}
:root:root:root:root .nv-p[hidden]{display:none}
:root:root:root:root .nv-p::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
:root:root:root:root .nv:last-child .nv-p{left:auto;right:-12px}
:root:root:root:root .nv-i{display:grid;gap:3px;padding:11px 14px;border-radius:14px;color:var(--c-pill-fg);text-decoration:none}
:root:root:root:root .nv-i b{font:700 .9375rem/1.2 var(--display)}
:root:root:root:root .nv-i span{font:400 .8125rem/1.4 var(--hv-font-body,var(--display));color:var(--c-panel-muted)}
:root:root:root:root .nv-i:hover,:root:root:root:root .nv-i:focus-visible{background:var(--c-pill-hover)}
:root:root:root:root .nv-i[aria-current="page"]{background:var(--c-pill-on);box-shadow:inset 3px 0 0 var(--c-rust)}
:root:root:root:root .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes hv-panel-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
:root:root:root:root .fee-anchor{display:block;height:0;scroll-margin-top:110px}
@media (max-width:1240px){
  :root:root:root:root .nav .logo{width:92px;margin-right:12px}
  :root:root:root:root .nav .logo svg{width:92px}
  :root:root:root:root .nav a.l{font-size:.875rem;padding:11px 6px 11px 8px}
  :root:root:root:root .nav .nav-search{padding:0 16px;font-size:.875rem}
  :root:root:root:root.nav-slim .nav .nav-links{transform:translate(-64px,calc((var(--nav-h) - var(--nav-slim)) / 2))}
}
@media (max-width:1120px){
  :root:root:root:root .nav-links,:root:root:root:root .nav-util{display:none}
  :root:root:root:root .nav .menu-btn{display:inline-flex;align-items:center}
}
@media (max-width:1120px){:root{--nav-h:64px;--nav-slim:56px}}
@media (max-width:480px){:root:root:root:root .nav .nav-search{display:none}}

/* ---------- Menu panel (phones and tablets) ---------- */
:root:root:root:root .site-menu{background:var(--c-menu);color:var(--c-menu-fg);backdrop-filter:none;-webkit-backdrop-filter:none;animation:hv-menu-in .6s cubic-bezier(.22,1,.36,1)}
:root:root:root:root .site-menu{overflow-y:auto;overscroll-behavior:contain;padding-top:calc(88px + env(safe-area-inset-top,0px));padding-bottom:0}
:root:root:root:root .sm-in{gap:0;max-width:680px;min-height:100%;align-content:start}
:root:root:root:root .sm-search{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0 0 22px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);background:var(--c-rust);color:var(--c-on-rust);font:800 1rem/1 var(--display);text-decoration:none}
:root:root:root:root .sm-group{gap:0;padding:16px 0;border-top:1px solid var(--c-menu-line)}
:root:root:root:root .sm-h{margin:0 0 6px;font:800 .75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--c-menu-head)}
:root:root:root:root .sm-i{display:grid;gap:2px;padding:9px 0;color:var(--c-menu-fg);text-decoration:none}
:root:root:root:root .sm-i b{font:700 1.0625rem/1.25 var(--display);letter-spacing:-.01em}
:root:root:root:root .sm-i span{font:400 .875rem/1.4 var(--hv-font-body,var(--display));color:var(--c-panel-muted)}
:root:root:root:root .sm-i[aria-current="page"]{box-shadow:inset 3px 0 0 var(--c-rust);padding-left:12px}
:root:root:root:root .sm-i:hover b{color:var(--c-menu-hover)}
:root:root:root:root .sm-foot{position:sticky;bottom:0;margin-top:auto;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:var(--c-menu);border-top:1px solid var(--c-menu-line)}
:root:root:root:root .sm-foot .theme{display:flex;gap:2px;margin:0;padding:3px;border-radius:999px;background:var(--c-seg)}
:root:root:root:root .sm-foot .theme button{color:var(--c-menu-fg)}
:root:root:root:root .sm-foot .theme button[aria-pressed="true"]{background:var(--c-seg-on);color:var(--c-seg-on-fg)}
:root:root:root:root .sm-foot .btn{min-height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--c-seg);color:var(--c-menu-fg);font:800 .9375rem/1 var(--display);cursor:pointer;box-shadow:none}
@keyframes hv-menu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}

/* ---------- Footer: ticker, brand and columns, legal bar ---------- */
:root:root:root:root footer:not(.ah-foot){background:var(--c-foot);color:var(--c-foot-muted);border-top:1px solid var(--c-foot-line);padding:0 0 calc(32px + env(safe-area-inset-bottom,0px));font-size:.9375rem;position:relative;z-index:3}
.hv-ticker{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--c-foot-line);padding:22px 0}
.hv-track{display:inline-flex;align-items:center;gap:48px;padding-right:48px;font:700 .9375rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--c-foot-muted);will-change:transform;animation:hv-marquee 32s linear infinite}
.hv-track i{font-style:normal;color:var(--c-foot-dot)}
@keyframes hv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
:root:root:root:root footer:not(.ah-foot) .foot{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(0,4fr);gap:40px;align-items:start;padding-top:64px}
:root:root:root:root footer:not(.ah-foot) .foot .logo{width:150px;color:var(--c-foot-fg)}
:root:root:root:root footer:not(.ah-foot) .foot .logo svg{width:100%;height:auto;display:block}
:root:root:root:root footer:not(.ah-foot) .foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 40px}
:root:root:root:root footer:not(.ah-foot) .foot-cols nav{display:grid;gap:0;align-content:start;font-size:.9375rem;line-height:2.1}
:root:root:root:root footer:not(.ah-foot) .foot-cols .fh,:root:root:root:root footer:not(.ah-foot) .foot-signup .fh{margin:0 0 6px;font:800 .75rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--c-foot-head)}
:root:root:root:root footer:not(.ah-foot) .foot a{color:var(--c-foot-fg);text-decoration:none;text-underline-offset:3px}
:root:root:root:root footer:not(.ah-foot) .foot a:hover{text-decoration:underline}
:root:root:root:root footer:not(.ah-foot) .foot-signup{grid-column:1/-1;border-top:1px solid var(--c-foot-line);padding-top:28px;color:var(--c-foot-fg)}
:root:root:root:root footer:not(.ah-foot) .foot-signup>p:not(.fh){color:var(--c-foot-muted)}
:root:root:root:root footer:not(.ah-foot) .foot-signup .consent{color:var(--c-foot-muted)}
:root:root:root:root footer:not(.ah-foot) .foot-signup .signup-msg{color:var(--c-foot-ok)}
:root:root:root:root footer:not(.ah-foot) .foot-signup .signup input[type=email]{background:var(--c-foot-field);color:var(--c-foot-fg);box-shadow:inset 0 0 0 1.5px var(--c-foot-field-line)}
:root:root:root:root footer:not(.ah-foot) .foot-signup .signup input[type=email]::placeholder{color:var(--c-foot-muted)}
:root:root:root:root footer:not(.ah-foot) .legal{grid-column:1/-1;border-top:1px solid var(--c-foot-line);padding-top:24px;display:grid;gap:8px;font-size:.8125rem;line-height:1.6;color:var(--c-foot-muted)}
:root:root:root:root footer:not(.ah-foot) .legal strong{color:var(--c-foot-fg);font-weight:700}
:root:root:root:root footer:not(.ah-foot) .legal a{color:var(--c-foot-fg);text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){
  :root:root:root:root footer:not(.ah-foot) .foot{grid-template-columns:1fr}
  :root:root:root:root footer:not(.ah-foot) .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  :root:root:root:root footer:not(.ah-foot) .foot{padding-top:44px;gap:32px}
  :root:root:root:root footer:not(.ah-foot) .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hv-ticker{padding:16px 0}
}

/* ---------- Cookie banner: Customize / Reject all / Accept all, action corner ---------- */
:root:root:root:root .ck{position:fixed;left:16px;right:16px;bottom:16px;max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;background:var(--c-ck);color:var(--c-ck-fg);border:1px solid var(--c-ck-line);border-radius:28px;padding:22px 28px;box-shadow:var(--c-ck-shadow);font:500 .9375rem/1.55 var(--body);animation:hv-ck-in .7s cubic-bezier(.22,1,.36,1)}
:root:root:root:root .ck[hidden]{display:none}
:root:root:root:root .ck>p{margin:0;color:var(--c-ck-muted);flex:1 1 420px;max-width:760px}
:root:root:root:root .ck>.ck-h{display:block;flex:1 0 100%;max-width:none;margin:0 0 -8px;font:800 1.125rem/1.3 var(--display);color:var(--c-ck-fg)}
:root:root:root:root .ck a{color:var(--c-ck-fg);font-weight:600;text-decoration:underline;text-underline-offset:3px}
:root:root:root:root .ck-opts{flex:1 0 100%;display:grid;gap:10px;margin:0;color:var(--c-ck-fg)}
:root:root:root:root .ck-opts[hidden]{display:none}
:root:root:root:root .ck-opts input{accent-color:#9a4f22}
:root:root:root:root .ck-none{color:var(--c-ck-muted)}
:root:root:root:root .ck-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-shrink:0}
:root:root:root:root .ck .ck-link,:root:root:root:root .ck .ck-ok{min-height:50px;padding:0 24px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);font:700 .9375rem/1 var(--display);text-decoration:none;cursor:pointer;transition:background .6s cubic-bezier(.22,1,.36,1)}
:root:root:root:root .ck .ck-link{border:1.5px solid var(--c-ck-line);background:var(--c-ck-btn);color:var(--c-ck-fg)}
:root:root:root:root .ck .ck-ok{border:0;background:#9a4f22;color:#ffffff;font-weight:800}
:root:root:root:root .ck .ck-ok:hover{background:#9a4f22}
:root:root:root:root .ck .ck-ok.ck-eq{border:1.5px solid var(--c-ck-fg);background:var(--c-ck-btn);color:var(--c-ck-fg)}
:root:root:root:root .ck .ck-ok.ck-eq:hover{background:var(--c-ck-btn)}
:root:root:root:root .ck .ck-link[hidden],:root:root:root:root .ck .ck-ok[hidden]{display:none}
body:has(#ck:not([hidden])) .ck{bottom:16px}
@keyframes hv-ck-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  :root:root:root:root .ck{left:8px;right:8px;bottom:8px;padding:18px;border-radius:24px;font-size:.875rem;line-height:1.5}
  body:has(#ck:not([hidden])) .ck{bottom:8px}
  :root:root:root:root .ck-row{width:100%}
  :root:root:root:root .ck .ck-link,:root:root:root:root .ck .ck-ok{flex:1 1 auto;min-height:46px;padding:0 16px;font-size:.875rem}
}

/* ---------- Reduced motion: end state, nothing moves ---------- */
@media (prefers-reduced-motion:reduce){
  .hv-track{animation:none;white-space:normal;flex-wrap:wrap;gap:10px 28px;padding:0 var(--gutter,16px)}
  .hv-track .dup{display:none}
  .hv-ticker{white-space:normal}
  :root:root:root:root .site-menu,:root:root:root:root .ck,:root:root:root:root .nv-p{animation:none}
  :root:root:root:root .nav a.l,:root:root:root:root .nav .talk,:root:root:root:root .ck .ck-link,:root:root:root:root .ck .ck-ok{transition:none}
}

/* The footer's own question box: the same conversation, from any page */
:root:root:root:root footer:not(.ah-foot) .foot-brand{display:grid;gap:18px;align-content:start}
:root:root:root:root footer:not(.ah-foot) .foot-tag{margin:0;font:800 1.625rem/1.15 var(--display);letter-spacing:-.025em;color:var(--c-foot-fg);max-width:14ch}
:root:root:root:root footer:not(.ah-foot) .foot-ask{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;border-radius:999px;background:var(--c-foot-field);box-shadow:inset 0 0 0 1.5px var(--c-foot-field-line);max-width:100%}
:root:root:root:root footer:not(.ah-foot) .foot-ask input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 .9375rem var(--body);color:var(--c-foot-fg);height:40px}
:root:root:root:root footer:not(.ah-foot) .foot-ask input::placeholder{color:var(--c-foot-muted)}
:root:root:root:root footer:not(.ah-foot) .foot-ask:focus-within{box-shadow:inset 0 0 0 2px var(--hv-focus)}
:root:root:root:root footer:not(.ah-foot) .foot-ask button{height:40px;padding:0 18px;border:0;border-radius:var(--hv-radius-action);background:#9a4f22;color:#fff;font:800 .875rem var(--display);cursor:pointer}
@media (max-width:980px){:root:root:root:root footer:not(.ah-foot) .foot-tag{max-width:none}}
@media (min-width:981px){:root:root:root:root footer:not(.ah-foot) .foot-cols a{white-space:nowrap}}

/* --- Day fixes: what was only designed for Night --- */
/* A bold word inside Havlo's chat message takes the message's own color (it was always white, so a phone number vanished in Day). */
:root:root:root:root .msg.hv .t b,:root:root:root:root .msg.hv .t .sel{color:inherit}
/* The fixed legal bar: Day has its own paper, ink and rust; Night keeps its own. */
@media (prefers-color-scheme:light){
  :root:root:root:root:not([data-theme="dark"]) .ah-foot{background:#f2eee5;border-top-color:#d6d0c5}
  :root:root:root:root:not([data-theme="dark"]) .ah-foot .l1{color:#101719}
  :root:root:root:root:not([data-theme="dark"]) .ah-foot .l2{color:#4a5557}
  :root:root:root:root:not([data-theme="dark"]) .ah-foot a{color:#9a4f22}
}
:root:root:root:root[data-theme="light"] .ah-foot{background:#f2eee5;border-top-color:#d6d0c5}
:root:root:root:root[data-theme="light"] .ah-foot .l1{color:#101719}
:root:root:root:root[data-theme="light"] .ah-foot .l2{color:#4a5557}
:root:root:root:root[data-theme="light"] .ah-foot a{color:#9a4f22}
/* The ticker follows the theme: light in Day on every page, dark in Night. */
@media (prefers-color-scheme:light){
  :root:root:root:root:not([data-theme="dark"]) #top .page-view .marquee,:root:root:root:root:not([data-theme="dark"]) #top .pv-cine .marquee{background:#fff;color:#4a5557;border-bottom:1px solid #dfe5e3}
  :root:root:root:root:not([data-theme="dark"]) #top .page-view .marquee .mrow,:root:root:root:root:not([data-theme="dark"]) #top .page-view .marquee .mrow .o,:root:root:root:root:not([data-theme="dark"]) #top .pv-cine .marquee .mrow,:root:root:root:root:not([data-theme="dark"]) #top .pv-cine .marquee .mrow .o{color:#4a5557}
  :root:root:root:root:not([data-theme="dark"]) #top .page-view .marquee .mrow .c,:root:root:root:root:not([data-theme="dark"]) #top .pv-cine .marquee .mrow .c{color:#9a4f22}
}
:root:root:root:root[data-theme="light"] #top .page-view .marquee,:root:root:root:root[data-theme="light"] #top .pv-cine .marquee{background:#fff;color:#4a5557;border-bottom:1px solid #dfe5e3}
:root:root:root:root[data-theme="light"] #top .page-view .marquee .mrow,:root:root:root:root[data-theme="light"] #top .page-view .marquee .mrow .o,:root:root:root:root[data-theme="light"] #top .pv-cine .marquee .mrow,:root:root:root:root[data-theme="light"] #top .pv-cine .marquee .mrow .o{color:#4a5557}
:root:root:root:root[data-theme="light"] #top .page-view .marquee .mrow .c,:root:root:root:root[data-theme="light"] #top .pv-cine .marquee .mrow .c{color:#9a4f22}

/* Request sheets: Send and Cancel side by side; a plain line that nothing is sent until Send. */
.sheet-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.req-kept{margin:10px 0 0;font-size:.8125rem;color:var(--soft)}

:root:root:root:root footer:not(.ah-foot) .foot-conversation{padding:12px 22px;border:0;border-radius:999px;background:#9a4f22;color:#fff;font:800 .9375rem var(--display);cursor:pointer}
:root:root:root:root footer:not(.ah-foot) .foot-conversation:focus-visible{outline:3px solid var(--hv-focus);outline-offset:3px}
/* One appearance button (CEO 2026-10-11): an icon and the current mode; each click moves Auto -> Day -> Night. */
:root:root:root:root .theme-one{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:var(--c-seg);color:var(--c-pill-fg);font:700 .75rem/1 var(--display);letter-spacing:.04em;cursor:pointer;white-space:nowrap}
:root:root:root:root .theme-one:hover{background:var(--c-pill-on)}
:root:root:root:root .nav .theme-one{min-height:40px;padding:0 10px;background:none;font-weight:600;letter-spacing:.02em}
:root:root:root:root .nav .theme-one:hover{background:none;color:var(--c-rust)}
:root:root:root:root .theme-one i{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
:root:root:root:root .theme-one[data-mode=light] i{background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}
:root:root:root:root .theme-one[data-mode=dark] i{border-color:transparent;background:transparent;box-shadow:inset -4px -2px 0 0 currentColor}
:root:root:root:root .nav .nav-signin{display:inline-flex;align-items:center;min-height:40px;padding:0 10px;border-radius:var(--hv-radius-control,8px);color:var(--c-pill-fg);font:600 .8125rem/1 var(--display);text-decoration:none;white-space:nowrap}
:root:root:root:root .nav .nav-signin:hover{color:var(--c-rust)}
:root:root:root:root .sm-signin{display:block;padding:14px 0;font:700 1rem/1.2 var(--display);color:inherit;text-decoration:none}
@media (max-width:1240px){:root:root:root:root .nav .theme-one span{display:none}}

/* ---- havlo-site-std-rooms.css ---- */
/* The Havlo standard: room pages (hero, sheet, moment strip, thread, cards, legal and accountability). Loaded after the standard base layer (havlo-site-std-base.css). Spec: docs/design/standard/. Use tokens from havlo-tokens.css. */

/* ===== Shop rooms: Buy, Rent, Sell, Neighborhoods, an area. One anatomy: photo hero, 48px sheet, moment strip, 28px cards. ===== */
/* Local surfaces: Day is white and Mist, Night is Ink and Ink 2. Text and Rust come from havlo-tokens.css. */
:root{--rm-sheet:#ffffff;--rm-mist:#f4f6f5;--rm-gulf:#e3ebe8;--rm-line:#dfe5e3;--rm-line2:#cfdcd8;--rm-strip:#101719;--rm-strip-line:#2e3a3d;
  --rm-ink:#101719;--rm-muted:#4a5557;--rm-rust:#9a4f22;--rm-onrust:#ffffff;--rm-good-fill:#e3ede6;--rm-good-text:#2d5a44;
  --rm-display:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--rm-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --rm-action:6px 999px 999px 6px;--rm-pad:max(clamp(20px,5vw,64px),calc((100vw - 1312px) / 2));--rm-ease:cubic-bezier(.22,1,.36,1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--rm-sheet:#101719;--rm-mist:#182124;--rm-gulf:#1f2a2e;--rm-line:#2e3a3d;--rm-line2:#3a484b;--rm-strip:#1f2a2e;
  --rm-ink:#f2eee5;--rm-muted:#a3abab;--rm-rust:#b86530;--rm-onrust:#101719;--rm-good-fill:#1c3128;--rm-good-text:#9fd1b5}}
:root[data-theme="dark"]{--rm-sheet:#101719;--rm-mist:#182124;--rm-gulf:#1f2a2e;--rm-line:#2e3a3d;--rm-line2:#3a484b;--rm-strip:#1f2a2e;
  --rm-ink:#f2eee5;--rm-muted:#a3abab;--rm-rust:#b86530;--rm-onrust:#101719;--rm-good-fill:#1c3128;--rm-good-text:#9fd1b5}

/* --- The grid: hero rows on top (scene, title, question box), the sheet below (strip, result, conversation) --- */
#top .pv-cine{padding:0!important;background:var(--rm-sheet);color:var(--rm-ink)}
#top .pv-cine .cine{position:relative;display:grid;gap:0;padding:0;align-items:start;
  grid-template-columns:var(--rm-pad) minmax(0,2fr) 32px minmax(0,1fr) var(--rm-pad);
  grid-template-rows:112px auto auto 96px auto auto auto 64px;grid-template-areas:none}
#top .pv-cine .cine-talk{display:contents;position:static;height:auto}
#top .pv-cine .cine-scene,#top .pv-cine.engaged .cine-scene{grid-area:1/1/5/-1;position:relative!important;inset:auto!important;height:auto!important;min-height:420px;border-radius:0!important;margin:0!important;width:auto!important;aspect-ratio:auto!important;box-shadow:none!important;align-self:stretch;justify-self:stretch!important;z-index:0!important;background:#101719}
/* A flat overlay, never a gradient, so the title reads on any photo, in Day and in Night. */
#top .pv-cine .cine-scene::after{background:rgba(16,23,25,.5)}
#top .pv-cine .cine-head{grid-area:2/2/3/5;position:relative;z-index:2;display:grid;gap:12px;align-content:end;padding:0;min-height:0;color:#fff}
#top .pv-cine .cine-head .eyebrow{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:#b86530}
#top .pv-cine .cine-head .eyebrow a{color:inherit;text-decoration:none}
#top .pv-cine .cine-head .eyebrow a:hover{text-decoration:underline;text-underline-offset:3px}
#top .pv-cine .cine-head h1{font:800 clamp(2.25rem,4.4vw,3.5rem)/1 var(--rm-display);letter-spacing:-.04em;color:#fff;text-wrap:balance;max-width:20ch}
#top .pv-cine .cine-head .pv-lede{font-size:1.0625rem;line-height:1.6;color:rgba(255,255,255,.88);max-width:62ch}
#top .pv-cine .page-composer-slot{grid-area:3/2/4/5;position:relative;z-index:3;margin:28px 0 0;max-width:900px;width:100%}
#top .pv-cine .page-composer-slot .composer{margin:0;position:static;border-radius:999px;background:#fff;color:#101719;padding:8px 8px 8px 26px;box-shadow:0 8px 32px rgba(0,0,0,.25)}
#top .pv-cine .page-composer-slot .composer input,
#top .pv-cine .page-composer-slot .composer textarea{font-size:1.125rem;color:#101719}
#top .pv-cine .page-composer-slot .composer .send{border-radius:var(--rm-action);background:#9a4f22;color:#fff;min-width:54px;min-height:50px;border:0}
#top .pv-cine .composer-note{display:block;margin:10px 4px 0;color:rgba(255,255,255,.78);font-size:.8125rem}

/* The sheet slides over the hero: 48px top corners, 64px of overlap. */
#top .pv-cine .cine::before{content:"";grid-area:5/1/9/-1;margin-top:-64px;align-self:stretch;background:var(--rm-sheet);border-radius:48px 48px 0 0;z-index:1;pointer-events:none}
#top .pv-body{position:relative;z-index:1;max-width:none;margin:0;padding:0 var(--rm-pad) 72px;display:block;background:var(--rm-sheet)}
#top .pv-body .pv-content{max-width:1312px;margin-inline:auto;display:grid;gap:24px}

/* --- Moment strip: what happens next, and who answers. Only cells that are true today. --- */
.mstrip{grid-area:5/2/6/5;position:relative;z-index:2;margin-top:-24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--rm-strip);color:#fff;border:1px solid var(--rm-strip-line);border-radius:28px;overflow:hidden}
.mstrip .ms-c{padding:22px 28px;display:grid;gap:8px;align-content:start}
.mstrip .ms-c+.ms-c{border-left:1px solid var(--rm-strip-line)}
.mstrip .ms-k{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:#b86530}
.mstrip p{margin:0;font:600 1.125rem/1.4 var(--rm-display);color:#fff;max-width:none}

/* --- The result and the conversation --- */
#top .pv-cine .cine>.cx{grid-area:6/2/8/5;position:relative;z-index:2;margin:40px 0 0;padding:0;background:transparent;border-radius:0;color:var(--rm-ink);container-type:normal}
#top .pv-cine .cine>.cx:empty{display:none}
#top .pv-cine .cine:has(.page-chat:not(:empty))>.cx{grid-column:2/3}
#top .pv-cine .page-chat{grid-area:6/4/8/5;position:static;z-index:2;align-self:start;margin:40px 0 0;max-width:none;padding:24px;background:var(--rm-mist);border-radius:32px;gap:12px}
#top .pv-cine .page-chat:empty{display:none}
/* While talking, the hero keeps its photo and title; the question box stays where it is, as on the homepage (one behavior on every page). */
#top .pv-cine.engaged .cx-head{padding:0;min-height:0}
#top .pv-cine.engaged .cine-head h1{font-size:clamp(1.75rem,3.2vw,2.5rem)}




#top .pv-cine .page-chat .msg .av{display:none}
#top .pv-cine .page-chat .msg.vis,#top .pv-cine .page-chat .chips,#top .pv-cine .page-chat .msg.work,#top .pv-cine .page-chat .msg.typing{padding-left:0;margin-left:0}
#top .pv-cine .page-chat .msg.hv .t{max-width:none;padding:12px 16px;border-radius:20px 20px 20px 5px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line);color:var(--rm-ink);text-shadow:none;font:500 1rem/1.5 var(--rm-body);letter-spacing:0}
#top .pv-cine .page-chat .msg.me .t{max-width:none;padding:12px 16px;border-radius:20px 20px 5px 20px;background:#101719;color:#fff;box-shadow:none;font:500 1rem/1.5 var(--rm-body)}
:root[data-theme="dark"] #top .pv-cine .page-chat .msg.me .t{background:#f2eee5;color:#101719}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #top .pv-cine .page-chat .msg.me .t{background:#f2eee5;color:#101719}}
#top .pv-cine .page-chat .msg.work,#top .pv-cine .page-chat .msg.typing{background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line);color:var(--rm-muted);border-radius:20px}
#top .pv-cine .page-chat .chip-btn{min-height:44px;padding:0 18px;border-radius:999px;background:var(--rm-sheet);color:var(--rm-ink);box-shadow:inset 0 0 0 1px var(--rm-line2);font:700 .9375rem/1 var(--rm-display)}
#top .pv-cine .page-chat .chip-btn:hover,#top .pv-cine .page-chat .chip-btn:focus-visible{background:var(--rm-sheet);box-shadow:inset 0 0 0 1.5px var(--rm-rust);color:var(--rm-ink)}
#top .pv-cine .page-chat .msg.vis .lg-provides{background:var(--rm-sheet)}

/* --- Cards: 28px, Mist, the standard type --- */
#top .pv-cine .lg{background:var(--rm-mist);color:var(--rm-ink);border-radius:28px;padding:clamp(22px,3vw,32px);gap:16px;box-shadow:none}
#top .pv-cine .lg.hl{box-shadow:0 0 0 3px var(--rm-rust)}
#top .pv-cine .cx.lg{background:transparent;padding:0;border-radius:0}
#top .pv-cine .lg h2,#top .pv-cine .cx-title{font:800 clamp(1.75rem,3vw,2.5rem)/1.05 var(--rm-display);letter-spacing:-.03em;color:var(--rm-ink);max-width:none}
#top .pv-cine .lg h3{font:800 1.5rem/1.2 var(--rm-display);letter-spacing:-.02em}
#top .pv-cine .lg .short{font:500 1.0625rem/1.6 var(--rm-body);color:var(--rm-muted);padding-left:0;box-shadow:none;max-width:62ch}
#top .pv-cine .lg .eyebrow,#top .pv-cine .eyebrow.copper{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
#top .pv-cine .lg-small,#top .pv-cine .j-src,#top .pv-cine .cx-hint{font-size:.875rem;line-height:1.55;color:var(--rm-muted)}
#top .pv-cine .cx-tile{background:var(--rm-mist);border-radius:20px;padding:20px;box-shadow:none}
#top .pv-cine .cx-tile b{font:800 1.75rem/1.1 var(--rm-display);letter-spacing:-.02em;color:var(--rm-ink)}
#top .pv-cine .cx-tile span{font-size:.875rem;color:var(--rm-muted)}
#top .pv-cine .cx-chip,#top .pv-cine .j-chip{border-radius:999px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line2);color:var(--rm-ink);font:700 .875rem/1 var(--rm-display)}
#top .pv-cine .pv-notice{margin:0;padding:20px 24px;border:1.5px solid var(--rm-ink);border-radius:28px;font:500 1rem/1.6 var(--rm-body);color:var(--rm-muted)}
#top .pv-cine .pv-notice a{color:var(--rm-ink)}
#top .pv-cine .btn,#top .pv-cine .btn-line{min-height:52px;padding:0 26px;font:800 1rem/1 var(--rm-display);border-radius:var(--rm-action)}
#top .pv-cine .btn{background:var(--rm-rust);color:var(--rm-onrust)}
#top .pv-cine .btn-line{box-shadow:inset 0 0 0 1.5px var(--rm-ink);color:var(--rm-ink)}

/* --- What Havlo provides: one card, groups in columns (Rent draws its steps as a thread) --- */
#top .pv-cine .lg-provides .pr{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
#top .pv-cine #sell-provides .pr{grid-template-columns:minmax(0,1fr)}
#top .pv-cine #sell-provides .pr-g ul{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px 32px}
#top .pv-cine .pr-g h3{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust);margin-bottom:14px}
#top .pv-cine .pr-g li::before{background:var(--rm-rust);width:10px;height:10px;top:.45em}
#top .pv-cine .pr-g b{font:800 1.0625rem/1.3 var(--rm-display);color:var(--rm-ink)}
#top .pv-cine .pr-g span{font-size:.9375rem;line-height:1.5;color:var(--rm-muted)}
/* The thread: one curving line through the steps. Drawn once; nothing here says a step is done. */
#top #rent-provides .pr{gap:0 28px}
#top #rent-provides .pr-g{position:relative;padding-top:76px}
#rent-provides .th{position:absolute;left:0;top:0;width:calc(100% + 28px);height:56px;overflow:visible;pointer-events:none}
#rent-provides .th-end{width:18px}
#rent-provides .th path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
#rent-provides .th-dot{stroke:var(--rm-line2);stroke-width:4;stroke-dasharray:1 9}
#rent-provides .th-line{stroke:var(--rm-rust);stroke-width:5}
#rent-provides .pr-g::before{content:"";position:absolute;left:0;width:18px;height:18px;border-radius:50%;background:var(--rm-mist);box-shadow:inset 0 0 0 4px var(--rm-rust);z-index:1}
#rent-provides .pr-g:nth-child(1)::before{top:19px}
#rent-provides .pr-g:nth-child(2)::before{top:1px}
#rent-provides .pr-g:nth-child(3)::before{top:37px}
@media (max-width:760px){#rent-provides .th,#rent-provides .pr-g::before{display:none}#top #rent-provides .pr-g{padding-top:0}#top #rent-provides .pr{gap:28px}}
@media (prefers-reduced-motion:no-preference){
  #rent-provides .th{clip-path:inset(-8px 0 -8px 0)}
  #rent-provides .pr-g.rv .th{clip-path:inset(-8px 100% -8px 0)}
  #rent-provides .pr-g.rv-in .th{clip-path:inset(-8px 0 -8px 0);transition:clip-path 900ms var(--rm-ease) 200ms}
}

/* --- Places: area cards, facts, lists --- */
#top .pv-cine .area-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:24px}
#top .pv-cine .area-card{border-radius:28px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line);overflow:hidden;color:var(--rm-ink)}
#top .pv-cine .area-card:hover,#top .pv-cine .area-card:focus-visible{box-shadow:inset 0 0 0 2px var(--rm-rust);transform:translateY(-2px)}
#top .pv-cine .area-card .ac-ph{aspect-ratio:4/3;background:var(--rm-gulf)}
#top .pv-cine .area-card .ac-tx{padding:16px 20px 20px;gap:6px}
#top .pv-cine .area-card b{font:800 1.5rem/1.15 var(--rm-display);letter-spacing:-.02em}
#top .pv-cine .area-card .ac-tx>span{font-size:1rem;color:var(--rm-muted)}
#top .pv-cine .area-card small{color:var(--rm-muted);font-size:.875rem}
#top .pv-cine .story-reel{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;align-items:stretch}
#top .pv-cine .area-card.story{position:relative;display:block;min-height:440px;border-radius:28px;color:#fff}
#top .pv-cine .area-card.story .ac-ph{position:absolute;inset:0;aspect-ratio:auto;background:var(--rm-gulf)}
#top .pv-cine .area-card.story .ac-tx{position:absolute;left:0;right:0;bottom:0;padding:20px;gap:6px}
#top .pv-cine .area-card.story b,#top .pv-cine .area-card.story .ac-tx>span,#top .pv-cine .area-card.story small{color:#fff}
#top .pv-cine .area-card.story b{font-size:1.5rem}
#top .pv-cine .nb-tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
#top .pv-cine .nb-lists h3,#top .pv-cine .nb-desig dt{font:800 .75rem/1.3 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
#top .pv-cine .nb-desig dl div{border-top:1px solid var(--rm-line)}
#top .pv-cine .nb-desig dd{font:500 1rem/1.5 var(--rm-body)}
#top .pv-cine .area-others>span{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
#top .pv-cine .nb-near a.j-chip{display:inline-flex;align-items:center;text-decoration:none}

/* --- How a page ends (plan.json): a Mist card, the action corner, rooms to go next --- */
#top .pv-cine .band.room-end{background:var(--rm-sheet);color:var(--rm-ink);padding:0 var(--rm-pad) 72px;margin:0;--ground:var(--rm-mist);--text:var(--rm-ink);--soft:var(--rm-muted)}
#top .pv-cine .band.room-end .lg{background:var(--rm-mist);max-width:1312px;margin-inline:auto;width:100%;border-radius:28px;padding:clamp(24px,3.4vw,40px)}
#top .pv-cine .band.room-end .lg h2{font-size:clamp(1.75rem,3vw,2.5rem);max-width:24ch}
#top .pv-cine .room-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
#top .pv-cine .room-next a{display:grid;gap:6px;padding:20px 22px;border-radius:24px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line);text-decoration:none;color:var(--rm-ink);transition:box-shadow 600ms var(--rm-ease),transform 600ms var(--rm-ease)}
#top .pv-cine .room-next a:hover,#top .pv-cine .room-next a:focus-visible{box-shadow:inset 0 0 0 2px var(--rm-rust);transform:translateY(-2px)}
#top .pv-cine .room-next b{font:800 1.25rem/1.2 var(--rm-display);letter-spacing:-.02em;color:var(--rm-ink)}
#top .pv-cine .room-next span{font:500 .9375rem/1.45 var(--rm-body);color:var(--rm-muted)}
#top .pv-cine .room-next-h,#top .pv-cine .room-home a{color:var(--rm-rust)}
#top .pv-cine .room-slots{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#top .pv-cine .room-slots .tag{display:inline-flex;padding:6px 12px;border-radius:var(--rm-action);background:var(--rm-good-fill);color:var(--rm-good-text);font:800 .75rem/1 var(--rm-display);letter-spacing:.06em;text-transform:uppercase}

/* --- The words band becomes the ticker: small, quiet, always running --- */
#top .pv-cine .marquee{background:#101719;color:#a3abab;padding:20px 0;border-top:0;border-bottom:1px solid #2e3a3d}
#top .pv-cine .marquee .mrow{font:700 .9375rem/1.2 var(--rm-display);letter-spacing:.06em;text-transform:uppercase;color:#a3abab}
#top .pv-cine .marquee .mrow+.mrow{display:none}
#top .pv-cine .marquee .mrow span{padding-right:48px}
#top .pv-cine .marquee .mrow .o{color:#a3abab;-webkit-text-stroke:0}
#top .pv-cine .marquee .mrow .c{color:#b86530}

/* --- Motion: things arrive, nothing jumps (reduced motion shows the end state) --- */
@keyframes rm-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  #top .pv-cine .cine-head>*{animation:rm-rise 800ms var(--rm-ease) both}
  #top .pv-cine .cine-head>*:nth-child(2){animation-delay:80ms}
  #top .pv-cine .cine-head>*:nth-child(3){animation-delay:160ms}
  .mstrip{animation:rm-rise 800ms var(--rm-ease) 320ms both}
}

/* --- Small screens: one column, the conversation before the result --- */
@media (max-width:1000px){
  #top .pv-cine .cine{grid-template-columns:var(--rm-pad) minmax(0,1fr) var(--rm-pad);grid-template-rows:96px auto auto 80px auto auto auto 48px}
  #top .pv-cine .cine-scene{grid-area:1/1/5/-1}
  #top .pv-cine .cine-head{grid-area:2/2/3/3}
  #top .pv-cine .page-composer-slot{grid-area:3/2/4/3}
  #top .pv-cine .cine::before{grid-area:5/1/9/-1}
  .mstrip{grid-area:5/2/6/3}
  #top .pv-cine .page-chat{grid-area:6/2/7/3;position:static;max-height:none;margin-top:28px}
  #top .pv-cine .cine>.cx,#top .pv-cine .cine:has(.page-chat:not(:empty))>.cx{grid-area:7/2/8/3;margin-top:28px}
}
@media (max-width:640px){
  .mstrip{grid-template-columns:minmax(0,1fr)}
  .mstrip .ms-c+.ms-c{border-left:0;border-top:1px solid var(--rm-strip-line)}
  #top .pv-cine .cine-head h1{font-size:clamp(2rem,9vw,2.5rem)}
  #top .pv-body{padding-bottom:48px}
}

/* --- Hero photography: the page's own photo is in place before any script runs; the scene's shots fade in over it --- */
#top #page-buy .cine-scene{background:#101719 url(/assets/photos/buy-heights.webp) center 45%/cover no-repeat}
#top #page-rent .cine-scene{background:#101719 url(/assets/photos/rent-midtown.webp) center 45%/cover no-repeat}
#top #page-sell .cine-scene{background:#101719 url(/assets/photos/sell-eado.webp) center 45%/cover no-repeat}
#top #page-area .cine-scene,#top #page-areas .cine-scene{background:#101719 url(/assets/photos/neighborhoods-houston.webp) center 45%/cover no-repeat}
@media (prefers-reduced-motion:no-preference){
  /* photos scale into their frame */
  #top .pv-cine .cine-scene{animation:rm-frame 900ms var(--rm-ease) both}
  @keyframes rm-frame{from{opacity:.4;transform:scale(1.06)}to{opacity:1;transform:none}}
}

/* ===== One listing, as plain HTML (no scripts, search engines): gallery, facts said once, what the listing says ===== */
.ah-fallback:has(.lst){max-width:none;margin:0;padding:112px var(--rm-pad) 72px;min-height:0;background:var(--rm-sheet);color:var(--rm-ink)}
.ah-fallback .lst{max-width:1312px;margin-inline:auto}
.ah-fallback .lst{display:grid;gap:12px;font-family:var(--rm-body)}
.ah-fallback .lst p{margin-top:0;max-width:none;color:var(--rm-muted)}
.ah-fallback .lst-gal{display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:260px 260px;margin-bottom:28px}
.ah-fallback .lst-gal figure{margin:0;position:relative;border-radius:32px;overflow:hidden;background:var(--rm-gulf)}
.ah-fallback .lst-gal figure:first-child{grid-row:1/span 2}
.ah-fallback .lst-gal.n1{grid-template-columns:1fr;grid-template-rows:420px}.ah-fallback .lst-gal.n1 figure:first-child{grid-row:auto}
.ah-fallback .lst-gal.n2{grid-template-rows:520px}.ah-fallback .lst-gal.n2 figure:first-child{grid-row:auto}
.ah-fallback .lst-gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ah-fallback .lst p.lst-k{order:-3;font:800 .875rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust);margin:0}
.ah-fallback .lst p.lst-price{order:-2;font:800 clamp(2.5rem,6vw,4rem)/1 var(--rm-display);letter-spacing:-.04em;margin:0;color:var(--rm-ink)}
.ah-fallback .lst h1{order:-1;font:500 clamp(1.125rem,2vw,1.375rem)/1.4 var(--rm-body);letter-spacing:0;color:var(--rm-muted);margin:0}
.ah-fallback .lst-bits{font-size:1rem;color:var(--rm-muted);margin:0}
.ah-fallback .lst-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0 8px}
.ah-fallback .lst-tiles div{background:var(--rm-mist);border-radius:20px;padding:20px;display:grid;gap:2px}
.ah-fallback .lst-tiles b{font:800 1.75rem/1.1 var(--rm-display);letter-spacing:-.02em}
.ah-fallback .lst-tiles span{font-size:.875rem;color:var(--rm-muted)}
.ah-fallback .lst-checked{margin-top:28px}
.ah-fallback .lst-checked h2{font:800 2rem/1.1 var(--rm-display);letter-spacing:-.03em;margin:0 0 6px;color:var(--rm-ink)}
.ah-fallback .lst p.lst-src{font-size:.875rem;color:var(--rm-muted);margin:0 0 12px}
.ah-fallback .lst-checked dl{margin:0;border:1px solid var(--rm-line);border-radius:24px;overflow:hidden}
.ah-fallback .lst-checked dl div{display:flex;justify-content:space-between;gap:24px;padding:16px 24px;border-top:1px solid var(--rm-line);font-size:1rem}
.ah-fallback .lst-checked dl div:first-child{border-top:0}
.ah-fallback .lst-checked dt{font-weight:700}.ah-fallback .lst-checked dd{margin:0;color:var(--rm-muted);text-align:right}
.ah-fallback .lst-legal{font-size:.8125rem;line-height:1.6;color:var(--rm-muted);max-width:900px}
@media (max-width:760px){.ah-fallback .lst-gal,.ah-fallback .lst-gal.n2{grid-template-columns:1fr;grid-template-rows:280px}.ah-fallback .lst-gal figure:not(:first-child){display:none}.ah-fallback .lst-checked dl div{flex-direction:column;gap:2px}.ah-fallback .lst-checked dd{text-align:left}}
@media (prefers-reduced-motion:no-preference){.ah-fallback .lst-gal figure{animation:rm-rise 800ms var(--rm-ease) both}.ah-fallback .lst-gal figure:nth-child(2){animation-delay:120ms}.ah-fallback .lst-gal figure:nth-child(3){animation-delay:240ms}}

/* The neighborhoods list is one column: its heading scrolls away instead of sticking behind the cards */
@media (min-width:980px){#top .pv-cine .nb-level.band-split .band-head{position:static}}

/* --- The area in official figures, in the rooms and on a listing page (havlo/site/area_facts.py) --- */
#top .pv-cine .mf-list li{border-top:1px solid var(--rm-line);padding:16px 0}
#top .pv-cine .mf-list li:first-child{border-top:0}
#top .pv-cine .mf-fact{font:500 1.0625rem/1.5 var(--rm-body);color:var(--rm-ink)}
#top .pv-cine .mf-src{font-size:.875rem;color:var(--rm-muted)}
.ah-fallback .lst-around{margin-top:28px}
.ah-fallback .lst-around .eyebrow{font:800 .75rem/1.3 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust);margin:0 0 6px}
.ah-fallback .lst-around h2{font:800 2rem/1.1 var(--rm-display);letter-spacing:-.03em;margin:0 0 6px;color:var(--rm-ink)}
.ah-fallback .lst-around .mf-list{list-style:none;margin:0;padding:0;border:1px solid var(--rm-line);border-radius:24px;overflow:hidden}
.ah-fallback .lst-around .mf-list li{display:grid;gap:4px;padding:16px 24px;border-top:1px solid var(--rm-line)}
.ah-fallback .lst-around .mf-list li:first-child{border-top:0}
.ah-fallback .lst-around .mf-fact{font:500 1rem/1.5 var(--rm-body);color:var(--rm-ink)}
.ah-fallback .lst-around .mf-src{font-size:.8125rem;color:var(--rm-muted)}
.ah-fallback .lst-around p.mf-note{font-size:.8125rem;margin-top:10px}
@media (max-width:760px){.ah-fallback .lst-around .mf-list li{padding:14px 16px}.ah-fallback .lst-around h2{font-size:1.625rem}}

/* The sheet starts with its content: no legacy band gap between the hero and the first card (CEO sweep 2026-10-07). */
#top .pv-cine > .pv-bands{margin-top:0}
#top .pv-cine > .pv-bands > .band:first-child{padding-top:clamp(24px,3vw,40px)}
#top .pv-cine .cine:not(:has(.cx)){grid-template-rows:112px auto auto 96px 0 0 0 0}
@media (max-width:1000px){#top .pv-cine .cine:not(:has(.cx)){grid-template-rows:96px auto auto 80px 0 0 0 0}}
#top .pv-cine > .pv-bands > .band:last-child{padding-bottom:clamp(40px,5vw,72px)}
#top .pv-cine > .pv-bands > .band-light{background:var(--rm-sheet)}

.composer textarea{resize:none;min-height:24px;max-height:240px;overflow-y:auto;line-height:1.4;}

/* ---- havlo-site-std-pages.css ---- */
/* The Havlo standard: Management, Impact, Legal, Accountability pages. Spec: docs/design/standard/. Use tokens from havlo-tokens.css.
   Loaded after the standard base layer (havlo-site-std-base.css). Day is white paper, Night is Ink; the same selectors the tokens use switch them. */

.sp{
  --sp-bg:#fff; --sp-ink:#101719; --sp-soft:#4a5557; --sp-mist:#f4f6f5; --sp-rule:#dfe5e3; --sp-gulf:#e3ebe8;
  --sp-rust:#9a4f22; --sp-etext:#9a4f22; --sp-good-bg:#e3ede6; --sp-good:#2d5a44; --sp-warm-bg:#f3e1d3; --sp-warm:#7d3f18;
  --sp-dark:#101719; --sp-dark-line:transparent; --sp-on-dark:#fff; --sp-on-dark-soft:#cfdcd8; --sp-dark-eyebrow:#b86530;
  --sp-ease:var(--hv-ease,cubic-bezier(.22,1,.36,1));
  --sp-site-ground:#fff; --sp-site-text:#101719; --sp-site-soft:#4a5557; --sp-site-surface:#f4f6f5; --sp-site-rule:#dfe5e3; --sp-site-accent:#9a4f22; --sp-site-tint:#f3e1d3;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .sp{
    --sp-bg:#101719; --sp-ink:#f2eee5; --sp-soft:#a3abab; --sp-mist:#182124; --sp-rule:#2e3a3d; --sp-gulf:#1f2a2e;
    --sp-etext:#b86530; --sp-good-bg:#1c3128; --sp-good:#9fd1b5; --sp-warm-bg:#3a2619; --sp-warm:#b86530;
    --sp-dark:#1f2a2e; --sp-dark-line:#2e3a3d; --sp-on-dark:#f2eee5;
    --sp-site-ground:#101719; --sp-site-text:#f2eee5; --sp-site-soft:#a3abab; --sp-site-surface:#182124; --sp-site-rule:#2e3a3d; --sp-site-accent:#b86530; --sp-site-tint:#3a2619;
  }
}
:root[data-theme="dark"] .sp{
  --sp-bg:#101719; --sp-ink:#f2eee5; --sp-soft:#a3abab; --sp-mist:#182124; --sp-rule:#2e3a3d; --sp-gulf:#1f2a2e;
  --sp-etext:#b86530; --sp-good-bg:#1c3128; --sp-good:#9fd1b5; --sp-warm-bg:#3a2619; --sp-warm:#b86530;
  --sp-dark:#1f2a2e; --sp-dark-line:#2e3a3d; --sp-on-dark:#f2eee5;
  --sp-site-ground:#101719; --sp-site-text:#f2eee5; --sp-site-soft:#a3abab; --sp-site-surface:#182124; --sp-site-rule:#2e3a3d; --sp-site-accent:#b86530; --sp-site-tint:#3a2619;
}

/* The paper: the content sheet on Management and Impact, the whole page on Legal, the sheet under the photo on Accountability.
   Everything the older styles read (--ground, --text, ...) is re-pointed here so conversation, buttons and lists stay readable. */
.sp-sheet,.sp-legal,.sp-accountability .pv-top,.sp-accountability>.pv-body{
  --ground:var(--sp-site-ground); --text:var(--sp-site-text); --soft:var(--sp-site-soft); --surface:var(--sp-site-surface); --rule:var(--sp-site-rule);
  --accent:var(--sp-site-accent); --accent-text:var(--sp-etext); --tint:var(--sp-site-tint);
  color:var(--sp-ink); background:var(--sp-bg);
}
.sp-sheet{position:relative;z-index:1;width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(24px,5vw,64px);border-radius:48px 48px 0 0;padding:56px 0 96px}
.sp-in{width:min(1180px,100% - 2*var(--gutter,24px));margin-inline:auto;display:grid;gap:0}
.sp-sec{margin-top:clamp(48px,7vw,88px);display:grid;gap:20px;min-width:0}
.sp-sec:first-child{margin-top:0}

/* Type: page title 56, section 40, card title 24 to 30, body 17, label 12. */
.sp-eyebrow,.sp-k{margin:0;font:800 .75rem/1.2 var(--hv-font-display,var(--display));letter-spacing:.1em;text-transform:uppercase;color:var(--sp-etext)}
.sp-h2,.sp .sp-sheet h2.sp-h2{margin:0;font:800 clamp(1.75rem,3.6vw,2.5rem)/1.05 var(--hv-font-display,var(--display));letter-spacing:-.035em;color:var(--sp-ink);max-width:none;text-wrap:balance}
.sp-h3{margin:0;font:800 clamp(1.4rem,2.4vw,2rem)/1.15 var(--hv-font-display,var(--display));letter-spacing:-.025em}
.sp-sub,.sp-lead{margin:0;font-size:clamp(1.0625rem,1.6vw,1.125rem);line-height:1.55;color:var(--sp-soft);max-width:760px}
.sp-lead{font-size:clamp(1.125rem,1.9vw,1.375rem);max-width:820px}
.sp-card p,.sp-card li{font-size:1.0625rem;line-height:1.55}

/* Cards: Mist, 28px radius. Cards rise 24px and settle, 80ms apart (the site reveal sets the stagger). */
.sp-card.lg{border-radius:28px;padding:clamp(22px,3vw,32px);gap:12px;box-shadow:none;background:var(--sp-mist);color:var(--sp-ink);transition:opacity .8s var(--sp-ease),transform .8s var(--sp-ease),box-shadow .5s var(--sp-ease)}
.sp-card.lg.rv{transform:translateY(24px);opacity:0}
.sp-card.lg.rv.rv-in{transform:none;opacity:1}
.sp-card.lg.hl{box-shadow:0 0 0 3px var(--sp-rust)}
.sp-card p{margin:0}
.sp-card h2{font:800 clamp(1.5rem,2.6vw,1.875rem)/1.1 var(--hv-font-display,var(--display));letter-spacing:-.03em;max-width:none;color:var(--sp-ink)}
.sp-card h3{font:800 1.5rem/1.15 var(--hv-font-display,var(--display));letter-spacing:-.02em;margin:0;color:var(--sp-ink)}
.sp-card .short{margin:0;padding:0;box-shadow:none;font:500 1.0625rem/1.55 var(--hv-font-body,var(--body));color:var(--sp-soft);max-width:60ch}
.sp-card .lg-list{color:var(--sp-soft);font-size:1.0625rem}
.sp-card .lg-small{font-size:.9375rem;color:var(--sp-soft)}
.sp-wide{background:transparent!important;border:1px solid var(--sp-rule);box-shadow:none}
.sp-soft{background:var(--sp-mist)}
.sp-grid{display:grid;gap:20px;min-width:0}
.sp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-num{font:800 .875rem/1 var(--hv-font-display,var(--display));letter-spacing:.1em;color:var(--sp-etext)}

/* The net-income equation: income minus operating cost equals what you keep. */
.sp-eq{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:center}
.sp-op{font:800 2.25rem/1 var(--hv-font-display,var(--display));color:var(--sp-soft)}
.sp-eq .sp-card{height:100%;align-content:start}
.sp-eq .sp-k{font-size:.875rem;letter-spacing:.04em;text-transform:none;font-weight:700}
.sp-big{font:800 clamp(1.75rem,3vw,2.375rem)/1.05 var(--hv-font-display,var(--display));letter-spacing:-.03em}
.sp-card.sp-eq-in{background:var(--sp-good-bg)}.sp-eq-in .sp-k{color:var(--sp-good)}
.sp-card.sp-eq-out{background:var(--sp-warm-bg)}.sp-eq-out .sp-k{color:var(--sp-warm)}
.sp-card.sp-eq-keep{background:var(--sp-dark);color:var(--sp-on-dark);box-shadow:inset 0 0 0 1px var(--sp-dark-line)}
.sp-eq-keep .sp-k{color:var(--sp-dark-eyebrow)}.sp-eq-keep p:not(.sp-k){color:var(--sp-on-dark-soft)}.sp-eq-keep .sp-big{color:var(--sp-on-dark)}

/* Levers and their proof. */
.sp-lever.lg{background:transparent;box-shadow:inset 0 0 0 1px var(--sp-rule);border-radius:32px;padding:32px;gap:12px;align-content:start}
.sp-lever-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sp-lever h3{font-size:1.875rem;line-height:1.1;letter-spacing:-.02em}
.sp-lever p{color:var(--sp-soft)}
.sp-pill{font:800 .8125rem/1 var(--hv-font-display,var(--display));padding:8px 14px;border-radius:var(--hv-radius-action,6px 999px 999px 6px)}
.sp-good{background:var(--sp-good-bg);color:var(--sp-good)}
.sp-warm{background:var(--sp-warm-bg);color:var(--sp-warm)}
.sp-lever .sp-proof{border-top:1px solid var(--sp-rule);padding-top:14px;margin-top:4px;font-size:.9375rem;color:var(--sp-soft)}
.sp-lever .sp-proof b{color:var(--sp-ink)}

/* Fees, provides, expect: kept as they are, set in the standard's cards. */
.sp-card .fee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sp-card .fee-grid>div{background:var(--sp-mist);border-radius:20px;padding:18px;display:grid;gap:6px;align-content:start}
.sp-card .fee-grid b{font:800 1.5rem/1.1 var(--hv-font-display,var(--display));letter-spacing:-.02em;color:var(--sp-ink)}
.sp-card .fee-grid span{font-size:.9375rem;color:var(--sp-soft)}
.sp-card .pr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sp-card .pr-g h3{font-size:1.125rem;margin-bottom:8px}
.sp-card .pr-g ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.sp-card .pr-g li{display:grid;gap:2px}
.sp-card .pr-g li b{color:var(--sp-ink)}.sp-card .pr-g li span{color:var(--sp-soft);font-size:.9375rem}
.sp-card .lg-two{gap:28px}

/* The two big cards, a closing band, and links. */
.sp-card.sp-ink{background:var(--sp-dark);color:var(--sp-on-dark);box-shadow:inset 0 0 0 1px var(--sp-dark-line);border-radius:36px;padding:clamp(28px,4vw,40px)}
.sp-ink .sp-eyebrow{color:var(--sp-dark-eyebrow)}.sp-ink .sp-h3,.sp-ink h3{color:var(--sp-on-dark)}.sp-ink p:not(.sp-eyebrow){color:var(--sp-on-dark-soft)}
.sp-pair .sp-soft{border-radius:36px;padding:clamp(28px,4vw,40px)}
.sp-pair .sp-h3{margin-top:4px}
.sp-card.sp-line{background:transparent;box-shadow:inset 0 0 0 1.5px var(--sp-ink);border-radius:32px;padding:36px}
.sp-card.sp-line p:not(.sp-eyebrow){color:var(--sp-soft)}
.sp-link{display:inline;padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--sp-ink);text-decoration:underline;cursor:pointer}
.sp-card a,.sp-lead a{color:var(--sp-etext);font-weight:700;text-decoration:underline}

.sp-band{margin-top:clamp(40px,6vw,72px);display:flex;justify-content:space-between;align-items:center;gap:clamp(24px,4vw,48px);flex-wrap:wrap;border-radius:40px;background:#9a4f22;color:#fff;padding:clamp(32px,5vw,56px) clamp(24px,5vw,64px)}
.sp-band>div:first-child{max-width:780px}
.sp-band-h{margin:0;font:800 clamp(1.75rem,3.6vw,2.5rem)/1.05 var(--hv-font-display,var(--display));letter-spacing:-.035em;color:#fff;max-width:none}
.sp-band p{margin:14px 0 0;font-size:1.0625rem;line-height:1.55;color:#fff}
.sp-band .lg-actions{flex-shrink:0}
.sp-band .btn,.sp-band .btn-line{min-height:56px;padding:0 32px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);font-weight:800;font-size:1.0625rem}
.sp-band .btn{background:#fff;color:#7d3f18}
.sp-band .btn-line{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.sp-band-ink{background:#101719;color:#fff}
.sp-band-ink p{color:#cfdcd8}
.sp-band-ink .btn{color:#101719}
.sp-band-slim{margin-top:0;border-radius:32px;padding:32px;flex-wrap:nowrap}
.sp-band-slim .sp-band-h{font-size:1.375rem;line-height:1.25;letter-spacing:-.02em;max-width:460px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sp-band-ink{background:#1f2a2e;box-shadow:inset 0 0 0 1px #2e3a3d}}
:root[data-theme="dark"] .sp-band-ink{background:#1f2a2e;box-shadow:inset 0 0 0 1px #2e3a3d}

/* Conversation heads on Management and Impact: page title at 56 at most. The engaged state keeps its smaller size. */
.sp.pv-cine:not(.engaged) .cine-head h1{font-size:clamp(2rem,4.4vw,3.5rem);font-weight:800;letter-spacing:-.04em;line-height:.98}
.sp.pv-cine .cine-head .eyebrow{color:var(--hv-on-band-accent,#b86530)}
.sp.pv-cine .cine-scene::after{background:rgb(16 23 25 / .5)}

/* Legal: a white document with a sticky "On this page" menu. */
.sp-legal{width:100vw;margin-left:calc(50% - 50vw);padding:calc(84px + env(safe-area-inset-top,0px)) max(var(--gutter,24px),calc((100vw - 1180px)/2)) 96px;min-height:100vh}
.sp-legal .pv-head{max-width:none;margin:0;padding:clamp(24px,5vw,56px) 0 0}
.sp-legal .pv-head .pv-photo{display:none}
.sp-legal .pv-head .eyebrow{color:var(--sp-etext)}
.sp-legal .pv-head h1,.sp-accountability .pv-head h1{font:800 clamp(2rem,5.2vw,3.5rem)/1 var(--hv-font-display,var(--display));letter-spacing:-.04em}
.sp-legal .pv-head h1{color:var(--sp-ink)}
.sp-legal .pv-lede{color:var(--sp-soft);font-size:1.1875rem;max-width:720px}
.sp-legal .pv-meta{color:var(--sp-soft)}
.sp-legal .pv-body{max-width:none;margin-top:40px}
.sp-legal .pv-top{max-width:none}
.sp-legal .pv-toc,.sp-legal .pv-rail .pv-toc{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;gap:4px}
.sp-legal .pv-toc::before{content:"On this page";display:block;margin:0 0 8px;font:800 .75rem/1.2 var(--hv-font-display,var(--display));letter-spacing:.1em;text-transform:uppercase;color:var(--sp-soft)}
.sp-legal .pv-toc a{color:var(--sp-ink);font-size:1rem;padding:12px 16px;border-radius:14px}
.sp-legal .pv-toc a:hover{background:var(--sp-mist);color:var(--sp-ink)}
.sp-legal .pv-toc a.on{background:var(--sp-gulf);color:var(--sp-ink);font-weight:800;box-shadow:none}
.sp-legal .pv-content{display:grid;gap:0;max-width:780px}
.sp-legal .lg{background:transparent;color:var(--sp-ink);border-radius:0;padding:0 0 48px;margin-bottom:48px;border-bottom:1px solid var(--sp-rule);gap:16px}
.sp-legal .lg h2{font:800 clamp(1.75rem,3.6vw,2.5rem)/1.05 var(--hv-font-display,var(--display));letter-spacing:-.03em;color:var(--sp-ink)}
.sp-legal .lg h3{color:var(--sp-ink)}
.sp-legal .lg .short{background:var(--sp-mist);border-radius:20px;padding:20px 24px;box-shadow:none;font:500 1.0625rem/1.6 var(--hv-font-body,var(--body));color:var(--sp-ink);max-width:none}
.sp-legal .lg .short b{font-weight:800}
.sp-legal .lg-list{color:var(--sp-soft);font-size:1.0625rem;line-height:1.75;max-width:none}
.sp-legal .lg-small,.sp-legal .lg-dl dt{color:var(--sp-soft)}
.sp-legal .lg-dl div{border-color:var(--sp-rule)}
.sp-legal .lg-callout{background:var(--sp-mist);box-shadow:none;border-radius:20px;padding:20px 24px}
.sp-legal .lg-callout p{color:var(--sp-soft)}
.sp-legal .lg-callout b{color:var(--sp-ink)}
.sp-legal .lg.hl{box-shadow:none;background:var(--sp-mist)}
.sp-legal .sp-band{margin-top:0}
.sp-legal .btn{background:#9a4f22;color:#fff;border-radius:var(--hv-radius-action,6px 999px 999px 6px)}
.sp-legal .sp-band .btn{background:#fff;color:#101719}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sp-legal .btn:not(.sp-band .btn){background:#b86530;color:#101719}}
:root[data-theme="dark"] .sp-legal .btn:not(.sp-band .btn){background:#b86530;color:#101719}
.sp-legal .page-view-chat{margin-top:0}

/* Accountability: photo hero, the sheet slides over it. */
.sp-accountability .pv-head{max-width:none;width:100%;min-height:clamp(380px,40vw,440px);display:flex;align-items:flex-end;padding:calc(84px + env(safe-area-inset-top,0px)) var(--gutter,24px) 110px}
.sp-accountability .pv-head-in{padding:0;max-width:900px;width:100%;margin-inline:auto;max-width:min(1180px,100%)}
.sp-accountability .pv-head .eyebrow{color:#b86530;font-size:.9375rem;letter-spacing:.12em}
.sp-accountability .pv-head h1{color:#fff;max-width:900px}
.sp-accountability .pv-photo::after,.sp-accountability .pv-photo.fx::after{background:rgb(16 23 25 / .58)}
.sp-accountability .pv-top,.sp-accountability>.pv-body{position:relative;z-index:1;width:100vw;max-width:none;margin:-64px 0 0 calc(50% - 50vw);border-radius:48px 48px 0 0;padding:56px max(var(--gutter,24px),calc((100vw - 1180px)/2)) 96px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1100px){.sp-accountability .pv-top{grid-template-columns:minmax(0,1fr) 380px}}
.sp-accountability .pv-top>.pv-body{margin:0}
.sp-accountability .pv-content{display:grid;gap:0;min-width:0}
.sp-accountability .sp-grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin-top:48px}
.sp-accountability .sp-after{margin-top:48px}
.sp-body.lg{gap:10px;align-content:start}
.sp-body h3{font-size:1.5rem}
.sp-body .sp-you{border-top:1px solid var(--sp-rule);padding-top:12px;margin-top:4px;font-size:.9375rem;color:var(--sp-soft)}
.sp-body .sp-you b{color:var(--sp-ink)}
.sp-body .sp-check{margin-top:auto;font-size:.875rem;font-weight:700;color:var(--sp-soft)}
.sp-body .sp-check a{font-weight:700}

/* The conversation rail sits on the white page, so its glass becomes Mist. */
.sp-legal .pv-rail .rail-head,.sp-accountability .pv-rail .rail-head{background:var(--sp-mist);box-shadow:none}
.sp-legal .pv-rail .rail-head .eyebrow,.sp-accountability .pv-rail .rail-head .eyebrow{color:var(--sp-etext)}
.sp-legal .rail-q,.sp-accountability .rail-q{color:var(--sp-ink)}
.sp-legal .pv-rail .chip-btn,.sp-accountability .pv-rail .chip-btn{background:var(--sp-bg);color:var(--sp-ink);box-shadow:inset 0 0 0 1px var(--sp-rule)}

@media (max-width:980px){
  .sp-eq{grid-template-columns:minmax(0,1fr)}
  .sp-op{text-align:center}
  .sp-grid-3,.sp-grid-2,.sp-pair,.sp-card .pr{grid-template-columns:minmax(0,1fr)}
  .sp-card .fee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-band-slim{flex-wrap:wrap}
}
@media (max-width:640px){
  .sp-sheet{border-radius:32px 32px 0 0;padding-top:40px}
  .sp-accountability .pv-top,.sp-accountability>.pv-body{border-radius:32px 32px 0 0}
}

/* Reduced motion shows the end state. */
@media (prefers-reduced-motion:reduce){
  .sp-card.lg,.sp-card.lg.rv{transition:none;transform:none;opacity:1}
}

/* Legal at desktop: the contents list sits beside the text, as the board shows */
@media (min-width:981px){
  #page-legal.sp-legal .pv-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
  #page-legal.sp-legal .pv-body>.pv-toc{position:sticky;top:96px;display:flex;flex-direction:column;align-self:start;width:auto}
  #page-legal.sp-legal .pv-body>.pv-content{grid-column:2;min-width:0;width:auto}
}

/* Accountability: the page's own side padding shifted the full-width sheet to the right at every width. The header carries its own gutter. */
#page-accountability.sp-accountability,#page-notes.sp-accountability{padding-left:0;padding-right:0}
.sp-accountability .sp-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
@media (min-width:1000px){.sp-accountability .sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* The photo keeps its colour, under one flat dark layer, so the white title reads */
.sp-accountability .pv-photo.fx::before{display:none}
.sp-accountability .pv-photo.fx img{filter:none;opacity:1}

/* The word band under every page is the small ticker, not the old giant type */
#top .page-view .marquee{background:#101719;color:#a3abab;padding:20px 0;border-top:0;border-bottom:1px solid #2e3a3d}
#top .page-view .marquee .mrow{font:700 .9375rem/1.2 var(--hv-font-display,var(--display));letter-spacing:.06em;text-transform:uppercase;color:#a3abab;-webkit-text-stroke:0}
#top .page-view .marquee .mrow+.mrow{display:none}
#top .page-view .marquee .mrow span{padding-right:48px;font:inherit}
#top .page-view .marquee .mrow .o{color:#a3abab;-webkit-text-stroke:0}
#top .page-view .marquee .mrow .c{color:#b86530}

/* The title lines up with the cards under it, as on the board (64px at desktop, the page gutter on a phone) */
#page-accountability.sp-accountability .pv-head,#page-notes.sp-accountability .pv-head{padding-left:clamp(20px,4.4vw,64px);padding-right:clamp(20px,4.4vw,64px)}
#page-accountability.sp-accountability .pv-head-in,#page-notes.sp-accountability .pv-head-in{max-width:none;margin:0;width:100%}
#page-accountability.sp-accountability>.pv-body,#page-notes.sp-accountability>.pv-body{padding-left:clamp(20px,4.4vw,64px);padding-right:clamp(20px,4.4vw,64px)}

/* Day paints a cream veil over page photos; on Accountability the photo sits under one flat dark layer in both themes, as on the board */
:root:root:root:root .sp-accountability .pv-photo::after,:root:root:root:root .sp-accountability .pv-photo.fx::after{background:rgb(16 23 25 / .58)}

/* Below the hero, the page is one solid sheet: the composer, related links and ticker no longer float over the fixed photograph */
#page-accountability.sp-accountability>.page-chat,#page-accountability.sp-accountability>.page-composer-slot,#page-accountability.sp-accountability>.room-end,#page-accountability.sp-accountability>.marquee,#page-notes.sp-accountability>.page-chat,#page-notes.sp-accountability>.page-composer-slot,#page-notes.sp-accountability>.room-end,#page-notes.sp-accountability>.marquee{position:relative;z-index:1}
#page-accountability.sp-accountability>.page-chat,#page-accountability.sp-accountability>.page-composer-slot,#page-accountability.sp-accountability>.room-end,#page-notes.sp-accountability>.page-chat,#page-notes.sp-accountability>.page-composer-slot,#page-notes.sp-accountability>.room-end{background:var(--sp-bg)}
#page-accountability.sp-accountability>.page-composer-slot,#page-notes.sp-accountability>.page-composer-slot{max-width:none;margin:0;padding:18px max(var(--gutter,24px),calc((100% - 760px) / 2))}
/* The hero photograph stays in the hero: it no longer sits fixed behind the whole page and leaks through gaps */
#page-accountability.sp-accountability .pv-head,#page-notes.sp-accountability .pv-head{position:relative;overflow:hidden}
#page-accountability.sp-accountability .pv-photo,#page-notes.sp-accountability .pv-photo{position:absolute;inset:0;z-index:0}
#page-accountability.sp-accountability .pv-head-in,#page-notes.sp-accountability .pv-head-in{position:relative;z-index:1}
#page-accountability.sp-accountability,#page-notes.sp-accountability{padding-top:0;padding-bottom:0;background:var(--sp-bg)}
/* Your account (/account; havlo-site-account.js): homes, appointments, saved homes, tours and sold history (VOW) */
.sp-account .acct-home{border-top:1px solid var(--sp-rule);padding:16px 0}
.sp-account .acct-home h3,.sp-account .acct-view h3{margin:0 0 6px}
.sp-account .acct-view .lg-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.sp-account .acct-name{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.sp-account .acct-name label,.sp-account .acct-sold label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--sp-soft)}
.sp-account input,.sp-account select{font:inherit;padding:8px 10px;border:1px solid var(--sp-rule);border-radius:8px;background:var(--sp-bg);color:var(--sp-ink);min-width:0}
.sp-account .acct-sold{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:12px 0}
.sp-account .acct-sold-ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sp-account .acct-sold-li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start}
.sp-account .acct-sold-li img{width:96px;height:72px;object-fit:cover;border-radius:8px}
.sp-account .acct-firm{margin:4px 0 0;font-weight:600;color:var(--sp-ink)}

/* ---- havlo-ui.css ---- */
/* HAVLO UI kit: the shared base components, drawn from havlo-tokens.css only (no color literals).
   Buttons, chips, cards, facts and tiles carry the design language; a page composes them its own way (see .hv-home below for the
   one-home page). Sans type only. Loaded after the site layers, so these win ties inside the conversation (.ah). */

/* Buttons: the action corner. */
a.hv-btn,button.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border:0;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action);font:var(--hv-action-weight) 16px var(--hv-font-display);text-decoration:none;cursor:pointer;transition:filter var(--hv-fast) ease}
a.hv-btn:hover,button.hv-btn:hover{filter:brightness(1.08)}
a.hv-btn.quiet,button.hv-btn.quiet{background:transparent;color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge)}
a.hv-btn.quiet:hover,button.hv-btn.quiet:hover{box-shadow:inset 0 0 0 1px var(--hv-accent);filter:none}
.hv-btn:focus-visible,.hv-chip:focus-visible{outline:3px solid var(--hv-accent);outline-offset:3px}

/* Chips: one short thing to say. */
.hv-chips{display:flex;flex-wrap:wrap;gap:10px}
button.hv-chip{min-height:44px;padding:9px 16px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);color:var(--hv-text);font:700 14px var(--hv-font-display);cursor:pointer;transition:border-color var(--hv-fast) ease}
button.hv-chip:hover{border-color:var(--hv-accent)}

/* Cards. */
.hv-panel{background:var(--hv-card);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);padding:24px 28px;color:var(--hv-text)}
.hv-panel h2{margin:0 0 10px;font:700 clamp(1.15rem,1.9vw,1.4rem)/1.2 var(--hv-font-display);letter-spacing:-.02em}
.hv-eyebrow{margin:0 0 10px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.hv-note{margin:10px 0 0;font:500 13px/1.45 var(--hv-font-body);color:var(--hv-text-soft)}

/* Facts: a term, its value, and where it came from. */
.hv-facts{display:grid;margin:0}
.hv-facts>div{display:grid;grid-template-columns:minmax(0,9.5rem) 1fr;gap:4px 18px;padding:11px 0;border-top:1px solid var(--hv-edge)}
.hv-facts>div:first-child{border-top:0}
.hv-facts dt{font:500 14px var(--hv-font-body);color:var(--hv-text-soft)}
.hv-facts dd{margin:0;font:700 15px/1.4 var(--hv-font-body);color:var(--hv-text)}
.hv-facts dd small{display:block;margin-top:2px;font:500 12px/1.4 var(--hv-font-body);color:var(--hv-text-soft)}

/* Tiles: the number, then its word. */
.hv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}
.hv-tiles>div{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:20px;background:var(--hv-chip)}
.hv-tiles b{font:800 26px/1.1 var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text);font-variant-numeric:tabular-nums}
.hv-tiles span{font:500 13px var(--hv-font-body);color:var(--hv-text-soft)}

/* One home, for someone evaluating it: the photographs lead, then the home in a glance with its next step, then what was checked,
   where it sits, the place around it and what it costs to live there. Single column on a phone, a wide rail beside it on a desktop. */
.hv-home{display:flex;flex-direction:column;gap:16px}
.ah-focus .ah-gallery{border-radius:var(--hv-radius-sheet)}
.ah-focus .ah-gallery .ah-photo-stage .ah-mainpic{height:clamp(260px,46vw,560px)}
.hv-glance{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
.hv-glance h2{margin:0;font:800 clamp(1.6rem,3vw,2.25rem)/1.05 var(--hv-font-display);letter-spacing:-.035em}
.hv-where{margin:6px 0 0;font:500 15px var(--hv-font-body);color:var(--hv-text-soft)}
.hv-price{margin:12px 0 16px;font:800 clamp(2rem,4vw,2.75rem)/1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
.hv-price small{font:500 16px var(--hv-font-body);color:var(--hv-text-soft);letter-spacing:0}
.hv-next{display:flex;flex-direction:column;gap:12px;justify-content:center}
.hv-next .hv-btn{width:100%}
.hv-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}
.hv-around{display:flex;gap:22px;flex-wrap:wrap}
.hv-around b{display:block;font:800 22px var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text)}
.hv-around span{font:500 13px/1.35 var(--hv-font-body);color:var(--hv-text-soft)}
.hv-around-list{list-style:none;margin:14px 0 0;padding:0;display:grid}
.hv-around-list li{display:grid;gap:3px;padding:11px 0;border-top:1px solid var(--hv-edge)}
.hv-around-list span{font:500 15px/1.5 var(--hv-font-body);color:var(--hv-text)}
.hv-around-list small{font:500 12px var(--hv-font-body);color:var(--hv-text-soft)}
@media (max-width:760px){
  .hv-glance{grid-template-columns:1fr}
  .hv-panel{padding:20px}
  .hv-facts>div{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){a.hv-btn,button.hv-btn,button.hv-chip{transition:none}}

/* Server-rendered listing pages: the photographs lead; a grid of Homes; held states. */
.hv-shell-page{background:var(--hv-surface);color:var(--hv-text);font-family:var(--hv-font-body);padding:calc(96px + env(safe-area-inset-top,0px)) clamp(18px,3.4vw,48px) 72px}
.hv-shell-page main{max-width:1180px;margin:0 auto}
.hv-shell-page h1{margin:0;font:800 clamp(1.8rem,3.4vw,2.6rem)/1.05 var(--hv-font-display);letter-spacing:-.035em}
.hv-shell-page p{margin:0 0 12px}
.hv-shell-page a:not(.hv-btn){color:var(--hv-accent);text-underline-offset:3px}
.hv-gallery{display:grid;gap:8px;border-radius:var(--hv-radius-sheet);overflow:hidden;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,clamp(120px,17vw,230px)))}
.hv-gallery figure{margin:0;min-width:0;background:var(--hv-card-solid)}
.hv-gallery figure:first-child{grid-row:1/3}
.hv-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.hv-gallery.n1{grid-template-columns:1fr;grid-template-rows:clamp(240px,46vw,520px)}
.hv-gallery.n2{grid-template-columns:2fr 1fr;grid-template-rows:clamp(240px,40vw,480px)}
.hv-gallery.n2 figure:first-child,.hv-gallery.n1 figure:first-child{grid-row:auto}
.hv-detail{display:flex;flex-direction:column;gap:16px}
.hv-detail .hv-next .hv-btn{width:100%}
.hv-notices p{font:500 13px/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.hv-held{max-width:720px}
.hv-held h1{margin-bottom:14px}
.hv-listings-head{max-width:720px;margin:0 0 28px}
.hv-homegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:24px}
.hv-homecard{overflow:hidden;border-radius:var(--hv-radius-panel);background:var(--hv-card-solid);border:1px solid var(--hv-edge)}
.hv-homecard a{display:block;color:inherit;text-decoration:none}
.hv-homecard figure{margin:0;height:220px;background:var(--hv-chip)}
.hv-homecard img{display:block;width:100%;height:100%;object-fit:cover}
.hv-homecard>a>div{padding:18px 22px 22px}
.hv-homecard h2{margin:0 0 4px;font:800 20px/1.15 var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text)}
.hv-cardprice{font:800 24px var(--hv-font-display);letter-spacing:-.02em;margin:8px 0 2px}
.hv-where{color:var(--hv-text-soft)}
@media (max-width:760px){
  .hv-gallery,.hv-gallery.n2{grid-template-columns:1fr 1fr;grid-template-rows:clamp(200px,60vw,320px) clamp(90px,28vw,150px)}
  .hv-gallery figure:first-child{grid-column:1/3;grid-row:1}
  .hv-gallery figure:nth-child(n+4){display:none}
  .hv-gallery.n1{grid-template-columns:1fr;grid-template-rows:clamp(220px,62vw,340px)}
}

/* Listing detail (one home, for someone evaluating it): one column, full width (CEO 2026-10-10). Each panel is its own row. */
.hv-trio{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:stretch}
.hv-trio.n1{grid-template-columns:minmax(0,1fr)}
.hv-duo{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:stretch}
.hv-duo.one{grid-template-columns:minmax(0,1fr)}
.hv-trio>.hv-panel,.hv-duo>.hv-panel{height:100%}
.hv-trio .ah-bare{margin:0 0 4px}
.hv-trio .hv-facts dd{overflow-wrap:anywhere}
@media (max-width:760px){
  .hv-trio,.hv-trio.n2,.hv-trio.n3,.hv-duo{grid-template-columns:minmax(0,1fr)}
}
.hv-glance>.hv-panel:first-child{display:flex;flex-direction:column;justify-content:center}
@media all{
  .hv-glance .hv-next{flex-direction:row;flex-wrap:wrap;align-items:center}
  .hv-glance .hv-next .hv-btn{flex:1 1 200px;width:auto}
  .hv-glance .hv-next .hv-note{flex:1 1 100%;margin:0}
}
@media (max-width:760px){
  /* No tile is left alone on a row: 5 tiles are 3 over 2, 4 are 2 over 2, 3 sit in one row. */
  .hv-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hv-tiles>div{grid-column:span 2;padding:12px 12px}
  .hv-tiles b{font-size:22px}
  .hv-tiles.n5>div:nth-child(n+4),.hv-tiles.n4>div,.hv-tiles.n2>div{grid-column:span 3}
  .hv-tiles.n1>div{grid-column:1/-1}
}

/* The price: its own space and emphasis, in the homepage's heading scale. */
.hv-glance .hv-panel:first-child h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.hv-glance .hv-where{margin:8px 0 0}
.hv-glance .hv-price{margin:30px 0 32px;padding:26px 0 0;border-top:1px solid var(--hv-edge);font:800 clamp(2.9rem,6.4vw,4.25rem)/1 var(--hv-font-display);letter-spacing:-.045em}
.hv-glance .hv-price small{margin-left:6px;font:600 clamp(1.05rem,1.8vw,1.3rem) var(--hv-font-body);letter-spacing:0}
.hv-glance .hv-tiles{margin-top:4px}
/* Schools named by the listing, each with TEA's own rating and report. */
.hv-school-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
.hv-school-grid.n1{grid-template-columns:minmax(0,1fr)}
.hv-school-grid.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hv-school{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px 20px;border-radius:20px;background:var(--hv-chip);min-width:0}
.hv-school .hv-eyebrow{margin:0}
.hv-school b{font:800 19px/1.2 var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text);overflow-wrap:anywhere}
.hv-tea{font:600 14px var(--hv-font-body);color:var(--hv-text-soft)}
.hv-tea i{display:inline-block;margin-left:6px;padding:2px 12px;border-radius:999px;background:var(--hv-card-solid);border:1px solid var(--hv-edge);font:800 15px var(--hv-font-display);font-style:normal;color:var(--hv-text)}
.hv-school a{font:700 14px var(--hv-font-display);color:var(--hv-accent);text-underline-offset:3px}
@media (max-width:760px){.hv-school-grid,.hv-school-grid.n2{grid-template-columns:minmax(0,1fr)}}

/* ---- havlo-client.css ---- */
/* HAVLO client pages: /account and /residents, for someone who already lives with Havlo. A calm task desk: what needs you first,
   what Havlo is handling next, the conversation beside it. No photograph, no marketing hero. Scoped to .cl so no other page moves.
   New layer file beside the UI kit; it reads the surface tokens only (havlo-tokens.css), sans type only, Day and Night as equals. */
#top .cl{background:var(--hv-surface);color:var(--hv-text);padding:calc(96px + env(safe-area-inset-top,0px)) 0 72px;min-height:60vh;font-family:var(--hv-font-body)}
.cl .cl-wrap{width:calc(100% - 2 * clamp(18px,3.4vw,48px));max-width:1180px;margin:0 auto;display:grid;gap:18px}
.cl .cl-head{display:grid;gap:10px;max-width:760px;padding:8px 0 6px}
.cl .cl-head .eyebrow{margin:0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.cl .cl-head h1{margin:0;font:800 clamp(1.9rem,3.8vw,2.9rem)/1.03 var(--hv-font-display);letter-spacing:-.04em;color:var(--hv-text);text-wrap:balance}
.cl .cl-head .pv-lede{margin:0;font:500 1.0625rem/1.5 var(--hv-font-body);color:var(--hv-text-soft);max-width:60ch}

/* Cards and buttons: the home's panel and action corner. */
.cl .cl-card{background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);padding:clamp(20px,2.6vw,32px);color:var(--hv-text);box-shadow:none;min-width:0}
.cl .cl-card h2{margin:0 0 4px;font:800 clamp(1.3rem,2.2vw,1.7rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
.cl .cl-card h3{margin:22px 0 8px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.cl .cl-card h4{margin:0 0 4px;font:700 1.0625rem/1.25 var(--hv-font-display);letter-spacing:-.01em;color:var(--hv-text)}
.cl .btn,.cl a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action);font:var(--hv-action-weight) 15px var(--hv-font-display);text-decoration:none;cursor:pointer}
.cl .btn-line,.cl a.btn-line{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:var(--hv-radius-action);background:transparent;color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge);font:700 15px var(--hv-font-display);text-decoration:none;cursor:pointer}
.cl .btn:hover{filter:brightness(1.08)}
.cl .btn-line:hover{box-shadow:inset 0 0 0 1px var(--hv-accent)}
.cl .btn:focus-visible,.cl .btn-line:focus-visible{outline:3px solid var(--hv-accent);outline-offset:3px}
.cl .btn[disabled],.cl .btn-line[disabled]{opacity:.55;cursor:not-allowed}
.cl .short{margin:0;padding:0;background:none;border-radius:0;font:500 1rem/1.5 var(--hv-font-body);color:var(--hv-text)}
.cl .j-note{margin:6px 0 0;font:500 .875rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.cl .pv-notice{margin:0;max-width:760px;font:500 .8125rem/1.55 var(--hv-font-body);color:var(--hv-text-soft)}
.cl .pv-notice .sel{color:var(--hv-text);font-weight:700}
.cl a:not(.btn):not(.btn-line){color:var(--hv-accent);text-underline-offset:3px}
.cl .lg-actions,.cl .cl-quick{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}

/* Residents: the conversation card beside the help it composes. */
.cl .cl-desk{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start}
.cl .cl-talk{position:static;display:flex;flex-direction:column;gap:14px}
.cl .cl-talk .page-chat{margin:0;max-width:none;display:grid;gap:10px}
.cl .cl-talk .page-chat:empty{display:none}
.cl .cl-talk .page-composer-slot,.cl .cl-ask .page-composer-slot{position:static;margin:0;max-width:none;width:100%}
.cl .cl-talk .composer,.cl .cl-ask .composer{display:flex;align-items:center;gap:8px;margin:0;padding:6px 6px 6px 22px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);color:var(--hv-text);box-shadow:none;position:static}
.cl .composer textarea,.cl .composer input{flex:1;min-width:0;background:transparent;color:var(--hv-text);border:0;outline:0;font:500 1rem var(--hv-font-body)}
.cl .composer .send{min-width:50px;min-height:46px;border:0;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action)}
.cl .cl-quick{margin:2px 0 0}
.cl .cx{display:block;position:static;grid-area:auto;margin:0;padding:clamp(20px,2.6vw,32px);background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);color:var(--hv-text);min-width:0;container-type:normal}
.cl .cx .eyebrow,.cl .cx .cx-eyebrow{color:var(--hv-accent)}
.cl .cx .cx-title{font:800 clamp(1.5rem,2.6vw,2.1rem)/1.05 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-text)}
.cl .cx .cx-lede{color:var(--hv-text-soft)}
.cl .cx .cx-tile{background:var(--hv-chip);box-shadow:none;border-radius:20px;color:var(--hv-text)}
.cl .cx .cx-chip{background:var(--hv-field);color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge)}
.cl .cx .cx-sum{background:var(--hv-chip);color:var(--hv-text)}
.cl .cx .btn,.cl .cx .btn-line{min-height:44px}

/* What Havlo provides: a quiet reference under the desk, in columns rather than a heavy card. */
.cl .cl-provides{margin-top:10px}
.cl .cl-provides .lg-provides{background:none;border:0;padding:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr);gap:8px clamp(20px,4vw,56px);align-items:start;border-top:1px solid var(--hv-edge);padding-top:34px;color:var(--hv-text)}
.cl .cl-provides h2{margin:0;font:800 clamp(1.4rem,2.4vw,1.9rem)/1.05 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-text)}
.cl .cl-provides .short{color:var(--hv-text-soft)}
.cl .cl-provides .pr{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cl .cl-provides .pr-g h3{margin:0 0 10px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.cl .cl-provides ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cl .cl-provides li{display:grid;gap:2px;padding:0}
.cl .cl-provides li::before{content:none!important}
.cl .cl-provides li b{font:700 .9375rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.cl .cl-provides li span{font:500 .875rem/1.45 var(--hv-font-body);color:var(--hv-text-soft)}

/* Account: a status-first desk. The resident or owner view is the main column; search and tours sit beside it. */
/* One column, full width (CEO 2026-10-10: single-column composition, never a two-column split): the person's home
   first, then their search, then the terms, each a full-width card in reading order. */
.cl .cl-account{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);align-items:start;margin:0;padding:0;background:none;border:0}
.cl .cl-account>[data-account-state]{font:600 .9375rem var(--hv-font-display);color:var(--hv-text-soft)}
.cl .cl-account:has(.acct-view)>[data-account-state]{display:none}
.cl .cl-account:has(.acct-out){max-width:620px;padding:clamp(24px,4vw,40px);background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);display:block}
.cl .cl-account:has(.acct-out)>[data-account-state]{display:block;font:800 clamp(1.4rem,2.6vw,1.9rem)/1.15 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
.cl .acct-out{margin-top:20px}
.cl .cl-account>.acct-view.lg-actions{display:flex;justify-content:flex-start;margin:0}
.cl .cl-card .cl-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 6px}
.cl .cl-card .cl-actions .btn,.cl .cl-card .cl-actions .btn-line{width:100%;text-align:center;padding:0 14px;min-height:56px;border-radius:22px;line-height:1.2}
.cl .acct-cases{margin-top:6px}
.cl .acct-cases>.btn-line{margin:0 0 12px;min-height:40px;font-size:13px}
.cl .acct-home{margin:10px 0 0;padding:18px 20px;background:var(--hv-chip);border-radius:24px}
.cl .acct-home .cl-status{display:inline-flex;margin:6px 0 4px;padding:5px 12px;border-radius:var(--hv-radius-pill);background:var(--hv-watch-fill);color:var(--hv-watch-text);font:700 .8125rem var(--hv-font-display)}
.cl .lg-list{list-style:none;margin:8px 0 0;padding:0;display:grid}
.cl .lg-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:11px 0;border-top:1px solid var(--hv-edge);font:500 .9375rem/1.45 var(--hv-font-body);color:var(--hv-text-soft)}
.cl .lg-list li:first-child{border-top:0}
.cl .lg-list li b{color:var(--hv-text);font-weight:700}
.cl .lg-list .btn-line{min-height:38px;padding:0 16px;font-size:13px}
.cl .acct-notes{margin-top:8px;padding-top:2px}
.cl .acct-name{display:grid;gap:10px;margin:14px 0}
.cl .acct-name label,.cl .acct-sold label{display:grid;gap:4px;font:600 .875rem var(--hv-font-body);color:var(--hv-text-soft)}
.cl .acct-name input,.cl .acct-sold input,.cl .acct-sold select{min-height:46px;padding:0 14px;border:1px solid var(--hv-edge);border-radius:16px;background:var(--hv-field);color:var(--hv-text);font:500 1rem var(--hv-font-body)}
.cl .acct-sold{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}
.cl .acct-sold-ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cl .acct-sold-li{display:flex;gap:12px;align-items:center}
.cl .acct-sold-li img{width:84px;height:64px;object-fit:cover;border-radius:14px}
.cl .acct-vow ol{padding-left:1.2em;color:var(--hv-text-soft);font-size:.9375rem}
.cl .cl-ask{display:grid;gap:12px;max-width:760px}
.cl .cl-ask h2{margin:0;font:800 1.15rem var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text)}
.cl .cl-ask .page-chat{margin:0;max-width:none}
.cl .cl-ask .page-chat:empty{display:none}

@media (max-width:1023px){
  .cl .cl-desk{grid-template-columns:minmax(0,1fr)}
  .cl .cl-talk{position:static}
  .cl .cl-account{grid-template-columns:minmax(0,1fr)}
  .cl .cl-account>#acct-resident,.cl .cl-account>#acct-owner,.cl .cl-account>#acct-search{grid-column:1;grid-row:auto}
  .cl .cl-provides .lg-provides{grid-template-columns:minmax(0,1fr)}
  .cl .cl-provides .pr{grid-column:1;grid-row:auto}
}
@media (max-width:700px){
  .cl .cl-provides .pr{grid-template-columns:minmax(0,1fr)}
  .cl .cl-card .cl-actions{grid-template-columns:minmax(0,1fr)}
  .cl .cl-card .cl-actions .btn,.cl .cl-card .cl-actions .btn-line{min-height:52px}
  .cl .cl-quick .btn,.cl .cl-quick .btn-line{flex:1 1 100%}
  .cl .cl-card,.cl .cx{border-radius:24px}
}

/* Second pass: calmer detail. */
.cl .cl-provides .lg-provides{grid-template-rows:auto 1fr}
.cl .cl-provides .pr{grid-row:auto}
.cl .cl-provides .lg-provides>.short{align-self:start;border:0;margin:0}
.cl .cl-provides .lg-provides>.short::before,.cl .cl-provides .lg-provides>.short::after{content:none}
.cl .cx .btn,.cl .cx .btn-line{margin-top:12px}
.cl .cl-sos{padding:16px 22px;border-radius:24px;background:var(--hv-chip);max-width:none;font-size:.9375rem;color:var(--hv-text)}
.cl .cl-quick .btn,.cl .cl-quick .btn-line{flex:1 1 auto}
.cl .cl-card .cl-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.cl .cl-card .cl-actions>:first-child{grid-column:1/-1}
.cl .acct-home .btn-line{background:var(--hv-card-solid)}
.cl .composer textarea{min-height:46px;height:46px;resize:none;padding:11px 0}
.cl .composer textarea::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Third pass: the account desk is one full-width column in reading order (CEO 2026-10-10). */
.cl .cl-account:has(.acct-view){display:block}
.cl .cl-account>.acct-view{display:block;margin:0 0 18px}
.cl .cl-account>.acct-view.lg-actions{margin:0}
.cl .cl-card>h2:last-child{margin-bottom:0}
.cl .cl-reset{display:none;margin:12px 0 0;min-height:40px;font-size:13px}
.cl .acct-cases:has([data-case-ref][aria-pressed="true"]) .cl-reset{display:inline-flex}
.cl .acct-cases>.btn-line.cl-reset{margin-top:12px}
.cl .cl-iabs{margin:12px 0 0;font:500 .9375rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.cl .cl-terms{margin:16px 0 4px;border-top:1px solid var(--hv-edge);padding-top:12px}
.cl .cl-terms summary{cursor:pointer;font:700 .9375rem var(--hv-font-display);color:var(--hv-text)}
.cl .cl-terms p{margin:10px 0 0;font:500 .875rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.cl .cl-terms ol{margin:10px 0 0}
.cl .acct-vow>.btn{margin-top:14px}
.cl .acct-notes>.btn,.cl .acct-notes>.btn-line{margin-top:12px}
/* The ending every page carries (its action and where to go next) sits in the desk's own width; the decorative word band is not drawn here. */
.cl .marquee{display:none}
.cl .room-end{width:calc(100% - 2 * clamp(18px,3.4vw,48px));max-width:1180px;margin:18px auto 0;padding:0;background:none}
.cl .room-end>.lg{background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);padding:clamp(20px,2.6vw,32px);max-width:none;margin:0;box-shadow:none;color:var(--hv-text)}
.cl .room-end h2{margin:0 0 14px;font:800 clamp(1.3rem,2.2vw,1.7rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
.cl .room-act{display:flex;flex-wrap:wrap;gap:10px}
.cl .room-next-h{margin:22px 0 10px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.cl .room-next{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.cl .room-next a{display:grid;gap:2px;padding:14px 18px;border-radius:20px;background:var(--hv-chip);color:var(--hv-text);text-decoration:none}
.cl .room-next b{font:700 1rem var(--hv-font-display)}
.cl .room-next span{font:500 .875rem var(--hv-font-body);color:var(--hv-text-soft)}
.cl .room-home{margin:16px 0 0}
.cl .lg .short{box-shadow:none;padding:0;max-width:none;background:none;border-radius:0}
@media (max-width:1023px){.cl .cl-provides .pr{grid-row:auto}.cl .cl-provides .lg-provides{grid-template-rows:none}}
@media (max-width:700px){.cl .cl-card .cl-actions{grid-template-columns:minmax(0,1fr)}}

/* ---- havlo-nb.css ---- */
/* Neighborhoods index and place pages (design wave 2): a place-first, comparison-ready composition built on the same language as the
   rooms (Rust tokens, Manrope and Instrument Sans, 28px panels, action corner). A shared component file of its own: nothing in
   the kit changes, and every rule is scoped to .nb2 or to the place pages (#page-area, #page-areas), so no other page moves.
   Order of a place page: conversation, the place in sourced numbers, live homes (composed beside the conversation), the places
   inside it, public figures, schools with the map, what is mapped, the way sideways. */

/* The figures that lead: a dark strip under the conversation, like the one on the rooms, but carrying the place's own numbers. */
.nb2{color:var(--rm-ink);font-family:var(--rm-body)}
.nb2-strip{grid-area:5/2/6/5;position:relative;z-index:2;margin-top:-24px;display:grid;gap:22px;padding:clamp(22px,3vw,34px);background:var(--rm-strip);color:#fff;border:1px solid var(--rm-strip-line);border-radius:28px}
.nb2-head{display:grid;gap:8px}
.nb2-eyebrow{margin:0;font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:#b86530}
.nb2-head h2{margin:0;font:800 clamp(1.4rem,2.6vw,2rem)/1.05 var(--rm-display);letter-spacing:-.03em;color:#fff;max-width:none}
.nb2-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nb2-sides.n1{grid-template-columns:minmax(0,1fr)}
.nb2-side{display:grid;gap:10px;align-content:start;padding:clamp(18px,2.4vw,26px);border-radius:22px;background:rgb(255 255 255 /.07)}
.nb2-k{margin:0;font:700 .9375rem/1.2 var(--rm-display);color:rgb(255 255 255 /.78)}
.nb2-big{margin:0;font:800 clamp(2.1rem,4.4vw,3.25rem)/1 var(--rm-display);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
.nb2-big small{margin-left:4px;font:600 1rem var(--rm-body);letter-spacing:0;color:rgb(255 255 255 /.7)}
.nb2-rows{display:grid;margin:6px 0 0}
.nb2-rows>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgb(255 255 255 /.14);font:500 .9375rem/1.35 var(--rm-body)}
.nb2-rows dt{color:rgb(255 255 255 /.78)}
.nb2-rows dd{margin:0;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;text-align:right}
.nb2-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nb2-cells.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nb2-cells.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.nb2-cells.n1{grid-template-columns:minmax(0,1fr)}
.nb2-cell{display:grid;gap:6px;align-content:start;padding:clamp(16px,2vw,22px);border-radius:22px;background:rgb(255 255 255 /.07)}
.nb2-cell b{font:800 clamp(1.9rem,3.4vw,2.75rem)/1 var(--rm-display);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
.nb2-cell span{font:600 .9375rem/1.35 var(--rm-body);color:#fff}
.nb2-cell small{font:500 .8125rem/1.4 var(--rm-body);color:rgb(255 255 255 /.68)}
.nb2-src{margin:0;font:500 .8125rem/1.5 var(--rm-body);color:rgb(255 255 255 /.7)}

/* The index's side-by-side table: the same figures for every town, in the same order of columns. */
.nb2-compare{display:grid;gap:18px;padding:clamp(22px,3vw,34px);background:var(--rm-mist);border-radius:28px}
.nb2-compare .nb2-eyebrow{color:var(--rm-rust)}
.nb2-compare .nb2-head h2{color:var(--rm-ink)}
.nb2-compare .nb2-src{color:var(--rm-muted)}
.nb2-scroll{overflow-x:auto}
.nb2-compare table{width:100%;border-collapse:collapse;font:500 1rem/1.4 var(--rm-body)}
.nb2-compare th,.nb2-compare td{padding:14px 16px;border-top:1px solid var(--rm-line);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.nb2-compare thead th{border-top:0;font:800 .75rem/1.2 var(--rm-display);letter-spacing:.08em;text-transform:uppercase;color:var(--rm-muted)}
.nb2-compare th:first-child,.nb2-compare td:first-child{text-align:left;padding-left:0}
.nb2-compare tbody th{font:800 1.0625rem var(--rm-display);letter-spacing:-.01em}
.nb2-compare tbody a{color:var(--rm-ink);text-decoration:none}
.nb2-compare tbody a:hover,.nb2-compare tbody a:focus-visible{color:var(--rm-rust);text-decoration:underline;text-underline-offset:4px}
.nb2-compare tbody tr:hover td,.nb2-compare tbody tr:hover th{background:var(--rm-sheet)}

/* Places with no photograph of their own are plain tiles, never the same skyline again. */
#top .pv-cine .area-card.nophoto .ac-ph{display:none}
#top .pv-cine .area-card.nophoto{background:var(--rm-mist);box-shadow:inset 0 0 0 1px var(--rm-line)}
#top .pv-cine .area-card.nophoto .ac-tx{padding:22px 24px 24px;gap:8px}
#top .pv-cine .area-card.story.nophoto{display:block;min-height:0;background:var(--rm-strip);box-shadow:none;color:#fff}
#top .pv-cine .area-card.story.nophoto .ac-tx{position:static;padding:58px 24px 24px;gap:8px}
#top .pv-cine .area-card.story.nophoto:hover,#top .pv-cine .area-card.story.nophoto:focus-visible{box-shadow:inset 0 0 0 2px #b86530}
#top .pv-cine .story-reel:has(.nophoto){grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));align-items:stretch}

/* The place page. The conversation's script lays each article of a place page out as a band; here the bands sit in one 12-column
   grid so pairs share a row while there is room (map beside schools, public figures beside what is mapped) and a lone panel spans it. */
#top :is(#page-area,#page-areas) .pv-bands{width:auto;margin:0;padding:clamp(24px,3vw,40px) var(--rm-pad) clamp(40px,5vw,72px);max-width:none;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch}
#top :is(#page-area,#page-areas) .pv-bands>.band{grid-column:1/-1;padding:0;background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none;min-width:0;color:var(--rm-ink)}
#top :is(#page-area,#page-areas) .pv-bands>.band:first-child,#top :is(#page-area,#page-areas) .pv-bands>.band:last-child{padding:0}
#top :is(#page-area,#page-areas) .pv-bands>.band>.lg{height:100%;box-sizing:border-box;max-width:none;margin:0}
#top :is(#page-area,#page-areas) .pv-bands>.band>.band-split{grid-template-columns:minmax(0,1fr);gap:18px}
#top :is(#page-area,#page-areas) .pv-bands>.band .band-head{position:static}
#top :is(#page-area,#page-areas) .pv-bands>.band>.lg .band-head h2{font:800 clamp(1.5rem,2.6vw,2.1rem)/1.08 var(--rm-display);letter-spacing:-.03em;max-width:none}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.area-root:empty){display:none}
#top :is(#page-area,#page-areas) .pv-bands>.band.room-end{grid-column:1/-1}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-level){order:1}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-live){order:2}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.mf),#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-within){order:3}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-map),#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-schools){order:4}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-lm){order:6}
#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.nb-facts){order:7}
#top :is(#page-area,#page-areas) .pv-bands>.band.room-end{order:9}
#top :is(#page-area,#page-areas) .pv-bands.no-map>.band:has(>.nb-schools){grid-column:1/-1!important}
@media (min-width:1100px){
  #top :is(#page-area,#page-areas) .pv-bands:has(.nb-map):has(.nb-schools)>.band:has(>.nb-map){grid-column:span 5}
  #top :is(#page-area,#page-areas) .pv-bands:has(.nb-map):has(.nb-schools)>.band:has(>.nb-schools){grid-column:span 7}
  #top :is(#page-area,#page-areas) .pv-bands:has(.mf):has(.nb-within)>.band:has(>.mf),#top :is(#page-area,#page-areas) .pv-bands:has(.mf):has(.nb-within)>.band:has(>.nb-within){grid-column:span 6}
}
.nb-map .place-map{min-height:360px;height:100%}
#page-area .nb-map{display:grid;grid-template-rows:auto 1fr auto}
#page-area .nb-schools .tbl{overflow-x:auto}
#page-area .nb-schools td:nth-child(2){white-space:nowrap}
/* The public figures: one card per fact, drawn to scale (bars from zero, a line over the months, stat tiles), grouped by area.
   The plain sentence stays in each card as its description for screen readers. Both themes come from the --rm tokens. */
.mf .mf-group{margin-top:22px;min-width:0}
.mf .mf-area{margin:0 0 10px;font:800 .75rem/1.3 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
.mf .mf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;align-items:start;margin:0;padding:0;list-style:none}
.mf .mf-card{display:grid;grid-template-rows:1fr auto;gap:12px;min-width:0;padding:16px 18px;border-radius:20px;background:var(--rm-mist);border:1px solid var(--rm-line);color:var(--rm-ink)}
.mf .mf-card figure{margin:0;display:grid;gap:12px;align-content:start;min-width:0}
.mf .mf-title{font:800 .9375rem/1.3 var(--rm-display);letter-spacing:-.01em;color:var(--rm-ink)}
.mf .mf-viz{display:grid;gap:10px;min-width:0}
.mf .mf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.mf .mf-fact{margin:0;font:500 1rem/1.5 var(--rm-body);color:var(--rm-ink)}
.mf .mf-src{margin:0;font:500 .75rem/1.4 var(--rm-body);color:var(--rm-muted)}
.mf .mf-row{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:10px}
.mf .mf-rl{font:600 .8125rem var(--rm-body);color:var(--rm-muted)}
.mf .mf-rv{font:800 1.0625rem var(--rm-display);font-variant-numeric:tabular-nums;color:var(--rm-ink);min-width:3.2ch;text-align:right}
.mf .mf-bar{display:block;width:100%;height:14px}
.mf .mf-trk{fill:var(--rm-line)}
.mf .mf-b0 .mf-fill{fill:var(--rm-muted);fill-opacity:.55}
.mf .mf-b1 .mf-fill{fill:var(--rm-rust)}
.mf .mf-grp{display:grid;gap:6px}
.mf .mf-grp+.mf-grp{padding-top:10px;border-top:1px solid var(--rm-line)}
.mf .mf-gl{margin:0;font:700 .875rem var(--rm-display);color:var(--rm-ink)}
.mf .mf-key{display:grid;gap:2px;margin:0;font:500 .75rem/1.4 var(--rm-body);color:var(--rm-muted)}
.mf .mf-sw{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;vertical-align:-1px}
.mf .mf-sw.mf-b0{background:var(--rm-muted);opacity:.55}
.mf .mf-sw.mf-b1{background:var(--rm-rust)}
.mf .mf-chg{display:inline-flex;align-items:baseline;gap:6px;font:600 .8125rem/1.35 var(--rm-body);color:var(--rm-ink)}
.mf .mf-arrow{font-size:.7rem;color:var(--rm-rust)}
.mf .mf-line{display:block;width:100%;height:auto;max-height:110px;overflow:visible}
.mf .mf-base{stroke:var(--rm-line2);stroke-width:1}
.mf .mf-under{fill:var(--rm-rust);fill-opacity:.12}
.mf .mf-pl{fill:none;stroke:var(--rm-rust);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mf .mf-dot{fill:var(--rm-rust);stroke:var(--rm-mist);stroke-width:1.5}
.mf .mf-ends{display:flex;justify-content:space-between;gap:12px}
.mf .mf-ends span{display:grid;gap:1px}
.mf .mf-ends span:last-child{text-align:right}
.mf .mf-ends small{font:500 .75rem var(--rm-body);color:var(--rm-muted)}
.mf .mf-ends b{font:800 1.0625rem var(--rm-display);font-variant-numeric:tabular-nums}
.mf .mf-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:10px}
.mf .mf-tile{display:grid;gap:3px;align-content:start;min-width:0;padding:12px 12px 10px;border-radius:14px;background:var(--rm-sheet);border:1px solid var(--rm-line)}
.mf .mf-tl{font:600 .8125rem/1.3 var(--rm-body);color:var(--rm-muted)}
.mf .mf-tv{font:800 1.5rem/1.1 var(--rm-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mf .mf-tc{font:500 .8125rem/1.35 var(--rm-body);color:var(--rm-muted)}
.mf .mf-link{margin:0;font:500 .8125rem/1.4 var(--rm-body);color:var(--rm-muted)}
.mf .mf-link a{color:var(--rm-ink);text-underline-offset:3px}
@media (max-width:520px){.mf .mf-card{padding:14px}.mf .mf-tv{font-size:1.375rem}}
#page-area .nb-within .wr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
#page-area .wr-t{display:grid;gap:4px;align-content:start;padding:16px 18px;border-radius:20px;background:var(--rm-sheet)}
#page-area .wr-t b{font:800 1.75rem/1.1 var(--rm-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
#page-area .wr-t span{font:700 .9375rem var(--rm-display)}
#page-area .wr-t small{font:500 .8125rem/1.4 var(--rm-body);color:var(--rm-muted)}

#top :is(#page-area,#page-areas) .pv-bands>.band:has(>.area-root){order:5}
/* The words line above the footer fades inside the content width and never starts or ends on half a word. With reduced motion it is
   one still line of whole words (the line is clipped at the last word that fits). */
#top :is(#page-area,#page-areas) .marquee{padding:20px var(--rm-pad)}
#top :is(#page-area,#page-areas) .marquee .mrow{max-width:1312px;margin-inline:auto;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
@media (prefers-reduced-motion:reduce){
  #top :is(#page-area,#page-areas) .marquee .mrow{-webkit-mask-image:none;mask-image:none}
  #top :is(#page-area,#page-areas) .marquee .mtrack{display:flex;flex-wrap:wrap;height:1.4em;overflow:hidden;width:auto;transform:none!important;position:static}
}
/* The rent or sale homes are one scrolling row, so no card is ever left alone on a row. */
#top :is(#page-area,#page-areas) .cx .home-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
#top :is(#page-area,#page-areas) .cx .home-row>.home{flex:0 0 clamp(200px,24%,260px);scroll-snap-align:start}
/* On a phone the schools table is one small card per campus, so no column is cut off. */
@media (max-width:620px){
  #page-area .nb-schools table,#page-area .nb-schools tbody,#page-area .nb-schools tr,#page-area .nb-schools td{display:block}
  #page-area .nb-schools thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  #page-area .nb-schools tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 0;border-top:1px solid var(--rm-line)}
  #page-area .nb-schools td{border:0;padding:0}
  #page-area .nb-schools td:nth-child(1){grid-column:1}
  #page-area .nb-schools td:nth-child(2){grid-column:1;white-space:normal}
  #page-area .nb-schools td:nth-child(3){grid-column:1;font-size:.875rem;color:var(--rm-muted)}
  #page-area .nb-schools td:nth-child(4){grid-column:2;grid-row:1/4;align-self:center}
}
/* Before the conversation starts, its chips are one full-width row and the result sits under it, full width: no empty strip beside the
   content. Once the visitor talks, the conversation and the result share the row as on every other page. */
@media (min-width:1180px){
  #top :is(#page-area,#page-areas).pv-cine:not(.engaged) .cine>.cx,#top :is(#page-area,#page-areas).pv-cine:not(.engaged) .cine:has(.page-chat:not(:empty))>.cx{grid-area:7/2/8/5}
  #top :is(#page-area,#page-areas).pv-cine:not(.engaged) .page-chat{grid-area:6/2/7/5;position:static;max-height:none;padding:18px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
  #top :is(#page-area,#page-areas).pv-cine:not(.engaged) .page-chat .msg,#top :is(#page-area,#page-areas).pv-cine:not(.engaged) .page-chat .chips{margin:0;padding:0;display:contents}
}
/* Schools a community's listings name, beside its homes: the name, how many homes list it, and TEA's rating where it matches exactly. */
.cx-schools{display:grid;gap:8px;margin-top:20px}
.cx-schools .cx-lv{margin:10px 0 0;font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
.cx-sch{list-style:none;margin:0;padding:0;display:grid}
.cx-sch li{display:flex;align-items:baseline;gap:10px 14px;flex-wrap:wrap;padding:11px 0;border-top:1px solid var(--rm-line);font:600 1rem/1.35 var(--rm-body);color:var(--rm-ink)}
.cx-sch li:first-child{border-top:0}
.cx-sch li small{margin-left:auto;font:500 .8125rem var(--rm-body);color:var(--rm-muted)}
.cx-sch li a{color:var(--rm-ink);text-underline-offset:3px}
/* A long place name in the box's hint stays on one line: the field takes the row. */
#top :is(#page-area,#page-areas) .page-composer-slot .composer textarea{flex:1 1 auto;width:100%;min-width:0;text-overflow:ellipsis}
/* The way back up reads "Neighborhoods › Area", one chevron between each pair and none after the last. */
#page-area .area-crumb::after{content:""}
@media (max-width:760px){
  #page-area .nb-level .area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  #top #page-area .area-card.nophoto .ac-tx{padding:16px 16px 18px}
  #top #page-area .area-card b{font-size:1.125rem;overflow-wrap:anywhere}
  #page-area .nb-within .wr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-area .wr-t:last-child:nth-child(odd){grid-column:1/-1}
  #top :is(#page-area,#page-areas) .pv-bands>.band>.lg{padding:20px}
}
@media (max-width:1179px){.nb2-strip{grid-area:5/2/6/-2}.nb2-cells.n4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .nb2-sides{grid-template-columns:minmax(0,1fr)}
  .nb2-cells,.nb2-cells.n3,.nb2-cells.n2{grid-template-columns:minmax(0,1fr)}
  .nb2-cell{grid-template-columns:auto 1fr;align-items:baseline;column-gap:16px}
  .nb2-cell small{grid-column:1/-1}
}
/* Below a table's comfortable width, each town is a small card of labelled figures. */
@media (max-width:960px){
  .nb2-compare table,.nb2-compare tbody,.nb2-compare tr,.nb2-compare th,.nb2-compare td{display:block}
  .nb2-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .nb2-compare tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
  .nb2-compare tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:18px 0;border-top:1px solid var(--rm-line)}
  .nb2-compare th,.nb2-compare td{border:0;padding:0;text-align:left;white-space:normal}
  .nb2-compare tbody th{grid-column:1/-1;font-size:1.25rem}
  .nb2-compare td::before{content:attr(data-l);display:block;font:700 .75rem/1.4 var(--rm-body);color:var(--rm-muted)}
  .nb2-compare tbody tr:hover td,.nb2-compare tbody tr:hover th{background:none}
}
@media (max-width:620px){.nb2-compare tbody{grid-template-columns:minmax(0,1fr)}}

/* A community's hero is its own sign photograph, and the sign is never covered by words: on a wide screen the words and the box sit on the
   left over ink and the sign fills the right 58%; on a phone the sign is the top band and the words start under it. */
#top #page-area .cine-scene[data-place^="mpc-"]{background-color:#101719!important;background-repeat:no-repeat!important;overflow:hidden}
#top #page-area .cine-scene[data-place^="mpc-"]::after{background:linear-gradient(90deg,#101719 0,rgb(16 23 25 /.35) 34%,rgb(16 23 25 /0) 60%)!important}
#top #page-area .cine-scene[data-place^="mpc-"] .cine-shot,#top #page-area .cine-scene[data-place^="mpc-"] img{position:absolute!important;inset:0 0 0 auto!important;width:58%!important;height:100%!important;object-fit:cover;object-position:center}
#top #page-area .cine-scene[data-place^="mpc-"]{background-size:58% 100%!important;background-position:right!important}
@media (min-width:1000px){
  #top #page-area.pv-cine:has(.cine-scene[data-place^="mpc-"]) .cine-head{max-width:480px}
  #top #page-area.pv-cine:has(.cine-scene[data-place^="mpc-"]) .cine-head .pv-lede{max-width:480px}
  #top #page-area.pv-cine:not(.engaged):has(.cine-scene[data-place^="mpc-"]) .page-composer-slot{max-width:480px}
}
@media (max-width:999px){
  #top #page-area .cine-scene[data-place^="mpc-"]{background-size:100% 230px!important;background-position:top!important}
  #top #page-area .cine-scene[data-place^="mpc-"] .cine-shot,#top #page-area .cine-scene[data-place^="mpc-"] img{inset:0 0 auto 0!important;width:100%!important;height:230px!important}
  #top #page-area .cine-scene[data-place^="mpc-"]::after{background:linear-gradient(180deg,rgb(16 23 25 /0) 40%,#101719 100%)!important;height:230px;inset:0 0 auto 0}
  #top #page-area.pv-cine:has(.cine-scene[data-place^="mpc-"]) .cine-head{margin-top:190px}
}
/* Places you'd know: credited photographs in an even row of three, never one full-width picture each. */
#page-area .lm-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;align-items:start}
#page-area .lm-row .lm{margin:0;display:grid;gap:8px}
#page-area .lm-row .lm img{width:100%;height:clamp(180px,22vw,260px);object-fit:cover;border-radius:20px;display:block}
#page-area .lm-row .lm figcaption{font:500 .8125rem/1.4 var(--rm-body);color:var(--rm-muted)}
/* ---- Area portals: explore a town by community, and the homes in it now ---- */
.nb2-browse{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.nb2-browse>span{margin-right:4px;font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:var(--rm-rust)}
.nb2-browse a.j-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line2);color:var(--rm-ink);font:700 .875rem/1 var(--rm-display);text-decoration:none}
.nb2-browse a.j-chip:hover,.nb2-browse a.j-chip:focus-visible{box-shadow:inset 0 0 0 1.5px var(--rm-rust)}
#top .pv-cine .area-grid.portal{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
#top .pv-cine .area-grid.portal .area-card.story{min-height:250px;display:block}
#top .pv-cine .area-grid.portal .area-card.story.nophoto{min-height:190px}
#top .pv-cine .area-card.story .ac-tx{gap:6px}
#top .pv-cine .area-card .ac-live{display:block;min-height:1em;font:600 .8125rem/1.35 var(--rm-body)}
#top .pv-cine .area-card.story:not(.nophoto) .ac-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(16 23 25 /.05) 25%,rgb(16 23 25 /.55) 55%,rgb(16 23 25 /.9))}
.nb-live-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
.nb-seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line2)}
.nb-seg-b{min-height:40px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:var(--rm-ink);font:800 .9375rem/1 var(--rm-display);cursor:pointer}
.nb-seg-b.on{background:var(--rm-ink);color:var(--rm-sheet)}
.nb-live-bar label{display:grid;gap:4px;font:700 .75rem/1 var(--rm-display);letter-spacing:.06em;text-transform:uppercase;color:var(--rm-muted)}
.nb-live-bar select{min-height:44px;padding:0 14px;border:0;border-radius:14px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line2);color:var(--rm-ink);font:600 1rem var(--rm-body);text-transform:none;letter-spacing:0}
.nb-live-bar .nb-all{margin-left:auto}
.nb-live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px;align-items:stretch}
.nb-live-grid .home{height:100%;min-width:0;width:100%}
.nb-live-grid .j-note{grid-column:1/-1}
.nb-live-grid .nb-empty{grid-column:1/-1;display:grid;gap:8px;justify-items:start;padding:22px 24px;border-radius:18px;background:var(--rm-sheet);box-shadow:inset 0 0 0 1px var(--rm-line,rgb(128 128 128 /.25))}
.nb-empty b{font:700 1.05rem/1.3 var(--rm-display)}.nb-empty>span{max-width:56ch;opacity:.8}.nb-empty-go{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
#top #page-area .area-grid.portal{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
@media (max-width:760px){#top #page-area .area-grid.portal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#top #page-area .area-grid.portal .area-card.story{min-height:200px}#top #page-area .area-grid.portal .area-card.story.nophoto{min-height:130px}#top #page-area .area-grid.portal .ac-tx>span{font-size:.8125rem}#top #page-area .area-grid.portal .area-card b{font-size:1.0625rem}}
#top #page-area .area-grid.portal{grid-template-columns:repeat(6,minmax(0,1fr))}
#top #page-area .area-grid.portal .area-card{grid-column:span 2}
#top #page-area .area-grid.portal .area-card.w-half{grid-column:span 3}
#top #page-area .area-grid.portal .area-card.w-full{grid-column:1/-1}
#top #page-area .area-grid.portal .area-card.w-full:not(.nophoto){min-height:300px}
@media (max-width:760px){#top #page-area .area-grid.portal{grid-template-columns:repeat(2,minmax(0,1fr))}#top #page-area .area-grid.portal .area-card,#top #page-area .area-grid.portal .area-card.w-half,#top #page-area .area-grid.portal .area-card.w-full{grid-column:span 1}#top #page-area .area-grid.portal .area-card.m-full{grid-column:1/-1}}
@media (max-width:760px){.nb-live-bar .nb-all{margin-left:0;flex:1 1 100%}.nb-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nb-live-bar label{flex:1 1 40%}.nb-live-bar select{width:100%}}
.nb2-status{margin:0;font:500 1rem/1.5 var(--rm-body);color:rgb(255 255 255 /.82);max-width:70ch}
.nb2-district{margin:0;display:grid;gap:4px;font:500 1rem/1.4 var(--rm-body);color:#fff}
.nb2-district b{font:800 .75rem/1 var(--rm-display);letter-spacing:.1em;text-transform:uppercase;color:#b86530}
.nb2-district small{font:500 .8125rem/1.45 var(--rm-body);color:rgb(255 255 255 /.7)}
.area-card .ac-tx>span>i{font-style:normal}.area-card .ac-tx>span>em{font-style:normal}
@media (max-width:760px){#top #page-area .area-grid.portal .ac-tx>span>i{display:block}#top #page-area .area-grid.portal .ac-tx>span>em{display:none}}

/* ---- havlo-docs.css ---- */
/* HAVLO reading pages (wave 5): About, Data and trust (legal), Who we answer to, Havlo Notes (index and article) and the not-found page.
   One layer file, scoped to .dc so no other page moves. It reads the surface tokens only (havlo-tokens.css), sans type only, Day and Night
   as equals. The language is the home's (28px panels, action corner, Manrope headings, rust eyebrows); the composition belongs to each page:
   legal reads as a long document with a sticky contents rail, accountability as a ledger of rows, About leads with the person,
   Notes is an index beside its sign-up, a note is a single reading column, not-found is one panel. The law text is not touched here. */
#top .dc{background:var(--hv-surface);color:var(--hv-text);padding:calc(96px + env(safe-area-inset-top,0px)) 0 72px;min-height:60vh;font-family:var(--hv-font-body)}
#top .dc .dc-wrap{width:calc(100% - 2 * clamp(18px,3.4vw,48px));max-width:1180px;margin:0 auto;display:grid;gap:clamp(18px,2.4vw,28px);min-width:0}
#top .dc .dc-wrap>*{min-width:0}
#top .dc .eyebrow,#top .dc .sp-eyebrow{margin:0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .eyebrow a{color:inherit}
#top .dc h1{margin:0;font:800 clamp(2rem,4.2vw,3.2rem)/1.03 var(--hv-font-display);letter-spacing:-.04em;color:var(--hv-text);text-wrap:balance}
#top .dc .pv-lede{margin:0;font:500 1.125rem/1.55 var(--hv-font-body);color:var(--hv-text-soft);max-width:62ch}
#top .dc .dc-head{display:grid;gap:12px;max-width:780px;padding:8px 0 4px}
#top .dc .dc-head.dc-split{max-width:none;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,64px);align-items:end}
#top .dc .dc-head.dc-split>div{display:grid;gap:12px}
#top .dc .dc-head.dc-read{max-width:720px;margin:0 auto;width:100%}
#top .dc .dc-meta{margin:2px 0 0;font:600 .875rem var(--hv-font-body);color:var(--hv-text-soft)}

/* Panels, buttons, running text: shared by every reading page. */
#top .dc .lg{background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);padding:clamp(20px,2.6vw,34px);color:var(--hv-text);box-shadow:none;margin:0;display:block;min-width:0}
#top .dc .lg h2{margin:0 0 12px;font:800 clamp(1.4rem,2.5vw,2rem)/1.08 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-text)}
#top .dc .lg h3{margin:18px 0 8px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .lg p{font:500 1rem/1.62 var(--hv-font-body);color:var(--hv-text);margin:0 0 12px;max-width:none}
#top .dc .lg a:not(.btn):not(.btn-line),#top .dc .dc-ask a,#top .dc .sp-link{color:var(--hv-accent);text-underline-offset:3px}
#top .dc .sp-link{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}
#top .dc .btn,#top .dc a.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action);font:800 15px var(--hv-font-display);text-decoration:none;cursor:pointer}
#top .dc .btn-line,#top .dc a.btn-line{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:var(--hv-radius-action);background:transparent;color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge);font:700 15px var(--hv-font-display);text-decoration:none;cursor:pointer}
#top .dc .btn:hover{filter:brightness(1.08)}
#top .dc .btn-line:hover{box-shadow:inset 0 0 0 1px var(--hv-accent)}
#top .dc .btn:focus-visible,#top .dc .btn-line:focus-visible,#top .dc a:focus-visible,#top .dc button:focus-visible{outline:3px solid var(--hv-accent);outline-offset:3px}
#top .dc .lg-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
#top .dc .lg-small{font:500 .875rem/1.55 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .sel{font-weight:700;color:var(--hv-text)}

/* Ask Havlo: the conversation, at the foot of a reading page. */
#top .dc .dc-ask{border-top:1px solid var(--hv-edge);padding-top:22px;display:grid;gap:12px;max-width:760px}
#top .dc .dc-ask h2,#top .dc .dc-talk h2{margin:0;font:800 clamp(1.2rem,2vw,1.5rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
#top .dc .page-chat{margin:0;max-width:none;display:grid;gap:10px}
#top .dc .page-chat:empty{display:none}
#top .dc .page-composer-slot{position:static;margin:0;max-width:none;width:100%}
#top .dc .composer{display:flex;align-items:center;gap:8px;margin:0;padding:6px 6px 6px 22px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);color:var(--hv-text)}
#top .dc .composer textarea,#top .dc .composer input{flex:1;min-width:0;background:transparent;color:var(--hv-text);border:0;outline:0;font:500 1rem var(--hv-font-body)}
#top .dc .composer .send{min-width:50px;min-height:46px;border:0;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action)}

/* ---- Legal: a long document. Summary cards, a sticky contents rail, one reading column. ---- */
#top .dc .dc-glance{display:grid;gap:10px}
#top .dc .dc-glance-h{margin:0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft)}
#top .dc .dc-gl-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#top .dc a.dc-gl{display:grid;gap:8px;align-content:start;padding:18px 20px;border-radius:24px;background:var(--hv-chip);color:var(--hv-text);text-decoration:none;box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc a.dc-gl:hover{box-shadow:inset 0 0 0 1px var(--hv-accent)}
#top .dc a.dc-gl span{font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc a.dc-gl b{font:700 1rem/1.4 var(--hv-font-body);color:var(--hv-text)}
#top .dc .dc-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:10px}
#top .dc .dc-toc{position:sticky;top:104px;display:grid;gap:2px;padding:0;margin:0;background:none;border:0}
#top .dc .dc-toc-h{margin:0 0 8px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft)}
#top .dc .dc-toc a{display:block;padding:8px 12px;border-radius:12px;font:600 .9375rem/1.3 var(--hv-font-body);color:var(--hv-text);text-decoration:none;border-left:2px solid var(--hv-edge);border-radius:0 12px 12px 0}
#top .dc .dc-toc a:hover,#top .dc .dc-toc a.on,#top .dc .dc-toc a[aria-current]{border-left-color:var(--hv-accent);background:var(--hv-chip)}
#top .dc .dc-body{display:grid;gap:0;max-width:var(--hv-reading,760px);min-width:0}
#top .dc-legal .dc-body{max-width:780px}
#top .dc-legal .dc-body>.lg{background:none;border:0;border-top:1px solid var(--hv-edge);border-radius:0;padding:40px 0 36px;scroll-margin-top:100px}
#top .dc-legal .dc-body>.lg:first-child{border-top:0;padding-top:4px}
#top .dc-legal .dc-body>.lg h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:16px}
#top .dc-legal .lg p.short{padding:14px 18px;border-radius:20px;background:var(--hv-chip);box-shadow:inset 3px 0 0 var(--hv-accent);font:500 1.0625rem/1.55 var(--hv-font-body);margin:0 0 18px;max-width:none}
#top .dc-legal .lg p.short b{color:var(--hv-accent);font-weight:800}
#top .dc .lg-list{margin:0 0 14px;padding:0 0 0 1.2em;display:grid;gap:10px;color:var(--hv-text)}
#top .dc .lg-list li{font:500 1rem/1.62 var(--hv-font-body);padding-left:4px}
#top .dc .lg-list li::marker{color:var(--hv-accent)}
#top .dc .lg-dl{margin:0;display:grid}
#top .dc .lg-dl div{display:grid;grid-template-columns:minmax(0,9rem) 1fr;gap:4px 18px;padding:12px 0;border-top:1px solid var(--hv-edge)}
#top .dc .lg-dl div:first-child{border-top:0}
#top .dc .lg-dl dt{font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft)}
#top .dc .lg-dl dd{margin:0;font:600 1rem/1.5 var(--hv-font-body)}
#top .dc .lg-callout{display:grid;gap:8px;margin-top:16px;padding:22px 26px;border-radius:24px;background:var(--hv-chip);box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc .lg-callout b{font:800 1.125rem var(--hv-font-display);color:var(--hv-text)}
#top .dc .lg-callout p{margin:0;color:var(--hv-text-soft)}
#top .dc .lg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
#top .dc .lg-two h3{margin-top:4px}
#top .dc .dc-end{margin-top:12px;padding:clamp(22px,3vw,36px);border-radius:var(--hv-radius-panel);background:var(--hv-band);color:var(--hv-on-band);display:grid;gap:6px}
#top .dc .dc-end h2{margin:0;font:800 clamp(1.4rem,2.4vw,1.9rem)/1.1 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-on-band)}
#top .dc .dc-end .btn{background:var(--hv-action);color:var(--hv-on-action)}

/* ---- Accountability: a ledger. Who checks, then what they check and what that means for you. ---- */
#top .dc .dc-rows{display:grid;border-top:1px solid var(--hv-edge)}
#top .dc .dc-rows>.lg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px clamp(20px,4vw,64px);background:none;border:0;border-bottom:1px solid var(--hv-edge);border-radius:0;padding:30px 0}
#top .dc .dc-who{display:grid;gap:8px;align-content:start}
#top .dc .dc-who h3{margin:0;font:800 clamp(1.25rem,2.1vw,1.65rem)/1.12 var(--hv-font-display);letter-spacing:-.03em;text-transform:none;color:var(--hv-text)}
#top .dc .dc-what p{margin:0 0 12px}
#top .dc .dc-what p:last-child{margin-bottom:0}
#top .dc .sp-you{padding:12px 16px;border-radius:18px;background:var(--hv-chip)}
#top .dc .sp-you b{color:var(--hv-accent)}
#top .dc .sp-check{font-size:.9375rem;color:var(--hv-text-soft)}
#top .dc .dc-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#top .dc .dc-pair .sp-ink{background:var(--hv-band);border-color:transparent;color:var(--hv-on-band)}
#top .dc .dc-pair .sp-ink .sp-eyebrow{color:var(--hv-on-band-accent)}
#top .dc .dc-pair .sp-ink h3,#top .dc .dc-pair .sp-ink .sp-h3{margin:10px 0 0;font:800 clamp(1.25rem,2.2vw,1.7rem)/1.18 var(--hv-font-display);letter-spacing:-.03em;text-transform:none;color:var(--hv-on-band)}

/* ---- About: the person first, then the company. ---- */
#top .dc .dc-about .ab-who,#top .dc-about .ab-who{display:block}
#top .dc .ab-who>.eyebrow,#top .dc .ab-who>h2{display:block}
#top .dc .ab-bio{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:start}
#top .dc .ab-bio figure{margin:0;display:grid;gap:12px}
#top .dc .ab-bio img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:24px;display:block}
#top .dc .ab-bio figcaption{display:grid;gap:3px;font:500 .875rem/1.4 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .ab-bio figcaption b{font:800 1.25rem/1.2 var(--hv-font-display);color:var(--hv-text)}
#top .dc .ab-bio-text{display:grid;gap:18px;max-width:64ch}
#top .dc .lg p.ab-bio-lede{font:600 clamp(1.15rem,1.8vw,1.35rem)/1.45 var(--hv-font-display);margin:0}
#top .dc .ab-facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
#top .dc .ab-facts li{display:grid;gap:3px;padding-left:16px;border-left:3px solid var(--hv-accent)}
#top .dc .ab-facts b{font:800 1rem/1.3 var(--hv-font-display)}
#top .dc .ab-facts span{color:var(--hv-text-soft);line-height:1.5}
#top .dc .ab-quote{margin:0;padding:18px 22px;border-radius:24px;background:var(--hv-chip);font:800 clamp(1.2rem,2vw,1.6rem)/1.25 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text)}
#top .dc .ab-more summary{cursor:pointer;font:700 .9375rem var(--hv-font-display);color:var(--hv-accent);padding:6px 0}
#top .dc .ab-more p{margin-top:10px}
#top .dc .dc-desk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
#top .dc .dc-talk{position:sticky;top:104px;display:grid;gap:14px;padding:clamp(20px,2.6vw,30px);border-radius:var(--hv-radius-panel);background:var(--hv-card-solid);border:1px solid var(--hv-edge)}
#top .dc .cx{display:block;position:static;grid-area:auto;margin:0;padding:clamp(20px,2.6vw,32px);background:var(--hv-card-solid);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);color:var(--hv-text);box-shadow:none}
#top .dc .cx .eyebrow,#top .dc .cx .cx-eyebrow{color:var(--hv-accent)}
#top .dc .cx .cx-title{font:800 clamp(1.5rem,2.6vw,2.1rem)/1.05 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-text)}
#top .dc .cx .cx-lede{color:var(--hv-text-soft)}
#top .dc .cx .cx-tile{background:var(--hv-chip);box-shadow:none;border-radius:20px;color:var(--hv-text)}
#top .dc .cx .cx-chip{background:var(--hv-field);color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc .cx .cx-sum{background:var(--hv-chip);color:var(--hv-text)}
#top .dc .ab-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
#top .dc .ab-was,#top .dc .ab-is{display:grid;gap:10px;align-content:start;padding:22px 24px;border-radius:24px;background:var(--hv-chip)}
#top .dc .ab-is{background:var(--hv-band);color:var(--hv-on-band)}
#top .dc .ab-is b,#top .dc .ab-is p{color:var(--hv-on-band)}
#top .dc .ab-was b,#top .dc .ab-is b{font:800 1.125rem var(--hv-font-display)}
#top .dc .ab-was ol{margin:0;padding-left:1.2em;display:grid;gap:4px}
#top .dc .ab-was span{color:var(--hv-text-soft);font-size:.9375rem}
#top .dc .ab-life{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#top .dc .ab-life button{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;align-content:start;padding:18px;border-radius:22px;background:var(--hv-chip);color:var(--hv-text)}
#top .dc .ab-life button:hover,#top .dc .ab-life button:focus-visible{box-shadow:inset 0 0 0 2px var(--hv-accent)}
#top .dc .ab-life b{font:800 1.0625rem/1.25 var(--hv-font-display)}
#top .dc .ab-life span{font:500 .875rem/1.4 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .ab-bel,#top .dc .rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#top .dc .rules{grid-template-columns:repeat(2,minmax(0,1fr))}
#top .dc .ab-bel>div,#top .dc .rule{display:grid;gap:6px;align-content:start;padding:20px 22px;border-radius:24px;background:var(--hv-chip)}
#top .dc .ab-bel b,#top .dc .rule b{font:800 1.0625rem/1.25 var(--hv-font-display);letter-spacing:-.01em;color:var(--hv-text)}
#top .dc .ab-bel span,#top .dc .rule span{font:500 .9375rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#top .dc .road>li{display:grid;gap:12px;align-content:start;padding:20px;border-radius:24px;background:var(--hv-chip);border:0}
#top .dc .road>li.now{box-shadow:inset 0 0 0 2px var(--hv-accent)}
#top .dc .road>li.later{background:transparent;box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc .road-tag{font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .road ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
#top .dc .road ul li{font:500 .9375rem/1.45 var(--hv-font-body);color:var(--hv-text)}

/* ---- Notes: an index beside its sign-up; a note is one reading column. ---- */
#top .dc .dc-notes-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:18px;align-items:start}
#top .dc .dc-side{position:sticky;top:104px}
#top .dc .dc-side.dc-read{position:static;max-width:720px;margin:0 auto;width:100%}
#top .dc .note-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
#top .dc .j-chip{min-height:40px;padding:8px 16px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);color:var(--hv-text);font:700 14px var(--hv-font-display);cursor:pointer}
#top .dc .j-chip.on{background:var(--hv-action);color:var(--hv-on-action);border-color:transparent}
#top .dc .note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#top .dc a.note-card{display:grid;gap:8px;align-content:start;padding:20px 22px;border-radius:24px;background:var(--hv-chip);color:var(--hv-text);text-decoration:none;box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc a.note-card:hover{box-shadow:inset 0 0 0 1px var(--hv-accent)}
#top .dc a.note-card .eyebrow{font-size:11px}
#top .dc a.note-card b{font:800 1.1875rem/1.2 var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text)}
#top .dc a.note-card span:last-child{font:500 .9375rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .signup{display:grid;gap:12px;margin-top:12px}
#top .dc .signup-row{display:flex;flex-wrap:wrap;gap:10px}
#top .dc .signup input[type=email]{flex:1 1 200px;min-width:0;min-height:48px;padding:0 18px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);color:var(--hv-text);font:500 1rem var(--hv-font-body)}
#top .dc .consent{display:flex;gap:10px;align-items:flex-start;font:500 .875rem/1.45 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .consent input{margin-top:3px;accent-color:var(--hv-rust-strong)}
#top .dc .signup-msg{margin:0;padding:12px 16px;border-radius:18px;background:var(--hv-chip);font:600 .9375rem/1.45 var(--hv-font-body);color:var(--hv-text)}
#top .dc .signup-msg[hidden]{display:none}
#top .dc .dc-article{max-width:720px;margin:0 auto;width:100%}
#top .dc .dc-article .lg.note{background:none;border:0;border-radius:0;padding:0}
#top .dc .dc-article .note>.eyebrow{margin-bottom:14px}
#top .dc .dc-article .note p.short{font:600 clamp(1.2rem,1.9vw,1.4rem)/1.45 var(--hv-font-display);letter-spacing:-.015em;margin:0 0 22px}
#top .dc .dc-article .note p,#top .dc .dc-article .note li{font:500 1.0625rem/1.7 var(--hv-font-body)}
#top .dc .dc-article .note h2,#top .dc .dc-article .note h3{margin:30px 0 10px;font:800 clamp(1.3rem,2.2vw,1.7rem)/1.15 var(--hv-font-display);letter-spacing:-.03em;text-transform:none;color:var(--hv-text)}
#top .dc .note-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 24px}
#top .dc .note-figs>div{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:22px;background:var(--hv-chip)}
#top .dc .note-figs b{font:800 clamp(1.4rem,2.4vw,1.9rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
#top .dc .note-figs span{font:500 .8125rem/1.35 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .draft-note{padding:12px 16px;border-radius:18px;background:var(--hv-chip)}

/* ---- Not found: one panel, one way back. ---- */
#top .dc-missing{display:grid;align-items:center}
#top .dc .dc-panel{display:grid;gap:14px;max-width:720px;padding:clamp(26px,4vw,52px);border-radius:var(--hv-radius-sheet);background:var(--hv-card-solid);border:1px solid var(--hv-edge)}

@media (max-width:1100px){
  #top .dc .dc-gl-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  #top .dc .ab-life{grid-template-columns:repeat(2,minmax(0,1fr))}
  #top .dc .ab-bel{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  #top .dc .dc-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  #top .dc .dc-toc{position:static;display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;max-height:none;scrollbar-width:thin}
  #top .dc .dc-toc-h{display:none}
  #top .dc .dc-toc a{flex:0 0 auto;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);padding:9px 14px;white-space:nowrap;background:var(--hv-field)}
  #top .dc .dc-head.dc-split,#top .dc .dc-desk,#top .dc .dc-notes-grid,#top .dc .dc-pair,#top .dc .ab-split{grid-template-columns:minmax(0,1fr)}
  #top .dc .dc-talk,#top .dc .dc-side{position:static}
  #top .dc .dc-rows>.lg{grid-template-columns:minmax(0,1fr)}
  #top .dc .road,#top .dc .rules,#top .dc .lg-two{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  #top .dc{padding-top:calc(84px + env(safe-area-inset-top,0px))}
  #top .dc .dc-gl-row,#top .dc .note-list,#top .dc .ab-bel,#top .dc .ab-life{grid-template-columns:minmax(0,1fr)}
  #top .dc .ab-life{grid-template-columns:repeat(2,minmax(0,1fr))}
  #top .dc .ab-bio{grid-template-columns:minmax(0,1fr)}
  #top .dc .ab-bio figure{grid-template-columns:120px minmax(0,1fr);align-items:end}
  #top .dc .lg-dl div{grid-template-columns:minmax(0,1fr)}
  #top .dc .lg-actions .btn,#top .dc .lg-actions .btn-line{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){#top .dc *{transition:none!important;animation:none!important}}

/* second pass */
#top .dc .dc-toc::before,#top .dc .dc-toc::after{content:none!important;display:none!important}
#top .dc .lg p.eyebrow,#top .dc .lg p.sp-eyebrow{margin:0 0 6px;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .ab-who>h2{margin-bottom:22px}
#top .dc .dc-notes-list>.lg{background:none;border:0;border-radius:0;padding:0}
#top .dc .dc-notes-list>.lg h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft);margin-bottom:14px}
#top .dc-notes .dc-side p.short{padding:0;box-shadow:none;background:none}
#top .dc .area-crumb::after,#top .dc .area-crumb::before{content:none!important}
#top .dc .note-figs{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
#top .dc-missing .dc-wrap{place-items:center}
#top .dc .dc-panel{max-width:860px;width:100%;margin:6vh auto}
#top .dc .dc-panel .lg-actions .btn,#top .dc .dc-panel .lg-actions .btn-line{min-height:46px;padding:0 20px}
#top .dc .signup.done .signup-row,#top .dc .signup.done .consent{display:none}
#top .dc .signup.done .signup-msg{padding:16px 18px;font-size:1rem;box-shadow:inset 3px 0 0 var(--hv-accent)}
#top .dc .signup-msg.bad{box-shadow:inset 3px 0 0 var(--hv-alert-text)}

/* The request sheet ("Talk to a person"): same surface, radius and action corner as the pages beside it. */
dialog.sheet{background:var(--hv-surface);color:var(--hv-text);border-radius:var(--hv-radius-panel) 0 0 var(--hv-radius-panel)}
dialog.sheet .sheet-bar{background:var(--hv-surface);box-shadow:inset 0 -1px 0 var(--hv-edge)}
dialog.sheet .sheet-body h2{font:800 clamp(2rem,4vw,2.8rem)/1.03 var(--hv-font-display);letter-spacing:-.04em;color:var(--hv-text)}
dialog.sheet .sheet-body input:not([type=checkbox]),dialog.sheet .sheet-body select,dialog.sheet .sheet-body textarea{border:1px solid var(--hv-edge);border-radius:var(--hv-radius-control,18px);background:var(--hv-field);color:var(--hv-text)}
dialog.sheet .sheet-body .btn:not(.btn-line),dialog.sheet .sheet-body button[type=submit]{border-radius:var(--hv-radius-action)}
@media (max-width:640px){dialog.sheet{border-radius:0}}

/* The page's ending (its action and where to go next), closing a reading page in the same width as the page. */
#top .dc .room-end{width:calc(100% - 2 * clamp(18px,3.4vw,48px));max-width:1180px;margin:clamp(18px,2.4vw,28px) auto 0;padding:0;background:none}
#top .dc .room-end>.lg{display:grid;gap:12px}
#top .dc .room-act{display:flex;flex-wrap:wrap;gap:10px}
#top .dc .room-next-h{margin:6px 0 0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .room-next{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
#top .dc .room-next a{display:grid;gap:4px;padding:16px 18px;border-radius:22px;background:var(--hv-chip);color:var(--hv-text);text-decoration:none;box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .dc .room-next a:hover{box-shadow:inset 0 0 0 1px var(--hv-accent)}
#top .dc .room-next b{font:800 1rem var(--hv-font-display)}
#top .dc .room-next span{font:500 .875rem/1.4 var(--hv-font-body);color:var(--hv-text-soft)}
#top .dc .room-home{margin:0}
#top .dc section.room-end{width:calc(100% - 2 * clamp(18px,3.4vw,48px))!important;max-width:1180px!important;margin:clamp(18px,2.4vw,28px) auto 0!important;padding:0!important;box-sizing:border-box}
#top .dc .lg p.room-next-h{margin:6px 0 0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
#top .dc .lg p.room-home{margin:4px 0 0}
#top .dc section.room-end>.lg{max-width:none!important;width:100%;box-sizing:border-box}

/* Why Havlo exists: the usual way and Havlo's way, as two lists that line up item for item (CEO 2026-10-10). */
#top .dc .ab-pair .ab-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:ab}
#top .dc .ab-pair .ab-steps li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:baseline;min-height:2.6em;padding:8px 0;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);font:600 1rem/1.35 var(--hv-font-body)}
#top .dc .ab-pair .ab-k{font:800 .75rem/1.4 var(--hv-font-display);letter-spacing:.08em;text-transform:uppercase;opacity:.7}
#top .dc .ab-pair .ab-is span:last-child,#top .dc .ab-pair .ab-was span:last-child{font-size:.9375rem}
#top .dc .ab-pair .ab-is span:last-child{color:var(--hv-on-band)}
#top .dc .ab-pair .ab-was ol li,#top .dc .ab-pair .ab-is ol li{box-shadow:none;border-radius:0;padding:8px 0;font-size:1rem}
#top .dc .ab-pair .ab-was ol li+li::before{content:none}
#top .dc .ab-pair .ab-was ol{display:grid;flex-wrap:nowrap}

/* ---- havlo-owner-pages.css ---- */
/* Wave 3: the owner-side pages (/improve, /invest, /commercial). One design language (havlo-tokens.css, havlo-ui.css), three compositions:
     Improve    a plan workbench: the conversation beside the plan, a framed photograph, a four-step ladder.
     Invest     a numbers desk: a skyline banner, the figures first, the conversation beside them, a before/after pivot at closing.
     Commercial a building file: the intro and conversation up top, a ledger of services laid over a photograph.
   Tokens only (no color literals). Every rule is scoped under .w3, so no other page is touched. The conversation keeps the site's own
   hooks (.page-chat, .page-composer-slot, [data-compose]); the layout here replaces the old photo-hero grid for these three pages. */

#top .pv-cine.w3{
  --w3-gut:max(clamp(16px,4vw,56px),calc((100vw - 1280px) / 2));
  --ground:transparent;--text:var(--hv-text);--soft:var(--hv-text-soft);--surface:var(--hv-field);--rule:var(--hv-edge);
  --accent:var(--hv-accent);--accent-text:var(--hv-accent);--tint:var(--hv-chip);--copper:var(--hv-accent);
  background:var(--hv-surface);color:var(--hv-text);font-family:var(--hv-font-body);
  padding:calc(96px + env(safe-area-inset-top,0px)) var(--w3-gut) 0!important}

/* Type */
.w3 .w3-eyebrow{margin:0 0 10px;font:800 12px/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.w3 h1{margin:0;font:800 clamp(2.1rem,4.2vw,3.4rem)/1 var(--hv-font-display);letter-spacing:-.04em;text-wrap:balance;color:var(--hv-text)}
.w3 .w3-lede{margin:14px 0 0;max-width:56ch;font:500 1.0625rem/1.6 var(--hv-font-body);color:var(--hv-text-soft)}
.w3 h2{margin:0;font:800 clamp(1.6rem,3vw,2.4rem)/1.08 var(--hv-font-display);letter-spacing:-.035em;text-wrap:balance;color:inherit}
.w3 h3{margin:0;font:800 12px/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.w3 .w3-small{font:500 13px/1.5 var(--hv-font-body);color:var(--hv-text-soft)}

/* The conversation card: the sticky card of the homepage's language. */
#top .pv-cine.w3 .w3-talk{display:flex;flex-direction:column;gap:14px;height:auto;max-height:none;padding:clamp(16px,2vw,22px);background:var(--hv-card);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-sheet);min-width:0}
#top .pv-cine.w3 .page-chat{grid-area:auto;position:static;margin:0;padding:0 4px 0 0;max-width:none;background:transparent;border-radius:0;gap:12px}
#top .pv-cine.w3 .page-chat:empty{display:none}
#top .pv-cine.w3 .page-composer-slot,#top .pv-cine.w3.engaged .page-composer-slot{grid-area:auto;position:static;left:auto;bottom:auto;transform:none;width:auto;max-width:none;margin:0;z-index:auto}
#top .pv-cine.w3 .page-composer-slot .composer{margin:0;position:static;align-items:flex-end;border-radius:26px;background:var(--hv-field);color:var(--hv-text);padding:6px 6px 6px 18px;box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .pv-cine.w3 .page-composer-slot .composer{flex-wrap:wrap;row-gap:4px}
#top .pv-cine.w3 .composer .cmp-reset,#top .pv-cine.w3 .composer .cmp-chip{order:-1;margin:6px 0 0}
#top .pv-cine.w3 .composer .cmp-reset{margin-left:0}
#top .pv-cine.w3 .composer .cmp-field{flex:1 1 calc(100% - 64px)}
#top .pv-cine.w3 .page-composer-slot .composer:focus-within{box-shadow:inset 0 0 0 2px var(--hv-accent)}
#top .pv-cine.w3 .page-composer-slot .composer input,#top .pv-cine.w3 .page-composer-slot .composer textarea{font:500 1rem/1.4 var(--hv-font-body);color:var(--hv-text);min-height:46px}
#top .pv-cine.w3 .page-composer-slot .composer textarea{padding:12px 0;min-height:60px}
#top .pv-cine.w3 .page-composer-slot .composer textarea::placeholder,#top .pv-cine.w3 .page-composer-slot .composer input::placeholder{color:var(--hv-text-soft);opacity:1}
#top .pv-cine.w3 .page-composer-slot .composer .send{border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action);min-width:50px;min-height:46px;border:0}
#top .pv-cine.w3 .composer-note,#top .pv-cine.w3.engaged .composer-note{display:block;margin:8px 4px 0;font:500 12px/1.4 var(--hv-font-body);color:var(--hv-text-soft)}
#top .pv-cine.w3 .page-chat .msg.hv .t{background:var(--hv-field);color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge)}
#top .pv-cine.w3 .page-chat .msg.me .t{background:var(--hv-text);color:var(--hv-surface)}
#top .pv-cine.w3 .page-chat .msg.work,#top .pv-cine.w3 .page-chat .msg.typing{background:var(--hv-field);color:var(--hv-text-soft);box-shadow:inset 0 0 0 1px var(--hv-edge)}

/* The result: composed beside the conversation. */
#top .pv-cine.w3 .w3-result{display:grid;align-content:start;gap:18px;min-width:0;padding:clamp(20px,2.6vw,34px);background:var(--hv-card);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);color:var(--hv-text);container-type:normal}
.w3 .w3-result .cx-sum{background:var(--hv-band);color:var(--hv-on-band)}
.w3 .w3-result .cx-sum b{color:var(--hv-on-band-accent)}
.w3 .w3-result .cx-title{font:800 clamp(1.5rem,2.4vw,2.1rem)/1.05 var(--hv-font-display);letter-spacing:-.035em;color:var(--hv-text)}
.w3 .w3-result .cx-up input{accent-color:var(--hv-accent)}
.w3 .w3-result .btn{background:var(--hv-action);color:var(--hv-on-action);border-radius:var(--hv-radius-action)}
.w3 .w3-result .btn-line{border-radius:var(--hv-radius-action);color:var(--hv-text);box-shadow:inset 0 0 0 1px var(--hv-edge);background:transparent}
.w3 .w3-result .cx-peek{color:var(--hv-accent)}

/* ===== Improve: the plan workbench ===== */
.w3-improve .w3-wrap{display:grid;gap:24px 40px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro result" "talk result" "photo result";grid-template-rows:auto auto 1fr;align-items:start}
.w3-improve .w3-intro{grid-area:intro;align-self:start}
.w3-improve .w3-photo{grid-area:photo;margin:0;min-width:0}
.w3-improve .w3-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:50% 38%;border-radius:var(--hv-radius-panel)}
.w3-improve .w3-photo figcaption{padding:10px 6px 0;font:500 13px/1.45 var(--hv-font-body);color:var(--hv-text-soft)}
.w3-improve .w3-talk{grid-area:talk}
.w3-improve .w3-result{grid-area:result;position:sticky;top:calc(92px + env(safe-area-inset-top,0px))}
.w3-ladder{margin-top:clamp(56px,8vw,96px)}
.w3-ladder-head{display:grid;gap:8px;max-width:60ch;margin-bottom:34px}
.w3-ladder-head p:last-child{margin:0;font:500 1.0625rem/1.55 var(--hv-font-body);color:var(--hv-text-soft)}
.w3-steps{list-style:none;margin:0;padding:0;display:grid;gap:28px 24px;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:none}
.w3-steps>li{position:relative;padding-top:60px;display:grid;gap:12px;align-content:start}
.w3-steps>li::before{content:"";position:absolute;top:19px;left:48px;right:-24px;height:2px;background:var(--hv-edge)}
.w3-steps>li:last-child::before{display:none}
.w3-n{position:absolute;top:0;left:0;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--hv-radius-action);background:var(--hv-action);color:var(--hv-on-action);font:800 17px var(--hv-font-display)}
.w3-steps ul,.w3-side ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.w3-steps li li,.w3-side li{display:grid;gap:2px}
.w3-steps b,.w3-side b{font:700 1rem/1.3 var(--hv-font-display);color:inherit}
.w3-steps span:not(.w3-n),.w3-side span{font:500 .9375rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}

/* ===== Invest: the numbers desk ===== */
.w3-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:clamp(250px,32vw,360px);border-radius:var(--hv-radius-sheet);background:var(--hv-band);color:var(--hv-on-band)}
.w3-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2}
.w3-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgb(16 23 25 / .86),rgb(16 23 25 / .3) 72%,rgb(16 23 25 / .12))}
.w3-banner-text{padding:clamp(22px,4vw,48px);max-width:min(760px,100%)}
.w3-banner .w3-eyebrow{color:var(--hv-on-band-accent)}
.w3-banner h1{color:var(--hv-on-band);max-width:19ch}
.w3-banner .w3-lede{color:rgb(242 238 229 / .9)}
.w3-invest .w3-wrap{display:grid;gap:24px;margin-top:24px;grid-template-columns:minmax(0,1fr);grid-template-areas:"talk" "result";align-items:start}
.w3-invest .w3-result{grid-area:result}
.w3-invest .w3-talk{grid-area:talk}
.w3-pivot{margin-top:clamp(56px,8vw,96px);display:grid;gap:30px}
.w3-pivot-head{display:grid;gap:8px;max-width:30ch}
.w3-pivot-grid{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch}
.w3-side{display:grid;gap:18px;align-content:start;padding:clamp(22px,3vw,36px);border-radius:var(--hv-radius-panel)}
.w3-before{background:var(--hv-card);border:1px solid var(--hv-edge);color:var(--hv-text)}
.w3-after{background:var(--hv-band);color:var(--hv-on-band)}
.w3-after h3{color:var(--hv-on-band-accent)}
.w3-after span{color:var(--hv-on-band-muted)}
.w3-axis{position:relative;min-height:56px}
.w3-axis::after{content:"";position:absolute;left:10px;right:12px;top:50%;height:2px;margin-top:-1px;background:var(--hv-accent)}
.w3-axis::before{content:"";position:absolute;right:8px;top:50%;margin-top:-6px;border-left:10px solid var(--hv-accent);border-top:6px solid transparent;border-bottom:6px solid transparent}
.w3-axis span{position:absolute;left:0;right:0;top:50%;margin-top:-30px;text-align:center;color:var(--hv-accent);font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase}
.w3-fees{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(24px,5vw,64px);align-items:center;padding:clamp(22px,3.2vw,40px);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);background:var(--hv-card)}
.w3-big{margin:0;font:800 clamp(3.6rem,9vw,6.5rem)/.95 var(--hv-font-display);letter-spacing:-.06em;color:var(--hv-accent)}
.w3-big small{display:block;margin-top:8px;font:600 1.125rem/1.3 var(--hv-font-body);letter-spacing:0;color:var(--hv-text-soft)}

/* ===== Commercial: the building file ===== */
.w3-commercial .w3-wrap{display:grid;gap:24px 40px;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"intro talk" "result result";align-items:start}
.w3-commercial .w3-intro{grid-area:intro}
.w3-commercial .w3-talk{grid-area:talk}
.w3-commercial .w3-result{grid-area:result}
.w3-tell{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.w3-tell li{padding:8px 14px;border:1px solid var(--hv-edge);border-radius:var(--hv-radius-pill);background:var(--hv-field);font:700 13px var(--hv-font-display);color:var(--hv-text)}
.w3-ledger{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(56px,8vw,96px);padding:clamp(16px,5vw,64px);border-radius:var(--hv-radius-sheet);background:var(--hv-band)}
.w3-ledger>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 62%;z-index:-2}
.w3-ledger::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(270deg,rgb(16 23 25 / .05),rgb(16 23 25 / .45))}
.w3-sheet{display:grid;gap:14px;max-width:760px;margin-right:auto;padding:clamp(22px,3.4vw,44px);border-radius:var(--hv-radius-panel);background:var(--hv-surface);color:var(--hv-text)}
.w3-rows{display:grid;gap:8px;margin-top:10px}
.w3-rows h3{margin-top:18px}
.w3-rows dl{margin:0;display:grid}
.w3-rows dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6px 24px;padding:14px 0;border-top:1px dotted var(--hv-edge)}
.w3-rows dt{font:700 1rem/1.3 var(--hv-font-display)}
.w3-rows dd{margin:0;font:500 .9375rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.w3-proposal{display:grid;gap:8px;margin-top:20px;padding:20px 22px;border:1px solid var(--hv-edge);border-radius:20px;background:var(--hv-card)}
.w3-proposal p{margin:0;font:600 1.0625rem/1.45 var(--hv-font-display)}
.w3-proposal p.w3-small{font:500 13px/1.5 var(--hv-font-body)}

/* The end of the page: its next step and where people go next, in the same card language. */
#top .pv-cine.w3 .band.room-end{margin:clamp(48px,7vw,88px) 0 0;padding:0;background:transparent;color:var(--hv-text);backdrop-filter:none;-webkit-backdrop-filter:none;--ground:transparent;--text:var(--hv-text);--soft:var(--hv-text-soft);--surface:var(--hv-field);--rule:var(--hv-edge);--accent:var(--hv-accent);--accent-text:var(--hv-accent)}
#top .pv-cine.w3 .band.room-end .lg{max-width:none;width:auto;margin:0;background:var(--hv-card);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);padding:clamp(22px,3.4vw,40px)}

/* Marquee sits a little apart from the last section. */
#top .pv-cine.w3 .marquee{margin:clamp(40px,6vw,72px) 0 0;padding-block:26px;background:transparent!important;border-top:0;border-bottom:1px solid var(--hv-edge);color:var(--hv-text-soft)}
#top .pv-cine.w3 .marquee .mrow{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
@media (prefers-reduced-motion:reduce){#top .pv-cine.w3 .marquee .mtrack{width:100%;box-sizing:border-box;padding:0 7%;flex-wrap:wrap;height:1.25em;overflow:hidden;transform:none!important}}

/* ===== Tablet and phone ===== */
@media (max-width:1100px){
  .w3-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w3-steps>li:nth-child(2)::before{display:none}
}
@media (max-width:980px){
  .w3-improve .w3-wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "talk" "result" "photo";grid-template-rows:none}
  .w3-commercial .w3-wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "talk" "result"}
  .w3-improve .w3-result{position:static}
  .w3-fees{grid-template-columns:minmax(0,1fr)}
  .w3-improve .w3-photo img{aspect-ratio:16/9}
}
@media (max-width:760px){
  .w3-steps{grid-template-columns:minmax(0,1fr)}
  .w3-steps>li::before{display:none}
  .w3-pivot-grid{grid-template-columns:minmax(0,1fr)}
  .w3-axis{height:72px}
  .w3-axis::after{left:50%;right:auto;top:8px;bottom:12px;width:2px;height:auto;margin:0 0 0 -1px}
  .w3-axis::before{left:50%;right:auto;top:auto;bottom:8px;margin:0 0 0 -6px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid var(--hv-accent);border-bottom:0}
  .w3-axis span{left:calc(50% + 16px);right:auto;top:50%;margin-top:-8px;text-align:left}
  .w3-rows dl>div{grid-template-columns:minmax(0,1fr)}
  .w3-sheet{margin:0}
  .w3-ledger{padding:min(46vw,200px) 10px 10px}
  .w3-ledger>img{object-position:72% 55%}
}

/* The yield chart: its caveat sits right under its title, and each town opens its own page. */
.w3 .j-sub{margin:-2px 0 4px;font:600 .9375rem/1.4 var(--hv-font-body);color:var(--hv-text)}
.w3 .j-bar a{color:var(--hv-text);text-decoration:underline;text-decoration-color:var(--hv-edge);text-underline-offset:3px}
.w3 .j-bar a:hover,.w3 .j-bar a:focus-visible{color:var(--hv-accent);text-decoration-color:var(--hv-accent)}

/* ===== Havlo against a typical manager: one component (havlo/site/fee_comparison.py), used on /invest, /improve and /owners ===== */
.w3-compare{display:grid;gap:22px;margin-top:clamp(40px,6vw,72px);padding:clamp(22px,3.4vw,44px);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);background:var(--hv-card);color:var(--hv-text);font-family:var(--hv-font-body)}
.w3-compare .w3-eyebrow{margin:0 0 10px;font:800 12px/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.w3-compare h2{margin:0;max-width:22ch;font:800 clamp(1.7rem,3.4vw,2.7rem)/1.05 var(--hv-font-display);letter-spacing:-.04em;text-wrap:balance;color:var(--hv-text)}
.w3c-lede{margin:12px 0 0;max-width:62ch;font:500 1.0625rem/1.55 var(--hv-font-body);color:var(--hv-text-soft)}
.w3c-bars{display:grid;gap:12px}
.w3c-row{display:grid;grid-template-columns:minmax(120px,230px) minmax(0,1fr) auto;gap:6px 16px;align-items:center}
.w3c-row span{font:700 1rem/1.25 var(--hv-font-display);color:var(--hv-text)}
.w3c-row i{display:block;height:36px;border-radius:var(--hv-radius-action);background:var(--hv-edge)}
.w3c-havlo i{background:var(--hv-accent)}
.w3c-row b{min-width:5.5ch;text-align:right;font:800 clamp(1.5rem,3vw,2.2rem)/1 var(--hv-font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--hv-text)}
.w3c-diff{margin:0;font:600 1.0625rem/1.4 var(--hv-font-display);color:var(--hv-text-soft)}
.w3c-diff b{font:800 1.25rem var(--hv-font-display);color:var(--hv-accent)}
.w3c-table{width:100%;border-collapse:collapse;font:500 .9375rem/1.45 var(--hv-font-body)}
.w3c-table th,.w3c-table td{padding:12px 14px 12px 0;text-align:left;vertical-align:top;border-top:1px solid var(--hv-edge)}
.w3c-table thead th{border-top:0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.w3c-table tbody th{width:26%;font:700 .9375rem var(--hv-font-display);color:var(--hv-text)}
.w3c-table td b{display:block;font:800 1.0625rem var(--hv-font-display);font-variant-numeric:tabular-nums;color:var(--hv-text)}
.w3c-table td small{display:block;color:var(--hv-text-soft);font:500 .8125rem/1.4 var(--hv-font-body)}
.w3c-structure .w3c-table td{color:var(--hv-text-2)}
.w3c-table td.w3c-from{font:500 .8125rem/1.4 var(--hv-font-body);color:var(--hv-text-soft)}
.w3c-table td.w3c-from a{color:var(--hv-accent);text-underline-offset:3px}
.w3-compare .w3c-table tbody th{width:20%}
.w3c-src{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:500 .8125rem/1.5 var(--hv-font-body);color:var(--hv-text-soft)}
.w3c-src b{color:var(--hv-text)}
.w3c-src a,.w3c-note a{color:var(--hv-accent);text-underline-offset:3px}
.w3c-note{margin:0;font:500 .8125rem/1.5 var(--hv-font-body);color:var(--hv-text-soft);max-width:80ch}
.w3-compare .sr,.w3c-structure .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w3-invest .w3-pivot>.w3-compare{margin-top:0}
.w3-improve .w3-compare{margin-top:clamp(56px,8vw,96px)}
/* Under the Management room (the room itself is drawn by the App; this sits below it in the same ground). */
.w3-owner-compare{color:var(--hv-text);margin:clamp(28px,4vw,48px) 0}
html.hv-boot .w3-owner-compare[data-static]{display:none}
.w3-owner-compare[data-static]{background:var(--hv-surface);padding:clamp(24px,4vw,56px) max(clamp(16px,4vw,56px),calc((100vw - 1180px) / 2))}
.w3-owner-inner{display:grid;gap:24px;max-width:1180px;margin:0 auto}
.w3-owner-inner .w3-compare{margin-top:0}
.w3c-structure{display:grid;gap:14px;padding:clamp(22px,3.4vw,40px);border:1px solid var(--hv-edge);border-radius:var(--hv-radius-panel);background:var(--hv-card)}
.w3c-structure h3{margin:0;font:800 clamp(1.4rem,2.6vw,2rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;text-transform:none;color:var(--hv-text)}
@media (max-width:760px){
  .w3c-row{grid-template-columns:minmax(0,1fr) auto}
  .w3c-row i{grid-column:1/-1;grid-row:2;height:26px}
  .w3c-table thead{display:none}
  .w3c-table,.w3c-table tbody,.w3c-table tr,.w3c-table th,.w3c-table td{display:block;width:100%}
  .w3c-table tr{padding:12px 0;border-top:1px solid var(--hv-edge)}
  .w3c-table th,.w3c-table td{border:0;padding:2px 0}
  .w3c-table tbody th,.w3-compare .w3c-table tbody th{width:100%}
  .w3-compare .w3c-table td:nth-of-type(1)::before{content:"Havlo: ";font-weight:800;color:var(--hv-accent)}
  .w3-compare .w3c-table td:nth-of-type(2)::before{content:"Typical: ";font-weight:800;color:var(--hv-text-soft)}
  .w3-compare .w3c-table td:nth-of-type(3)::before{content:"Source: ";font-weight:800;color:var(--hv-text-soft)}
  .w3c-structure .w3c-table td:nth-of-type(1)::before{content:"Typical manager: "}
  .w3c-structure .w3c-table td:nth-of-type(2)::before{content:"Havlo: "}
}

.w3c-listed{display:grid;gap:8px}
.w3c-listed h3{margin:0;font:800 12px var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.w3c-listed ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font:500 .875rem/1.45 var(--hv-font-body);color:var(--hv-text-soft)}
.w3c-listed li b{color:var(--hv-text)}

/* ---- havlo-site-live.css ---- */
/* The composing surface (havlo/site/sections.py, havlo-site-compose.js). CEO 2026-10-10: one surface for every page, and full
   width: no two-column layouts. The page is, top to bottom: the photograph with the page's head, the conversation as a
   full-width band (its box stays reachable under the header once the band scrolls away), what the conversation found, and
   the sections, each full width, one under the other. Inside a section, only like items share a row (homes, tiles, places).
   Last layer of the bundle, so the surface wins over older page layouts. Reduced motion: every change is instant. */

.sf{--sf-max:var(--hv-max,1200px);--sf-pad:clamp(16px,4.5vw,56px);--sf-nav:calc(var(--nav-h,72px) + env(safe-area-inset-top,0px));
  position:relative;background:var(--hv-surface);color:var(--hv-text);font-family:var(--hv-font-body);display:flex;flex-direction:column;isolation:isolate}
.sf *{box-sizing:border-box}
.sf .sr,.sf-said{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- the top: the page's photograph, full width, with its head on it ---- */
.sf-top{position:relative;min-height:clamp(360px,54vh,560px);display:flex;align-items:flex-end;color:var(--hv-on-band);background:var(--hv-band);overflow:hidden}
.sf-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(16 23 25 /.62) 0%,rgb(16 23 25 /.28) 38%,rgb(16 23 25 /.78) 100%)}
.sf-top-in{position:relative;z-index:1;width:100%;max-width:var(--sf-max);margin:0 auto;padding:calc(var(--sf-nav) + 32px) var(--sf-pad) clamp(28px,4vw,48px)}
.sf-head{max-width:880px}
.sf-head .sf-eyebrow,.sf-head .sf-eyebrow a{color:var(--hv-on-band-accent)}
.sf-head .area-crumb,.sf-head .sf-eyebrow a{text-decoration:none}
.sf-head .sf-eyebrow a:hover{text-decoration:underline}
.sf-h1{margin:10px 0 0;font:800 clamp(2.25rem,5.4vw,4.25rem)/1.02 var(--hv-font-display);letter-spacing:-.04em;color:var(--hv-on-band);text-wrap:balance}
.sf-lede{margin:16px 0 0;max-width:68ch;font-size:clamp(1rem,1.5vw,1.1875rem);line-height:1.55;color:var(--hv-on-band)}

/* ---- the conversation: a full-width band under the head ---- */
.sf-talk{position:relative;z-index:3;background:var(--hv-card-solid);border-bottom:1px solid var(--hv-edge)}
.sf-talk-fallback{max-width:var(--sf-max);margin:0 auto;padding:clamp(18px,2.6vw,28px) var(--sf-pad)}
.sf-band.ah{--tx:var(--hv-text);--tx2:var(--hv-text-2);--mut:var(--hv-text-soft);color:var(--hv-text);display:block;min-height:0;padding:0;background:transparent;isolation:auto}
.sf-band.ah::before,.sf-band.ah::after{content:none}
.sf-talk-in{width:100%}
.sf-band .ah-request-fields{width:100%;max-width:none;margin:0}
.sf-band .ah-composer{margin:0;padding:10px 10px 10px 26px;border-radius:999px;background:var(--hv-field);border:1px solid var(--hv-edge);box-shadow:0 10px 30px -18px rgb(16 23 25 /.35)}
.sf-band .ah-composer textarea{font-size:clamp(1rem,1.6vw,1.1875rem)}
.sf-band .ah-composer button{height:50px;padding:0 30px;font-size:1rem}
.sf-band .ah-attr{text-align:left}
.sf-talk-in{max-width:var(--sf-max);margin:0 auto;padding:clamp(18px,2.6vw,28px) var(--sf-pad);display:flex;flex-direction:column;gap:14px}
.sf-band.is-rest .sf-talk-in{gap:10px}
.sf-ask{display:flex;flex-direction:column;gap:10px}
.sf-ask-hold{min-height:64px}
/* Once the band has scrolled away, the same question box waits under the site header. */
/* The docked box sits in one solid band of the page's own ground, from the top of the screen down past the box, so nothing
   on the page reads through around the header or the box while scrolling (CEO 2026-10-10). */
.sf-dock{position:fixed;z-index:65;top:0;left:0;right:0;padding:calc(var(--sf-nav) + 16px) max(12px,calc((100% - 880px) / 2)) var(--hv-sec-gap-sticky);background:linear-gradient(var(--hv-surface) 0 calc(var(--sf-nav) + 6px),color-mix(in srgb,var(--hv-accent) 6%,var(--hv-surface)) calc(var(--sf-nav) + 6px));box-shadow:0 1px 0 var(--hv-edge)}
/* The menu and the question box are two things (CEO 2026-10-13): a hairline under the menu, then the box on its own tinted strip */
.sf-dock::before{content:"";position:absolute;left:0;right:0;top:calc(var(--sf-nav) + 6px);height:1px;background:var(--hv-edge)}
/* Under the condensed header (havlo-site-basics.js), the band starts where the shorter header ends. */
.nav-slim .sf-dock{--sf-nav:calc(var(--nav-slim,58px) + env(safe-area-inset-top,0px))}
@media (prefers-reduced-motion:no-preference){.sf-dock{animation:sf-dock .35s var(--hv-ease) both}}
@keyframes sf-dock{from{opacity:0}to{opacity:1}}

/* ---- what the conversation found: the first section ---- */
.sf-answer[hidden]{display:none}
.sf-answer{border-bottom:1px solid var(--hv-edge);background:var(--hv-surface)}
.sf-answer .ah-canvas{display:flex;flex-direction:column;gap:18px}
@media (prefers-reduced-motion:no-preference){.sf-answer-sec{animation:sf-arrive .6s var(--hv-ease) both}}

/* ---- the sections: full width, one under the other ---- */
.sf-list-secs{display:flex;flex-direction:column}
.sf-sec{position:relative;width:100%;border-top:1px solid var(--hv-edge);background:var(--hv-surface)}
.sf-sec:first-child{border-top:0}
.sf-in{max-width:var(--sf-max);margin:0 auto;padding:var(--hv-sec-pad-block) var(--sf-pad)}
.sf-sec:nth-child(even):not(.sf-ink):not(.sf-band-sec){background:var(--hv-card-solid)}
.sf-eyebrow{margin:0 0 8px;font:800 .75rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.sf-h{margin:0;max-width:30ch;font:800 clamp(1.625rem,3.2vw,2.5rem)/1.1 var(--hv-font-display);letter-spacing:-.03em;color:inherit;text-wrap:balance}
.sf-h3{margin:var(--hv-sec-gap-sub) 0 var(--hv-sec-gap-sub-after);font:800 1.0625rem/1.3 var(--hv-font-display);letter-spacing:-.01em}
.sf-sub{margin:var(--hv-sec-gap-head) 0 0;max-width:68ch;font-size:var(--hv-sec-body);line-height:var(--hv-sec-body-lh);color:var(--hv-text-2)}
.sf-lede{color:inherit}
/* Fine print: one class for attribution and disclosure lines (.sf-note); .j-src from the older builders reads the same. */
.sf-note,.sf-sec .j-src{margin:var(--hv-sec-gap-body) 0 0;max-width:80ch;font-size:var(--hv-sec-fine);line-height:1.5;color:var(--hv-text-soft)}
/* A practice line: how Havlo works, stated as strength in body type (not fine print). */
.sf-practice{margin:var(--hv-sec-gap-body) 0 0;max-width:68ch;font-size:var(--hv-sec-body);line-height:var(--hv-sec-body-lh);color:inherit}
.sf-sec a{color:var(--hv-accent);text-underline-offset:3px}
.sf-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--hv-sec-gap-cta)}
.sf-ink{background:var(--hv-band);color:var(--hv-on-band);border-top:0}
.sf-ink .sf-sub,.sf-ink .sf-note{color:var(--hv-on-band-muted)}
.sf-ink .sf-eyebrow{color:var(--hv-on-band-accent)}

/* lists: each item a full-width row, its name over its words */
.sf-list{list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--hv-edge)}
.sf-list>li{padding:16px 0;border-bottom:1px solid var(--hv-edge);display:flex;flex-direction:column;gap:4px}
.sf-list>li>b{font:700 1.0625rem/1.35 var(--hv-font-display);color:var(--hv-text)}
.sf-list>li>span{color:var(--hv-text-2);line-height:1.5;max-width:80ch}
.sf-list-n{counter-reset:sfn}
.sf-list-n>li{padding-left:44px;position:relative}
.sf-list-n>li::before{counter-increment:sfn;content:counter(sfn,decimal-leading-zero);position:absolute;left:0;top:17px;font:800 .875rem/1 var(--hv-font-display);color:var(--hv-accent)}
.sf-list-plain>li{font-size:1rem;color:var(--hv-text)}
.sf-list-tight{margin-top:var(--hv-sec-gap-sub-after);border-top:0}
.sf-list-tight>li{padding:8px 0;border-bottom:0}
.sf-links>li>a{font:700 1.0625rem/1.35 var(--hv-font-display)}

/* like items in a row: steps, tiles, cards, doors */
.sf-grid,.sf-steps,.sf-tiles,.sf-doors,.sf-beliefs{display:grid;gap:14px;margin:var(--hv-sec-gap-body) 0 0;padding:0;list-style:none}
.sf-grid-3,.sf-steps,.sf-beliefs{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.sf-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.sf-card,.sf-steps>li,.sf-grid>li,.sf-links>a{padding:20px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-sec:nth-child(odd) .sf-card,.sf-sec:nth-child(odd) .sf-steps>li,.sf-sec:nth-child(odd) .sf-grid>li,.sf-sec:nth-child(odd) .sf-links>a{background:var(--hv-card-solid)}
.sf-steps>li h3{margin:10px 0 6px;font:800 1.125rem/1.25 var(--hv-font-display)}
.sf-steps>li p{margin:0;line-height:1.5;color:var(--hv-text-2)}
.sf-steps>li .sf-proof{margin-top:10px;font-size:.875rem;color:var(--hv-text-soft)}
.sf-n{font:800 .875rem/1 var(--hv-font-display);color:var(--hv-accent);letter-spacing:.04em}
.sf-links{display:grid}
.sf-links>a{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--hv-text)}
.sf-links>a b{font:800 1.0625rem/1.25 var(--hv-font-display)}
.sf-links>a span{color:var(--hv-text-2);font-size:.9375rem}
.sf-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.sf-tiles>div{padding:22px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);display:flex;flex-direction:column;gap:6px}
.sf-tiles b{font:800 clamp(1.75rem,3vw,2.5rem)/1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-accent)}
.sf-tiles span{color:var(--hv-text-2);line-height:1.4}
/* Door spec is the CEO-approved 3x2 overlay doors (2026-10-11); change only with his approval. */
/* Doors: full rows for any count. The columns are the best fit for how many doors there are (6 -> 3 by 2, 4 -> 4, 8 -> 4 by 2),
   capped at 2 on a tablet and 1 on a phone; a short last row is centred, never left hanging. */
.sf-doors{display:flex;flex-wrap:wrap;justify-content:center;--doors-best:3;--doors-cap:4;--doors-cols:min(var(--doors-best),var(--doors-cap))}
.sf-doors>*{flex:0 0 calc((100% - (var(--doors-cols) - 1) * 14px) / var(--doors-cols));min-width:0}
.sf-doors:has(>:last-child:nth-child(1)){--doors-best:1}
.sf-doors:has(>:last-child:nth-child(2)){--doors-best:2}
.sf-doors:has(>:last-child:nth-child(4)),.sf-doors:has(>:last-child:nth-child(7)),.sf-doors:has(>:last-child:nth-child(8)),.sf-doors:has(>:nth-child(10)){--doors-best:4}
@media (max-width:900px){.sf-doors{--doors-cap:2}}
@media (max-width:560px){.sf-doors{--doors-cap:1}}
/* an image that could not load steps aside; the card's own ground and title remain (havlo-site-data.js) */
.sf img.img-failed{visibility:hidden}
.sf-door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:16px;border-radius:var(--hv-radius-card);overflow:hidden;color:var(--hv-on-band);text-decoration:none;background:linear-gradient(155deg,var(--hv-accent) 0%,var(--hv-band) 78%)}
.sf-door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--hv-ease)}
.sf-door::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgb(16 23 25 /.82))}
.sf-door b,.sf-door span{position:relative;z-index:1}
.sf-sec a.sf-door{color:var(--hv-on-band)} /* the title reads on the photograph, not in link colour */
.sf-door b{font:800 1.25rem/1.1 var(--hv-font-display)}
.sf-door span{font-size:.875rem;color:var(--hv-on-band)}
.sf-door:hover img{transform:scale(1.04)}
.sf-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:var(--hv-sec-gap-body)}
.sf-chips .sf-eyebrow{margin:0 8px 0 0}
.sf-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.sf-chain>li{padding:14px 16px;border-radius:var(--hv-radius-card);box-shadow:0 0 0 1px var(--hv-edge);display:flex;flex-direction:column;gap:4px;color:var(--hv-text-2)}
.sf-chain .sf-k{font:800 .75rem/1 var(--hv-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--hv-text-soft)}
.sf-chain-on>li{box-shadow:0 0 0 2px var(--hv-accent);color:var(--hv-text)}
.sf-chain-on .sf-k{color:var(--hv-accent)}
.sf-beliefs>li>button{width:100%;height:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:22px;border:0;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);color:var(--hv-text);font:inherit;cursor:pointer}
.sf-beliefs b{font:800 1.375rem/1.15 var(--hv-font-display);letter-spacing:-.02em}
.sf-beliefs span{color:var(--hv-text-2);line-height:1.5}
.sf-beliefs i{font-style:normal;font-weight:700;color:var(--hv-accent);margin-top:auto}
.sf-ledger{list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0;border-top:1px solid var(--hv-edge)}
.sf-ledger>li{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-bottom:1px solid var(--hv-edge)}
.sf-ledger h3{margin:0;font:800 1.1875rem/1.3 var(--hv-font-display)}
.sf-ledger p{margin:0;color:var(--hv-text-2);line-height:1.5;max-width:80ch}
.sf-ledger .sf-k{font:800 .75rem/1 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft)}
.sf-ledger .ah-status{align-self:flex-start}
.sf-lane{margin-top:var(--hv-sec-gap-body)}
.sf-lane-h{display:flex;align-items:center;gap:10px;margin:0;font:800 .875rem/1 var(--hv-font-display);letter-spacing:.06em;text-transform:uppercase}
.sf-lane-h i{width:10px;height:10px;border-radius:50%;background:var(--hv-accent)}
.sf-lane.beginning .sf-lane-h i{background:var(--hv-series-3)}
.sf-lane.planned .sf-lane-h i{background:var(--hv-line)}
.sf-lane-h span{color:var(--hv-text-soft)}
.sf-lane button{width:100%;text-align:left;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.sf-lane button b{font:800 1.0625rem/1.3 var(--hv-font-display)}
.sf-lane button span{color:var(--hv-text-2);line-height:1.45}
.sf-measures{margin-top:var(--hv-sec-gap-sub)}
.sf-measures ul{margin:8px 0 0;padding-left:20px;line-height:1.7}
.sf-person{display:flex;flex-direction:column;gap:14px;margin:var(--hv-sec-gap-body) 0 0}
.sf-person img{width:min(280px,60vw);height:auto;border-radius:var(--hv-radius-card)}
.sf-person figcaption{display:flex;flex-direction:column;gap:2px;color:var(--hv-text-2)}
.sf-person figcaption b{color:var(--hv-text);font:800 1.125rem/1.3 var(--hv-font-display)}
.sf-quote{margin:var(--hv-sec-gap-body) 0 0;padding-left:16px;border-left:3px solid var(--hv-accent);font:700 1.25rem/1.35 var(--hv-font-display)}
.sf-more{margin-top:var(--hv-sec-gap-body)}
.sf-more summary{cursor:pointer;font-weight:700;color:var(--hv-accent)}
.sf-more p{max-width:72ch;line-height:1.6;color:var(--hv-text-2)}
/* Where we're going (CEO 2026-10-12): Today, Next and Later as three cards side by side; Today leads, done items checked */
.sf-road{list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}
.sf-road>li,.sf-road>li.now{padding:24px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);padding-block:24px;min-height:0}
.sf-sec:nth-child(odd) .sf-road>li{background:var(--hv-card-solid)}
.sf-road>li.now{box-shadow:0 0 0 2px var(--hv-accent)}
.sf-road .road-tag{display:inline-block;margin-bottom:14px;padding:6px 12px;border-radius:999px;font:800 .75rem/1 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent);background:color-mix(in srgb,var(--hv-accent) 12%,transparent)}
.sf-road>li.now .road-tag{color:var(--hv-on-action,#fff);background:var(--hv-accent)}
.sf-road ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;color:var(--hv-text-2);line-height:1.45}
.sf-road ul li{position:relative;padding-left:26px}
.sf-road ul li::before{content:"";position:absolute;left:0;top:.2em;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--hv-edge-strong,var(--hv-text-soft));background:none}
.sf-road>li.now ul li{color:var(--hv-text)}
.sf-road>li.now ul li::before{background:var(--hv-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:none}
.sf-road>li.later ul li::before{box-shadow:inset 0 0 0 1.5px var(--hv-edge);border-radius:4px;width:14px;height:2px;top:.7em}
.sf-rows{list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0;border-top:1px solid var(--hv-edge)}
.sf-rows>li{padding:22px 0;border-bottom:1px solid var(--hv-edge);display:flex;flex-direction:column;gap:8px}
.sf-rows h3{margin:0;font:800 1.1875rem/1.3 var(--hv-font-display)}
.sf-rows p{margin:0;max-width:80ch;line-height:1.55;color:var(--hv-text-2)}
.sf-alert{background:var(--hv-alert-fill);color:var(--hv-alert-text);border-top:0}
.sf-alert .sf-in{padding-block:calc(var(--hv-sec-pad-block) / 2)}
.sf-sos{margin:0;font:700 1.125rem/1.45 var(--hv-font-display)}
.sf-doc .sf-in>*{max-width:80ch}
.sf-doc .sf-in>.sf-h{max-width:30ch}
.sf-toc{margin-top:var(--hv-sec-gap-body)}

/* a photograph band, full bleed */
.sf-band-sec{border-top:0;background:var(--hv-band)}
.sf-band{position:relative;min-height:clamp(320px,48vh,520px);display:flex;align-items:flex-end;color:var(--hv-on-band);overflow:hidden}
.sf-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sf-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(16 23 25 /.18),rgb(16 23 25 /.82))}
.sf-band-in{position:relative;z-index:1;width:100%;max-width:var(--sf-max);margin:0 auto;padding:var(--hv-sec-pad-block) var(--sf-pad)}
.sf-band-in p{max-width:62ch;font-size:1.125rem;line-height:1.5}
.sf-band-in .ah-status{display:inline-block}

/* the market by bedrooms: ranges drawn to scale, one row per size */
.sf-ranges{margin:var(--hv-sec-gap-body) 0 0}
.sf-ranges figcaption{font:800 1rem/1.3 var(--hv-font-display);margin-bottom:10px}
.sf-ranges ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.sf-ranges li{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr) 7.5rem;grid-template-areas:"k bar v" ". small small";align-items:center;column-gap:16px;row-gap:2px}
.sf-r-k{grid-area:k;font-weight:700}
.sf-r-bar{grid-area:bar;position:relative;height:12px;border-radius:999px;background:var(--hv-chip)}
.sf-r-bar i{position:absolute;top:0;bottom:0;border-radius:999px;background:var(--hv-rust-tint);box-shadow:inset 0 0 0 1px var(--hv-accent)}
.sf-r-bar em{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1px;border-radius:2px;background:var(--hv-accent)}
.sf-ranges b{grid-area:v;text-align:right;font:800 1.0625rem/1 var(--hv-font-display);font-variant-numeric:tabular-nums}
.sf-ranges small{grid-area:small;color:var(--hv-text-soft);font-size:.8125rem}
@media (max-width:640px){.sf-ranges li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "bar bar" "small small"}}
/* Impact: the gap side by side, fair treatment beside the free help, the scorecard as tiles */
.sf-gap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:8px 40px}
.sf-gap-grid .sf-ranges li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"k v" "bar bar" "small small";row-gap:6px}
.sf-fair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px 48px;align-items:start}
.sf-help{padding:22px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);margin-top:var(--hv-sec-gap-body)}
.sf-help h3{margin:4px 0 6px;font:800 1.1875rem/1.3 var(--hv-font-display)}
.sf-help>p{margin:0;color:var(--hv-text-2);line-height:1.5}
.sf-help-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.sf-help-list li{display:flex;flex-direction:column;gap:2px}
.sf-help-list a{font-weight:700;color:var(--hv-accent);overflow-wrap:anywhere}
.sf-help-list span{color:var(--hv-text-soft);font-size:.875rem}
.sf-held{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0}
.sf-held li{padding:18px 20px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-held b{font:800 1.0625rem/1.3 var(--hv-font-display)}

/* the fee comparison, stacked: totals as two bars, each fee as a row, then how the two work */
.w3s .w3c-bars{margin-top:26px}
.w3s-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--hv-edge)}
.w3s-rows>li{padding:16px 0;border-bottom:1px solid var(--hv-edge);display:flex;flex-direction:column;gap:6px}
.w3s-rows h4{margin:0 0 2px;font:800 1rem/1.3 var(--hv-font-display)}
.w3s-rows p{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;line-height:1.45}
.w3s-rows p>span{min-width:12rem;color:var(--hv-text-soft);font-size:.875rem;font-weight:700}
.w3s-rows .w3s-h>span{color:var(--hv-accent)}
.w3s-rows b{font:800 1.0625rem/1 var(--hv-font-display);font-variant-numeric:tabular-nums}
.w3s-rows small{color:var(--hv-text-soft)}
.w3s-src{font-size:.8125rem;color:var(--hv-text-soft)}
.w3s-listed{margin:0;padding-left:20px;line-height:1.6;color:var(--hv-text-2)}

/* data sections drawn by the older place builders, opened up to the full width */
.sf-data .sf-in>article.lg,.sf-data .sf-in>section:not(.nb2),.sf-data .sf-in>div{max-width:none;width:auto;margin-inline:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.sf-data .sf-in>article.lg{display:block}
.sf-data .sf-in>article.lg>h2,.sf-data .sf-in .nb2-head h2{font:800 clamp(1.625rem,3.2vw,2.5rem)/1.1 var(--hv-font-display);letter-spacing:-.03em}
.sf-data .sf-in>article.lg>.eyebrow,.sf-data .sf-in .nb2-eyebrow{font:800 .75rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.sf-data .nb-live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin-top:var(--hv-sec-gap-body)}
.sf-data .nb-live-grid .home{display:flex;flex-direction:column;text-decoration:none;color:var(--hv-text)}
.sf-data .place-map{height:clamp(320px,46vh,520px);border-radius:var(--hv-radius-card);overflow:hidden}
.sf-next .room-end{padding:0;margin:0;background:transparent}

/* the conversation's place in the page: the answer hides the sections it replaces */
.sf[data-claims~="homes"] .sf-list-secs>[data-sec="homes"],.sf[data-claims~="listing"] .sf-list-secs>[data-sec="listing"]{display:none}

/* ---- composing: sections arrive, rise, step back and leave ---- */
.sf-arrive{animation:sf-arrive .7s var(--hv-ease) both}
@keyframes sf-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.sf-leave{overflow:hidden;opacity:0;transition:height .5s var(--hv-ease),opacity .3s ease;pointer-events:none}
.sf-busy .sf-list-secs{cursor:progress}
.sf-sec.hv-rise{box-shadow:inset 4px 0 0 var(--hv-accent)}
.sf-quiet-bar{display:none}
.sf-sec.hv-quiet>.sf-in,.sf-sec.hv-quiet>.sf-band{display:none}
.sf-sec.hv-quiet>.sf-quiet-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--sf-max);margin:0 auto;padding:16px var(--sf-pad);color:var(--hv-text-soft);font:700 1rem/1.3 var(--hv-font-display)}
.sf-sec.hv-quiet.sf-ink,.sf-sec.hv-quiet.sf-band-sec{background:var(--hv-card-solid);color:var(--hv-text)}
.sf-quiet-bar .hv-open{flex:none;min-height:38px;padding:0 18px;border:1px solid var(--hv-edge);border-radius:999px;background:var(--hv-surface);color:var(--hv-text);font:700 .875rem/1 var(--hv-font-display);cursor:pointer}
.sf-quiet-bar .hv-open:hover{border-color:var(--hv-accent);color:var(--hv-accent)}
.sf .hv-settle>*{animation:hv-settle .55s var(--hv-ease) both}
.sf .hv-settle>*:nth-child(2){animation-delay:.06s}.sf .hv-settle>*:nth-child(3){animation-delay:.12s}.sf .hv-settle>*:nth-child(4){animation-delay:.18s}
.sf .hv-settle>*:nth-child(n+5){animation-delay:.24s}
@keyframes hv-settle{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.sf .is-you{outline:2px solid var(--hv-accent);outline-offset:2px;border-radius:8px}
.sf .rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--hv-ease),transform .6s var(--hv-ease)}
.sf .rv.rv-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .sf-arrive,.sf-answer-sec,.sf .hv-settle>*{animation:none}
  .sf-leave{transition:none}
  .sf .rv{opacity:1;transform:none;transition:none}
}
@media (max-width:640px){
  .sf-top{min-height:clamp(320px,62vh,520px)}
  .sf-door{min-height:150px}
}

/* the place in numbers: the strip keeps its own dark card, full width */
.sf-sec[data-sec="numbers"] .nb2-strip{margin:0;grid-area:auto}

/* Once the person is talking, the top steps back to a slim head, so the exchange and what it found are in view. */
.sf-engaged .sf-top{min-height:0}
.sf-engaged .sf-top-in{padding-top:calc(var(--sf-nav) + 20px);padding-bottom:18px}
.sf-engaged .sf-h1{font-size:clamp(1.5rem,2.6vw,2.125rem)}
.sf-engaged .sf-lede{display:none}
@media (prefers-reduced-motion:no-preference){.sf-top{transition:min-height .5s var(--hv-ease)}}

/* The band's own controls, on its light ground */
.sf-band .ah-back{color:var(--hv-text);border-color:var(--hv-edge);background:var(--hv-surface)}
.sf-band .ah-reply .said,.sf-band .ah-reply .asked{color:var(--hv-text)}
.sf-band .ah-tag,.sf-band .ah-attr{color:var(--hv-text-soft)}

/* Nearby places: chips that wrap, never a row wider than the screen */
.sf-data .area-others{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sf-data .area-others>span{flex-basis:100%;margin-bottom:4px;font:800 .75rem/1 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.sf-data .place-map{position:relative;overflow:hidden}
.sf-list-secs{overflow-x:clip}

/* ---- the section rhythm: one spacing scale for every section on every page ----
   CEO 2026-10-10 on /legal: "some spacing in places is off, there needs to be consistency." The scale is the --hv-sec-*
   tokens on :root (havlo-tokens.css). Inside a section, a block is spaced by what comes before it, never by its own
   margin: eyebrow -> heading, heading -> its summary, summary -> body, paragraph -> paragraph, a sub-heading, the buttons.
   Section templates carry no margins or paddings of their own (tests/test_site_spacing.py). */
.sf-sec{font-size:var(--hv-sec-body);line-height:var(--hv-sec-body-lh)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>*{margin-block:0}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>*+*{margin-top:var(--hv-sec-gap-body)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>p+p{margin-top:var(--hv-sec-gap-p)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-h,h2)+:is(.short,.sf-sub,.sf-lede,p:not(.sf-eyebrow):not(.sf-note):not(.j-src)){margin-top:var(--hv-sec-gap-head)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.short,.sf-sub)+*{margin-top:var(--hv-sec-gap-body)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-h3,h3){margin-top:var(--hv-sec-gap-sub)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-h,h2)+:is(.sf-h3,h3){margin-top:var(--hv-sec-gap-body)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-h3,h3)+*{margin-top:var(--hv-sec-gap-sub-after)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-eyebrow,.eyebrow,.ah-status)+*{margin-top:var(--hv-sec-gap-eyebrow)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:is(.sf-acts,.lg-actions){margin-top:var(--hv-sec-gap-cta)}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>:first-child{margin-top:0}

/* written sections (the legal page, the rules we follow): one body size and colour for summaries, paragraphs and lists */
.sf-in>.short{color:var(--hv-text)}
.sf-sec:not(.sf-ink) :is(.sf-in,.lg-two>div)>:is(p:not([class*="sf-"]):not(.short):not(.j-src),.lg-list){color:var(--hv-text-2)}
.sf .lg-list{margin-inline:0;padding-left:1.2em;display:grid;gap:var(--hv-sec-gap-list);max-width:80ch}
.sf .lg-list li::marker{color:var(--hv-accent)}
.sf .lg-two{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--hv-sec-gap-sub)}
.sf .lg-two h3{margin:0 0 var(--hv-sec-gap-sub-after);font:800 1.0625rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.sf .lg-dl{margin:0}
.sf .lg-dl dd{color:var(--hv-text)}
.sf .lg-callout{display:grid;gap:var(--hv-sec-gap-p);padding:clamp(20px,3vw,28px);border-radius:var(--hv-radius-card);background:var(--hv-chip);box-shadow:inset 0 0 0 1px var(--hv-edge)}
.sf .lg-callout>b{font:800 1.125rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.sf .lg-callout p{margin:0;color:var(--hv-text-2)}
.sf .lg-callout .lg-actions{margin:0}
.sf .lg-actions{display:flex;flex-wrap:wrap;gap:10px}
.sf-ink .sf-in>.short,.sf-ink .lg-dl dd{color:var(--hv-on-band)}
/* a link to a part of the page (/legal#lg-data) lands with its heading clear of the header and the docked box */
.sf-sec[id],.sf-sec [id]{scroll-margin-top:calc(var(--sf-nav) + 96px)}

/* ---- CEO lens (2026-10-11) ---- */
/* Grouped lists: each group is its own panel with a heading that reads as a clear break (sections.group_lists draws them). */
.sf-groups{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.sf-group{padding:clamp(20px,2.5vw,28px);border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-sec:nth-child(odd) .sf-group{background:var(--hv-card-solid)}
.sf-group-h{margin:0;padding-bottom:12px;border-bottom:2px solid var(--hv-accent);font:800 .8125rem/1.2 var(--hv-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--hv-accent)}
.sf-group .sf-list{margin:var(--hv-sec-gap-sub-after) 0 0;border-top:0}
.sf-group .sf-list>li:last-child{border-bottom:0;padding-bottom:0}
/* The one Source link a chart may carry: small, quiet, never a sentence. */
.src-link{margin:12px 0 0;font-size:.75rem;line-height:1}
.src-link a{color:var(--hv-text-soft);text-decoration:underline;text-underline-offset:2px;display:inline-block;padding:6px 0}
.src-link a:hover{color:var(--hv-accent)}
.nb2 .src-link a,.sf-ink .src-link a,.sf-band .src-link a{color:inherit;opacity:.8}
:is(.sf-in,.sf-band-in,.sf-data .sf-in>article.lg)>.src-link{margin-top:var(--hv-sec-gap-sub-after)}
/* The Sources page */
.sf-sources .src-block+.src-block{margin-top:var(--hv-sec-gap-sub);padding-top:var(--hv-sec-gap-sub);border-top:1px solid var(--hv-edge)}
.sf-sources .src-block>.sf-eyebrow+.sf-h{margin-top:var(--hv-sec-gap-eyebrow)}
.sf-sources .src-block>.sf-h+*{margin-top:var(--hv-sec-gap-head)}
.src-list{margin:var(--hv-sec-gap-head) 0 0;padding-left:1.2em;display:grid;gap:var(--hv-sec-gap-list);max-width:80ch;color:var(--hv-text-2)}
.src-list li::marker{color:var(--hv-accent)}
.lst-firm{color:var(--hv-text)}
.nb-zips{color:var(--hv-text-2)}
footer .legal .legal-idx{max-width:110ch}
/* Charts move: bars grow from their start, the typical mark lands, figures count up (havlo-site-compose.js adds .hv-anim, then .is-in) */
@media (prefers-reduced-motion:no-preference){
  .hv-anim .sf-r-bar i,.hv-anim.w3c-bars .w3c-row i{transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--hv-ease)}
  .hv-anim .sf-r-bar em{opacity:0;transform:translateY(-6px);transition:opacity .35s ease,transform .35s var(--hv-ease)}
  .hv-anim.is-in .sf-r-bar i,.hv-anim.is-in.w3c-bars .w3c-row i{transform:none}
  .hv-anim.is-in .sf-r-bar em{opacity:1;transform:none;transition-delay:.7s}
  .hv-anim li:nth-child(2) .sf-r-bar i,.hv-anim.w3c-bars .w3c-row:nth-child(2) i{transition-delay:.08s}
  .hv-anim li:nth-child(3) .sf-r-bar i{transition-delay:.16s}
  .hv-anim li:nth-child(4) .sf-r-bar i{transition-delay:.24s}
  .hv-anim li:nth-child(5) .sf-r-bar i{transition-delay:.32s}
  .hv-anim .nb2-cell,.hv-anim .nb2-side,.hv-anim.sf-tiles>div{transition:opacity .5s var(--hv-ease),transform .5s var(--hv-ease)}
  .hv-anim:not(.is-in) .nb2-cell,.hv-anim:not(.is-in) .nb2-side,.hv-anim.sf-tiles:not(.is-in)>div{opacity:.001;transform:translateY(10px)}
}
/* The size the person named stands out in every range chart; the others step back */
.sf-ranges li{transition:opacity .3s ease}
.sf-ranges.has-said li:not(.is-said){opacity:.45}
.sf-ranges li.is-said .sf-r-k,.sf-ranges li.is-said>b{color:var(--hv-accent)}
.sf-chain-sum{font-weight:700;color:var(--hv-text)}
/* Status pills outside the conversation band get the band's colors (the "Beginning" pill on /community drew as plain text) */
.ah-status{--line:var(--hv-edge);--acc:var(--hv-accent);--tx2:var(--hv-text-2)}
/* Keyboard focus is always visible (QA 2026-10-11: only the theme buttons drew a ring); components may draw their own on top */
:where(a,button,[role="button"],input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}
/* Phone tap targets (QA 2026-10-11: footer links 32px, school links 19px, the logo 29px, the consent box 22px) */
@media (pointer:coarse),(max-width:640px){
  .foot-cols nav{gap:0}
  .foot-cols nav a{display:flex;align-items:center;min-height:44px}
  .nav .logo{display:flex;align-items:center;min-height:44px}
  .sf .nb-schools td a{display:inline-flex;align-items:center;min-height:44px}
  .signup .consent{min-height:44px;align-items:center}
  .signup .consent input{width:24px;height:24px}
  .src-link a{min-height:32px;display:inline-flex;align-items:center}
}
/* Landmarks: a row of like photographs, each a fixed height (the old #page-area rules no longer reach the one surface) */
/* landmarks: the places a person would know, nearest first, each distance drawn to scale against the farthest shown */
.sf .lm-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.sf .lm-row .lm{margin:0;min-width:0}
.sf .lm-row .lm img{width:100%;height:100%;min-height:200px;object-fit:cover;border-radius:var(--hv-radius-card);display:block;background:var(--hv-chip)}
@media (min-width:720px){.sf .lm-row .lm-ph{grid-column:span 2;grid-row:span 2}}
.sf .lm-c{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf .lm-k{font:800 .6875rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
.sf .lm-n{font:800 1.0625rem/1.25 var(--hv-font-display);color:var(--hv-text);overflow-wrap:anywhere}
.sf .lm-d{margin-top:auto;padding-top:8px;font-weight:700;color:var(--hv-text-2)}
.sf .lm-d strong{font:800 clamp(1.75rem,3vw,2.25rem)/1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-text);font-variant-numeric:tabular-nums}
.sf .lm-bar{position:relative;display:block;height:4px;border-radius:999px;background:var(--hv-chip);overflow:hidden}
.sf .lm-bar i{position:absolute;top:0;bottom:0;left:0;border-radius:999px;background:var(--hv-accent)}
@media (max-width:719px){.sf .lm-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:10px}.sf .lm-c{padding:14px}.sf .lm-n{font-size:.9375rem}.sf .lm-row .lm-ph{grid-column:1/-1}}
/* The canonical logo: the H in Havlo rust, the word in the text colour (CEO 2026-10-11). */
.logo .logo-h{fill:#b86530}
:root[data-theme="dark"] .logo .logo-h{fill:#b86530}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo .logo-h{fill:#b86530}}
/* ---- Composed text pages (CEO 2026-10-11: About and the other text pages felt wide and flat) ---- */
/* Reading width: running text never stretches past a comfortable line; grids, cards and charts still use the full width. */
.sf-in>p,.sf-in>.sf-sub,.sf-in>.sf-lede,.sf-in>.sf-list,.sf-in>ol.sf-list,.sf-in>blockquote,.sf-in>.sf-more,.sf-in>.sf-chain-sum,.sf-group .sf-list>li span{max-width:68ch}
/* A person: a large photo beside the introduction. */
.sf-profile{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center}
.sf-profile-ph{margin:0}
.sf-profile-ph img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--hv-radius-card)}
.sf-profile-tx>.sf-eyebrow{margin-top:0}
.sf-profile-name{display:flex;flex-direction:column;gap:2px;margin:var(--hv-sec-gap-head) 0 0}
.sf-profile-name b{font:800 1.25rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.sf-profile-name span{color:var(--hv-text-2)}
.sf-profile .sf-lede{max-width:56ch}
/* Facts and beliefs as tiles, three across. */
.sf-tiles3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:var(--hv-sec-gap-body) 0 0;padding:0;list-style:none}
.sf-tiles3>li{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-sec:nth-child(odd) .sf-tiles3>li{background:var(--hv-card-solid)}
.sf-tiles3>li b{font:800 1.0625rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.sf-tiles3>li span{color:var(--hv-text-2);line-height:1.55}
.sf-tiles-n{counter-reset:tile}
.sf-tiles-n>li::before{counter-increment:tile;content:counter(tile,decimal-leading-zero);font:800 .8125rem/1 var(--hv-font-display);letter-spacing:.08em;color:var(--hv-accent)}
/* A longer story reads in two columns on wide screens. */
.sf-bio{margin:var(--hv-sec-gap-body) 0 0;columns:2 340px;column-gap:clamp(24px,4vw,56px)}
.sf-bio p{margin:0 0 var(--hv-sec-gap-p);break-inside:avoid;line-height:1.65}
@media (max-width:760px){.sf-profile{grid-template-columns:1fr}.sf-profile-ph img{max-width:360px}}
/* Four like tiles in a row (Legal's summary); tiles that are links or actions; chips for an "on this page" list. */
.sf-tiles4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;margin:var(--hv-sec-gap-body) 0 0;padding:0;list-style:none}
.sf-tiles4>li{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-sec:nth-child(odd) .sf-tiles4>li{background:var(--hv-card-solid)}
.sf-tiles4>li a b,.sf-tiles4>li b{font:800 1.0625rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.sf-tiles4>li span{color:var(--hv-text-2);line-height:1.55}
.sf-tiles-link>li{position:relative;transition:box-shadow var(--hv-fast,170ms)}
.sf-tiles-link>li:hover{box-shadow:0 0 0 2px var(--hv-accent)}
.sf-tiles-link>li a{text-decoration:none}.sf-tiles-link>li a::after{content:"";position:absolute;inset:0}
.sf-tiles-act>li{padding:0}
.sf-tiles-act>li>a,.sf-tiles-act>li>button{display:flex;flex-direction:column;gap:8px;width:100%;height:100%;padding:22px;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.sf-tiles-act>li:hover{box-shadow:0 0 0 2px var(--hv-accent)}
.sf-tiles-act>li b::after{content:" \2192";color:var(--hv-accent)}
.sf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:var(--hv-sec-gap-sub-after) 0 0;padding:0;list-style:none}
.sf-chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--hv-chip);color:var(--hv-text);font:600 .9375rem/1 var(--hv-font-body);text-decoration:none}
.sf-chips a:hover{background:var(--hv-chip-hover)}
/* An owner's instant estimate (/owners): the address form, then the range, the homes around it, rent by bedrooms and a year of fees. */
.oe-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:var(--hv-sec-gap-body) 0 0}
.oe-form label{display:flex;flex-direction:column;gap:6px;font:600 .875rem/1.2 var(--hv-font-body);color:var(--hv-text-2)}
.oe-form input,.oe-form select{min-height:52px;padding:0 16px;border:1.5px solid var(--hv-edge);border-radius:14px;background:var(--hv-field);color:var(--hv-text);font:500 1.0625rem/1 var(--hv-font-body)}
.oe-form input:focus,.oe-form select:focus{outline:none;border-color:var(--hv-accent)}
.oe-form .btn{min-height:52px}
.oe-msg{margin:12px 0 0;color:var(--hv-text-2)}
.oe-msg:empty{display:none}
.oe-out{display:grid;gap:var(--hv-sec-gap-body);margin:var(--hv-sec-gap-body) 0 0;padding:clamp(20px,3vw,32px);border-radius:var(--hv-radius-card);background:var(--hv-card-solid);box-shadow:0 0 0 1px var(--hv-edge)}
.oe-out[hidden]{display:none}
.oe-where{margin:0;color:var(--hv-text-2);font-weight:600}
.oe-iabs{margin:0;color:var(--hv-text-2)}
.oe-big{margin:6px 0 0;display:flex;align-items:baseline;gap:8px}
.oe-big b{font:800 clamp(2.5rem,6vw,3.75rem)/1 var(--hv-font-display);letter-spacing:-.03em;color:var(--hv-accent);font-variant-numeric:tabular-nums}
.oe-big span{color:var(--hv-text-2)}
.oe-range{margin:6px 0 0;color:var(--hv-text)}
.oe-fig{margin:0}
.oe-fig figcaption{margin:0 0 12px;font:700 .9375rem/1.3 var(--hv-font-display);color:var(--hv-text)}
.oe-strip{position:relative;height:44px;border-radius:999px;background:var(--hv-chip)}
.oe-band{position:absolute;top:8px;bottom:8px;border-radius:999px;background:color-mix(in srgb,var(--hv-accent) 28%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--hv-ease,ease)}
.oe-dot{position:absolute;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--hv-text-2);opacity:0;transition:opacity .3s}
.oe-mark{position:absolute;top:-6px;bottom:-6px;width:4px;margin-left:-2px;border-radius:4px;background:var(--hv-accent);opacity:0;transition:opacity .4s .5s}
.oe-strip.on .oe-band{transform:scaleX(1)}.oe-strip.on .oe-dot{opacity:.75}.oe-strip.on .oe-mark{opacity:1}
.oe-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--hv-text-2);font-size:.8125rem;font-variant-numeric:tabular-nums}
.oe-bars,.oe-fees{display:grid;gap:10px}
.oe-bar{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) auto;gap:12px;align-items:center}
.oe-bar span{color:var(--hv-text-2);font-size:.9375rem}
.oe-bar i{display:block;height:14px;width:0;border-radius:999px;background:var(--hv-text-2);opacity:.45;transition:width .7s var(--hv-ease,ease)}
.oe-bar.me i{background:var(--hv-accent);opacity:1}
.oe-bar b{font:800 .9375rem/1 var(--hv-font-display);font-variant-numeric:tabular-nums}
.on>.oe-bar i{width:var(--w)}
.oe-save{margin:12px 0 0;color:var(--hv-text)}.oe-save b{color:var(--hv-accent)}
.oe-near{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.oe-near a{display:flex;gap:14px;align-items:center;padding:10px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);color:var(--hv-text);text-decoration:none}
.oe-near a:hover,.oe-near a:focus-visible{box-shadow:0 0 0 2px var(--hv-accent)}
.oe-near img{flex:none;width:96px;height:72px;border-radius:10px;object-fit:cover}
.oe-near span{display:grid;gap:2px;min-width:0}.oe-near b{font:800 1rem/1.2 var(--hv-font-display);color:var(--hv-accent);font-variant-numeric:tabular-nums}
.oe-near small{color:var(--hv-text-2);font-size:.8125rem}
.oe-mkt{display:flex;flex-wrap:wrap;gap:12px}
.oe-tile{flex:1 1 220px;padding:16px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.oe-tile p{margin:4px 0 0;color:var(--hv-text-2)}.oe-tile b{font:800 1.125rem/1.2 var(--hv-font-display);color:var(--hv-text);font-variant-numeric:tabular-nums}
.oe-tile .oe-tile-k{margin:0 0 6px;font:800 .75rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
@media (max-width:640px){.oe-form{grid-template-columns:1fr}.oe-bar{grid-template-columns:minmax(0,96px) minmax(0,1fr) auto}}
@media (prefers-reduced-motion:reduce){.oe-band,.oe-dot,.oe-mark,.oe-bar i{transition:none}}

/* Owners (CEO 2026-10-11): two panels side by side, and the fee comparison's rows as cards rather than page-wide lines */
.sf-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin:var(--hv-sec-gap-body) 0 0}
.sf-pair>div{padding:22px;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge)}
.sf-sec:nth-child(odd) .sf-pair>div{background:var(--hv-card-solid)}
.sf-pair .sf-h3{margin-top:0}
.w3s-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;border-top:0;margin-top:14px}
.w3s-rows>li{padding:20px;border:0;border-radius:var(--hv-radius-card);background:var(--hv-surface);box-shadow:0 0 0 1px var(--hv-edge);gap:12px}
.sf-sec:nth-child(odd) .w3s-rows>li{background:var(--hv-card-solid)}
.w3s-rows p{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}
.w3s-rows p>span{min-width:0}
.w3s-rows p>small{grid-column:1/-1}
.w3s-rows p:not(:has(b)){grid-template-columns:1fr}
.w3c-diff{max-width:68ch}

/* The address box suggests real addresses from the county records as the owner types */
.oe-bar-host{position:relative}
.oe-waiting{display:none}
.oe-sug{position:absolute;z-index:40;top:100%;left:0;right:0;text-align:left;margin:6px 0 0;padding:6px;list-style:none;border-radius:14px;background:var(--hv-card-solid);box-shadow:0 0 0 1px var(--hv-edge),0 18px 40px rgba(0,0,0,.28)}
.oe-sug li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;cursor:pointer;color:var(--hv-text);font:600 1rem/1.3 var(--hv-font-body)}
.oe-sug li small{color:var(--hv-text-soft);font-weight:500;font-size:.8125rem}
.oe-sug li[aria-selected=true],.oe-sug li:hover{background:var(--hv-surface)}
.oe-facts{margin:6px 0 0;color:var(--hv-text-2);font-size:.9375rem}

/* ---- Home, lit from within (CEO 2026-10-13) ----
   Havlo's photographs are Houston at dusk with warm lit windows, and the one orange is window light. The page comes on the
   same way: warm, in sequence, never flashy. Anything marked .hv-lit is drawn unlit only under html.hv-motion (set before
   the first paint by havlo-theme.js, never with reduced motion) and lights when it scrolls into view (havlo-site-basics.js).
   Without scripts, or with reduced motion, everything is simply on. Transforms and opacity only (the loop's line draws by
   its stroke offset); nothing changes size, so nothing on the page moves. */

/* The doors: each photograph warms in turn on arrival, from dusk to lit; a door lifts and brightens under the pointer. */
.sf-door{transition:transform .5s var(--hv-ease)}
.sf-door::after{transition:opacity .5s var(--hv-ease)}
.sf-door:hover,.sf-door:focus-visible{transform:translateY(-4px)}
.sf-door:hover::after,.sf-door:focus-visible::after{opacity:.72}
@media (prefers-reduced-motion:reduce){.sf-door,.sf-door::after{transition:none}.sf-door:hover,.sf-door:focus-visible{transform:none}}
@media (prefers-reduced-motion:no-preference){
  .sf-doors.hv-lit .sf-door::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
    background:linear-gradient(180deg,var(--hv-band) 0%,color-mix(in srgb,var(--hv-band) 72%,var(--hv-action)) 100%);transition:opacity 1.3s var(--hv-ease)}
  html.hv-motion .sf-doors.hv-lit:not(.is-lit) .sf-door::before{opacity:.45;transition:none}
  .sf-doors.hv-lit .sf-door:nth-child(2)::before{transition-delay:.14s}
  .sf-doors.hv-lit .sf-door:nth-child(3)::before{transition-delay:.28s}
  .sf-doors.hv-lit .sf-door:nth-child(4)::before{transition-delay:.42s}
  .sf-doors.hv-lit .sf-door:nth-child(5)::before{transition-delay:.56s}
  .sf-doors.hv-lit .sf-door:nth-child(6)::before{transition-delay:.7s}
}

/* The Havlo loop: one circle in Havlo orange, a lit node per stage (filled: working today; half: beginning; open: planned),
   beside the stages in words. The circle draws itself as it arrives, the nodes come on in turn, and its middle glows last. */
.sf-loop{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;margin:var(--hv-sec-gap-body) 0 0}
@media (min-width:900px){.sf-loop{grid-template-columns:minmax(260px,400px) minmax(0,1fr)}}
.lp-ring{display:block;width:100%;max-width:380px;height:auto;margin:0 auto;overflow:visible}
@media (max-width:899px){.lp-ring{max-width:300px}}
.lp-track{fill:none;stroke:var(--hv-edge);stroke-width:2}
.lp-arc{fill:none;stroke:var(--hv-action);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.lp-core{fill:url(#lp-glow)}
.lp-g0{stop-color:var(--hv-action);stop-opacity:.4}
.lp-g1{stop-color:var(--hv-action);stop-opacity:0}
.lp-halo{fill:var(--hv-action);opacity:.2}
.lp-dot{fill:var(--hv-action);stroke:var(--hv-action);stroke-width:2}
.lp-node text{font:800 13px/1 var(--hv-font-display);fill:var(--hv-on-action)}
.lp-beginning .lp-dot{fill:color-mix(in srgb,var(--hv-action) 35%,var(--hv-surface))}
.lp-beginning text{fill:var(--hv-text)}
.lp-planned .lp-halo{opacity:0}
.lp-planned .lp-dot{fill:var(--hv-surface);stroke:var(--hv-text-soft);stroke-dasharray:3 3}
.lp-planned text{fill:var(--hv-text-2)}
.lp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hv-edge)}
.lp-list>li{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--hv-edge)}
.lp-list>li>div{flex:1 1 0;min-width:0}
.lp-list .sf-n{flex:0 0 auto;min-width:2ch;font:800 .875rem/1.6 var(--hv-font-display);color:var(--hv-accent)}
.lp-list h3{margin:0;font:800 1.0625rem/1.3 var(--hv-font-display)}
.lp-list p{margin:4px 0 0;color:var(--hv-text-2);line-height:1.5}
.lp-list .ah-status{display:inline-block;margin-top:8px}
@media (prefers-reduced-motion:no-preference){
  .sf-loop.hv-lit .lp-arc{transition:stroke-dashoffset 2s var(--hv-ease) .15s}
  .sf-loop.hv-lit .lp-node{transition:opacity .5s var(--hv-ease)}
  .sf-loop.hv-lit .lp-core{transition:opacity 1.4s var(--hv-ease) 1.9s}
  .sf-loop.hv-lit .lp-list>li{transition:opacity .6s var(--hv-ease),transform .6s var(--hv-ease)}
  html.hv-motion .sf-loop.hv-lit:not(.is-lit) .lp-arc{stroke-dashoffset:1}
  html.hv-motion .sf-loop.hv-lit:not(.is-lit) .lp-node{opacity:.12}
  html.hv-motion .sf-loop.hv-lit:not(.is-lit) .lp-core{opacity:0}
  html.hv-motion .sf-loop.hv-lit:not(.is-lit) .lp-list>li{opacity:0;transform:translateY(10px)}
  .sf-loop.hv-lit .lp-node:nth-of-type(1),.sf-loop.hv-lit .lp-list>li:nth-child(1){transition-delay:.15s}
  .sf-loop.hv-lit .lp-node:nth-of-type(2),.sf-loop.hv-lit .lp-list>li:nth-child(2){transition-delay:.5s}
  .sf-loop.hv-lit .lp-node:nth-of-type(3),.sf-loop.hv-lit .lp-list>li:nth-child(3){transition-delay:.85s}
  .sf-loop.hv-lit .lp-node:nth-of-type(4),.sf-loop.hv-lit .lp-list>li:nth-child(4){transition-delay:1.2s}
  .sf-loop.hv-lit .lp-node:nth-of-type(5),.sf-loop.hv-lit .lp-list>li:nth-child(5){transition-delay:1.55s}
  .sf-loop.hv-lit .lp-node:nth-of-type(6){transition-delay:1.75s}
}
.sf-loop>.sf-ledger{margin:0}
@media (min-width:900px){.sf-loop:has(>.sf-ledger)>.lp-ring{align-self:start;position:sticky;top:calc(var(--nav-h,72px) + 120px)}}

/* Working with Havlo: four steps on one path that lights a step at a time. Across on wide screens, down on phones. */
.sf-path{list-style:none;margin:var(--hv-sec-gap-body) 0 0;padding:0;overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px clamp(16px,2.4vw,32px)}
.sf-path>li{position:relative;padding:48px 0 0}
.sf-path>li::before,.sf-path>li::after{content:"";position:absolute;left:0;right:calc(-1 * clamp(16px,2.4vw,32px));top:15px;height:2px;background:var(--hv-edge)}
.sf-path>li::after{background:var(--hv-action);transform-origin:left}
.sf-path>li:last-child::before,.sf-path>li:last-child::after{right:0}
.sf-path .sf-n{position:absolute;left:0;top:0;z-index:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--hv-action);color:var(--hv-on-action);font:800 .75rem/1 var(--hv-font-display);box-shadow:0 0 0 6px color-mix(in srgb,var(--hv-action) 18%,transparent)}
.sf-path h3{margin:0 0 6px;font:800 1.125rem/1.25 var(--hv-font-display)}
.sf-path p{margin:0;line-height:1.5;color:var(--hv-text-2)}
@media (max-width:600px){
  .sf-path{grid-template-columns:minmax(0,1fr);gap:0}
  .sf-path>li{padding:0 0 28px 50px}
  .sf-path>li:last-child{padding-bottom:0}
  .sf-path>li::before,.sf-path>li::after{left:15px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .sf-path>li::after{transform-origin:top}
  .sf-path>li:last-child::before,.sf-path>li:last-child::after{display:none}
}
@media (prefers-reduced-motion:no-preference){
  .sf-path.hv-lit>li::after{transition:transform .8s var(--hv-ease)}
  .sf-path.hv-lit .sf-n,.sf-path.hv-lit h3,.sf-path.hv-lit p{transition:opacity .6s var(--hv-ease),transform .6s var(--hv-ease)}
  html.hv-motion .sf-path.hv-lit:not(.is-lit)>li::after{transform:scaleX(0)}
  html.hv-motion .sf-path.hv-lit:not(.is-lit) .sf-n{opacity:.25;transform:scale(.8)}
  html.hv-motion .sf-path.hv-lit:not(.is-lit) h3,html.hv-motion .sf-path.hv-lit:not(.is-lit) p{opacity:0;transform:translateY(8px)}
  .sf-path.hv-lit>li:nth-child(2)::after,.sf-path.hv-lit>li:nth-child(2) :is(.sf-n,h3,p){transition-delay:.4s}
  .sf-path.hv-lit>li:nth-child(3)::after,.sf-path.hv-lit>li:nth-child(3) :is(.sf-n,h3,p){transition-delay:.8s}
  .sf-path.hv-lit>li:nth-child(4)::after,.sf-path.hv-lit>li:nth-child(4) :is(.sf-n,h3,p){transition-delay:1.2s}
}
@media (prefers-reduced-motion:no-preference) and (max-width:600px){html.hv-motion .sf-path.hv-lit:not(.is-lit)>li::after{transform:scaleY(0)}}

/* ---- How Havlo is different (CEO Do 2026-10-13): a typical manager beside Havlo, row by row ----
   Data as a clean comparison: the subject, then the typical pattern (quiet), then Havlo (lit in the accent, like a window at
   dusk). Side by side from 760px; on phones each row stacks with its own labels, no sideways scroll. Rows come on in sequence
   and the Havlo side lights last (.hv-lit, only under html.hv-motion and never with reduced motion). */
.df{margin:var(--hv-sec-gap-body) 0 0}
.df-cols{display:none}
.df-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--hv-edge)}
.df-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 0;border-bottom:1px solid var(--hv-edge)}
.df-t{margin:0;font:800 .75rem/1.3 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-2)}
.df-was,.df-hv{margin:0;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.df-was{color:var(--hv-text-2)}
.df-hv{position:relative;padding:12px 14px;border-radius:var(--hv-radius-card);color:var(--hv-text);font-weight:600;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--hv-action) 14%,var(--hv-card-solid)) 0%,var(--hv-card-solid) 72%);
  box-shadow:inset 3px 0 0 var(--hv-action),0 0 0 1px color-mix(in srgb,var(--hv-action) 26%,var(--hv-edge))}
.df-k{display:block;margin:0 0 4px;font:800 .6875rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-2)}
.df-hv .df-k{color:var(--hv-accent)}
@media (min-width:760px){
  .df-cols{display:grid;grid-template-columns:minmax(110px,.55fr) minmax(0,1fr) minmax(0,1.25fr);gap:clamp(16px,2.4vw,32px);padding:0 0 10px;
    font:800 .75rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-2)}
  .df-cols span:last-child{color:var(--hv-accent);padding-left:14px}
  .df-row{grid-template-columns:minmax(110px,.55fr) minmax(0,1fr) minmax(0,1.25fr);gap:clamp(16px,2.4vw,32px);align-items:center}
  .df-row .df-k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.df-lead{margin:0;font:800 clamp(1.25rem,2.2vw,1.625rem)/1.25 var(--hv-font-display);color:var(--hv-accent)}
.df-next{margin:clamp(28px,4vw,44px) 0 0;padding:clamp(18px,2.4vw,26px);border-radius:var(--hv-radius-card);background:var(--hv-card-solid);border:1px solid var(--hv-edge)}
.df-next-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font:800 1.125rem/1.3 var(--hv-font-display)}
.df-next ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px clamp(16px,2.4vw,32px)}
.df-next li{position:relative;padding:0 0 0 18px;line-height:1.45;color:var(--hv-text)}
.df-next li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--hv-action)}
@media (prefers-reduced-motion:no-preference){
  .df-rows.hv-lit .df-row{transition:opacity .6s var(--hv-ease),transform .6s var(--hv-ease)}
  .df-rows.hv-lit .df-hv{transition:box-shadow .9s var(--hv-ease),background-color .9s var(--hv-ease),opacity .9s var(--hv-ease)}
  html.hv-motion .df-rows.hv-lit:not(.is-lit) .df-row{opacity:0;transform:translateY(10px)}
  html.hv-motion .df-rows.hv-lit:not(.is-lit) .df-hv{opacity:.4;box-shadow:inset 0 0 0 var(--hv-action),0 0 0 1px var(--hv-edge)}
  .df-rows.hv-lit .df-row:nth-child(2){transition-delay:.18s}.df-rows.hv-lit .df-row:nth-child(2) .df-hv{transition-delay:.53s}
  .df-rows.hv-lit .df-row:nth-child(3){transition-delay:.36s}.df-rows.hv-lit .df-row:nth-child(3) .df-hv{transition-delay:.71s}
  .df-rows.hv-lit .df-row:nth-child(4){transition-delay:.54s}.df-rows.hv-lit .df-row:nth-child(4) .df-hv{transition-delay:.89s}
  .df-rows.hv-lit .df-row:nth-child(5){transition-delay:.72s}.df-rows.hv-lit .df-row:nth-child(5) .df-hv{transition-delay:1.07s}
  .df-rows.hv-lit .df-row:nth-child(6){transition-delay:.9s}.df-rows.hv-lit .df-row:nth-child(6) .df-hv{transition-delay:1.25s}
  .df-rows.hv-lit .df-row:nth-child(7){transition-delay:1.08s}.df-rows.hv-lit .df-row:nth-child(7) .df-hv{transition-delay:1.43s}
  .df-rows.hv-lit .df-row:nth-child(1) .df-hv{transition-delay:.35s}
}

/* ---- the bento board (CEO 2026-10-12): the top of every town, neighborhood and community page ----
   One composed grid of mixed tiles (havlo/site/bento.py sizes them so dense placement fills every row at 4 and 2 columns):
   photographs cropped to their highlight (object-position from each photo's measured focal point), live figures, the
   nearest landmarks drawn to scale, rent by bedrooms, schools by TEA rating, and the action in Havlo orange.
   4 columns on desktop, 2 on tablets and phones, 1 on the narrowest. Day twins swap with the theme like every city photo. */
.sf-top-slim{min-height:0}
.sf-top-slim .sf-photo{position:absolute;inset:0}
.sf-top-slim .sf-top-in{padding-top:calc(var(--sf-nav) + 24px);padding-bottom:clamp(22px,3vw,34px)}
.sf-top-slim .sf-h1{font-size:clamp(2rem,4.2vw,3.25rem)}
.sf-top-slim .sf-lede{margin-top:10px}
.sf-sec.sf-bento,.sf-sec.sf-bento:nth-child(even){background:var(--hv-surface);border-top:0}
.sf-bento .sf-in{padding-top:clamp(16px,2.4vw,28px);padding-bottom:clamp(16px,2.4vw,28px)}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,14vw,184px);grid-auto-flow:row dense;gap:clamp(8px,1vw,12px)}
.bt{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:var(--hv-radius-card);background:var(--hv-card-solid);border:1px solid var(--hv-edge);color:var(--hv-text);padding:clamp(12px,1.4vw,18px);display:flex;flex-direction:column;justify-content:flex-end;gap:6px;text-decoration:none}
.bt-big{grid-column:span 2;grid-row:span 2}
.bt-tall{grid-row:span 2}
.bt-wide{grid-column:span 2}
.bt-k{margin:0;font:800 .6875rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-accent)}
/* photographs */
.bt-ph{padding:0;border-color:var(--hv-photo-line);background-color:var(--hv-band);background-image:radial-gradient(130% 100% at 50% 100%,color-mix(in srgb,var(--hv-action) 55%,var(--hv-band)) 0%,var(--hv-band) 74%)}
.bt-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bt-ph .bt-d{display:none}
html.photos-day .bt-ph.twin .bt-d{display:block}
html.photos-day .bt-ph.twin .bt-n{display:none}
.bt-cap{position:absolute;z-index:1;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 11px;border-radius:var(--hv-radius-pill);background:var(--hv-scrim);color:var(--hv-on-band);font:700 .8125rem/1.25 var(--hv-font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.bt-ph:hover .bt-cap,a.bt-ph:focus-visible .bt-cap{background:var(--hv-action);color:var(--hv-on-action)}
a.bt-ph:focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.bt-ph img{transition:transform .6s var(--hv-ease)}a.bt-ph:hover img{transform:scale(1.03)}}
/* figures */
/* One headline figure glows in the accent, like a lit window; the others are quieter (CEO 2026-10-13). */
.bt-num b{font:700 clamp(1.375rem,2vw,1.875rem)/1 var(--hv-font-display);letter-spacing:-.02em;color:var(--hv-text);font-variant-numeric:tabular-nums}
.bt-num span{font-size:.875rem;line-height:1.35;color:var(--hv-text-2)}
.bt-num.bt-lead b{font-weight:800;font-size:clamp(2rem,3.2vw,2.875rem);letter-spacing:-.035em;color:var(--hv-accent);text-shadow:0 0 28px color-mix(in srgb,var(--hv-action) 40%,transparent)}
.bt-num.bt-lead{background:radial-gradient(120% 90% at 0% 100%,color-mix(in srgb,var(--hv-action) 12%,var(--hv-card-solid)) 0%,var(--hv-card-solid) 70%)}
/* landmarks, each distance to scale */
.bt-lm{justify-content:flex-start}
.bt-lm ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:space-around;gap:6px;flex:1;min-height:0}
.bt-lm li{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:3px;min-width:0}
.bt-lm li b{flex:1 1 0;min-width:0;font:700 .9375rem/1.25 var(--hv-font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-lm li em{font:700 .875rem/1.2 var(--hv-font-display);font-style:normal;color:var(--hv-text-2)}
.bt-lm-k{font-size:.75rem;color:var(--hv-text-soft)}
.bt-bar{flex:0 0 100%;height:5px;border-radius:var(--hv-radius-pill);background:var(--hv-chip)}
.bt-bar i{display:block;height:100%;border-radius:inherit;background:var(--hv-series-2)}
/* small charts: rent by bedrooms, schools by rating */
.bt-chart,.bt-sch{justify-content:flex-start}
.bt-chart ol,.bt-sch ol{list-style:none;margin:0;padding:0;flex:1;min-height:0;display:flex;align-items:stretch;gap:clamp(6px,1vw,12px)}
.bt-chart li,.bt-sch li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}
.bt-chart li em,.bt-sch li em{font:700 .75rem/1.1 var(--hv-font-display);font-style:normal;color:var(--hv-text);white-space:nowrap}
.bt-chart li>span:last-child,.bt-sch li>span:last-child{font-size:.75rem;color:var(--hv-text-soft);white-space:nowrap}
.bt-col{flex:1;min-height:0;width:100%;max-width:40px;display:flex;align-items:flex-end;border-radius:4px;background:var(--hv-chip)}
.bt-col i{display:block;width:100%;border-radius:4px;background:var(--hv-series-2)}
.bt-sch-d{font:700 .9375rem/1.25 var(--hv-font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Ratings in Havlo's own colors (CEO 2026-10-13: brand tokens only): A and B in orange, C a softer orange, D and F quiet. */
.bt-sch .bt-col i.r-a,.bt-sch .bt-col i.r-b{background:var(--hv-action)}
.bt-sch .bt-col i.r-c{background:color-mix(in srgb,var(--hv-action) 45%,var(--hv-chip))}
.bt-sch .bt-col i.r-d,.bt-sch .bt-col i.r-f{background:var(--hv-text-soft)}
.bt-col i{transform-origin:bottom}
.bt-bar i{transform-origin:left}
/* The figures the board has no tile for, one quiet row under it (the place's old "in numbers" strip, merged 2026-10-13) */
.bt-more{margin:clamp(12px,1.6vw,18px) 0 0;display:grid;gap:10px}
.bt-status{margin:0;max-width:70ch;color:var(--hv-text-2);line-height:1.5}
.bt-more dl{margin:0;display:flex;flex-wrap:wrap;gap:8px 28px}
.bt-more dl>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bt-more dt{font:800 .6875rem/1.2 var(--hv-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hv-text-soft)}
.bt-more dd{margin:0;font:700 1rem/1.3 var(--hv-font-display);color:var(--hv-text);font-variant-numeric:tabular-nums}
/* A place's schools and the places around it, one section: the map, then each part under its own small heading */
.sf-around article.lg{margin:0;padding:0;background:none;box-shadow:none;border:0}
.sf-around article.lg+article.lg{margin-top:clamp(28px,3.6vw,44px)}
.sf-around .place-map{margin-top:var(--hv-sec-gap-body)}
.sf-around article.lg>h3.sf-h3{margin:0;font:700 clamp(1.125rem,1.6vw,1.3125rem)/1.3 var(--hv-font-display);letter-spacing:-.01em;color:var(--hv-text)}
/* The chart's headline figures (the town's old "in numbers" strip, merged 2026-10-13) */
.sf-tiles.sf-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:clamp(8px,1.2vw,14px);margin-bottom:clamp(18px,2.4vw,28px)}
@media (max-width:600px){.sf-kpis>div{padding:14px 12px}.sf-kpis b{font-size:1.25rem}.sf-kpis span{font-size:.8125rem}}
/* A home's own board (site-home ui.jsx) lights as it opens; a place's board lights as it scrolls into view (below). */
@media (prefers-reduced-motion:no-preference){
  .hv-bento .bt{animation:bt-light .6s var(--hv-ease) both}
  .hv-bento .bt-col i{animation:bt-grow .9s var(--hv-ease) .2s both}
  .hv-bento .bt-bar i{animation:bt-grow-x .9s var(--hv-ease) .2s both}
  html.hv-motion .bento.hv-lit .bt{transition:opacity .7s var(--hv-ease),transform .7s var(--hv-ease)}
  html.hv-motion .bento.hv-lit:not(.is-lit) .bt{opacity:0;transform:translateY(14px) scale(.985)}
  html.hv-motion .bento.hv-lit .bt-col i,html.hv-motion .bento.hv-lit .bt-bar i{transition:transform 1s var(--hv-ease) .35s}
  html.hv-motion .bento.hv-lit:not(.is-lit) .bt-col i{transform:scaleY(.04)}
  html.hv-motion .bento.hv-lit:not(.is-lit) .bt-bar i{transform:scaleX(.04)}
  /* the windows come on: a warm wash over each photograph settles as the photograph lights */
  .bento.hv-lit .bt-ph::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(90% 80% at 50% 90%,color-mix(in srgb,var(--hv-action) 70%,transparent) 0%,transparent 70%);transition:opacity 1.6s var(--hv-ease) .5s}
  html.hv-motion .bento.hv-lit:not(.is-lit) .bt-ph::after{opacity:.6;transition:none}
  .bento .bt:nth-child(2){transition-delay:.07s;animation-delay:.07s}.bento .bt:nth-child(3){transition-delay:.14s;animation-delay:.14s}
  .bento .bt:nth-child(4){transition-delay:.21s;animation-delay:.21s}.bento .bt:nth-child(5){transition-delay:.28s;animation-delay:.28s}
  .bento .bt:nth-child(6){transition-delay:.35s;animation-delay:.35s}.bento .bt:nth-child(7){transition-delay:.42s;animation-delay:.42s}
  .bento .bt:nth-child(8){transition-delay:.49s;animation-delay:.49s}.bento .bt:nth-child(9){transition-delay:.56s;animation-delay:.56s}
  .bento .bt:nth-child(10){transition-delay:.63s;animation-delay:.63s}.bento .bt:nth-child(n+11){transition-delay:.7s;animation-delay:.7s}
}
@keyframes bt-light{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes bt-grow{from{transform:scaleY(.04)}to{transform:none}}
@keyframes bt-grow-x{from{transform:scaleX(.04)}to{transform:none}}
/* the action, in Havlo orange */
.bt-act{background:var(--hv-action);border-color:var(--hv-action);color:var(--hv-on-action);justify-content:center;align-items:stretch;gap:10px}
.bt-act.bt-wide{flex-direction:row;flex-wrap:wrap;align-items:center}
.bt-act.bt-wide .bt-btn{flex:1 1 180px}
.bt-btn{flex-shrink:0;appearance:none;cursor:pointer;min-height:44px;padding:10px 18px;border-radius:var(--hv-radius-action);border:2px solid var(--hv-on-action);background:var(--hv-on-action);color:var(--hv-band);font:var(--hv-action-weight) 1rem/1.2 var(--hv-font-display);text-align:center}
.bt-btn-line{background:transparent;color:var(--hv-on-action)}
.bt-btn:hover{filter:brightness(.96)}
.bt-btn:focus-visible{outline:3px solid var(--hv-on-action);outline-offset:2px}
.sf-bento .src-link{margin:8px 0 0}
@media (max-width:899px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(132px,30vw,176px)}
}
@media (max-width:420px){
  .bt-num b{font-size:1.5rem}
  .bt-lm-k{display:none}
  .bt-btn{padding:9px 12px;font-size:.9375rem}
}
@media (max-width:339px){
  .bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:150px}
  .bt-big,.bt-wide{grid-column:auto}
}
/* a home's board (site-home/src/App.jsx homeTiles): its photographs open the full-screen gallery */
.ah-gallery.is-bento{display:block;border-radius:0;overflow:visible}
.ah-gallery.is-bento .bt-ph img{min-height:0;max-height:none}
button.bt-ph{appearance:none;cursor:zoom-in;font:inherit;color:inherit}
button.bt-ph:focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}
.bt-num b small{font-size:.5em;font-weight:700;letter-spacing:0;color:var(--hv-text-2)}
.bt-hs{justify-content:flex-start}
.bt-hs ul{list-style:none;margin:0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-around;gap:6px}
.bt-hs li{display:flex;align-items:baseline;gap:8px;min-width:0}
.bt-hs li span{flex:0 0 auto;font-size:.75rem;color:var(--hv-text-soft)}
.bt-hs li b{flex:1 1 0;min-width:0;font:700 .9375rem/1.25 var(--hv-font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-hs li i{flex:0 0 auto;min-width:1.75em;padding:2px 6px;border-radius:var(--hv-radius-control);font:800 .8125rem/1.2 var(--hv-font-display);font-style:normal;text-align:center;background:var(--hv-chip);color:var(--hv-text)}
.bt-hs li i.r-a,.bt-hs li i.r-b{background:var(--hv-action);color:var(--hv-on-action)}
.bt-hs li i.r-c{background:var(--hv-chip);color:var(--hv-text)}
.bt-hs li i.r-d,.bt-hs li i.r-f{background:transparent;color:var(--hv-text-2);box-shadow:inset 0 0 0 1px var(--hv-edge)}

/* ---------- The front door (W-front-door, 2026-10-15) ----------
   The office line is a real link in the header and the footer, and a Call / Text bar on phones; the first screen offers a
   concrete action with what it gives; every home card carries a one-tap question to a broker. Tokens only. */
:root:root:root:root .nav .nav-call{display:inline-flex;align-items:center;min-height:42px;padding:0 10px;border-radius:var(--hv-radius-control,8px);color:var(--c-pill-fg);font:700 .9375rem/1 var(--display);white-space:nowrap;text-decoration:none;font-variant-numeric:tabular-nums;transition:color .3s}
:root:root:root:root .nav .nav-call:hover{color:var(--c-rust);text-decoration:underline;text-underline-offset:4px}
@media (max-width:1120px){:root:root:root:root .nav .nav-call{font-size:.875rem;padding:0 8px}}
@media (max-width:360px){:root:root:root:root .nav .nav-call{font-size:.8125rem;padding:0 4px}}
:root:root:root:root .sm-call{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0 0 22px;border-radius:var(--hv-radius-action,6px 999px 999px 6px);box-shadow:inset 0 0 0 1.5px var(--c-menu-line);color:var(--c-menu-fg);font:800 1rem/1 var(--display);text-decoration:none;font-variant-numeric:tabular-nums}
:root:root:root:root .sm-foot .sm-signin{display:inline-flex;align-items:center;min-height:46px;padding:0 4px}
footer .legal a.tel{white-space:nowrap;font-variant-numeric:tabular-nums}
.callbar{display:none}
@media (max-width:760px){
  .callbar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:flex;gap:8px;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:var(--hv-surface);box-shadow:inset 0 1px 0 var(--hv-line)}
  .callbar a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--hv-radius-action);font:800 1rem/1 var(--hv-font-display);text-decoration:none;font-variant-numeric:tabular-nums}
  .callbar-call{flex:1 1 auto;background:var(--hv-action);color:var(--hv-on-action)}
  .callbar-text{background:var(--hv-chip);color:var(--hv-text)}
  .callbar a:focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}
  body.sheet-open .callbar,body:has(.site-menu:not([hidden])) .callbar,body:has(#ck:not([hidden])) .callbar{display:none}   /* one thing at the bottom at a time: the cookie choice first */
  :root:root:root:root footer:not(.ah-foot){padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  :root:root:root:root .ck{bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}
@media print{.callbar{display:none}}

/* The first screen: two actions with their payoff (front page), one primary request (owners, sell). */
.sf-starts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-top:24px;max-width:760px}
.sf-start{display:grid;gap:6px;align-content:start;padding:16px 18px;border-radius:var(--hv-radius-card);background:var(--hv-scrim);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hv-on-band) 22%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--hv-on-band);text-decoration:none;transition:box-shadow var(--hv-fast) ease}
.sf-start b{font:800 clamp(1.0625rem,1.6vw,1.25rem)/1.2 var(--hv-font-display);letter-spacing:-.01em}
.sf-start b::after{content:" \2192";color:var(--hv-on-band-accent)}
.sf-start span{font:500 .9375rem/1.45 var(--hv-font-body);color:var(--hv-on-band-muted)}
.sf-start:hover{box-shadow:inset 0 0 0 1.5px var(--hv-on-band-accent)}
.sf-start:focus-visible{outline:2px solid var(--hv-focus);outline-offset:3px}
@media (max-width:640px){.sf-starts{gap:8px;margin-top:18px}.sf-start{padding:14px 16px}}
.sf-primary{margin-top:22px}
.sf-primary .btn{min-height:48px}

/* A home card and its one-tap question. */
.home-c{display:flex;flex-direction:column;gap:8px;min-width:0}
.sf-data .nb-live-grid .home-c .home{flex:1 1 auto}
.home-ask,.sx-ask{min-height:44px;padding:0 14px;border:0;border-radius:var(--hv-radius-control);background:var(--hv-chip);color:var(--hv-text);font:700 .875rem/1.2 var(--hv-font-display);cursor:pointer;transition:background var(--hv-fast) ease}
.home-ask:hover,.sx-ask:hover{background:var(--hv-chip-hover)}
.home-ask:focus-visible,.sx-ask:focus-visible{outline:2px solid var(--hv-focus);outline-offset:2px}
.sx-cell{display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0}
.req-home{margin:4px 0 0;font:700 1rem/1.35 var(--hv-font-display)}
@media (prefers-reduced-motion:reduce){.sf-start,.home-ask,.sx-ask,:root:root:root:root .nav .nav-call{transition:none}}

/* ---- havlo-signin.css ---- */
/* The Havlo sign-in window (havlo-site-signin.js): one calm card over the page, the conversation's language.
   Tokens only (havlo-tokens.css), Day and Night together, sans only. A centred card on wide screens, a bottom sheet
   on phones. WorkOS does the verifying behind it; nothing here names it but the privacy line. */
dialog.hv-si{--si-bg:var(--hv-surface);--si-card:var(--hv-card-solid);--si-field:var(--hv-field);--si-line:var(--hv-edge);
  --si-tx:var(--hv-text);--si-tx2:var(--hv-text-2);--si-mut:var(--hv-text-soft);--si-acc:var(--hv-accent);
  --si-act:var(--hv-action);--si-on-act:var(--hv-on-action);
  position:fixed;inset:0;margin:auto;width:min(920px,calc(100% - 32px));max-height:calc(100% - 32px);height:fit-content;
  padding:0;border:1px solid var(--si-line);border-radius:var(--hv-radius-panel,28px);background:var(--si-bg);color:var(--si-tx);
  box-shadow:0 30px 80px -24px rgb(16 23 25 / .45);overflow:auto;overscroll-behavior:contain;
  font:var(--hv-weight-body,400) 1rem/1.55 var(--hv-font-body);color-scheme:inherit}
dialog.hv-si::backdrop{background:rgb(16 23 25 / .55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
dialog.hv-si[open]{animation:hv-si-in var(--hv-settle,340ms) var(--hv-ease,ease) both}
dialog.hv-si[open]::backdrop{animation:hv-si-fade var(--hv-settle,340ms) ease both}
@keyframes hv-si-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes hv-si-fade{from{opacity:0}to{opacity:1}}
.hv-si *{box-sizing:border-box}
.hv-si-in{position:relative;padding:28px 28px 24px}
.hv-si-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.hv-si-mark{display:inline-flex;align-items:center;gap:10px;font:700 .8125rem/1 var(--hv-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--si-mut)}
.hv-si-mark i{display:block;width:26px;height:28px;background:var(--si-acc);-webkit-mask:url(/assets/havlo-mark-black.svg) center/contain no-repeat;mask:url(/assets/havlo-mark-black.svg) center/contain no-repeat}
.hv-si-x{width:40px;height:40px;border:0;border-radius:999px;background:var(--hv-chip);color:var(--si-tx);font:400 1.375rem/1 var(--hv-font-body);cursor:pointer;display:grid;place-items:center}
.hv-si-x:hover{background:var(--hv-chip-hover)}
.hv-si h2{margin:0 0 8px;font:700 1.625rem/1.15 var(--hv-font-display);letter-spacing:-.025em;color:var(--si-tx)}
.hv-si-lede{margin:0 0 22px;color:var(--si-tx2);font-size:1rem}
.hv-si-lede b{color:var(--si-tx);font-weight:600;overflow-wrap:anywhere}
.hv-si label{display:block;margin:0 0 6px;font:600 .875rem/1.3 var(--hv-font-body);color:var(--si-tx)}
.hv-si input{display:block;width:100%;min-height:52px;padding:0 16px;border:1.5px solid var(--si-line);border-radius:14px;background:var(--si-field);color:var(--si-tx);font:500 1.0625rem/1 var(--hv-font-body);transition:border-color var(--hv-fast,170ms)}
.hv-si input::placeholder{color:var(--si-mut);opacity:1}
.hv-si input:hover{border-color:var(--si-mut)}
.hv-si input:focus{outline:none;border-color:var(--si-acc);box-shadow:0 0 0 3px var(--hv-rust-tint)}
.hv-si input.hv-si-code{font:700 1.75rem/1 var(--hv-font-display);letter-spacing:.5em;text-align:center;padding-left:calc(16px + .5em);font-variant-numeric:tabular-nums}
.hv-si input[aria-invalid=true]{border-color:var(--hv-alert-text)}
.hv-si-go{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:14px;padding:0 20px;border:0;border-radius:var(--hv-radius-action,6px 999px 999px 6px);background:var(--si-act);color:var(--si-on-act);font:var(--hv-action-weight,700) 1rem/1 var(--hv-font-display);cursor:pointer;text-decoration:none;transition:transform var(--hv-fast,170ms) var(--hv-ease,ease),opacity var(--hv-fast,170ms)}
.hv-si-go:hover{transform:translateY(-1px)}
.hv-si-go[aria-busy=true]{opacity:.7;cursor:progress}
.hv-si-go[aria-busy=true]::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:hv-si-spin .8s linear infinite}
@keyframes hv-si-spin{to{transform:rotate(360deg)}}
.hv-si-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--si-mut);font-size:.8125rem}
.hv-si-or::before,.hv-si-or::after{content:"";flex:1;height:1px;background:var(--si-line)}
.hv-si-alt{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 18px;border:1.5px solid var(--si-line);border-radius:var(--hv-radius-action,6px 999px 999px 6px);background:transparent;color:var(--si-tx);font:600 .9375rem/1 var(--hv-font-display);text-decoration:none;cursor:pointer;transition:border-color var(--hv-fast,170ms),background var(--hv-fast,170ms)}
.hv-si-alt+.hv-si-alt{margin-top:10px}
.hv-si-alt:hover{border-color:var(--si-tx);background:var(--hv-chip)}
.hv-si-alt svg{width:18px;height:18px;flex:none}
.hv-si-row{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-top:16px}
.hv-si-q{padding:6px 2px;border:0;background:none;color:var(--si-acc);font:600 .9375rem/1.3 var(--hv-font-body);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}
.hv-si-msg{margin:12px 0 0;padding:10px 14px;border-radius:12px;font-size:.9375rem;line-height:1.45}
.hv-si-msg:empty{display:none}
.hv-si-msg[data-tone=alert]{background:var(--hv-alert-fill);color:var(--hv-alert-text)}
.hv-si-msg[data-tone=good]{background:var(--hv-good-fill);color:var(--hv-good-text)}
.hv-si-fine{margin:22px -28px -24px;padding:14px 28px 18px;border-top:1px solid var(--si-line);background:var(--si-card);color:var(--si-mut);font-size:.8125rem;line-height:1.5}
.hv-si-fine a{color:var(--si-acc);text-underline-offset:3px}
.hv-si-done{display:flex;align-items:center;gap:12px;font:700 1.125rem/1.3 var(--hv-font-display)}
.hv-si-done i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--hv-good-fill);color:var(--hv-good-text);font-style:normal}
.hv-si :focus-visible{outline:2px solid var(--hv-focus,var(--si-acc));outline-offset:3px}
.hv-si input:focus-visible{outline:none}
.hv-si [hidden]{display:none!important}
html.hv-si-lock{overflow:hidden}
/* The wide view (CEO 2026-10-11): the form beside Houston at night or by day, matching WorkOS's sign-in page. */
.hv-si-wrap{display:grid;grid-template-columns:minmax(0,440px) 1fr}
.hv-si-art{position:relative;overflow:hidden;min-height:560px;background:var(--hv-band);color:var(--hv-on-band);display:flex;align-items:flex-end}
.hv-si-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--hv-ease,ease)}
.hv-si-day{opacity:1}.hv-si-night{opacity:0}
:root[data-theme=dark] .hv-si-day{opacity:0}:root[data-theme=dark] .hv-si-night{opacity:1}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hv-si-day{opacity:0}:root:not([data-theme=light]) .hv-si-night{opacity:1}}
.hv-si-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,color-mix(in srgb,var(--hv-band) 92%,transparent) 85%)}
.hv-si-art-in{position:relative;z-index:1;padding:32px}
.hv-si-eye{margin:0 0 10px;font:700 .75rem/1 var(--hv-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--hv-on-band-accent)}
.hv-si-big{margin:0 0 22px;font:800 2.25rem/1.05 var(--hv-font-display);letter-spacing:-.025em;color:var(--hv-on-band)}
.hv-si-k{display:flex;gap:24px;margin:0;padding:0;list-style:none}
.hv-si-k li{display:flex;flex-direction:column;gap:4px;max-width:140px}
.hv-si-k b{font:800 1.5rem/1 var(--hv-font-display);color:var(--hv-on-band)}
.hv-si-k span{font-size:.8125rem;line-height:1.35;color:var(--hv-on-band-muted)}
@media (max-width:860px){dialog.hv-si{width:min(440px,calc(100% - 32px))}.hv-si-wrap{grid-template-columns:1fr}.hv-si-art{display:none}}
@media (max-width:560px){
  dialog.hv-si{inset:auto 0 0 0;margin:0;width:100%;max-width:100%;max-height:calc(100% - 24px);border-radius:var(--hv-radius-panel,28px) var(--hv-radius-panel,28px) 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
  dialog.hv-si[open]{animation-name:hv-si-up}
  .hv-si-in{padding:14px 20px 20px}
  .hv-si-in::before{content:"";display:block;width:40px;height:4px;margin:0 auto 14px;border-radius:4px;background:var(--si-line)}
  .hv-si-fine{margin:20px -20px -20px;padding:14px 20px calc(18px + env(safe-area-inset-bottom,0px))}
  .hv-si h2{font-size:1.5rem}
}
@keyframes hv-si-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hv-si-ph{transition:none}dialog.hv-si[open],dialog.hv-si[open]::backdrop{animation:none}.hv-si-go,.hv-si-go:hover{transition:none;transform:none}.hv-si-go[aria-busy=true]::after{animation-duration:2s}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) dialog.hv-si{box-shadow:0 30px 80px -24px rgb(0 0 0 / .7)}}
:root[data-theme=dark] dialog.hv-si{box-shadow:0 30px 80px -24px rgb(0 0 0 / .7)}
