/* Bali Capital Connect stylesheet, ported from the design prototype and adapted to the static site. */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/plex-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/plex-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --paper:#F4F6F5; --surface:#FFFFFF; --ink:#18201E; --muted:#56615E; --line:#DCE2DF;
  --moss:#1E4A46; --moss-2:#2A5B56; --leaf:#2C7A72; --leaf-soft:#E1F1EF; --sun:#FCB24E; --sun-soft:#EAF1EE; --badge-ink:#23645D;
  --danger:#A3412B; --on-moss:#F2F6F3;
  --r-sm:4px; --r-md:6px;
  --head:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --body:"IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#121A18; --surface:#18221F; --ink:#E6ECE9; --muted:#9AA9A3; --line:#2B3833;
    --moss:#0E1714; --moss-2:#1B2A25; --leaf:#8CC7C3; --badge-ink:#8CC7C3; --leaf-soft:#1F3229; --sun:#FCB24E; --sun-soft:#3A3220;
    --on-moss:#E6ECE9; color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#121A18; --surface:#18221F; --ink:#E6ECE9; --muted:#9AA9A3; --line:#2B3833;
  --moss:#0E1714; --moss-2:#1B2A25; --leaf:#8CC7C3; --badge-ink:#8CC7C3; --leaf-soft:#1F3229; --sun:#FCB24E; --sun-soft:#3A3220;
  --on-moss:#E6ECE9; color-scheme: dark;
}
:root{box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:300 15.5px/1.65 var(--body);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1,"lnum" 1}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.18;margin:0;letter-spacing:-0.02em}
h1,h2{letter-spacing:-.015em}
b,strong{font-weight:600}
a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
[hidden]{display:none!important}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.small{font-size:.85rem}.muted{color:var(--muted)}.center{text-align:center}
.narrow{max-width:720px;padding-top:40px;padding-bottom:64px}.narrow h1{margin-bottom:14px}.narrow p{margin:0 0 12px}

/* header */
.top{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--head);font-weight:600;white-space:nowrap}
.mark{height:41.4px;width:auto;flex:none;display:block}
.wordmark.wm3{display:flex;flex-direction:column;line-height:1.02}
.wordmark.wm3 span{font-size:.954rem;font-weight:600;letter-spacing:.02em;color:var(--ink)}
nav.main{display:flex;gap:4px;margin-left:auto}
nav.main a{color:var(--ink);padding:8px 12px;border-radius:var(--r-sm);text-decoration:none;opacity:.85;white-space:nowrap}
nav.main a:hover{opacity:1;background:var(--leaf-soft)}
nav.main a.active{opacity:1;background:var(--leaf-soft);font-weight:500}
nav.main .mob-list{display:none}
.lang{display:inline-flex;border:1px solid rgba(0,0,0,.15);border-radius:4px;overflow:hidden;flex:none}
.lang button{border:0;background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:600;padding:5px 10px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--leaf);color:#fff}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--ink);border-radius:var(--r-sm);padding:6px 10px;cursor:pointer}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-sm);padding:10px 16px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;background:var(--sun);color:#1E2B27}
.btn-sun{background:var(--sun);color:#1E2B27}
.btn-leaf{background:var(--leaf);color:#fff}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn-outline-light{border:1px solid rgba(255,255,255,.45);color:var(--on-moss);background:transparent}
.btn:hover{filter:brightness(.96)}
.btn-block{display:flex;width:100%}
.link,.reset{background:none;border:0;color:var(--leaf);font-weight:600;cursor:pointer;padding:0;text-align:left}

/* search band */
.band{background:var(--moss);color:var(--on-moss);padding:28px 0 34px}
.band h1{font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:600;max-width:22ch}
.band p{margin:8px 0 22px;opacity:.8;max-width:60ch}
.search{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr auto;gap:10px;background:var(--moss-2);padding:12px;border-radius:var(--r-md)}
.search label{display:flex;flex-direction:column;font-size:.8rem;gap:4px;opacity:.95;min-width:0}
.search input,.search select{width:100%;min-width:0;height:44px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--surface);color:var(--ink);padding:0 12px}
.search .btn{height:44px;align-self:end}

/* results */
.layout{display:block;padding:28px 20px 60px}
.results-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.results-head h2{font-size:1.5rem}
.head-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chip-toggle{height:38px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);padding:0 14px;font:inherit;font-size:.9rem;cursor:pointer}
.chip-toggle[aria-pressed="true"]{background:var(--leaf);border-color:var(--leaf);color:#fff}
.sort{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.sort select{height:38px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:0 10px;color:var(--ink);min-width:0;max-width:100%}
.alert-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--leaf-soft);border-radius:var(--r-md);padding:12px 16px;margin-bottom:14px}
.alert-bar p{margin:0;font-size:.92rem;flex:1 1 320px}
.alert-bar .btn{flex:none;white-space:nowrap}

/* listing rows */
.list{display:flex;flex-direction:column;gap:14px}
.row{display:grid;grid-template-columns:200px minmax(0,1fr) 250px;grid-template-areas:"img main price";gap:20px;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.row:hover{border-color:#B9C4BF;box-shadow:0 2px 10px rgba(24,32,30,.07)}
.row:hover h3 a{text-decoration:underline;text-underline-offset:3px}
.row.featured{border-color:var(--line);box-shadow:inset 3px 0 0 var(--sun)}
.row>.thumb{grid-area:img}.row>.row-main{grid-area:main}.row>.row-price{grid-area:price}
.thumb{border-radius:var(--r-sm);aspect-ratio:4/3;overflow:hidden;position:relative;align-self:start}
.thumb.photo{padding:0;background:#eef0ee;display:block}
.thumb.photo img{width:100%;height:100%;object-fit:cover;display:block}
.thumb.tile{display:flex;flex-direction:column;justify-content:space-between;padding:10px;color:#fff;font-weight:600;font-size:.82rem;background:var(--moss-2)}
.row-main{min-width:0;display:flex;flex-direction:column;gap:6px}
.row-main h3{font-size:1.08rem;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-main h3 a{text-decoration:none}
.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge{font-size:.78rem;font-weight:500;padding:3px 10px;border-radius:999px;background:var(--leaf-soft);color:var(--badge-ink)}
/* Deal-type colours, from BCC's Instagram listing posts (Canva master "BCC_IG Listings"): FOR SALE orange #F8AC4C,
   INVESTMENT teal #6DAD9A, LOAN OPPORTUNITY slate #36454F. Franchise, turnkey and distressed have no Instagram colour,
   so they are proposed to sit with that palette. Text colours are chosen for WCAG AA (>= 4.5:1) on each fill.
   Filter chips can reuse these with class="... type-<key>" or tag-<key>, or the --dt-* variables. */
:root{--dt-sale-bg:#F8AC4C;--dt-sale-fg:#3A2408;--dt-raise-bg:#6DAD9A;--dt-raise-fg:#0E2A23;--dt-finance-bg:#36454F;--dt-finance-fg:#fff;
  --dt-franchise-bg:#8FB3D9;--dt-franchise-fg:#0F2438;--dt-turnkey-bg:#2C7A72;--dt-turnkey-fg:#fff;--dt-distressed-bg:#9A3412;--dt-distressed-fg:#fff}
:root[data-theme="dark"]{--dt-finance-bg:#52626D}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--dt-finance-bg:#52626D}}
.type-sale{--dt-bg:var(--dt-sale-bg);--dt-fg:var(--dt-sale-fg)}
.type-raise{--dt-bg:var(--dt-raise-bg);--dt-fg:var(--dt-raise-fg)}
.type-finance{--dt-bg:var(--dt-finance-bg);--dt-fg:var(--dt-finance-fg)}
.type-franchise{--dt-bg:var(--dt-franchise-bg);--dt-fg:var(--dt-franchise-fg)}
.type-turnkey,.tag-turnkey{--dt-bg:var(--dt-turnkey-bg);--dt-fg:var(--dt-turnkey-fg)}
.tag-distressed{--dt-bg:var(--dt-distressed-bg);--dt-fg:var(--dt-distressed-fg)}
.badge:is(.type-sale,.type-raise,.type-finance,.type-franchise,.type-turnkey,.tag-turnkey,.tag-distressed),
.chip-toggle:is(.type-sale,.type-raise,.type-finance,.type-franchise,.type-turnkey,.tag-turnkey,.tag-distressed)[aria-pressed="true"]{background:var(--dt-bg);color:var(--dt-fg);border-color:var(--dt-bg);font-weight:600;box-shadow:none}
.badge.sun{background:var(--sun-soft);color:#7A5A06}
.badge.sold-badge{background:#B42318;color:#fff}
:root[data-theme="dark"] .badge.sun{color:var(--sun)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .badge.sun{color:var(--sun)}}
.meta{font-size:.84rem;color:var(--muted)}
.sum{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-price{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column;gap:2px}
.pl{font-size:.78rem;color:var(--muted)}
.pv{font-family:var(--head);font-weight:600;font-size:1.5rem;line-height:1.15;color:var(--ink);letter-spacing:-.01em}
.pv.none{font-size:1.05rem;color:var(--muted)}
.pn{font-size:.86rem;color:var(--leaf);font-weight:600}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 12px}
.mini dt{font-size:.78rem;color:var(--muted)}
.mini dd{margin:0;font-weight:600;font-size:.92rem}
.mini dd small{font-weight:400;color:var(--muted);font-size:.72rem}
.mini dd.nd{color:var(--muted);font-weight:400}
.acts{margin-top:auto;display:flex;gap:8px}
.acts .btn{flex:1}
.save{background:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;cursor:pointer;color:var(--ink)}
.save[aria-pressed="true"]{border-color:var(--leaf);color:var(--leaf);font-weight:600}
.promo{display:flex;gap:18px;align-items:center;justify-content:space-between;background:var(--moss);color:var(--on-moss);border-radius:var(--r-md);padding:20px;flex-wrap:wrap}
.promo h3{font-size:1.2rem}
.promo p{margin:4px 0 0;opacity:.8;font-size:.94rem;max-width:52ch}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md);padding:32px;text-align:center}

/* sell or raise page */
.sp-hero{background:var(--moss);color:var(--on-moss);padding:56px 0 48px}
.sp-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);max-width:20ch}
.sp-hero p{max-width:60ch;opacity:.88;margin:16px 0 26px;font-size:1.05rem}
.rd-ctas{display:flex;gap:12px;flex-wrap:wrap}
.rd-sec{padding:56px 0;border-bottom:1px solid var(--line)}
.rd-sec h2{font-size:clamp(1.5rem,3vw,2.1rem);max-width:24ch;margin-bottom:12px}
.rd-sec .lead{color:var(--muted);max-width:62ch;margin:0 0 28px}
#spPlans{scroll-margin-top:72px}
.sp-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;display:flex;flex-direction:column;gap:10px;position:relative}
.plan.best{border:2px solid var(--leaf)}
.plan .flag{position:absolute;top:-12px;left:20px;background:var(--leaf);color:#fff;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:4px}
.plan h3{font-size:1.25rem}
.plan .tag{color:var(--muted);font-size:.92rem;margin:0}
.plan .price{font-family:var(--head);font-size:1.9rem;font-weight:600}
.plan .price small{font-size:.9rem;font-weight:400;color:var(--muted)}
.plan .inc{font-size:.85rem;font-weight:600;color:var(--leaf);margin:4px 0 0}
.plan ul{margin:0;padding-left:18px;color:var(--muted);font-size:.95rem;flex:1;display:flex;flex-direction:column;gap:6px}
.plan .btn{width:100%;text-align:center}
.plan-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.plan code,.faq code{font-weight:600;background:var(--leaf-soft);color:var(--leaf);padding:1px 6px;border-radius:4px}
.sp-note{color:var(--muted);font-size:.92rem;margin:16px 0 0;max-width:70ch}
.cmp-wrap{overflow-x:auto;margin-top:28px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:.94rem}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:center}
.cmp th:first-child,.cmp td:first-child{text-align:left;font-weight:300}
.cmp thead th{font-family:var(--head);font-size:1rem;background:var(--paper);font-weight:600}
.cmp thead th.best{color:var(--leaf)}
.cmp td small{display:block;color:var(--muted);font-size:.8rem}
.cmp .y{color:var(--leaf);font-weight:600;font-size:1.1rem}
.cmp .n{color:var(--muted)}
.cmp tr:last-child td{border-bottom:0;font-weight:600}
.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sp-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.sp-step .n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--sun);color:#141414;font-weight:600;align-items:center;justify-content:center;margin-bottom:10px}
.sp-step h3{font-size:1.02rem;margin-bottom:6px}
.sp-step p{color:var(--muted);font-size:.93rem;margin:0}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--leaf);line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{color:var(--muted);margin:10px 0 0;max-width:70ch}
.rd-final{background:var(--sun-soft);padding:56px 0;text-align:left}
.rd-final h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:10px}
.rd-final p{max-width:56ch;color:var(--muted);margin:0 0 22px}

/* insights page */
.in-hero{background:var(--moss);color:var(--on-moss);padding:48px 0 40px}
.in-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);max-width:22ch;margin:0}
.in-hero p{max-width:60ch;opacity:.88;margin:14px 0 0;font-size:1.05rem}
.in-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.in-kpi{background:var(--moss-2);border-radius:var(--r-md);padding:14px 16px}
.in-kpi b{display:block;font-size:1.8rem;font-weight:600;color:var(--sun);line-height:1.1}
.in-kpi span{font-size:.88rem;opacity:.85}
.in-hero .in-meta{font-size:.85rem;opacity:.75;margin-top:10px;max-width:72ch}
.in-nav{position:sticky;top:64px;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.in-nav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.in-nav a{flex:none;font-size:.9rem;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.in-nav a:hover{color:var(--ink);border-color:var(--muted)}
.in-nav a.active{color:var(--on-moss);background:var(--moss);border-color:var(--moss)}
.in-sec{padding:40px 0 8px;scroll-margin-top:120px}
.in-sec>.wrap>h2{font-size:1.5rem;margin:0 0 4px;font-weight:600}
.in-sec>.wrap>p.in-intro{color:var(--muted);margin:0 0 20px;max-width:64ch}
.in-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.in-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:14px}
.in-card.wide{grid-column:1/-1}
.in-card h3{font-size:1.08rem;font-weight:600;margin:0;line-height:1.35}
.in-card .in-q{font-size:.85rem;color:var(--muted);margin:-8px 0 0}
.in-small{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:var(--sun-soft);color:var(--ink);border:1px solid color-mix(in srgb,var(--sun) 55%,transparent);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:500}
.in-small::before{content:"!";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--sun);color:#18201E;font-size:.7rem;font-weight:600}
.in-bars{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}
.in-split{display:flex;flex-wrap:wrap;gap:10px 22px;margin:4px 0 0}.in-split>div{display:flex;align-items:baseline;gap:6px}.in-split b{font-size:1.15em}
.in-bar{display:grid;grid-template-columns:minmax(92px,32%) 1fr 44px;align-items:center;gap:10px;font-size:.9rem}
.in-bar .lb{color:var(--ink);line-height:1.25}
.in-bar .lb small{display:block;color:var(--muted);font-size:.76rem}
.in-bar .tr,.in-bar .fl{display:block}
.in-bar .tr{height:22px;background:color-mix(in srgb,var(--line) 55%,transparent);border-radius:3px;overflow:hidden}
.in-bar .fl{height:100%;background:color-mix(in srgb,var(--leaf) 38%,transparent);border-radius:3px}
.in-bar.hi .fl{background:var(--leaf)}
.in-bar.lo .fl{background:color-mix(in srgb,var(--danger) 55%,transparent)}
.in-bar .v{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.in-take{background:var(--paper);border-radius:var(--r-sm);padding:12px 14px;font-size:.92rem;line-height:1.5}
.in-take p{margin:0}
.in-take p+p{margin-top:6px}
.in-foot{font-size:.78rem;color:var(--muted);margin-top:auto}
.in-big{font-size:2.2rem;font-weight:600;color:var(--leaf);margin:0}
.in-cta{margin:40px 0 0;background:var(--leaf-soft);border-radius:var(--r-md);padding:24px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.in-cta h3{margin:0 0 4px;font-size:1.2rem;font-weight:600}
.in-cta p{margin:0;color:var(--muted);max-width:56ch}
.in-cta .btns{display:flex;gap:10px;flex-wrap:wrap}
.in-method{font-size:.85rem;color:var(--muted);padding:28px 0 48px;max-width:80ch}
.in-method h3{font-size:.95rem;color:var(--ink);font-weight:600;margin:0 0 6px}
.in-method ul{margin:6px 0 0;padding-left:18px}
.in-method li{margin:3px 0}

/* listing detail page (artifact's listing dialog, as a page) */
.l-wrap{padding:18px 20px 40px}
.l-page{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px 28px 32px;margin-top:20px}
.l-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.l-back{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--leaf);color:var(--leaf);background:var(--surface);border-radius:4px;padding:6px 12px 6px 8px;font-size:.86rem;text-decoration:none}
.l-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
.l-page .badges{margin-bottom:8px}
.l-page h1{font-size:1.6rem;font-weight:600;line-height:1.25;margin:0}
.l-loc{color:var(--muted);margin:4px 0 18px;font-size:.98rem}
.l-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.l-photo{aspect-ratio:16/9;background:#eef0ee;border-radius:4px;overflow:hidden}
.l-photo img{width:100%;height:100%;object-fit:cover;display:block}
.l-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 0 12px;border-bottom:1px solid var(--line)}
.l-plabel{font-size:1.15rem;font-weight:600}
.l-price strong{font-size:1.25rem;font-weight:600}
.l-pnote{color:var(--leaf);font-weight:600;font-size:.92rem}
.l-icons{margin-left:auto;display:flex;gap:6px}
.l-kv{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:0;padding:12px 0 16px;border-bottom:1px solid var(--line)}
.l-kv div{display:grid;grid-template-columns:150px 1fr;gap:8px;padding:6px 0;font-size:.92rem}
.l-kv dt{color:var(--muted)}
.l-kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.l-kv small{font-weight:400;color:var(--muted)}
.l-page .nd{font-weight:400;color:var(--muted)}
.l-sec{padding:22px 0;border-bottom:1px solid var(--line)}
.l-sec:last-child{border-bottom:0}
.l-sec h2{font-size:1.2rem;font-weight:500;margin:0 0 12px}
.l-desc{font-size:.95rem;line-height:1.65}.l-desc p{margin:0 0 12px}
.l-tbl{display:grid;grid-template-columns:190px 1fr;gap:8px 16px;margin:0;font-size:.93rem}
.l-tbl dt{font-weight:600}
.l-tbl dd{margin:0;overflow-wrap:anywhere}
.l-side{display:grid;gap:14px} /* not sticky (owner, 1 Nov): the enquiry box stays at the top of the sidebar and scrolls with the page */
.l-card{border:1px solid var(--line);border-radius:4px;padding:16px;background:var(--surface)}
.l-card h2{font-size:1.05rem;font-weight:500;margin:0 0 6px}
.l-small{font-size:.8rem;color:var(--muted);margin:0;line-height:1.45;display:block}
.l-manage{margin-top:8px}
.l-ref{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:3px;padding:10px 12px;margin:10px 0 14px;font-size:.88rem}
.l-send{display:block;width:100%;text-align:center;background:var(--sun);color:#141414;font-weight:600;border:0;border-radius:3px;padding:11px;text-decoration:none;cursor:pointer;font-size:.95rem}
.l-send:hover{filter:brightness(.95)}
.l-ready{background:var(--sun-soft);border-color:transparent}
.l-ready .l-small{margin:6px 0 12px;color:var(--ink)}
.eq{display:grid;gap:10px}
.eq label{display:grid;gap:4px;font-size:.78rem;color:var(--muted);font-weight:500}
.eq input,.eq select,.eq textarea{width:100%;border:1px solid #cfcfcf;border-radius:3px;padding:9px 10px;font-size:.88rem;background:var(--surface);color:var(--ink);font-weight:400}
.eq textarea{resize:vertical;min-height:84px}
.eq input:focus,.eq select:focus,.eq textarea:focus{outline:2px solid var(--leaf);outline-offset:-1px;border-color:transparent}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-weight:500;margin:0}.form-status.ok{background:var(--leaf-soft);border-radius:var(--r-sm);padding:12px}.form-status.err{color:var(--danger)}
.eq-err{color:var(--danger);font-size:.8rem;font-weight:500;margin:-4px 0 0}.eq [aria-invalid=true]{border-color:var(--danger)}

/* deal alerts + simple forms */
.form{display:flex;flex-direction:column;gap:10px}
.form label{font-size:.85rem;font-weight:600;display:flex;flex-direction:column;gap:4px}
.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 10px;background:var(--surface);font-weight:400}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px}
.alerts fieldset{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;margin:0}
.alerts legend{font-weight:600;font-size:.85rem;padding:0 4px}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.form label.check,label.check{flex-direction:row;align-items:center;gap:6px;font-weight:400;font-size:.92rem}
.form label.check input,label.check input{width:16px;height:16px;padding:0;accent-color:var(--leaf)}
.note{font-size:.82rem;color:var(--muted);margin:0}
.offline-note{background:var(--sun-soft);border:1px solid var(--sun);color:var(--ink);border-radius:var(--r-sm);padding:10px 12px;font-size:.9rem;font-weight:500;margin:0 0 14px}
.preview-banner{background:#8E2F1E;color:#fff;text-align:center;font-weight:600;font-size:14px;padding:8px 12px;letter-spacing:.02em}

/* footer */
footer.site-footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:.88rem}
footer.site-footer .wrap{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}
.foot-brand{display:flex;gap:14px;align-items:center}.foot-brand img{width:72px;height:72px;border-radius:12px;flex:none;background:#FEF4E3;padding:9px;box-sizing:border-box;object-fit:contain}.foot-brand b{color:var(--ink)}
.foot-legal{max-width:520px}.legal-links{margin-top:8px}.legal-links a{color:inherit;text-decoration:underline}

@media (max-width:960px){
  nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:8px 12px 14px}
  nav.main.open{display:flex}
  nav.main .mob-list{display:block;background:var(--sun)!important;color:#141414!important;font-weight:600;opacity:1;margin-top:6px}
  .menu-toggle{display:inline-block}
  .top .cta-desk{display:none}
}
@media (max-width:900px){
  .search{grid-template-columns:1fr 1fr}
  .search label:first-child{grid-column:1/-1}
  .search .btn{grid-column:1/-1}
  .row{grid-template-columns:160px minmax(0,1fr);grid-template-areas:"img main" "img price"}
  .row-price{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
  .sp-plans{grid-template-columns:1fr}.sp-steps{grid-template-columns:1fr}
  .l-grid{grid-template-columns:1fr}.l-side{position:static}.l-kv{grid-template-columns:1fr}
}
@media (max-width:820px){.in-grid{grid-template-columns:1fr}.in-kpis{grid-template-columns:1fr 1fr}}
@media (max-width:720px){
  .top .wrap{gap:8px}
  .lang button{padding:5px 8px}
  .results-head{flex-wrap:wrap;gap:10px}
  .results-head>div{width:100%}
  .sort{flex:1 1 150px;min-width:150px}.sort select{flex:1;width:100%}
}
@media (max-width:620px){
  .row{grid-template-columns:1fr;grid-template-areas:"img" "main" "price";gap:12px}
  .thumb{aspect-ratio:16/9}
  .pv{font-size:1.35rem}
}
@media (max-width:560px){
  .wordmark.wm3 span{font-size:.855rem}.brand .mark{height:36px}
  .l-page{padding:14px 16px 24px}.l-page h1{font-size:1.3rem}.l-kv div{grid-template-columns:150px 1fr}.l-tbl{grid-template-columns:1fr;gap:2px}.l-tbl dd{margin-bottom:10px}
}

.sp-types{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.sp-types span{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:8px 14px;font-size:.92rem;font-weight:500}
.sp-steps{grid-template-columns:repeat(4,1fr)}
.plan li.no{color:var(--muted);opacity:.75;list-style:"– "}
.plan .out{margin:0;font-weight:600;color:var(--leaf);font-size:.95rem}
.addon{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--surface);border:1px dashed var(--leaf);border-radius:var(--r-md);padding:22px;margin:22px 0 8px}
.addon h3{font-size:1.25rem;margin:6px 0 6px}
.addon p{margin:0 0 6px;max-width:70ch}
.addon .tag-pill{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--leaf)}
.addon-side{display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:220px}
.addon-side .price{font-family:var(--head);font-size:1.6rem;font-weight:600;text-align:center}
.in-db{font-size:1rem;font-weight:600;margin:28px 0 -14px;opacity:.9;color:inherit}
@media (max-width:900px){.sp-steps{grid-template-columns:1fr 1fr}.addon{grid-template-columns:1fr}}
@media (max-width:640px){.sp-steps{grid-template-columns:1fr}}

/* Slim one-line headline claims under the hero heading/subheading */
.claim-line{margin:6px 0 0;font-size:.88rem;line-height:1.6;opacity:.72;letter-spacing:.01em}
.claim-line .cl{white-space:nowrap}
.claim-line .cl-sep{opacity:.8}
@media (max-width:640px){.claim-line{font-size:.82rem}}
/* Landing pages (production SEO) */
.crumbs{font-size:.9rem;margin-bottom:10px;opacity:.85}.crumbs a{color:inherit}
.lp-stats{font-size:.95rem;opacity:.85}
.lp-related{margin:28px 0 12px}.lp-related h2{font-size:1.15rem;margin-bottom:10px}
.lp-related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.lp-related a{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;color:var(--ink);font-size:.92rem}
.l-more a{font-weight:500}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.l-autotr{margin:2px 0 6px;font-size:.78rem;color:var(--muted,#5b6b66)}.l-autotr:empty{display:none}

/* Homepage five-line stats strip (orange figures on the moss hero) */
.stat-strip{list-style:none;margin:4px 0 22px;padding:0;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.stat-strip li{padding:12px 14px 12px 0;display:flex;flex-direction:column;gap:2px;font-size:.84rem;line-height:1.35}
.stat-strip li+li{padding-left:14px;border-left:1px solid rgba(255,255,255,.14)}
.stat-strip b{color:var(--sun);font-size:1.35rem;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.stat-strip span{opacity:.82}
@media (max-width:860px){
  .stat-strip{grid-template-columns:1fr;border-bottom:0}
  .stat-strip li,.stat-strip li+li{flex-direction:row;align-items:baseline;gap:10px;padding:7px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .stat-strip b{font-size:1.05rem;min-width:4.2em}
}
/* Deal situation tags (lib/deal-tags.mjs) */
html:has(.in-nav){scroll-behavior:smooth}

/* ---- Site-wide layout polish: one centred container, left-aligned heads with wide leads, steadier rhythm ---- */
:root{--wrap-max:1200px;--gutter:clamp(20px,3.5vw,40px);--sec-y:clamp(48px,6vw,80px);--lead-w:960px}
.wrap{max-width:calc(var(--wrap-max) + 2 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
.wrap.narrow{max-width:calc(720px + 2 * var(--gutter))}
.wrap.layout{padding:clamp(28px,4vw,44px) var(--gutter) 64px}
.l-wrap{padding-left:var(--gutter);padding-right:var(--gutter)}
/* Hero bands (home, area/type landing pages, sell, insights): left-aligned inside the centred container; lead copy spans most of it */
.band{padding:clamp(36px,5vw,56px) 0 clamp(36px,4.5vw,48px)}
.band>.wrap>h1,.band>.wrap>p,.band .crumbs,.sp-hero h1,.sp-hero p,.sp-hero .claim-line,.in-hero h1,.in-hero>.wrap>p,.in-hero .in-meta,.in-db{text-align:left;margin-left:0;margin-right:0}
.band h1{font-size:clamp(1.9rem,3.9vw,2.8rem);max-width:30ch;line-height:1.14}
.band>.wrap>p{max-width:var(--lead-w);margin-top:12px;margin-bottom:24px}
.band>.wrap>p.lp-stats{margin-top:-10px}
.sp-hero{padding:clamp(56px,7vw,88px) 0 clamp(48px,6vw,72px)}
.sp-hero h1{font-size:clamp(2.1rem,4.8vw,3.4rem);max-width:26ch;line-height:1.1}
.sp-hero p{max-width:var(--lead-w);font-size:1.1rem}
.in-hero{padding:clamp(48px,6vw,72px) 0 clamp(40px,5vw,56px)}
.in-hero h1{font-size:clamp(2rem,4.2vw,3rem);max-width:30ch;line-height:1.12}
.in-hero>.wrap>p{max-width:var(--lead-w);font-size:1.1rem}
.rd-ctas{justify-content:flex-start}
/* Stats strip: balanced, centred figures on desktop */
@media (min-width:861px){
  .stat-strip{margin:8px 0 28px}
  .stat-strip li,.stat-strip li+li{padding:14px 16px;align-items:center;text-align:center}
  .stat-strip b{font-size:1.5rem}
}
/* Section heads and leads on marketing pages: left-aligned, wide leads */
.rd-sec{padding:var(--sec-y) 0}
.rd-sec>.wrap>h2,.rd-final h2,.in-sec>.wrap>h2{text-align:left;margin-left:0;margin-right:0}
.rd-sec h2,.rd-final h2{font-size:clamp(1.65rem,3.2vw,2.35rem);max-width:36ch;margin-bottom:14px}
.rd-sec .lead,.rd-final p,.in-sec>.wrap>p.in-intro{text-align:left;max-width:var(--lead-w);margin-left:0;margin-right:0}
.rd-sec .lead{margin-bottom:36px}
.sp-types{justify-content:flex-start}
.sp-note{text-align:left;margin-left:0;margin-right:0}
.faq{margin-left:0;margin-right:0}
.rd-final{padding:var(--sec-y) 0;text-align:left}
.rd-final p{margin-bottom:26px}
.in-sec{padding:clamp(40px,5vw,64px) 0 8px}
.in-sec>.wrap>h2{font-size:clamp(1.5rem,2.6vw,1.95rem);margin-bottom:8px}
.in-sec>.wrap>p.in-intro{margin-bottom:28px}
.in-method{margin-left:0;margin-right:0}
.in-cta{margin-top:48px}
.in-grid,.sp-plans,.sp-steps{gap:20px}
.in-kpi{text-align:center}
@media (min-width:901px){.l-grid{grid-template-columns:minmax(0,1fr) 340px;gap:32px}} /* side card fits the 300px Turnstile widget plus padding */
/* Deal alerts: "Send me everything", per-group "All", "Other: please specify" (round 2) */
.form label.check-every,label.check-every{display:flex;align-items:flex-start;gap:10px;background:var(--leaf-soft);border:1px solid color-mix(in srgb,var(--leaf) 35%,transparent);border-radius:var(--r-sm);padding:12px 14px;margin:0 0 6px}
label.check-every input{margin-top:3px}
label.check-every b{display:block;font-weight:600;font-size:1rem}
label.check-every small{color:var(--muted);font-size:.86rem}
.form label.check-all,label.check-all{font-weight:600;flex-basis:100%;padding-bottom:4px;border-bottom:1px dashed var(--line);margin-bottom:2px}
.form label.al-other,label.al-other{display:flex;flex-direction:column;gap:4px;margin-top:10px;font-size:.92rem;font-weight:500}
label.al-other input{max-width:360px}
/* Plans: sell the paid plans a little more, Free stays clearly available (round 2) */
.sp-plans{padding-top:12px}
.plan.best{border:2px solid var(--sun);box-shadow:0 10px 28px -14px color-mix(in srgb,var(--sun) 70%,transparent)}
.plan.res{border:2px solid var(--leaf)}
.plan .flag{top:-13px;font-size:.8rem;padding:4px 12px;border-radius:999px;letter-spacing:.01em}
.plan .flag-sun{background:var(--sun);color:#1f1a10}
.plan .out{font-family:var(--head);font-size:1.12rem;line-height:1.3;padding:8px 12px;border-radius:var(--r-sm);background:var(--leaf-soft);color:var(--leaf)}
.plan.best .out{background:var(--sun-soft);color:var(--ink)}
.plan .out.out-free{background:transparent;color:var(--muted);font-family:inherit;font-size:.92rem;font-weight:500;padding:8px 0}
.plan-free{background:var(--paper)}
.plan-free .price{font-size:1.6rem}
.cmp thead th small{display:block;font-family:var(--body);font-size:.74rem;font-weight:600;color:var(--muted)}
.cmp thead th.best{background:var(--sun-soft);color:var(--ink);box-shadow:inset 0 3px 0 var(--sun)}
.cmp thead th.res{color:var(--leaf)}
.cmp td:nth-child(3){background:color-mix(in srgb,var(--sun-soft) 45%,transparent)}
.cmp thead th.free{color:var(--muted)}
@media (max-width:900px){
  .sp-plans .plan.best{order:1}.sp-plans .plan.res{order:2}.sp-plans .plan-free{order:3}
}
/* Round 4: description section headings (lib/description.mjs) */
.l-desc .l-desc-h{font-size:1.05rem;font-weight:700;margin:1.4em 0 .4em;line-height:1.3}
.l-desc .l-desc-h:first-child{margin-top:0}
.l-desc ul{margin:.3em 0 1em;padding-left:1.2em}
.l-desc li{margin:.25em 0}
/* Valuation note and Assets section (test site) */

.nw{white-space:nowrap}
.l-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;border:1px solid var(--line);border-radius:50%;font-size:.65rem;font-style:italic;line-height:1;color:var(--muted);cursor:help;vertical-align:1px}
.l-tip-b{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:5;width:240px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm,8px);background:var(--surface);color:var(--ink);font-style:normal;font-size:.8rem;line-height:1.35;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.l-tip:hover .l-tip-b,.l-tip:focus .l-tip-b{display:block}

/* Deal summary (one table, near the top) */
.l-summary{margin-top:4px}
.l-tbl .l-sub{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.l-tbl .l-note.cvt{white-space:normal}
.l-tbl small{color:var(--muted)}
.l-sub-h{font-size:1rem;margin:18px 0 8px}
.l-fn{margin:12px 0 0;color:var(--muted);font-size:.8rem}

/* Listing gallery */
.gal{position:relative}
.gal-strip{display:grid;gap:6px;border-radius:4px;overflow:hidden;height:min(56vw,440px)}
.gal-i{all:unset;position:relative;cursor:zoom-in;overflow:hidden;background:#eef0ee;min-height:0}
.gal-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.gal-i:hover img{transform:scale(1.02)}
.gal-i:focus-visible{outline:3px solid #1d6b4f;outline-offset:-3px}
.g2 .gal-strip{grid-template-columns:1fr 1fr}
.g3 .gal-strip{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.g4 .gal-strip{grid-template-columns:2fr 1fr;grid-template-rows:repeat(3,1fr)}
.g3 .gal-hero,.g4 .gal-hero{grid-row:1/-1}
.g5 .gal-strip{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
.g5 .gal-hero{grid-row:1/-1}
.g5 .gal-x{display:none}
.gal-more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.3em;background:rgba(0,0,0,.5);color:#fff;font-weight:600;font-size:1.15rem}
.gal-count{display:none}
.gal-all{position:absolute;right:10px;bottom:10px;background:#fff;border:1px solid #c9ccc9;border-radius:4px;padding:5px 10px;font:inherit;font-size:.85rem;cursor:pointer}
.l-photo{max-height:440px}
.l-demo{background:#fff6dc;border:1px solid #ecd58a;border-radius:4px;padding:6px 10px;font-size:.85rem;margin:0 0 10px}
@media (max-width:640px){
  .gal-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;height:auto;aspect-ratio:4/3;scrollbar-width:none}
  .gal-strip::-webkit-scrollbar{display:none}
  .gal-i,.g5 .gal-x{display:block;flex:0 0 100%;scroll-snap-align:start}
  .gal-more{display:none}
  .gal-count{display:block;position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;border-radius:12px;padding:2px 9px;font-size:.8rem}
  .gal-all{font-size:.8rem}
}
.gal-lb{border:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(10,12,11,.94);color:#fff}
.gal-lb::backdrop{background:rgba(0,0,0,.8)}
.gal-lb[open]{display:flex;align-items:center;justify-content:center}
.gal-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:92vw;touch-action:pan-y}
.gal-lb img{max-width:92vw;max-height:84vh;object-fit:contain;display:block}
.gal-lb figcaption{margin-top:8px;font-size:.9rem;opacity:.85}
.gal-close,.gal-nav{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.7rem;line-height:1;cursor:pointer}
.gal-close:focus-visible,.gal-nav:focus-visible{outline:3px solid #fff}
.gal-close{top:12px;right:12px}
.gal-prev{left:12px;top:50%;transform:translateY(-50%)}
.gal-next{right:12px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.gal-nav{top:auto;bottom:14px;transform:none}}

/* Sort: one compact control. The visible face reads "Sort: <choice>"; the native select sits on top (transparent) so it opens and is keyboard/screen-reader accessible. */
.sort{position:relative;display:inline-flex;align-items:center}
.sort .sort-face{display:flex;align-items:center;gap:4px;height:38px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") no-repeat right 11px center;color:var(--muted);font-size:.9rem;white-space:nowrap}
.sort .sort-face b{color:var(--ink);font-weight:600}
.sort select#f-sort{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.sort:focus-within .sort-face{outline:2px solid var(--ink);outline-offset:1px}
@media (max-width:640px){.sort .sort-face{flex:1}}
/* Currency switcher (header) and the one-per-page "converted" note */
.cur{flex:none;display:inline-flex;align-items:center}
.cur select{font:inherit;font-size:.8rem;font-weight:600;color:inherit;background-color:transparent;border:1px solid rgba(0,0,0,.15);border-radius:4px;padding:4px 6px;cursor:pointer;max-width:7rem}
/* Desktop header: one compact select styled like the EN/ID toggle (same border, radius, type, height). */
.cur-top select{-webkit-appearance:none;appearance:none;height:33px;line-height:1;padding:0 22px 0 10px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 8px center}
.cur-note{margin:0;padding:3px 16px;text-align:center;font-size:.75rem;color:var(--muted,#5d6b65);background:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.06)}
.cur-mob{display:none}
.cur-nav{align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin-top:6px;border-top:1px solid var(--line)}
.cur-nav .cur-lbl{font-size:.9rem}
.cur-nav select{padding:6px 8px;font-size:.85rem;max-width:none;background:#fff}
/* Directory copy (<=960px): the same face as the 'Sort: …' control beside it, so the two read as a pair. */
.cur-dir select{-webkit-appearance:none;appearance:none;height:38px;max-width:none;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:.9rem;font-weight:600;color:var(--ink);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") no-repeat right 11px center}
@media (max-width:960px){.cur-top{display:none}.cur-mob{display:inline-flex}nav.main .cur-nav{display:flex}}
/* Converted amounts: subtle "≈" + tooltip with the original IDR (hover, focus, tap) */
.cvt{position:relative;cursor:help;white-space:nowrap;text-decoration:underline dotted rgba(0,0,0,.25);text-underline-offset:3px}
.cvt[data-tip]::after{content:attr(data-tip);display:none;position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;white-space:nowrap;background:#1E4A46;color:#fff;font:500 .75rem/1.3 var(--body,inherit);letter-spacing:0;padding:5px 8px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.18);pointer-events:none}
.cvt:hover::after,.cvt:focus-visible::after,.cvt.tip-on::after{display:block}
.cvt:focus-visible{outline:2px solid var(--leaf);outline-offset:2px;border-radius:2px}
/* Phones: currency + sort share one row as a matching pair; "Saved only" wraps below. */
@media (max-width:640px){.head-tools .cur-dir{order:1}.head-tools .sort{order:2;flex:1 1 150px}.head-tools .chip-toggle{order:3}}
.l-prate{font-size:.95rem;color:var(--ink,inherit)}.l-prate b{font-weight:600;color:var(--leaf)}
.band p.hero-reach{margin-top:-14px;font-size:.92rem}
/* Accelerate = recommended plan (Nov 2026): highlighted card */
.plan.rec{background:linear-gradient(180deg,var(--sun-soft),var(--surface) 38%)}
.plan.rec ul li b{color:var(--ink)}
.plan.res .flag{background:var(--leaf);color:#fff}

/* One select style site-wide (owner, 1 Nov): chevron 14px in from the right edge, text padded clear of it.
   Covers the directory filters, sort/currency switchers, the listing form and the enquiry forms.
   #f-sort is the transparent native select over the "Sort: …" face, so it keeps its own (invisible) style. */
select:not([multiple]):not([size]):not(#f-sort){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7672' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:10px 6px}
select:not([multiple]):not([size]):not(#f-sort)::-ms-expand{display:none}

/* Mobile "Contact seller" bar (owner, 1 Nov): narrow screens only, fixed to the bottom above the iOS home indicator,
   slides away while the enquiry form is on screen. Desktop: hidden, the sidebar box is unchanged. */
.cta-bar{display:none}
@media (max-width:900px){
  .cta-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:15;align-items:center;gap:12px;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 14px rgba(0,0,0,.08);transition:transform .2s ease}
  .cta-bar.off{transform:translateY(calc(100% + 8px))}
  .cta-bar-p{font-weight:600;font-size:1rem;white-space:nowrap}
  .cta-bar .cta-bar-b{width:auto;flex:1;padding:12px}
  body:has(.cta-bar){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  #enquire{scroll-margin-top:76px}
}
@media (prefers-reduced-motion:reduce){.cta-bar{transition:none}}
/* Homepage audit (1 Nov 2026): pagination, mobile "Filter" fold, one-row stats, listing count near the top. */
.card.pg-off{display:none}
.more-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:22px 0 6px}
.more-wrap[hidden]{display:none}
.more-n{font-size:.88rem;opacity:.75;margin:0}
.ago.upd{white-space:nowrap}
.f-toggle,.hero-count,.hs-short{display:none}
.f-more{display:contents}
@media (max-width:900px){
  .search{grid-template-columns:1fr auto}
  .search label:first-child{grid-column:auto}
  .search .f-toggle{display:inline-flex;align-items:center;gap:4px;grid-column:auto;align-self:end;background:var(--surface);color:var(--ink)}
  .search .f-more{display:none;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px}
  .search .f-more.open{display:grid}
  .f-n{font-size:.85em;opacity:.8}
  .hero-count{display:inline-block;margin:0 0 12px;color:inherit;font-size:.92rem;text-decoration:none;opacity:.92}
  .hero-count b{color:var(--sun)}
}
@media (max-width:860px){
  .stat-strip{grid-template-columns:repeat(var(--n,3),minmax(0,1fr));border-bottom:1px solid rgba(255,255,255,.12);margin:0 0 12px}
  .stat-strip li,.stat-strip li+li{flex-direction:column;align-items:flex-start;gap:0;padding:8px 6px 8px 0;border-bottom:0;font-size:.74rem;line-height:1.25}
  .stat-strip li+li{padding-left:8px;border-left:1px solid rgba(255,255,255,.12)}
  .stat-strip b{font-size:1.05rem;min-width:0}
  .stat-strip .hs-long{display:none}
  .stat-strip .hs-short{display:block}
  .band p.hero-reach{font-size:.84rem;margin-bottom:10px}
}
