/* Whitefish Property Finder — shared core (v3, copied from v2) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus,#D9903D);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-4rem;z-index:1000;background:#fff;color:#000;padding:.75rem 1rem;border-radius:6px;font-weight:700;text-decoration:none}
.skip:focus{top:1rem}
.preview-bar{position:relative;z-index:200;background:#D9903D;color:#1a1a1a;font:600 12px/26px system-ui,sans-serif;height:26px;text-align:center;padding:0 12px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preview-bar a{font-weight:800}
.ph{display:inline-block;background:repeating-linear-gradient(135deg,rgba(217,144,61,.16) 0 8px,rgba(217,144,61,.06) 8px 16px);border:1px dashed #D9903D;color:inherit;font:600 .72rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;padding:.2rem .45rem;border-radius:4px;text-transform:uppercase}
.ph-block{display:grid;place-items:center;text-align:center;min-height:220px;border:1px dashed #D9903D;border-radius:14px;background:repeating-linear-gradient(135deg,rgba(217,144,61,.10) 0 10px,rgba(217,144,61,.03) 10px 20px);padding:1.5rem;font:600 .8rem/1.5 ui-monospace,Menlo,monospace;letter-spacing:.04em;text-transform:uppercase}
.src{font-size:.74rem;line-height:1.45}
.src a{text-underline-offset:2px}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
/* tools shared */
.tool-out [data-out]{font-variant-numeric:tabular-nums}
.form-note{font-size:.85rem;margin-top:.75rem;min-height:1.2em}
.faq details{border-bottom:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 0;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4em;line-height:1;transition:transform .35s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 1.25rem;max-width:68ch;line-height:1.65}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}
.paused *,.paused *::before,.paused *::after{animation-play-state:paused!important}
.pause-btn{display:inline-flex;align-items:center;gap:.45rem;background:rgba(0,0,0,.28);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem .85rem;font-size:.78rem;font-weight:600;cursor:pointer;backdrop-filter:blur(6px)}
.pause-btn svg{width:12px;height:12px}
