/* =============================================================================
   L4 PROPERTY GROUP
   Concept: "The Ledger" — Rusk County deed-and-survey vernacular.
   Brick Main Street, brass survey instruments, parchment plats.
   Mono is reserved for figures: prices, bearings, acres, MLS numbers.
   ============================================================================= */

@font-face{ font-family:"Fraunces"; src:url(fonts/fraunces-latin-opsz-normal.woff2) format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face{ font-family:"Fraunces"; src:url(fonts/fraunces-latin-wght-italic.woff2) format("woff2"); font-weight:100 900; font-style:italic; font-display:swap; }
@font-face{ font-family:"Public Sans"; src:url(fonts/public-sans-latin-wght-normal.woff2) format("woff2"); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face{ font-family:"IBM Plex Mono"; src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2"); font-weight:400; font-display:swap; }
@font-face{ font-family:"IBM Plex Mono"; src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2"); font-weight:500 700; font-display:swap; }

:root{
  --ink:#1B2430; --ink-2:#222D3C; --ink-3:#2B384A;
  --brick:#B4432E; --brick-dark:#8F3423;
  --brass:#B08D4F; --brass-light:#D8BD86;
  --parchment:#F2E9D8; --paper:#FBF7EF; --oak:#5C6B4F;
  --text:#1B2430; --muted:#5F6672; --muted-on-dark:#B3B9C5;
  --line:#E4D9C2; --line-dark:#3A465A;

  --font-display:"Fraunces", Georgia, "Times New Roman", serif;
  --font-body:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;

  --r-sm:4px; --r:8px; --r-lg:14px;
  --shadow:0 1px 2px rgba(27,36,48,.06), 0 10px 28px -14px rgba(27,36,48,.22);
  --shadow-lift:0 4px 10px rgba(27,36,48,.08), 0 24px 44px -18px rgba(27,36,48,.32);
  --max:1200px;
  --head-h:84px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--head-h) + 12px); }
body{ margin:0; font-family:var(--font-body); color:var(--text); background:var(--paper); line-height:1.6; font-size:1rem; -webkit-font-smoothing:antialiased; }
img,svg{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; cursor:pointer; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--font-display); font-weight:600; letter-spacing:-.012em; line-height:1.12; color:var(--ink); font-optical-sizing:auto; }
p{ margin:0; }
address{ font-style:normal; }
[hidden]{ display:none !important; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }
.muted{ color:var(--muted); }

:focus-visible{ outline:2px solid var(--brick); outline-offset:3px; border-radius:2px; }
.on-dark :focus-visible, .site-head :focus-visible, .hero :focus-visible, .cta-band :focus-visible, .section--ink :focus-visible{ outline-color:var(--brass-light); }
.skip{ position:absolute; left:-999px; top:0; background:var(--brick); color:#fff; padding:.8rem 1.2rem; z-index:300; }
.skip:focus{ left:12px; top:12px; }

/* ------------------------------------------------------------------ buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--font-body); font-weight:600; font-size:.97rem; line-height:1;
  padding:1rem 1.45rem; border-radius:var(--r-sm); border:1.5px solid transparent;
  background:var(--brick); color:#fff; text-decoration:none; white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.btn:hover{ background:var(--brick-dark); }
.btn:active{ transform:translateY(1px); }
.btn--brass{ background:var(--brass); color:var(--ink); }
.btn--brass:hover{ background:var(--brass-light); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--ink); }
.btn--ghost:hover{ background:var(--ink); color:#fff; }
.btn--ghost-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn--ghost-light:hover{ background:#fff; color:var(--ink); border-color:#fff; }
.btn--block{ width:100%; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; }
.text-link{ font-weight:600; color:var(--brick); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:.25em; }
.text-link:hover{ color:var(--brick-dark); }
.on-dark .text-link{ color:var(--brass-light); }
.text-btn{ background:none; border:0; padding:.3rem 0; color:var(--brick); font-weight:600; text-decoration:underline; text-underline-offset:.25em; }
.icon-btn{
  width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  border:1px solid rgba(27,36,48,.12); background:rgba(251,247,239,.94); color:var(--ink);
  transition:background .15s ease, color .15s ease, transform .15s ease;
  backdrop-filter:blur(6px);
}
.icon-btn:hover{ background:#fff; }
.save-btn[aria-pressed="true"]{ background:var(--brick); color:#fff; border-color:var(--brick); }
.save-btn[aria-pressed="true"] svg path{ fill:currentColor; }
.save-btn.pop{ animation:pop .32s ease; }
@keyframes pop{ 40%{ transform:scale(1.22); } }

/* ------------------------------------------------------------------ header */
.site-head{ position:sticky; top:0; z-index:100; background:var(--ink); border-bottom:1px solid var(--line-dark); transition:box-shadow .2s ease; }
.site-head.is-scrolled{ box-shadow:0 8px 24px -12px rgba(0,0,0,.5); }
.site-head .wrap{ display:flex; align-items:center; justify-content:space-between; height:var(--head-h); gap:1.2rem; }
.brand{ display:flex; align-items:center; gap:.8rem; text-decoration:none; flex:none; }
.brand-logo{ width:56px; height:56px; object-fit:contain; }
.brand-name{ font-family:var(--font-display); font-weight:600; font-size:1.2rem; color:#fff; line-height:1.1; display:flex; flex-direction:column; }
.brand-name small{ font-family:var(--font-body); font-weight:500; font-size:.74rem; color:var(--brass-light); margin-top:.25rem; letter-spacing:.01em; }

.nav{ display:flex; align-items:center; gap:1.55rem; }
.nav > a{ white-space:nowrap; color:var(--muted-on-dark); text-decoration:none; font-size:.94rem; font-weight:500; padding:.35rem 0; border-bottom:2px solid transparent; transition:color .15s, border-color .15s; }
.nav > a:hover, .nav > a[aria-current="page"]{ color:#fff; border-color:var(--brick); }
.nav .saved-link{ display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-mono); font-size:.85rem; border-bottom:0; }
.nav .saved-link.has-saved{ color:var(--brass-light); }
.nav .saved-link.has-saved svg path{ fill:currentColor; }
.nav .head-cta{ display:inline-flex; align-items:center; gap:.45rem; background:var(--brick); color:#fff; padding:.65rem 1rem; border-radius:var(--r-sm); border:0; font-family:var(--font-mono); font-size:.86rem; }
.nav .head-cta:hover{ background:var(--brick-dark); }
.nav-toggle{ display:none; background:none; border:1px solid var(--line-dark); border-radius:var(--r-sm); width:44px; height:42px; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.nav-toggle span{ display:block; width:20px; height:2px; background:#fff; transition:transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1240px){
  .nav-toggle{ display:flex; }
  .nav{ position:absolute; top:var(--head-h); left:0; right:0; background:var(--ink); flex-direction:column; align-items:stretch; gap:0; padding:.5rem 24px 1.4rem; border-bottom:1px solid var(--line-dark); display:none; max-height:calc(100vh - var(--head-h)); overflow:auto; }
  .nav.open{ display:flex; }
  .nav > a{ padding:.95rem 0; border-bottom:1px solid var(--line-dark); font-size:1.05rem; }
  .nav > a[aria-current="page"]{ border-color:var(--line-dark); color:var(--brass-light); }
  .nav .head-cta{ margin-top:1rem; justify-content:center; padding:1rem; }
}

/* ------------------------------------------------------------------ hero */
.hero{ background:var(--ink); color:#fff; position:relative; overflow:hidden; padding:4rem 0 3.2rem; isolation:isolate; }
.hero::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(60% 70% at 85% 30%, rgba(176,141,79,.16), transparent 70%),
             radial-gradient(45% 60% at 0% 100%, rgba(180,67,46,.18), transparent 70%); }
.hero-grid{ display:grid; grid-template-columns:1fr 1.02fr; gap:2.5rem; align-items:center; }
.hero-kicker{ color:var(--brass-light); font-weight:500; margin-bottom:1.1rem; display:flex; align-items:center; gap:.6rem; }
.hero-kicker::before{ content:""; width:28px; height:1.5px; background:var(--brick); }
.hero h1{ color:#fff; font-size:clamp(2.4rem,5.2vw,4.3rem); line-height:1.02; font-weight:600; letter-spacing:-.015em; max-width:14ch; font-variation-settings:"opsz" 144; }
.hero .lede{ font-size:1.14rem; color:var(--muted-on-dark); max-width:44ch; margin:1.4rem 0 2rem; }

.hero-art{ margin:0; position:relative; }
.plat-link{ display:block; border-radius:var(--r-lg); }
.plat{ width:100%; height:auto; overflow:visible; }
.plat-contours path{ fill:none; stroke:var(--brass); stroke-opacity:.13; stroke-width:1; }
.plat-inside .plat-creek{ fill:none; stroke:#7FA3B8; stroke-opacity:.55; stroke-width:2; stroke-dasharray:3 5; }
.plat-trees circle{ fill:var(--oak); fill-opacity:.55; }
.plat-line{ fill:rgba(176,141,79,.07); stroke:var(--brass-light); stroke-width:2.2; stroke-linejoin:round;
  stroke-dasharray:var(--len); stroke-dashoffset:var(--len); animation:draw 1.6s cubic-bezier(.6,.1,.3,1) .25s forwards; }
.plat-mon circle{ fill:var(--ink); stroke:var(--brass-light); stroke-width:1.6; }
.plat-mon .dot{ fill:var(--brick); stroke:none; }
.plat-mon{ opacity:0; transform-box:fill-box; transform-origin:center; animation:mon .35s ease var(--d) forwards; }
.plat-brg{ font-family:var(--font-mono); font-size:10.5px; fill:var(--muted-on-dark); letter-spacing:.02em; opacity:0; animation:fade .5s ease var(--d) forwards; }
.plat-area{ opacity:0; animation:fade .6s ease var(--d) forwards; }
.plat-area .ac{ font-family:var(--font-display); font-size:34px; font-weight:600; fill:#fff; letter-spacing:-.01em; }
.plat-area .sub{ font-family:var(--font-mono); font-size:11px; fill:var(--brass-light); }
.plat-north path{ fill:var(--brass-light); }
.plat-north text, .plat-scale text{ font-family:var(--font-mono); font-size:10px; fill:var(--muted-on-dark); }
.plat-scale path{ stroke:var(--muted-on-dark); fill:none; }
.plat-link:hover .plat-line{ fill:rgba(176,141,79,.14); }
.plat-seal{ position:absolute; width:clamp(96px,22%,150px); height:auto; right:-3%; bottom:2%; opacity:0; transform:rotate(-12deg) scale(1.5);
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.5)); animation:stamp .45s cubic-bezier(.3,1.6,.5,1) 2.9s forwards; pointer-events:none; }
.hero-art figcaption{ font-family:var(--font-mono); font-size:.8rem; color:var(--muted-on-dark); margin-top:-.4rem; padding-left:9%; }
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes mon{ from{ opacity:0; transform:scale(.2); } to{ opacity:1; transform:scale(1); } }
@keyframes fade{ to{ opacity:1; } }
@keyframes stamp{ to{ opacity:.95; transform:rotate(-12deg) scale(1); } }

/* quick search */
.quick-search{ display:grid; grid-template-columns:1fr 1.3fr 1fr auto; gap:0; background:var(--paper); border-radius:var(--r); box-shadow:0 24px 60px -24px rgba(0,0,0,.6); margin-top:2.6rem; padding:.45rem; }
.qs-field{ display:flex; flex-direction:column; padding:.55rem 1rem; border-right:1px solid var(--line); min-width:0; }
.qs-field span{ font-size:.76rem; font-weight:600; color:var(--muted); }
.qs-field select{ border:0; background:transparent; font:inherit; font-size:1.02rem; font-weight:500; color:var(--ink); padding:.2rem 0; appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23B4432E' stroke-width='1.8' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 2px center; padding-right:1.4rem; }
.qs-field select:focus-visible{ outline:none; }
.qs-field:focus-within{ background:var(--parchment); border-radius:var(--r-sm); }
.quick-search .btn{ margin-left:.45rem; }

/* ------------------------------------------------------------------ sections */
.section{ padding:5.5rem 0; position:relative; }
.section--tight{ padding:3.5rem 0 5rem; }
.section--paper{ background:var(--paper); }
.section--parchment{ background:var(--parchment); }
.section--ink{ background:var(--ink); color:#fff; }
.section--ink h2, .section--ink h3, .on-dark h2{ color:#fff; }
.section-head{ max-width:720px; margin-bottom:2.6rem; }
.section-head--row{ max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; }
.section-head--row > div{ max-width:640px; }
.section-head h2, .split h2{ font-size:clamp(1.85rem,3.4vw,2.6rem); margin-bottom:.8rem; }
.h-sm{ font-size:1.45rem !important; margin-bottom:1.2rem; }
.body-lg{ font-size:1.07rem; color:var(--muted); max-width:62ch; }
.body-lg + .body-lg{ margin-top:1rem; }
.on-dark .body-lg, .section--ink .body-lg{ color:var(--muted-on-dark); }
.split{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.split--top{ align-items:start; }

/* page hero */
.page-hero{ background:var(--ink); color:#fff; padding:3.2rem 0 3.6rem; position:relative; overflow:hidden; isolation:isolate; }
.page-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(50% 90% at 100% 0%, rgba(176,141,79,.15), transparent 70%); }
.page-hero h1{ color:#fff; font-size:clamp(2.1rem,4.4vw,3.4rem); max-width:22ch; line-height:1.06; }
.page-hero .lede{ color:var(--muted-on-dark); font-size:1.1rem; max-width:60ch; margin-top:1.1rem; }
.page-hero .wrap{ position:relative; }
.page-hero-badge{ position:absolute; right:24px; top:50%; transform:translateY(-50%) rotate(-4deg); width:150px; height:150px; border-radius:var(--r); box-shadow:0 18px 40px -16px rgba(0,0,0,.6); }
.page-hero--404{ padding:6rem 0; }
.page-hero--404 .btn-row{ margin-top:1.6rem; }
.crumbs{ font-size:.88rem; color:var(--muted-on-dark); margin-bottom:1.3rem; }
.crumbs a{ color:var(--brass-light); text-decoration:none; }
.crumbs a:hover{ text-decoration:underline; }
.crumbs .sep{ opacity:.5; margin:0 .3rem; }
.rating-summary{ display:flex; align-items:center; gap:.8rem; margin-top:1.6rem; color:var(--muted-on-dark); }
.rating-summary .big{ font-family:var(--font-display); font-size:2.6rem; color:#fff; font-weight:600; line-height:1; }
.rating-summary .stars{ color:var(--brass-light); font-size:1.3rem; letter-spacing:.1em; }

/* ------------------------------------------------------------------ listing cards */
.listing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.listing-card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); transition:box-shadow .2s ease, transform .2s ease; }
.listing-card:hover{ box-shadow:var(--shadow-lift); transform:translateY(-3px); }
.listing-link{ display:block; text-decoration:none; color:inherit; height:100%; }
.listing-link:focus-visible{ outline-offset:-3px; }
.listing-photo{ position:relative; aspect-ratio:4/3; background:var(--parchment); overflow:hidden; }
.listing-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.listing-card:hover .listing-photo img{ transform:scale(1.03); }
.listing-tag{ position:absolute; top:14px; left:0; background:var(--brick); color:#fff; font-size:.75rem; font-weight:600; padding:.32rem .75rem .32rem .9rem; border-radius:0 var(--r-sm) var(--r-sm) 0; }
.listing-tag--land{ background:var(--oak); }
.listing-body{ padding:1.15rem 1.3rem 1.3rem; }
.listing-price{ font-family:var(--font-mono); font-size:1.4rem; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.listing-ppa{ font-family:var(--font-mono); font-size:.82rem; color:var(--brick); margin-top:.15rem; }
.listing-addr{ font-family:var(--font-body); font-size:1rem; font-weight:600; margin-top:.55rem; letter-spacing:0; line-height:1.35; }
.listing-addr span{ display:block; font-weight:400; color:var(--muted); font-size:.92rem; }
.listing-meta{ margin-top:.9rem; padding-top:.8rem; border-top:1px dashed var(--line); display:flex; justify-content:space-between; gap:.4rem 1rem; flex-wrap:wrap; font-family:var(--font-mono); font-size:.78rem; color:var(--muted); }
.listing-meta span:last-child{ white-space:nowrap; }
.listing-actions{ position:absolute; top:10px; right:10px; display:flex; gap:.45rem; }

/* ------------------------------------------------------------------ paths (buy / sell / land) */
.paths{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1.4rem; }
.path{ display:flex; flex-direction:column; gap:.8rem; padding:2rem 1.8rem 1.8rem; background:var(--paper); border-radius:var(--r); text-decoration:none; color:inherit; border:1px solid var(--line); transition:border-color .2s, transform .2s, box-shadow .2s; position:relative; }
.path:hover{ border-color:var(--brass); transform:translateY(-3px); box-shadow:var(--shadow-lift); }
.path h2{ font-size:1.8rem; }
.path p{ color:var(--muted); flex:1; }
.path--sell{ background:var(--ink); border-color:var(--ink); }
.path--sell h2{ color:#fff; }
.path--sell p{ color:var(--muted-on-dark); }
.path--sell .text-link{ color:var(--brass-light); }
.path--land{ padding-top:1.6rem; }
.path--land img{ width:72px; height:72px; border-radius:var(--r-sm); }

/* areas */
.area-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); border-radius:var(--r); overflow:hidden; }
.area-link{ display:flex; flex-direction:column; gap:.2rem; padding:1.5rem 1.6rem; background:var(--ink); text-decoration:none; transition:background .15s; position:relative; }
.area-link strong{ font-family:var(--font-display); font-size:1.5rem; font-weight:600; color:#fff; }
.area-link span{ color:var(--muted-on-dark); font-size:.92rem; }
.area-link::after{ content:""; position:absolute; right:1.5rem; top:50%; width:10px; height:10px; border-top:2px solid var(--brass); border-right:2px solid var(--brass); transform:translateY(-50%) rotate(45deg); transition:right .15s; }
.area-link:hover{ background:var(--ink-3); }
.area-link:hover::after{ right:1.2rem; }
.area-link--sm strong{ font-size:1.25rem; }

/* reviews */
.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.review-card{ margin:0; padding:1.8rem 1.7rem; background:#fff; border:1px solid var(--line); border-radius:var(--r); display:flex; flex-direction:column; gap:1rem; }
.review-card .stars{ color:var(--brass); letter-spacing:.12em; }
.review-card blockquote{ margin:0; flex:1; }
.review-card blockquote p{ font-family:var(--font-display); font-size:1.14rem; line-height:1.5; color:var(--ink); font-weight:400; }
.review-card figcaption{ font-weight:600; font-size:.92rem; color:var(--muted); }
.review-grid--masonry{ display:block; columns:3 300px; column-gap:1.4rem; }
.review-grid--masonry .review-card{ break-inside:avoid; margin-bottom:1.4rem; }

/* CTA band */
.cta-band{ background:var(--brick); color:#fff; padding:4.5rem 0; position:relative; overflow:hidden; }
.cta-band .wrap{ display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; position:relative; z-index:1; }
.cta-band h2{ color:#fff; font-size:clamp(1.8rem,3.4vw,2.6rem); max-width:20ch; }
.cta-seal{ position:absolute; right:-80px; top:50%; transform:translateY(-50%) rotate(-12deg); width:420px; height:420px; opacity:.1; pointer-events:none; }

/* ------------------------------------------------------------------ listings page filters */
.filters{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; align-items:end; padding:1.1rem; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); position:sticky; top:calc(var(--head-h) + 10px); z-index:20; }
.filters label, .filters fieldset{ display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.filters label > span, .filters legend{ font-size:.76rem; font-weight:600; color:var(--muted); padding:0; }
.filters input[type=search], .filters input[type=number], .filters select{ font:inherit; font-size:.95rem; padding:.62rem .7rem; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--paper); color:var(--ink); width:100%; min-width:0; }
.filters input:focus, .filters select:focus{ border-color:var(--brass); outline:none; box-shadow:0 0 0 3px rgba(176,141,79,.22); }
.filters fieldset.f-type{ border:0; margin:0; padding:0; display:block; white-space:nowrap; font-size:0; }
.f-type legend{ margin-bottom:.3rem; }
.filters .f-type label{ display:inline-block; margin:0; }

.f-type input, .f-saved input{ position:absolute; opacity:0; pointer-events:none; }
.filters .f-type span{ display:block; padding:.62rem .85rem; color:var(--ink); border:1px solid var(--line); background:var(--paper); font-size:.92rem; font-weight:500; cursor:pointer; }
.f-type label:first-of-type span{ border-radius:var(--r-sm) 0 0 var(--r-sm); }
.f-type label:last-of-type span{ border-radius:0 var(--r-sm) var(--r-sm) 0; }
.f-type label + label span{ border-left:0; }
.filters .f-type input:checked + span{ background:var(--ink); color:#fff; border-color:var(--ink); }
.f-type input:focus-visible + span, .f-saved input:focus-visible + span{ outline:2px solid var(--brick); outline-offset:2px; }
.f-saved span{ display:inline-flex !important; align-items:center; gap:.4rem; padding:.62rem .85rem; border:1px solid var(--line); border-radius:var(--r-sm); font-size:.92rem !important; color:var(--ink) !important; font-weight:500 !important; cursor:pointer; white-space:nowrap; background:var(--paper); }
.f-saved input:checked + span{ background:var(--brick); color:#fff !important; border-color:var(--brick); }
.f-saved input:checked + span svg path{ fill:currentColor; }
.results-bar{ display:flex; justify-content:space-between; align-items:center; margin:1.6rem 0 1.2rem; }
.results-bar p{ font-family:var(--font-mono); font-size:.92rem; color:var(--muted); }
.empty{ text-align:center; padding:3.5rem 1.5rem; border:1.5px dashed var(--line); border-radius:var(--r); background:#fff; }
.empty h2{ font-size:1.6rem; margin-bottom:.6rem; }
.empty p{ color:var(--muted); max-width:52ch; margin:0 auto 1.4rem; }
.empty--inline{ text-align:left; }
.empty--inline p{ margin-left:0; }
.empty--inline .text-link{ margin-left:1rem; }
.empty-inline{ margin-top:1.5rem; color:var(--muted); }

/* ------------------------------------------------------------------ forms */
.lead-form, .form-card, .wizard{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:2rem; box-shadow:var(--shadow); }
.lead-form h3{ font-size:1.35rem; margin-bottom:.5rem; }
.lead-form > p.muted{ margin-bottom:1.3rem; font-size:.96rem; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.3rem; }
.span-2{ grid-column:1 / -1; }
.lead-form label, .form-card label, .wizard label, .calc-inputs label{ display:flex; flex-direction:column; gap:.35rem; font-size:.88rem; font-weight:600; color:var(--ink); }
.lead-form input, .lead-form select, .lead-form textarea,
.wizard input:not([type=radio]):not([type=checkbox]), .wizard textarea,
.calc-inputs input[type=number], .calc-inputs select{
  font:inherit; font-weight:400; font-size:1rem; padding:.75rem .85rem; border:1px solid #D8CCB2; border-radius:var(--r-sm); background:var(--paper); color:var(--ink); width:100%; }
.lead-form textarea, .wizard textarea{ resize:vertical; }
.lead-form :is(input,select,textarea):focus, .wizard :is(input,textarea):focus, .calc-inputs :is(input,select):focus{ outline:none; border-color:var(--brass); box-shadow:0 0 0 3px rgba(176,141,79,.22); background:#fff; }
.lead-form :is(input,textarea):user-invalid, .wizard :is(input,textarea):user-invalid{ border-color:var(--brick); }
.hp{ position:absolute; left:-5000px; width:1px; height:1px; overflow:hidden; }
.form-status{ margin-top:1rem; font-weight:500; min-height:1.4em; }
.form-status.ok{ color:var(--oak); }
.form-status.err{ color:var(--brick); }
.form-status a{ font-weight:600; }
.lead-form.is-sent .form-grid, .lead-form.is-sent button[type=submit]{ display:none; }
.opt{ font-weight:400; color:var(--muted); }

/* wizard */
.wizard fieldset{ border:0; margin:0; padding:0; display:flex; flex-direction:column; gap:1rem; animation:stepIn .3s ease; }
.wizard legend{ font-family:var(--font-display); font-size:1.6rem; font-weight:600; color:var(--ink); margin-bottom:1rem; padding:0; }
.wizard .two, .calc-inputs .two{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.wizard-progress{ height:4px; background:var(--parchment); border-radius:2px; overflow:hidden; margin-bottom:.8rem; }
.wizard-progress span{ display:block; height:100%; width:25%; background:var(--brick); transition:width .35s ease; }
.wizard-count{ font-family:var(--font-mono); font-size:.82rem; color:var(--muted); margin-bottom:1.4rem; }
.wizard-nav{ display:flex; justify-content:space-between; gap:1rem; margin-top:1.8rem; }
.wizard-nav [data-next], .wizard-nav [data-submit]{ margin-left:auto; }
.choice-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; }
.choice-col{ display:grid; gap:.6rem; }
.wizard label.choice{ flex-direction:row; }
.choice input{ position:absolute; opacity:0; }
.choice span{ flex:1; padding:.95rem 1rem; border:1.5px solid #D8CCB2; border-radius:var(--r-sm); font-weight:500; cursor:pointer; background:var(--paper); transition:border-color .15s, background .15s; }
.choice input:checked + span{ border-color:var(--brick); background:#fff; box-shadow:inset 3px 0 0 var(--brick); }
.choice input:focus-visible + span{ outline:2px solid var(--brick); outline-offset:2px; }
.wizard label.check{ flex-direction:row; align-items:center; gap:.6rem; font-weight:400; }
.wizard label.check input{ width:18px; height:18px; accent-color:var(--brick); }
.wizard.is-sent fieldset, .wizard.is-sent .wizard-nav, .wizard.is-sent .wizard-progress, .wizard.is-sent .wizard-count{ display:none; }
.wizard.is-sent .form-status{ font-family:var(--font-display); font-size:1.3rem; }
@keyframes stepIn{ from{ opacity:0; transform:translateX(12px); } }

.note-card{ background:var(--parchment); border-radius:var(--r-lg); padding:2rem; }
.note-card h3, .note-card h2{ font-size:1.35rem; margin-bottom:.8rem; }
.note-card p{ color:var(--muted); margin-bottom:1rem; }
.note-card--ink{ background:var(--ink); }
.note-card--ink h2{ color:#fff; }
.note-card--ink p{ color:var(--muted-on-dark); }

/* ------------------------------------------------------------------ calculator */
.calc{ display:grid; grid-template-columns:1fr 1fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); }
.calc-inputs{ padding:2.2rem; display:flex; flex-direction:column; gap:1.1rem; }
.calc-inputs output{ font-family:var(--font-mono); font-weight:500; color:var(--brick); margin-left:.4rem; }
.inp{ display:flex; align-items:center; border:1px solid #D8CCB2; border-radius:var(--r-sm); background:var(--paper); padding:0 .8rem; font-family:var(--font-mono); color:var(--muted); }
.inp:focus-within{ border-color:var(--brass); box-shadow:0 0 0 3px rgba(176,141,79,.22); background:#fff; }
.calc-inputs .inp input{ border:0 !important; background:transparent !important; box-shadow:none !important; font-family:var(--font-mono); padding:.72rem .4rem; }
.inp--post input{ text-align:right; }
.range-row{ display:grid; grid-template-columns:1fr 110px; gap:.8rem; align-items:center; }
input[type=range]{ accent-color:var(--brick); width:100%; }
.fine{ font-size:.82rem; color:var(--muted); }
.calc-result{ background:var(--ink); color:#fff; padding:2.2rem; display:flex; flex-direction:column; gap:1.2rem; }
.calc-label{ color:var(--muted-on-dark); font-weight:500; }
.calc-total{ font-family:var(--font-mono); font-size:clamp(2.6rem,5.5vw,3.8rem); font-weight:600; line-height:1; color:#fff; letter-spacing:-.03em; }
.calc-total small{ font-size:.35em; color:var(--muted-on-dark); font-weight:400; letter-spacing:0; }
.calc-bar{ display:flex; height:14px; border-radius:7px; overflow:hidden; background:var(--ink-3); gap:2px; }
.calc-bar span{ transition:flex-basis .3s ease; flex:0 0 0; }
.calc-bar [data-seg=pi], .sw-pi{ background:var(--brass-light); }
.calc-bar [data-seg=tax], .sw-tax{ background:var(--brick); }
.calc-bar [data-seg=ins], .sw-ins{ background:#7FA3B8; }
.calc-bar [data-seg=hoa], .sw-hoa{ background:var(--oak); }
.calc-legend, .calc-facts{ margin:0; display:grid; gap:.55rem; }
.calc-legend div, .calc-facts div{ display:flex; justify-content:space-between; gap:1rem; padding-bottom:.55rem; border-bottom:1px solid var(--line-dark); }
.calc-legend dt, .calc-facts dt{ color:var(--muted-on-dark); display:flex; align-items:center; gap:.55rem; }
.calc-legend dd, .calc-facts dd{ margin:0; font-family:var(--font-mono); color:#fff; }
.sw{ width:10px; height:10px; border-radius:2px; display:inline-block; }
.calc-facts{ margin-top:.4rem; }
.calc-result .btn{ margin-top:auto; align-self:flex-start; }

/* steps (real sequences only) */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; counter-reset:step; }
.steps li{ counter-increment:step; padding-top:3.2rem; position:relative; }
.steps li::before{ content:counter(step); position:absolute; top:0; left:0; width:38px; height:38px; border-radius:50%; border:1.5px solid var(--brick); color:var(--brick); display:grid; place-items:center; font-family:var(--font-mono); font-weight:500; background:var(--parchment); z-index:1; }
.steps li::after{ content:""; position:absolute; top:19px; left:38px; right:-1.2rem; height:1.5px; background:repeating-linear-gradient(90deg, var(--brass) 0 6px, transparent 6px 11px); }
.steps li:last-child::after{ display:none; }
.steps h3{ font-size:1.15rem; margin-bottom:.5rem; }
.steps p{ color:var(--muted); font-size:.95rem; }

/* FAQ */
.faq-list h2{ font-size:clamp(1.6rem,3vw,2.1rem); margin-bottom:1.2rem; }
.faq{ border-top:1px solid var(--line); }
.faq:last-child{ border-bottom:1px solid var(--line); }
.faq summary{ cursor:pointer; list-style:none; padding:1.15rem 2.4rem 1.15rem 0; font-weight:600; font-size:1.04rem; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; position:absolute; right:.4rem; top:50%; width:12px; height:12px; margin-top:-8px; border-right:2px solid var(--brick); border-bottom:2px solid var(--brick); transform:rotate(45deg); transition:transform .2s; }
.faq[open] summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.faq div{ padding:0 0 1.3rem; color:var(--muted); max-width:66ch; }
.faq div a{ color:var(--brick); font-weight:600; }
.split .faq-list{ margin-top:2.4rem; }
.split--top > .faq-list:first-child{ margin-top:0; }

/* land ledger */
.ledger-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); background:#fff; box-shadow:var(--shadow); }
.ledger{ width:100%; border-collapse:collapse; min-width:620px; }
.ledger caption{ text-align:left; padding:1rem 1.2rem; color:var(--muted); font-size:.9rem; border-bottom:1px solid var(--line); }
.ledger th, .ledger td{ padding:.9rem 1.2rem; text-align:left; border-bottom:1px dashed var(--line); }
.ledger th{ font-size:.82rem; color:var(--muted); font-weight:600; background:var(--paper); }
.ledger th button{ background:none; border:0; padding:0; font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:.35rem; }
.ledger th button::after{ content:"\2195"; color:var(--muted); font-size:.85em; }
.ledger th button[aria-sort=ascending]::after{ content:"\2191"; color:var(--brick); }
.ledger th button[aria-sort=descending]::after{ content:"\2193"; color:var(--brick); }
.ledger td:nth-child(2), .ledger td:nth-child(3), .ledger td:nth-child(4){ font-family:var(--font-mono); }
.ledger td:nth-child(3){ color:var(--brick); font-weight:500; }
.ledger td a{ font-weight:600; color:var(--ink); }
.ledger td span{ display:block; color:var(--muted); font-size:.86rem; }
.ledger tbody tr:hover{ background:var(--paper); }
.ledger tbody tr:last-child td{ border-bottom:0; }

/* about */
.broker-photo{ margin:0; background:var(--parchment); border-radius:var(--r-lg); padding:10px; position:relative; }
.broker-photo img{ border-radius:var(--r); width:100%; aspect-ratio:1; object-fit:cover; background:var(--line); }
.broker-photo figcaption{ position:absolute; left:28px; bottom:28px; background:var(--ink); color:#fff; padding:.5rem .9rem; border-radius:var(--r-sm); font-size:.9rem; font-weight:500; }
.pillar-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.pillar{ padding:1.8rem; border:1px solid var(--line-dark); border-radius:var(--r); }
.pillar h3{ font-size:1.3rem; margin-bottom:.6rem; }
.pillar p{ color:var(--muted-on-dark); }
.agent-search{ display:flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line); border-radius:999px; padding:0 1rem; color:var(--muted); min-width:280px; }
.agent-search input{ border:0; background:transparent; font:inherit; padding:.8rem 0; width:100%; color:var(--ink); }
.agent-search input:focus{ outline:none; }
.agent-search:focus-within{ border-color:var(--brass); box-shadow:0 0 0 3px rgba(176,141,79,.22); }
.agent-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.agent-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:1.5rem 1.2rem 1.2rem; text-align:center; display:flex; flex-direction:column; align-items:center; }
.agent-card:target{ border-color:var(--brick); box-shadow:0 0 0 3px rgba(180,67,46,.2); }
.agent-card img{ width:120px; height:120px; border-radius:50%; object-fit:cover; background:var(--line); border:3px solid #fff; box-shadow:0 0 0 1px var(--brass); }
.agent-card h3{ font-size:1.2rem; margin-top:1rem; }
.agent-card .role{ color:var(--brick); font-size:.86rem; font-weight:600; margin:.2rem 0 1rem; }
.agent-actions{ display:grid; grid-template-columns:1fr 1fr; gap:.4rem; width:100%; margin-top:auto; }
.agent-actions a, .agent-actions button{ display:flex; align-items:center; justify-content:center; gap:.35rem; padding:.55rem .4rem; border-radius:var(--r-sm); font-size:.84rem; font-weight:500; text-decoration:none; border:1px solid var(--line); background:#fff; color:var(--ink); }
.agent-actions a:first-child{ grid-column:1 / -1; font-family:var(--font-mono); background:var(--ink); color:#fff; border-color:var(--ink); }
.agent-actions a:hover, .agent-actions button:hover{ border-color:var(--brass); }
.agent-actions a:first-child:hover{ background:var(--brick); border-color:var(--brick); }

/* contact */
.info-list{ display:grid; gap:1.4rem; margin-bottom:2rem; }
.info-list li{ display:flex; gap:1rem; align-items:flex-start; }
.info-list > li > svg{ flex:none; width:44px; height:44px; padding:11px; border-radius:50%; background:var(--parchment); color:var(--brick); }
.info-list h2{ font-family:var(--font-body); font-size:.85rem; font-weight:600; color:var(--muted); margin-bottom:.2rem; letter-spacing:0; }
.info-list p{ font-size:1.08rem; }
.info-list a{ color:var(--ink); font-weight:500; }
.map-frame{ border-radius:var(--r); overflow:hidden; aspect-ratio:4/3; background:var(--parchment); border:1px solid var(--line); display:grid; place-items:center; }
.map-frame iframe{ width:100%; height:100%; border:0; }
.map-load{ display:inline-flex; align-items:center; gap:.5rem; background:var(--ink); color:#fff; border:0; padding:.9rem 1.3rem; border-radius:var(--r-sm); font-weight:600; box-shadow:var(--shadow-lift); }
.map-load:hover{ background:var(--brick); }

/* toast */
.toast{ position:fixed; left:50%; bottom:calc(24px + env(safe-area-inset-bottom,0px)); transform:translate(-50%,20px); background:var(--ink); color:#fff; padding:.85rem 1.2rem; border-radius:var(--r-sm); box-shadow:var(--shadow-lift); opacity:0; transition:opacity .2s, transform .2s; z-index:400; pointer-events:none; font-weight:500; }
.toast.show{ opacity:1; transform:translate(-50%,0); }

/* ------------------------------------------------------------------ footer */
.site-foot{ background:var(--ink); color:var(--muted-on-dark); padding:4.5rem 0 1.6rem; }
.foot-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; border-bottom:1px solid var(--line-dark); }
.foot-brand > p{ margin:1.2rem 0; max-width:36ch; }
.foot-fr{ display:flex; gap:.9rem; align-items:center; text-decoration:none; max-width:340px; }
.foot-fr img{ width:64px; height:64px; border-radius:var(--r-sm); flex:none; }
.foot-fr span{ font-size:.88rem; }
.foot-fr:hover span{ color:#fff; }
.foot-col h2{ font-family:var(--font-body); font-size:.9rem; font-weight:600; color:#fff; margin-bottom:1rem; letter-spacing:0; }
.foot-col ul{ display:grid; gap:.55rem; }
.foot-col a{ text-decoration:none; }
.foot-col a:hover{ color:#fff; text-decoration:underline; }
.foot-col address{ line-height:1.8; }
.foot-bottom{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1.4rem; font-size:.84rem; }
.foot-bottom > span:last-child{ display:flex; gap:1.2rem; flex-wrap:wrap; }
.foot-bottom a:hover{ color:#fff; }

.mobile-bar{ display:none; }

/* ------------------------------------------------------------------ responsive */
@media (max-width:1080px){
  .filters{ grid-template-columns:repeat(4,minmax(0,1fr)); position:static; }
  .f-q{ grid-column:1 / -1; }
  .f-type{ grid-column:span 2; }
  .steps{ grid-template-columns:1fr 1fr; gap:2rem 1.6rem; }
  .steps li::after{ display:none; }
  .agent-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px){
  .hero-grid, .split, .calc{ grid-template-columns:1fr; }
  .hero-art{ max-width:560px; margin:0 auto; width:100%; }
  .split{ gap:2.5rem; }
  .listing-grid, .review-grid, .paths, .pillar-grid, .area-grid{ grid-template-columns:1fr 1fr; }
  .foot-top{ grid-template-columns:1fr 1fr; }
  .quick-search{ grid-template-columns:1fr 1fr; }
  .qs-field:nth-child(2){ border-right:0; }
  .qs-field:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .quick-search .btn{ grid-column:1 / -1; margin:.45rem 0 0; }
  .page-hero-badge{ position:static; transform:rotate(-3deg); margin-top:1.6rem; width:110px; height:110px; }
  .paths .path--land{ grid-column:1 / -1; }
}
@media (max-width:640px){
  :root{ --head-h:70px; }
  body{ padding-bottom:calc(66px + env(safe-area-inset-bottom,0px)); }
  .brand-logo{ width:44px; height:44px; }
  .brand-name{ font-size:1.05rem; }
  .section{ padding:3.8rem 0; }
  .section--tight{ padding:2.4rem 0 3.6rem; }
  .hero{ padding:2.6rem 0 2.2rem; }
  .listing-grid, .review-grid, .paths, .pillar-grid, .area-grid, .agent-grid, .form-grid, .foot-top, .choice-row, .steps{ grid-template-columns:1fr; }
  .agent-grid{ grid-template-columns:1fr 1fr; gap:.9rem; }
  .agent-card{ padding:1.1rem .7rem .8rem; }
  .agent-card img{ width:88px; height:88px; }
  .agent-actions{ grid-template-columns:1fr; }
  .agent-search{ min-width:0; width:100%; }
  .quick-search{ grid-template-columns:1fr; }
  .qs-field{ border-right:0 !important; border-bottom:1px solid var(--line); }
  .filters{ grid-template-columns:1fr 1fr; }
  .f-type{ grid-column:1 / -1; }
  .calc-inputs, .calc-result, .lead-form, .form-card, .wizard{ padding:1.4rem; }
  .wizard .two, .calc-inputs .two{ grid-template-columns:1fr; }
  .cta-band .wrap{ flex-direction:column; align-items:flex-start; }
  .mobile-bar{ display:grid; grid-template-columns:repeat(4,1fr); position:fixed; left:0; right:0; bottom:0; z-index:150; background:var(--ink); border-top:1px solid var(--line-dark); padding-bottom:env(safe-area-inset-bottom,0px); }
  .mobile-bar a{ display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.6rem 0 .55rem; color:var(--muted-on-dark); text-decoration:none; font-size:.74rem; font-weight:500; }
  .mobile-bar a:first-child{ color:#fff; background:var(--brick); }
  .mobile-bar b{ font-family:var(--font-mono); font-weight:500; }
  .toast{ bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-delay:0s !important; transition-duration:.001ms !important; }
  .plat-line{ stroke-dashoffset:0; }
}
@media print{
  .site-head, .mobile-bar, .cta-band, .site-foot, .listing-actions, .filters{ display:none !important; }
  .hero, .page-hero, .section--ink{ background:#fff !important; color:#000; }
}
.ledger :is(th,td):nth-child(2), .ledger :is(th,td):nth-child(3){ text-align:right; }

/* IDX Broker pages render inside .idx-shell */
.idx-shell{ padding:2.5rem 0 4.5rem; min-height:60vh; background:var(--paper); }

/* ---------------- IDX additions */
.listing-badge{ position:absolute; bottom:12px; left:12px; background:var(--ink); color:#fff; font-size:.75rem; font-weight:600; padding:.3rem .65rem; border-radius:var(--r-sm); }
.listing-tag--commercial{ background:var(--ink-3); }
.more-row{ display:flex; justify-content:center; margin-top:2rem; }
.mls-note{ margin-top:1.6rem; font-size:.8rem; color:var(--muted); max-width:80ch; }
.section--ink .mls-note{ color:var(--muted-on-dark); }
.hero-mls{ margin-top:1rem; color:var(--muted-on-dark); font-size:.95rem; }
.hero-mls a{ color:var(--brass-light); font-weight:600; }
.idx-widget{ background:var(--paper); color:var(--text); border-radius:var(--r); padding:1rem; min-height:420px; }
.listing-card.over-limit{ display:none; }

@media (min-width:1081px){
  .filters .f-q{ grid-column:span 2; }
  .filters .f-type{ grid-column:span 2; }
  .filters .f-saved{ align-self:end; }
}

/* search page */
.idx-widget--full{ min-height:640px; padding:0; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:#fff; }
.search-links{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.search-link{ display:block; padding:1.5rem 1.6rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); text-decoration:none; color:inherit; transition:border-color .15s, transform .15s, box-shadow .15s; }
.search-link:hover{ border-color:var(--brass); transform:translateY(-2px); box-shadow:var(--shadow); }
.search-link h3{ font-size:1.25rem; margin-bottom:.4rem; }
.search-link p{ color:var(--muted); font-size:.95rem; }
.section--band{ padding:3.6rem 0; }
.band-row{ display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.band-row h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:.5rem; }
@media (max-width:900px){ .search-links{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .search-links{ grid-template-columns:1fr; } .idx-widget--full{ min-height:560px; } }

.idx-fallback{ padding:3rem 1.5rem; text-align:center; color:var(--muted); }
.idx-fallback p{ max-width:48ch; margin:0 auto 1.2rem; }

/* search page: IDX page shown full width, full height, inside the site */
.search-frame-wrap{ position:relative; background:var(--paper); }
.search-frame{ display:block; width:100%; border:0; min-height:480px; background:var(--paper); }
.frame-notice{ position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:120; background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-lift); padding:1rem 1.2rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; justify-content:center; width:min(92%, 560px); }
.frame-notice p{ font-weight:600; }
@media (max-width:640px){ .frame-notice{ bottom:84px; } }
