/* =========================================================
   BLLEY — MARKETPLACE PUBLIC STYLESHEET (UI-001 … UI-004)

   Compiled asset — do not edit directly. Assembled from the locked design
   packages, not an interpretation of them. UI-001 is the shared design system
   and is taken whole. UI-002, UI-003 and UI-004 each restate that system and
   then add their own page components — so each of those three is emitted
   *entire*, with every rule scoped to that page's body class. Scoping the whole
   package rather than only its differences keeps the package's own cascade
   intact, including its responsive overrides, and guarantees no page can
   restyle another.

   A static asset rather than a Vite/Tailwind build, deliberately: the pages
   render without a build step, and Tailwind's preflight cannot reach in and
   restyle a locked surface from underneath. Locked by B-82.

   The packages are immutable, so this file changes only through an issue that
   authorises a change to the locked design.
   ========================================================= */

/* ---------- UI-001 — the shared design system, entire ---------- */

:root{--brand-700:#0F38B8; --brand-600:#1447E6; --brand-500:#2E62FF; --brand-100:#DCE6FF; --brand-50 :#EEF3FF; --navy-900:#071A45; --navy-800:#0B2A6B; --navy-700:#123573; --ink-900:#0A1A33; --ink-800:#16294A; --slate-600:#41506B; --slate-500:#5A6B85; --slate-400:#8A97AC; --line:#E4E9F2; --line-soft:#EEF1F7; --canvas:#F5F7FB; --surface:#FFFFFF; --accent-500:#F2761B; --accent-50:#FFF3E8; --success:#0E9F6E; --success-50:#E7F7F1; --font-ui:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,sans-serif; --font-body:'Inter',system-ui,-apple-system,sans-serif; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px; --e1:0 1px 2px rgba(10,26,51,.05); --e2:0 6px 20px -8px rgba(10,26,51,.14); --e3:0 18px 44px -16px rgba(10,26,51,.22); --e-brand:0 12px 28px -12px rgba(20,71,230,.45); --shell:1240px; --header-h:76px;}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{margin:0; font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--slate-600); background:var(--surface); overflow-x:hidden; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--font-ui);color:var(--ink-900);letter-spacing:-.02em;margin:0;line-height:1.12}
h1{font-size:clamp(32px,3.2vw,46px);font-weight:800}
h2{font-size:clamp(26px,2.8vw,38px);font-weight:700}
h3{font-size:15px;font-weight:700;letter-spacing:0}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:4px}
.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 24px}
section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--e2)}
.eyebrow{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.12em; text-transform:uppercase;color:var(--brand-600);margin-bottom:var(--s3)}
.eyebrow--light{color:#93B4FF}
.lede{font-size:17px;color:var(--slate-500);max-width:56ch}
.lede--light{color:#B9C9E8}
.grad{background:linear-gradient(90deg,var(--brand-600),var(--navy-800)); -webkit-background-clip:text;background-clip:text;color:transparent;}
.mockup-flag{display:flex;align-items:center;justify-content:center;gap:8px; background:var(--ink-900);color:#C6D3EA;font-size:12.5px; padding:8px 40px 8px 16px;position:relative;font-family:var(--font-ui)}
.mockup-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-500)}
.flag-x{position:absolute;right:12px;color:#7F92B4;font-size:18px;line-height:1;padding:4px 8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px; font-family:var(--font-ui);font-weight:600;font-size:14.5px; height:44px;padding:0 20px;border-radius:var(--r-sm); transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease; white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand-600);color:#fff;box-shadow:var(--e-brand)}
.btn-primary:hover{background:var(--brand-700)}
.btn-outline{border:1.5px solid var(--line);color:var(--ink-900);background:#fff}
.btn-outline:hover{border-color:var(--brand-600);color:var(--brand-600)}
.btn-ghost{color:var(--ink-800);padding:0 12px}
.btn-ghost:hover{color:var(--brand-600)}
.btn-light{background:#fff;color:var(--navy-900)}
.btn-light:hover{background:var(--brand-50)}
.btn-quiet{color:#fff;border:1.5px solid rgba(255,255,255,.28)}
.btn-quiet:hover{border-color:#fff}
.btn-lg{height:52px;padding:0 26px;font-size:15.5px}
.btn-block{width:100%}
.chip{font-family:var(--font-ui);font-size:13.5px;font-weight:500;color:var(--slate-600); background:#fff;border:1px solid var(--line);border-radius:var(--r-pill); padding:8px 16px;transition:.18s ease}
.chip:hover{border-color:var(--brand-600);color:var(--brand-600);background:var(--brand-50)}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line-soft); transition:box-shadow .2s ease}
.site-header.is-stuck{box-shadow:var(--e1)}
.header-inner{display:flex;align-items:center;gap:var(--s4);height:var(--header-h)}
.logo,.foot-logo,.drawer-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-full{height:34px;width:auto;display:none}
.logo-cat{height:34px;width:auto;display:none}
.drawer-logo .logo-full{height:30px}
.foot-logo .logo-full{height:32px}
.logo.has-full .logo-full,.foot-logo.has-full .logo-full,.drawer-logo.has-full .logo-full{display:block}
.logo.has-full .logo-word,.foot-logo.has-full .logo-word,.drawer-logo.has-full .logo-word{display:none}
.logo.has-full .logo-cat{display:none}
.logo-word{font-family:var(--font-ui);font-weight:800;font-size:25px;letter-spacing:-.045em; color:var(--navy-900)}
.primary-nav{display:flex;align-items:center;gap:0;margin-left:var(--s2);min-width:0;flex-shrink:1}
.nav-link{font-family:var(--font-ui);font-size:14.5px;font-weight:500;color:var(--slate-600); padding:9px 10px;border-radius:var(--r-sm);transition:.16s ease;white-space:nowrap}
.nav-link:hover{color:var(--ink-900);background:var(--brand-50)}
.nav-link.is-active{color:var(--brand-600);font-weight:600}
.header-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;padding-left:12px}
@media (max-width:1460px){
  .nav-link{padding:9px 8px;font-size:14px}
}
@media (max-width:1360px){
  .sign-in{display:none}
  .nav-link{padding:9px 7px;font-size:13.5px}
}
.menu-wrap{position:relative}
.cur-btn,.lang-btn{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--ink-800);transition:.16s}
.cur-btn:hover,.lang-btn:hover{background:var(--brand-50)}
.cur-btn,.lang-btn{font-weight:700;letter-spacing:.02em}
.cur-menu{min-width:290px}
.menu-foot{font-size:12px;color:var(--slate-400);padding:8px 10px 4px;margin-top:4px; border-top:1px solid var(--line-soft);line-height:1.5}
.chev{width:11px;height:11px;color:var(--slate-400)}
.flag{font-size:16px;line-height:1}
.flag.lg{font-size:26px}
.menu{position:absolute;top:calc(100% + 8px);right:0;min-width:270px;background:#fff; border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e3); padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px); transition:.18s ease;z-index:70}
.menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.lang-menu{min-width:180px}
.menu-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--slate-400);padding:8px 10px 6px}
.menu-hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--slate-400);opacity:.85}
.menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left; padding:10px 10px;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14.5px; color:var(--ink-800);transition:.14s}
.menu-item:hover{background:var(--brand-50);color:var(--brand-700)}
.menu-item.is-active{background:var(--brand-50);color:var(--brand-700);font-weight:600}
.menu-item--muted{color:var(--slate-500)}
.menu-meta{margin-left:auto;font-size:12.5px;color:var(--slate-400)}
.menu-sep{height:1px;background:var(--line-soft);margin:6px 4px}
.hamburger{display:none;width:44px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center;margin-left:auto}
.hamburger span{width:20px;height:2px;background:var(--ink-900);border-radius:2px;transition:.2s}
.drawer-scrim{position:fixed;inset:0;background:rgba(7,26,69,.45);z-index:90;animation:fade .2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);background:#fff;z-index:95; display:flex;flex-direction:column;padding:20px;animation:slideIn .24s cubic-bezier(.2,.8,.2,1); overflow-y:auto}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.drawer-close{font-size:28px;line-height:1;color:var(--slate-500);width:44px;height:44px}
.drawer-nav{display:flex;flex-direction:column;padding:12px 0}
.drawer-nav a{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--ink-900); padding:14px 4px;border-bottom:1px solid var(--line-soft)}
.drawer-foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%; padding:14px;background:var(--canvas);border-radius:var(--r-sm); font-family:var(--font-ui);font-size:15px;color:var(--ink-900);min-height:48px}
.hero{position:relative;padding:var(--s9) 0 var(--s8); background: radial-gradient(900px 380px at 82% -8%,var(--brand-50),transparent 70%), radial-gradient(700px 320px at 8% 0%,#F4F8FF,transparent 65%), #fff}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line-soft)}
.hero-inner{position:relative;display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:var(--s7);align-items:start}
.hero-copy{min-width:0}
.hero-copy h1{margin-bottom:var(--s4)}
.hero-copy .lede{font-size:17.5px;margin-bottom:var(--s5);max-width:48ch}
.hero-media{position:relative;height:520px;margin-top:var(--s5)}
.hm{margin:0;position:absolute;overflow:hidden;border-radius:var(--r-md);background:var(--brand-50)}
.hm img{width:100%;height:100%;object-fit:cover}
.hm figcaption{position:absolute;left:12px;bottom:12px;font-family:var(--font-ui);font-size:11.5px;font-weight:600; letter-spacing:.03em;color:#fff;background:rgba(7,26,69,.55);backdrop-filter:blur(6px); padding:6px 10px;border-radius:var(--r-pill)}
.hm-a{top:0;right:0;width:84%;height:390px;box-shadow:var(--e3)}
.hm-a figcaption{top:12px;bottom:auto;left:auto;right:12px}
.hm-b{left:0;bottom:0;width:50%;height:230px;box-shadow:var(--e3);border:6px solid #fff}
.hm.is-fallback{background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
.search-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg); box-shadow:var(--e3);padding:var(--s5)}
.search-top{display:flex;align-items:center;gap:12px;margin-bottom:var(--s4)}
.class-seg{display:inline-flex;gap:2px;background:var(--canvas);padding:4px;border-radius:var(--r-pill)}
.class-btn{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--slate-500); padding:10px 20px;border-radius:var(--r-pill);transition:.18s;min-height:40px;white-space:nowrap}
.class-btn.is-active{background:var(--ink-900);color:#fff}
.class-btn:hover:not(.is-active){color:var(--ink-900)}
.market-wrap{margin-left:auto}
.market-chip{display:flex;align-items:center;gap:7px;height:40px;padding:0 14px; border:1px solid var(--line);border-radius:var(--r-pill); font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-900); transition:.16s;max-width:230px}
.market-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.market-chip:hover{border-color:var(--brand-600);background:var(--brand-50)}
.market-chip .pin{width:14px;height:14px;flex-shrink:0;color:var(--brand-600)}
.intent-row{display:flex;gap:8px;margin-bottom:var(--s4);overflow-x:auto;scrollbar-width:none; padding-bottom:2px}
.intent-row::-webkit-scrollbar{display:none}
.intent-btn{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--slate-500); padding:8px 16px;border-radius:var(--r-pill);border:1px solid var(--line); transition:.16s;min-height:38px;white-space:nowrap;background:#fff}
.intent-btn:hover{color:var(--ink-900);border-color:var(--slate-400)}
.intent-btn.is-active{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
.search-row{display:flex;align-items:center;gap:10px}
.search-field{position:relative;flex:1;display:flex;align-items:center}
.search-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--slate-400);pointer-events:none}
.search-field input{width:100%;height:56px;padding:0 16px 0 46px;border:1px solid var(--line); border-radius:var(--r-sm);font-size:16px;color:var(--ink-900);background:#fff; transition:.16s}
.search-field input::placeholder{color:var(--slate-400)}
.search-field input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
.btn-search{height:56px;padding:0 34px;font-size:15.5px;flex-shrink:0}
.suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff; border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e3); padding:6px;z-index:40;max-height:320px;overflow-y:auto}
.suggest li{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-sm); cursor:pointer;font-size:14.5px;color:var(--ink-800)}
.suggest li:hover,.suggest li.is-cursor{background:var(--brand-50)}
.suggest .sg-type{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; color:var(--slate-400);margin-left:auto}
.suggest .sg-loc{color:var(--slate-400);font-size:13px}
.search-foot{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line-soft)}
.ask-blley{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--r-sm); text-align:left;transition:.18s;border:1px dashed var(--line);min-height:52px}
.ask-blley:hover{background:var(--brand-50);border-color:var(--brand-100)}
.ai-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0; background:var(--brand-600);box-shadow:0 0 0 4px var(--brand-100); animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px var(--brand-100)}50%{box-shadow:0 0 0 7px rgba(20,71,230,.10)}}
.ask-label{font-family:var(--font-ui);font-weight:700;font-size:14.5px;color:var(--ink-900);flex-shrink:0}
.ask-example{color:var(--slate-500);font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ask-blley .arrow{width:16px;height:16px;margin-left:auto;color:var(--brand-600);flex-shrink:0}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s5)}
.markets{padding:var(--s8) 0 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s6)}
.section-head.compact{margin-bottom:var(--s5)}
.section-sub{color:var(--slate-500);font-size:15.5px;margin-top:8px}
.head-tools{display:flex;align-items:center;gap:var(--s5)}
.link-more{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--brand-600); white-space:nowrap}
.link-more:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.market-card{position:relative;display:block;width:100%;text-align:left;overflow:hidden; border:1px solid var(--line);border-radius:var(--r-md);background:#fff; transition:.22s ease}
.market-card:hover{border-color:var(--brand-500);box-shadow:var(--e2);transform:translateY(-2px)}
.market-card.is-active{border-color:var(--brand-600);box-shadow:var(--e-brand)}
.mc-media{display:block;position:relative;height:132px;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
.mc-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.market-card:hover .mc-media img{transform:scale(1.05)}
.mc-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--brand-700);padding:12px;text-align:center}
.mc-body{display:block;padding:14px 16px 16px}
.mc-kind{display:block;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em; text-transform:uppercase;color:var(--slate-400)}
.mc-name{display:block;font-family:var(--font-ui);font-weight:700;font-size:16.5px;color:var(--ink-900);margin:4px 0 3px;letter-spacing:-.01em}
.mc-count{display:block;font-size:13.5px;color:var(--slate-500)}
.market-card--global{border-style:dashed;display:flex;align-items:center;min-height:120px}
.market-card--global .mc-body{padding:20px}
.market-card--global .mc-count{color:var(--brand-600);font-weight:600;font-family:var(--font-ui)}
.grid-note{margin-top:var(--s4);font-size:12.5px;color:var(--slate-400);max-width:78ch}
.section{padding:var(--s9) 0}
.pill-tabs{display:inline-flex;gap:6px}
.pill{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-500); padding:8px 15px;border-radius:var(--r-pill);border:1px solid var(--line);transition:.16s;min-height:38px}
.pill:hover{color:var(--ink-900);border-color:var(--slate-400)}
.pill.is-active{background:var(--ink-900);border-color:var(--ink-900);color:#fff}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden; transition:box-shadow .24s ease,transform .24s ease,border-color .24s ease; display:flex;flex-direction:column}
.pcard:hover{box-shadow:var(--e3);transform:translateY(-3px);border-color:var(--brand-100)}
.pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
.pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pcard:hover .pcard-media img{transform:scale(1.045)}
.pcard-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--brand-700); background:linear-gradient(135deg,#E7EDFA,#DCE6FF);letter-spacing:.02em;text-align:center;padding:16px}
.badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 66px)}
.badge{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em; padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.94);color:var(--ink-900); backdrop-filter:blur(4px)}
.badge--featured{background:var(--brand-600);color:#fff}
.badge--project{background:var(--accent-50);color:#A44A05}
.save{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%; background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center; box-shadow:var(--e1);transition:.18s}
.save svg{width:17px;height:17px;fill:none;stroke:var(--ink-800);stroke-width:1.7}
.save:hover{transform:scale(1.08)}
.save.is-saved svg{fill:var(--accent-500);stroke:var(--accent-500)}
.pcard-purpose{position:absolute;bottom:12px;left:12px;font-family:var(--font-ui);font-size:11.5px;font-weight:700; letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(7,26,69,.6)}
.pcard-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard-price{font-family:var(--font-ui);font-size:20px;font-weight:800;color:var(--ink-900);letter-spacing:-.02em}
.pcard-price small{font-weight:600;font-size:13px;color:var(--slate-400);letter-spacing:0}
.price-native{font-family:var(--font-ui);font-size:12.5px;font-weight:500;color:var(--slate-400); margin-top:-6px;letter-spacing:.01em}
.pcard-title{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--ink-800);line-height:1.35}
.pcard-loc{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--slate-500)}
.pcard-loc svg{width:13px;height:13px;flex-shrink:0;color:var(--slate-400)}
.pcard-specs{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:12px; border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--slate-600)}
.pcard-specs span{display:flex;align-items:center;gap:5px}
.pcard-specs b{font-weight:600;color:var(--ink-800)}
.ad-slot{padding:0 0 var(--s9)}
.ad-slot[hidden]{display:none}
.ad-unit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden; background:#FBFAF8;transition:box-shadow .22s ease}
.ad-unit:hover{box-shadow:var(--e2)}
.ad-media{position:relative;min-height:230px;background:linear-gradient(135deg,#EFEDE8,#E4E9F2);overflow:hidden}
.ad-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ad-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:14px;color:#6E6558;padding:20px;text-align:center}
.ad-body{padding:var(--s6) var(--s6) var(--s5);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ad-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ad-label{font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; color:#7A6A4F;background:#F3EADA;border:1px solid #E6D8BE;padding:4px 9px;border-radius:5px}
.ad-advertiser{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500)}
.ad-headline{font-family:var(--font-ui);font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.015em; color:var(--ink-900);max-width:26ch}
.ad-copy{font-size:14.5px;color:var(--slate-500);margin-top:10px;max-width:46ch}
.ad-cta{display:inline-flex;align-items:center;height:44px;padding:0 22px;margin-top:20px; background:var(--ink-900);color:#fff;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14.5px;font-weight:600;transition:background .18s ease}
.ad-unit:hover .ad-cta{background:#16294A}
.ad-disclosure{font-size:11.5px;color:var(--slate-400);margin-top:16px;line-height:1.5;max-width:60ch}
.crossmarket{padding:var(--s9) 0;margin:0;color:#fff; background: radial-gradient(800px 400px at 88% 0%,rgba(46,98,255,.38),transparent 65%), linear-gradient(160deg,var(--navy-900),#0A2258 60%,var(--navy-800))}
.crossmarket h2{color:#fff}
.cm-head{display:grid;grid-template-columns:1.35fr .8fr;gap:var(--s7);align-items:end;margin-bottom:var(--s7)}
.cm-market{color:#7FA8FF}
.cm-head .lede{margin-top:var(--s4)}
.cm-actions{display:flex;gap:12px;margin-top:var(--s5);flex-wrap:wrap}
.cm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.cm-stats li{border-left:2px solid rgba(255,255,255,.18);padding-left:14px}
.cm-stats strong{display:block;font-family:var(--font-ui);font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em}
.cm-stats span{font-size:13px;color:#93A9CE;line-height:1.4;display:block;margin-top:2px}
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rail .pcard{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);backdrop-filter:blur(2px)}
.rail .pcard:hover{border-color:rgba(146,180,255,.55);box-shadow:0 24px 50px -20px rgba(0,0,0,.6)}
.rail .pcard-price{color:#fff}
.rail .pcard-price small{color:#93A9CE}
.rail .pcard-title{color:#E7EEFC}
.rail .pcard-loc{color:#A9BDDF}
.rail .pcard-loc svg{color:#7FA8FF}
.rail .pcard-specs{border-top-color:rgba(255,255,255,.12);color:#B9C9E8}
.rail .pcard-specs b{color:#fff}
.rail .price-native{color:#93A9CE}
.cm-note{margin-top:var(--s5);font-size:12.5px;color:#7E93BA;max-width:70ch}
.cm-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:11.5px;font-weight:700; letter-spacing:.03em;color:#8FB3FF;background:rgba(46,98,255,.16);border:1px solid rgba(127,168,255,.3); padding:5px 10px;border-radius:var(--r-pill);width:fit-content}
.cm-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent-500)}
.ai-section{background:var(--canvas)}
.ai-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:var(--s8);align-items:center}
.ai-copy h2{margin-bottom:var(--s4)}
.ai-points{margin-top:var(--s5);display:flex;flex-direction:column;gap:12px}
.ai-points li{position:relative;padding-left:26px;font-size:15.5px;color:var(--slate-600)}
.ai-points li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%; background:var(--brand-50);border:1.5px solid var(--brand-500)}
.ai-points li::after{content:"";position:absolute;left:4.5px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--brand-600)}
.ai-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3); display:flex;flex-direction:column;overflow:hidden;min-height:460px}
.ai-panel-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line-soft); font-family:var(--font-ui);font-weight:700;font-size:14.5px;color:var(--ink-900)}
.ai-reset{margin-left:auto;font-size:12.5px;font-family:var(--font-ui);color:var(--slate-400)}
.ai-reset:hover{color:var(--brand-600)}
.ai-thread{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1;overflow-y:auto;max-height:420px}
.msg{max-width:86%;padding:12px 15px;border-radius:var(--r-md);font-size:14.5px;line-height:1.55;animation:rise .28s ease}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.msg--user{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
.msg--ai{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
.typing{display:flex;gap:4px;align-items:center;padding:14px 16px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--slate-400);animation:bounce 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ai-results{display:flex;flex-direction:column;gap:8px;align-self:stretch;animation:rise .3s ease}
.ai-res{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line); border-radius:var(--r-sm);background:#fff;transition:.18s;cursor:pointer}
.ai-res:hover{border-color:var(--brand-500);box-shadow:var(--e2)}
.ai-res-img{width:64px;height:52px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--brand-100)}
.ai-res-t{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink-900);line-height:1.3}
.ai-res-m{font-size:12.5px;color:var(--slate-500)}
.ai-res-p{margin-left:auto;font-family:var(--font-ui);font-weight:700;font-size:13.5px; color:var(--brand-700);white-space:nowrap;text-align:right;display:flex;flex-direction:column;gap:2px}
.ai-res-native{font-weight:500;font-size:11.5px;color:var(--slate-400)}
.ai-prompts{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 12px}
.ai-prompt{font-size:13px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100); padding:8px 12px;border-radius:var(--r-pill);transition:.16s;text-align:left;min-height:36px}
.ai-prompt:hover{background:var(--brand-100)}
.ai-input{display:flex;gap:8px;padding:14px 16px;border-top:1px solid var(--line-soft)}
.ai-input input{flex:1;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-pill); font-size:15px;color:var(--ink-900)}
.ai-input input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
.ai-send{width:46px;height:46px;border-radius:50%;background:var(--brand-600);color:#fff; display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.18s}
.ai-send:hover{background:var(--brand-700)}
.ai-send svg{width:20px;height:20px}
.pro{padding:var(--s9) 0;border-top:1px solid var(--line-soft)}
.pro-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s8);align-items:center}
.pro-copy h2{margin-bottom:var(--s4);line-height:1.16;font-size:clamp(26px,2.5vw,34px)}
.pro-actions{display:flex;gap:12px;margin-top:var(--s6);flex-wrap:wrap}
.pro-note{margin-top:var(--s4);font-size:13.5px;color:var(--slate-400);font-family:var(--font-ui)}
.pro-cards{display:flex;flex-direction:column;gap:12px}
.pro-cards li{display:flex;align-items:baseline;gap:16px;padding:20px 22px;border:1px solid var(--line); border-radius:var(--r-md);background:#fff;transition:.2s}
.pro-cards li:hover{border-color:var(--brand-100);box-shadow:var(--e2);transform:translateX(3px)}
.pro-k{font-family:var(--font-ui);font-weight:800;font-size:15px;color:var(--brand-600); min-width:44px;letter-spacing:-.01em}
.pro-v{font-size:14.5px;color:var(--slate-600)}
.site-footer{background:var(--ink-900);color:#93A9CE;padding:var(--s8) 0 var(--s5);margin-top:0}
.footer-top{display:grid;grid-template-columns:1fr 2.1fr;gap:var(--s8);padding-bottom:var(--s7)}
.foot-brand .logo-word{color:#fff}
.foot-brand p{margin-top:12px;font-size:14.5px;max-width:32ch;line-height:1.6}
.foot-market{margin-top:20px;display:inline-flex;align-items:center;gap:10px;font-size:13px; padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill); flex-wrap:wrap}
.foot-market b{color:#fff;font-weight:600}
.foot-dot{width:3px;height:3px;border-radius:50%;background:#4A5E80}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.foot-cols h3{color:#fff;margin-bottom:14px;font-size:13.5px;letter-spacing:.02em}
.foot-cols a{display:block;font-size:14px;padding:5px 0;transition:.16s}
.foot-cols a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap; padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#6F84A8}
.foot-legal{display:flex;gap:18px}
.mobile-bar{display:none}
.notes-toggle{position:fixed;right:20px;bottom:20px;z-index:80;background:var(--ink-900);color:#fff; font-family:var(--font-ui);font-size:13px;font-weight:600;padding:11px 16px;border-radius:var(--r-pill); box-shadow:var(--e3)}
.notes-panel{position:fixed;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;z-index:96; box-shadow:var(--e3);display:flex;flex-direction:column;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
.notes-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px; border-bottom:1px solid var(--line);font-family:var(--font-ui);color:var(--ink-900)}
.notes-body{padding:20px;overflow-y:auto}
.notes-body h4{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-600);margin:22px 0 10px}
.notes-body h4:first-child{margin-top:0}
.notes-p{font-size:14px;line-height:1.65;color:var(--slate-600)}
.notes-p code{font-size:12px;color:var(--ink-800)}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sw{font-size:11.5px;font-family:var(--font-ui);color:var(--slate-500);line-height:1.5}
.sw i{display:block;height:44px;border-radius:8px;background:var(--c);border:1px solid var(--line);margin-bottom:6px}
.sw code{font-size:11px;color:var(--slate-400)}
@media (max-width:1100px){
  .primary-nav{display:none}
  .card-grid,.rail{grid-template-columns:repeat(2,1fr)}
  .market-grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:minmax(0,1fr);gap:var(--s6)}
  .hero-media{height:300px;max-width:640px;margin-top:0}
  .hm-a{width:74%;height:240px}
  .hm-b{width:46%;height:160px}
  .cm-head{grid-template-columns:1fr;gap:var(--s6)}
  .ai-grid,.pro-inner{grid-template-columns:1fr;gap:var(--s6)}
  .footer-top{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:repeat(2,1fr);gap:var(--s5)}
}
@media (max-width:760px){
  :root{--header-h:60px;--s9:56px;--s8:40px}
  .shell{padding:0 18px}
  .mockup-flag{font-size:11.5px;padding:7px 34px 7px 12px;text-align:center}
  .header-actions{display:none}
  .hamburger{display:flex}
  .logo.has-cat .logo-cat{display:block}
  .logo.has-cat .logo-full{display:none}
  .logo.has-cat .logo-word{display:none}
  .logo-cat{height:32px}
  .logo-word{font-size:22px}
  .hero{padding:var(--s7) 0 var(--s7)}
  .hero-inner{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .hero-copy{order:1;width:100%}
  .hero-media{order:2;position:relative;height:auto;margin:var(--s5) -18px 0;width:auto;max-width:none}
  .hm{position:relative;border-radius:0}
  .hm-a{width:100%;height:210px;box-shadow:none}
  .hm-b{display:none}
  .hero-copy .lede{font-size:16px;margin-bottom:var(--s5)}
  .search-card{padding:16px;border-radius:18px;box-shadow:var(--e2)}
  .search-top{flex-direction:column;align-items:stretch;gap:10px}
  .class-seg{display:flex;width:100%}
  .class-btn{flex:1;padding:11px 12px;min-height:44px;font-size:14px}
  .market-wrap{margin-left:0}
  .market-chip{width:100%;max-width:none;height:46px;border-radius:var(--r-sm)}
  .market-chip .chev{margin-left:auto}
  .intent-row{margin:0 -16px var(--s4);padding:0 16px 2px}
  .intent-btn{min-height:40px}
  .search-row{flex-direction:column;align-items:stretch;gap:10px}
  .search-field input{height:52px;font-size:16px}
  .btn-search{width:100%;height:52px}
  .ask-example{display:none}
  .ask-blley{border-style:solid;background:var(--brand-50);border-color:var(--brand-100)}
  .ask-blley .ask-label{font-size:15px}
  .ask-blley::after{content:"Describe what you want in your own words"; font-size:13.5px;color:var(--slate-500);order:1;flex:1;min-width:0; overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ask-blley .arrow{order:2;margin-left:8px}
  .quick-links{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none; margin:var(--s5) -18px 0;padding:0 18px 4px}
  .quick-links::-webkit-scrollbar{display:none}
  .chip{white-space:nowrap;min-height:40px}
  .section-head{flex-direction:column;align-items:flex-start;gap:14px}
  .head-tools{width:100%;justify-content:space-between;gap:12px}
  .pill-tabs{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .pill-tabs::-webkit-scrollbar{display:none}
  .pill{white-space:nowrap;min-height:40px}
  .market-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .mc-media{height:96px}
  .mc-body{padding:12px 13px 14px}
  .mc-name{font-size:15px}
  .mc-count{font-size:12.5px}
  .market-grid li:last-child{grid-column:span 2}
  .market-card--global{min-height:0}
  .market-card--global .mc-body{padding:16px}
  .card-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory; margin:0 -18px;padding:2px 18px 8px;scrollbar-width:none}
  .card-grid::-webkit-scrollbar{display:none}
  .card-grid .pcard{flex:0 0 80%;scroll-snap-align:start}
  .rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory; margin:0 -18px;padding:2px 18px 8px;scrollbar-width:none}
  .rail::-webkit-scrollbar{display:none}
  .rail .pcard{flex:0 0 82%;scroll-snap-align:start}
  .pcard:hover{transform:none}
  .pcard:active{transform:scale(.99)}
  .pcard-media{aspect-ratio:16/11}
  .pcard-body{padding:16px;gap:8px}
  .save{width:40px;height:40px}
  .ad-slot{padding:0 0 var(--s8)}
  .ad-unit{grid-template-columns:1fr;border-radius:var(--r-md)}
  .ad-media{min-height:0;height:146px}
  .ad-media::before{content:"Sponsored";position:absolute;z-index:2;top:12px;left:12px; font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; color:var(--ink-900);background:rgba(255,255,255,.94);padding:5px 9px;border-radius:5px}
  .ad-body{padding:18px}
  .ad-meta .ad-label{display:none}
  .ad-meta{margin-bottom:8px}
  .ad-headline{font-size:19px;max-width:none}
  .ad-copy{font-size:14px;max-width:none}
  .ad-cta{width:100%;justify-content:center;height:48px;margin-top:18px}
  .ad-disclosure{font-size:11px;margin-top:14px}
  .cm-stats{grid-template-columns:1fr;gap:14px}
  .cm-stats strong{font-size:24px}
  .cm-actions .btn{flex:1}
  .ai-panel{min-height:0;border-radius:18px}
  .ai-thread{max-height:340px;padding:16px}
  .msg{max-width:92%}
  .ai-prompts{padding:0 16px 12px}
  .ai-prompt{width:100%}
  .pro-actions .btn{flex:1;min-width:150px}
  .pro-cards li{padding:16px 18px;flex-direction:column;gap:4px;align-items:flex-start}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .footer-bottom{flex-direction:column;gap:12px}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:10px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.94);backdrop-filter:blur(12px); border-top:1px solid var(--line);transform:translateY(120%);transition:transform .26s ease}
  .mobile-bar.is-visible{transform:translateY(0)}
  .mb-search{flex:1;display:flex;align-items:center;gap:10px;height:50px;padding:0 18px; border-radius:var(--r-pill);background:var(--canvas);border:1px solid var(--line); font-family:var(--font-ui);font-size:15px;font-weight:500;color:var(--slate-500)}
  .mb-search svg{width:19px;height:19px;color:var(--brand-600)}
  .mb-ai{width:50px;height:50px;border-radius:50%;background:var(--brand-600); display:flex;align-items:center;justify-content:center;box-shadow:var(--e-brand);flex-shrink:0}
  .mb-ai .ai-dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.3);animation:none}
  .site-footer{padding-bottom:90px}
  .notes-toggle{bottom:80px;right:16px;font-size:12px;padding:9px 14px}
}
@media (max-width:400px){
  .card-grid .pcard{flex:0 0 86%}
  .rail .pcard{flex:0 0 88%}
  .swatches{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ---------- UI-002 — search, results, filters and map ---------- */
/* The package entire, scoped to its own pages. Every rule is scoped, so
   the package's own cascade — including its responsive overrides — is
   preserved exactly, and it cannot restyle any other page. */

@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (max-width:820px){
  @keyframes sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
}
body.page-search{--brand-700:#0F38B8; --brand-600:#1447E6; --brand-500:#2E62FF; --brand-100:#DCE6FF; --brand-50:#EEF3FF; --navy-900:#071A45; --navy-800:#0B2A6B; --navy-700:#123573; --ink-900:#0A1A33; --ink-800:#16294A; --slate-600:#41506B; --slate-500:#5A6B85; --slate-400:#8A97AC; --line:#E4E9F2; --line-soft:#EEF1F7; --canvas:#F5F7FB; --surface:#FFFFFF; --accent-500:#F2761B; --accent-50:#FFF3E8; --font-ui:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,sans-serif; --font-body:'Inter',system-ui,-apple-system,sans-serif; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px; --e1:0 1px 2px rgba(10,26,51,.05); --e2:0 6px 20px -8px rgba(10,26,51,.14); --e3:0 18px 44px -16px rgba(10,26,51,.22); --e-brand:0 12px 28px -12px rgba(20,71,230,.45); --shell:1320px; --header-h:72px; --searchbar-h:132px;}
body.page-search,body.page-search *,body.page-search::before,body.page-search *::before,body.page-search::after,body.page-search *::after{box-sizing:border-box}
body.page-search [hidden]{display:none !important}
body.page-search{-webkit-text-size-adjust:100%}
body.page-search{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6; color:var(--slate-600);background:var(--canvas);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.page-search h1,body.page-search h2,body.page-search h3,body.page-search h4{font-family:var(--font-ui);color:var(--ink-900);letter-spacing:-.02em;margin:0;line-height:1.15}
body.page-search h1{font-size:24px;font-weight:700}
body.page-search h2{font-size:19px;font-weight:700}
body.page-search h3{font-size:15px;font-weight:700;letter-spacing:0}
body.page-search p{margin:0}
body.page-search a{color:inherit;text-decoration:none}
body.page-search img{max-width:100%;display:block}
body.page-search button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body.page-search input{font:inherit}
body.page-search ul{margin:0;padding:0;list-style:none}
body.page-search :focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:4px}
body.page-search .shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 24px}
body.page-search .skip-link{position:absolute;left:-9999px}
body.page-search .skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--e2)}
body.page-search .mockup-flag{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink-900); color:#C6D3EA;font-size:12.5px;padding:8px 40px 8px 16px;position:relative;font-family:var(--font-ui)}
body.page-search .mockup-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-500)}
body.page-search .flag-x{position:absolute;right:12px;color:#7F92B4;font-size:18px;line-height:1;padding:4px 8px}
body.page-search .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px; font-family:var(--font-ui);font-weight:600;font-size:14.5px;height:44px;padding:0 20px; border-radius:var(--r-sm);transition:background .18s,color .18s,box-shadow .18s,transform .12s;white-space:nowrap}
body.page-search .btn:active{transform:translateY(1px)}
body.page-search .btn-primary{background:var(--brand-600);color:#fff;box-shadow:var(--e-brand)}
body.page-search .btn-primary:hover{background:var(--brand-700)}
body.page-search .btn-outline{border:1.5px solid var(--line);color:var(--ink-900);background:#fff}
body.page-search .btn-outline:hover{border-color:var(--brand-600);color:var(--brand-600)}
body.page-search .btn-ghost{color:var(--ink-800);padding:0 12px}
body.page-search .btn-ghost:hover{color:var(--brand-600)}
body.page-search .btn-block{width:100%}
body.page-search .menu-wrap{position:relative}
body.page-search .menu{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#fff;border:1px solid var(--line); border-radius:var(--r-md);box-shadow:var(--e3);padding:8px;opacity:0;visibility:hidden; transform:translateY(-6px);transition:.18s;z-index:70}
body.page-search .menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
body.page-search .menu--right{left:auto;right:0}
body.page-search .menu-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--slate-400);padding:8px 10px 6px}
body.page-search .menu-hint{text-transform:none;letter-spacing:0;font-weight:500;opacity:.85}
body.page-search .menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14.5px;color:var(--ink-800);transition:.14s;min-height:42px}
body.page-search .menu-item:hover{background:var(--brand-50);color:var(--brand-700)}
body.page-search .menu-item.is-active{background:var(--brand-50);color:var(--brand-700);font-weight:600}
body.page-search .menu-item--muted{color:var(--slate-500)}
body.page-search .menu-meta{margin-left:auto;font-size:12.5px;color:var(--slate-400)}
body.page-search .menu-sep{height:1px;background:var(--line-soft);margin:6px 4px}
body.page-search .menu-foot{font-size:12px;color:var(--slate-400);padding:8px 10px 4px;margin-top:4px;border-top:1px solid var(--line-soft);line-height:1.5}
body.page-search .chev{width:11px;height:11px;color:var(--slate-400);flex-shrink:0}
body.page-search .site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94); backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line-soft)}
body.page-search .header-inner{display:flex;align-items:center;gap:var(--s4);height:var(--header-h)}
body.page-search .logo,body.page-search .drawer-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
body.page-search .logo-full{height:32px;width:auto;display:none}
body.page-search .logo-cat{height:32px;width:auto;display:none}
body.page-search .logo.has-full .logo-full,body.page-search .drawer-logo.has-full .logo-full{display:block}
body.page-search .logo.has-full .logo-word,body.page-search .drawer-logo.has-full .logo-word{display:none}
body.page-search .logo.has-full .logo-cat{display:none}
body.page-search .logo-word{font-family:var(--font-ui);font-weight:800;font-size:23px;letter-spacing:-.045em;color:var(--navy-900)}
body.page-search .primary-nav{display:flex;align-items:center;margin-left:var(--s2);min-width:0}
body.page-search .nav-link{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--slate-600); padding:9px 10px;border-radius:var(--r-sm);transition:.16s;white-space:nowrap}
body.page-search .nav-link:hover{color:var(--ink-900);background:var(--brand-50)}
body.page-search .nav-link.is-active{color:var(--brand-600);font-weight:600}
body.page-search .header-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;padding-left:12px}
body.page-search .cur-btn,body.page-search .lang-btn{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--ink-800);transition:.16s}
body.page-search .cur-btn:hover,body.page-search .lang-btn:hover{background:var(--brand-50)}
body.page-search .cur-menu{min-width:290px;left:auto;right:0}
body.page-search .lang-menu{min-width:170px;left:auto;right:0}
body.page-search .hamburger{display:none;width:44px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center;margin-left:auto}
body.page-search .hamburger span{width:20px;height:2px;background:var(--ink-900);border-radius:2px}
body.page-search .drawer-scrim,body.page-search .panel-scrim,body.page-search .sheet-scrim{position:fixed;inset:0;background:rgba(7,26,69,.45);z-index:90;animation:fade .2s}
body.page-search .drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);background:#fff;z-index:95;display:flex; flex-direction:column;padding:20px;overflow-y:auto;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-search .drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
body.page-search .drawer-close{font-size:28px;line-height:1;color:var(--slate-500);width:44px;height:44px}
body.page-search .drawer-nav{display:flex;flex-direction:column;padding:12px 0}
body.page-search .drawer-nav a{font-family:var(--font-ui);font-size:17px;font-weight:600;color:var(--ink-900);padding:14px 4px;border-bottom:1px solid var(--line-soft)}
body.page-search .drawer-foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}
body.page-search .drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;background:var(--canvas); border-radius:var(--r-sm);font-family:var(--font-ui);font-size:15px;color:var(--ink-900);min-height:48px}
body.page-search .searchbar{position:sticky;top:var(--header-h);z-index:60;background:#fff; border-bottom:1px solid var(--line);padding:12px 0}
body.page-search .sb-row{display:flex;align-items:center;gap:10px}
body.page-search .sb-row--context{margin-bottom:10px}
body.page-search .sb-row--query{flex-wrap:wrap}
body.page-search .class-seg{display:inline-flex;gap:2px;background:var(--canvas);padding:4px;border-radius:var(--r-pill);flex-shrink:0}
body.page-search .class-btn{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--slate-500); padding:8px 18px;border-radius:var(--r-pill);transition:.18s;min-height:38px;white-space:nowrap}
body.page-search .class-btn.is-active{background:var(--ink-900);color:#fff}
body.page-search .class-btn:hover:not(.is-active){color:var(--ink-900)}
body.page-search .intent-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
body.page-search .intent-row::-webkit-scrollbar{display:none}
body.page-search .intent-btn{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-500);padding:8px 15px; border-radius:var(--r-pill);border:1px solid var(--line);transition:.16s;min-height:38px;white-space:nowrap;background:#fff}
body.page-search .intent-btn:hover{color:var(--ink-900);border-color:var(--slate-400)}
body.page-search .intent-btn.is-active{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .ask-btn{margin-left:auto;display:flex;align-items:center;gap:9px;height:40px;padding:0 16px; border:1px solid var(--brand-100);background:var(--brand-50);border-radius:var(--r-pill); font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--brand-700); transition:.16s;flex-shrink:0}
body.page-search .ask-btn:hover{background:var(--brand-100)}
body.page-search .ai-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--brand-600); box-shadow:0 0 0 4px rgba(20,71,230,.14);animation:pulse 2.6s ease-in-out infinite}
body.page-search .market-chip{display:flex;align-items:center;gap:7px;height:46px;padding:0 15px;border:1px solid var(--line); border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-900); transition:.16s;max-width:220px;flex-shrink:0}
body.page-search .market-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-search .market-chip:hover{border-color:var(--brand-600);background:var(--brand-50)}
body.page-search .market-chip .pin{width:14px;height:14px;flex-shrink:0;color:var(--brand-600)}
body.page-search .search-field{position:relative;flex:1;min-width:220px;display:flex;align-items:center}
body.page-search .search-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--slate-400);pointer-events:none}
body.page-search .search-field input{width:100%;height:46px;padding:0 14px 0 42px;border:1px solid var(--line);border-radius:var(--r-sm); font-size:15px;color:var(--ink-900);background:#fff;transition:.16s}
body.page-search .search-field input::placeholder{color:var(--slate-400)}
body.page-search .search-field input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-search .btn-search{height:46px;padding:0 26px;flex-shrink:0}
body.page-search .suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line); border-radius:var(--r-md);box-shadow:var(--e3);padding:6px;z-index:40;max-height:300px;overflow-y:auto}
body.page-search .suggest li{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:14.5px;color:var(--ink-800)}
body.page-search .suggest li:hover{background:var(--brand-50)}
body.page-search .suggest .sg-loc{color:var(--slate-400);font-size:13px}
body.page-search .suggest .sg-type{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400);margin-left:auto}
body.page-search .quick-filters{display:flex;align-items:center;gap:8px;flex-shrink:0}
body.page-search .qf-btn{display:flex;align-items:center;gap:7px;height:46px;padding:0 14px;border:1px solid var(--line); border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800); background:#fff;transition:.16s;white-space:nowrap}
body.page-search .qf-btn:hover{border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .qf-btn.is-set{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700)}
body.page-search .qf-btn svg:not(.chev){width:15px;height:15px}
body.page-search .qf-btn .qf-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
body.page-search .qf-menu{min-width:230px}
body.page-search .qf-menu--wide{min-width:250px}
body.page-search .qf-menu--wide .menu-item{display:inline-flex;width:auto;min-width:64px;justify-content:center;margin:2px}
body.page-search .qf-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px; border-radius:var(--r-pill);background:var(--brand-600);color:#fff;font-size:11.5px;font-weight:700}
body.page-search .type-shortcuts{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
body.page-search .type-shortcuts::-webkit-scrollbar{display:none}
body.page-search .tsc{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line); border-radius:var(--r-pill);background:#fff;font-family:var(--font-ui);font-size:13.5px;font-weight:600; color:var(--ink-800);white-space:nowrap;transition:.16s}
body.page-search .tsc:hover{border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .tsc.is-on{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .tsc-n{font-size:12.5px;font-weight:600;color:var(--slate-400)}
body.page-search .tsc.is-on .tsc-n{color:var(--brand-600)}
body.page-search .active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
body.page-search .fchip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 13px;border-radius:var(--r-pill); background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700); font-family:var(--font-ui);font-size:13px;font-weight:600}
body.page-search .fchip--ai{background:#fff;border-color:var(--line);color:var(--ink-800)}
body.page-search .fchip--ai::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-600);flex-shrink:0}
body.page-search .fchip button{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center; color:inherit;opacity:.65;font-size:15px;line-height:1}
body.page-search .fchip button:hover{opacity:1;background:rgba(20,71,230,.12)}
body.page-search .fclear{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-500);padding:6px 10px;border-radius:var(--r-sm)}
body.page-search .fclear:hover{color:var(--brand-600);background:var(--brand-50)}
body.page-search .results-wrap{padding:var(--s5) 0 var(--s8);min-height:60vh}
body.page-search .results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5);flex-wrap:wrap}
body.page-search .rh-count{font-size:14px;color:var(--slate-500);margin-top:6px}
body.page-search .rh-tools{display:flex;align-items:center;gap:10px}
body.page-search .tool-btn{display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;border:1px solid var(--line); border-radius:var(--r-sm);background:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800)}
body.page-search .tool-btn:hover{border-color:var(--brand-600)}
body.page-search .tool-label{color:var(--slate-400);font-weight:500}
body.page-search .sort-menu{left:auto;right:0;min-width:210px}
body.page-search .view-seg{display:inline-flex;gap:2px;background:#fff;border:1px solid var(--line);padding:3px;border-radius:var(--r-sm)}
body.page-search .view-btn{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-500);padding:0 15px;height:36px; border-radius:6px;transition:.16s}
body.page-search .view-btn.is-active{background:var(--ink-900);color:#fff}
body.page-search .view-btn:hover:not(.is-active){color:var(--ink-900)}
body.page-search .layout{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:start}
body.page-search .layout.is-map{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
body.page-search .results-col{min-width:0}
body.page-search .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.page-search .layout.is-map .cards{grid-template-columns:1fr;gap:14px}
body.page-search .cards.is-list{grid-template-columns:1fr;gap:14px}
body.page-search .pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex; flex-direction:column;transition:box-shadow .24s,transform .24s,border-color .24s;position:relative}
body.page-search .pcard:hover,body.page-search .pcard.is-hot{box-shadow:var(--e3);transform:translateY(-3px);border-color:var(--brand-100)}
body.page-search .pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
body.page-search .mtrack{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory; scrollbar-width:none;-ms-overflow-style:none}
body.page-search .mtrack::-webkit-scrollbar{display:none}
body.page-search .mslide{flex:0 0 100%;height:100%;scroll-snap-align:center}
body.page-search .mslide img{width:100%;height:100%;object-fit:cover}
body.page-search .marrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%; background:rgba(255,255,255,.94);color:var(--ink-900);display:flex;align-items:center;justify-content:center; box-shadow:var(--e1);opacity:0;transition:opacity .18s,transform .18s;z-index:3}
body.page-search .marrow svg{width:14px;height:14px}
body.page-search .marrow--prev{left:10px}
body.page-search .marrow--next{right:10px}
body.page-search .pcard:hover .marrow,body.page-search .marrow:focus-visible{opacity:1}
body.page-search .marrow:hover{transform:translateY(-50%) scale(1.08)}
body.page-search .mdots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;z-index:3;pointer-events:none}
body.page-search .mdot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);transition:.18s}
body.page-search .mdot.is-on{background:#fff;width:14px;border-radius:3px}
body.page-search .mcount{position:absolute;left:12px;bottom:10px;display:inline-flex;align-items:center;gap:5px;z-index:3; font-family:var(--font-ui);font-size:11.5px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(7,26,69,.7)}
body.page-search .mcount svg{width:13px;height:13px}
body.page-search .mvideo{margin-left:4px;padding:2px 6px;border-radius:4px;background:rgba(255,255,255,.92);color:var(--ink-900); text-shadow:none;font-size:10px;letter-spacing:.04em;text-transform:uppercase}
body.page-search .pcard-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13.5px;color:var(--brand-700); background:linear-gradient(135deg,#E7EDFA,#DCE6FF);text-align:center;padding:14px}
body.page-search .badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 66px);z-index:3}
body.page-search .badge{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 9px;border-radius:6px; background:rgba(255,255,255,.94);color:var(--ink-900);backdrop-filter:blur(4px)}
body.page-search .badge--project{background:var(--accent-50);color:#A44A05}
body.page-search .badge--intl{background:rgba(11,42,107,.9);color:#CFE0FF}
body.page-search .badge--premium{background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;gap:5px}
body.page-search .badge--premium::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--accent-500)}
body.page-search .save{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94); display:flex;align-items:center;justify-content:center;box-shadow:var(--e1);transition:.18s;z-index:3}
body.page-search .save svg{width:17px;height:17px;fill:none;stroke:var(--ink-800);stroke-width:1.7}
body.page-search .save:hover{transform:scale(1.08)}
body.page-search .save.is-saved svg{fill:var(--accent-500);stroke:var(--accent-500)}
body.page-search .pcard-purpose{position:absolute;bottom:12px;left:12px;font-family:var(--font-ui);font-size:11.5px;font-weight:700; letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(7,26,69,.6)}
body.page-search .pcard-body{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1}
body.page-search .pcard-price{font-family:var(--font-ui);font-size:19px;font-weight:800;color:var(--ink-900);letter-spacing:-.02em}
body.page-search .pcard-price small{font-weight:600;font-size:13px;color:var(--slate-400);letter-spacing:0}
body.page-search .price-native{font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--slate-400);margin-top:-5px}
body.page-search .pcard-title{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-800);line-height:1.35}
body.page-search .pcard-loc{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--slate-500)}
body.page-search .pcard-loc svg{width:13px;height:13px;flex-shrink:0;color:var(--slate-400)}
body.page-search .pcard-specs{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line-soft); font-size:13px;color:var(--slate-600);flex-wrap:wrap}
body.page-search .pcard-specs span{display:flex;align-items:center;gap:5px}
body.page-search .pcard-specs b{font-weight:600;color:var(--ink-800)}
body.page-search .pcard-purpose-line{font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; color:var(--slate-400)}
body.page-search .pcard-foot{margin-top:auto;padding-top:11px;border-top:1px solid var(--line-soft); display:flex;flex-direction:column;gap:9px}
body.page-search .pub-block{display:flex;align-items:flex-start;gap:8px;min-width:0}
body.page-search .pub-logo{width:22px;height:22px;flex-shrink:0;border-radius:5px;background:var(--canvas);border:1px solid var(--line); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:9px;font-weight:800; letter-spacing:.02em;color:var(--slate-500)}
body.page-search .pub-lines{display:flex;flex-direction:column;gap:3px;min-width:0}
body.page-search .pub-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
body.page-search .pub-name{font-family:var(--font-ui);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase; color:var(--slate-600)}
body.page-search .pub-verified{font-family:var(--font-ui);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase; color:#0A6B4B;background:#E7F7F1;border:1px solid #C6EADC;padding:2px 6px;border-radius:4px}
body.page-search .pub-person{gap:6px}
body.page-search .pub-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-100); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:8.5px; font-weight:800;color:var(--brand-700)}
body.page-search .pub-avatar--team{background:var(--brand-50);border:1px solid var(--brand-100)}
body.page-search .pub-avatar--owner{background:var(--accent-50);border:1px solid #F6D9BC;color:#A44A05}
body.page-search .pub-agent{font-size:11.5px;color:var(--slate-600);font-weight:500}
body.page-search .pub-role{font-size:11px;color:var(--slate-400)}
body.page-search .pub-dot{width:3px;height:3px;border-radius:50%;background:var(--line);flex-shrink:0}
body.page-search .pub-fresh{font-size:11px;color:var(--slate-400)}
body.page-search .pcard-actions{display:flex;align-items:center;gap:6px}
body.page-search .act{height:34px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff; font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--ink-800);transition:.16s; display:inline-flex;align-items:center;justify-content:center}
body.page-search .act:hover{border-color:var(--brand-600);color:var(--brand-700);background:var(--brand-50)}
body.page-search .act--chat{background:var(--ink-900);border-color:var(--ink-900);color:#fff;flex:1;max-width:120px}
body.page-search .act--chat:hover{background:var(--brand-700);border-color:var(--brand-700);color:#fff}
body.page-search .act--wa{width:34px;padding:0;flex-shrink:0}
body.page-search .act--wa svg{width:16px;height:16px}
body.page-search .act--more{color:var(--slate-600)}
body.page-search .pcard--premium{border-color:#C9D6EE}
body.page-search .pcard--premium::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--navy-800);z-index:2}
body.page-search .premium-note{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--slate-400); display:flex;align-items:center;gap:6px}
body.page-search .premium-note::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--accent-500);flex-shrink:0}
body.page-search .match-why{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}
body.page-search .match-why span{font-family:var(--font-ui);font-size:11.5px;font-weight:600;color:var(--brand-700);background:var(--brand-50); border:1px solid var(--brand-100);padding:4px 8px;border-radius:var(--r-pill)}
body.page-search .match-head{font-family:var(--font-ui);font-size:12px;font-weight:700;color:var(--ink-900);display:flex;align-items:center;gap:6px}
body.page-search .match-head::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-600)}
body.page-search .cards.is-list .pcard,body.page-search .layout.is-map .pcard{flex-direction:row}
body.page-search .cards.is-list .pcard-media,body.page-search .layout.is-map .pcard-media{width:38%;flex-shrink:0;aspect-ratio:auto;min-height:190px}
body.page-search .cards.is-list .pcard-body,body.page-search .layout.is-map .pcard-body{width:62%}
body.page-search .layout.is-map .pcard-media{width:42%;min-height:160px}
body.page-search .layout.is-map .pcard-body{width:58%;padding:14px}
body.page-search .layout.is-map .pcard-price{font-size:17px}
body.page-search .near-matches{margin-top:var(--s6)}
body.page-search .nm-head{display:flex;align-items:center;gap:10px;margin-bottom:var(--s4)}
body.page-search .nm-head h2{font-size:17px}
body.page-search .nm-head p{font-size:13.5px;color:var(--slate-500)}
body.page-search .nm-flag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-ui);font-size:11.5px;font-weight:700; color:#8A5A12;background:var(--accent-50);border:1px solid #F6D9BC;padding:4px 9px;border-radius:6px;width:fit-content}
body.page-search .empty-state{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s6);text-align:left; box-shadow:var(--e1)}
body.page-search .empty-state h2{margin-bottom:8px}
body.page-search .empty-state p{font-size:15px;color:var(--slate-500);max-width:58ch}
body.page-search .empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
body.page-search .empty-actions .btn{height:42px}
body.page-search .skeleton{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
body.page-search .sk-media{aspect-ratio:4/3;background:linear-gradient(90deg,#EEF1F7 25%,#F7F9FC 37%,#EEF1F7 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite}
body.page-search .sk-body{padding:16px;display:flex;flex-direction:column;gap:10px}
body.page-search .sk-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#EEF1F7 25%,#F7F9FC 37%,#EEF1F7 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite}
body.page-search .sk-line.w60{width:60%}
body.page-search .sk-line.w40{width:40%}
body.page-search .sk-line.w80{width:80%}
body.page-search .pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--s7);flex-wrap:wrap}
body.page-search .pg{min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800); display:inline-flex;align-items:center;justify-content:center;transition:.16s}
body.page-search .pg:hover:not(:disabled){border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .pg[aria-current="page"]{background:var(--ink-900);border-color:var(--ink-900);color:#fff}
body.page-search .pg:disabled{opacity:.4;cursor:default}
body.page-search .pg-info{width:100%;text-align:center;font-size:13px;color:var(--slate-400);margin-top:10px}
body.page-search .sponsored-unit{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);overflow:hidden}
body.page-search .su-media{position:relative;min-height:210px;background:linear-gradient(135deg,#DCE6FF,#EEF3FF)}
body.page-search .su-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body.page-search .su-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13.5px;color:var(--brand-700);padding:16px;text-align:center}
body.page-search .su-body{padding:var(--s5);display:flex;flex-direction:column;justify-content:center;gap:10px}
body.page-search .su-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.page-search .su-label{font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; color:var(--brand-700);background:#fff;border:1px solid var(--brand-100);padding:4px 9px;border-radius:5px}
body.page-search .su-dev{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500)}
body.page-search .su-title{font-family:var(--font-ui);font-size:19px;font-weight:700;color:var(--ink-900);letter-spacing:-.015em}
body.page-search .su-loc{font-size:13.5px;color:var(--slate-500);display:flex;align-items:center;gap:6px}
body.page-search .su-loc svg{width:13px;height:13px;color:var(--slate-400)}
body.page-search .su-units{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--slate-600);padding-top:4px}
body.page-search .su-units b{font-family:var(--font-ui);color:var(--ink-900)}
body.page-search .su-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
body.page-search .su-disclosure{font-size:11.5px;color:var(--slate-400);margin-top:6px}
body.page-search .ad-slot{grid-column:1/-1}
body.page-search .ad-slot[hidden]{display:none}
body.page-search .ad-unit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line); border-radius:var(--r-md);overflow:hidden;background:#FBFAF8}
body.page-search .ad-media{position:relative;min-height:190px;background:linear-gradient(135deg,#EFEDE8,#E4E9F2);overflow:hidden}
body.page-search .ad-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body.page-search .ad-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13.5px;color:#6E6558;padding:18px;text-align:center}
body.page-search .ad-body{padding:var(--s5);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body.page-search .ad-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
body.page-search .ad-label{font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; color:#7A6A4F;background:#F3EADA;border:1px solid #E6D8BE;padding:4px 9px;border-radius:5px}
body.page-search .ad-advertiser{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500)}
body.page-search .ad-headline{font-family:var(--font-ui);font-size:19px;font-weight:700;line-height:1.28;color:var(--ink-900);max-width:28ch}
body.page-search .ad-copy{font-size:14px;color:var(--slate-500);margin-top:8px;max-width:48ch}
body.page-search .ad-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;margin-top:16px;background:var(--ink-900); color:#fff;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:600}
body.page-search .ad-unit:hover .ad-cta{background:#16294A}
body.page-search .ad-disclosure{font-size:11.5px;color:var(--slate-400);margin-top:14px;max-width:60ch;line-height:1.5}
body.page-search .map-col{position:sticky;top:calc(var(--header-h) + var(--searchbar-h) + 12px)}
body.page-search .map-shell{position:relative;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#EEF2F7; height:calc(100vh - var(--header-h) - var(--searchbar-h) - 48px);min-height:520px}
body.page-search .map-canvas{position:absolute;inset:0}
body.page-search .map-art{position:absolute;inset:0;width:100%;height:100%}
body.page-search .map-markers{position:absolute;inset:0}
body.page-search .mk{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-ui);font-size:12.5px;font-weight:700; color:var(--ink-900);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill); padding:6px 11px;box-shadow:var(--e2);transition:.16s;white-space:nowrap;z-index:2}
body.page-search .mk:hover,body.page-search .mk.is-hot{background:var(--brand-600);border-color:var(--brand-600);color:#fff;transform:translate(-50%,-50%) scale(1.06);z-index:4}
body.page-search .mk.is-premium{border-color:var(--navy-800);box-shadow:0 0 0 1px var(--navy-800),var(--e2)}
body.page-search .mk.is-cluster{background:var(--ink-900);border-color:var(--ink-900);color:#fff;padding:8px 12px}
body.page-search .map-top{position:absolute;top:14px;left:0;right:0;display:flex;justify-content:center;z-index:5}
body.page-search .map-search-area{height:40px;padding:0 18px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line); box-shadow:var(--e2);font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink-900)}
body.page-search .map-search-area:hover{border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .map-zoom{position:absolute;right:14px;bottom:56px;display:flex;flex-direction:column;gap:2px;z-index:5}
body.page-search .mz{width:38px;height:38px;background:#fff;border:1px solid var(--line);font-size:17px;color:var(--ink-800); display:flex;align-items:center;justify-content:center}
body.page-search .mz:first-child{border-radius:var(--r-sm) var(--r-sm) 0 0}
body.page-search .mz:last-child{border-radius:0 0 var(--r-sm) var(--r-sm);border-top:0}
body.page-search .map-note{position:absolute;left:12px;bottom:12px;font-size:11px;color:var(--slate-500);background:rgba(255,255,255,.9); padding:5px 10px;border-radius:var(--r-pill);z-index:5}
body.page-search .map-preview{position:absolute;left:12px;right:12px;bottom:44px;background:#fff;border:1px solid var(--line); border-radius:var(--r-md);box-shadow:var(--e3);display:flex;gap:12px;padding:10px;z-index:6;animation:rise .22s ease}
body.page-search .mp-img{width:96px;height:76px;border-radius:8px;object-fit:cover;background:var(--brand-100);flex-shrink:0}
body.page-search .mp-body{min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center}
body.page-search .mp-price{font-family:var(--font-ui);font-weight:800;font-size:16px;color:var(--ink-900)}
body.page-search .mp-title{font-size:13px;color:var(--ink-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-search .mp-loc{font-size:12px;color:var(--slate-500)}
body.page-search .mp-close{position:absolute;top:6px;right:8px;color:var(--slate-400);font-size:20px;line-height:1;width:32px;height:32px}
body.page-search .filter-panel{position:fixed;top:0;right:0;bottom:0;width:min(94vw,420px);background:#fff;z-index:95;display:flex; flex-direction:column;box-shadow:var(--e3);animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-search .fp-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line); font-family:var(--font-ui);color:var(--ink-900)}
body.page-search .fp-head strong{font-size:16px}
body.page-search .fp-back{font-size:26px;line-height:1;color:var(--slate-500);width:40px;height:40px;order:-1}
body.page-search .fp-clear{margin-left:auto;font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--brand-600);padding:8px}
body.page-search .fp-body{padding:6px 18px 18px;overflow-y:auto;flex:1}
body.page-search .fgroup{padding:18px 0;border-bottom:1px solid var(--line-soft)}
body.page-search .fgroup:last-child{border-bottom:0}
body.page-search .fgroup h3{margin-bottom:12px;font-size:13.5px}
body.page-search .fopts{display:flex;flex-wrap:wrap;gap:8px}
body.page-search .fopt{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-600);background:#fff; border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;min-height:40px;transition:.16s}
body.page-search .fopt:hover{border-color:var(--slate-400);color:var(--ink-900)}
body.page-search .fopt.is-on{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-search .fopt.is-on::before{content:"✓ ";font-weight:700}
body.page-search .fp-foot{display:flex;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid var(--line);background:#fff}
body.page-search .fp-foot .btn-outline{flex:0 0 auto;padding:0 18px}
body.page-search .ask-panel{position:fixed;right:24px;bottom:24px;width:380px;max-height:min(560px,80vh);background:#fff; border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e3);z-index:85;display:flex; flex-direction:column;overflow:hidden;animation:rise .22s ease}
body.page-search .ask-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;border-bottom:1px solid var(--line-soft);font-family:var(--font-ui);font-weight:700;font-size:14.5px;color:var(--ink-900)}
body.page-search .ask-reset{margin-left:auto;font-size:12.5px;font-family:var(--font-ui);color:var(--slate-400)}
body.page-search .ask-reset:hover{color:var(--brand-600)}
body.page-search .ask-thread{padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;flex:1;min-height:120px}
body.page-search .msg{max-width:88%;padding:11px 14px;border-radius:var(--r-md);font-size:14px;line-height:1.55;animation:rise .26s ease}
body.page-search .msg--user{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
body.page-search .msg--ai{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-search .msg--applied{align-self:stretch;background:#fff;border:1px dashed var(--brand-100);color:var(--brand-700); font-family:var(--font-ui);font-size:12.5px;font-weight:600;display:flex;gap:8px;align-items:flex-start}
body.page-search .msg--applied::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-600);margin-top:6px;flex-shrink:0}
body.page-search .typing{display:flex;gap:4px;align-items:center;padding:13px 15px}
body.page-search .typing i{width:6px;height:6px;border-radius:50%;background:var(--slate-400);animation:bounce 1.2s infinite}
body.page-search .typing i:nth-child(2){animation-delay:.15s}
body.page-search .typing i:nth-child(3){animation-delay:.3s}
body.page-search .ask-prompts{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px}
body.page-search .ask-prompt{font-size:12.5px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100); padding:8px 12px;border-radius:var(--r-pill);text-align:left;min-height:36px;transition:.16s}
body.page-search .ask-prompt:hover{background:var(--brand-100)}
body.page-search .ask-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line-soft)}
body.page-search .ask-input input{flex:1;height:44px;padding:0 15px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:14.5px;color:var(--ink-900)}
body.page-search .ask-input input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-search .ask-send{width:44px;height:44px;border-radius:50%;background:var(--brand-600);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-search .ask-send:hover{background:var(--brand-700)}
body.page-search .ask-send svg{width:19px;height:19px}
body.page-search .modal-scrim{position:fixed;inset:0;background:rgba(7,26,69,.5);z-index:100;animation:fade .2s}
body.page-search .contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(94vw,480px);max-height:86vh; background:#fff;border-radius:var(--r-lg);box-shadow:var(--e3);z-index:105;display:flex;flex-direction:column; overflow:hidden;animation:rise .22s ease}
body.page-search .cm-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;border-bottom:1px solid var(--line-soft)}
body.page-search .cm-back{width:34px;height:34px;border-radius:var(--r-sm);color:var(--slate-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-search .cm-back:hover{background:var(--canvas);color:var(--ink-900)}
body.page-search .cm-back svg{width:15px;height:15px}
body.page-search .cm-who{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body.page-search .cm-who-main{display:flex;align-items:center;gap:9px;min-width:0}
body.page-search .cm-who-main span{display:flex;flex-direction:column;min-width:0}
body.page-search .cm-who-main b{font-family:var(--font-ui);font-size:14.5px;font-weight:700;color:var(--ink-900);line-height:1.25}
body.page-search .cm-who-main i{font-style:normal;font-size:11.5px;color:var(--slate-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-search .cm-who-pane{margin-left:auto;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em; text-transform:uppercase;color:var(--slate-400);flex-shrink:0}
body.page-search .cm-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-100); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:12px; font-weight:800;color:var(--brand-700)}
body.page-search .cm-context{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:var(--canvas); border-bottom:1px solid var(--line-soft)}
body.page-search .cm-ctx-label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400)}
body.page-search .cm-ctx-title{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-900)}
body.page-search .cm-ctx-meta{font-size:12.5px;color:var(--slate-500)}
body.page-search .cm-ctx-meta b{color:var(--ink-900);font-family:var(--font-ui)}
body.page-search .cm-body{padding:16px 18px 20px;overflow-y:auto}
body.page-search .cm-options{display:flex;flex-direction:column;gap:8px}
body.page-search .cm-opt{display:flex;flex-direction:column;gap:2px;text-align:left;padding:14px 15px;border:1px solid var(--line); border-radius:var(--r-md);background:#fff;transition:.16s;min-height:60px}
body.page-search .cm-opt:hover{border-color:var(--brand-600);background:var(--brand-50)}
body.page-search .cm-opt b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-search .cm-opt span{font-size:12.5px;color:var(--slate-500)}
body.page-search .cm-opt.is-future{opacity:.55;cursor:default}
body.page-search .cm-opt.is-future:hover{border-color:var(--line);background:#fff}
body.page-search .cm-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
body.page-search .cmsg{max-width:88%;padding:11px 14px;border-radius:var(--r-md);font-size:14px;line-height:1.5}
body.page-search .cmsg--them{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-search .cmsg--meta{align-self:flex-start;font-size:11.5px;color:var(--slate-400);padding:0 4px}
body.page-search .cm-chatform{display:flex;gap:8px}
body.page-search .cm-chatform input{flex:1;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px}
body.page-search .cm-chatform input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-search .cm-form{display:flex;flex-direction:column;gap:12px}
body.page-search .cm-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--ink-800)}
body.page-search .cm-form input,body.page-search .cm-form textarea,body.page-search .cm-form select{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px; color:var(--ink-900);background:#fff;font-family:var(--font-body);font-weight:400}
body.page-search .cm-form textarea{height:auto;padding:12px 14px;resize:vertical}
body.page-search .cm-form input:focus,body.page-search .cm-form textarea:focus,body.page-search .cm-form select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-search .cm-check{flex-direction:row !important;align-items:center;gap:9px;font-size:14px;font-weight:600;min-height:44px}
body.page-search .cm-check input{width:18px;height:18px;accent-color:var(--brand-600)}
body.page-search .cm-when{display:flex;flex-direction:column;gap:12px}
body.page-search .cm-tz{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--brand-50); border:1px solid var(--brand-100);border-radius:var(--r-sm)}
body.page-search .cm-tz span{display:flex;flex-direction:column;font-size:11.5px;color:var(--slate-500);gap:2px}
body.page-search .cm-tz b{font-family:var(--font-ui);font-size:14px;color:var(--ink-900)}
body.page-search .cm-tz-arrow{color:var(--brand-600);font-weight:700}
body.page-search .cm-pane{display:flex;flex-direction:column;gap:14px}
body.page-search .cm-state{display:flex;flex-direction:column;gap:5px;padding:14px 15px;background:var(--canvas);border-radius:var(--r-md)}
body.page-search .cm-state b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-search .cm-state span{font-size:13px;color:var(--slate-500)}
body.page-search .cm-number{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md)}
body.page-search .cm-num-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-search .cm-number b{font-family:var(--font-ui);font-size:22px;letter-spacing:-.01em;color:var(--ink-900)}
body.page-search .cm-prefill{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:1px dashed var(--line);border-radius:var(--r-md)}
body.page-search .cm-prefill span{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-search .cm-prefill p{font-size:13.5px;color:var(--slate-600);line-height:1.5}
body.page-search .cm-note{font-size:11.5px;color:var(--slate-400);line-height:1.55;margin-top:10px}
body.page-search .cm-note--rule{padding-top:10px;border-top:1px solid var(--line-soft)}
body.page-search .cm-note b{color:var(--slate-500)}
body.page-search .cm-attr{font-size:11px;color:var(--slate-400);line-height:1.55;margin-top:12px;padding-top:10px; border-top:1px solid var(--line-soft)}
body.page-search .cm-attr b{color:var(--slate-600)}
body.page-search .discovery{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line)}
body.page-search .disc-title{font-size:18px;margin-bottom:var(--s5)}
body.page-search .disc-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s5) var(--s6)}
body.page-search .disc-group h3{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--slate-400);margin-bottom:3px}
body.page-search .disc-sub{font-size:11.5px;color:var(--slate-400);margin-bottom:10px}
body.page-search .disc-group li{margin-bottom:7px}
body.page-search .disc-link{font-size:13.5px;color:var(--slate-600);transition:.14s;line-height:1.45;text-align:left; display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
body.page-search .disc-link:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
body.page-search .disc-sponsored{font-family:var(--font-ui);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; color:#7A6A4F;background:#F3EADA;border:1px solid #E6D8BE;padding:2px 6px;border-radius:4px}
body.page-search .disc-note{margin-top:var(--s5);font-size:12px;color:var(--slate-400);max-width:92ch;line-height:1.6}
body.page-search .disc-note code{font-size:11.5px;color:var(--slate-500);background:var(--canvas);border:1px solid var(--line-soft); padding:1px 5px;border-radius:4px}
body.page-search .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:120;background:var(--ink-900);color:#fff; font-family:var(--font-ui);font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:var(--r-pill); box-shadow:var(--e3);animation:rise .22s ease}
body.page-search .site-footer{background:var(--ink-900);color:#93A9CE;padding:var(--s5) 0}
body.page-search .footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
body.page-search .foot-legal{display:flex;gap:18px}
body.page-search .foot-legal a:hover{color:#fff}
body.page-search .notes-toggle{position:fixed;right:20px;bottom:20px;z-index:80;background:var(--ink-900);color:#fff;font-family:var(--font-ui); font-size:13px;font-weight:600;padding:11px 16px;border-radius:var(--r-pill);box-shadow:var(--e3)}
body.page-search .notes-panel{position:fixed;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;z-index:96;box-shadow:var(--e3); display:flex;flex-direction:column;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-search .notes-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);font-family:var(--font-ui);color:var(--ink-900)}
body.page-search .notes-body{padding:20px;overflow-y:auto}
body.page-search .notes-body h4{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-600);margin:22px 0 10px}
body.page-search .notes-body h4:first-child{margin-top:0}
body.page-search .notes-p{font-size:14px;line-height:1.65;color:var(--slate-600)}
body.page-search .mobile-bar,body.page-search .mobile-map,body.page-search .sheet{display:none}
@media (max-width:1200px){
  body.page-search .primary-nav{display:none}
  body.page-search .cards{grid-template-columns:repeat(2,1fr)}
  body.page-search .layout.is-map{grid-template-columns:1fr}
  body.page-search .map-col{position:relative;top:0}
  body.page-search .map-shell{height:460px}
}
@media (max-width:1420px){
  body.page-search .nav-link{padding:9px 8px;font-size:13.5px}
}
@media (max-width:1340px){
  body.page-search .sign-in{display:none}
}
@media (max-width:820px){
  body.page-search{--header-h:60px;--searchbar-h:104px}
  body.page-search .shell{padding:0 16px}
  body.page-search .header-actions{display:none}
  body.page-search .hamburger{display:flex}
  body.page-search .logo.has-cat .logo-cat{display:block}
  body.page-search .logo.has-cat .logo-full,body.page-search .logo.has-cat .logo-word{display:none}
  body.page-search .mockup-flag{font-size:11.5px;padding:7px 32px 7px 12px;text-align:center}
  body.page-search .searchbar{padding:10px 0}
  body.page-search .sb-row--context{margin-bottom:8px;gap:8px}
  body.page-search .class-seg{padding:3px}
  body.page-search .class-btn{padding:8px 14px;font-size:13px;min-height:36px}
  body.page-search .ask-btn{display:none}
  body.page-search .sb-row--query{gap:8px}
  body.page-search .market-chip{height:44px;max-width:132px;font-size:13.5px}
  body.page-search .search-field{min-width:0;flex:1}
  body.page-search .search-field input{height:44px;font-size:16px}
  body.page-search .btn-search{display:none}
  body.page-search .quick-filters{display:none}
  body.page-search .type-shortcuts{margin:10px -16px 0;padding:0 16px 2px}
  body.page-search .tsc{min-height:40px}
  body.page-search .active-filters{margin-top:10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  body.page-search .active-filters::-webkit-scrollbar{display:none}
  body.page-search .fchip{flex-shrink:0}
  body.page-search .results-wrap{padding:16px 0 96px}
  body.page-search .results-head{margin-bottom:14px;gap:10px}
  body.page-search h1{font-size:19px}
  body.page-search .rh-tools{display:none}
  body.page-search .cards{grid-template-columns:1fr;gap:12px}
  body.page-search .pcard{flex-direction:row}
  body.page-search .pcard-media{width:40%;flex-shrink:0;aspect-ratio:auto;min-height:140px}
  body.page-search .pcard-body{width:60%;padding:11px;gap:5px}
  body.page-search .pcard-price{font-size:17px}
  body.page-search .pcard-title{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.page-search .pcard-specs{gap:10px;font-size:12.5px;padding-top:9px}
  body.page-search .pcard-pub{font-size:11px}
  body.page-search .save{width:36px;height:36px;top:8px;right:8px}
  body.page-search .badges{top:8px;left:8px;max-width:calc(100% - 54px)}
  body.page-search .badge{font-size:10px;padding:4px 7px}
  body.page-search .pcard-purpose-line{font-size:10.5px}
  body.page-search .match-why span{font-size:11px}
  body.page-search .marrow{display:none}
  body.page-search .mdots{bottom:8px}
  body.page-search .mcount{left:8px;bottom:7px;font-size:11px}
  body.page-search .mvideo{font-size:9.5px}
  body.page-search .pcard-foot{gap:8px;padding-top:8px}
  body.page-search .pub-logo{width:20px;height:20px;font-size:8.5px}
  body.page-search .pub-avatar{width:18px;height:18px;font-size:8px}
  body.page-search .pub-role{display:none}
  body.page-search .pcard-actions{width:100%}
  body.page-search .act{height:38px;font-size:12.5px}
  body.page-search .act--chat{flex:1;max-width:none}
  body.page-search .act--wa{flex:0 0 42px;width:42px}
  body.page-search .act--more{flex:0 0 auto;padding:0 11px}
  body.page-search .premium-note{font-size:10.5px}
  body.page-search .contact-modal{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:88vh; border-radius:var(--r-lg) var(--r-lg) 0 0;animation:sheetUp .26s cubic-bezier(.2,.8,.2,1)}
  body.page-search .cm-head{padding:14px 10px 14px 16px}
  body.page-search .cm-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
  body.page-search .cm-opt{min-height:64px}
  body.page-search .cm-tz{flex-wrap:wrap}
  body.page-search .discovery{margin-top:var(--s7);padding-top:var(--s5)}
  body.page-search .disc-groups{grid-template-columns:1fr;gap:var(--s5)}
  body.page-search .disc-group li{margin-bottom:2px}
  body.page-search .disc-link{display:block;padding:9px 0;font-size:14px}
  body.page-search .sponsored-unit{grid-template-columns:1fr}
  body.page-search .su-media{min-height:0;height:150px}
  body.page-search .su-body{padding:16px}
  body.page-search .su-title{font-size:17px}
  body.page-search .su-actions .btn{flex:1}
  body.page-search .ad-unit{grid-template-columns:1fr}
  body.page-search .ad-media{min-height:0;height:132px}
  body.page-search .ad-media::before{content:"Sponsored";position:absolute;z-index:2;top:10px;left:10px;font-family:var(--font-ui);font-size:10px; font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-900); background:rgba(255,255,255,.94);padding:5px 9px;border-radius:5px}
  body.page-search .ad-body{padding:16px}
  body.page-search .ad-meta .ad-label{display:none}
  body.page-search .ad-headline{font-size:17px;max-width:none}
  body.page-search .ad-copy{font-size:13.5px;max-width:none}
  body.page-search .ad-cta{width:100%;justify-content:center;height:46px}
  body.page-search .filter-panel{width:100%;top:0;border-radius:0}
  body.page-search .fp-head{padding:14px 12px}
  body.page-search .fp-body{padding:0 16px 16px}
  body.page-search .fopt{min-height:44px;font-size:14px}
  body.page-search .fp-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  body.page-search .ask-panel{right:0;left:0;bottom:0;width:100%;max-height:82vh;border-radius:var(--r-lg) var(--r-lg) 0 0; border-bottom:0;animation:sheetUp .26s cubic-bezier(.2,.8,.2,1)}
  body.page-search .ask-prompt{width:100%}
  body.page-search .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:8px;align-items:center; padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95); backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  body.page-search .mb-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:46px;border-radius:var(--r-pill); background:var(--canvas);border:1px solid var(--line);font-family:var(--font-ui);font-size:14px;font-weight:600; color:var(--ink-900)}
  body.page-search .mb-btn svg{width:15px;height:15px}
  body.page-search .mb-btn--map{background:var(--ink-900);border-color:var(--ink-900);color:#fff}
  body.page-search .mb-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px; border-radius:var(--r-pill);background:var(--brand-600);color:#fff;font-size:11px;font-weight:700}
  body.page-search .mb-ai{width:46px;height:46px;border-radius:50%;background:var(--brand-600);display:flex;align-items:center; justify-content:center;box-shadow:var(--e-brand);flex-shrink:0}
  body.page-search .mb-ai .ai-dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.3);animation:none}
  body.page-search .sheet{display:block;position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff; border-radius:var(--r-lg) var(--r-lg) 0 0;padding:8px 16px calc(16px + env(safe-area-inset-bottom)); animation:sheetUp .26s cubic-bezier(.2,.8,.2,1)}
  body.page-search .sheet-grip{width:38px;height:4px;border-radius:2px;background:var(--line);margin:6px auto 12px}
  body.page-search .sheet-title{font-size:16px;margin-bottom:8px}
  body.page-search .sheet-item{display:flex;align-items:center;width:100%;min-height:52px;padding:0 4px;font-family:var(--font-ui); font-size:15.5px;color:var(--ink-800);border-bottom:1px solid var(--line-soft);text-align:left}
  body.page-search .sheet-item:last-child{border-bottom:0}
  body.page-search .sheet-item.is-active{color:var(--brand-700);font-weight:700}
  body.page-search .sheet-item.is-active::after{content:"✓";margin-left:auto;font-weight:700}
  body.page-search .map-col{display:none !important}
  body.page-search .mobile-map{display:flex;flex-direction:column;position:fixed;inset:0;z-index:110;background:#EEF2F7; animation:fade .2s ease}
  body.page-search .mm-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line); padding-top:calc(10px + env(safe-area-inset-top))}
  body.page-search .mm-back{display:flex;align-items:center;gap:6px;height:42px;padding:0 12px;font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-900)}
  body.page-search .mm-back svg{width:15px;height:15px}
  body.page-search .mm-count{margin-left:auto;font-size:13px;color:var(--slate-500)}
  body.page-search .mm-filters{height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink-900)}
  body.page-search .mm-canvas{position:relative;flex:1;overflow:hidden}
  body.page-search .mm-search-area{position:absolute;top:calc(72px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5; height:40px;padding:0 18px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line); box-shadow:var(--e2);font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink-900)}
  body.page-search .mm-preview{position:absolute;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));background:#fff; border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--e3);display:flex;gap:12px;padding:10px; z-index:6;animation:rise .22s ease}
  body.page-search .notes-toggle{bottom:76px;right:14px;font-size:12px;padding:9px 13px}
  body.page-search .site-footer{padding-bottom:80px}
  body.page-search .empty-state{padding:20px}
  body.page-search .empty-actions .btn{flex:1;min-width:140px}
  body.page-search .pagination{margin-top:var(--s6)}
}
@media (max-width:400px){
  body.page-search .pcard-media{width:38%;min-height:140px}
  body.page-search .market-chip{max-width:116px}
}
@media (prefers-reduced-motion:reduce){
  body.page-search,body.page-search *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ---------- UI-003 — listing detail ---------- */
/* The package entire, scoped to its own pages. Every rule is scoped, so
   the package's own cascade — including its responsive overrides — is
   preserved exactly, and it cannot restyle any other page. */

body.page-listing{--brand-700:#0F38B8; --brand-600:#1447E6; --brand-500:#2E62FF; --brand-100:#DCE6FF; --brand-50:#EEF3FF; --navy-900:#071A45; --navy-800:#0B2A6B; --navy-700:#123573; --ink-900:#0A1A33; --ink-800:#16294A; --slate-600:#41506B; --slate-500:#5A6B85; --slate-400:#8A97AC; --line:#E4E9F2; --line-soft:#EEF1F7; --canvas:#F5F7FB; --surface:#FFFFFF; --accent-500:#F2761B; --accent-50:#FFF3E8; --font-ui:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,sans-serif; --font-body:'Inter',system-ui,-apple-system,sans-serif; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px; --e1:0 1px 2px rgba(10,26,51,.05); --e2:0 6px 20px -8px rgba(10,26,51,.14); --e3:0 18px 44px -16px rgba(10,26,51,.22); --e-brand:0 12px 28px -12px rgba(20,71,230,.45); --shell:1240px; --header-h:72px;}
body.page-listing,body.page-listing *,body.page-listing::before,body.page-listing *::before,body.page-listing::after,body.page-listing *::after{box-sizing:border-box}
body.page-listing [hidden]{display:none !important}
body.page-listing{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.page-listing{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--slate-600); background:var(--surface);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.page-listing h1,body.page-listing h2,body.page-listing h3,body.page-listing h4{font-family:var(--font-ui);color:var(--ink-900);letter-spacing:-.02em;margin:0;line-height:1.2}
body.page-listing h1{font-size:clamp(21px,2vw,27px);font-weight:700}
body.page-listing h2{font-size:19px;font-weight:700}
body.page-listing h3{font-size:15px;font-weight:700;letter-spacing:0}
body.page-listing p{margin:0}
body.page-listing a{color:inherit;text-decoration:none}
body.page-listing img{max-width:100%;display:block}
body.page-listing button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body.page-listing input,body.page-listing select,body.page-listing textarea{font:inherit}
body.page-listing ul,body.page-listing dl,body.page-listing dd{margin:0;padding:0;list-style:none}
body.page-listing :focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:4px}
body.page-listing .shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 24px}
body.page-listing .skip-link{position:absolute;left:-9999px}
body.page-listing .skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--e2)}
body.page-listing .mockup-flag{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink-900);color:#C6D3EA; font-size:12.5px;padding:8px 40px 8px 16px;position:relative;font-family:var(--font-ui);flex-wrap:wrap}
body.page-listing .mockup-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-500)}
body.page-listing .flag-variant{display:flex;align-items:center;gap:8px;color:#8FA6C9}
body.page-listing .flag-variant select{background:#16294A;color:#fff;border:1px solid #24395F;border-radius:6px;padding:5px 8px;font-size:12.5px; font-family:var(--font-ui)}
body.page-listing .flag-x{position:absolute;right:12px;color:#7F92B4;font-size:18px;line-height:1;padding:4px 8px}
body.page-listing .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600; font-size:14.5px;height:44px;padding:0 20px;border-radius:var(--r-sm);white-space:nowrap; transition:background .18s,color .18s,box-shadow .18s,transform .12s,border-color .18s}
body.page-listing .btn:active{transform:translateY(1px)}
body.page-listing .btn-primary{background:var(--brand-600);color:#fff;box-shadow:var(--e-brand)}
body.page-listing .btn-primary:hover{background:var(--brand-700)}
body.page-listing .btn-outline{border:1.5px solid var(--line);color:var(--ink-900);background:#fff}
body.page-listing .btn-outline:hover{border-color:var(--brand-600);color:var(--brand-600)}
body.page-listing .btn-ink{background:var(--ink-900);color:#fff}
body.page-listing .btn-ink:hover{background:var(--brand-700)}
body.page-listing .btn-ghost{color:var(--ink-800);padding:0 12px}
body.page-listing .btn-ghost:hover{color:var(--brand-600)}
body.page-listing .btn-block{width:100%}
body.page-listing .link-btn{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--brand-600);padding:8px 0; border-radius:4px}
body.page-listing .link-btn:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
body.page-listing .link-quiet{color:var(--slate-400);font-weight:500;font-size:13px}
body.page-listing .link-quiet:hover{color:var(--slate-600)}
body.page-listing .menu-wrap{position:relative}
body.page-listing .menu{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;background:#fff;border:1px solid var(--line); border-radius:var(--r-md);box-shadow:var(--e3);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px); transition:.18s;z-index:70}
body.page-listing .menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
body.page-listing .menu-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--slate-400);padding:8px 10px 6px}
body.page-listing .menu-hint{text-transform:none;letter-spacing:0;font-weight:500;opacity:.85}
body.page-listing .menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14.5px;color:var(--ink-800);transition:.14s;min-height:42px}
body.page-listing .menu-item:hover{background:var(--brand-50);color:var(--brand-700)}
body.page-listing .menu-item.is-active{background:var(--brand-50);color:var(--brand-700);font-weight:600}
body.page-listing .menu-meta{margin-left:auto;font-size:12.5px;color:var(--slate-400)}
body.page-listing .menu-foot{font-size:12px;color:var(--slate-400);padding:8px 10px 4px;margin-top:4px;border-top:1px solid var(--line-soft);line-height:1.5}
body.page-listing .chev{width:11px;height:11px;color:var(--slate-400);flex-shrink:0}
body.page-listing .site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line-soft)}
body.page-listing .header-inner{display:flex;align-items:center;gap:var(--s4);height:var(--header-h)}
body.page-listing .logo,body.page-listing .drawer-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
body.page-listing .logo-full{height:32px;width:auto;display:none}
body.page-listing .logo-cat{height:32px;width:auto;display:none}
body.page-listing .logo.has-full .logo-full,body.page-listing .drawer-logo.has-full .logo-full{display:block}
body.page-listing .logo.has-full .logo-word,body.page-listing .drawer-logo.has-full .logo-word{display:none}
body.page-listing .logo.has-full .logo-cat{display:none}
body.page-listing .logo-word{font-family:var(--font-ui);font-weight:800;font-size:23px;letter-spacing:-.045em;color:var(--navy-900)}
body.page-listing .primary-nav{display:flex;align-items:center;margin-left:var(--s2);min-width:0}
body.page-listing .nav-link{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--slate-600);padding:9px 10px; border-radius:var(--r-sm);transition:.16s;white-space:nowrap}
body.page-listing .nav-link:hover{color:var(--ink-900);background:var(--brand-50)}
body.page-listing .nav-link.is-active{color:var(--brand-600);font-weight:600}
body.page-listing .header-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;padding-left:12px}
body.page-listing .cur-btn,body.page-listing .lang-btn{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--ink-800);transition:.16s}
body.page-listing .cur-btn:hover,body.page-listing .lang-btn:hover{background:var(--brand-50)}
body.page-listing .cur-menu{min-width:290px}
body.page-listing .lang-menu{min-width:170px}
body.page-listing .hamburger{display:none;width:44px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center;margin-left:auto}
body.page-listing .hamburger span{width:20px;height:2px;background:var(--ink-900);border-radius:2px}
body.page-listing .drawer-scrim,body.page-listing .modal-scrim{position:fixed;inset:0;background:rgba(7,26,69,.5);z-index:100;animation:fade .2s}
body.page-listing .drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);background:#fff;z-index:105;display:flex; flex-direction:column;padding:20px;overflow-y:auto;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-listing .drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
body.page-listing .drawer-close{font-size:28px;line-height:1;color:var(--slate-500);width:44px;height:44px}
body.page-listing .drawer-nav{display:flex;flex-direction:column;padding:12px 0}
body.page-listing .drawer-nav a{font-family:var(--font-ui);font-size:17px;font-weight:600;color:var(--ink-900);padding:14px 4px;border-bottom:1px solid var(--line-soft)}
body.page-listing .drawer-foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}
body.page-listing .drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;background:var(--canvas); border-radius:var(--r-sm);font-family:var(--font-ui);font-size:15px;color:var(--ink-900);min-height:48px}
body.page-listing .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:16px;padding-bottom:12px;font-size:13px;color:var(--slate-400)}
body.page-listing .crumbs a:hover{color:var(--brand-600)}
body.page-listing .crumbs span{color:var(--slate-400)}
body.page-listing .crumbs .crumb-now{color:var(--slate-600)}
body.page-listing .gallery-wrap{padding-bottom:var(--s5)}
body.page-listing .gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,1fr);gap:8px; height:440px;border-radius:var(--r-md);overflow:hidden}
body.page-listing .gcell{position:relative;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF);cursor:pointer}
body.page-listing .gcell:first-child{grid-row:span 2}
body.page-listing .gcell img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
body.page-listing .gcell:hover img{transform:scale(1.04)}
body.page-listing .gcell.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13px;color:var(--brand-700);text-align:center;padding:14px}
body.page-listing .gcell-more{position:absolute;inset:0;background:rgba(7,26,69,.55);display:flex;align-items:center;justify-content:center; color:#fff;font-family:var(--font-ui);font-weight:700;font-size:15px;backdrop-filter:blur(1px)}
body.page-listing .g-badges{position:absolute;top:14px;left:14px;display:flex;gap:6px;z-index:2}
body.page-listing .badge{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 9px;border-radius:6px; background:rgba(255,255,255,.94);color:var(--ink-900)}
body.page-listing .badge--premium{background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;gap:5px}
body.page-listing .badge--premium::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--accent-500)}
body.page-listing .badge--project{background:var(--accent-50);color:#A44A05}
body.page-listing .gallery-tools{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
body.page-listing .gt-spacer{flex:1}
body.page-listing .gt-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--line); border-radius:var(--r-pill);background:#fff;font-family:var(--font-ui);font-size:13.5px;font-weight:600; color:var(--ink-800);transition:.16s}
body.page-listing .gt-btn:hover{border-color:var(--brand-600);color:var(--brand-700)}
body.page-listing .gt-btn svg{width:15px;height:15px}
body.page-listing .gt-btn[aria-pressed="true"]{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-listing #saveBtn[aria-pressed="true"] svg{fill:var(--accent-500);stroke:var(--accent-500)}
body.page-listing .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:var(--s7);align-items:start;padding-bottom:var(--s7)}
body.page-listing .detail-main{min-width:0}
body.page-listing .core{padding-bottom:var(--s5);border-bottom:1px solid var(--line-soft)}
body.page-listing .core-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
body.page-listing .purpose-pill{font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase; color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);padding:5px 10px;border-radius:6px}
body.page-listing .fresh{font-size:12.5px;color:var(--slate-400)}
body.page-listing .fresh b{color:var(--slate-500);font-weight:600}
body.page-listing .price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
body.page-listing .price{font-family:var(--font-ui);font-size:clamp(28px,3vw,36px);font-weight:800;letter-spacing:-.025em;color:var(--ink-900)}
body.page-listing .price small{font-size:16px;font-weight:600;color:var(--slate-400);letter-spacing:0}
body.page-listing .price-native{font-family:var(--font-ui);font-size:13.5px;font-weight:500;color:var(--slate-400)}
body.page-listing .price-native b{color:var(--slate-500);font-weight:600}
body.page-listing .core h1{margin:10px 0 8px}
body.page-listing .core-loc{display:flex;align-items:center;gap:7px;font-size:14.5px;color:var(--slate-500)}
body.page-listing .core-loc svg{width:14px;height:14px;color:var(--slate-400);flex-shrink:0}
body.page-listing .core-type{font-size:13.5px;color:var(--slate-400);margin-top:6px}
body.page-listing .keyfacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
body.page-listing .keyfacts li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md); min-width:104px;background:#fff}
body.page-listing .keyfacts b{font-family:var(--font-ui);font-size:17px;font-weight:700;color:var(--ink-900)}
body.page-listing .keyfacts span{font-size:12px;color:var(--slate-400)}
body.page-listing .block{padding:var(--s6) 0;border-bottom:1px solid var(--line-soft)}
body.page-listing .block.wide{border-bottom:0;padding-top:var(--s7)}
body.page-listing .block h2{margin-bottom:var(--s4)}
body.page-listing .block-head{margin-bottom:var(--s5)}
body.page-listing .block-sub{font-size:14px;color:var(--slate-500);margin-top:6px}
body.page-listing .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px 24px}
body.page-listing .facts div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-soft)}
body.page-listing .facts dt{font-size:14px;color:var(--slate-500)}
body.page-listing .facts dd{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-900);text-align:right}
body.page-listing .desc{font-size:15.5px;color:var(--slate-600);line-height:1.72;position:relative;max-height:132px;overflow:hidden}
body.page-listing .desc.is-open{max-height:none}
body.page-listing .desc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px; background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
body.page-listing .desc.is-open::after{display:none}
body.page-listing .desc p+p{margin-top:12px}
body.page-listing .lang-note{font-size:12.5px;color:var(--slate-400);margin-top:12px}
body.page-listing .amenities{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
body.page-listing .amenities li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--slate-600)}
body.page-listing .amenities svg{width:17px;height:17px;color:var(--brand-600);flex-shrink:0}
body.page-listing .loc-card{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
body.page-listing .loc-map{position:relative;height:230px;background:#EEF2F7}
body.page-listing .map-art{position:absolute;inset:0;width:100%;height:100%}
body.page-listing .loc-pin{position:absolute;left:50%;top:48%;width:16px;height:16px;border-radius:50%;background:var(--brand-600); border:3px solid #fff;box-shadow:var(--e2);transform:translate(-50%,-50%);z-index:2}
body.page-listing .loc-radius{position:absolute;left:50%;top:48%;width:150px;height:150px;border-radius:50%;transform:translate(-50%,-50%); background:rgba(20,71,230,.10);border:1px dashed rgba(20,71,230,.35)}
body.page-listing .loc-body{padding:18px}
body.page-listing .loc-address{font-family:var(--font-ui);font-size:15.5px;font-weight:600;color:var(--ink-900)}
body.page-listing .loc-precision{font-size:13px;color:var(--slate-400);margin-top:6px}
body.page-listing .loc-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
body.page-listing .loc-actions .btn{height:40px}
body.page-listing .ai-block{}
body.page-listing .ai-head{display:flex;align-items:center;gap:10px;margin-bottom:var(--s4)}
body.page-listing .ai-head h2{margin:0}
body.page-listing .ai-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--brand-600); box-shadow:0 0 0 4px rgba(20,71,230,.14);animation:pulse 2.6s ease-in-out infinite}
body.page-listing .ai-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);padding:18px 20px;background:var(--canvas); border-radius:var(--r-md);margin-bottom:var(--s4)}
body.page-listing .ai-sum-col h3{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-400);margin-bottom:10px}
body.page-listing .ai-sum-col li{position:relative;padding-left:18px;font-size:14px;color:var(--slate-600);margin-bottom:7px;line-height:1.5}
body.page-listing .ai-sum-col li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--brand-500)}
body.page-listing .ai-sum-col--confirm li::before{background:var(--accent-500)}
body.page-listing .ai-caveat{grid-column:1/-1;font-size:11.5px;color:var(--slate-400);border-top:1px solid var(--line);padding-top:10px}
body.page-listing .ai-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:var(--s4)}
body.page-listing .ai-thread:empty{display:none}
body.page-listing .msg{max-width:80%;padding:11px 14px;border-radius:var(--r-md);font-size:14.5px;line-height:1.55;animation:rise .24s ease}
body.page-listing .msg--user{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
body.page-listing .msg--ai{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-listing .typing{display:flex;gap:4px;align-items:center;padding:13px 15px}
body.page-listing .typing i{width:6px;height:6px;border-radius:50%;background:var(--slate-400);animation:bounce 1.2s infinite}
body.page-listing .typing i:nth-child(2){animation-delay:.15s}
body.page-listing .typing i:nth-child(3){animation-delay:.3s}
body.page-listing .ai-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s4)}
body.page-listing .ai-prompt{font-size:13px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100); padding:9px 13px;border-radius:var(--r-pill);transition:.16s;min-height:38px}
body.page-listing .ai-prompt:hover{background:var(--brand-100)}
body.page-listing .ai-input{display:flex;gap:8px}
body.page-listing .ai-input input{flex:1;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:15px;color:var(--ink-900)}
body.page-listing .ai-input input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-listing .ai-send{width:46px;height:46px;border-radius:50%;background:var(--brand-600);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-listing .ai-send:hover{background:var(--brand-700)}
body.page-listing .ai-send svg{width:19px;height:19px}
body.page-listing .ai-note{font-size:12px;color:var(--slate-400);margin-top:12px;line-height:1.55}
body.page-listing .reserve{border:1px dashed var(--line);border-radius:var(--r-md);padding:20px}
body.page-listing .reserve h3{margin-bottom:8px}
body.page-listing .reserve p{font-size:14px;color:var(--slate-500);max-width:70ch}
body.page-listing .reserve-list{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
body.page-listing .reserve-chip{font-family:var(--font-ui);font-size:12px;font-weight:600;color:var(--slate-400);background:var(--canvas); border:1px solid var(--line);padding:6px 11px;border-radius:var(--r-pill)}
body.page-listing .history{margin-top:18px;display:flex;flex-direction:column;gap:0}
body.page-listing .history li{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
body.page-listing .history li:last-child{border-bottom:0}
body.page-listing .history time{font-family:var(--font-ui);font-size:13px;color:var(--slate-400);min-width:104px}
body.page-listing .history b{font-weight:600;color:var(--ink-900);font-family:var(--font-ui);font-size:14px}
body.page-listing .area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
body.page-listing .area-card{border:1px solid var(--line);border-radius:var(--r-md);padding:16px}
body.page-listing .area-card h3{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-400);margin-bottom:8px}
body.page-listing .area-card p{font-size:14px;color:var(--slate-600)}
body.page-listing .area-card .pending{color:var(--slate-400);font-size:13px}
body.page-listing .illustrative{font-size:12px;color:var(--slate-400);margin-top:14px}
body.page-listing .detail-aside{position:sticky;top:calc(var(--header-h) + 20px)}
body.page-listing .contact-card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e2);overflow:hidden;background:#fff}
body.page-listing .pub-head{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line-soft)}
body.page-listing .pub-logo{width:48px;height:48px;flex-shrink:0;border-radius:10px;background:var(--canvas);border:1px solid var(--line); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:15px;font-weight:800; color:var(--slate-500);letter-spacing:.01em}
body.page-listing .pub-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
body.page-listing .pub-name{display:block;font-family:var(--font-ui);font-size:15.5px;font-weight:700;color:var(--ink-900);line-height:1.3}
body.page-listing .pub-type{display:block;font-size:12.5px;color:var(--slate-500)}
body.page-listing .pub-profile{flex-shrink:0;white-space:nowrap;font-size:13px;padding:6px 0}
body.page-listing .agent-row{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line-soft)}
body.page-listing .agent-row>div{min-width:0}
body.page-listing .agent-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-100); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:20px;font-weight:800; color:var(--brand-700);border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
body.page-listing .agent-photo--owner{background:var(--accent-50);color:#A44A05;box-shadow:0 0 0 1px #F6D9BC}
body.page-listing .agent-name{font-family:var(--font-ui);font-size:16.5px;font-weight:700;color:var(--ink-900);line-height:1.25}
body.page-listing .agent-role{font-size:13.5px;color:var(--slate-500);margin-top:2px}
body.page-listing .agent-assoc{font-size:12.5px;color:var(--slate-400);margin-top:3px}
body.page-listing .trust-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
body.page-listing .trust{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--slate-500);background:var(--canvas); border:1px solid var(--line);padding:4px 9px;border-radius:var(--r-pill)}
body.page-listing .trust--verified{color:#0A6B4B;background:#E7F7F1;border-color:#C6EADC;font-weight:700;letter-spacing:.02em}
body.page-listing .contact-actions{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
body.page-listing .ca-secondary{display:flex;gap:10px}
body.page-listing .ca-secondary .btn{flex:1}
body.page-listing .ca-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;border-radius:var(--r-sm); border:1px dashed var(--line);font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--slate-600); transition:.16s}
body.page-listing .ca-more:hover{border-color:var(--brand-600);color:var(--brand-700);background:var(--brand-50)}
body.page-listing .contact-foot{padding:0 20px 18px;font-size:11.5px;color:var(--slate-400);line-height:1.55}
body.page-listing .report-line{margin-top:14px;text-align:center}
body.page-listing .similar{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.page-listing .pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex; flex-direction:column;transition:box-shadow .24s,transform .24s,border-color .24s}
body.page-listing .pcard:hover{box-shadow:var(--e3);transform:translateY(-3px);border-color:var(--brand-100)}
body.page-listing .pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
body.page-listing .pcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
body.page-listing .pcard:hover .pcard-media img{transform:scale(1.045)}
body.page-listing .pcard-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13px;color:var(--brand-700);text-align:center;padding:14px}
body.page-listing .pcard-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
body.page-listing .pcard-price{font-family:var(--font-ui);font-size:19px;font-weight:800;color:var(--ink-900);letter-spacing:-.02em}
body.page-listing .pcard-title{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-800);line-height:1.35}
body.page-listing .pcard-loc{font-size:13px;color:var(--slate-500)}
body.page-listing .pcard-specs{display:flex;gap:14px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line-soft); font-size:13px;color:var(--slate-600)}
body.page-listing .pcard-specs b{font-weight:600;color:var(--ink-800)}
body.page-listing .discovery{padding-top:var(--s6);border-top:1px solid var(--line)}
body.page-listing .disc-title{font-size:18px;margin-bottom:var(--s5)}
body.page-listing .disc-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s5) var(--s6)}
body.page-listing .disc-group h3{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase; color:var(--slate-400);margin-bottom:3px}
body.page-listing .disc-sub{font-size:11.5px;color:var(--slate-400);margin-bottom:10px}
body.page-listing .disc-group li{margin-bottom:7px}
body.page-listing .disc-link{font-size:13.5px;color:var(--slate-600);transition:.14s;line-height:1.45;text-align:left}
body.page-listing .disc-link:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
body.page-listing .disc-note{margin-top:var(--s5);font-size:12px;color:var(--slate-400);max-width:92ch;line-height:1.6}
body.page-listing .ad-slot{padding:var(--s5) 0}
body.page-listing .ad-slot[hidden]{display:none}
body.page-listing .ad-unit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line); border-radius:var(--r-md);overflow:hidden;background:#FBFAF8}
body.page-listing .ad-media{position:relative;min-height:170px;background:linear-gradient(135deg,#EFEDE8,#E4E9F2);overflow:hidden}
body.page-listing .ad-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body.page-listing .ad-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13px;color:#6E6558;padding:16px;text-align:center}
body.page-listing .ad-body{padding:var(--s5);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body.page-listing .ad-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
body.page-listing .ad-label{font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase; color:#7A6A4F;background:#F3EADA;border:1px solid #E6D8BE;padding:4px 9px;border-radius:5px}
body.page-listing .ad-advertiser{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500)}
body.page-listing .ad-headline{font-family:var(--font-ui);font-size:19px;font-weight:700;line-height:1.28;color:var(--ink-900);max-width:28ch}
body.page-listing .ad-copy{font-size:14px;color:var(--slate-500);margin-top:8px;max-width:48ch}
body.page-listing .ad-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;margin-top:16px;background:var(--ink-900); color:#fff;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:600}
body.page-listing .ad-unit:hover .ad-cta{background:#16294A}
body.page-listing .ad-disclosure{font-size:11.5px;color:var(--slate-400);margin-top:14px;max-width:60ch;line-height:1.5}
body.page-listing .lb{position:fixed;inset:0;z-index:120;background:rgba(7,17,35,.95);display:flex;flex-direction:column;animation:fade .2s}
body.page-listing .lb-head{display:flex;align-items:center;gap:14px;padding:16px 20px;color:#fff}
body.page-listing .lb-count{font-family:var(--font-ui);font-size:14px;font-weight:700}
body.page-listing .lb-title{font-size:13.5px;color:#9DB0CE;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-listing .lb-close{margin-left:auto;color:#fff;font-size:30px;line-height:1;width:44px;height:44px;border-radius:var(--r-sm)}
body.page-listing .lb-close:hover{background:rgba(255,255,255,.12)}
body.page-listing .lb-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:0 20px;min-height:0}
body.page-listing .lb-stage img{max-width:min(1100px,92vw);max-height:100%;object-fit:contain;border-radius:var(--r-sm)}
body.page-listing .lb-stage .lb-fallback{width:min(900px,88vw);aspect-ratio:3/2;border-radius:var(--r-md);background:linear-gradient(135deg,#1B2C4E,#22406F); display:flex;align-items:center;justify-content:center;color:#93A9CE;font-family:var(--font-ui);font-weight:700}
body.page-listing .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%; background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2}
body.page-listing .lb-nav:hover{background:rgba(255,255,255,.24)}
body.page-listing .lb-nav svg{width:18px;height:18px}
body.page-listing .lb-prev{left:20px}
body.page-listing .lb-next{right:20px}
body.page-listing .lb-thumbs{display:flex;gap:8px;padding:16px 20px;overflow-x:auto;scrollbar-width:none}
body.page-listing .lb-thumbs::-webkit-scrollbar{display:none}
body.page-listing .lb-thumb{width:96px;height:64px;flex-shrink:0;border-radius:6px;overflow:hidden;opacity:.5;transition:.16s; background:#1B2C4E;border:2px solid transparent}
body.page-listing .lb-thumb img{width:100%;height:100%;object-fit:cover}
body.page-listing .lb-thumb.is-on{opacity:1;border-color:#fff}
body.page-listing .contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(94vw,500px);max-height:88vh; background:#fff;border-radius:var(--r-lg);box-shadow:var(--e3);z-index:110;display:flex;flex-direction:column; overflow:hidden;animation:rise .22s ease}
body.page-listing .cm-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;border-bottom:1px solid var(--line-soft)}
body.page-listing .cm-back{width:34px;height:34px;border-radius:var(--r-sm);color:var(--slate-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-listing .cm-back:hover{background:var(--canvas);color:var(--ink-900)}
body.page-listing .cm-back svg{width:15px;height:15px}
body.page-listing .cm-who{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body.page-listing .cm-who-main{display:flex;align-items:center;gap:10px;min-width:0}
body.page-listing .cm-who-main>span{display:flex;flex-direction:column;min-width:0}
body.page-listing .cm-who-main b{font-family:var(--font-ui);font-size:14.5px;font-weight:700;color:var(--ink-900);line-height:1.25}
body.page-listing .cm-who-main i{font-style:normal;font-size:11.5px;color:var(--slate-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-listing .cm-who-pane{margin-left:auto;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-400);flex-shrink:0}
body.page-listing .cm-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-100); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:13px;font-weight:800;color:var(--brand-700)}
body.page-listing .cm-context{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:var(--canvas);border-bottom:1px solid var(--line-soft)}
body.page-listing .cm-ctx-label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400)}
body.page-listing .cm-ctx-title{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-900)}
body.page-listing .cm-ctx-meta{font-size:12.5px;color:var(--slate-500)}
body.page-listing .cm-ctx-meta b{color:var(--ink-900);font-family:var(--font-ui)}
body.page-listing .cm-body{padding:16px 18px 20px;overflow-y:auto}
body.page-listing .cm-options{display:flex;flex-direction:column;gap:8px}
body.page-listing .cm-opt{display:flex;flex-direction:column;gap:2px;text-align:left;padding:14px 15px;border:1px solid var(--line); border-radius:var(--r-md);background:#fff;transition:.16s;min-height:60px}
body.page-listing .cm-opt:hover{border-color:var(--brand-600);background:var(--brand-50)}
body.page-listing .cm-opt b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-listing .cm-opt span{font-size:12.5px;color:var(--slate-500)}
body.page-listing .cm-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
body.page-listing .cmsg{max-width:88%;padding:11px 14px;border-radius:var(--r-md);font-size:14px;line-height:1.5}
body.page-listing .cmsg--them{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-listing .cmsg--me{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
body.page-listing .cmsg--meta{align-self:flex-start;font-size:11.5px;color:var(--slate-400);padding:0 4px}
body.page-listing .cm-chatform{display:flex;gap:8px}
body.page-listing .cm-chatform input{flex:1;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px}
body.page-listing .cm-chatform input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-listing .cm-form{display:flex;flex-direction:column;gap:12px}
body.page-listing .cm-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--ink-800)}
body.page-listing .cm-form input,body.page-listing .cm-form textarea,body.page-listing .cm-form select{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px;color:var(--ink-900); background:#fff;font-family:var(--font-body);font-weight:400}
body.page-listing .cm-form textarea{height:auto;padding:12px 14px;resize:vertical}
body.page-listing .cm-form input:focus,body.page-listing .cm-form textarea:focus,body.page-listing .cm-form select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-listing .cm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.page-listing .cm-check{flex-direction:row !important;align-items:center;gap:9px;font-size:14px;font-weight:600;min-height:44px}
body.page-listing .cm-check input{width:18px;height:18px;accent-color:var(--brand-600)}
body.page-listing .cm-seg{display:flex;gap:8px}
body.page-listing .cm-seg button{flex:1;min-height:60px;border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column; align-items:flex-start;justify-content:center;gap:2px;padding:10px 14px;transition:.16s;text-align:left}
body.page-listing .cm-seg button b{font-family:var(--font-ui);font-size:14px;color:var(--ink-900)}
body.page-listing .cm-seg button span{font-size:12px;color:var(--slate-500)}
body.page-listing .cm-seg button.is-on{border-color:var(--brand-600);background:var(--brand-50)}
body.page-listing .cm-slots{display:flex;flex-wrap:wrap;gap:8px}
body.page-listing .cm-slot{border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;font-family:var(--font-ui); font-size:13.5px;font-weight:600;color:var(--slate-600);min-height:40px;transition:.16s}
body.page-listing .cm-slot:hover{border-color:var(--slate-400);color:var(--ink-900)}
body.page-listing .cm-slot.is-on{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-listing .cm-tz{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm)}
body.page-listing .cm-tz span{display:flex;flex-direction:column;font-size:11.5px;color:var(--slate-500);gap:2px}
body.page-listing .cm-tz b{font-family:var(--font-ui);font-size:14px;color:var(--ink-900)}
body.page-listing .cm-tz-arrow{color:var(--brand-600);font-weight:700}
body.page-listing .cm-pane{display:flex;flex-direction:column;gap:14px}
body.page-listing .cm-state{display:flex;flex-direction:column;gap:5px;padding:14px 15px;background:var(--canvas);border-radius:var(--r-md)}
body.page-listing .cm-state b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-listing .cm-state span{font-size:13px;color:var(--slate-500)}
body.page-listing .cm-number{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md)}
body.page-listing .cm-num-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-listing .cm-number b{font-family:var(--font-ui);font-size:22px;letter-spacing:-.01em;color:var(--ink-900)}
body.page-listing .cm-prefill{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:1px dashed var(--line);border-radius:var(--r-md)}
body.page-listing .cm-prefill span{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-listing .cm-prefill p{font-size:13.5px;color:var(--slate-600);line-height:1.5}
body.page-listing .cm-share{display:flex;flex-direction:column;gap:8px}
body.page-listing .cm-note{font-size:11.5px;color:var(--slate-400);line-height:1.55;margin-top:10px}
body.page-listing .cm-note--rule{padding-top:10px;border-top:1px solid var(--line-soft)}
body.page-listing .cm-note b{color:var(--slate-500)}
body.page-listing .cm-attr{font-size:11px;color:var(--slate-400);line-height:1.55;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}
body.page-listing .cm-attr b{color:var(--slate-600)}
body.page-listing .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:130;background:var(--ink-900);color:#fff; font-family:var(--font-ui);font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:var(--r-pill); box-shadow:var(--e3);max-width:min(92vw,520px);text-align:center;animation:rise .22s ease}
body.page-listing .site-footer{background:var(--ink-900);color:#93A9CE;padding:var(--s5) 0;margin-top:var(--s7)}
body.page-listing .footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
body.page-listing .foot-legal{display:flex;gap:18px}
body.page-listing .foot-legal a:hover{color:#fff}
body.page-listing .notes-toggle{position:fixed;right:20px;bottom:20px;z-index:90;background:var(--ink-900);color:#fff;font-family:var(--font-ui); font-size:13px;font-weight:600;padding:11px 16px;border-radius:var(--r-pill);box-shadow:var(--e3)}
body.page-listing .notes-panel{position:fixed;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;z-index:115;box-shadow:var(--e3); display:flex;flex-direction:column;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-listing .notes-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);font-family:var(--font-ui);color:var(--ink-900)}
body.page-listing .notes-body{padding:20px;overflow-y:auto}
body.page-listing .notes-body h4{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-600);margin:22px 0 10px}
body.page-listing .notes-body h4:first-child{margin-top:0}
body.page-listing .notes-p{font-size:14px;line-height:1.65;color:var(--slate-600)}
body.page-listing .mobile-bar{display:none}
body.page-listing .aside-slot{display:none}
@media (max-width:1180px){
  body.page-listing .primary-nav{display:none}
  body.page-listing .detail-grid{grid-template-columns:minmax(0,1fr) 330px;gap:var(--s6)}
  body.page-listing .similar{grid-template-columns:repeat(2,1fr)}
  body.page-listing .gallery{height:380px}
}
@media (max-width:1420px){
  body.page-listing .nav-link{padding:9px 8px;font-size:13.5px}
}
@media (max-width:1340px){
  body.page-listing .sign-in{display:none}
}
@media (max-width:860px){
  body.page-listing{--header-h:60px}
  body.page-listing .shell{padding:0 16px}
  body.page-listing .header-actions{display:none}
  body.page-listing .hamburger{display:flex}
  body.page-listing .logo.has-cat .logo-cat{display:block}
  body.page-listing .logo.has-cat .logo-full,body.page-listing .logo.has-cat .logo-word{display:none}
  body.page-listing .mockup-flag{font-size:11.5px;padding:7px 34px 7px 12px;gap:8px}
  body.page-listing .flag-text{display:none}
  body.page-listing .crumbs{padding-top:12px;padding-bottom:8px;font-size:12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
  body.page-listing .crumbs::-webkit-scrollbar{display:none}
  body.page-listing .gallery-wrap{padding-bottom:var(--s4)}
  body.page-listing .gallery{display:flex;height:auto;border-radius:0;gap:0;margin:0 -16px;overflow-x:auto;scroll-snap-type:x mandatory; scrollbar-width:none}
  body.page-listing .gallery::-webkit-scrollbar{display:none}
  body.page-listing .gcell{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:16/11}
  body.page-listing .gcell:first-child{grid-row:auto}
  body.page-listing .gcell-more{background:rgba(7,26,69,.45);font-size:14px}
  body.page-listing .g-counter{position:absolute;right:12px;bottom:12px;z-index:3;font-family:var(--font-ui);font-size:12px;font-weight:700; color:#fff;background:rgba(7,26,69,.62);padding:5px 10px;border-radius:var(--r-pill)}
  body.page-listing .gallery-tools{gap:6px;margin:12px -16px 0;padding:0 16px 2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  body.page-listing .gallery-tools::-webkit-scrollbar{display:none}
  body.page-listing .gt-btn{height:36px;padding:0 12px;font-size:12.5px;flex-shrink:0}
  body.page-listing .gt-spacer{display:none}
  body.page-listing .detail-grid{grid-template-columns:1fr;gap:0;padding-bottom:var(--s5)}
  body.page-listing .detail-aside{position:static;order:2}
  body.page-listing .detail-aside .contact-card{display:none}
  body.page-listing .aside-slot{display:block;padding:var(--s5) 0;border-bottom:1px solid var(--line-soft)}
  body.page-listing .report-line{margin:0 0 var(--s5);text-align:left}
  body.page-listing .core{padding-bottom:var(--s4)}
  body.page-listing .price{font-size:27px}
  body.page-listing .keyfacts{gap:8px;margin-top:var(--s4)}
  body.page-listing .keyfacts li{flex:1;min-width:0;padding:10px 12px}
  body.page-listing .keyfacts b{font-size:15px}
  body.page-listing .block{padding:var(--s5) 0}
  body.page-listing .block.wide{padding-top:var(--s6)}
  body.page-listing .facts{grid-template-columns:1fr;gap:0}
  body.page-listing .amenities{grid-template-columns:1fr 1fr;gap:10px}
  body.page-listing .amenities li{font-size:13.5px}
  body.page-listing .ai-summary{grid-template-columns:1fr;gap:var(--s4);padding:16px}
  body.page-listing .ai-prompt{width:100%;text-align:left}
  body.page-listing .msg{max-width:92%}
  body.page-listing .similar{grid-template-columns:1fr;gap:12px}
  body.page-listing .pcard{flex-direction:row}
  body.page-listing .pcard-media{width:40%;flex-shrink:0;aspect-ratio:auto;min-height:130px}
  body.page-listing .pcard-body{width:60%;padding:12px;gap:6px}
  body.page-listing .disc-groups{grid-template-columns:1fr;gap:var(--s5)}
  body.page-listing .disc-link{display:block;padding:9px 0;font-size:14px}
  body.page-listing .area-grid{grid-template-columns:1fr}
  body.page-listing .loc-map{height:190px}
  body.page-listing .ad-unit{grid-template-columns:1fr}
  body.page-listing .ad-media{min-height:0;height:130px}
  body.page-listing .ad-media::before{content:"Sponsored";position:absolute;z-index:2;top:10px;left:10px;font-family:var(--font-ui);font-size:10px; font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-900); background:rgba(255,255,255,.94);padding:5px 9px;border-radius:5px}
  body.page-listing .ad-body{padding:16px}
  body.page-listing .ad-meta .ad-label{display:none}
  body.page-listing .ad-headline{font-size:17px;max-width:none}
  body.page-listing .ad-cta{width:100%;justify-content:center;height:46px}
  body.page-listing .contact-modal{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:90vh; border-radius:var(--r-lg) var(--r-lg) 0 0;animation:sheetUp .26s cubic-bezier(.2,.8,.2,1)}
  body.page-listing .cm-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
  body.page-listing .cm-row{grid-template-columns:1fr}
  body.page-listing .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;gap:8px;align-items:center; padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96); backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  body.page-listing .mb-primary{flex:1;height:48px;border-radius:var(--r-sm);background:var(--brand-600);color:#fff;box-shadow:var(--e-brand); font-family:var(--font-ui);font-size:15px;font-weight:600}
  body.page-listing .mb-wa{width:48px;height:48px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;color:var(--ink-800); display:flex;align-items:center;justify-content:center;flex-shrink:0}
  body.page-listing .mb-wa svg{width:20px;height:20px}
  body.page-listing .mb-more{height:48px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff; font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800);flex-shrink:0}
  body.page-listing .site-footer{padding-bottom:88px}
  body.page-listing .notes-toggle{bottom:80px;right:14px;font-size:12px;padding:9px 13px}
  body.page-listing .lb-nav{display:none}
  body.page-listing .lb-stage{padding:0 8px}
  body.page-listing .lb-thumbs{padding:12px}
  body.page-listing .lb-thumb{width:72px;height:52px}
}
@media (max-width:400px){
  body.page-listing .keyfacts li{padding:9px 10px}
  body.page-listing .mb-more{padding:0 11px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  body.page-listing{scroll-behavior:auto}
  body.page-listing,body.page-listing *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ---------- UI-004 — publisher and agent profiles ---------- */
/* The package entire, scoped to its own pages. Every rule is scoped, so
   the package's own cascade — including its responsive overrides — is
   preserved exactly, and it cannot restyle any other page. */

body.page-profile{--brand-700:#0F38B8; --brand-600:#1447E6; --brand-500:#2E62FF; --brand-100:#DCE6FF; --brand-50:#EEF3FF; --navy-900:#071A45; --navy-800:#0B2A6B; --navy-700:#123573; --ink-900:#0A1A33; --ink-800:#16294A; --slate-600:#41506B; --slate-500:#5A6B85; --slate-400:#8A97AC; --line:#E4E9F2; --line-soft:#EEF1F7; --canvas:#F5F7FB; --surface:#FFFFFF; --accent-500:#F2761B; --accent-50:#FFF3E8; --font-ui:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,sans-serif; --font-body:'Inter',system-ui,-apple-system,sans-serif; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px; --e1:0 1px 2px rgba(10,26,51,.05); --e2:0 6px 20px -8px rgba(10,26,51,.14); --e3:0 18px 44px -16px rgba(10,26,51,.22); --e-brand:0 12px 28px -12px rgba(20,71,230,.45); --shell:1240px; --header-h:72px;}
body.page-profile,body.page-profile *,body.page-profile::before,body.page-profile *::before,body.page-profile::after,body.page-profile *::after{box-sizing:border-box}
body.page-profile [hidden]{display:none !important}
body.page-profile{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.page-profile{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--slate-600); background:var(--surface);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.page-profile h1,body.page-profile h2,body.page-profile h3,body.page-profile h4{font-family:var(--font-ui);color:var(--ink-900);letter-spacing:-.02em;margin:0;line-height:1.2}
body.page-profile h1{font-size:clamp(23px,2.2vw,30px);font-weight:700}
body.page-profile h2{font-size:19px;font-weight:700}
body.page-profile h3{font-size:15px;font-weight:700;letter-spacing:0}
body.page-profile p{margin:0}
body.page-profile a{color:inherit;text-decoration:none}
body.page-profile img{max-width:100%;display:block}
body.page-profile button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body.page-profile input,body.page-profile select,body.page-profile textarea{font:inherit}
body.page-profile ul,body.page-profile dl,body.page-profile dd{margin:0;padding:0;list-style:none}
body.page-profile :focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:4px}
body.page-profile .shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 24px}
body.page-profile .skip-link{position:absolute;left:-9999px}
body.page-profile .skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:var(--e2)}
body.page-profile .mockup-flag{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--ink-900);color:#C6D3EA; font-size:12.5px;padding:8px 40px 8px 16px;position:relative;font-family:var(--font-ui);flex-wrap:wrap}
body.page-profile .mockup-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent-500)}
body.page-profile .mockup-flag b{color:#fff;font-weight:600}
body.page-profile .flag-link{color:#8FB3FF;font-weight:600}
body.page-profile .flag-link:hover{color:#fff}
body.page-profile .flag-x{position:absolute;right:12px;color:#7F92B4;font-size:18px;line-height:1;padding:4px 8px}
body.page-profile .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-ui);font-weight:600; font-size:14.5px;height:44px;padding:0 20px;border-radius:var(--r-sm);white-space:nowrap; transition:background .18s,color .18s,box-shadow .18s,transform .12s,border-color .18s}
body.page-profile .btn:active{transform:translateY(1px)}
body.page-profile .btn-primary{background:var(--brand-600);color:#fff;box-shadow:var(--e-brand)}
body.page-profile .btn-primary:hover{background:var(--brand-700)}
body.page-profile .btn-outline{border:1.5px solid var(--line);color:var(--ink-900);background:#fff}
body.page-profile .btn-outline:hover{border-color:var(--brand-600);color:var(--brand-600)}
body.page-profile .btn-ink{background:var(--ink-900);color:#fff}
body.page-profile .btn-ink:hover{background:var(--brand-700)}
body.page-profile .btn-ghost{color:var(--ink-800);padding:0 12px}
body.page-profile .btn-ghost:hover{color:var(--brand-600)}
body.page-profile .btn-block{width:100%}
body.page-profile .link-btn{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--brand-600);padding:8px 0;border-radius:4px}
body.page-profile .link-btn:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
body.page-profile .link-quiet{color:var(--slate-400);font-weight:500;font-size:13px}
body.page-profile .link-quiet:hover{color:var(--slate-600)}
body.page-profile .menu-wrap{position:relative}
body.page-profile .menu{position:absolute;top:calc(100% + 8px);right:0;min-width:230px;background:#fff;border:1px solid var(--line); border-radius:var(--r-md);box-shadow:var(--e3);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px); transition:.18s;z-index:70}
body.page-profile .menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
body.page-profile .menu-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400);padding:8px 10px 6px}
body.page-profile .menu-hint{text-transform:none;letter-spacing:0;font-weight:500;opacity:.85}
body.page-profile .menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px;border-radius:var(--r-sm); font-family:var(--font-ui);font-size:14.5px;color:var(--ink-800);transition:.14s;min-height:42px}
body.page-profile .menu-item:hover{background:var(--brand-50);color:var(--brand-700)}
body.page-profile .menu-item.is-active{background:var(--brand-50);color:var(--brand-700);font-weight:600}
body.page-profile .menu-meta{margin-left:auto;font-size:12.5px;color:var(--slate-400)}
body.page-profile .menu-foot{font-size:12px;color:var(--slate-400);padding:8px 10px 4px;margin-top:4px;border-top:1px solid var(--line-soft);line-height:1.5}
body.page-profile .chev{width:11px;height:11px;color:var(--slate-400);flex-shrink:0}
body.page-profile .site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line-soft)}
body.page-profile .header-inner{display:flex;align-items:center;gap:var(--s4);height:var(--header-h)}
body.page-profile .logo,body.page-profile .drawer-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
body.page-profile .logo-full{height:32px;width:auto;display:none}
body.page-profile .logo-cat{height:32px;width:auto;display:none}
body.page-profile .logo.has-full .logo-full,body.page-profile .drawer-logo.has-full .logo-full{display:block}
body.page-profile .logo.has-full .logo-word,body.page-profile .drawer-logo.has-full .logo-word{display:none}
body.page-profile .logo.has-full .logo-cat{display:none}
body.page-profile .logo-word{font-family:var(--font-ui);font-weight:800;font-size:23px;letter-spacing:-.045em;color:var(--navy-900)}
body.page-profile .primary-nav{display:flex;align-items:center;margin-left:var(--s2);min-width:0}
body.page-profile .nav-link{font-family:var(--font-ui);font-size:14px;font-weight:500;color:var(--slate-600);padding:9px 10px;border-radius:var(--r-sm);transition:.16s;white-space:nowrap}
body.page-profile .nav-link:hover{color:var(--ink-900);background:var(--brand-50)}
body.page-profile .nav-link.is-active{color:var(--brand-600);font-weight:600}
body.page-profile .header-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0;padding-left:12px}
body.page-profile .cur-btn,body.page-profile .lang-btn{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--ink-800);transition:.16s}
body.page-profile .cur-btn:hover,body.page-profile .lang-btn:hover{background:var(--brand-50)}
body.page-profile .cur-menu{min-width:290px}
body.page-profile .lang-menu{min-width:170px}
body.page-profile .hamburger{display:none;width:44px;height:44px;flex-direction:column;gap:5px;align-items:center;justify-content:center;margin-left:auto}
body.page-profile .hamburger span{width:20px;height:2px;background:var(--ink-900);border-radius:2px}
body.page-profile .drawer-scrim,body.page-profile .modal-scrim{position:fixed;inset:0;background:rgba(7,26,69,.5);z-index:100;animation:fade .2s}
body.page-profile .drawer{position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);background:#fff;z-index:105;display:flex;flex-direction:column;padding:20px;overflow-y:auto;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-profile .drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
body.page-profile .drawer-close{font-size:28px;line-height:1;color:var(--slate-500);width:44px;height:44px}
body.page-profile .drawer-nav{display:flex;flex-direction:column;padding:12px 0}
body.page-profile .drawer-nav a{font-family:var(--font-ui);font-size:17px;font-weight:600;color:var(--ink-900);padding:14px 4px;border-bottom:1px solid var(--line-soft)}
body.page-profile .drawer-foot{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}
body.page-profile .drawer-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;background:var(--canvas);border-radius:var(--r-sm);font-family:var(--font-ui);font-size:15px;color:var(--ink-900);min-height:48px}
body.page-profile .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:16px;padding-bottom:4px;font-size:13px;color:var(--slate-400)}
body.page-profile .crumbs a:hover{color:var(--brand-600)}
body.page-profile .crumbs .crumb-now{color:var(--slate-600)}
body.page-profile .pub-hero{border-bottom:1px solid var(--line);position:relative;padding-bottom:var(--s4); background:linear-gradient(180deg,#FAFBFE 0%,#fff 70%)}
body.page-profile .ph-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s7);padding-top:var(--s5);flex-wrap:wrap}
body.page-profile .ph-main{flex:1;min-width:0}
body.page-profile .ph-idrow{display:flex;align-items:flex-start;gap:20px;min-width:0}
body.page-profile .ph-text{min-width:0;padding-top:4px}
body.page-profile .ph-text h1{margin-bottom:3px}
body.page-profile .ph-type{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--slate-500)}
body.page-profile .ph-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:9px;font-size:13.5px;color:var(--slate-500)}
body.page-profile .ph-meta li{display:flex;align-items:center;gap:7px}
body.page-profile .ph-meta svg{width:14px;height:14px;color:var(--slate-400);flex-shrink:0}
body.page-profile .ph-meta .lic{font-size:12px;color:var(--slate-400)}
body.page-profile .ph-tags{display:flex;flex-direction:column;gap:8px;margin-top:16px}
body.page-profile .ph-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--slate-500)}
body.page-profile .ph-lead{font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--ink-800);margin-right:2px}
body.page-profile .ph-line--plain{color:var(--slate-600)}
body.page-profile .tag--muted{color:var(--slate-400);background:#fff}
body.page-profile .ph-side{width:262px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}
body.page-profile .ph-actions{display:flex;flex-direction:column;gap:10px}
body.page-profile .ph-act-row{display:flex;gap:10px}
body.page-profile .ph-act-row .btn{flex:1}
body.page-profile .ph-act-row--quiet .icon-btn{flex:1;justify-content:center;height:38px;font-size:12.5px;padding:0 8px;gap:6px;white-space:nowrap}
body.page-profile .ph-act-row--quiet .icon-btn svg{width:13px;height:13px}
body.page-profile .ph-footrow{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);flex-wrap:wrap; padding-top:var(--s4);margin-top:var(--s4);border-top:1px solid var(--line-soft)}
body.page-profile .ph-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;font-size:13.5px;color:var(--slate-500)}
body.page-profile .ph-fact b{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink-900)}
body.page-profile .ph-fact--note{font-size:11.5px;color:var(--slate-400)}
body.page-profile .ph-jump{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:14px;font-weight:600; color:var(--brand-700);white-space:nowrap}
body.page-profile .ph-jump svg{width:15px;height:15px}
body.page-profile .ph-jump:hover{text-decoration:underline;text-underline-offset:3px}
body.page-profile .agent-hero{border-bottom:1px solid var(--line); background:linear-gradient(180deg,#FAFBFE 0%,#fff 70%); position:relative;padding-bottom:var(--s4)}
body.page-profile .ah-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s7);padding-top:var(--s5);flex-wrap:wrap}
body.page-profile .ah-main{display:flex;align-items:flex-start;gap:22px;min-width:0;flex:1}
body.page-profile .ah-text{min-width:0}
body.page-profile .ah-text h1{margin-bottom:2px}
body.page-profile .ah-role{font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--slate-500)}
body.page-profile .ah-pub{display:inline-flex;align-items:center;gap:8px;margin-left:4px;padding:4px 10px 4px 4px; border:1px solid var(--line);border-radius:var(--r-pill);background:#fff;transition:.16s;vertical-align:middle}
body.page-profile .ah-pub:hover{border-color:var(--brand-600);box-shadow:var(--e1)}
body.page-profile .ah-pub-logo{width:26px;height:26px;flex-shrink:0;border-radius:7px;background:var(--canvas);border:1px solid var(--line); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:9.5px;font-weight:800; color:var(--brand-700)}
body.page-profile .ah-pub-name{font-family:var(--font-ui);font-size:14px;font-weight:700;color:var(--ink-900)}
body.page-profile .ah-pub-arrow{width:14px;height:14px;color:var(--brand-600);flex-shrink:0}
body.page-profile .ah-meta{display:flex;flex-direction:column;gap:7px;margin-top:16px}
body.page-profile .ah-line{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;color:var(--slate-600)}
body.page-profile .ah-line svg{width:15px;height:15px;color:var(--slate-400);flex-shrink:0;margin-top:4px}
body.page-profile .ah-line span{flex:1;min-width:0}
body.page-profile .ah-line b{font-weight:600;color:var(--ink-900)}
body.page-profile .ah-actions{width:262px;flex-shrink:0;display:flex;flex-direction:column;gap:10px}
body.page-profile .ah-act-row{display:flex;gap:10px}
body.page-profile .ah-act-row .btn{flex:1}
body.page-profile .ah-act-row--quiet .icon-btn{flex:1;justify-content:center;height:38px;font-size:13px}
body.page-profile .ah-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding-top:var(--s4);margin-top:var(--s4); border-top:1px solid var(--line-soft);font-size:13.5px;color:var(--slate-500)}
body.page-profile .ah-fact b{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink-900)}
body.page-profile .ah-fact--note{margin-left:auto;font-size:11.5px;color:var(--slate-400)}
body.page-profile .pub-logo{width:96px;height:96px;border-radius:16px;font-size:27px}
body.page-profile .pub-logo{width:104px;height:104px;flex-shrink:0;border-radius:18px;background:#fff;border:1px solid var(--line); box-shadow:var(--e2);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui); font-size:30px;font-weight:800;color:var(--brand-700);letter-spacing:-.01em}
body.page-profile .agent-photo-lg{width:132px;height:132px;flex-shrink:0;border-radius:50%;background:var(--brand-100);border:4px solid #fff; box-shadow:0 0 0 1px var(--line),var(--e2);display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-size:38px;font-weight:800;color:var(--brand-700);overflow:hidden;margin-top:0}
body.page-profile .agent-photo-lg img{width:100%;height:100%;object-fit:cover}
body.page-profile .icon-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 15px;border:1px solid var(--line); border-radius:var(--r-sm);background:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600; color:var(--ink-800);transition:.16s}
body.page-profile .icon-btn:hover{border-color:var(--brand-600);color:var(--brand-700)}
body.page-profile .icon-btn[aria-pressed="true"]{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-profile .icon-btn svg{width:15px;height:15px}
body.page-profile .profile-body{padding-bottom:var(--s7)}
body.page-profile .profile-main{min-width:0}
body.page-profile .block{padding:var(--s6) 0;border-bottom:1px solid var(--line-soft)}
body.page-profile .block.wide{border-bottom:0}
body.page-profile .block h2{margin-bottom:var(--s4)}
body.page-profile .block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s5);flex-wrap:wrap}
body.page-profile .block-head h2{margin-bottom:0}
body.page-profile .block-sub{font-size:14px;color:var(--slate-500);margin-top:6px}
body.page-profile .about-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-family:var(--font-ui);font-size:13.5px;font-weight:600}
body.page-profile .about-links a{color:var(--brand-700)}
body.page-profile .about-links a:hover{text-decoration:underline;text-underline-offset:3px}
body.page-profile .about{font-size:15.5px;color:var(--slate-600);line-height:1.72;position:relative;max-height:112px;overflow:hidden}
body.page-profile .about.is-open{max-height:none}
body.page-profile .about::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
body.page-profile .about.is-open::after{display:none}
body.page-profile .about p+p{margin-top:12px}
body.page-profile .tag-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s5);margin-top:var(--s5)}
body.page-profile .tag-group h3{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400);margin-bottom:10px}
body.page-profile .tags{display:flex;flex-wrap:wrap;gap:7px}
body.page-profile .tag{font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--slate-600);background:var(--canvas); border:1px solid var(--line);padding:6px 11px;border-radius:var(--r-pill)}
body.page-profile .tag--brand{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}
body.page-profile .inv-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--s4)}
body.page-profile .class-seg{display:inline-flex;gap:2px;background:var(--canvas);padding:4px;border-radius:var(--r-pill);flex-shrink:0}
body.page-profile .class-btn{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--slate-500);padding:8px 16px;border-radius:var(--r-pill);transition:.18s;min-height:36px;white-space:nowrap}
body.page-profile .class-btn.is-active{background:var(--ink-900);color:#fff}
body.page-profile .class-btn:hover:not(.is-active){color:var(--ink-900)}
body.page-profile .intent-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
body.page-profile .intent-row::-webkit-scrollbar{display:none}
body.page-profile .intent-btn{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500);padding:8px 14px; border-radius:var(--r-pill);border:1px solid var(--line);transition:.16s;min-height:36px;white-space:nowrap;background:#fff}
body.page-profile .intent-btn:hover{color:var(--ink-900);border-color:var(--slate-400)}
body.page-profile .intent-btn.is-active{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-profile .intent-n{margin-left:7px;font-size:12px;font-weight:700;color:var(--slate-400)}
body.page-profile .intent-btn.is-active .intent-n{color:var(--brand-600)}
body.page-profile .inv-selects{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
body.page-profile .inv-select{height:38px;padding:0 32px 0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff; font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink-800); appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%238A97AC' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat;background-position:right 11px center;background-size:11px}
body.page-profile .inv-select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-profile .tool-btn{display:flex;align-items:center;gap:7px;height:40px;padding:0 14px;border:1px solid var(--line); border-radius:var(--r-sm);background:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800)}
body.page-profile .tool-btn:hover{border-color:var(--brand-600)}
body.page-profile .tool-label{color:var(--slate-400);font-weight:500}
body.page-profile .sort-menu{min-width:210px}
body.page-profile .active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:var(--s4)}
body.page-profile .fchip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 12px;border-radius:var(--r-pill); background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-700);font-family:var(--font-ui); font-size:12.5px;font-weight:600}
body.page-profile .fchip button{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.65;font-size:15px;line-height:1}
body.page-profile .fchip button:hover{opacity:1;background:rgba(20,71,230,.12)}
body.page-profile .fclear{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500);padding:6px 10px;border-radius:var(--r-sm)}
body.page-profile .fclear:hover{color:var(--brand-600);background:var(--brand-50)}
body.page-profile .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
body.page-profile .pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .24s,transform .24s,border-color .24s;position:relative}
body.page-profile .pcard:hover{box-shadow:var(--e3);transform:translateY(-3px);border-color:var(--brand-100)}
body.page-profile .pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#E7EDFA,#DCE6FF)}
body.page-profile .mtrack{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
body.page-profile .mtrack::-webkit-scrollbar{display:none}
body.page-profile .mslide{flex:0 0 100%;height:100%;scroll-snap-align:center}
body.page-profile .mslide img{width:100%;height:100%;object-fit:cover}
body.page-profile .pcard-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-weight:700;font-size:13px;color:var(--brand-700);text-align:center;padding:14px}
body.page-profile .marrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%; background:rgba(255,255,255,.94);color:var(--ink-900);display:flex;align-items:center;justify-content:center; box-shadow:var(--e1);opacity:0;transition:opacity .18s;z-index:3}
body.page-profile .marrow svg{width:14px;height:14px}
body.page-profile .marrow--prev{left:10px}
body.page-profile .marrow--next{right:10px}
body.page-profile .pcard:hover .marrow,body.page-profile .marrow:focus-visible{opacity:1}
body.page-profile .mdots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px;z-index:3;pointer-events:none}
body.page-profile .mdot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);transition:.18s}
body.page-profile .mdot.is-on{background:#fff;width:14px;border-radius:3px}
body.page-profile .mcount{position:absolute;left:12px;bottom:10px;display:inline-flex;align-items:center;gap:5px;z-index:3; font-family:var(--font-ui);font-size:11.5px;font-weight:600;color:#fff;text-shadow:0 1px 6px rgba(7,26,69,.7)}
body.page-profile .mcount svg{width:13px;height:13px}
body.page-profile .badges{position:absolute;top:12px;left:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:3;max-width:calc(100% - 66px)}
body.page-profile .badge{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.94);color:var(--ink-900)}
body.page-profile .badge--premium{background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;gap:5px}
body.page-profile .badge--premium::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--accent-500)}
body.page-profile .badge--project{background:var(--accent-50);color:#A44A05}
body.page-profile .save{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:var(--e1);transition:.18s;z-index:3}
body.page-profile .save svg{width:17px;height:17px;fill:none;stroke:var(--ink-800);stroke-width:1.7}
body.page-profile .save:hover{transform:scale(1.08)}
body.page-profile .save.is-saved svg{fill:var(--accent-500);stroke:var(--accent-500)}
body.page-profile .pcard--premium{border-color:#C9D6EE}
body.page-profile .pcard--premium::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--navy-800);z-index:4}
body.page-profile .pcard-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
body.page-profile .pcard-purpose-line{font-family:var(--font-ui);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-profile .pcard-price{font-family:var(--font-ui);font-size:19px;font-weight:800;color:var(--ink-900);letter-spacing:-.02em}
body.page-profile .pcard-price small{font-weight:600;font-size:13px;color:var(--slate-400)}
body.page-profile .price-native{font-family:var(--font-ui);font-size:12px;font-weight:500;color:var(--slate-400);margin-top:-5px}
body.page-profile .pcard-title{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-800);line-height:1.35}
body.page-profile .pcard-loc{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--slate-500)}
body.page-profile .pcard-loc svg{width:13px;height:13px;color:var(--slate-400);flex-shrink:0}
body.page-profile .pcard-specs{display:flex;gap:14px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--slate-600);flex-wrap:wrap}
body.page-profile .pcard-specs b{font-weight:600;color:var(--ink-800)}
body.page-profile .pcard-foot{display:flex;align-items:center;gap:8px;padding-top:10px;font-size:11.5px;color:var(--slate-400);flex-wrap:wrap}
body.page-profile .pcard-agent{display:flex;align-items:center;gap:7px;min-width:0}
body.page-profile .pcard-agent img,body.page-profile .pcard-agent span.av{width:20px;height:20px;border-radius:50%;object-fit:cover;background:var(--brand-50);border:1px solid var(--brand-100); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:8.5px;font-weight:800; color:var(--brand-700);flex-shrink:0}
body.page-profile .pcard-agent b{font-weight:600;color:var(--slate-600);font-size:11.5px}
body.page-profile .pcard-fresh{margin-left:auto}
body.page-profile .premium-note{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--slate-400);display:flex;align-items:center;gap:6px}
body.page-profile .premium-note::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--accent-500)}
body.page-profile .empty-state{background:#fff;border:1px dashed var(--line);border-radius:var(--r-md);padding:var(--s6);box-shadow:none}
body.page-profile .empty-state h3{margin-bottom:8px;font-size:17px}
body.page-profile .empty-state p{font-size:14.5px;color:var(--slate-500);max-width:58ch}
body.page-profile .empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5)}
body.page-profile .empty-actions .btn{height:42px}
body.page-profile .pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:var(--s6);flex-wrap:wrap}
body.page-profile .pg{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);background:#fff;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800);display:inline-flex;align-items:center;justify-content:center;transition:.16s}
body.page-profile .pg:hover:not(:disabled){border-color:var(--brand-600);color:var(--brand-700)}
body.page-profile .pg[aria-current="page"]{background:var(--ink-900);border-color:var(--ink-900);color:#fff}
body.page-profile .pg:disabled{opacity:.4;cursor:default}
body.page-profile .pg-info{width:100%;text-align:center;font-size:13px;color:var(--slate-400);margin-top:10px}
body.page-profile .ownership-note{margin-top:var(--s5);font-size:12.5px;color:var(--slate-500);background:var(--canvas);border-radius:var(--r-sm);padding:12px 14px}
body.page-profile .ownership-note b{color:var(--ink-800);font-weight:600}
body.page-profile .team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
body.page-profile .tcard{border:1px solid var(--line);border-radius:var(--r-md);padding:18px;background:#fff;transition:.2s;display:flex;flex-direction:column;gap:4px}
body.page-profile .tcard:hover{border-color:var(--brand-100);box-shadow:var(--e2);transform:translateY(-2px)}
body.page-profile .tcard-top{display:flex;align-items:center;gap:14px;margin-bottom:6px}
body.page-profile .tphoto{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--brand-100);display:flex; align-items:center;justify-content:center;font-family:var(--font-ui);font-size:18px;font-weight:800; color:var(--brand-700);flex-shrink:0;overflow:hidden}
body.page-profile .tphoto img,body.page-profile .tphoto span{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center}
body.page-profile .agent-photo-lg span.av{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font:inherit;color:inherit}
body.page-profile .tcard-top>span{display:flex;flex-direction:column;gap:2px;min-width:0}
body.page-profile .tname{display:block;font-family:var(--font-ui);font-size:15.5px;font-weight:700;color:var(--ink-900);line-height:1.25}
body.page-profile .trole{display:block;font-size:13px;color:var(--slate-500)}
body.page-profile .tmeta{font-size:12.5px;color:var(--slate-500);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px}
body.page-profile .tmeta b{font-weight:600;color:var(--ink-800)}
body.page-profile .tcard .link-btn{margin-top:auto;padding-top:12px;align-self:flex-start}
body.page-profile .markets{display:flex;flex-wrap:wrap;gap:10px}
body.page-profile .mk-card{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--r-md); padding:14px 16px;min-width:150px;background:#fff;transition:.18s;text-align:left}
body.page-profile .mk-card:hover{border-color:var(--brand-600);background:var(--brand-50)}
body.page-profile .mk-name{font-family:var(--font-ui);font-size:14.5px;font-weight:700;color:var(--ink-900)}
body.page-profile .mk-kind{font-size:11.5px;color:var(--slate-400)}
body.page-profile .mk-count{font-size:12.5px;color:var(--slate-500);margin-top:3px}
body.page-profile .offices{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
body.page-profile .office{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}
body.page-profile .office-photo{position:relative;height:150px;background:linear-gradient(135deg,#EFEDE8,#E4E9F2);overflow:hidden}
body.page-profile .office-photo img{width:100%;height:100%;object-fit:cover}
body.page-profile .office-photo.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center; font-family:var(--font-ui);font-size:13px;font-weight:700;color:var(--slate-400)}
body.page-profile .office-body{padding:16px}
body.page-profile .office h3{margin-bottom:4px}
body.page-profile .office p{font-size:13.5px;color:var(--slate-500)}
body.page-profile .office-hours{font-size:12.5px;color:var(--slate-400);margin-top:8px}
body.page-profile .ai-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
body.page-profile .ai-head h2{margin-bottom:0}
body.page-profile .ai-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--brand-600);box-shadow:0 0 0 4px rgba(20,71,230,.14);animation:pulse 2.6s ease-in-out infinite}
body.page-profile .ai-thread{display:flex;flex-direction:column;gap:10px;margin:var(--s4) 0}
body.page-profile .ai-thread:empty{display:none}
body.page-profile .msg{max-width:82%;padding:11px 14px;border-radius:var(--r-md);font-size:14.5px;line-height:1.55;animation:rise .24s ease}
body.page-profile .msg--user{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
body.page-profile .msg--ai{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-profile .typing{display:flex;gap:4px;align-items:center;padding:13px 15px}
body.page-profile .typing i{width:6px;height:6px;border-radius:50%;background:var(--slate-400);animation:bounce 1.2s infinite}
body.page-profile .typing i:nth-child(2){animation-delay:.15s}
body.page-profile .typing i:nth-child(3){animation-delay:.3s}
body.page-profile .ai-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s4)}
body.page-profile .ai-prompt{font-size:13px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);padding:9px 13px;border-radius:var(--r-pill);transition:.16s;min-height:38px;text-align:left}
body.page-profile .ai-prompt:hover{background:var(--brand-100)}
body.page-profile .ai-input{display:flex;gap:8px}
body.page-profile .ai-input input{flex:1;height:46px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:15px;color:var(--ink-900)}
body.page-profile .ai-input input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-profile .ai-send{width:46px;height:46px;border-radius:50%;background:var(--brand-600);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-profile .ai-send:hover{background:var(--brand-700)}
body.page-profile .ai-send svg{width:19px;height:19px}
body.page-profile .cc-logo{width:52px;height:52px;flex-shrink:0;border-radius:12px;background:var(--canvas);border:1px solid var(--line); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:15px;font-weight:800; color:var(--slate-500);overflow:hidden}
body.page-profile .cc-logo img{width:100%;height:100%;object-fit:cover}
body.page-profile .cc-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;border-radius:var(--r-sm); border:1px dashed var(--line);font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--slate-600);transition:.16s}
body.page-profile .cc-more:hover{border-color:var(--brand-600);color:var(--brand-700);background:var(--brand-50)}
body.page-profile .report-line{margin:var(--s5) 0 0;text-align:center}
body.page-profile .pub-assoc{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--r-md);padding:18px;background:#fff;flex-wrap:wrap}
body.page-profile .pub-assoc .assoc-logo{width:56px;height:56px;border-radius:12px;background:var(--canvas);border:1px solid var(--line); display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:15px;font-weight:800;color:var(--brand-700)}
body.page-profile .pub-assoc-text{min-width:0;flex:1}
body.page-profile .pub-assoc-text b{display:block;font-family:var(--font-ui);font-size:16px;color:var(--ink-900)}
body.page-profile .pub-assoc-text span{font-size:13px;color:var(--slate-500)}
body.page-profile .discovery{padding-top:var(--s6);border-top:1px solid var(--line)}
body.page-profile .disc-title{font-size:18px;margin-bottom:var(--s5)}
body.page-profile .disc-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s5) var(--s6)}
body.page-profile .disc-group h3{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400);margin-bottom:3px}
body.page-profile .disc-sub{font-size:11.5px;color:var(--slate-400);margin-bottom:10px}
body.page-profile .disc-group li{margin-bottom:7px}
body.page-profile .disc-link{font-size:13.5px;color:var(--slate-600);transition:.14s;line-height:1.45;text-align:left}
body.page-profile .disc-link:hover{color:var(--brand-700);text-decoration:underline;text-underline-offset:3px}
body.page-profile .disc-note{margin-top:var(--s5);font-size:12px;color:var(--slate-400);max-width:92ch;line-height:1.6}
body.page-profile .ad-slot{padding:var(--s5) 0}
body.page-profile .ad-slot[hidden]{display:none}
body.page-profile .ad-unit{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#FBFAF8}
body.page-profile .ad-media{position:relative;min-height:160px;background:linear-gradient(135deg,#EFEDE8,#E4E9F2);overflow:hidden}
body.page-profile .ad-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
body.page-profile .ad-media.is-fallback::after{content:attr(data-fallback);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-weight:700;font-size:13px;color:#6E6558;padding:16px;text-align:center}
body.page-profile .ad-body{padding:var(--s5);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body.page-profile .ad-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
body.page-profile .ad-label{font-family:var(--font-ui);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7A6A4F;background:#F3EADA;border:1px solid #E6D8BE;padding:4px 9px;border-radius:5px}
body.page-profile .ad-advertiser{font-family:var(--font-ui);font-size:13px;font-weight:600;color:var(--slate-500)}
body.page-profile .ad-headline{font-family:var(--font-ui);font-size:18px;font-weight:700;line-height:1.28;color:var(--ink-900);max-width:28ch}
body.page-profile .ad-copy{font-size:14px;color:var(--slate-500);margin-top:8px;max-width:48ch}
body.page-profile .ad-cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;margin-top:16px;background:var(--ink-900);color:#fff;border-radius:var(--r-sm);font-family:var(--font-ui);font-size:14px;font-weight:600}
body.page-profile .ad-unit:hover .ad-cta{background:#16294A}
body.page-profile .ad-disclosure{font-size:11.5px;color:var(--slate-400);margin-top:14px;max-width:60ch;line-height:1.5}
body.page-profile .contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(94vw,500px);max-height:88vh;background:#fff; border-radius:var(--r-lg);box-shadow:var(--e3);z-index:110;display:flex;flex-direction:column;overflow:hidden;animation:rise .22s ease}
body.page-profile .cm-head{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;border-bottom:1px solid var(--line-soft)}
body.page-profile .cm-back{width:34px;height:34px;border-radius:var(--r-sm);color:var(--slate-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.page-profile .cm-back:hover{background:var(--canvas);color:var(--ink-900)}
body.page-profile .cm-back svg{width:15px;height:15px}
body.page-profile .cm-who{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body.page-profile .cm-who-main{display:flex;align-items:center;gap:10px;min-width:0}
body.page-profile .cm-who-main>span{display:flex;flex-direction:column;min-width:0}
body.page-profile .cm-who-main b{font-family:var(--font-ui);font-size:14.5px;font-weight:700;color:var(--ink-900);line-height:1.25}
body.page-profile .cm-who-main i{font-style:normal;font-size:11.5px;color:var(--slate-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.page-profile .cm-who-pane{margin-left:auto;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-400);flex-shrink:0}
body.page-profile .cm-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-100);display:flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:13px;font-weight:800;color:var(--brand-700)}
body.page-profile .cm-avatar--sq{border-radius:10px;background:var(--canvas);border:1px solid var(--line);color:var(--slate-500)}
body.page-profile .cm-context{display:flex;flex-direction:column;gap:2px;padding:12px 18px;background:var(--canvas);border-bottom:1px solid var(--line-soft)}
body.page-profile .cm-ctx-label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-400)}
body.page-profile .cm-ctx-title{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-900)}
body.page-profile .cm-ctx-meta{font-size:12.5px;color:var(--slate-500)}
body.page-profile .cm-body{padding:16px 18px 20px;overflow-y:auto}
body.page-profile .cm-options{display:flex;flex-direction:column;gap:8px}
body.page-profile .cm-opt{display:flex;flex-direction:column;gap:2px;text-align:left;padding:14px 15px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;transition:.16s;min-height:60px}
body.page-profile .cm-opt:hover{border-color:var(--brand-600);background:var(--brand-50)}
body.page-profile .cm-opt b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-profile .cm-opt span{font-size:12.5px;color:var(--slate-500)}
body.page-profile .cm-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
body.page-profile .cmsg{max-width:88%;padding:11px 14px;border-radius:var(--r-md);font-size:14px;line-height:1.5}
body.page-profile .cmsg--them{align-self:flex-start;background:var(--canvas);color:var(--ink-800);border-bottom-left-radius:6px}
body.page-profile .cmsg--me{align-self:flex-end;background:var(--brand-600);color:#fff;border-bottom-right-radius:6px}
body.page-profile .cmsg--meta{align-self:flex-start;font-size:11.5px;color:var(--slate-400);padding:0 4px}
body.page-profile .cm-chatform{display:flex;gap:8px}
body.page-profile .cm-chatform input{flex:1;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px}
body.page-profile .cm-chatform input:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-profile .cm-form{display:flex;flex-direction:column;gap:12px}
body.page-profile .cm-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-size:12.5px;font-weight:600;color:var(--ink-800)}
body.page-profile .cm-form input,body.page-profile .cm-form textarea,body.page-profile .cm-form select{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14.5px;color:var(--ink-900);background:#fff;font-family:var(--font-body);font-weight:400}
body.page-profile .cm-form textarea{height:auto;padding:12px 14px;resize:vertical}
body.page-profile .cm-form input:focus,body.page-profile .cm-form textarea:focus,body.page-profile .cm-form select:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-50)}
body.page-profile .cm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.page-profile .cm-check{flex-direction:row !important;align-items:center;gap:9px;font-size:14px;font-weight:600;min-height:44px}
body.page-profile .cm-check input{width:18px;height:18px;accent-color:var(--brand-600)}
body.page-profile .cm-tz{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm)}
body.page-profile .cm-tz span{display:flex;flex-direction:column;font-size:11.5px;color:var(--slate-500);gap:2px}
body.page-profile .cm-tz b{font-family:var(--font-ui);font-size:14px;color:var(--ink-900)}
body.page-profile .cm-tz-arrow{color:var(--brand-600);font-weight:700}
body.page-profile .cm-pane{display:flex;flex-direction:column;gap:14px}
body.page-profile .cm-state{display:flex;flex-direction:column;gap:5px;padding:14px 15px;background:var(--canvas);border-radius:var(--r-md)}
body.page-profile .cm-state b{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-profile .cm-state span{font-size:13px;color:var(--slate-500)}
body.page-profile .cm-number{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md)}
body.page-profile .cm-num-label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-profile .cm-number b{font-family:var(--font-ui);font-size:22px;color:var(--ink-900)}
body.page-profile .cm-prefill{display:flex;flex-direction:column;gap:6px;padding:14px 15px;border:1px dashed var(--line);border-radius:var(--r-md)}
body.page-profile .cm-prefill span{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-400)}
body.page-profile .cm-prefill p{font-size:13.5px;color:var(--slate-600);line-height:1.5}
body.page-profile .cm-share{display:flex;flex-direction:column;gap:8px}
body.page-profile .cm-note{font-size:11.5px;color:var(--slate-400);line-height:1.55;margin-top:10px}
body.page-profile .cm-note--rule{padding-top:10px;border-top:1px solid var(--line-soft)}
body.page-profile .cm-note b{color:var(--slate-500)}
body.page-profile .cm-attr{font-size:11px;color:var(--slate-400);line-height:1.55;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}
body.page-profile .cm-attr b{color:var(--slate-600)}
body.page-profile .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:130;background:var(--ink-900);color:#fff;font-family:var(--font-ui);font-size:13.5px;font-weight:600;padding:12px 18px;border-radius:var(--r-pill);box-shadow:var(--e3);max-width:min(92vw,520px);text-align:center;animation:rise .22s ease}
body.page-profile .site-footer{background:var(--ink-900);color:#93A9CE;padding:var(--s5) 0;margin-top:var(--s6)}
body.page-profile .footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
body.page-profile .foot-legal{display:flex;gap:18px}
body.page-profile .foot-legal a:hover{color:#fff}
body.page-profile .notes-toggle{position:fixed;right:20px;bottom:20px;z-index:90;background:var(--ink-900);color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;padding:11px 16px;border-radius:var(--r-pill);box-shadow:var(--e3)}
body.page-profile .notes-panel{position:fixed;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;z-index:115;box-shadow:var(--e3);display:flex;flex-direction:column;animation:slideIn .24s cubic-bezier(.2,.8,.2,1)}
body.page-profile .notes-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);font-family:var(--font-ui);color:var(--ink-900)}
body.page-profile .notes-body{padding:20px;overflow-y:auto}
body.page-profile .notes-body h4{font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-600);margin:22px 0 10px}
body.page-profile .notes-body h4:first-child{margin-top:0}
body.page-profile .notes-p{font-size:14px;line-height:1.65;color:var(--slate-600)}
body.page-profile .notes-p code{font-size:12px;background:var(--canvas);border:1px solid var(--line-soft);padding:1px 5px;border-radius:4px}
body.page-profile .mobile-bar{display:none}
@media (max-width:1180px){
  body.page-profile .primary-nav{display:none}
  body.page-profile .cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1420px){
  body.page-profile .nav-link{padding:9px 8px;font-size:13.5px}
}
@media (max-width:1340px){
  body.page-profile .sign-in{display:none}
}
@media (max-width:860px){
  body.page-profile{--header-h:60px}
  body.page-profile .shell{padding:0 16px}
  body.page-profile .header-actions{display:none}
  body.page-profile .hamburger{display:flex}
  body.page-profile .logo.has-cat .logo-cat{display:block}
  body.page-profile .logo.has-cat .logo-full,body.page-profile .logo.has-cat .logo-word{display:none}
  body.page-profile .mockup-flag{font-size:11.5px;padding:7px 34px 7px 12px;gap:8px}
  body.page-profile .flag-text{display:none}
  body.page-profile .pub-hero{padding-bottom:var(--s3)}
  body.page-profile .ph-inner{flex-direction:column;gap:var(--s4);padding-top:var(--s4)}
  body.page-profile .ph-idrow{gap:14px}
  body.page-profile .pub-logo{width:72px;height:72px;border-radius:13px;font-size:20px}
  body.page-profile .ph-text h1{font-size:22px}
  body.page-profile .ph-type{font-size:14px}
  body.page-profile .ph-tags{margin-top:14px;gap:10px}
  body.page-profile .ph-side{width:100%}
  body.page-profile .ph-footrow{flex-direction:column;align-items:flex-start;gap:12px}
  body.page-profile .ph-facts{gap:6px 14px;font-size:12.5px}
  body.page-profile .agent-hero{padding-bottom:var(--s3)}
  body.page-profile .ah-inner{flex-direction:column;gap:var(--s4);padding-top:var(--s4)}
  body.page-profile .ah-main{flex-direction:column;align-items:flex-start;gap:12px;width:100%}
  body.page-profile .agent-photo-lg{width:88px;height:88px;font-size:26px;border-width:3px}
  body.page-profile .ah-text h1{font-size:22px}
  body.page-profile .ah-role{font-size:14px}
  body.page-profile .ah-pub{margin:6px 0 0;padding:4px 10px 4px 4px}
  body.page-profile .ah-line{font-size:14px}
  body.page-profile .ah-meta{margin-top:14px;gap:10px}
  body.page-profile .ah-actions{width:100%}
  body.page-profile .ah-facts{gap:6px 14px;font-size:12.5px}
  body.page-profile .ah-fact--note{margin-left:0;width:100%}
  body.page-profile h1{font-size:22px}
  body.page-profile .profile-body{padding-bottom:var(--s5)}
  body.page-profile .profile-main{display:flex;flex-direction:column}
  body.page-profile #inventoryBlock{order:1}
  body.page-profile #aboutBlock{order:2}
  body.page-profile #teamBlock{order:3}
  body.page-profile #marketsBlock{order:4}
  body.page-profile #pubBlock{order:4}
  body.page-profile #officesBlock{order:5}
  body.page-profile #aiBlock{order:6}
  body.page-profile .ad-slot{order:7}
  body.page-profile #discoveryBlock{order:8}
  body.page-profile .block{padding:var(--s5) 0}
  body.page-profile .block-head{gap:12px}
  body.page-profile .inv-filters{gap:8px}
  body.page-profile .inv-selects{margin-left:0;width:100%}
  body.page-profile .inv-select{flex:1;min-width:0}
  body.page-profile .cards{grid-template-columns:1fr;gap:12px}
  body.page-profile .pcard{flex-direction:row}
  body.page-profile .pcard-media{width:40%;flex-shrink:0;aspect-ratio:auto;min-height:150px}
  body.page-profile .pcard-body{width:60%;padding:12px;gap:6px}
  body.page-profile .pcard-title{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.page-profile .pcard-specs{gap:10px;font-size:12.5px}
  body.page-profile .marrow{display:none}
  body.page-profile .badges{top:8px;left:8px}
  body.page-profile .badge{font-size:10px;padding:4px 7px}
  body.page-profile .save{width:34px;height:34px;top:8px;right:8px}
  body.page-profile .team{grid-template-columns:1fr}
  body.page-profile .offices{grid-template-columns:1fr}
  body.page-profile .tag-groups{grid-template-columns:1fr;gap:var(--s4)}
  body.page-profile .ai-prompt{width:100%}
  body.page-profile .msg{max-width:92%}
  body.page-profile .disc-groups{grid-template-columns:1fr;gap:var(--s5)}
  body.page-profile .disc-link{display:block;padding:9px 0;font-size:14px}
  body.page-profile .ad-unit{grid-template-columns:1fr}
  body.page-profile .ad-media{min-height:0;height:130px}
  body.page-profile .ad-media::before{content:"Sponsored";position:absolute;z-index:2;top:10px;left:10px;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-900);background:rgba(255,255,255,.94);padding:5px 9px;border-radius:5px}
  body.page-profile .ad-body{padding:16px}
  body.page-profile .ad-meta .ad-label{display:none}
  body.page-profile .ad-headline{font-size:17px;max-width:none}
  body.page-profile .ad-cta{width:100%;justify-content:center;height:46px}
  body.page-profile .contact-modal{top:auto;left:0;right:0;bottom:0;transform:none;width:100%;max-height:90vh;border-radius:var(--r-lg) var(--r-lg) 0 0;animation:sheetUp .26s cubic-bezier(.2,.8,.2,1)}
  body.page-profile .cm-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}
  body.page-profile .cm-row{grid-template-columns:1fr}
  body.page-profile .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;gap:8px;align-items:center; padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96); backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  body.page-profile .mb-primary{flex:1;min-width:96px;height:48px;border-radius:var(--r-sm);background:var(--brand-600);color:#fff;box-shadow:var(--e-brand);font-family:var(--font-ui);font-size:15px;font-weight:600}
  body.page-profile .mb-wa{height:48px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;color:var(--ink-800);display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;font-family:var(--font-ui);font-size:14px;font-weight:600}
  body.page-profile .mb-wa svg{width:19px;height:19px}
  body.page-profile .mb-more{height:48px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--ink-800);flex-shrink:0}
  body.page-profile .site-footer{padding-bottom:88px}
  body.page-profile .notes-toggle{bottom:80px;right:14px;font-size:12px;padding:9px 13px}
}
@media (max-width:400px){
  body.page-profile .mb-wa-label{display:none}
  body.page-profile .mb-wa{width:46px;padding:0}
  body.page-profile .mb-more{padding:0 11px;font-size:13px}
  body.page-profile .pcard-media{width:38%;min-height:140px}
}
@media (prefers-reduced-motion:reduce){
  body.page-profile{scroll-behavior:auto}
  body.page-profile,body.page-profile *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* =========================================================
   P11 ADDITIONS — states the locked packages do not contain

   The mockups were authored against invented inventory, so they never show a
   marketplace with nothing in it, and they never show a control whose backend
   belongs to a later phase. Production does both. These rules cover only that
   gap; they add no new component and restyle no locked surface.
   ========================================================= */

/* A deferred control keeps its locked shape and stops behaving like a target.
   Stated in the title attribute, not implied by the styling alone. */
[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
a[aria-disabled="true"],button[aria-disabled="true"],span.nav-link[aria-disabled="true"]{pointer-events:none}
.nav-link[aria-disabled="true"]{color:var(--slate-400)}
.deferred-note{font-size:12.5px;color:var(--slate-400);margin-top:10px;line-height:1.5;max-width:60ch}

/* Truthful emptiness: a section with nothing eligible to show says so rather
   than rendering an empty grid. */
.nothing{
  border:1px dashed var(--line);border-radius:var(--r-md);background:var(--canvas);
  padding:28px;text-align:center;color:var(--slate-500);font-size:14.5px
}
.nothing strong{display:block;font-family:var(--font-ui);color:var(--ink-900);font-size:16px;margin-bottom:6px}
.foot-empty{display:block;font-size:14px;padding:5px 0;color:#6F84A8}

/* An unbooked placement collapses to nothing — no filler, no reserved gap
   (UI-001 §A10.2 case C). */
.ad-slot:empty{display:none}

/* The map view is a real, reachable state whose provider is a later phase. */
.map-unavailable{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:24px;text-align:center;background:rgba(238,242,247,.92);
  font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-900)
}
.map-unavailable span{font-family:var(--font-body);font-weight:400;font-size:13.5px;color:var(--slate-500);max-width:36ch}

/* The locked class/intent switches are JS buttons in the mockup. Production
   uses a plain GET form so the controls work without JavaScript and every
   result state is a real, shareable URL — the radio is hidden and its label
   carries the locked appearance. */
.visually-hidden{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0
}
.class-btn,.intent-btn,.view-btn,.tsc{cursor:pointer}
/* The label is the containing block for its own hidden radio. Without this the
   absolutely-positioned input escapes a horizontally-scrolling row and widens
   the page from inside a container that was supposed to clip it. */
.class-btn,.intent-btn,.view-btn,.tsc,.qf-btn,.fopt{position:relative}
.visually-hidden{left:0;top:0}
.class-btn:focus-within,.intent-btn:focus-within,.view-btn:focus-within{
  outline:2px solid var(--brand-600);outline-offset:2px
}
/* Selects sit inside the locked chip and pill shapes rather than beside them,
   so the control keeps its shape while staying a native, keyboard-operable
   form field. */
.market-chip select,.inv-select select,.tool-btn select{
  font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;
  max-width:170px;cursor:pointer
}
.market-chip select:focus,.tool-btn select:focus{outline:none}
.market-chip:focus-within,.tool-btn:focus-within{outline:2px solid var(--brand-600);outline-offset:2px}

/* The locked mobile drawer, opened by a checkbox rather than a script. The
   packages open it from app.js; the navigation below 1100px depends on it, and
   a menu that needs a bundle to open is a menu that sometimes does not. */
.hamburger{cursor:pointer}
.drawer-close{cursor:pointer;display:flex;align-items:center;justify-content:center}
.drawer-row[aria-disabled="true"]{cursor:default}

/* The locked More-filters drawer and its scrim, opened by the same checkbox
   pattern as the mobile menu. Closed by default: the package's stylesheet
   assumes app.js sets `hidden` on it, and nothing here sets attributes. */
.panel-scrim{position:fixed;inset:0;background:rgba(7,26,69,.45);z-index:90}
.filter-panel > form{display:flex;flex-direction:column;min-height:0;flex:1}
.fp-back{cursor:pointer;display:flex;align-items:center;justify-content:center}
.fgroup-title{
  font-family:var(--font-ui);font-size:13.5px;font-weight:700;color:var(--ink-900);margin-bottom:12px
}
.fgroup .fopt{display:inline-flex;align-items:center;gap:8px;margin:0 8px 8px 0}
.fgroup .fopt input{margin:0}
/* Discovery links read as a list, not a run-on sentence. */
.disc-link{display:block}

/* `.is-toggled` marks the elements whose visibility this application controls
   rather than the package's own script. The packages scope their `.drawer` and
   `.filter-panel` rules per page, which outranks a bare class selector, so the
   toggle needs a selector of its own rather than relying on source order. */
html body .drawer.is-toggled,
html body .drawer-scrim.is-toggled,
html body .filter-panel.is-toggled,
html body .panel-scrim.is-toggled{display:none}
html body .drawer-toggle:checked ~ .drawer-scrim.is-toggled{display:block}
html body .drawer-toggle:checked ~ .drawer.is-toggled{display:flex}
html body .panel-toggle:checked ~ .panel-scrim.is-toggled{display:block}
html body .panel-toggle:checked ~ .filter-panel.is-toggled{display:flex}

/* Read more, for the locked description clamp. */
.desc-toggle:checked ~ .desc{max-height:none}
.desc-toggle:checked ~ .desc::after{display:none}
.desc-more{cursor:pointer;display:inline-block;margin-top:10px}
.desc-more::after{content:"Read more"}
.desc-toggle:checked ~ .desc-more::after{content:"Show less"}

/* The search page's mobile bar carries a label and links where the package has
   buttons; they need the same shape. */
.mobile-bar label.mb-btn,.mobile-bar a.mb-btn{cursor:pointer;text-decoration:none}

/* =========================================================
   P16 ADDITIONS — saved state, and the interim My Blley pages

   Two kinds of rule, and the difference matters.

   The first kind activates a state the locked packages already designed. The
   card heart's filled treatment (`.save.is-saved`) and the gallery button's
   pressed treatment (`.gt-btn[aria-pressed="true"]`) are UI-002's and UI-003's
   own declarations, emitted by the build from the packages themselves. Nothing
   here restyles either; the only thing P16 adds is a wrapper that lets a real
   form carry the control without moving it.

   The second kind styles the interim My Blley surface, which has **no locked
   mockup**. BLLEY-016 R18 approves it as an interim functional surface using
   the existing shell, tokens and components — explicitly not a new locked
   design — on the same terms as P15's enquiry form. So it introduces no new
   component: it lays out the locked card grid the search page already uses,
   and everything else is a token.
   ========================================================= */

/* A save/unsave control is a real POST, so it needs a form around it. The
   wrapper must be invisible to layout or the locked composition moves: the
   heart is absolutely positioned inside `.pcard-media`, and the detail page's
   Save is a flex item in `.gallery-tools`. `display:contents` removes the form
   from the box tree and leaves the button exactly where the package put it. */
.state-form{display:contents}

/* The interim My Blley pages. */
body.page-saved .saved-head{padding:28px 0 6px}
body.page-saved .saved-head h1{font-family:var(--font-ui);font-size:26px;font-weight:800;color:var(--ink-900);margin:0}
body.page-saved .saved-head p{color:var(--slate-500);font-size:14.5px;margin:8px 0 0;max-width:70ch}
body.page-saved .saved-tabs{display:flex;gap:8px;margin:18px 0 4px;flex-wrap:wrap}
body.page-saved .saved-tab{
  display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid var(--line);
  border-radius:var(--r-pill);background:#fff;font-family:var(--font-ui);font-size:13.5px;font-weight:600;
  color:var(--ink-800)
}
body.page-saved .saved-tab.is-active{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}
body.page-saved .saved-section{padding:24px 0 8px}

/* The saved lists reuse UI-002's own card and therefore need UI-002's own
   grid. The package scopes that rule to `body.page-search`, so it does not
   reach this page and the cards would otherwise stack one per row at full shell
   width — a real defect the first browser pass caught. The columns and
   breakpoints below are UI-002's values, not new ones: 3 → 2 → 1 at 1200px and
   820px. */
body.page-saved .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}

body.page-saved .saved-section h2{font-family:var(--font-ui);font-size:18px;font-weight:700;color:var(--ink-900);margin:0 0 14px}
body.page-saved .saved-note{color:var(--slate-500);font-size:13px;margin:0 0 14px;max-width:70ch}

/* A saved item whose target is no longer publicly eligible. Deliberately the
   plainest thing on the page: it carries the reference the person already had
   and nothing else, because R15 allows no more than that. */
body.page-saved .saved-gone{
  border:1px dashed var(--line);border-radius:var(--r-md);background:var(--canvas);padding:18px;
  display:flex;flex-direction:column;gap:6px;justify-content:center
}
body.page-saved .saved-gone strong{font-family:var(--font-ui);font-size:14.5px;color:var(--ink-900)}
body.page-saved .saved-gone span{font-size:13px;color:var(--slate-500)}
body.page-saved .saved-gone form{margin-top:6px}

/* One saved search: its name, its criteria as plain lines, and its actions. */
body.page-saved .ss-list{display:flex;flex-direction:column;gap:12px}
body.page-saved .ss-row{
  border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:16px 18px;
  display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between
}
body.page-saved .ss-main{min-width:min(100%,320px);flex:1}
body.page-saved .ss-name{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink-900);margin:0}
body.page-saved .ss-criteria{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
body.page-saved .ss-criteria li{
  font-size:12.5px;color:var(--slate-500);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px
}
body.page-saved .ss-reason{font-size:13px;color:var(--slate-500);margin:10px 0 0;max-width:60ch}
body.page-saved .ss-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
body.page-saved .ss-actions form{display:flex;gap:8px;align-items:center}
body.page-saved .ss-actions input[type="text"]{
  height:38px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:13.5px;
  max-width:200px
}

@media (max-width:1200px){
  body.page-saved .cards{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:820px){
  body.page-saved .cards{grid-template-columns:1fr;gap:12px}
  body.page-saved .saved-head{padding:20px 0 4px}
  body.page-saved .saved-head h1{font-size:21px}
  body.page-saved .ss-row{flex-direction:column;gap:12px}
  body.page-saved .ss-actions{width:100%}
  body.page-saved .ss-actions form{flex:1}
  body.page-saved .ss-actions input[type="text"]{flex:1;max-width:none}
}

/* =========================================================
   P17 ADDITIONS — Ask Blley

   Two kinds of rule again, and the difference is the same one P16's block
   describes.

   The first kind lets a locked control become a real one without moving. The
   packages draw Ask Blley as a span, a pill and a disabled input; production
   now renders a link, a link and a GET form in the same places. These rules
   give the new elements the shape the locked ones had — nothing is restyled,
   and no locked declaration is overridden.

   The second kind styles the interim Ask surface, which has **no locked
   mockup**. BLLEY-017 R14 approves it as an interim functional surface built
   from the existing shell and tokens, on the same terms as P15's enquiry form
   and P16's My Blley pages. It introduces no new component: a heading, a form
   row, and bordered blocks made of `--line`, `--r-md` and the existing type
   scale.
   ========================================================= */

/* The locked entry points, now real. `.ask-blley` and `.ask-btn` were spans and
   are anchors; `.mb-ai` was a span and is a link. Each keeps the package's own
   box and only stops looking unavailable. */
a.ask-blley,a.ask-btn,a.mb-ai{cursor:pointer;text-decoration:none}
a.ask-blley:hover .ask-label,a.ask-btn:hover{color:var(--brand-700)}

/* UI-001's homepage panel is a form now. The locked `.ai-input` row already
   lays out an input beside a send control; the send control is a button. */
.ai-panel form.ai-input{display:flex}
button.ai-send{cursor:pointer;border:0;background:none;display:flex;align-items:center;justify-content:center}
.ai-hint{font-size:14px;line-height:1.6;color:var(--slate-500);margin:0}

/* The `Ask` form inside UI-003's and UI-004's AI blocks. */
.ai-block .ai-note{font-size:13.5px;color:var(--slate-500);margin:0 0 14px;max-width:70ch;line-height:1.6}
.ai-block form.ai-ask{display:flex;gap:10px;flex-wrap:wrap}
.ai-block form.ai-ask input[type="text"]{
  flex:1;min-width:min(100%,240px);height:44px;padding:0 14px;border:1px solid var(--line);
  border-radius:var(--r-sm);font:inherit;font-size:14.5px
}

/* What Ask Blley changed, shown on the page it changed it on. */
.ask-applied{
  border:1px solid var(--line);border-left:3px solid var(--brand-600);border-radius:var(--r-md);
  background:#fff;padding:14px 18px;margin:16px auto
}
.ask-applied-q{font-family:var(--font-ui);font-size:14.5px;font-weight:600;color:var(--ink-900);margin:0}
.ask-applied-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.ask-applied-list li{
  font-size:12.5px;color:var(--slate-600);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px
}
.ask-applied-note{font-size:12.5px;color:var(--slate-500);margin:10px 0 0}

/* The interim Ask surface. */
/* Vertical padding only. `.shell` supplies the horizontal gutter (24px, 18px
   below 820px), and the shorthand this rule used to carry zeroed it — which
   put the question field and the Ask button hard against both edges of a
   390px screen. Caught by measuring the boxes in the browser, which is what
   the real-browser pass is for. */
body.page-ask .ask-page{padding-top:28px;padding-bottom:48px;max-width:820px}
body.page-ask .ask-back{font-size:13.5px;margin-bottom:14px}
body.page-ask h1{font-family:var(--font-ui);font-size:26px;font-weight:800;color:var(--ink-900);margin:0}
body.page-ask .ask-lede{color:var(--slate-500);font-size:14.5px;margin:8px 0 0;max-width:70ch;line-height:1.6}
body.page-ask .ask-form{display:flex;gap:10px;margin:20px 0 8px;flex-wrap:wrap}
body.page-ask .ask-form input[type="text"]{
  flex:1;min-width:min(100%,260px);height:46px;padding:0 14px;border:1px solid var(--line);
  border-radius:var(--r-sm);font:inherit;font-size:15px
}
body.page-ask .ask-block{
  border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:18px 20px;margin-top:16px
}
body.page-ask .ask-block--warn{border-left:3px solid var(--accent-500)}
body.page-ask .ask-block h2{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink-900);margin:0 0 12px}
body.page-ask .ask-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
body.page-ask .ask-chips li{
  font-size:12.5px;color:var(--slate-600);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px
}
body.page-ask .ask-unresolved{margin:0;padding-left:18px;color:var(--slate-600);font-size:14px;line-height:1.65}
body.page-ask .ask-fact{font-size:14.5px;color:var(--ink-800);margin:0 0 8px;line-height:1.6}
body.page-ask .ask-note{font-size:13.5px;color:var(--slate-500);margin:12px 0;max-width:70ch;line-height:1.6}
body.page-ask .ask-foot{font-size:12.5px;color:var(--slate-500);margin-top:24px;max-width:70ch;line-height:1.6}

@media (max-width:820px){
  body.page-ask .ask-page{padding-top:20px;padding-bottom:40px}
  body.page-ask h1{font-size:21px}
}

/* =========================================================
   P18 ADDITIONS — the commercial bands

   R18 composes search as separate labelled bands rather than one blended
   ranking, and the locked packages have no band container: UI-002 renders a
   premium card inside the ordinary grid. The card treatment itself is locked
   and untouched — `pcard--premium`, `badge--premium` and `premium-note` are
   used exactly as UI-002/UI-004 define them, with only the three words
   corrected to Featured (R1). What follows is the band *around* them.
   ========================================================= */

.commercial-band{margin-bottom:var(--s5)}
.band-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.band-title{
  font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-900);margin:0
}
.band-note{font-size:13px;color:var(--slate-500);margin:0;max-width:62ch;line-height:1.5}

/* The homepage has no `body.page-search` scope, so the locked paid treatment
   defined inside UI-002/UI-004 does not reach it. These two rules give the
   homepage the same hairline and the same badge — the identical declarations,
   not a second design. */
body.page-home .pcard--premium{border-color:#C9D6EE;position:relative}
body.page-home .pcard--premium::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--navy-800);z-index:2
}
body.page-home .badge--premium{background:var(--navy-900);color:#fff;display:inline-flex;align-items:center;gap:5px}
body.page-home .badge--premium::before{
  content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--accent-500)
}
body.page-home .premium-note{
  font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--slate-400);
  display:flex;align-items:center;gap:6px;margin-top:10px
}
body.page-home .premium-note::before{
  content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--accent-500);flex-shrink:0
}

/* Sponsored has no locked badge in UI-001…UI-004 — the locked package's only
   sponsored treatment is the `sponsored-unit` aside, which is a different
   component. So it gets its own modifier rather than borrowing Featured's:
   the two are different products and a visitor is meant to tell them apart.
   Same geometry as the locked badge, a different mark.

   Scoped per page for the same reason `badge--premium` is: each locked package
   scopes its own `.badge` rule to its body class, and an unscoped modifier
   loses to it on specificity — which is how the sponsored badge came out
   looking exactly like an unlabelled one in the first visual pass. */
body.page-home .badge--sponsored,
body.page-search .badge--sponsored,
body.page-listing .badge--sponsored,
body.page-profile .badge--sponsored{
  background:var(--slate-600);color:#fff;display:inline-flex;align-items:center;gap:5px
}
body.page-home .badge--sponsored::before,
body.page-search .badge--sponsored::before,
body.page-listing .badge--sponsored::before,
body.page-profile .badge--sponsored::before{
  content:"";width:6px;height:6px;border-radius:50%;background:#fff;opacity:.8;flex-shrink:0
}
