
  :root {
    --ground:#F1F4F8;
    --surface:#FFFFFF;
    --surface-alt:#E5E7EB;
    --surface-plate:oklch(92.3% 0.014 255);
    --ink:#101828;
    --ink-quiet:#364153;
    --ink-soft:#45556C;
    --ink-faint:#99A1AF;
    --line:#E5E7EB;
    --line-strong:#D1D5DC;
    --scroll-thumb:#6A7282;
    --accent:#0051A0;
    --accent-hover:#003B7A;
    --accent-ink:#FFFFFF; --accent-soft:#EFF6FF;
    --brand:#28558C;
    --foot-bg:#16304F;
    --foot-ink:#FFFFFF;
    --foot-ink-soft:color-mix(in srgb, #fff 76%, var(--foot-bg));
    --foot-line:rgb(255 255 255 / .14);
    --c-tg:#229ED9; --c-wa:#25D366; --c-ig:#C13584; --c-fb:#0866FF;
    --c-yt:#FF0000;
    --call:#17B34A;
    --shadow-sm:0 .5px 4px rgb(16 26 34 / .07), 0 2px 12px rgb(16 26 34 / .05);
    --shadow-lg:0 1px 6px rgb(16 26 34 / .07), 0 12px 32px rgb(16 26 34 / .09);
    --ring-line:0 0 0 1px var(--line-strong) inset;
    --divider:rgb(16 26 34 / .12);
    --shadow-plate:0 14px 36px rgb(0 0 0 / .30);
    --dur-fast:150ms;
    --dur-pop:400ms;
    --r-pop:24px;
    --r-pop-list:16px;
    --shadow-pop:0 2px 10px rgb(0 0 0 / .1);
    --dur-base:200ms;
    --dur-slow:300ms;
    --r:12px;
    --r-card:var(--r);
    --r-ctl:calc(var(--r) - 4px);
    --r-sm:calc(var(--r) - 8px);
    --r-pill:9999px;
    --ok-ink:#1D6B4B;
    --ok-bg:#E7F4EE;
    --r-hero:calc(var(--r) + var(--s1));
    --r-tier:calc(var(--r) * 2);
    --s1:4px; --s1h:6px; --s2:8px; --s2h:10px; --s3:12px; --s4:16px; --s5:20px; --s6:32px; --s7:48px; --s8:64px;
    --pill-pad:var(--s3);
    --tap-min:24px;
    --sb-ctl:28px;
    --sb-cell:62px;
    --fz-xs:12px;
    --fz-sm:14px;
    --fz-base:16px;
    --fz-lg:18px;
    --fz-xl:20px;
    --fz-2xl:24px;
    --fz-3xl:30px;
    --lh-xs:1.334;
    --lh-sm:1.429;
    --lh-base:1.5;
    --lh-lg:1.556;
    --lh-xl:1.4;
    --lh-2xl:1.334;
    --lh-3xl:1.2;
    --lh-read:1.6;
    --tracking-tight:-.025em;
    --tracking-wider:.05em;
    --pad-tier:24px;
    --slab-air:64px;
    --fw-normal:400; --fw-medium:500; --fw-semi:600;
    --rail:264px;
    --rail-gap:32px;
    --rail-off:44px;
    --rail-h:calc(100vh - var(--hdr) - 32px);
    --rail-off-solid:34%;
    --rail-off-line:var(--line-strong);
    --card-gap:20px;
    --hdr:76px;
    --font: "Inter", "Noto Sans Armenian", ui-sans-serif, system-ui,
            -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-family:var(--font);
    font-size:var(--fz-base);
    line-height:1.5;
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    font-feature-settings:"liga" 1, "calt" 1;
  }
  
  * { box-sizing:border-box; }
  body { margin:0; }
  html { scroll-behavior:smooth; }
  button, label.opt,
  input[type=range], .fslider,
  .rail-arrow, .gal-nav, .gal-all, .palb-top {
    -webkit-user-select:none; user-select:none; }
  .rail-arrow, .gal-nav, .gal-all, .badge, .palb-top {
    -webkit-touch-callout:none; }
  header, footer, #filters, #svcRail, .hero-content {
    -webkit-user-select:none; user-select:none; }
  .badge, .ov-nb, .oh-tag.deal {
    -webkit-user-select:none; user-select:none; }
  .ov-stats span { -webkit-user-select:none; user-select:none; }
  #hdrNum, #q,
  .fi-addr,
  .fi-tel, .fi-mail,
  #priceMin, #priceMax,
  .oh-tag.id {
    -webkit-user-select:text; user-select:text; }
  @media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
  .rail, .palb, aside.filters, .cbx-list {
    scrollbar-width:thin;
    scrollbar-color:var(--scroll-thumb) transparent;
  }
  @media (hover:hover){
    .rail, .palb { scrollbar-width:none; }
  }
  .lb-foot { scrollbar-width:none; }

  @supports not (scrollbar-color: auto) {
    .rail::-webkit-scrollbar, .palb::-webkit-scrollbar,
    aside.filters::-webkit-scrollbar, .cbx-list::-webkit-scrollbar {
      width:8px; height:8px; }
    .rail::-webkit-scrollbar-thumb, .palb::-webkit-scrollbar-thumb,
    aside.filters::-webkit-scrollbar-thumb, .cbx-list::-webkit-scrollbar-thumb {
      background:var(--scroll-thumb); border-radius:var(--r-pill);
      border:2px solid transparent; background-clip:padding-box; }
    .rail::-webkit-scrollbar-track, .palb::-webkit-scrollbar-track,
    aside.filters::-webkit-scrollbar-track, .cbx-list::-webkit-scrollbar-track {
      background:transparent; }
    .lb-foot::-webkit-scrollbar { display:none; }
    @media (hover:hover){
      .rail::-webkit-scrollbar, .palb::-webkit-scrollbar { display:none; }
    }
  }
  .page { background:var(--ground); min-height:100vh; }
  .wrap { max-width:1536px; margin:0 auto; padding:0 24px; }
  @media (max-width:1024px){ .wrap{ padding:0 var(--s4);} }
  .wrap-wide { max-width:1536px; margin:0 auto; padding:0 24px; }
  @media (max-width:1024px){ .wrap, .wrap-wide{ padding:0 var(--s4);} }
  
  header.site { position:sticky; top:0; z-index:60; height:var(--hdr);
    background:rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:box-shadow var(--dur-fast), transform var(--dur-base) ease;
    will-change:transform; }
  header.site {
    border-bottom-color:var(--line-strong);
    box-shadow:var(--shadow-sm); }
  header.site.is-stuck { box-shadow:var(--shadow-lg); }
  header.site.is-hidden { transform:translateY(-100%); }
  @media (prefers-reduced-motion:reduce){ header.site{ transition:none; } }
  header.site .wrap { display:flex; align-items:center; justify-content:space-between;
    gap:var(--s4); height:var(--hdr); }
  .logo { --lg-h:40px; order:0; color:var(--brand);
          display:inline-flex; align-items:center; gap:11px; background:none; border:0;
          padding:0; cursor:pointer; flex:none; font-family:inherit;
          border-radius:var(--r-sm); }
  .logo:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .lg-mark { height:calc(var(--lg-h) * .78); width:auto; display:block; flex:none; }
  .logo .lg-text { display:flex; flex-direction:column; align-items:center;
                   gap:calc(var(--lg-h) * .175); }
  .logo .lg-name { display:block; height:calc(var(--lg-h) * .437); width:auto; flex:none; }
  .logo .lg-sub { display:block; height:calc(var(--lg-h) * .131); width:auto; flex:none; }
  .logo .lg-name { stroke:currentColor; stroke-width:2.3; }
  .logo .lg-sub  { stroke:currentColor; stroke-width:3.6; }
  @media (max-width:640px){ .logo .lg-text{ display:none; } }
  .nav { display:flex; align-items:center; gap:var(--s2); order:1; }
  .navlink { position:relative; background:none; border:0; font:inherit;
             font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium);
             color:var(--brand);
             display:inline-flex; align-items:center; justify-content:center;
             height:40px; padding:0 var(--s2); border-radius:var(--r-sm);
             cursor:pointer; white-space:nowrap;
             transition:color var(--dur-fast); }
  .navlink::after { content:""; position:absolute; left:var(--s2); right:var(--s2);
             bottom:8px; height:2px; border-radius:2px; background:currentColor;
             opacity:0; transition:opacity var(--dur-fast); }
  .navlink:hover { color:var(--accent); }
  .navgrp { display:inline-flex; align-items:center; gap:0; }
  .navgrp .navlink { padding-right:var(--s1); }
  .navchev { display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:40px; padding:0; border:0; background:none;
    color:var(--brand); cursor:pointer; border-radius:var(--r-sm);
    transition:color var(--dur-fast); }
  .navchev:hover { color:var(--accent); }
  .navchev:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .navchev svg { transition:transform var(--dur-fast); }
  .navchev[aria-expanded="true"] svg { transform:rotate(180deg); }
  @media (prefers-reduced-motion:reduce){ .navchev svg{ transition:none; } }
  .navlink:hover::after { opacity:.35; }
  .navlink[aria-current="page"] { color:var(--accent); }
  .navlink[aria-current="page"]::after { opacity:1; }
  .navlink:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  @media (max-width:1024px){ .nav{ display:none; } }
  .search { order:3; flex:0 1 520px; min-width:220px;
    display:flex; align-items:center; gap:var(--s2);
    height:40px; padding:0 var(--s3);
    background:var(--ground); border:1px solid var(--line); border-radius:var(--r-ctl);
    transition:background var(--dur-fast), border-color var(--dur-fast); }
  .search:hover { background:var(--surface-alt); border-color:var(--line-strong); }
  .search:focus-within { background:var(--surface); border-color:var(--accent); }
  .search .search-ico { flex:none; width:18px; height:18px; color:var(--ink-soft); display:block; }
  .search input { flex:1; min-width:0; height:100%; border:0; background:none;
    color:var(--ink); font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); padding:0; }
  .search input::placeholder { color:var(--ink-soft); opacity:1; }
  .search input:focus { outline:none; }
  @media (max-width:640px){
    .search { padding:0 var(--s2); gap:var(--s1h); }
  }
  .hdr-right { order:4; display:flex; align-items:center; gap:var(--s1); position:relative;
    margin-right:calc(var(--pill-pad) * -1); }
  .pill-btn { height:40px; padding:0 var(--pill-pad); border:0;
    border-radius:var(--r-ctl); background:none; color:var(--ink-soft);
    font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-normal); cursor:pointer;
    display:inline-flex; align-items:center; gap:var(--s2); white-space:nowrap;
    transition:color var(--dur-fast), background var(--dur-fast); }
  .pill-btn:hover, .pill-btn[aria-expanded="true"] { background:var(--ground); color:var(--accent); }
  .pill-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .pill-btn .hc-chev { flex:none; display:block; transition:transform var(--dur-fast); }
  #locBtn .hc-chev { margin-left:calc(var(--s2h) - var(--s2)); }
  .pill-btn[aria-expanded="true"] .hc-chev { transform:rotate(180deg); }
  @media (prefers-reduced-motion:reduce){ .pill-btn .hc-chev{ transition:none; } }
  .flag { width:21px; height:14px; border-radius:2px; display:block; flex:none;
          box-shadow:0 0 0 1px var(--divider) inset; }

  @media (max-width:1024px){ .search { min-width:0; } }
  @media (max-width:640px){
    #locLabel { display:none; }
    :root { --pill-pad:var(--s2); }
  }
  .locmenu { position:absolute; right:0; top:calc(100% + var(--s2)); z-index:70; width:216px;
    background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--r-card);
    box-shadow:var(--shadow-lg); padding:var(--s3); }
  .locmenu h4 { margin:0 0 var(--s2); font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi); letter-spacing:.09em;
    text-transform:uppercase; color:var(--ink-soft); }
  .locmenu h4 + .lrow { margin-bottom:var(--s4); }
  .locmenu .lrow:last-child { margin-bottom:0; }
  .lrow { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s1); }
  .lrow button { padding:7px 4px; border:1px solid var(--line-strong); border-radius:var(--r-ctl);
    background:var(--surface); color:var(--ink-soft); font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); cursor:pointer; }
  .lrow button:hover { background:var(--accent-soft); color:var(--accent);
    border-color:var(--accent); }
  .lrow button[aria-pressed="true"]{ background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }
  .lrow.langs button { display:flex; align-items:center; justify-content:center; gap:5px; }
  
  .hero { background:var(--surface); padding:var(--s5) 0; }
  .herocard { position:relative; height:512px; overflow:hidden;
    border-radius:var(--r-hero); background:var(--surface-alt); }
  @media (max-width:1280px){ .herocard{ height:450px; } }
  @media (max-width:768px){ .herocard{ height:auto; min-height:452px; } }
  .hero-media { position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; display:block; }
  .hero-scrim { position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg,
      rgba(2,12,20,.58) 0%,
      rgba(2,12,20,.58) 80%,
      rgba(2,12,20,.30) 100%); }
  .herocard::after { content:""; position:absolute; inset:0; z-index:3;
    pointer-events:none;
    background:linear-gradient(180deg, transparent calc(100% - 80px),
      color-mix(in srgb, var(--surface) 40%, transparent) 100%); }

  .hero-content { position:relative; z-index:2; height:100%;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:var(--s6) var(--s5); }
  @media (max-width:768px){ .hero-content{ padding:var(--s6) var(--s4); height:auto; } }
  .hero h1 { margin:0 auto var(--s6); color:#fff;
    font-size:clamp(30px,4.2vw,60px); font-weight:400; line-height:1.1;
    letter-spacing:-.02em; text-wrap:balance; max-width:min(100%,900px); }
  .searchbox { width:100%; max-width:1000px; text-align:left; }
  .sbtabs { display:inline-flex; border-radius:var(--r-ctl) var(--r-ctl) 0 0; overflow:hidden; }
  .sbtabs button { border:0; background:rgba(255,255,255,.78);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    font:inherit; font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-weight:var(--fw-medium); letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--ink);
    padding:12px 30px; cursor:pointer; transition:background var(--dur-fast), color var(--dur-fast); }
  .sbtabs button + button { box-shadow:-1px 0 0 var(--divider); }
  .sbtabs button:hover { background:rgba(255,255,255,.94); color:var(--ink); }
  .sbtabs button[aria-pressed="true"]{ background:var(--accent); color:#fff; box-shadow:none; }
  .sbbar { background:rgba(255,255,255,.78);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-radius:0 var(--r-card) var(--r-card) var(--r-card);
    display:grid; align-items:stretch; box-shadow:var(--shadow-plate);
    grid-template-columns:1fr 1.15fr 1.1fr auto; }
  .sbcell { padding:0 18px; min-width:0; min-height:var(--sb-cell);
            display:flex; align-items:center; position:relative;
            border-radius:var(--r-ctl);
            transition:background var(--dur-fast), box-shadow var(--dur-fast); }
  .sbcell:hover { background:rgba(255,255,255,.55); }
  .sbbar .sbcell:has(.cbx[data-open="true"]) { background:#fff; z-index:2;
    box-shadow:var(--shadow-lg); }
  .sbcell input { width:100%; border:0; background:none; color:var(--ink);
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base); padding:0; min-width:0; }
  .sbcell input::placeholder { color:var(--ink-soft); opacity:1; }
  .sbcell input:focus { outline:2px solid var(--accent); outline-offset:2px; }
  .sbgo { border:0; background:var(--accent); color:#fff; font:inherit;
    min-height:46px; aspect-ratio:1; padding:0; margin:6px; border-radius:var(--r-ctl);
    cursor:pointer; display:inline-flex; align-items:center;
    justify-content:center; transition:background var(--dur-fast); }
  .sbgo svg { flex:none; width:19px; height:19px; }
  .sbgo:hover { background:var(--accent-hover); }
  @media (max-width:1024px){
    .sbbar { grid-template-columns:1fr 1fr; }
    .sbgo { grid-column:1/-1; width:auto; aspect-ratio:auto; padding:15px; }
  }
  @media (max-width:640px){
    .sbbar { grid-template-columns:1fr; border-radius:0 0 var(--r-card) var(--r-card); }
    :root { --sb-cell:54px; }
    .sbcell { padding:0 14px; }
    .sbgo { grid-column:1/-1; width:auto; aspect-ratio:auto; padding:13px; min-height:46px; margin:6px; }
    .sbtabs { display:flex; width:100%; }
    .sbtabs button { flex:1; padding:11px 12px; }
    .hero h1 { font-size:var(--fz-2xl); line-height:var(--lh-2xl); }
    .hero-content { padding:var(--s5) var(--s4); }
  }
  .contacts { order:2; display:inline-flex; align-items:center; flex:none;
    gap:var(--s1); }
  .hdr-phone { display:inline-flex; align-items:stretch; height:40px;
    border-radius:var(--r-ctl); }
  .hp-num { display:inline-flex; align-items:center; gap:var(--s2);
    padding:0 var(--s1) 0 var(--s3); border-radius:var(--r-ctl) 0 0 var(--r-ctl);
    color:var(--brand); text-decoration:none;
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi);
    font-variant-numeric:tabular-nums; white-space:nowrap;
    transition:background var(--dur-fast), color var(--dur-fast); }
  .hp-num:hover { background:var(--ground); color:var(--accent); }
  .hp-num:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .hp-more { display:inline-flex; align-items:center; justify-content:center;
    width:var(--tap-min); padding:0; border:0; background:none; cursor:pointer;
    color:var(--brand); border-radius:0 var(--r-ctl) var(--r-ctl) 0;
    transition:background var(--dur-fast), color var(--dur-fast); }
  .hp-more:hover, .hp-more[aria-expanded="true"] { background:var(--ground); color:var(--accent); }
  .hp-more:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .hp-more .hc-chev { flex:none; display:block; transition:transform var(--dur-fast); }
  .hp-more[aria-expanded="true"] .hc-chev { transform:rotate(180deg); }
  @media (prefers-reduced-motion:reduce){ .hp-more .hc-chev{ transition:none; } }
  .hp-ico { display:none; width:18px; height:18px; flex:none; }
  @media (max-width:1280px){
    .hp-txt { display:none; }
    .hp-ico { display:block; }
    .hp-num { padding:0 var(--s2h) 0 var(--s2h); }
  }
  @media (max-width:1024px){
    .hp-more { display:none; }
    .hp-num { border-radius:var(--r-ctl); padding:0 var(--s3); }
  }
  
  .slab { position:relative; z-index:2; background:var(--ground); padding:var(--slab-air) 0; }
  .slab:not([hidden]) + .slab { padding-top:0; }
  .sec-head { display:flex; align-items:baseline; gap:var(--s4); flex-wrap:wrap;
              padding-bottom:var(--s3); margin-bottom:var(--s5);
              border-bottom:1px solid var(--line); }
  .sec-head h2 { margin:0; font-size:var(--fz-2xl); line-height:var(--lh-2xl); font-weight:var(--fw-medium); letter-spacing:var(--tracking-tight); }
  .sec-head h2 .sec-go { font:inherit; color:inherit; letter-spacing:inherit;
    background:none; border:0; padding:0; margin:0; text-align:left;
    cursor:pointer; text-decoration:none; text-underline-offset:4px;
    transition:color var(--dur-fast); }
  .sec-head h2 .sec-go:hover { color:var(--accent); text-decoration:underline; }
  .sec-head h2 .sec-go:focus-visible { outline:2px solid var(--accent);
    outline-offset:2px; border-radius:var(--r-sm); }
  .sec-head .count { color:var(--ink-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); font-variant-numeric:tabular-nums; }
  .sec-head .more { margin-left:auto; }
  .linkbtn { display:inline-flex; align-items:center; gap:var(--s2);
             background:none; border:0; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
             font-weight:var(--fw-medium); color:var(--accent);
             cursor:pointer; text-decoration:none; text-underline-offset:4px;
             padding:var(--s1h) 0; min-height:var(--tap-min);
             transition:color var(--dur-fast); }
  .linkbtn:hover { text-decoration:underline; color:var(--accent-hover); }
  .linkbtn:focus-visible { outline:2px solid var(--accent); outline-offset:2px;
             border-radius:var(--r-sm); }
  .linkbtn svg { flex:none; width:16px; height:16px;
             transition:transform var(--dur-fast); }
  .linkbtn:hover svg { transform:translateX(2px); }
  @media (prefers-reduced-motion:reduce){
    .linkbtn svg { transition:none; }
    .linkbtn:hover svg { transform:none; }
  }
  .rail { display:grid; grid-auto-flow:column; grid-auto-columns:428px; gap:var(--card-gap);
    overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
    padding-bottom:var(--s3); scroll-behavior:smooth; }
  @media (prefers-reduced-motion:reduce){ .rail{ scroll-behavior:auto; } }
  @media (max-width:1024px){ .rail{ grid-auto-columns:360px; } }
  
  .svc { padding:var(--s5) 0 var(--s6); background:var(--surface); }
  .svc-rail { grid-auto-columns:280px; gap:var(--card-gap);
    scroll-snap-type:none;
    --svc-ring:calc(2px + 2px);
    padding:var(--svc-ring); margin:calc(0px - var(--svc-ring)); }
  @media (min-width:1280px){
    .svc-rail { display:grid; grid-auto-flow:row;
      grid-template-columns:repeat(5,1fr); gap:var(--card-gap);
      overflow:visible; padding:0; margin:0; }
  }
  .svc-card { container-type:inline-size;
    position:relative; overflow:hidden;
    display:flex; align-items:center;
    aspect-ratio:32/15;
    padding:0; text-align:left;
    background:var(--surface-plate);
    background-image:
      radial-gradient(45% 60% at 22% 22%, color-mix(in srgb, var(--surface-plate) 40%, var(--surface)) 0%, transparent 60%),
      radial-gradient(40% 55% at 62% 78%, color-mix(in srgb, var(--surface-plate) 90%, var(--accent)) 0%, transparent 58%),
      radial-gradient(50% 65% at 92% 30%, color-mix(in srgb, var(--surface-plate) 80%, var(--ink-faint)) 0%, transparent 62%);
    border:0; border-radius:var(--r-card);
    box-shadow:var(--shadow-sm);
    cursor:pointer; font-family:inherit;
    color:var(--ink); scroll-snap-align:start;
    transition:transform var(--dur-fast), box-shadow var(--dur-fast),
               border-color var(--dur-fast); }
  .svc-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
  .svc-card:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .svc-ico { position:absolute; right:-13cqw; bottom:-4cqw;
    width:46cqw; height:46cqw; pointer-events:none; }
  .svc-ico img { width:100%; height:100%; object-fit:contain; display:block;
    filter:saturate(.55);
    transition:transform var(--dur-base); }
  .svc-card:hover .svc-ico img { transform:scale(1.04); }
  .svc-t { position:relative; z-index:2; flex:1 1 auto; min-width:0;
    padding:0 35cqw 0 7cqw;
    font-size:clamp(13px, 6.0cqw, 17px); font-weight:var(--fw-medium);
    color:var(--ink-quiet);
    line-height:1.25; letter-spacing:-.012em;
    text-wrap:balance; overflow-wrap:anywhere; }
  @media (prefers-reduced-motion:reduce){
    .svc-card, .svc-ico img { transition:none; }
    .svc-card:hover { transform:none; }
    .svc-card:hover .svc-ico img { transform:none; }
  }
  .railwrap { position:relative; }
  .rail-arrow { position:absolute; top:50%; margin-top:-16px; z-index:5;
    width:32px; height:32px; border:0; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    border-radius:var(--r-card);
    background:rgba(255,255,255,.78); color:var(--ink); cursor:pointer;
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    box-shadow:var(--shadow-sm);
    transition:opacity var(--dur-fast), background var(--dur-fast); }
  .rail-arrow:hover { background:rgba(255,255,255,.94); }
  .rail-arrow--prev { left:var(--s4); }
  .rail-arrow--next { right:var(--s4); }
  .rail-arrow:hover:not([disabled]) { background:var(--ground); }
  .rail-arrow:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .rail-arrow[disabled] { opacity:0; pointer-events:none; }
  @media (prefers-reduced-motion:reduce){ .rail-arrow{ transition:none; } }
  @media (max-width:768px){ .rail-arrow{ display:none; } }
  .distband { padding:var(--s6) 0 0; }
  .distband .rail { --n:1.15;
    grid-auto-columns:calc((100% - var(--card-gap) * (var(--n) - 1)) / var(--n));
    padding-bottom:var(--s2); }
  @media (min-width:641px){ .distband .rail{ --n:2; } }
  @media (min-width:769px){ .distband .rail{ --n:3; } }
  @media (min-width:1025px){ .distband .rail{ --n:4; } }
  @media (max-width:640px){ .rail{ grid-auto-columns:84%; } }
  .dcard { position:relative; display:block; scroll-snap-align:start; aspect-ratio:24/9;
    border-radius:var(--r-card); overflow:hidden; border:0; padding:0; cursor:pointer;
    font-family:inherit; color:#fff; background:var(--surface-alt);
    box-shadow:inset 0 0 0 1px var(--line-strong); }
  .dcard img, .dcard canvas { filter:saturate(.45) contrast(.94);
    transition:filter var(--dur-base); }
  @media (hover:hover){
    .dcard:hover img, .dcard:hover canvas { filter:none; }
  }
  .dcard:focus-visible img, .dcard:focus-visible canvas { filter:none; }
  @media (prefers-reduced-motion:reduce){
    .dcard img, .dcard canvas { transition:none; }
  }
  .dcard img, .dcard canvas { position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; display:block; }
  .dcard::after { content:""; position:absolute; inset:0;
    background:linear-gradient(180deg,
      rgba(2,12,20,0) 28%,
      rgba(2,12,20,.62) 72%,
      rgba(2,12,20,.82) 100%); }
  .dcard b { position:absolute; left:18px; right:18px; bottom:14px; z-index:2;
    font-size:var(--fz-xl); line-height:var(--lh-xl); font-weight:var(--fw-semi); letter-spacing:-.012em; text-align:left;
    text-shadow:0 1px 6px rgba(0,0,0,.5); }
  .dcard:hover b { text-decoration:underline; text-underline-offset:3px; }
  .dcard:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .reveal { opacity:0; transform:translateY(14px); transition:opacity var(--dur-slow) ease, transform var(--dur-slow) ease; }
  .reveal.in { opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
  }
  
  .layout { display:grid; grid-template-columns:var(--rail) 1fr; gap:var(--rail-gap);
            padding:var(--s6) 0 var(--s8); align-items:start;
            transition:grid-template-columns var(--dur-base) ease,
                       gap var(--dur-base) ease; }
  @media (prefers-reduced-motion:reduce){ .layout{ transition:none; } }
  @media (max-width:1024px){ .layout{ grid-template-columns:1fr; gap:var(--s4); } }
  .layout > aside.filters{ grid-column:1; grid-row:1; }
  .layout > main{ grid-column:2; grid-row:1; }
  @media (max-width:1024px){
    .layout > aside.filters, .layout > main{ grid-column:auto; grid-row:auto; }
  }
  @media (min-width:1025px){
  .layout[data-filters="off"] { grid-template-columns:var(--rail-off) 1fr; }
  .layout[data-filters="off"] > aside.filters {
    height:var(--rail-h); min-height:0; overflow:hidden;
    padding:var(--s5) 0;
    background:transparent; border:0;
    border-radius:var(--r-tier) 0 0 var(--r-tier);
    cursor:pointer; }
  .layout[data-filters="off"] > aside.filters::before {
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    border-radius:inherit;
    background:var(--surface);
    border:1px solid var(--rail-off-line);
    -webkit-mask-image:linear-gradient(to right, #000 var(--rail-off-solid), transparent 100%);
            mask-image:linear-gradient(to right, #000 var(--rail-off-solid), transparent 100%);
    transition:background-color var(--dur-fast) ease, border-color var(--dur-fast) ease; }
  @media (hover:hover){
    .layout[data-filters="off"] > aside.filters:hover::before {
      background:var(--accent-soft); border-color:var(--accent); }
    .layout[data-filters="off"] > aside.filters:hover .fcollapse {
      border-color:var(--line-strong); color:var(--accent); }
  }
  }
  .layout[data-filters="off"] > aside.filters > *:not(.fhead) {
    opacity:0; visibility:hidden;
    transition:opacity var(--dur-fast) ease, visibility 0s linear var(--dur-fast); }
  @media (min-width:1025px){
    .layout[data-filters="off"] .fhead {
      position:relative; z-index:1;
      flex-direction:column; align-items:center; justify-content:flex-start;
      gap:var(--s2); margin-bottom:0; }
    .layout[data-filters="off"] .fcollapse { order:1; }
    .layout[data-filters="off"] .fc-n     { order:2; }
    .layout[data-filters="off"] .fhead-t {
      order:3; flex:none; margin-top:var(--s1); white-space:nowrap;
      writing-mode:vertical-rl; text-orientation:sideways;
      font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi);
      letter-spacing:.09em; text-transform:uppercase; color:var(--ink-soft); }
  }
  #viewCatalog .layout .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #viewCatalog .layout[data-filters="off"] .grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  @media (max-width:1400px){
    #viewCatalog .layout .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #viewCatalog .layout[data-filters="off"] .grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  @media (max-width:1100px){
    #viewCatalog .layout .grid,
    #viewCatalog .layout[data-filters="off"] .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (max-width:768px){
    #viewCatalog .layout .grid,
    #viewCatalog .layout[data-filters="off"] .grid { grid-template-columns:minmax(0,1fr); }
  }
  .fhead { display:none; }
  @media (min-width:1025px){
    .fhead { display:flex; align-items:center; gap:var(--s2);
      margin-bottom:var(--s3); }
    .fhead-t { margin:0; flex:1; min-width:0;
      font-size:var(--fz-lg); line-height:var(--lh-lg); font-weight:var(--fw-semi); letter-spacing:-.01em; }
    .fcollapse { position:relative; flex:none;
      width:34px; height:34px; padding:0;
      display:inline-flex; align-items:center; justify-content:center;
      background:var(--surface); color:var(--ink-soft); cursor:pointer;
      border:1px solid var(--line); border-radius:var(--r-ctl);
      transition:border-color var(--dur-fast), color var(--dur-fast); }
    .fcollapse:hover { border-color:var(--line-strong); color:var(--accent); }
    .fcollapse:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
    .fc-ico-f { display:none; }
    .layout[data-filters="off"] .fc-ico { display:none; }
    .layout[data-filters="off"] .fc-ico-f { display:block; }
    .fc-n { flex:none;
      min-width:22px; height:20px; padding:0 var(--s1h);
      display:none; align-items:center; justify-content:center;
      background:var(--accent); color:var(--accent-ink);
      border-radius:var(--r-pill);
      font-size:var(--fz-xs); font-weight:var(--fw-semi);
      font-variant-numeric:tabular-nums; line-height:1; }
    .layout[data-filters="off"] .fc-n:not(:empty) { display:inline-flex; }
  }
  @media (prefers-reduced-motion:reduce){
    .fcollapse{ transition:none; }
    .layout[data-filters="off"] > aside.filters > *:not(.fhead){ transition:none; }
  }
  aside.filters { position:sticky; top:calc(var(--hdr) + 16px); font-size:var(--fz-sm); line-height:var(--lh-sm);
    max-height:var(--rail-h);
    transition:top var(--dur-base) ease, max-height var(--dur-base) ease;
    overflow-y:auto; overscroll-behavior:contain;
    scrollbar-width:none;
    background:var(--surface); border:1px solid var(--line);
    border-radius:var(--r-tier); padding:var(--pad-tier); }
  aside.filters::-webkit-scrollbar { display:none; }
  :root.hdr-hidden { --rail-h:calc(100vh - 32px); }
  :root.hdr-hidden aside.filters { top:16px; }
  @media (prefers-reduced-motion:reduce){ aside.filters{ transition:none; } }
  aside.filters.has-more {
    -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent 100%);
            mask-image:linear-gradient(180deg,#000 calc(100% - 28px),transparent 100%); }
  @media (max-width:1024px){
    aside.filters { position:fixed; inset:0; z-index:80; background:var(--ground);
      max-height:none; border:0; border-radius:0;
      overflow-y:auto; transform:translateY(100%); transition:transform var(--dur-slow) ease;
      padding:0 var(--s4) 88px; }
    aside.filters.has-more { -webkit-mask-image:none; mask-image:none; }
    aside.filters.open { transform:translateY(0); }
    .drawer-head { display:flex !important; align-items:center; justify-content:space-between;
      position:sticky; top:0; background:var(--ground); padding:var(--s4) 0;
      border-bottom:1px solid var(--line); margin-bottom:var(--s4); }
  }
  @media (max-width:1024px) and (prefers-reduced-motion:reduce){
    aside.filters{ transition:none; }
  }
  .drawer-head { display:none; }
  .drawer-head h2 { margin:0; font-size:var(--fz-lg); line-height:var(--lh-lg); font-weight:var(--fw-semi); }
  .drawer-foot { display:none; position:fixed; left:0; right:0; bottom:0; z-index:81;
    padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom));
    background:var(--surface); border-top:1px solid var(--line); }
  .drawer-foot .btn-primary { width:100%; }

  .fgroup { border-bottom:1px solid var(--line); padding:var(--s4) 0; }
  .fgroup:first-of-type { padding-top:0; }
  .fgroup > h3 { margin:0 0 var(--s2h); font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi); letter-spacing:.09em;
                 text-transform:uppercase; color:var(--ink-soft); }
  .opts { display:flex; flex-direction:column; }
  .opts.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 var(--s2); }
  .opts.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:0 6px; }
  .opt { display:flex; align-items:center; gap:7px; padding:5px 6px; margin:0 -6px;
         border-radius:var(--r-ctl); cursor:pointer; font-size:var(--fz-base); line-height:var(--lh-base); }
  .opts.grid2 .opt, .opts.grid3 .opt { margin:0; }
  .opt:hover:not(.is-zero){ background:var(--surface); }
  .opt input { accent-color:var(--accent); width:14px; height:14px; margin:0; flex:none; }
  .opt .label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .opt .cnt { font-size:var(--fz-xs); line-height:var(--lh-xs); color:var(--ink-soft); font-variant-numeric:tabular-nums; flex:none; }
  .opt.is-zero { color:var(--ink-faint); cursor:not-allowed; opacity:.5; }
  .opt.is-zero input { pointer-events:none; }

  .range { display:flex; gap:6px; align-items:center; }
  .range input { width:100%; height:32px; padding:0 var(--s2); border:1px solid var(--line);
    border-radius:var(--r-ctl); background:var(--surface); color:var(--ink);
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base); font-variant-numeric:tabular-nums; min-width:0;
    transition:border-color var(--dur-fast); }
  .range input:hover { border-color:var(--line-strong); }
  .range input:focus { outline:none; border-color:var(--accent); }
  @media (prefers-reduced-motion:reduce){ .range input{ transition:none; } }
  .range span { color:var(--ink-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .fslider { position:relative; height:var(--tap-min); margin-top:var(--s3); }
  .fslider::before, .fslider::after {
    content:""; position:absolute; left:0; right:0; top:50%;
    height:2px; margin-top:-1px; border-radius:var(--r-pill); }
  .fslider::before { background:var(--line-strong); }
  .fslider::after { background:var(--accent);
    left:var(--a,0%); right:calc(100% - var(--b,100%));
    transition:left var(--dur-fast) linear, right var(--dur-fast) linear; }
  .fslider.is-dragging::after { transition:none; }
  .fslider input[type=range] {
    position:absolute; left:0; top:0; width:100%; height:100%; margin:0;
    -webkit-appearance:none; appearance:none; background:transparent;
    pointer-events:none;
    --fill:0%; }
  .fslider input[type=range]:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
  .fslider input[type=range]::-webkit-slider-runnable-track {
    height:2px; background:transparent; }
  .fslider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance:none; appearance:none; pointer-events:auto;
    width:12px; height:12px; border-radius:50%; border:2px solid var(--surface);
    background:var(--accent); margin-top:-5px;
    cursor:pointer; transition:transform var(--dur-fast); }
  .fslider input[type=range]:hover::-webkit-slider-thumb,
  .fslider input[type=range]:active::-webkit-slider-thumb { transform:scale(1.18); }
  .fslider input[type=range]::-moz-range-track { height:2px; background:transparent; }
  .fslider input[type=range]::-moz-range-thumb {
    pointer-events:auto; width:12px; height:12px; border-radius:50%;
    border:2px solid var(--surface); background:var(--accent); cursor:pointer; }
  @media (prefers-reduced-motion:reduce){
    .fslider::after { transition:none; }
    .fslider input[type=range]::-webkit-slider-thumb { transition:none; }
  }
  .reset { display:block; width:100%; text-align:center;
           background:var(--surface); border:1px solid var(--line);
           border-radius:var(--r-ctl);
           padding:var(--s2) var(--s3); min-height:var(--tap-min);
           margin-bottom:var(--s4);
           color:var(--ink-soft); font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
           font-weight:var(--fw-medium); cursor:pointer;
           transition:color var(--dur-fast), border-color var(--dur-fast); }
  .reset:hover { color:var(--accent); border-color:var(--line-strong); }
  .reset:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  @media (prefers-reduced-motion:reduce){ .reset{ transition:none; } }

  .results-bar { display:flex; align-items:baseline; gap:var(--s4); flex-wrap:wrap;
                 padding-bottom:var(--s3); margin-bottom:var(--s4);
                 border-bottom:1px solid var(--line); }
  .results-bar h1 { margin:0; font-size:var(--fz-2xl); line-height:var(--lh-2xl); font-weight:var(--fw-semi); letter-spacing:-.015em; }
  .results-bar .count { color:var(--ink-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); font-variant-numeric:tabular-nums; }
  .count:empty { display:none; }
  .sortbox { margin-left:auto; width:212px; flex:none; align-self:center; }
  .sortbox .cbx-btn { height:34px; font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .mobile-filter-btn { display:none; }
  @media (max-width:1024px){
    .mobile-filter-btn { display:inline-flex; align-items:center; gap:6px; height:34px;
      padding:0 var(--s3); background:var(--accent); color:var(--accent-ink); border:0;
      border-radius:var(--r-ctl); font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-medium);
      cursor:pointer; flex:none; align-self:center; }
    .sortbox { flex:1 1 0; width:auto; min-width:min-content; margin-left:0; align-self:center; }
  }
  .vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0;
        overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  .chips { display:flex; flex-wrap:wrap; gap:var(--s2); margin-bottom:var(--s4); }
  .chips:empty { display:none; }
  .chip { display:inline-flex; align-items:center; gap:6px; padding:4px 6px 4px 10px;
    border-radius:100px; background:var(--accent-soft); color:var(--accent);
    font-size:var(--fz-sm); line-height:var(--lh-sm); border:0; font-family:inherit; cursor:pointer; }
  .chip .x { font-size:var(--fz-base); line-height:1; opacity:.6; }
  
  .grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--card-gap); }
  @media (max-width:1400px){ .grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media (max-width:1100px){ .grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (max-width:768px){ .grid{ grid-template-columns:minmax(0,1fr); } }
  .card { display:block; min-width:0; text-decoration:none; color:inherit; }
  .card:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .photo { position:relative; aspect-ratio:1/1.04; overflow:hidden;
           background:var(--surface-alt); border-radius:var(--r-card);
           border:1px solid var(--line);
           container-type:inline-size; }
  .photo canvas { position:absolute; inset:0; width:100%; height:100%; display:block;
                  opacity:0; transition:opacity .09s linear; }
  .photo canvas.on { opacity:1; }
  .ov-scrim-top { position:absolute; left:0; right:0; top:0; height:44px; z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(2,12,20,.62) 0%,
                                rgba(2,12,20,.50) 36%, rgba(2,12,20,0) 100%); }
  .segs { position:absolute; top:10px; left:0; right:0; z-index:3;
          display:flex; align-items:center; gap:4px; pointer-events:none;
          padding:0 var(--s2); }
  .segs i { flex:1 1 0; min-width:0; height:2px; border-radius:2px;
            background:rgb(255 255 255 / .45);
            transition:background var(--dur-fast), height var(--dur-fast); }
  .segs i.on { height:3px; background:#fff; }
  @media (prefers-reduced-motion:reduce){ .segs i{ transition:none; } }
  @media (hover:hover){
    .segs { opacity:0; transition:opacity var(--dur-base) ease; }
    .card:hover .segs, .card:focus-visible .segs { opacity:1; }
  }
  @media (hover:hover) and (prefers-reduced-motion:reduce){
    .segs { transition:none; }
  }
  .badges { position:absolute; top:calc(var(--s5) + var(--s2)); left:0; z-index:4; display:flex; }
  .badge { display:inline-flex; align-items:center; justify-content:center;
    font-size:clamp(var(--fz-sm), 3.4cqw, var(--fz-base));
    font-weight:var(--fw-medium); letter-spacing:.005em;
    gap:.571em;
    padding:.286em .571em; border-radius:var(--r-sm); white-space:nowrap;
    color:#fff;
    background:linear-gradient(180deg, rgb(16 24 40 / .62) 0%, rgb(16 24 40 / .74) 100%);
    border:1px solid rgb(255 255 255 / .18);
    backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
  .badge.special { background:rgb(255 255 255 / .92);
    backdrop-filter:blur(10px) saturate(150%);
    -webkit-backdrop-filter:blur(10px) saturate(150%);
    border:1px solid rgb(255 255 255 / .60);
    color:var(--ink);
    font-weight:var(--fw-semi); letter-spacing:.10em; text-transform:uppercase;
    padding-left:.833em;
    border-radius:0 var(--r-sm) var(--r-sm) 0; }
  .badge.special {
    font-size:clamp(var(--fz-xs), 2.6cqw, var(--fz-sm));
    padding-top:.5em; padding-bottom:.5em; padding-right:.667em; }
  .badge.special svg { width:1.17em; height:1.17em; flex:none; display:block;
    color:var(--accent); }
  .ov-scrim { position:absolute; left:0; right:0; bottom:0; height:66%; z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(2,12,20,0) 0%,rgba(2,12,20,.20) 34%,
                                rgba(2,12,20,.70) 66%,rgba(2,12,20,.90) 100%); }

  .ov { position:absolute; left:0; right:0; bottom:0; z-index:3; color:#fff;
        padding:0 14px 16px; }
  .ov-nb { display:flex; margin-bottom:var(--s2); }
  .nb-ico { width:1em; height:1em; flex:none; display:block; }
  .ov-head { display:flex; align-items:stretch; gap:var(--s3); }
  .ov-headl { flex:1; min-width:0; }
  .ov-id { flex:none; min-width:92px; padding:0 var(--s2); white-space:nowrap;
           display:flex; align-items:center; justify-content:center;
           font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi); color:#fff;
           font-variant-numeric:tabular-nums; letter-spacing:.03em;
           background:rgba(255,255,255,.17); border-radius:var(--r-sm);
           backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
  .ov-addr { height:38px; overflow:hidden; font-size:var(--fz-sm); color:rgba(255,255,255,.82);
             display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.35;
             overflow-wrap:anywhere; }
  .ov-stats { display:flex; align-items:flex-end; flex-wrap:nowrap;
    gap:var(--s5); row-gap:var(--s2);
    min-height:46px; margin-top:10px; padding-top:10px;
    border-top:1px solid rgba(255,255,255,.34); }
  .ov-stats[data-fit="1"] { column-gap:var(--s4); }
  .ov-stats[data-fit="2"] { column-gap:var(--s3); }
  .ov-stats[data-fit="3"] { column-gap:var(--s3); }
  .ov-stats[data-fit="3"] b { font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .ov-stats[data-fit="4"] { column-gap:var(--s3); flex-wrap:wrap; }
  .ov-stats[data-fit="4"] b { font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .ov-stats > div { min-width:0; flex:1 0 auto; }
  .ov-stats > div.price { flex:none; margin-left:auto; text-align:right; padding-left:4px; }
  .ov-stats span { display:block; font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-medium); letter-spacing:.04em;
                   text-transform:uppercase; color:rgba(255,255,255,.62); margin-bottom:2px; }
  .ov-stats b { display:block; font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-semi); letter-spacing:-.01em;
                font-variant-numeric:tabular-nums; white-space:nowrap;
                overflow:hidden; text-overflow:ellipsis; }
  
  .empty { background:var(--surface); border:1px solid var(--line);
           border-radius:var(--r-card); padding:var(--s6); }
  .empty h2 { margin:0 0 var(--s2); font-size:var(--fz-xl); line-height:var(--lh-xl); font-weight:var(--fw-semi); }
  .empty p { margin:0 0 var(--s5); color:var(--ink-soft); max-width:56ch; }
  .rescue { display:flex; flex-direction:column; gap:var(--s2); margin-bottom:var(--s6); }
  .rescue button { display:flex; align-items:center; justify-content:space-between; gap:var(--s3);
    width:100%; text-align:left; padding:var(--s3) var(--s4); background:var(--ground);
    border:1px solid var(--line-strong); border-radius:var(--r-ctl); color:var(--ink);
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base); cursor:pointer; }
  .rescue b { color:var(--accent); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2);
    padding:11px 30px; border:0; border-radius:3px; background:var(--accent);
    color:#fff; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi); letter-spacing:.06em;
    text-transform:uppercase; cursor:pointer; transition:background var(--dur-fast); }
  .btn-primary:hover { background:var(--accent-hover); }
  .btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2);
    padding:11px 30px; border:1px solid rgba(255,255,255,.34); border-radius:3px;
    background:transparent; color:#fff; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi);
    letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background var(--dur-fast); }
  .btn-ghost:hover { background:rgba(255,255,255,.12); }
  .similar-head { margin:var(--s7) 0 var(--s4); font-size:var(--fz-xl); line-height:var(--lh-xl); font-weight:var(--fw-semi);
                  padding-top:var(--s5); border-top:1px solid var(--line); }
  .faqsec { background:var(--surface); border-top:1px solid var(--line); padding:var(--s8) 0; }
  .faqsec h2 { margin:0 0 var(--s3); font-size:var(--fz-3xl); line-height:var(--lh-3xl); font-weight:var(--fw-semi); letter-spacing:-.02em; }
  .faqsec .lede { margin:0 0 var(--s7); color:var(--ink-soft); max-width:62ch; }
  .faqcols { display:grid; grid-template-columns:1fr 1fr; gap:var(--s7) var(--s8); }
  @media (max-width:1024px){ .faqcols{ grid-template-columns:1fr; gap:var(--s6);} }
  .faqcat > h2 { margin:0 0 var(--s2); font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi); letter-spacing:.09em;
                 text-transform:uppercase; color:var(--ink-soft); }
  .qa { border-top:1px solid var(--line); }
  .qa:last-of-type { border-bottom:1px solid var(--line); }
  .qa summary { padding:14px 0; cursor:pointer; font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium);
                list-style:none; display:flex; justify-content:space-between; gap:var(--s3); }
  .qa summary::-webkit-details-marker { display:none; }
  .qa summary::after { content:"+"; color:var(--accent); font-size:var(--fz-lg); line-height:1; flex:none; }
  .qa[open] summary::after { content:"–"; }
  .qa .ans { padding:0 0 var(--s4); color:var(--ink-soft); font-size:var(--fz-base); line-height:var(--lh-base); max-width:62ch; }
  .legal-note { margin-top:var(--s6); padding:var(--s4); border-left:2px solid var(--accent);
                background:var(--accent-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft); max-width:70ch; }
  .textpage { background:var(--surface); border-top:1px solid var(--line); padding:var(--s8) 0; }
  .textpage h1 { margin:0 0 var(--s6); font-size:var(--fz-3xl); line-height:var(--lh-3xl); font-weight:var(--fw-semi);
                 letter-spacing:-.02em; }
  .pg-head { background:var(--ground); border-bottom:1px solid var(--line);
    padding:var(--s8) 0; }
  .pg-head-in { display:grid; grid-template-columns:minmax(0,1fr) auto;
    gap:var(--s7); align-items:center; }
  .pg-head-txt { min-width:0; }
  .pg-head .crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2);
    font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft);
    margin-bottom:var(--s4); }
  .pg-head .crumbs a { color:inherit; text-decoration:none; }
  .pg-head .crumbs a:hover { color:var(--accent); text-decoration:underline; }
  .pg-head .crumbs [aria-current] { color:var(--ink); font-weight:var(--fw-medium); }
  .pg-kicker { font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi);
    letter-spacing:.12em; text-transform:uppercase; color:var(--brand);
    margin-bottom:var(--s2); }
  .pg-title { margin:0; font-size:var(--fz-3xl); line-height:var(--lh-3xl);
    font-weight:var(--fw-semi); letter-spacing:-.02em; color:var(--ink); }
  @media (max-width:359px){
    .pg-title{ font-size:var(--fz-2xl); line-height:var(--lh-2xl); }
    #viewMortgage .pg-title{ font-size:var(--fz-3xl); line-height:var(--lh-3xl); }
  }
  .pg-lead { margin:var(--s3) 0 0; max-width:60ch; font-size:var(--fz-lg);
    line-height:1.6; color:var(--ink-soft); }
  .pg-art { width:260px; height:auto; display:block; justify-self:end; }
  @media (max-width:900px){
    .pg-head { padding:var(--s7) 0; }
    .pg-head-in { grid-template-columns:minmax(0,1fr); }
    .pg-art { display:none; }
  }
  .pg-body { background:var(--surface); padding:var(--s8) 0; }
  .pg-sec { margin-bottom:var(--s8); }
  .pg-sec:last-child { margin-bottom:0; }
  .pg-sec .sec-head { margin-bottom:var(--s5); }
  .pg-sec .sec-head h2 { margin:0; font-size:var(--fz-xl); line-height:var(--lh-xl);
    font-weight:var(--fw-semi); }
  .pg-foot { background:var(--ground); border-top:1px solid var(--line);
    padding:var(--s7) 0; }
  .pg-foot-in { display:flex; flex-wrap:wrap; gap:var(--s6);
    align-items:flex-start; justify-content:space-between; }
  .pg-where-t { font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-semi);
    letter-spacing:.14em; text-transform:uppercase; color:var(--ink); margin-bottom:var(--s2); }
  .pg-where-p { max-width:56ch; font-size:var(--fz-base); line-height:var(--lh-read);
    color:var(--ink-soft); }
  .pg-do { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s4); }
  .pg-btn { display:inline-flex; align-items:center; justify-content:center;
    min-height:44px; padding:0 var(--s6); border-radius:var(--r-ctl);
    background:var(--accent); color:var(--accent-ink); text-decoration:none;
    font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-semi); }
  .pg-btn:hover { background:var(--accent-hover); }
  .pg-btn2 { display:inline-flex; align-items:center; min-height:44px;
    color:var(--accent); text-decoration:none;
    font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium); }
  .pg-btn2:hover { text-decoration:underline; }
  @media (max-width:640px){ .pg-foot-in { flex-direction:column; align-items:flex-start; } }
  .tp-body { max-width:72ch; }
  .tp-body p, .tp-body li { max-width:57ch; }
  .tp-body h2 { margin:var(--s6) 0 var(--s3); font-size:var(--fz-xl); line-height:var(--lh-xl); font-weight:var(--fw-semi); }
  .tp-body h2:first-child { margin-top:0; }
  .tp-body p { margin:0 0 var(--s4); color:var(--ink); font-size:var(--fz-base); line-height:var(--lh-read); }
  .tp-body ul { margin:0 0 var(--s4); padding-left:1.25em; display:grid; gap:var(--s3); }
  .tp-body li { color:var(--ink); font-size:var(--fz-base); line-height:var(--lh-read); }
  .tp-body li b { color:var(--ink); font-weight:var(--fw-semi); }
  .tp-body .tp-lede { font-size:var(--fz-xl); line-height:1.6; color:var(--ink);
    margin:0 0 var(--s5); }
  .tp-rate { margin:0 0 var(--s6); }
  .tp-rate-top { display:flex; align-items:center; gap:var(--s3); flex-wrap:wrap; }
  .tp-rate-v { font-size:var(--fz-3xl); line-height:var(--lh-3xl); font-weight:var(--fw-semi); color:var(--ink);
    letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
  .tp-rate-c { flex:1 1 240px; min-width:0; max-width:46ch;
    font-size:var(--fz-lg); color:var(--ink-soft); line-height:1.5; }
  .tp-rate-rows { margin-top:var(--s5); border-top:1px solid var(--line); }
  .tp-rate-rows > div { display:flex; gap:var(--s4); padding:var(--s3) 0;
    border-bottom:1px solid var(--line); }
  .tp-rate-rows b { flex:0 0 230px; color:var(--ink); font-weight:var(--fw-semi);
    font-size:var(--fz-base); line-height:var(--lh-base); }
  .tp-rate-rows span { color:var(--ink-soft); font-size:var(--fz-base); line-height:1.7; }
  @media (max-width:640px){
    .tp-rate-rows > div { display:grid; gap:2px; }
    .tp-rate-rows b { flex:none; }
  }
  .tp-steps { margin:0 0 var(--s5); padding:0; list-style:none;
    counter-reset:step; display:grid; gap:var(--s4); }
  .tp-steps li { counter-increment:step; display:grid;
    grid-template-columns:auto minmax(0,1fr); gap:var(--s4); align-items:start;
    color:var(--ink-soft); font-size:var(--fz-base); line-height:1.7; }
  .tp-steps li::before { content:counter(step);
    width:28px; height:28px; border-radius:999px; flex:none;
    display:flex; align-items:center; justify-content:center;
    background:var(--accent-soft); color:var(--accent);
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi);
    font-variant-numeric:tabular-nums; }
  footer.site { background:var(--ground); color:var(--ink); padding:var(--s8) 0 var(--s6); }
  footer.site { background:var(--foot-bg); color:var(--foot-ink); }
  .footcard { background:none; border:0; border-radius:0; }
  .footinfo { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:var(--s6) var(--s6); padding:var(--s6) var(--s6); }
  @media (max-width:1024px){ .footinfo{ grid-template-columns:1fr 1fr; } }
  @media (max-width:640px){ .footinfo{ grid-template-columns:1fr; } }
  .fi-tel, .fi-mail { display:block; font-size:var(--fz-xl); line-height:var(--lh-xl); font-weight:var(--fw-semi);
    color:var(--foot-ink); text-decoration:none; letter-spacing:-.012em; }
  .fi-tel { font-variant-numeric:tabular-nums; }
  .fi-mail { margin-top:3px; overflow-wrap:anywhere; }
  .fi-tel:hover, .fi-mail:hover { color:var(--foot-ink); text-decoration:underline; text-underline-offset:4px; }
  .footinfo .col { display:grid; gap:var(--s2); align-content:start; }
  .footinfo .fi-main > b { display:block; margin-bottom:var(--s2); }
  .footinfo .col b, .footinfo .fi-main > b { font-size:var(--fz-lg); line-height:var(--lh-lg); font-weight:var(--fw-semi);
    color:var(--foot-ink); margin-bottom:3px; }
  .footinfo .col a, .footinfo .col button { color:var(--foot-ink-soft); font-size:var(--fz-base); line-height:var(--lh-base);
    text-decoration:none; background:none; border:0; padding:0;
    display:flex; align-items:center; min-height:var(--tap-min);
    font-family:inherit; text-align:left; cursor:pointer; }
  .footinfo .col a:hover, .footinfo .col button:hover { color:var(--foot-ink); }
  .footlegal { display:flex; align-items:center; gap:var(--s5); flex-wrap:wrap;
    padding:var(--s5) var(--s2) 0; font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--foot-ink-soft);
    border-top:1px solid var(--foot-line); margin-top:var(--s5); }
  .fl-brand { display:flex; align-items:center; gap:10px; color:var(--foot-ink);
    font-weight:var(--fw-semi); font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .footlegal button { background:none; border:0; padding:0; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--foot-ink-soft); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
  .footlegal button:hover { color:var(--foot-ink); }
  .fl-mark { height:1.6em; width:auto; display:block; flex:none; }
  .fi-social { display:flex; align-items:center; gap:var(--s2); margin-top:var(--s4); }
  .fi-social a { width:40px; height:40px; border-radius:var(--r-ctl); color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    transition:filter var(--dur-fast), transform var(--dur-fast); }
  .fi-social a:hover { filter:brightness(1.08); transform:translateY(-1px); }
  footer.site a:focus-visible,
  footer.site button:focus-visible { outline:2px solid var(--foot-ink); outline-offset:2px; }
  .fi-social a svg { width:22px; height:22px; display:block; }
  .fi-social a[data-c="tg"] { background:var(--c-tg); }
  .fi-social a[data-c="wa"] { background:var(--c-wa); }
  .fi-social a[data-c="ig"] { background:var(--c-ig); }
  .fi-social a[data-c="fb"] { background:var(--c-fb); }
  .fi-social a[data-c="yt"] { background:var(--c-yt); }
  @media (prefers-reduced-motion:reduce){
    .fi-social a{ transition:filter var(--dur-fast); }
    .fi-social a:hover{ transform:none; } }
  .pager { display:flex; align-items:stretch; justify-content:center;
    gap:var(--s1); margin-top:var(--s7); padding-top:var(--s4);
    border-top:1px solid var(--line); flex-wrap:wrap; }
  .pager button { min-width:var(--tap-min); min-height:var(--tap-min);
    padding:0 var(--s3); border:0; background:none; cursor:pointer;
    color:var(--ink-soft); font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-variant-numeric:tabular-nums; border-top:2px solid transparent;
    border-radius:0; transition:color var(--dur-fast), background var(--dur-fast); }
  .pager button:hover:not([disabled]):not(.is-cur) { color:var(--ink); background:var(--surface-alt); }
  .pager button:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
  .pager button[disabled] { color:var(--ink-faint); cursor:not-allowed; }
  .pager .pg-num.is-cur { color:var(--ink); font-weight:var(--fw-semi);
    border-top-color:var(--accent); cursor:default; }
  .pager .pg-gap { display:inline-flex; align-items:center; padding:0 var(--s1);
    color:var(--ink-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .pager .pg-arrow { color:var(--ink); }
  .pager .pg-arrow[disabled] { color:var(--ink-faint); }
  @media (max-width:640px){
    .pager button { padding:0 var(--s2); }
  }
  .toast { position:fixed; left:50%; bottom:26px; transform:translate(-50%,18px); z-index:200;
    background:var(--ink); color:#fff; font-size:var(--fz-base); line-height:var(--lh-base); padding:12px 18px;
    border-radius:var(--r-ctl); box-shadow:var(--shadow-lg); opacity:0; pointer-events:none;
    transition:opacity var(--dur-base) ease, transform var(--dur-base) ease; max-width:calc(100vw - 32px); }
  .toast.on { opacity:1; transform:translate(-50%,0); }
  @media (prefers-reduced-motion:reduce){ .toast{ transition:opacity var(--dur-base) ease; } }

  .scrim { display:none; position:fixed; inset:0; z-index:75; background:rgba(28,26,25,.45); }
  .scrim.on { display:block; }
  @media (min-width:1025px){ .scrim{ display:none !important; } }
  
  .objpage { padding-top:var(--s5); padding-bottom:var(--s8); }
  .otier { background:var(--surface); border:1px solid var(--line);
    border-radius:var(--r-tier); padding:var(--pad-tier); margin-top:var(--s5); }
  .otier > h2, .otier > h1, .otier > .mc-ch-head > h2 { margin:0 0 var(--s3);
    font-size:var(--fz-xl); line-height:var(--lh-xl);
    font-weight:var(--fw-semi); letter-spacing:-.012em; }
  .crumbs { margin-bottom:var(--s4); }
  .crumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2);
    margin:0; padding:0; list-style:none;
    font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft); }
  .crumbs li { display:inline-flex; align-items:center; }
  .crumbs button { background:none; border:0; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--ink-soft); cursor:pointer; padding:var(--s1h) 0; min-height:var(--tap-min);
    display:inline-flex; align-items:center; text-decoration:none;
    border-radius:var(--r-sm); transition:color var(--dur-fast); }
  .crumbs button:hover { color:var(--ink); }
  .crumbs button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .crumbs [aria-current="page"] { color:var(--ink); font-weight:var(--fw-normal);
    font-variant-numeric:tabular-nums; }
  .crumbs .crumb-sep { color:var(--ink-faint); display:inline-flex; }
  .crumbs .crumb-sep svg { display:block; width:14px; height:14px; }
  .objpage { container-type:inline-size; }
  .palbwrap { position:relative; width:fit-content; max-width:100%; }
  .palb-top { position:absolute; z-index:6; top:var(--s4); left:0;
    display:inline-flex; align-items:center; gap:.571em;
    padding:.5em .667em .5em .833em;
    background:rgb(255 255 255 / .92); color:var(--ink);
    backdrop-filter:blur(10px) saturate(150%);
    -webkit-backdrop-filter:blur(10px) saturate(150%);
    border:1px solid rgb(255 255 255 / .60); border-left:0;
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi);
    letter-spacing:.10em; text-transform:uppercase;
    border-radius:0 var(--r-sm) var(--r-sm) 0; white-space:nowrap; }
  .palb-top svg { width:1.17em; height:1.17em; flex:none; display:block;
    color:var(--accent); }
  @media (max-width:768px){
    .palb-top { font-size:var(--fz-sm); line-height:var(--lh-sm); top:var(--s3); }
  }
  .palb { display:flex; gap:var(--s1);
    height:calc((100cqw - 1.697px) / 3.14826);
    overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory;
    scroll-behavior:smooth; }
  @media (prefers-reduced-motion:reduce){ .palb{ scroll-behavior:auto; } }
  .gal-nav { position:absolute; top:50%; margin-top:-16px; z-index:5;
    width:32px; height:32px; border:0; padding:0; cursor:pointer;
    border-radius:var(--r-card); color:var(--ink);
    background:rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    box-shadow:var(--shadow-sm);
    display:inline-flex; align-items:center; justify-content:center;
    transition:opacity var(--dur-fast), background var(--dur-fast); }
  .gal-nav:hover { background:rgba(255,255,255,.94); }
  .gal-nav:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .gal-nav.prev { left:var(--s4); }
  .gal-nav.next { right:var(--s4); }
  .gal-nav[disabled] { opacity:0; pointer-events:none; }
  @media (hover:none){ .gal-nav{ display:none; } }
  .gal-all { position:absolute; right:var(--s4); bottom:var(--s4); z-index:5;
    display:inline-flex; align-items:center; gap:var(--s2);
    padding:var(--s2) var(--s5); border:0; border-radius:var(--r-card);
    background:rgba(255,255,255,.78); color:var(--ink); cursor:pointer;
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium);
    box-shadow:var(--shadow-sm);
    transition:background var(--dur-fast); }
  .gal-all:hover { background:rgba(255,255,255,.94); }
  .gal-all:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .gal-all svg { flex:none; }
  @media (max-width:640px){
    .gal-all { right:var(--s3); bottom:var(--s3); padding:var(--s2) var(--s3);
      font-size:var(--fz-sm); line-height:var(--lh-sm); }
  }
  .pcol { flex:none; height:100%; display:flex; flex-direction:column; gap:var(--s1);
    scroll-snap-align:start; }
  .pcol .pf { height:calc((100% - var(--s1)) / 2); aspect-ratio:312/198; }

  .pf { position:relative; flex:none; height:100%; aspect-ratio:629/400;
    scroll-snap-align:start; border:0; padding:0; cursor:zoom-in;
    border-radius:var(--r-ctl); overflow:hidden; background:var(--surface-alt); }
  .pf canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .pf:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
  .pf-video { cursor:pointer; }
  .pf-th { position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; display:block; }
  .pf-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    z-index:2; pointer-events:none; width:44px; height:44px;
    border-radius:var(--r-pill); color:var(--ink);
    background:rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    box-shadow:var(--shadow-sm);
    display:inline-flex; align-items:center; justify-content:center; }
  .pf-play svg { width:20px; height:20px; margin-left:1px; }
  .pcol .pf-play { width:34px; height:34px; }
  .pcol .pf-play svg { width:16px; height:16px; }
  .lb-video { position:absolute; inset:0; display:none;
    align-items:center; justify-content:center; padding:0 var(--s5); }
  .lb-video.on { display:flex; }
  .lb-video iframe { width:100%; max-width:1200px; aspect-ratio:16/9;
    max-height:100%; border:0; border-radius:var(--r-sm);
    box-shadow:0 0 0 1px var(--divider), var(--shadow-lg); }
  .lb-foot .th-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    z-index:2; pointer-events:none; width:28px; height:28px;
    border-radius:var(--r-pill); color:var(--ink);
    background:rgba(255,255,255,.78);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    display:inline-flex; align-items:center; justify-content:center; }
  .lb-foot .th-play svg { width:14px; height:14px; margin-left:1px; }
  .lb-foot img { position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; display:block; }
  .pf-plan { position:absolute; left:var(--s2); top:var(--s2); z-index:2;
    display:inline-flex; align-items:center; gap:4px;
    padding:3px var(--s2); border-radius:var(--r-card);
    background:rgba(255,255,255,.78); color:var(--ink);
    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
    box-shadow:var(--shadow-sm);
    font-size:var(--fz-xs); line-height:var(--lh-xs); font-weight:var(--fw-medium);
    letter-spacing:.02em; pointer-events:none; }
  .pf-plan svg { width:1.15em; height:1.15em; flex:none; display:block; }
  @media (max-width:768px){
    .palb { height:240px; }
    .pf { aspect-ratio:4/3; }
    .pcol { display:contents; }
    .pcol .pf { height:100%; aspect-ratio:4/3; }
  }
  .obj2col { display:grid; grid-template-columns:minmax(0,1fr) 312px;
             gap:var(--s5); align-items:start; margin-top:var(--s5); }
  .obj-main { min-width:0; display:flex; flex-direction:column; gap:var(--s5); }
  .obj-side { position:sticky; top:calc(var(--hdr) + var(--s4)); min-width:0;
    transition:top var(--dur-base) ease; }
  :root.hdr-hidden .obj-side { top:var(--s4); }
  @media (prefers-reduced-motion:reduce){ .obj-side{ transition:none; } }
  .oh-l, .oh-r { background:var(--surface); border:1px solid var(--line);
    border-radius:var(--r-tier); padding:var(--pad-tier);
    display:flex; flex-direction:column; }
  .oh-l { min-width:0; }
  .oh-r { width:100%; }
  .obj-main > .otier { margin-top:0; }
  @media (max-width:1024px){
    .obj2col { grid-template-columns:minmax(0,1fr); gap:var(--s4); }
    .obj-main { gap:var(--s4); }
    .obj-side { position:static; top:auto; }
  }
  .oh-tags { display:flex; flex-wrap:wrap; align-items:center;
    gap:var(--s2h); margin-bottom:var(--s3); }
  .oh-tag { display:inline-flex; align-items:center;
    font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-weight:var(--fw-medium); letter-spacing:.01em;
    padding:var(--s1h) var(--s3); border-radius:var(--r-sm); background:var(--accent-soft); color:var(--accent); }
  .oh-tag.deal { background:var(--brand); color:#fff;
    font-weight:var(--fw-semi); box-shadow:none; }
  .oh-tag.id { background:none; color:var(--ink-soft);
    padding:0; border-radius:0; box-shadow:none;
    font-variant-numeric:tabular-nums; letter-spacing:.06em; }
  .oh-l h1 { margin:0 0 var(--s1h); font-size:var(--fz-2xl); font-weight:var(--fw-semi);
    letter-spacing:-.015em; line-height:var(--lh-2xl); }
  .oh-addr { color:var(--ink-soft); font-size:var(--fz-base); line-height:var(--lh-base); }
  .oh-priceline { position:relative; display:flex; align-items:center;
    justify-content:flex-end; gap:var(--s2); }
  .oh-price { font-size:var(--fz-3xl); font-weight:var(--fw-semi); letter-spacing:-.02em;
    line-height:var(--lh-3xl);
    font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
  .ov-stats .ov-down { display:inline-flex; align-items:center;
    justify-content:center; margin-left:6px; vertical-align:-4px;
    width:18px; height:18px; border-radius:var(--r-sm);
    color:#fff; background:var(--ok-ink);
    box-shadow:var(--shadow-sm); }
  .ov-stats .ov-down svg { width:13px; height:13px; display:block; }
  .oh-down svg { width:13px; height:13px; margin-right:3px; vertical-align:-2px;
    display:inline-block; }
  .oh-down { display:inline-flex; align-items:center;
    margin-left:var(--s2); padding:1px var(--s2); border-radius:var(--r-ctl);
    background:var(--ok-bg,#e7f4ee); color:var(--ok-ink,#1d6b4b);
    font-weight:var(--fw-semi); white-space:nowrap; }
  .oh-sqm { margin-top:var(--s1); font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--ink-soft); text-align:right; font-variant-numeric:tabular-nums;
    white-space:nowrap; }
  .oh-down.is-tight .oh-down-pc { display:none; }
  .oh-down.is-tight svg { margin-right:0; }
  .fi-addr { color:inherit; text-decoration:none;
    display:inline-flex; align-items:center; min-height:var(--tap-min); }
  .fi-addr:hover { text-decoration:underline; }
  .oh-act { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--s2);
    margin-top:auto; padding-top:var(--s5); }
  .oh-tel { display:inline-flex; align-items:center; justify-content:center; gap:var(--s2);
    width:100%; padding:11px 16px; border:0; border-radius:var(--r-card);
    background:var(--call); color:#fff; text-decoration:none;
    font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-semi); font-variant-numeric:tabular-nums;
    transition:filter var(--dur-fast); }
  .oh-tel:hover { filter:brightness(.92); }
  .oh-tel:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .oh-tel svg { flex:none; }
  .oh-ch { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s2);
    margin-top:var(--s2); }
  .oh-chip { display:inline-flex; align-items:center; justify-content:center; gap:7px;
    min-height:44px; padding:10px 12px; border:1px solid var(--line-strong);
    border-radius:var(--r-card); background:var(--surface); color:var(--ink);
    text-decoration:none; cursor:pointer; font:inherit;
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-medium);
    white-space:nowrap;
    transition:border-color var(--dur-fast), background var(--dur-fast),
      color var(--dur-fast); }
  .oh-chip:hover { border-color:var(--ink-faint); background:#F8FAFC; }
  .oh-chip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .oh-chip svg { flex:none; display:block; }
  .oh-chip-wa svg { color:var(--c-wa); }
  .oh-chip-wa:hover { border-color:var(--c-wa);
    background:color-mix(in srgb, var(--c-wa) 8%, var(--surface)); }
  .oh-chip:not(.oh-chip-wa) svg { transition:transform var(--dur-fast); }
  .oh-chip:not(.oh-chip-wa):hover svg { transform:translateY(-2px); }
  @media (prefers-reduced-motion:reduce){
    .oh-chip:not(.oh-chip-wa) svg { transition:none; }
    .oh-chip:not(.oh-chip-wa):hover svg { transform:none; } }
  .oh-chip[data-done="1"] { color:var(--ok-ink); border-color:var(--ok-ink);
    background:var(--ok-bg); }
  .wr-pop { position:fixed; z-index:200; padding:var(--s3);
    display:flex; flex-direction:column;
    background:var(--surface); border:1px solid var(--line-strong);
    border-radius:var(--r-card); box-shadow:var(--shadow-lg);
    opacity:0; transform:translateY(-4px); transform-origin:top center;
    pointer-events:none;
    transition:opacity var(--dur-pop) cubic-bezier(.16,1,.3,1),
               transform var(--dur-pop) cubic-bezier(.16,1,.3,1); }
  .wr-pop[data-side="top"] { transform:translateY(4px); transform-origin:bottom center; }
  .wr-pop.is-open { opacity:1; transform:none; pointer-events:auto; }
  @media (prefers-reduced-motion:reduce){ .wr-pop{ transition:none; } }
  .wr-item { display:flex; align-items:center; gap:var(--s3); padding:10px var(--s3);
    border-radius:var(--r-ctl); color:var(--brand); text-decoration:none;
    font-size:var(--fz-base); line-height:var(--lh-base); min-height:var(--tap-min); }
  .wr-item:hover, .wr-item[data-hl="true"] { background:var(--accent-soft); }
  .wr-item:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
  .wr-item svg { flex:none; width:20px; height:20px; }
  .wr-item[data-c="tg"] svg { color:var(--c-tg); }
  .wr-item[data-c="wa"] svg { color:var(--c-wa); }
  .wr-item[data-c="ig"] svg { color:var(--c-ig); }
  .wr-item[data-c="fb"] svg { color:var(--c-fb); }
  .wr-soc-row { display:flex; align-items:center; justify-content:space-between;
    margin-top:var(--s1); padding-top:var(--s2);
    border-top:1px solid var(--line); }
  .wr-soc { width:34px; height:34px; border-radius:var(--r-ctl);
    display:inline-flex; align-items:center; justify-content:center;
    text-decoration:none; transition:background var(--dur-fast); }
  .wr-soc:hover, .wr-soc[data-hl="true"] { background:var(--accent-soft); }
  .wr-soc:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
  .wr-soc svg { width:22px; height:22px; display:block; }
  .wr-soc[data-c="ig"] svg { color:var(--c-ig); }
  .wr-soc[data-c="fb"] svg { color:var(--c-fb); }
  .wr-soc[data-c="tg"] svg { color:var(--c-tg); }
  .wr-soc[data-c="yt"] svg { color:var(--c-yt); }
  .oh-note { margin-top:auto; padding-top:var(--s4);
    font-size:var(--fz-xs); color:var(--ink-soft); line-height:var(--lh-xs); }
  .oh-hint { flex:none; width:var(--tap-min); height:var(--tap-min); border:0; padding:0; cursor:pointer;
    border-radius:var(--r-pill); background:var(--surface-alt); color:var(--ink-soft);
    display:inline-flex; align-items:center; justify-content:center;
    transition:background var(--dur-fast), color var(--dur-fast); }
  .oh-hint:hover, .oh-hint[aria-expanded="true"] { background:var(--accent-soft); color:var(--accent); }
  .oh-hint:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .oh-hint svg { display:block; }
  .hint-pop { position:absolute; top:calc(100% + var(--s2)); right:0; z-index:20;
    width:max-content; max-width:min(320px,100%);
    padding:var(--s3) var(--s4);
    background:var(--surface); color:var(--ink);
    border:1px solid var(--line-strong);
    font-size:var(--fz-sm); line-height:1.5; text-align:left;
    border-radius:var(--r-card); box-shadow:var(--shadow-lg);
    opacity:0; transform:scale(.95) translateY(-8px); transform-origin:top right;
    pointer-events:none;
    transition:opacity var(--dur-fast) cubic-bezier(.16,1,.3,1),
               transform var(--dur-fast) cubic-bezier(.16,1,.3,1); }
  .hint-pop.is-open { opacity:1; transform:none; pointer-events:auto; }
  @media (prefers-reduced-motion:reduce){ .hint-pop{ transition:none; } }
  .odl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--s8); }
  @media (max-width:768px){ .odl{ grid-template-columns:minmax(0,1fr); } }
  .odl-i { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2h); min-width:0;
    padding:var(--s2) 0; }
  .odl-dot { flex:1 1 auto; min-width:var(--s4); height:2px; align-self:center;
    background-image:radial-gradient(circle, var(--line-strong) 1px, transparent 1px);
    background-size:5px 2px; background-repeat:repeat-x;
    background-position:center bottom; }
  .odl-i > svg { flex:none; width:22px; height:22px; color:var(--ink-soft); }
  .oamen-g + .oamen-g { margin-top:var(--s5); padding-top:var(--s5);
    border-top:1px solid var(--line); }
  .oamen-g > h3, .mort-lb { margin:0 0 var(--s3); font-size:var(--fz-sm);
    line-height:var(--lh-sm); font-weight:var(--fw-medium); color:var(--ink-soft); }
  .odl-k { flex:none; font-size:var(--fz-base); line-height:var(--lh-base);
    font-weight:var(--fw-normal); color:var(--ink-soft); white-space:nowrap; }
  @media (max-width:359px){ .odl-k{ white-space:normal; max-width:100%; } }
  .odl-v { flex:0 0 auto; min-width:auto; max-width:100%; overflow-wrap:anywhere;
    font-size:var(--fz-base); font-weight:var(--fw-medium);
    font-variant-numeric:tabular-nums; line-height:var(--lh-base); text-align:right; }
  
  .mort { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--s5) var(--s6); }
  @media (max-width:768px){ .mort{ grid-template-columns:minmax(0,1fr); } }
  .mort-f { min-width:0; }
  .mort-head { position:relative; display:flex; align-items:center;
    gap:var(--s1); margin-bottom:var(--s2); min-height:var(--tap-min); }
  .mort-lb { display:block; margin:0; }
  .mort-note { margin:var(--s2) 0 0; font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft); }
  .mort-box { display:flex; align-items:center; gap:var(--s2);
    background:var(--ground); border:1px solid transparent; border-radius:var(--r-ctl);
    padding:var(--s3) var(--s4); transition:border-color var(--dur-fast),
    background var(--dur-fast); }
  .mort-box { background:var(--surface); border:1px solid var(--line); }
  .mort-box:hover { border-color:var(--line-strong); }
  .mort-box:focus-within { border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft); }
  .mort-in { flex:1; min-width:0; border:0; background:none; color:var(--ink);
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium);
    font-variant-numeric:tabular-nums; padding:0; }
  .mort-in:focus { outline:none; }
  .mort-in::-webkit-outer-spin-button, .mort-in::-webkit-inner-spin-button {
    -webkit-appearance:none; margin:0; }
  .mort-in[type=number] { -moz-appearance:textfield; appearance:textfield; }
  .mort-suf { flex:none; font-size:var(--fz-base); line-height:var(--lh-base); color:var(--ink-soft);
    font-variant-numeric:tabular-nums; }
  @property --fill { syntax:"<percentage>"; inherits:false; initial-value:0%; }
  .mort-range { display:block; width:100%; margin:var(--s3) 0 0;
    -webkit-appearance:none; appearance:none; background:transparent;
    cursor:pointer; min-height:var(--tap-min); --fill:0%;
    transition:--fill var(--dur-fast) linear; }
  .mort-range.is-dragging { transition:none; }
  .mort-range:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
  .mort-range::-webkit-slider-runnable-track {
    height:2px; border-radius:var(--r-pill);
    background:linear-gradient(to right,
      var(--accent) 0 var(--fill), var(--line-strong) var(--fill) 100%); }
  .mort-range::-webkit-slider-thumb {
    -webkit-appearance:none; appearance:none;
    width:14px; height:14px; border-radius:50%; border:0;
    background:var(--accent); margin-top:-6px;
    transition:transform var(--dur-fast); }
  .mort-range:hover::-webkit-slider-thumb { transform:scale(1.14); }
  .mort-range:active::-webkit-slider-thumb { transform:scale(1.14); }
  .mort-range::-moz-range-track {
    height:2px; border-radius:var(--r-pill); background:var(--line-strong); }
  .mort-range::-moz-range-progress {
    height:2px; border-radius:var(--r-pill); background:var(--accent); }
  .mort-range::-moz-range-thumb {
    width:14px; height:14px; border-radius:50%; border:0; background:var(--accent); }
  @media (prefers-reduced-motion:reduce){
    .mort-box{ transition:none; }
    .mort-range::-webkit-slider-thumb{ transition:none; }
  }
  .mort-out { margin-top:var(--s5); padding:var(--pad-tier);
    box-shadow:var(--shadow-sm);
    background:var(--surface-plate); border-radius:var(--r-card); }
  .mort-out-main { min-width:0; }
  .mort-out-main span { display:block; font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft);
    margin-bottom:var(--s1); }
  .mort-say { position:absolute; width:1px; height:1px; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:-1px; }
  .mort-split { margin-top:var(--s4); }
  .mort-split .mc-ring { width:clamp(132px, 34cqi, 168px); }
  .mort-split .mc-ring-mid b { font-size:var(--fz-xl); line-height:var(--lh-xl); }
  @container (max-width: 420px){
    .mort-split .mc-ring-mid b { font-size:var(--fz-lg); line-height:var(--lh-lg); }
    .mort-out .mc-line--sum .mc-line-v{ font-size:var(--fz-lg); line-height:var(--lh-lg); }
  }
  .mort-legal { margin:var(--s3) 0 0; font-size:var(--fz-sm); color:var(--ink-soft);
    line-height:1.6; }
  .mort-legal-a { border:0; padding:2px 0; background:none; cursor:pointer;
    font:inherit; color:var(--accent); text-decoration:underline;
    text-underline-offset:2px; }
  .mort-legal-a:hover { text-decoration-thickness:2px; }
  .mort-legal-a:focus-visible { outline:2px solid var(--accent); outline-offset:2px;
    border-radius:var(--r-sm); }
  .desc-body { color:var(--ink); font-size:var(--fz-base); line-height:var(--lh-read); max-width:57ch;
    white-space:pre-line; }
  .desc-note { margin-top:var(--s4); padding:10px var(--s3); border-left:2px solid var(--accent);
    background:var(--accent-soft); font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft); }
  .objbar { display:none; }
  @media (max-width:1024px){
    .objbar { display:flex; align-items:center; gap:var(--s3); position:fixed;
      left:0; right:0; bottom:0; z-index:90;
      padding:10px var(--s4) calc(10px + env(safe-area-inset-bottom));
      background:var(--surface); border-top:1px solid var(--line); box-shadow:var(--shadow-lg); }
    .objbar .ob-price { flex:1; min-width:0; font-size:var(--fz-lg); line-height:var(--lh-lg); font-weight:var(--fw-semi);
      font-variant-numeric:tabular-nums; white-space:nowrap;
      overflow:hidden; text-overflow:ellipsis; }
    .objbar .btn-primary { flex:none; }
    .objpage { padding-bottom:96px; }
  }
  .lb { position:fixed; inset:0; z-index:300; background:var(--surface); display:none; }
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .lb { background:color-mix(in srgb, var(--surface) 92%, transparent);
      -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
  }
  .lb.on { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
  .lb-top { display:flex; align-items:center; justify-content:space-between; gap:var(--s4);
    padding:var(--s4) var(--s5); color:var(--ink); font-size:var(--fz-base); line-height:var(--lh-base); }
  .lb-top .lb-ttl { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .lb-top .lb-num { font-variant-numeric:tabular-nums; color:var(--ink-soft); flex:none; }
  .lb-stage { position:relative; display:flex; align-items:center; justify-content:center;
    padding:0 var(--s5); min-height:0; }
  .lb-stage canvas { max-width:100%; max-height:100%; display:none; border-radius:var(--r-sm);
    box-shadow:0 0 0 1px var(--divider), var(--shadow-lg); }
  .lb-stage canvas.on { display:block; }
  .lb-btn { border:0; background:rgb(16 24 40 / .06); color:var(--ink); cursor:pointer;
    width:46px; height:46px; border-radius:var(--r-pill); flex:none;
    display:inline-flex; align-items:center; justify-content:center; transition:background var(--dur-fast); }
  .lb-btn:hover { background:rgb(16 24 40 / .12); }
  .lb-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .lb-arrow { position:absolute; top:50%; margin-top:-23px; z-index:2; }
  .lb-arrow.prev { left:var(--s4); } .lb-arrow.next { right:var(--s4); }
  .lb-foot { display:flex; gap:8px; justify-content:center; padding:var(--s4);
    overflow-x:auto; }
  .lb-foot button { width:74px; aspect-ratio:4/3; flex:none; border:0; padding:0; cursor:pointer;
    border-radius:4px; overflow:hidden; position:relative; opacity:.75; background:var(--surface-alt);
    transition:opacity var(--dur-fast), box-shadow var(--dur-fast); }
  .lb-foot button:hover { opacity:1; }
  .lb-foot button[aria-current="true"] { opacity:1; box-shadow:0 0 0 2px var(--accent); }
  .lb-foot button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .lb-foot canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .cbx { position:relative; }
  .cbx-btn { width:100%; height:38px; display:flex; align-items:center; gap:8px;
    padding:0 10px; border:1px solid var(--line-strong); border-radius:var(--r-ctl);
    background:var(--surface); color:var(--ink); font:inherit; font-size:var(--fz-base); line-height:var(--lh-base);
    cursor:pointer; text-align:left; transition:border-color var(--dur-fast); }
  .cbx-btn:hover:not([disabled]) { border-color:var(--accent); }
  .cbx-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  .cbx-btn[disabled] { opacity:.45; cursor:not-allowed; }
  .cbx-val { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cbx-btn.is-empty .cbx-val { color:var(--ink-soft); }
  .cbx-chev { flex:none; transition:transform var(--dur-fast); color:var(--ink-faint); }
  .cbx[data-open="true"] .cbx-chev { transform:rotate(180deg); }
  @media (prefers-reduced-motion:reduce){ .cbx-chev{ transition:none; } }
  .cbx-pop { position:fixed; z-index:1000;
    display:flex; flex-direction:column; max-height:min(360px,60vh); overflow:hidden;
    background:var(--surface); border:0;
    border-radius:var(--r-pop); box-shadow:var(--shadow-pop); }
  .cbx-pop { opacity:0; transform:translateY(-4px);
    transform-origin:top center; pointer-events:none;
    transition:opacity var(--dur-pop) cubic-bezier(.16,1,.3,1),
               transform var(--dur-pop) cubic-bezier(.16,1,.3,1); }
  .cbx-pop[data-side="top"] { transform:translateY(4px);
    transform-origin:bottom center; }
  .cbx-pop.is-open { opacity:1; transform:none; pointer-events:auto; }
  .cbx-pop:not(.cbx-pop--custom) { border-radius:var(--r-pop-list); }
  .cbx-pop.cbx-pop--nav { border:1px solid var(--line-strong);
    border-radius:var(--r-card); box-shadow:var(--shadow-lg); }
  .locmenu { opacity:0; transform:translateY(-4px);
    transform-origin:top center; pointer-events:none;
    transition:opacity var(--dur-pop) cubic-bezier(.16,1,.3,1),
               transform var(--dur-pop) cubic-bezier(.16,1,.3,1); }
  .locmenu.is-open { opacity:1; transform:none; pointer-events:auto; }
  @media (prefers-reduced-motion:reduce){
    .cbx-pop, .locmenu { transition:none; }
  }
  .cbx-search { flex:none; padding:8px; border-bottom:1px solid var(--line); }
  .cbx-search input { width:100%; height:38px; padding:0 12px; font:inherit; font-size:var(--fz-base); line-height:var(--lh-base);
    border:1px solid var(--line); border-radius:var(--r-ctl);
    background:var(--surface); color:var(--ink);
    transition:border-color var(--dur-fast); }
  .cbx-search input:hover { border-color:var(--line-strong); }
  .cbx-search input:focus { outline:none; border-color:var(--accent); }
  @media (prefers-reduced-motion:reduce){ .cbx-search input{ transition:none; } }
  .cbx-list { flex:1; min-height:0; overflow-y:auto; margin:0; padding:4px; list-style:none; }
  .cbx-opt { display:flex; align-items:center; gap:var(--s3); padding:var(--s3) var(--s4);
    min-height:44px; border-radius:var(--r-ctl); font-size:var(--fz-base); line-height:var(--lh-base); cursor:pointer; }
  .cbx-t { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cbx-n { flex:none; font-size:var(--fz-xs); line-height:var(--lh-xs); color:var(--ink-soft); font-variant-numeric:tabular-nums; }
  .cbx-opt[data-hl="true"],
  .cbx-opt:not([aria-disabled="true"]):hover { background:var(--accent-soft); }
  .cbx-opt[aria-disabled="true"] { opacity:.4; cursor:not-allowed; }
  .cbx-check { flex:none; width:14px; color:var(--accent); visibility:hidden; }
  .cbx-opt[aria-selected="true"] .cbx-check { visibility:visible; }
  .cbx-box { width:20px; height:20px; flex:none; margin:0;
             accent-color:var(--accent); pointer-events:none; }
  .cbx-opt .cbx-t { font-weight:var(--fw-normal); color:var(--ink); }
  .cbx-pop--nav .cbx-opt .cbx-t { color:var(--brand); }
  .cbx-opt[aria-selected="true"] .cbx-t { color:var(--accent); }
  .cbx-empty { padding:var(--s5); text-align:center; font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft); }
  .cbx-pop--compact .cbx-opt { min-height:36px; font-size:var(--fz-sm); line-height:var(--lh-sm);
    padding:var(--s2) var(--s4); }
  .cbx-pop--compact .cbx-opt { padding-right:var(--s4); }
  .cbx-opt { position:relative; padding-right:34px; }
  .cbx-exp { position:absolute; right:4px; top:50%; transform:translateY(-50%);
    width:26px; height:26px; border:0; background:none; cursor:pointer; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    color:var(--ink-faint); border-radius:var(--r-sm); }
  .cbx-exp:hover { background:var(--surface-alt); color:var(--ink); }
  .cbx-exp[aria-expanded="true"] .cbx-chev { transform:rotate(180deg); }
  .cbx-list { padding:var(--s2); }
  .cbx-sub { padding-left:48px; }
  .geo2 { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
  @media (max-width:640px){ .geo2{ grid-template-columns:1fr; } }
  .sbcell > div { flex:1; min-width:0; }
  .sbcell:has(.cbx-btn) { padding:0; }
  .sbcell .cbx-btn { border:0; padding:0 18px; background:none; font-size:var(--fz-base); line-height:var(--lh-base);
                     width:100%; height:100%; }
  .sbcell .cbx-btn:hover:not([disabled]) { border-color:transparent; }
  .cbx-col { flex:1; min-width:0; display:flex; flex-direction:column;
             align-items:flex-start; justify-content:center; gap:var(--s1); }
  .cbx-cap { font-size:var(--fz-xs); font-weight:var(--fw-medium);
             color:var(--ink-soft); letter-spacing:.02em; line-height:1.2;
             white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .cbx-col .cbx-val { width:100%; line-height:1.25;
    min-height:var(--sb-ctl); display:flex; align-items:center; }
  .cbx-btn.is-empty .cbx-col .cbx-val { color:var(--ink-soft); }
  .hp-holder { display:flex; flex-direction:column; gap:var(--s4);
    padding:var(--s4); min-width:0; }
  .hp-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--s3); }
  .hp-f { display:flex; align-items:center; gap:var(--s2); min-width:0;
    height:40px; padding:0 var(--s3); border:1px solid var(--line);
    border-radius:var(--r); background:var(--ground);
    transition:border-color var(--dur-fast), background var(--dur-fast); }
  .hp-f:hover { border-color:var(--line-strong); }
  .hp-f:focus-within { border-color:var(--accent); background:var(--surface); }
  .hp-f input { flex:1; width:100%; min-width:0; height:100%; padding:0;
    border:0; background:none; color:var(--ink); font:inherit;
    font-size:var(--fz-base); line-height:var(--lh-base); font-variant-numeric:tabular-nums; }
  .hp-f input:focus { outline:none; }
  .hp-cur { flex:none; color:var(--ink-soft); font-size:var(--fz-base); line-height:var(--lh-base); }
  .hp-holder .fslider { margin:0; }
  @media (prefers-reduced-motion:reduce){ .hp-f{ transition:none; } }
  input[type=number]::-webkit-outer-spin-button,
  input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
  input[type=number] { -moz-appearance:textfield; appearance:textfield; }

  [hidden] { display:none !important; }

  
  :root{
  }
  #viewMortgage{ container-type:inline-size; container-name:mc; }
  :where(#viewMortgage) :where(p, figure, h1, h2, h3, dl, dd, ul, ol, blockquote){
    margin:0; padding:0; }

  .mc-ch{ margin-top:var(--s5); }
  .mc-ch-head{ display:flex; align-items:center; justify-content:space-between;
    gap:var(--s3); flex-wrap:wrap; margin:0 0 var(--s3); }
  .mc-ch-head > h2{ margin-bottom:0; }
  .mc-ch-head .mc-seg2 > button{ min-width:44px; height:44px; }
  #viewMortgage .pg-head{ padding:var(--s5) 0; }
  #viewMortgage .pg-head-in{ gap:var(--s5); align-items:center; }
  #viewMortgage .mc-ch--faq{ background:none; border:0; border-radius:0;
    padding:var(--s7) var(--pad-tier) 0; border-top:2px solid var(--line-strong);
    margin-top:var(--s7); }
  #viewMortgage .mc-ch--faq > h2{ margin:0 0 var(--s3);
    font-size:var(--fz-xl); line-height:var(--lh-xl);
    font-weight:var(--fw-semi); letter-spacing:-.012em; }
  .mc-sub{ color:var(--ink-soft); font-size:var(--fz-sm); line-height:var(--lh-sm);
    margin:calc(var(--s3) * -1) 0 var(--s5); max-width:78ch; }
  .mc-eyebrow{ display:block; margin:var(--s5) 0 0; padding-top:var(--s3);
    border-top:1px solid var(--line);
    font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-semi); color:var(--ink); }
  .mc-note{ font-size:var(--fz-sm); line-height:var(--lh-sm); color:var(--ink-soft);
    max-width:56ch; margin-top:var(--s3); }
  .mc-work{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
    gap:var(--s6) var(--s7); align-items:start; }
  .mc-work > .mc-in{ grid-column:1; grid-row:1; }
  .mc-in{ display:grid; grid-template-columns:minmax(0,1fr);
    gap:var(--s5); min-width:0; align-content:start; }
  .mc-in > .mc-msg{ grid-column:1 / -1; }
  .mc-line{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--s2h);
    padding:var(--s2h) 0; min-width:0; }
  .mc-line-k{ font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--ink-soft); min-width:auto; flex:0 1 auto; }
  .mc-dot{ flex:1 1 auto; min-width:var(--s4); height:2px; align-self:center;
    background-image:radial-gradient(circle, var(--line-strong) 1px, transparent 1px);
    background-size:5px 2px; background-repeat:repeat-x;
    background-position:center bottom; }
  .mc-line-v{ flex:none; font-size:var(--fz-base); line-height:var(--lh-base);
    font-weight:var(--fw-medium); color:var(--ink); white-space:nowrap;
    font-variant-numeric:tabular-nums; }
  .mc-line-v small{ font-size:var(--fz-sm); line-height:var(--lh-sm); }
  .mc-line--mine .mc-line-v{ color:var(--accent); }
  .mc-line--sum{ border-top:1px solid var(--ink-soft); margin-top:var(--s2);
    padding-top:var(--s3); }
  .mc-line--sum .mc-line-k{ color:var(--ink); font-weight:var(--fw-medium); }
  .mc-line--sum .mc-line-v{ font-size:var(--fz-xl); line-height:var(--lh-xl); }
  .mc-line-op{ flex:none; width:1.1em; text-align:center; color:var(--ink-soft);
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-semi);
    font-variant-numeric:tabular-nums; }
  .mc-tn{ display:block; font-size:var(--fz-xs); line-height:1.45;
    color:var(--ink-soft); margin:calc(var(--s1) * -1) 0 var(--s4); }
  .mc-two{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--s6); align-items:stretch; }
  .mc-plot{ position:relative; margin-top:var(--s4); }
  .mc-plot svg{ display:block; width:100%; height:auto; }
  .mc-grid line{ stroke:var(--line); stroke-width:1; shape-rendering:crispEdges; }
  .mc-axis line{ stroke:var(--line-strong); stroke-width:1; shape-rendering:crispEdges; }
  .mc-tick:not(.mc-tick--5){ display:none; }
  .mc-tick line{ stroke:var(--line-strong); stroke-width:1; shape-rendering:crispEdges; }
  .mc-tick--5 line{ stroke:var(--ink-soft); }
  .mc-ax{ fill:var(--ink-soft); font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-variant-numeric:tabular-nums; }
  .mc-ax--y{ text-anchor:end; }
  .mc-ax.mc-ax--in{ text-anchor:start; }
  .mc-ax--x{ text-anchor:middle; }
  .mc-cross line{ stroke:var(--mcd-1); stroke-width:1; }
  .mc-cross text{ fill:var(--ink-quiet); font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-weight:var(--fw-semi); }
  .mc-cursor{ stroke:var(--ink); stroke-opacity:.16; stroke-width:1; }
  .mc-hit{ fill:transparent; }
  .mc-lead{ font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-weight:var(--fw-semi); }
  .mc-pt{ stroke:var(--surface); stroke-width:2; }
  .mc-pt--mine{ fill:var(--mcd-1); }
  .mc-pt--bank{ fill:var(--mcd-2); }
  .mc-pt--cross{ fill:var(--surface); stroke:var(--mcd-1); stroke-width:2.5; }
  .mc-lead--mine{ fill:var(--ink-quiet); }
  .mc-lead--bank{ fill:var(--ink-quiet); }

  .mc-tip{ position:absolute; z-index:3; pointer-events:none; min-width:10rem;
    background:var(--surface); border:0; border-radius:var(--r-ctl);
    box-shadow:var(--shadow-lg);
    padding:var(--s2) var(--s2h); font-size:var(--fz-xs); line-height:1.5;
    opacity:0; transition:opacity var(--dur-fast); }
  .mc-tip.is-on{ opacity:1; }
  .mc-tip b{ display:block; color:var(--ink); font-weight:var(--fw-semi);
    margin-bottom:var(--s1); }
  .mc-tip-r{ display:flex; align-items:baseline; gap:var(--s3);
    color:var(--ink-soft); white-space:nowrap; }
  .mc-tip-r em{ font-style:normal; margin-left:auto; color:var(--ink);
    font-weight:var(--fw-medium); font-variant-numeric:tabular-nums; }
  .mc-r3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s4); }
  .mc-r2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s5); }
  .mc-fld{ display:flex; flex-direction:column; gap:var(--s2); min-width:0; }
  .mc-fld > label{ font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-medium); color:var(--ink-soft); display:flex;
    justify-content:space-between; align-items:baseline; gap:var(--s1h) var(--s2);
    flex-wrap:wrap; }
  .mc-fld{ gap:var(--s2h); }
  .mc-fld > label > span{ min-width:0; }
  .mc-fld em{ font-style:normal; color:var(--ink-soft); font-size:var(--fz-xs);
    line-height:var(--lh-xs); font-weight:var(--fw-normal); white-space:nowrap;
    font-variant-numeric:tabular-nums; }
  .mc-inp{ display:flex; align-items:center; gap:var(--s2); height:46px;
    padding:0 var(--s2h); border-radius:var(--r-ctl); background:var(--surface);
    border:1px solid var(--line);
    transition:border-color var(--dur-fast), box-shadow var(--dur-fast); }
  .mc-inp:hover{ border-color:var(--line-strong); }
  .mc-inp:focus-within{ border-color:var(--accent);
    box-shadow:0 0 0 3px var(--accent-soft); }
  .mc-inp input{ border:0; outline:0; background:none; width:100%; min-width:0;
    font:inherit; font-size:var(--fz-base); line-height:var(--lh-base);
    font-weight:var(--fw-medium); color:var(--ink);
    font-variant-numeric:tabular-nums; }
  .mc-inp span{ flex:none; color:var(--ink-soft); font-size:var(--fz-sm);
    line-height:var(--lh-sm); }
  .mc-range{ -webkit-appearance:none; appearance:none; width:100%;
    height:var(--tap-min); background:none; margin:-4px 0 -8px; }
  .mc-range::-webkit-slider-runnable-track{ height:2px;
    border-radius:var(--r-pill);
    background:linear-gradient(to right, var(--accent) var(--fill,40%),
    var(--line-strong) var(--fill,40%)); }
  .mc-range::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none;
    width:12px; height:12px; border-radius:50%; background:var(--accent);
    border:2px solid var(--surface); margin-top:-5px;
    cursor:pointer; transition:transform var(--dur-fast); }
  .mc-range:hover::-webkit-slider-thumb,
  .mc-range:active::-webkit-slider-thumb{ transform:scale(1.18); }
  .mc-range:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
  .mc-range::-moz-range-track{ height:2px; background:var(--line-strong);
    border-radius:var(--r-pill); }
  .mc-range::-moz-range-thumb{ width:12px; height:12px; border-radius:50%;
    background:var(--accent); border:2px solid var(--surface); cursor:pointer; }
  @media (prefers-reduced-motion:reduce){
    .mc-range::-webkit-slider-thumb{ transition:none; }
  }
  .mc-seg2{ display:flex; align-items:center; flex:none; gap:2px;
    padding:2px; background:rgba(255,255,255,.72);
    border:1px solid var(--line); border-radius:var(--r-ctl); }
  .mc-seg2 > button{ min-width:38px; height:30px; padding:0 var(--s2h);
    border:0; border-radius:calc(var(--r-ctl) - 2px); background:none;
    color:var(--ink-soft); font:inherit; font-size:var(--fz-sm);
    line-height:var(--lh-sm); font-weight:var(--fw-medium); cursor:pointer;
    transition:background var(--dur-fast), color var(--dur-fast); }
  .mc-seg2 > button:hover{ background:var(--surface); color:var(--ink); }
  .mc-seg2 > button[aria-pressed="true"]{ background:var(--accent); color:var(--surface); }
  .mc-seg2 > button:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  @media (prefers-reduced-motion:reduce){ .mc-seg2 > button{ transition:none; } }

  .mc-seg{ display:inline-flex; background:var(--surface); border-radius:var(--r-ctl);
    padding:3px; gap:2px; box-shadow:var(--ring-line); flex-wrap:wrap; }
  .mc-seg button{ border:0; background:none; border-radius:var(--r-sm);
    min-width:38px; min-height:34px; padding:0 var(--s2h); font:inherit;
    font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-medium);
    color:var(--ink-soft); cursor:pointer;
    transition:background var(--dur-fast), color var(--dur-fast); }
  .mc-seg button:hover{ color:var(--ink); }
  .mc-seg button[aria-pressed="true"]{ background:var(--accent-soft); color:var(--accent); }
  .mc-disc{ border-top:1px solid var(--line); margin-bottom:0; }
  .mc-disc:last-of-type{ border-bottom:1px solid var(--line); }
  .mc-disc-btn{ width:100%; display:flex; align-items:center; gap:var(--s3);
    padding:var(--s4) 0; border:0; background:none; text-align:left;
    color:var(--ink-quiet); font:inherit; cursor:pointer;
    transition:color var(--dur-fast); }
  .mc-disc-btn:hover .mc-disc-t b{ color:var(--accent); }
  .mc-disc-btn:focus-visible{ outline:2px solid var(--accent); outline-offset:-2px; }
  .mc-disc-t{ flex:1 1 auto; min-width:0; }
  .mc-disc-t b{ display:block; font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-semi); color:var(--ink-quiet); }
  .mc-disc-t span{ display:block; font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--ink-soft); margin-top:1px; }
  .mc-disc-v{ flex:none; font-size:var(--fz-base); line-height:var(--lh-base);
    font-weight:var(--fw-medium); font-variant-numeric:tabular-nums;
    text-align:right; white-space:nowrap; color:var(--accent); }
  .mc-disc-v small{ display:block; font-size:var(--fz-xs); line-height:var(--lh-xs);
    font-weight:var(--fw-normal); color:var(--ink-soft); }
  .mc-chev{ flex:none; color:var(--ink-faint);
    transition:transform var(--dur-base) cubic-bezier(.2,.8,.2,1); }
  .mc-disc-btn[aria-expanded="true"] .mc-chev{ transform:rotate(180deg); }
  .mc-disc-body{ padding:0 0 var(--s5);
    animation:mcReveal var(--dur-base) cubic-bezier(.2,.8,.2,1); }
  @keyframes mcReveal{ from{ opacity:0; transform:translateY(-6px); }
                       to{ opacity:1; transform:none; } }

  .mc-chk{ display:flex; gap:var(--s3); align-items:flex-start; padding:var(--s3);
    border-radius:var(--r-ctl); box-shadow:0 0 0 1px var(--line) inset;
    cursor:pointer; transition:box-shadow var(--dur-fast), background var(--dur-fast); }
  .mc-chk:hover{ box-shadow:var(--ring-line); }
  .mc-chk[data-on="true"]{ box-shadow:0 0 0 1px var(--accent) inset;
    background:var(--accent-soft); }
  .mc-box{ flex:none; width:20px; height:20px; border-radius:var(--r-sm);
    margin-top:1px; background:var(--surface); color:#fff; display:grid;
    place-items:center; box-shadow:0 0 0 1.5px var(--line-strong) inset;
    transition:background var(--dur-fast), box-shadow var(--dur-fast); }
  .mc-chk[data-on="true"] .mc-box{ background:var(--accent); box-shadow:none; }
  .mc-box svg{ opacity:0; transform:scale(.6);
    transition:opacity var(--dur-fast), transform var(--dur-fast); }
  .mc-chk[data-on="true"] .mc-box svg{ opacity:1; transform:none; }
  .mc-ct{ display:block; font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-medium); }
  .mc-cd{ display:block; font-size:var(--fz-xs); line-height:var(--lh-xs); color:var(--ink-soft); margin-top:2px; }
  .mc-cv{ font-size:var(--fz-sm); line-height:var(--lh-sm); font-weight:var(--fw-medium);
    color:var(--ink); white-space:nowrap; font-variant-numeric:tabular-nums; }
  .mc-tbl{ overflow:auto; max-height:24rem; margin-top:var(--s4); }
  .mc-tbl thead th{ position:sticky; top:0; background:var(--surface); }
  .mc-tbl table{ border-collapse:collapse; width:100%; font-size:var(--fz-sm);
    line-height:var(--lh-sm); font-variant-numeric:tabular-nums; }
  .mc-tbl th,.mc-tbl td{ text-align:right; padding:var(--s2h) var(--s3); white-space:nowrap; }
  .mc-tbl th{ font-weight:var(--fw-medium); color:var(--ink-soft);
    font-size:var(--fz-xs); line-height:var(--lh-xs);
    border-bottom:1px solid var(--ink); }
  .mc-tbl td{ border-bottom:1px solid var(--line); }
  .mc-tbl th:first-child,.mc-tbl td:first-child{ text-align:left; }
  .mc-tbl tbody tr:hover td{ background:var(--ground); }
  .mc-mini{ height:4px; background:var(--line); display:flex; min-width:76px; }
  .mc-mini > i{ display:block; height:100%; background:var(--accent); }

  .mc-msg{ display:flex; gap:var(--s3); padding:var(--s4) 0 0;
    font-size:var(--fz-sm); color:var(--ink-soft); line-height:1.55;
    border-top:1px solid var(--line); }
  .mc-msg > svg{ flex:none; color:var(--ink-faint); margin-top:2px; }
  .mc-msg b{ color:var(--ink); font-weight:var(--fw-semi); }
  .mc-msg--warn{ border-top-color:var(--ink); }
  .mc-msg--warn > svg{ color:var(--ink); }

  .mc-refund{ font-size:var(--fz-2xl); font-weight:var(--fw-semi); color:var(--ink);
    font-variant-numeric:tabular-nums; line-height:var(--lh-2xl); white-space:nowrap; }
  .mc-tl{ display:block; font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-normal); color:var(--ink-soft); }
  .mc-qa{ columns:1; }
  .mc-qa-i{ border-bottom:1px solid var(--line); }
  .mc-qa-q{ width:100%; display:flex; align-items:flex-start; gap:var(--s4);
    padding:var(--s4) 0; border:0; background:none;
    text-align:left; font:inherit;
    font-size:var(--fz-base); line-height:var(--lh-base); font-weight:var(--fw-medium);
    color:var(--ink); cursor:pointer; transition:color var(--dur-fast); }
  .mc-qa-q:hover{ color:var(--accent); }
  .mc-qa-q:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  .mc-qa-q > span{ flex:1; min-width:0; }
  .mc-qa-q > svg{ flex:none; color:var(--ink-faint); margin-top:3px;
    transition:transform var(--dur-base) cubic-bezier(.2,.8,.2,1); }
  .mc-qa-q[aria-expanded="true"] > svg{ transform:rotate(180deg); color:var(--accent); }
  .mc-qa-a{ padding:0 0 var(--s5); font-size:var(--fz-sm); color:var(--ink-soft);
    line-height:1.65; animation:mcReveal var(--dur-base) cubic-bezier(.2,.8,.2,1); }
  .mc-src{ display:inline-block; margin-top:var(--s3); font-size:var(--fz-xs);
    line-height:var(--lh-xs); border-left:2px solid var(--line-strong);
    padding-left:var(--s2h); color:var(--ink-soft); }

  .mc-foot{ margin:var(--s7) 0 var(--s8); color:var(--ink-soft);
    font-size:var(--fz-xs); line-height:1.65; max-width:104ch; }
  .mc-foot b{ color:var(--ink); }
  
  :root{
    --mcd-1:var(--accent);
    --mcd-2:#0084D1;
    --mcd-3:#7F22FE;
    --mcd-ring:14;
  }
  .mc-work{ align-items:stretch; }
  .mc-work > .mc-panel{ grid-column:2; grid-row:1; }
  .mc-work > .mc-in{ grid-column:1; grid-row:1;
    grid-template-rows:auto auto 1fr; align-content:stretch; }
  .mc-work > .mc-in > .mc-msg{ align-self:end; }
  .mc-panel{ display:flex; flex-direction:column; min-width:0;
    justify-content:space-between; gap:var(--s5);
    background:var(--surface-plate); border-radius:var(--r-card);
    box-shadow:var(--shadow-sm); padding:var(--pad-tier); }
  .mc-panel-h{ display:flex; align-items:center; justify-content:space-between;
    gap:var(--s3); flex-wrap:wrap; }
  .mc-panel-t{ font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-medium); color:var(--ink-soft); }
  .mc-ringrow{ display:flex; align-items:center; gap:var(--s6);
    flex-wrap:wrap; }
  .mc-ring{ position:relative; flex:none;
    width:clamp(160px, 15cqi, 208px); aspect-ratio:1; height:auto; }
  .mc-ring svg{ display:block; width:100%; height:100%;
    transform:rotate(-90deg); overflow:visible; }
  .mc-ring circle{ fill:none; stroke-width:var(--mcd-ring);
    transition:stroke-dasharray var(--dur-slow, .55s) cubic-bezier(.2,.8,.2,1),
               stroke-dashoffset var(--dur-slow, .55s) cubic-bezier(.2,.8,.2,1),
               stroke-width var(--dur-fast), opacity var(--dur-fast); }
  .mc-ring .mc-arc--track{ stroke:var(--line); stroke-width:calc(var(--mcd-ring) * 1px); }
  .mc-ring .mc-arc{ stroke-width:calc(var(--mcd-ring) * 1px); cursor:default; }
  .mc-ring .mc-arc--1{ stroke:var(--mcd-1); }
  .mc-ring .mc-arc--2{ stroke:var(--mcd-2); }
  .mc-ring .mc-arc--3{ stroke:var(--mcd-3); }
  .mc-ringrow[data-hot="1"] .mc-arc:not(.mc-arc--1),
  .mc-ringrow[data-hot="2"] .mc-arc:not(.mc-arc--2),
  .mc-ringrow[data-hot="3"] .mc-arc:not(.mc-arc--3){ opacity:.28; }
  .mc-ringrow[data-hot="1"] .mc-arc--1,
  .mc-ringrow[data-hot="2"] .mc-arc--2,
  .mc-ringrow[data-hot="3"] .mc-arc--3{ stroke-width:calc((var(--mcd-ring) + 4) * 1px); }
  .mc-ring-mid{ position:absolute; inset:0; display:grid; place-content:center;
    text-align:center; gap:2px; pointer-events:none; }
  .mc-ring-mid b{ font-size:var(--fz-2xl); line-height:var(--lh-2xl);
    font-weight:var(--fw-semi); color:var(--accent);
    font-variant-numeric:tabular-nums; letter-spacing:var(--tracking-tight); }
  .mc-ring-mid span{ font-size:var(--fz-xs); line-height:var(--lh-xs);
    color:var(--ink-soft); max-width:112px; margin:0 auto; }
  @container mc (max-width: 1080px){
    .mc-ring-mid b{ font-size:var(--fz-xl); line-height:var(--lh-xl); }
  }
  @container mc (max-width: 520px){
    .mc-ring-mid b{ font-size:var(--fz-lg); line-height:var(--lh-lg); }
  }
  .mc-lg{ flex:1 1 220px; min-width:0; display:grid; gap:var(--s1h); }
  .mc-lg-i{ display:flex; align-items:baseline; gap:var(--s2h); min-width:0;
    flex-wrap:wrap;
    padding:var(--s1h) var(--s2); margin:0 calc(var(--s2) * -1);
    border-radius:var(--r-sm); cursor:default;
    transition:background var(--dur-fast); }
  .mc-lg-i:hover{ background:var(--surface-alt); }
  .mc-lg-d{ flex:none; width:10px; height:10px; border-radius:3px;
    align-self:center; }
  .mc-lg-i--1 .mc-lg-d{ background:var(--mcd-1); }
  .mc-lg-i--2 .mc-lg-d{ background:var(--mcd-2); }
  .mc-lg-i--3 .mc-lg-d{ background:var(--mcd-3); }
  .mc-lg-k{ flex:1 1 auto; min-width:auto; font-size:var(--fz-sm);
    line-height:var(--lh-sm); color:var(--ink-soft);
    overflow-wrap:break-word; }
  .mc-lg-v{ flex:none; font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-normal); color:var(--ink);
    font-variant-numeric:tabular-nums; white-space:nowrap; }
  .mc-lg-p{ flex:none; width:4.2em; text-align:right; font-size:var(--fz-xs);
    line-height:var(--lh-xs); color:var(--ink-soft);
    font-variant-numeric:tabular-nums; }
  .mc-panel-f{ padding-top:var(--s4);
    border-top:1px solid var(--line-strong); display:grid; gap:var(--s1h); }
  .mc-card{ display:flex; flex-direction:column; min-width:0; }
  .mc-two > .mc-card + .mc-card{ border-left:1px solid var(--line);
    padding-left:var(--s6); }
  @container mc (max-width: 1080px){
    .mc-two > .mc-card + .mc-card{ border-left:0; padding-left:0;
      border-top:1px solid var(--line); padding-top:var(--s5); }
  }
  .mc-card-h{ display:flex; align-items:baseline; justify-content:space-between;
    gap:var(--s3); flex-wrap:wrap; }
  .mc-card-t{ font-size:var(--fz-sm); line-height:var(--lh-sm);
    font-weight:var(--fw-medium); color:var(--ink-soft); }
  .mc-hero{ display:flex; flex-direction:column; align-items:flex-start;
    gap:2px; padding:var(--s2) 0 var(--s4); }
  .mc-hero b{ font-size:var(--fz-2xl); line-height:var(--lh-2xl);
    font-weight:var(--fw-semi); letter-spacing:var(--tracking-tight);
    color:var(--ink); font-variant-numeric:tabular-nums; }
  .mc-hero small{ font-size:var(--fz-sm); line-height:var(--lh-sm);
    color:var(--ink-soft); max-width:42ch; }
  .mc-bar{ display:flex; gap:2px; height:14px; width:100%;
    background:var(--line); border-radius:4px; overflow:hidden; }
  .mc-bar{ height:18px; }
  .mc-bar > i{ display:block; height:100%; min-width:0; cursor:default;
    transition:flex var(--dur-slow, .55s) cubic-bezier(.2,.8,.2,1),
               opacity var(--dur-fast); }
  .mc-bar > i:first-child{ border-radius:4px 0 0 4px; }
  .mc-bar > i:last-child{ border-radius:0 4px 4px 0; }
  .mc-bar > i.s1{ background:var(--mcd-1); }
  .mc-bar > i.s2{ background:var(--mcd-2); }
  .mc-bar > i.s3{ background:var(--mcd-3); }
  .mc-card[data-hot="1"] .mc-bar > i:not(.s1),
  .mc-card[data-hot="2"] .mc-bar > i:not(.s2),
  .mc-card[data-hot="3"] .mc-bar > i:not(.s3){ opacity:.28; }
  .mc-card .mc-lg{ margin-top:var(--s4); flex:none; }
  .mc-card-f{ margin-top:auto; padding-top:var(--s4); font-size:var(--fz-xs);
    line-height:1.5; color:var(--ink-soft); }
  .mc-card-f b{ color:var(--ink); font-weight:var(--fw-semi); }
  .mc-st--mine{ stop-color:var(--mcd-1); }
  .mc-st--bank{ stop-color:var(--mcd-2); }
  .mc-st--top{ stop-opacity:.20; }
  .mc-st--bot{ stop-opacity:0; }
  .mc-plot{ margin-top:var(--s5); }
  .mc-fill--mine{ fill:url(#mcGrMine); }
  .mc-fill--bank{ fill:url(#mcGrBank); }
  .mc-line--mine-s{ stroke:var(--mcd-1); }
  .mc-line--bank-s{ stroke:var(--mcd-2); }

  @container mc (max-width: 1080px){
    .mc-work > .mc-panel, .mc-work > .mc-in{ grid-column:1; grid-row:auto; }
  }
  @container mc (max-width: 520px){
    .mc-ringrow{ gap:var(--s4); }
    .mc-ring{ width:136px; height:136px; }
  }
  @media (prefers-reduced-motion:reduce){
    .mc-ring circle, .mc-bar > i, .mc-disc, .mc-qa-i{ transition:none; }
  }

  .pill-btn--ico{ width:40px; padding:0; justify-content:center; }
  .pill-btn--ico[aria-current="page"]{ background:var(--ground); color:var(--accent); }

  @container mc (max-width: 1080px){
    .mc-work{ grid-template-columns:minmax(0,1fr); gap:var(--s5); }
    .mc-work > .mc-in{ grid-column:1; grid-row:auto; }
    .mc-two{ grid-template-columns:minmax(0,1fr); }
  }
  @container mc (max-width: 760px){
    .mc-r3,.mc-r2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mc-qa{ columns:1; }
    .mc-disc-t{ max-width:none; }
  }
  @container mc (max-width: 520px){
    .mc-in,.mc-r3,.mc-r2{ grid-template-columns:minmax(0,1fr); }
    .mc-disc-btn{ flex-wrap:wrap; }
    .mc-disc-t{ flex:1 1 100%; }
    .mc-disc-v{ flex:1 1 auto; text-align:left; }
  }
  @media (prefers-reduced-motion:reduce){
    #viewMortgage *{ transition:none !important; animation:none !important; }
  }
  
  @media print{
    header.site, footer.site, .fi-social, .rail-arrow, .cbx-pop, .locmenu,
    .drawer-head, .drawer-foot, #mortBtn, .hint-pop, .toast, .wr-pop{ display:none !important; }
    .mc-tbl{ overflow:visible !important; max-height:none !important; }
    .rail, .palb, aside.filters{ overflow:visible !important; }
    html, body{ background:#fff !important; }
    a[href]{ text-decoration:none; color:inherit; }
    @page{ margin:14mm; }
  }



a.logo,
a.navlink,
a.pill-btn,
a.svc-card,
a.dcard,
a.chip,
a.reset,
a.pg-num,
a.pg-arrow,
.rescue a { text-decoration: none; }

.rescue a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3);
  width: 100%;
  text-align: left;
  padding: var(--s3) var(--s4);
  background: var(--ground);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-ctl);
  color: var(--ink);
  font-size: var(--fz-base);
  line-height: var(--lh-base);
}


.sec-head h2 a.sec-go { display: inline-block; }


.pager a,
.pager span.pg-num,
.pager span.pg-arrow {
  min-width: var(--tap-min); min-height: var(--tap-min);
  padding: 0 var(--s3); border: 0; background: none; cursor: pointer;
  color: var(--ink-soft); font: inherit; font-size: var(--fz-sm); line-height: var(--lh-sm);
  font-variant-numeric: tabular-nums; border-top: 2px solid transparent;
  border-radius: 0; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
  transition: color var(--dur-fast), background var(--dur-fast);
}
.pager a:hover:not(.is-cur) { color: var(--ink); background: var(--surface-alt); }
.pager a:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.pager span[aria-disabled="true"] { color: var(--ink-faint); cursor: not-allowed; }
.pager span.pg-arrow[aria-disabled="true"] { color: var(--ink-faint); }
@media (max-width: 640px) {
  .pager a,
  .pager span.pg-num,
  .pager span.pg-arrow { padding: 0 var(--s2); }
}


.crumbs ol a { background:none; border:0; font:inherit; font-size:var(--fz-sm); line-height:var(--lh-sm);
  color:var(--ink-soft); cursor:pointer; padding:var(--s1h) 0; min-height:var(--tap-min);
  display:inline-flex; align-items:center; text-decoration:none;
  border-radius:var(--r-sm); transition:color var(--dur-fast); }
.crumbs ol a:hover { color:var(--ink); }
.crumbs a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }


.mort-legal-a { display:inline-block; }


.mc-seg > button:focus-visible,
.mc-chk:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }


.search-toggle { display: none; }


@media print {
  aside.filters { max-height: none; }
}

@media (max-width: 360px) {
  
  .search { flex: 0 0 auto; min-width: 0; padding: 0; border-color: transparent; background: none; }
  .search .search-ico,
  .search input { display: none; }
  .search-toggle {
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; padding: 0; flex: none;
    border: 0; border-radius: var(--r-ctl);
    background: var(--ground); color: var(--ink-soft); cursor: pointer;
  }
  .search-toggle:hover { background: var(--surface-alt); color: var(--ink); }
  .search-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .search-toggle svg { width: 18px; height: 18px; display: block; }

  
  header.site.is-search-open .contacts,
  header.site.is-search-open .hdr-right { display: none; }
  header.site.is-search-open .search {
    flex: 1 1 auto; min-width: 0; padding: 0 var(--s2);
    background: var(--surface); border-color: var(--accent);
  }
  header.site.is-search-open .search input {
    display: block; flex: 1 1 auto; min-width: 0;
  }
  header.site.is-search-open .search-toggle {
    background: none; margin-left: calc(var(--s2) * -1);
  }
}


.lb-stage { touch-action: pan-y; overscroll-behavior: contain; }


@media (max-width: 1024px) {
  
  .oh-r .oh-price,
  .oh-r .oh-act { display: none; }

  
  .objbar .ob-tel { display: inline-flex; align-items: center; gap: var(--s2); flex: none; }
  .objbar .ob-tel span { display: none; white-space: nowrap; }
  .objbar .ob-price { min-width: 6ch; }
  .objbar .ob-mark {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--line);
    border-radius: var(--r-pill);
    background: var(--surface);
    color: var(--ink);
    cursor: pointer;
    text-decoration: none;
  }
  .objbar .ob-mark:hover { border-color: var(--accent); color: var(--accent); }
  .objbar .ob-mark:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  
  .objbar .ob-mark[data-done="1"] { color: var(--ok-ink); border-color: var(--ok-ink); background: var(--ok-bg); }
}


@media (max-width: 359px) {
  .objbar { gap: var(--s2); padding-left: var(--s3); padding-right: var(--s3); }
}


@media (min-width: 560px) and (max-width: 1024px) {
  .objbar .ob-tel span { display: inline; }
}


.sec-head .more-mark { gap: 0; }

.sec-head .more-mark {
  padding: 0 0 0 var(--s3);
  min-height: 0;
  height: calc(var(--fz-2xl) * var(--lh-2xl));
  align-self: center;
}
.sec-head .more-mark svg {
  width: calc(var(--fz-2xl) * var(--lh-2xl));
  height: calc(var(--fz-2xl) * var(--lh-2xl));
}

.sec-head .more-mark .more-words {
  display: inline-block;
  
  width: 1px;
  overflow: hidden;
  white-space: nowrap;
}


.rail { scrollbar-width: none; }
@supports not (scrollbar-color: auto) {
  .rail::-webkit-scrollbar { display: none; }
}


.segs, .segs i { transition: none; }
aside.filters { transition: top var(--dur-base) ease; }
header.site { transition: transform var(--dur-base) ease; }
@media (prefers-reduced-motion: reduce) {
  aside.filters, header.site { transition: none; }
}


@media (max-width: 1024px) {
  .badge, .ov-id { backdrop-filter: none; -webkit-backdrop-filter: none; }
}


@media (min-width: 1261px) and (max-width: 1400px) {
  .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #viewCatalog .layout .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #viewCatalog .layout[data-filters="off"] .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


.pg-with-map { display: grid; grid-template-columns: minmax(0, 57ch) minmax(0, 1fr); column-gap: var(--s7); align-items: stretch; }
.agency-map { display: flex; min-width: 0; }
.agency-map-frame {
  display: block; flex: 1 1 auto; width: 100%; min-height: 320px;
  border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface-alt);
}
@media (max-width: 1024px) {
  .pg-with-map { grid-template-columns: minmax(0, 1fr); }
  .agency-map { margin-top: var(--s7); }
  .agency-map-frame { flex: none; height: auto; aspect-ratio: 16 / 9; min-height: 260px; }
}
@media print {
  .agency-map { display: none; }
}


.listing-map { scroll-margin-top: var(--s4); }
.listing-map:focus { outline: none; }
.listing-map:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.listing-map-view {
  position: relative; display: block; overflow: hidden; width: 100%; min-width: 0; aspect-ratio: 650 / 360; min-height: 260px;
  margin-top: var(--s5);
  border: 1px solid var(--line); border-radius: var(--r-card); background: var(--surface-alt);
}
.listing-map-view iframe { display: block; width: 100%; height: 100%; border: 0; }
@media print {
  .listing-map { display: none; }
}


.oh-l.has-map { display: grid; grid-template-columns: minmax(0, 1fr) clamp(240px, 30%, 320px); column-gap: 24px; }
.oh-l.has-map > * { grid-column: 1; }
.oh-l.has-map > .oh-map { grid-column: 2; grid-row: 1 / span 4; align-self: stretch; }
.oh-map {
  display: flex; align-items: center; justify-content: center; min-height: 104px; padding: 20px 16px;
  border: 1px solid #EBEAE8; border-radius: 12px; color: #292D32; text-decoration: none;
  background:
    linear-gradient(0deg, rgb(255 255 255 / .12), rgb(255 255 255 / .12)),
    url('/img/map-thumb.svg') center / cover no-repeat,
    #D3D3D3;
}
.oh-map:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.oh-map-btn {
  flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 20px;
  border: 1px solid #EBEAE8; border-radius: 10px; background: #FFFFFF; box-shadow: 0 4px 12px 0 rgb(41 45 50 / .04);
  font-size: var(--fz-base); line-height: var(--lh-base); font-weight: var(--fw-medium); white-space: nowrap;
}
.oh-map-btn svg { flex: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5px; stroke-linejoin: round; }
.oh-map:hover .oh-map-btn { border-color: var(--line-strong); }
@media (max-width: 768px) {
  .oh-l.has-map { grid-template-columns: minmax(0, 1fr); }
  
  .oh-l.has-map > .oh-map { grid-column: 1; grid-row: auto; align-self: start; width: 100%; min-width: 0; height: 96px; min-height: 0; margin-top: var(--s4); }
}
@media print {
  .oh-map { display: none; }
}


.mapframe-doc, .mapframe { height: 100%; margin: 0; background: var(--surface-alt); }
.mapframe-map { position: relative; width: 100%; height: 100%; overflow: hidden; }
.mapframe-canvas { position: absolute; inset: 0; }
.mapframe-zone {
  position: absolute; left: 0; top: 0; width: var(--zone); height: var(--zone); transform: translate(-50%, -50%); pointer-events: none;
  border: 2px solid var(--accent); border-radius: 50%; background: color-mix(in srgb, var(--accent) 20%, transparent);
  animation: mapframe-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
@keyframes mapframe-pulse { 50% { opacity: .5; } }
@media (prefers-reduced-motion: reduce) {
  .mapframe-zone { animation: none; }
}
.mapframe-zoom {
  position: absolute; top: var(--s2); right: var(--s2); z-index: 1; display: flex; flex-direction: column; overflow: hidden;
  border-radius: var(--r-card); background: var(--surface); box-shadow: var(--shadow-sm);
}
.mapframe-map:not([data-state="drawn"]) .mapframe-zoom { display: none; }
.mapframe-zoom button {
  display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0;
  border: 0; background: none; color: var(--ink); cursor: pointer;
}
.mapframe-zoom button + button { border-top: 1px solid var(--line); }
.mapframe-zoom button:hover { background: var(--ground); }
.mapframe-zoom button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.mapframe-zoom svg { width: 20px; height: 20px; fill: currentColor; }


.qa ul.ans { margin: 0; padding: 0 0 var(--s4) var(--s5); display: grid; gap: var(--s2); }
