/* Harbor & Hill Realty — website by SkyerWorks
   Fonts: Archivo (variable weight + width) and Newsreader Italic, self-hosted. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300 600;font-display:swap;src:url(fonts/newsreader-italic.woff2) format('woff2')}

/* =====================  SkyerWorks frame (self-contained)  ===================== */
.sw{--sw-paper:#FBF7F1;--sw-sand:#F3ECE1;--sw-card:#FFFDF9;--sw-ink:#1F1C19;--sw-muted:#6A635B;--sw-line:rgba(31,28,25,.12);--sw-lagoon:#17393F;--sw-clay:#B4583C;--sw-clay-dark:#93442D;--sw-gold:#B38E4E;font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--sw-ink);-webkit-font-smoothing:antialiased}
.sw a{color:inherit;text-decoration:none}
.sw-bar{position:relative;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:8px clamp(16px,4vw,48px);background:var(--sw-paper);border-bottom:1px solid var(--sw-line);font-size:13px}
.sw-back{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;margin-left:-10px;border-radius:999px;transition:background .25s}
.sw-back:hover{background:var(--sw-sand)}
.sw-back svg{width:16px;height:16px;flex:none}
.sw-word{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:21px;line-height:1;letter-spacing:.01em;color:var(--sw-ink)}
.sw-word i{font-weight:500;color:var(--sw-clay)}
.sw-right{display:flex;align-items:center;gap:14px}
.sw-note{color:var(--sw-muted);text-align:right;line-height:1.35}
.sw-note-x{display:none}
@media (min-width:720px){.sw-note-x{display:inline}}
.sw-tag{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--sw-sand);color:var(--sw-muted);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.sw a:focus-visible,.sw button:focus-visible{outline:2px solid var(--sw-clay);outline-offset:3px;border-radius:999px}
.sw-cta{background:var(--sw-paper);padding:clamp(64px,9vw,120px) clamp(16px,5vw,56px)}
.sw-cta-in{max-width:1100px;margin:0 auto;display:grid;gap:28px 64px;align-items:center}
@media (min-width:900px){.sw-cta-in{grid-template-columns:1.2fr 1fr}}
.sw .sw-eyebrow{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:#86652F;margin:0 0 16px}
.sw-cta h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,5.6vw,72px);line-height:1.02;letter-spacing:-.01em;margin:0}
.sw-cta h2 em{font-style:italic;color:var(--sw-clay)}
.sw-cta p{font-size:17px;line-height:1.6;color:var(--sw-muted);margin:0 0 24px;max-width:46ch}
.sw-btns{display:flex;flex-wrap:wrap;gap:12px}
.sw-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s}
.sw-btn-primary{background:var(--sw-clay);color:#FFF9F3!important;box-shadow:0 14px 30px -14px rgba(180,88,60,.8)}
.sw-btn-primary:hover{background:var(--sw-clay-dark);transform:translateY(-2px)}
.sw-btn-ghost{border-color:rgba(31,28,25,.25);color:var(--sw-ink)}
.sw-btn-ghost:hover{background:var(--sw-card);transform:translateY(-2px)}
.sw-cta .sw-small{display:flex;align-items:center;gap:10px;margin:22px 0 0;font-size:14px;line-height:1.4;color:var(--sw-muted)}
.sw-small .sw-tag{flex:none}
.sw .sw-more{display:inline-flex;margin-top:16px;font-size:14px;font-weight:600;color:var(--sw-ink);border-bottom:1px solid rgba(31,28,25,.3);padding-bottom:2px;transition:color .25s,border-color .25s}
.sw .sw-more:hover{color:var(--sw-clay-dark);border-color:var(--sw-clay-dark)}
.sw-foot{background:var(--sw-paper);border-top:1px solid var(--sw-line);padding:24px clamp(16px,5vw,56px) 32px;font-size:14px;color:var(--sw-muted)}
.sw-foot-in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
.sw-foot nav{display:flex;flex-wrap:wrap;gap:6px 14px}
.sw-foot a:hover{color:var(--sw-clay-dark)}
/* SkyerWorks social profiles (same component as brand.css) */
.sw-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sw-social{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.sw-social>li{margin:0;padding:0}
.sw-social .sw-soc{--soc-size:44px;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:var(--soc-size);height:var(--soc-size);padding:0;border-radius:999px;border:1px solid var(--sw-line);background:var(--sw-card);color:var(--sw-ink);font:600 13px/1 'Inter',system-ui,sans-serif;letter-spacing:.04em;text-decoration:none;white-space:nowrap;box-shadow:none;overflow:hidden;transition:transform .45s cubic-bezier(.34,1.56,.64,1),color .25s cubic-bezier(.2,.7,.2,1),border-color .25s cubic-bezier(.2,.7,.2,1),box-shadow .3s cubic-bezier(.2,.7,.2,1)}
.sw-social .sw-soc::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:var(--soc-bg);opacity:0;transform:scale(.35);transition:opacity .3s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.16,1,.3,1)}
.sw-social .sw-soc svg{width:19px;height:19px;flex:none;fill:currentColor;stroke:none;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.sw-social .sw-soc:hover,.sw-social .sw-soc:focus-visible{color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 16px 28px -14px var(--soc-glow)}
.sw-social .sw-soc:hover::before,.sw-social .sw-soc:focus-visible::before{opacity:1;transform:none}
.sw-social .sw-soc:hover svg,.sw-social .sw-soc:focus-visible svg{transform:scale(1.08) rotate(-5deg)}
.sw-social .sw-soc:active{transform:translateY(-1px)}
.sw-social .sw-soc:focus-visible{outline:2px solid var(--sw-clay);outline-offset:3px;border-radius:999px}
.sw-soc-ig{--soc-bg:radial-gradient(circle at 28% 108%,#FDF497 0%,#FDF497 6%,#FD5949 44%,#D6249F 62%,#285AEB 92%);--soc-glow:rgba(214,36,159,.6)}
.sw-soc-x{--soc-bg:#0F1419;--soc-glow:rgba(15,20,25,.55)}
.sw-soc-fb{--soc-bg:#0866FF;--soc-glow:rgba(8,102,255,.55)}
.sw-social--pills .sw-soc{width:auto;padding:0 18px 0 15px}
.sw-social--sm{gap:8px}
.sw-social--sm .sw-soc{--soc-size:38px;box-shadow:none}
.sw-social--sm .sw-soc svg{width:17px;height:17px}
.sw-social--center{justify-content:center}
.sw-social--light .sw-soc{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#F3EEE6;box-shadow:none}
.sw-social--light .sw-soc-x{--soc-bg:#FBF7F1;--soc-glow:rgba(0,0,0,.5)}
.sw-social--light .sw-soc-x:hover,.sw-social--light .sw-soc-x:focus-visible{color:#0F1419}
.sw-social--light .sw-soc:focus-visible{outline-color:#D9B878}
@media (prefers-reduced-motion:reduce){.sw-social .sw-soc:hover,.sw-social .sw-soc:focus-visible,.sw-social .sw-soc:hover svg,.sw-social .sw-soc:focus-visible svg{transform:none}}
.sw-foot-in{align-items:center}

/* =====================  Harbor & Hill  ===================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.hh-lock{overflow:hidden}
body{margin:0;background:#FFFFFF}
input,select,button,textarea{font:inherit;color:inherit}
.hh-sprite{position:absolute;width:0;height:0;overflow:hidden}
.hh-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#E2C27A;color:#0B1A2E;padding:10px 16px;border-radius:10px;font:700 15px 'Archivo',sans-serif}
.hh-skip:focus{left:12px}
.hh-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.hh,.hh-drawer{--navy-900:#0B1A2E;--navy-800:#0F2240;--navy:#12294A;--navy-600:#1E3A5F;--ink:#0F1D30;--muted:#4D5B6C;--line:#DCE2E7;--fog:#F1F4F3;--sand:#F2EDE2;
  --brass:#C49A4D;--brass-2:#E2C27A;--brass-ink:#7D5B1E;--glass:#9CCBC0;--glass-2:#D6EAE4;--glass-ink:#22675C;--red:#B4442F;
  --ease:cubic-bezier(.2,.7,.2,1);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;font-stretch:100%;font-size:17px;line-height:1.6;color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty}
.hh{display:block;overflow-x:clip;background:#FFFFFF}
.hh:focus{outline:none}
.hh a{color:var(--navy-600)}
.hh :focus-visible,.hh-drawer :focus-visible{outline:3px solid var(--navy-600);outline-offset:3px}
.hh svg{flex:none}
.hh-wrap{width:100%;max-width:1320px;margin:0 auto;padding-left:clamp(16px,4.4vw,56px);padding-right:clamp(16px,4.4vw,56px)}
.hh-wrap.hh-wrap{max-width:calc(1320px + 2 * clamp(16px,4.4vw,56px))}

/* type */
.hh-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-weight:600;font-stretch:125%;font-size:11.5px;line-height:1.3;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-ink)}
.hh-eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor;flex:none}
.hh-eyebrow.hh-on-dark{color:var(--brass-2)}
.hh-h1,.hh-h2{font-weight:800;font-stretch:68%;text-transform:uppercase;margin:0;letter-spacing:-.005em}
.hh-h2{font-size:clamp(40px,5.6vw,80px);line-height:.92;color:var(--navy)}
.hh-h2 em,.hh-h1 em{white-space:nowrap;font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.015em;font-size:1.04em;color:var(--brass-ink)}
.hh-lede{font-size:18px;line-height:1.6;color:var(--muted);max-width:44ch;margin:0}
.hh-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:22px 48px;margin-bottom:clamp(32px,4vw,48px)}
.hh-head > div{max-width:760px}

/* buttons */
.hh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;border:0;cursor:pointer;font-weight:650;font-stretch:112%;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.hh-btn svg{width:18px;height:18px;transition:transform .25s var(--ease)}
.hh-btn:hover svg{transform:translateX(3px)}
.hh-btn:active{transform:translateY(1px)}
.hh-btn-brass{background:var(--brass-2);color:var(--navy-900);box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),0 14px 28px -16px rgba(196,154,77,.9)}
.hh-btn-brass:hover{background:#D9B566}
.hh-btn-navy{background:var(--navy);color:#FFFFFF}
.hh-btn-navy:hover{background:var(--navy-600)}
.hh-btn-block{width:100%}
.hh-textbtn{display:inline-flex;align-items:center;gap:8px;padding:4px 0;border:0;background:none;cursor:pointer;font-weight:650;font-size:15px;color:var(--navy-600);border-bottom:1.5px solid rgba(30,58,95,.3);border-radius:0;transition:border-color .2s,gap .2s}
.hh-textbtn svg{width:16px;height:16px}
.hh-textbtn:hover{border-color:var(--navy-600);gap:12px}

/* ---------- hero ---------- */
.hh-hero{--pano:clamp(230px,25vw,370px);position:relative;color:#FFFFFF;padding-bottom:calc(var(--pano) - 40px);
  background:linear-gradient(180deg,#0A1829 0%,#10264A calc(100% - var(--pano)*.9),#334B72 calc(100% - var(--pano)*.52),#A7837A calc(100% - var(--pano)*.3),#E3A878 calc(100% - var(--pano)*.22),#E3A878 100%)}
.hh-nav{position:relative;z-index:3;display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
.hh-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.hh .hh-logo{color:#FFFFFF}
.hh-mark{width:42px;height:42px}
.hh-logo-t{display:flex;flex-direction:column;line-height:1}
.hh-logo-t b{font-weight:800;font-stretch:72%;font-size:24px;letter-spacing:.04em;text-transform:uppercase}
.hh-logo-t small{margin-top:5px;font-weight:600;font-stretch:125%;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-2)}
.hh-links{margin-left:auto;display:flex;gap:26px;font-size:15px;font-weight:500}
.hh .hh-links a{color:#D3DCE7;text-decoration:none;padding:6px 0;border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s}
.hh .hh-links a:hover{color:#FFFFFF;border-color:var(--brass-2)}
.hh .hh-call{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(226,194,122,.55);color:#FFFFFF;text-decoration:none;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background .2s,border-color .2s}
.hh .hh-call:hover{background:rgba(226,194,122,.14);border-color:var(--brass-2)}
.hh-call svg{width:16px;height:16px;color:var(--brass-2)}
.hh-call-short{display:none}
@media (max-width:860px){
  .hh-nav{padding-top:16px;padding-bottom:12px;gap:12px}
  .hh-links{order:3;width:100%;margin:0;gap:20px;overflow-x:auto;scrollbar-width:none;padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.1);font-size:14.5px}
  .hh-links::-webkit-scrollbar{display:none}
  .hh-links a{flex:none}
  .hh .hh-call{margin-left:auto;padding:9px 14px}
}
@media (max-width:520px){.hh-logo-x{display:none}.hh-call-num{display:none}.hh-call-short{display:inline}.hh-logo-t b{font-size:22px}.hh-mark{width:38px;height:38px}}

.hh-hero-in{position:relative;z-index:2;padding-top:clamp(24px,3.4vw,44px)}
.hh-h1{font-size:clamp(54px,8.2vw,132px);line-height:.86;color:#FFFFFF}
.hh-h1 span{display:block}
.hh-h1 .l2{color:var(--brass-2)}
.hh-hero-sub{margin:18px 0 0;font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(24px,2.9vw,40px);line-height:1.15;color:#CFE6E0;letter-spacing:-.01em}
.hh-hero-sub em{font-style:italic}
.hh-pano{position:absolute;left:0;right:0;bottom:0;height:var(--pano);z-index:1;pointer-events:none}
.hh-pano-svg{display:block;width:100%;height:100%}
.hh-pano-flagt{font-family:'Archivo',sans-serif;font-weight:750;font-stretch:80%;font-size:21px;fill:#12294A;font-variant-numeric:tabular-nums}
.hh-beam{transform-box:view-box;transform-origin:1402px 208px;animation:hh-sweep 9s ease-in-out infinite alternate}
@keyframes hh-sweep{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
.hh-hero .l1,.hh-hero .l2,.hh-hero-sub,.hh-hero .hh-eyebrow{animation:hh-rise .9s var(--ease) both}
.hh-hero .hh-eyebrow{animation-delay:.05s}.hh-hero .l1{animation-delay:.12s}.hh-hero .l2{animation-delay:.24s}.hh-hero-sub{animation-delay:.38s}
@keyframes hh-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- search ---------- */
.hh-search{position:relative;z-index:4;width:calc(100% - 2 * clamp(16px,4.4vw,56px));max-width:1180px;margin:-46px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-radius:20px;background:#FFFFFF;box-shadow:0 30px 60px -30px rgba(11,26,46,.55),0 0 0 1px rgba(15,29,48,.06);animation:hh-rise .9s var(--ease) .5s both}
.hh-sf{display:flex;flex-direction:column;gap:6px;min-width:0}
.hh-sf > label,.hh-f-label,.hh-field > label,.hh-field > legend{font-weight:600;font-stretch:118%;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hh-sf:first-child{grid-column:1 / -1}
.hh select,.hh-drawer select,.hh input[type=text],.hh input[type=email],.hh textarea,.hh-drawer input[type=text]{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1px solid #CBD3DB;background:#FFFFFF;color:var(--ink);font-size:16px;transition:border-color .2s,box-shadow .2s}
.hh select,.hh-drawer select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5' fill='none' stroke='%2312294A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;cursor:pointer}
.hh select:hover,.hh input:hover,.hh textarea:hover{border-color:#9AA8B6}
.hh select:focus-visible,.hh input[type=text]:focus-visible,.hh input[type=email]:focus-visible,.hh textarea:focus-visible,.hh-drawer input:focus-visible{outline:none;border-color:var(--navy-600);box-shadow:0 0 0 3px rgba(30,58,95,.2)}
.hh-sf-wf{grid-column:1 / -1;flex-direction:row;align-items:center;gap:12px;min-height:50px;padding:0 4px;cursor:pointer;font-weight:600;font-size:15px;color:var(--ink)}
.hh-search .hh-btn{grid-column:1 / -1}
@media (min-width:980px){
  .hh-search{grid-template-columns:1.35fr .8fr .9fr auto auto;align-items:end;gap:14px;padding:18px 18px 18px 22px;margin-top:-58px}
  .hh-sf:first-child,.hh-sf-wf,.hh-search .hh-btn{grid-column:auto}
  .hh-sf-wf{padding:0 6px}
  .hh-search .hh-btn{min-height:50px}
}

/* switch */
.hh-switch-in{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.hh-switch{position:relative;width:46px;height:28px;border-radius:999px;background:#C9D1D9;flex:none;transition:background .2s}
.hh-switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#FFFFFF;box-shadow:0 2px 5px rgba(0,0,0,.25);transition:transform .25s var(--ease)}
.hh-switch-in:checked + .hh-switch{background:var(--glass-ink)}
.hh-switch-in:checked + .hh-switch::after{transform:translateX(18px)}
.hh-switch-in:focus-visible + .hh-switch{outline:3px solid var(--navy-600);outline-offset:3px}

/* ---------- finder ---------- */
.hh-finder{padding:clamp(72px,9vw,112px) 0 clamp(72px,9vw,112px);background:linear-gradient(180deg,#FFFFFF 0,var(--fog) 260px);scroll-margin-top:0}
.hh-finder .hh-h2:focus{outline:none}
.hh-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line)}
.hh-f{min-width:0;margin:0;padding:0;border:0}
.hh-f-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.hh-f-out{font-weight:700;font-stretch:88%;font-size:17px;color:var(--navy);font-variant-numeric:tabular-nums}
.hh-f-beds legend,.hh-f-nb > label{display:block;margin-bottom:8px}
.hh-range{position:relative;height:34px}
.hh-range-track,.hh-range-fill{position:absolute;top:50%;height:4px;margin-top:-2px;border-radius:2px}
.hh-range-track{left:0;right:0;background:#D5DCE3}
.hh-range-fill{left:calc(13px + (100% - 26px) * var(--a) / 100);right:calc(13px + (100% - 26px) * (100 - var(--b)) / 100);background:var(--navy)}
.hh-range input{position:absolute;inset:0;width:100%;height:34px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.hh-range input::-webkit-slider-runnable-track{background:none;height:34px}
.hh-range input::-moz-range-track{background:none}
.hh-range input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:26px;height:26px;margin-top:4px;border-radius:50%;background:#FFFFFF;border:2px solid var(--navy);box-shadow:0 3px 8px -2px rgba(15,29,48,.4);cursor:grab}
.hh-range input::-moz-range-thumb{pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#FFFFFF;border:2px solid var(--navy);box-shadow:0 3px 8px -2px rgba(15,29,48,.4);cursor:grab}
.hh-range input:focus-visible{outline:none}
.hh-range input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #FFFFFF,0 0 0 6px var(--navy-600)}
.hh-range input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #FFFFFF,0 0 0 6px var(--navy-600)}
.hh-seg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px;border-radius:12px;background:var(--fog);border:1px solid var(--line)}
.hh-seg label{position:relative;cursor:pointer}
.hh-seg input,.hh-chips input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.hh-seg span{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:9px;font-weight:600;font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums;transition:background .2s,color .2s,box-shadow .2s}
.hh-seg label:hover span{color:var(--ink)}
.hh-seg input:checked + span{background:var(--navy);color:#FFFFFF;box-shadow:0 6px 14px -8px rgba(18,41,74,.9)}
.hh-seg input:focus-visible + span,.hh-chips input:focus-visible + span{outline:3px solid var(--navy-600);outline-offset:2px}
.hh-f-wf{display:flex;align-items:center;gap:12px;min-height:50px;cursor:pointer;font-weight:600;font-size:15px;align-self:end}
@media (min-width:760px){.hh-filters{grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr)}}
@media (min-width:1180px){.hh-filters{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr) auto;align-items:end;gap:28px;padding:20px 24px}}

.hh-resbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:22px 0 18px}
.hh-count{margin:0;font-size:16px;color:var(--muted)}
.hh-count b{font-weight:800;font-stretch:80%;font-size:26px;color:var(--navy);font-variant-numeric:tabular-nums;margin-right:4px;vertical-align:-2px}
.hh-reset{border:0;background:none;padding:4px 0;cursor:pointer;font-weight:600;font-size:14px;color:var(--red);border-bottom:1.5px solid rgba(180,68,47,.35)}
.hh-reset[hidden]{display:none}
.hh-sort{margin-left:auto;display:flex;align-items:center;gap:10px;font-weight:600;font-stretch:118%;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hh-sort select{width:auto;min-height:42px;padding:8px 38px 8px 12px;font-size:15px;letter-spacing:0;text-transform:none;font-stretch:100%;color:var(--ink)}
.hh-view{display:none;width:100%;padding:4px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line)}
.hh-view button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:9px;background:none;cursor:pointer;font-weight:650;font-size:15px;color:var(--muted)}
.hh-view button svg{width:18px;height:18px}
.hh-view button[aria-pressed=true]{background:var(--navy);color:#FFFFFF}

.hh-finder-grid{display:grid;gap:24px;align-items:start}
.hh-map{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:#15315A;box-shadow:0 30px 60px -36px rgba(11,26,46,.7),0 0 0 1px rgba(15,29,48,.08);isolation:isolate}
.hh-map-svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.hm-street{font-family:'Archivo',sans-serif;font-weight:600;font-stretch:115%;font-size:11px;letter-spacing:2px;fill:#A69878}
.hm-water{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:24px;fill:#FFFFFF;fill-opacity:.62}
.hm-big{font-size:36px}
.hm-sound{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:15px;fill:#FFFFFF;fill-opacity:.36}
.hm-n{font-family:'Archivo',sans-serif;font-weight:800;font-size:16px;fill:#E2C27A}
.hm-tiny{font-family:'Archivo',sans-serif;font-weight:600;font-size:13px;fill:#7F745F}
@media (max-width:700px){.hm-small{display:none}}
.hh-mlabel{position:absolute;left:var(--x);top:var(--y);z-index:1;transform:translate(-50%,-50%);font-weight:650;font-stretch:125%;font-size:10px;line-height:1.35;letter-spacing:.2em;text-transform:uppercase;text-align:center;white-space:nowrap;color:#46505E;pointer-events:none;text-shadow:0 0 3px #F2EDE2,0 0 3px #F2EDE2,0 0 6px #F2EDE2}
@media (min-width:1100px){.hh-mlabel{font-size:11px}}
@media (max-width:520px){.hh-mlabel{font-size:9.5px;letter-spacing:.13em}}
.hh-pin{position:absolute;left:var(--x);top:var(--y);z-index:2;display:flex;flex-direction:column;align-items:center;padding:0;border:0;background:none;cursor:pointer;transform:translate(-50%,-100%);-webkit-tap-highlight-color:transparent;transition:opacity .3s}
.hh-pin::after{content:"";width:0;height:0;margin-top:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--navy);transition:border-color .2s}
.hh-pin-tag{display:flex;align-items:center;gap:5px;padding:5px 8px 4px;border-radius:7px;background:var(--navy);color:#FFFFFF;font-weight:750;font-stretch:80%;font-size:14px;line-height:1.1;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 0 0 1.5px rgba(255,255,255,.95),0 8px 16px -6px rgba(0,0,0,.6);transform-origin:50% 120%;transition:transform .25s var(--ease),background .2s,color .2s}
.hh-pin-tag i{width:7px;height:7px;border-radius:50%;background:var(--glass);box-shadow:0 0 0 1.5px rgba(156,203,192,.35)}
.hh-pin:hover,.hh-pin.is-hot,.hh-pin.is-sel,.hh-pin:focus-visible{z-index:6}
.hh-pin.is-hot .hh-pin-tag,.hh-pin:hover .hh-pin-tag,.hh-pin.is-sel .hh-pin-tag{background:var(--brass-2);color:var(--navy-900);transform:scale(1.14)}
.hh-pin.is-hot .hh-pin-tag i,.hh-pin:hover .hh-pin-tag i,.hh-pin.is-sel .hh-pin-tag i{background:var(--glass-ink)}
.hh-pin.is-hot::after,.hh-pin:hover::after,.hh-pin.is-sel::after{border-top-color:var(--brass-2)}
.hh-pin:focus-visible{outline:none}
.hh-pin:focus-visible .hh-pin-tag{outline:none;box-shadow:0 0 0 2px #FFFFFF,0 0 0 5px var(--navy-900),0 8px 16px -6px rgba(0,0,0,.6)}
@media (hover:hover){.hh-map.has-hot .hh-pin:not(.is-hot){opacity:.62}}
.hh-pin[hidden]{display:none}
.hh-pin.is-in .hh-pin-tag{animation:hh-pop .45s var(--ease) both}
.hh-js .hh-map[data-drop=wait] .hh-pin{opacity:0}
.hh-map[data-drop=go] .hh-pin{animation:hh-drop .6s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}
@keyframes hh-drop{from{opacity:0;transform:translate(-50%,calc(-100% - 22px))}to{opacity:1;transform:translate(-50%,-100%)}}
@keyframes hh-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.hh-map-note{display:flex;justify-content:space-between;gap:12px;margin:12px 4px 0;font-size:13px;color:var(--muted)}
.hh-map-note span{display:inline-flex;align-items:center;gap:8px}
.hh-key-dot{width:9px;height:9px;border-radius:50%;background:var(--glass);box-shadow:0 0 0 2px var(--navy)}

.hh-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}
.hh-card{position:relative;display:flex;flex-direction:column;background:#FFFFFF;border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s,border-color .2s}
.hh-card[hidden]{display:none}
.hh-card:hover,.hh-card.is-hot{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(15,29,48,.55)}
.hh-card.is-hot{border-color:var(--brass);box-shadow:0 0 0 2px var(--brass),0 22px 40px -26px rgba(15,29,48,.55)}
.hh-card-img,.hh-feat-img,.hh-d-img{position:relative;aspect-ratio:16/10;background:linear-gradient(#B7D6E7,#E8F1EF);overflow:hidden}
.hh-card-img svg,.hh-feat-img svg,.hh-d-img svg{display:block;width:100%;height:100%;transition:transform .6s var(--ease)}
.hh-card:hover .hh-card-img svg,.hh-card.is-hot .hh-card-img svg,.hh-feat:hover .hh-feat-img svg{transform:scale(1.04)}
.hh-badge{position:absolute;top:10px;left:10px;z-index:1;padding:5px 9px;border-radius:6px;background:#FFFFFF;color:var(--navy);font-weight:700;font-stretch:112%;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.hh-badge.is-new{background:var(--red);color:#FFFFFF}
.hh-wfchip{position:absolute;top:10px;right:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;background:rgba(11,26,46,.74);color:#E0F0EB;font-weight:600;font-size:11.5px;letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hh-wfchip svg{width:15px;height:15px;color:var(--glass)}
.hh-card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 16px}
.hh-card-price{margin:0;font-weight:780;font-stretch:78%;font-size:29px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:.005em}
.hh-card-addr{margin:10px 0 0;font-size:16.5px;line-height:1.3;font-weight:650}
.hh-open{padding:0;border:0;background:none;cursor:pointer;text-align:left;font-weight:inherit;line-height:inherit;color:var(--ink)}
.hh-open::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.hh-card .hh-open::after{border-radius:16px}
.hh-open:focus-visible{outline:none}
.hh-open:focus-visible::after{outline:3px solid var(--navy-600);outline-offset:-3px}
.hh-card-nb{margin:3px 0 0;font-size:14px;color:var(--muted)}
.hh-facts{display:flex;margin:auto 0 0;padding:12px 0 0;list-style:none;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;border-top:1px solid var(--line);margin-top:14px}
.hh-facts li{padding-right:12px;margin-right:12px;border-right:1px solid var(--line);white-space:nowrap}
.hh-facts li:last-child{border:0;margin:0;padding:0}
.hh-facts b{font-weight:700;font-size:15px;color:var(--ink)}
.hh-empty{padding:32px;border-radius:16px;background:#FFFFFF;border:1px dashed #B9C3CE;text-align:center}
.hh-empty p{margin:0 0 18px;color:var(--muted)}
.hh-empty b{display:block;color:var(--ink);font-size:18px;margin-bottom:4px}
.hh-empty[hidden]{display:none}
.hh-noscript{margin:20px 0 0;font-size:14px;color:var(--muted)}

/* peek (phone map view) */
.hh-peek{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:center;margin-top:12px;padding:10px 12px 10px 10px;border-radius:16px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 16px 30px -24px rgba(15,29,48,.6);animation:hh-rise .4s var(--ease) both}
.hh-peek[hidden]{display:none}
.hh-peek-img{aspect-ratio:4/3;border-radius:10px;overflow:hidden}
.hh-peek-img svg{display:block;width:100%;height:100%}
.hh-peek-price{margin:0;font-weight:780;font-stretch:78%;font-size:24px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.hh-peek-addr{margin:6px 0 2px;font-weight:650;font-size:15px;line-height:1.25}
.hh-peek-facts{margin:0;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.hh-peek .hh-open{font-size:14px;font-weight:650;color:var(--navy-600);margin-top:6px;display:inline-flex;align-items:center;gap:6px}
.hh-peek .hh-open svg{width:15px;height:15px}
.hh-peek .hh-open::after{border-radius:16px}

@media (min-width:960px){
  .hh-finder-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
  .hh-map-col{position:sticky;top:16px}
  .hh-map{max-height:calc(100vh - 70px);max-width:calc(100vh - 70px);margin-inline:auto}
  .hh-peek{display:none!important}
}
@media (max-width:959px){
  .hh-view{display:flex}
  .hh-sort{margin-left:auto}
  .hh-grid-map .hh-list-col,.hh-grid-list .hh-map-col{display:none}
}

/* ---------- featured ---------- */
.hh-featured{padding:clamp(80px,10vw,128px) 0}
.hh-feat-grid{display:grid;gap:20px}
.hh-feat{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--navy);color:#FFFFFF;transition:transform .35s var(--ease),box-shadow .35s}
.hh-feat:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(11,26,46,.8)}
.hh-feat-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.hh-feat-nb{margin:0;font-weight:600;font-stretch:120%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--glass)}
.hh-feat-addr{margin:10px 0 0;font-weight:800;font-stretch:72%;font-size:clamp(28px,2.6vw,36px);line-height:1;text-transform:uppercase;letter-spacing:.005em}
.hh-feat .hh-open{color:#FFFFFF}
.hh-feat .hh-open::after{border-radius:20px}
.hh-feat .hh-open:focus-visible::after{outline-color:var(--brass-2)}
.hh-feat-price{margin:8px 0 0;font-weight:700;font-stretch:85%;font-size:22px;color:var(--brass-2);font-variant-numeric:tabular-nums}
.hh-feat-facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:4px 26px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.hh-feat-facts div{display:flex;flex-direction:column-reverse}
.hh-feat-facts dt{font-weight:600;font-stretch:118%;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#9FB0C3}
.hh-feat-facts dd{margin:0;font-weight:750;font-stretch:80%;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.hh-feat-q{margin:20px 0 0;padding:0}
.hh-feat-q p{margin:0;font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:19px;line-height:1.4;color:#E6EEF5}
.hh-feat-q footer{margin-top:8px;font-size:13px;color:#9FB0C3}
.hh-feat-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font-weight:650;font-stretch:112%;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-2)}
.hh-feat-cta svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.hh-feat:hover .hh-feat-cta svg{transform:translateX(4px)}
@media (min-width:860px){
  .hh-feat-grid{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto}
  .hh-feat-lg{grid-row:span 2}
  .hh-feat-lg .hh-feat-img{aspect-ratio:auto;flex:1;min-height:340px}
  .hh-feat-lg .hh-feat-body{flex:none;padding:28px 32px 30px}
  .hh-feat-lg .hh-feat-addr{font-size:clamp(36px,3.6vw,52px)}
  .hh-feat:not(.hh-feat-lg){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
  .hh-feat:not(.hh-feat-lg) .hh-feat-img{aspect-ratio:auto;height:100%}
  .hh-feat:not(.hh-feat-lg) .hh-feat-facts{grid-template-columns:repeat(2,auto)}
  .hh-feat:not(.hh-feat-lg) .hh-feat-q p{font-size:17px}
}

/* ---------- neighborhoods ---------- */
.hh-nbhds{padding:clamp(80px,10vw,128px) 0;background:var(--sand)}
.hh-nb-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:20px}
.hh-nb{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#FFFFFF;border:1px solid rgba(15,29,48,.08);transition:transform .35s var(--ease),box-shadow .35s}
.hh-nb:hover{transform:translateY(-3px);box-shadow:0 26px 50px -34px rgba(15,29,48,.6)}
.hh-nb-map{position:relative;aspect-ratio:16/10;background:#15315A}
.hh-nb-map svg{display:block;width:100%;height:100%}
.hh-nb-num{position:absolute;left:12px;bottom:10px;padding:4px 8px;border-radius:6px;background:rgba(11,26,46,.78);color:var(--brass-2);font-weight:700;font-stretch:90%;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.hh-nb-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.hh-nb h3{margin:0;font-weight:800;font-stretch:72%;font-size:30px;line-height:1;text-transform:uppercase;color:var(--navy)}
.hh-nb-body > p{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}
.hh-nb-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hh-nb-facts div{display:flex;flex-direction:column-reverse;gap:2px}
.hh-nb-facts dt{font-weight:600;font-stretch:115%;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hh-nb-facts dd{margin:0;font-weight:750;font-stretch:80%;font-size:23px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.hh-nb-facts small{font-size:13px;font-weight:600;font-stretch:100%;color:var(--muted)}
.hh-nb .hh-textbtn{margin-top:auto;align-self:flex-start}

/* ---------- sell ---------- */
.hh-sell{padding:clamp(80px,10vw,128px) 0;background:radial-gradient(900px 500px at 100% 0%,rgba(156,203,192,.12),transparent 70%),var(--navy);color:#FFFFFF}
.hh-sell .hh-h2{color:#FFFFFF}
.hh-sell .hh-h2 em{color:var(--brass-2)}
.hh-sell .hh-lede{color:#B9C6D4;margin-top:20px}
.hh-sell-grid{display:grid;gap:48px 72px}
@media (min-width:1000px){.hh-sell-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}}
.hh-steps{list-style:none;margin:36px 0 0;padding:0}
.hh-steps li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12)}
.hh-step-n{font-weight:800;font-stretch:70%;font-size:36px;line-height:1;color:var(--brass-2);font-variant-numeric:tabular-nums}
.hh-steps h3{margin:2px 0 6px;font-size:18px;font-weight:650}
.hh-steps p{margin:0;font-size:16px;line-height:1.55;color:#B9C6D4}
.hh-sold{margin-top:30px;padding:20px 22px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.hh-sold-h{margin:0 0 8px;font-weight:600;font-stretch:120%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--glass)}
.hh-sold table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hh-sold th,.hh-sold td{padding:11px 0;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);font-size:15px;vertical-align:top}
.hh-sold thead th{padding-top:4px;font-weight:600;font-stretch:115%;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#93A5B9}
.hh-sold tbody th{font-weight:600}
.hh-sold tbody th small{display:block;font-weight:400;font-size:13px;color:#93A5B9}
.hh-sold tr:last-child > *{border-bottom:0}
.hh-sold .hh-num{text-align:right;padding-left:14px;white-space:nowrap}
.hh-sold td.hh-num{font-weight:700;font-stretch:85%;font-size:17px}

.hh-form{display:grid;gap:16px}
.hh-form[hidden],.hh-done[hidden]{display:none}
.hh-form-h{margin:0;font-weight:800;font-stretch:72%;font-size:clamp(30px,3vw,38px);line-height:1;text-transform:uppercase;color:var(--navy)}
.hh-form-h:focus{outline:none}
.hh-form-sub{margin:-4px 0 4px;font-size:16px;color:var(--muted)}
.hh-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;padding:0;border:0}
.hh-field legend{margin-bottom:8px;padding:0}
.hh-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}
.hh textarea{resize:vertical;min-height:110px}
.hh-chips{display:flex;flex-wrap:wrap;gap:8px}
.hh-chips label{position:relative;cursor:pointer}
.hh-chips span{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid #CBD3DB;background:#FFFFFF;font-weight:600;font-size:14.5px;color:var(--ink);font-variant-numeric:tabular-nums;transition:all .2s}
.hh-chips label:hover span{border-color:#9AA8B6}
.hh-chips input:checked + span{background:var(--navy);border-color:var(--navy);color:#FFFFFF}
.hh-err{margin:0;padding:10px 12px;border-radius:10px;background:#FBEDEA;color:#8E2F1F;font-size:15px}
.hh-err[hidden]{display:none}
[aria-invalid=true]{border-color:#B4442F!important}
.hh-val,.hh-note{padding:clamp(22px,3.4vw,36px);border-radius:22px;background:#FFFFFF;color:var(--ink);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.hh-done{display:grid;gap:12px;justify-items:start;animation:hh-rise .5s var(--ease) both}
.hh-done p{margin:0;color:var(--muted)}
.hh-done-ic{width:44px;height:44px;padding:10px;border-radius:50%;background:var(--glass-2);color:var(--glass-ink)}
.hh-demo{padding:12px 14px;border-radius:12px;border:1px dashed #A9B6C4;font-size:15px;line-height:1.5;color:var(--ink)!important;background:var(--fog)}

/* ---------- team ---------- */
.hh-team{padding:clamp(80px,10vw,128px) 0}
.hh-team-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:20px}
.hh-person{padding:24px 24px 26px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,var(--fog),#FFFFFF 60%)}
.hh-person-flag{display:flex;align-items:flex-start;height:86px}
.hh-pole{width:3px;height:86px;border-radius:2px;background:linear-gradient(180deg,var(--brass-2),var(--brass));margin-right:1px}
.hh-flag{width:84px;height:56px;margin-top:4px;transform-origin:0 50%;animation:hh-flutter 5s ease-in-out infinite;box-shadow:0 8px 16px -10px rgba(15,29,48,.5)}
.hh-person:nth-child(2) .hh-flag{animation-delay:-1.2s}.hh-person:nth-child(3) .hh-flag{animation-delay:-2.4s}.hh-person:nth-child(4) .hh-flag{animation-delay:-3.6s}
@keyframes hh-flutter{0%,100%{transform:skewY(0) scaleX(1)}50%{transform:skewY(-2.5deg) scaleX(.97)}}
.hh-person-role{margin:20px 0 0;font-weight:600;font-stretch:118%;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink)}
.hh-person h3{margin:6px 0 0;font-weight:800;font-stretch:70%;font-size:40px;line-height:1;text-transform:uppercase;color:var(--navy)}
.hh-person-bio{margin:12px 0 0;font-size:16px;line-height:1.55;color:var(--muted)}
.hh-person-home{display:flex;align-items:center;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--glass-ink)}

/* ---------- contact ---------- */
.hh-contact{padding:clamp(80px,10vw,128px) 0;background:var(--fog)}
.hh-contact-grid{display:grid;gap:40px 72px}
@media (min-width:1000px){.hh-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.hh-contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 28px;margin:32px 0 0}
.hh-contact-list div{padding-top:14px;border-top:2px solid var(--navy)}
.hh-contact-list dt{font-weight:600;font-stretch:118%;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hh-contact-list dd{margin:6px 0 0;font-size:17px;line-height:1.45;font-weight:600}
.hh-contact-list a{font-variant-numeric:tabular-nums;text-decoration:none;border-bottom:1.5px solid rgba(30,58,95,.3)}
.hh-contact-map{position:relative;margin-top:30px;border-radius:18px;overflow:hidden;aspect-ratio:16/8;background:#15315A}
.hh-contact-map svg{display:block;width:100%;height:100%}
.hh-contact-map-l{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:8px;background:rgba(11,26,46,.8);color:#FFFFFF;font-size:13px;font-weight:500}
.hh-note .hh-form-h{color:var(--navy)}

/* ---------- business footer ---------- */
.hh-foot{background:var(--navy-900);color:#9FB0C3;font-size:14px}
.hh-foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding-top:30px;padding-bottom:34px}
.hh-logo-sm .hh-mark{width:34px;height:34px}
.hh-logo-sm .hh-logo-t b{font-size:19px;color:#FFFFFF}
.hh .hh-foot a{margin-left:auto;color:#D3DCE7;text-decoration:none;border-bottom:1px solid rgba(211,220,231,.35)}
.hh .hh-foot a:hover{color:#FFFFFF}
@media (max-width:640px){.hh .hh-foot a{margin-left:0}}

/* ---------- drawer ---------- */
.hh-drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100%);height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:visible}
.hh-drawer[open]{display:flex}
.hh-drawer::backdrop{background:rgba(11,26,46,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.hh-d-panel{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:#FFFFFF;box-shadow:-30px 0 70px -30px rgba(0,0,0,.6);animation:hh-slide .45s var(--ease) both}
@keyframes hh-slide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes hh-up{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
.hh-d-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 22px;border-bottom:1px solid var(--line)}
.hh-d-kicker{font-weight:600;font-stretch:118%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hh-d-close{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#FFFFFF;cursor:pointer;color:var(--ink);transition:background .2s}
.hh-d-close:hover{background:var(--fog)}
.hh-d-close svg{width:20px;height:20px}
.hh-d-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}
.hh-d-img{aspect-ratio:16/10}
.hh-d-body{padding:22px 24px 36px}
.hh-d-nb{margin:0;font-weight:600;font-stretch:118%;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--glass-ink)}
.hh-d-addr{margin:8px 0 0;font-weight:800;font-stretch:70%;font-size:clamp(34px,6vw,44px);line-height:.98;text-transform:uppercase;color:var(--navy)}
.hh-d-price{margin:10px 0 0;font-weight:750;font-stretch:82%;font-size:30px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.hh-d-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.hh-d-facts div{display:flex;flex-direction:column-reverse;gap:2px;padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.hh-d-facts div:nth-child(3n){border-right:0}
.hh-d-facts div:nth-last-child(-n+3){border-bottom:0}
.hh-d-facts dt{font-weight:600;font-stretch:115%;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hh-d-facts dd{margin:0;font-weight:750;font-stretch:82%;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--ink)}
.hh-d-desc{margin:20px 0 0;font-size:17px;line-height:1.6;color:#2E3B4B}
.hh-d-feats{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:16px 0 0;padding:0}
.hh-d-feats li{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--fog);font-size:14px;font-weight:600}
.hh-d-feats svg{width:14px;height:14px;color:var(--glass-ink)}
.hh-d-h3{margin:0;font-weight:800;font-stretch:72%;font-size:26px;line-height:1;text-transform:uppercase;color:var(--navy)}
.hh-mort{margin-top:28px;padding:20px;border-radius:18px;background:var(--fog);border:1px solid var(--line)}
.hh-mort-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.hh-m-total{margin:0;font-weight:800;font-stretch:76%;font-size:38px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.hh-m-total span{font-size:18px;font-weight:600;color:var(--muted);margin-left:2px}
.hh-m-bar{display:flex;height:10px;margin:16px 0 12px;border-radius:999px;overflow:hidden;background:#D5DCE3;gap:2px}
.hh-m-bar span{display:block;height:100%;transition:width .35s var(--ease)}
.k1{background:var(--navy)}.k2{background:var(--brass)}.k3{background:var(--glass)}.k4{background:#8E9BAA}
.hh-m-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 18px;font-size:14px;color:var(--muted)}
.hh-m-legend li{display:flex;align-items:center;gap:8px}
.hh-m-legend li[hidden]{display:none}
.hh-m-legend i{width:10px;height:10px;border-radius:3px;flex:none}
.hh-m-legend b{margin-left:auto;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.hh-m-ctrl{margin-top:16px}
.hh-m-lab{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}
.hh-m-lab output{font-variant-numeric:tabular-nums;color:var(--navy)}
.hh-slider{--p:50%;width:100%;height:30px;margin:4px 0 0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.hh-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--navy) var(--p),#C9D1D9 var(--p))}
.hh-slider::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--navy) var(--p),#C9D1D9 var(--p))}
.hh-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:#FFFFFF;border:2px solid var(--navy);box-shadow:0 3px 8px -2px rgba(15,29,48,.4)}
.hh-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#FFFFFF;border:2px solid var(--navy)}
.hh-slider:focus-visible{outline:none}
.hh-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #FFFFFF,0 0 0 6px var(--navy-600)}
.hh-m-term{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:16px;padding:4px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line)}
.hh-m-term button{min-height:40px;border:0;border-radius:9px;background:none;cursor:pointer;font-weight:600;font-size:14px;color:var(--muted)}
.hh-m-term button[aria-pressed=true]{background:var(--navy);color:#FFFFFF}
.hh-fine{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.hh-show{margin-top:28px}
.hh-show .hh-form{margin-top:16px}
.hh-show .hh-done{margin-top:16px}
.hh-show .hh-form-h{font-size:26px}
.hh-chips-days span{flex-direction:column;justify-content:center;min-width:58px;min-height:56px;padding:4px 10px;line-height:1.15}
.hh-chips-days small{font-weight:600;font-stretch:115%;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.hh-d-agent{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:15px}
.hh-d-agent .hh-flag{width:54px;height:36px;animation:none}
.hh-d-agent b{display:block;font-size:16px}
.hh-d-agent span{color:var(--muted)}
@media (max-width:719px){
  .hh-drawer{inset:auto 0 0 0;width:100%;height:auto;max-height:92dvh}
  .hh-d-panel{height:auto;max-height:92dvh;border-radius:22px 22px 0 0;overflow:hidden;animation-name:hh-up}
  .hh-d-top{padding-left:18px}
  .hh-d-body{padding:20px 18px 32px}
  .hh-d-facts dd{font-size:20px}
}

/* reveal */
.hh-js .hh-rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.hh-js .hh-rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hh *,.hh *::before,.hh *::after,.hh-drawer *{animation:none!important;transition:none!important}
  .hh-js .hh-rv{opacity:1;transform:none}
  .hh-js .hh-map[data-drop=wait] .hh-pin{opacity:1}
}
