@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&family=Mukta:wght@400;500;600;700&display=swap');

/*
 * MERIDIAN PRODUCT UI
 * One presentation layer for Next.js and the public colony/blog renderers.
 * Navigation, DOM visibility, permissions, data categories, and map geometry
 * remain owned by the existing components. No workflow-specific JS here.
 */
html:has(body.iz-product){
  --font:'Manrope','Mukta',sans-serif;--font-deva:'Mukta',sans-serif;
  --canvas:#fff;--white:#fff;--tile:#f5f7f8;--ink:#173b4d;--black:#173b4d;
  /* --mute is read on white, on --tile (#f5f7f8), on --iz-wash (#eef4f7) and
     on #edeef1. The old #697982 measured 4.51 on white but 4.20, 4.06 and
     3.89 on the other three — table headers, field labels, captions and the
     blog's contents links all sat under AA. #5f6e77 is the same hue, one step
     down, and clears 4.5 on every one of those surfaces (18 Sep 2026). */
  --mute:#5f6e77;--line:#e1e8ec;--blue:#1f5f8b;--blue-600:#17475f;
  --navy:#173b4d;--navy-700:#102b39;--green:#7a5c36;--green-100:#f2e9db;
  --terra:var(--blue);--terra-600:var(--blue-600);--slate:var(--navy);--slate-700:var(--navy-700);
  --on-accent:#fff;--on-green:#fff;--gap:16px;--zoom:1;
  --sh-box:0 3px 15px #173b4d05;--sh-dark:0 8px 28px #173b4d12;
  --sh-float:0 18px 60px #102b3921;--box-edge:1px solid var(--line);
  --r-xl:24px;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;
  --iz-focus:#1f5f8b;--iz-wash:#eef4f7;--iz-shadow:0 16px 45px #173b4d0d;
  zoom:1;background:var(--canvas);color-scheme:light;
}
html[data-theme='dark']:has(body.iz-product){
  --canvas:#0b1219;--white:#121b24;--tile:#1a2531;--ink:#eef1f4;--black:#eef1f4;
  --mute:#9aa6b5;--line:#293a47;--blue:#72b2da;--blue-600:#93c8e8;
  --green:#ddba8a;--green-100:#33291a;--on-accent:#0b1219;--on-green:#26190a;
  --sh-box:0 3px 15px #00000018;--sh-dark:0 8px 28px #00000028;--sh-float:0 18px 60px #00000050;
  --iz-focus:#93c8e8;--iz-wash:#182b39;--iz-shadow:0 16px 45px #00000025;color-scheme:dark;
}
body.iz-product{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;line-height:1.65}
.iz-product :is(h1,h2,h3,h4,h5,button,input,select,textarea){font-family:var(--font)}
.iz-product :is(h1,h2,h3){text-wrap:balance}
.iz-product :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--iz-focus);outline-offset:3px}
.iz-product :is(input,select,textarea){accent-color:var(--green)}
.iz-product ::selection{background:#1f5f8b;color:#fff}
.iz-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* The entire bilingual name is one element, never half a translating word. */
.iz-wordmark{display:inline-grid;vertical-align:middle;position:relative;font-size:inherit;font-weight:800;line-height:1.35;letter-spacing:-.045em;white-space:nowrap}
.iz-wordmark-en,.iz-wordmark-hi{grid-area:1/1;display:inline-flex;align-items:baseline;gap:.28em;white-space:nowrap}
.iz-wordmark-en{opacity:1;visibility:visible}
.iz-wordmark-hi{font-family:var(--font-deva);font-size:1.15em;font-weight:600;letter-spacing:0;opacity:0;visibility:hidden;line-height:1.17}
.iz-wordmark-en>span:first-child,.iz-wordmark-hi>span:first-child{color:var(--blue)}
.iz-wordmark-en>span:last-child,.iz-wordmark-hi>span:last-child{color:var(--green)}
@media(prefers-reduced-motion:no-preference){
  .iz-wordmark[data-animate='true'] .iz-wordmark-en{animation:iz-name-en 12s ease-in-out infinite}
  .iz-wordmark[data-animate='true'] .iz-wordmark-hi{animation:iz-name-hi 12s ease-in-out infinite}
}
@keyframes iz-name-en{0%,42%,100%{opacity:1;visibility:visible;transform:translateY(0)}49%,93%{opacity:0;visibility:hidden;transform:translateY(-3px)}}
@keyframes iz-name-hi{0%,42%,100%{opacity:0;visibility:hidden;transform:translateY(3px)}49%,93%{opacity:1;visibility:visible;transform:translateY(0)}}

/* Shared controls. Destructive and warning colours are deliberately untouched. */
.iz-product :is(.box,.cp-box){border-radius:24px;box-shadow:var(--sh-box)}
.iz-product :is(.btn,.ad-btn,.cp-btn,.bp-btn){font-weight:700;letter-spacing:-.015em;box-shadow:none}
.iz-product :is(.btn-terra,.ad-btn-primary,.cp-btn-terra,.bp-btn){background:var(--blue);color:var(--on-accent)}
.iz-product :is(.btn-terra,.ad-btn-primary,.cp-btn-terra,.bp-btn):hover:not(:disabled){background:var(--blue-600);color:var(--on-accent)}
.iz-product :is(.btn-white,.ad-btn-quiet,.cp-btn-white){background:var(--white);color:var(--ink);border-color:var(--line)}
.iz-product .btn-slate{background:var(--navy);color:#fff}
.iz-product :is(.ad-btn,.cp-btn){min-height:38px;border-radius:12px}
.iz-product :is(.search,.ad-search,.bp-find,.cp-find){border-radius:14px;box-shadow:none}
.iz-product :is(.ad-input,.form-input,.contact-field input,.contact-field textarea,.ed-field input,.ed-field textarea,.ed-field select){border-radius:12px;border-color:var(--line);background:var(--white);color:var(--ink);line-height:1.6}
.iz-product :is(.ad-input,.form-input,.contact-field input,.contact-field textarea,.ed-field input,.ed-field textarea,.ed-field select):focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent)}
.iz-product :is(.kicker,.detail-kicker,.legal-kicker){color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em}
.iz-product :is(.pill,.ad-chip,.ad-tag,.ad-tab,.bp-pill){letter-spacing:0}
.iz-product :is(.seg,.tabs3){border-radius:14px;box-shadow:none}
.iz-product :is(.seg button,.seg label,.tabs3 button){border-radius:10px}
.iz-product :is(.seg button.on,.seg label.on){background:var(--iz-wash);color:var(--blue);box-shadow:none}
/* THE TERRA SEGMENT IS THE ONE THAT PAINTS ITSELF SOLID. `.seg.terra
   button.on` (ui.css) sets `background: var(--terra)`, and --terra has been
   var(--blue) since this file repainted the product — so the rule above,
   which is the same specificity, coloured the icon and the label in the very
   blue they were sitting on: contrast 1.00, an empty block where the base-map
   toggle should be (measured 18 Sep 2026 on /map/ and /listings/, both
   themes). The active segment keeps its solid fill and takes the foreground
   that belongs with it — white on #1f5f8b is 6.84, --on-accent in the dark
   theme.
   SUPERSEDED 20 Sep 2026 by section 11 at the end of this file: this segment
   and the list's tabs below now wear the one quiet-blue "selected" look. The
   two rules stay as the fallback they were; section 11 outranks both. */
.iz-product :is(.seg.terra button.on,.seg.terra label.on){background:var(--terra);color:var(--on-accent)}
.iz-product .tabs3 button.on{background:var(--green);color:var(--on-green);box-shadow:none}
.iz-product :is(.modal-box,.ed-dialog,.um-menu,.ad-menu,.fs-menu,.vm-menu){border-radius:20px;box-shadow:var(--sh-float);border-color:var(--line)}
.iz-product :is(.tile,.ps-card,.tl-card,.ad-invite,.ad-change,.ed-newpost,.ed-cat){border-radius:18px}

/* Public navigation and drawers: same destinations and same access rules. */
.iz-product .app-header{background:color-mix(in srgb,var(--white) 94%,transparent);backdrop-filter:blur(16px);box-shadow:none;border-bottom:1px solid var(--line)}
.iz-product .header-container{min-height:70px}
.iz-product .header-logo{color:var(--blue);gap:10px}
.iz-product .header-brand-name{display:flex;align-items:center;font-family:var(--font);font-size:19px;letter-spacing:-.04em}
.iz-product .header-logo>svg{color:var(--blue)}
.iz-product .nav-link{font-size:12px;font-weight:650;border-radius:10px;padding:10px 14px}
.iz-product .nav-link.active{background:var(--iz-wash);color:var(--blue)}
.iz-product .header-cta{border-radius:30px;box-shadow:none}
.iz-product .um-signin{border-radius:30px;font-family:var(--font)}
.iz-product .um-avatar{border-color:var(--line)}
.iz-product .um-menu{padding:9px}
.iz-product .um-menu :is(a,button){border-radius:10px}
.iz-product .header-brand-sub{color:var(--mute)}

/* Map workspace: quieter panels, more legible lists, unchanged GIS semantics. */
.iz-product .frame{background:var(--canvas)}
.iz-product .rail{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:24px;box-shadow:none}
.iz-product .rail-logo{background:var(--iz-wash);color:var(--blue);box-shadow:none;border-radius:16px}
.iz-product .rail-item{color:var(--mute);font-size:10.5px;border-radius:12px;font-weight:650}
.iz-product .rail-item:hover{background:var(--tile);color:var(--ink)}
.iz-product .rail-item.on{background:var(--blue);color:var(--on-accent);box-shadow:none}
.iz-product .rail-item.is-here{background:var(--iz-wash);color:var(--blue)}
.iz-product .rail-item.is-state.on{background:var(--green);color:var(--on-green);box-shadow:none}
.iz-product .rail-sep{background:var(--line)}
.iz-product .rail-group-label{color:var(--mute);font-size:9px;line-height:1.7}
.iz-product .rail .um-signin{color:var(--mute);border-radius:12px}
.iz-product .rail .um-signin:hover:not(:disabled){background:var(--tile);color:var(--ink)}
.iz-product .rail .um-avatar{background:var(--blue);border-color:var(--line)}
.iz-product .rail .um-initial{color:var(--on-accent)}
.iz-product :is(.side,.mapbox,.mp-map){border-radius:24px;box-shadow:none}
.iz-product .side-head{padding:25px 23px 17px}
.iz-product .side-head :is(h1,h2){font-size:23px;font-weight:750;letter-spacing:-.045em}
.iz-product .side-sub{font-size:11px;font-weight:500;line-height:1.7}
.iz-product .side-pad{padding-inline:18px}
.iz-product .side-scroll{padding-inline:13px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.iz-product .row{border-color:transparent;border-bottom-color:var(--line);border-radius:12px;padding:14px 12px;min-height:80px;box-shadow:none}
.iz-product .row:hover{background:var(--tile);border-color:var(--line);box-shadow:none}
.iz-product .row.sel{background:color-mix(in srgb,var(--green) 7%,var(--white));border-color:color-mix(in srgb,var(--green) 45%,var(--line));box-shadow:inset 3px 0 var(--green)}
.iz-product .row-name{font-size:13px;font-weight:750;letter-spacing:-.015em;line-height:1.5}
.iz-product :is(.row-meta,.row-dev){font-size:10.5px;line-height:1.75}
.iz-product .row .swatch{border-radius:12px}
.iz-product .list-label{font-size:9px;letter-spacing:.12em;padding-top:18px}
.iz-product :is(.detail,.mp-norms-card){border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh-float)}
.iz-product .detail-head{padding:23px 23px 17px}
.iz-product .detail-head h2{font-size:23px;line-height:1.2;letter-spacing:-.045em;font-weight:750}
.iz-product .detail-sub{font-size:11px;line-height:1.7}
.iz-product .detail-scroll{padding-inline:23px;scrollbar-width:thin}
.iz-product .detail-tiles .tile{border:1px solid var(--line);background:var(--tile)}
.iz-product .detail-tiles .tile-value{font-size:23px;letter-spacing:-.045em}
.iz-product .detail-tiles .tile-label{font-size:10px;line-height:1.6}
.iz-product .kv{font-size:12px;padding-block:13px}
.iz-product .doc{padding-block:14px}
.iz-product .doc-name{font-size:12px;line-height:1.6}
.iz-product .doc-meta{font-size:10px;line-height:1.7}
.iz-product :is(.planbar,.mp-bar){border-radius:16px;box-shadow:0 5px 24px #173b4d12}
.iz-product .planbar button{border-radius:12px;font-size:11px}
.iz-product .planbar button.on{background:var(--blue);color:var(--on-accent)}
.iz-product .zoom{border-radius:14px}
.iz-product .zoom button{font-weight:600}
.iz-product .mp-panel-note{font-size:12px;line-height:1.85}
.iz-product .mp-drop-menu{border-radius:16px;box-shadow:var(--sh-float)}
.iz-product .mp-notice{border-radius:14px;border-color:var(--line)}
.iz-product .norms :is(td,th){line-height:1.7}
.iz-product .leaflet-control-zoom{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--sh-box)}
.iz-product .leaflet-control-zoom a{background:var(--white);color:var(--ink)}
/* Do not override .iz-lp-*, raster opacity, map panes, or zoning colours. */

/* Admin, real estate agent, developer, and editor: one working environment. */
.iz-product .ss-main{border-radius:24px;box-shadow:none}
.iz-section-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;border-bottom:1px solid var(--line);background:var(--white)}
.iz-section-topbar>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.iz-section-topbar>div>span{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.iz-section-topbar strong{font-size:22px;font-weight:750;letter-spacing:-.045em;line-height:1.4;color:var(--ink)}
.iz-product .ss-main-flush>.iz-section-topbar{flex:0 0 auto}
.iz-product .ad-panel{padding:24px 26px 40px}
.iz-product .ad-toolbar{gap:12px;margin-bottom:18px}
.iz-product .ad-h3{font-size:17px;font-weight:750;letter-spacing:-.025em}
.iz-product .ad-sub{font-size:12px;line-height:1.8}
.iz-product .ad-invite{padding:22px;background:var(--tile);border-color:var(--line)}
.iz-product .ad-invite-row{gap:12px}
.iz-product .ad-input{min-height:41px;font-size:13px}
.iz-product .ad-btn{padding:10px 15px;font-size:12px;line-height:1.3}
.iz-product .ad-chip{padding:9px 13px;border-radius:12px;font-size:11px}
.iz-product .ad-chip.on{background:var(--iz-wash);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 25%,var(--line))}
.iz-product .ad-tablewrap{border:1px solid var(--line);border-radius:16px;background:var(--white)}
.iz-product .ad-table{font-size:12px}
.iz-product .ad-table th{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;background:var(--tile);padding:14px 13px;color:var(--mute)}
.iz-product .ad-table td{padding:14px 13px;line-height:1.65;border-color:var(--line)}
.iz-product .ad-table tbody tr:hover>td{background:color-mix(in srgb,var(--blue) 3%,var(--white))}
.iz-product .ad-sheet th{font-family:var(--font);font-size:10px}
.iz-product .ad-sheet td{font-family:var(--font);font-size:12px}
.iz-product .ad-tag{border-radius:8px;font-size:10px;padding:4px 8px;font-weight:650}
.iz-product .ad-change{padding:21px;border-color:var(--line);box-shadow:none}
.iz-product .ad-change-pending{border-left:3px solid var(--orange-500)}
.iz-product .ad-change-head{gap:14px;line-height:1.6}
.iz-product .ad-diff{font-size:12px}
.iz-product .ad-diff :is(td,th){padding:12px}
.iz-product .ad-change-foot{gap:10px;padding-top:15px;flex-wrap:wrap}
.iz-product .ps-head{padding:25px 27px;border-bottom:1px solid var(--line)}
.iz-product .ps-title{font-size:26px;font-weight:750;letter-spacing:-.05em}
.iz-product .ps-sub{font-size:12px;line-height:1.8}
.iz-product .ps-panel{padding:25px 27px}
.iz-product .ps-grid{gap:20px}
.iz-product .ps-card{padding:22px;border-color:var(--line);box-shadow:none;background:var(--white)}
.iz-product .ps-card:hover{box-shadow:var(--iz-shadow);border-color:color-mix(in srgb,var(--blue) 25%,var(--line))}
.iz-product .ps-card h3{font-size:18px;font-weight:750;letter-spacing:-.035em;line-height:1.45}
.iz-product .ps-facts{gap:11px}
.iz-product .ps-card-foot{padding-top:17px}
.iz-product .tl-card{padding:18px;border-color:var(--line);box-shadow:none}
.iz-product .tl-card-text strong{font-size:15px;letter-spacing:-.025em}
.iz-product .tl-avatar{border-radius:16px}
.iz-product .ps-empty{border:1px dashed var(--line);border-radius:20px;padding:45px 25px;background:var(--tile)}
.iz-product .ed-bar{padding:16px 20px;border-color:var(--line);background:var(--white)}
.iz-product .ed-bar .ed-title{font-weight:750;letter-spacing:-.035em}
.iz-product .ed-toolbar{padding-block:5px;gap:12px}
.iz-product .ed-field>span{font-size:10px;letter-spacing:.09em;line-height:1.7}
.iz-product .ed-field input{min-height:42px}
.iz-product .ed-pane-head{padding:12px 16px;background:var(--tile);border-color:var(--line)}
.iz-product .ed-tool{border-radius:8px;min-height:34px}
.iz-product .ed-drawer{background:var(--white);border-color:var(--line)}
.iz-product .ed-media{border-radius:16px;border-color:var(--line)}
.iz-product .ed-media img{border-radius:12px}
.iz-product .ed-preview-frame .bp-body{font-family:var(--font);font-size:17px;line-height:1.85}

/* Colonies and the blog use this exact same stylesheet at the edge. */
.iz-product .cp-page{max-width:1440px;margin-inline:auto;padding:0 48px 42px;gap:28px}
.iz-product .cp-header{top:0;z-index:30;margin-inline:-48px;padding:17px 48px;min-height:76px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--white) 94%,transparent);backdrop-filter:blur(16px)}
.iz-product .cp-brand{color:var(--blue);font-size:20px;gap:10px}
.iz-product .cp-brand:hover{color:var(--blue)}
.iz-product .cp-nav{margin-left:25px;gap:5px;font-size:11px}
.iz-product .cp-nav a{padding:10px 13px;border-radius:10px}
.iz-product .cp-nav a.on{background:var(--iz-wash);color:var(--blue)}
.iz-product .cp-box{padding:30px;border-color:var(--line)}
.iz-product .cp-hero{padding:45px 0 33px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--canvas);box-shadow:none}
.iz-product .cp-hero h1{max-width:1100px;font-size:clamp(40px,5.4vw,76px);font-weight:800;line-height:1.06;letter-spacing:-.065em;color:var(--ink)}
/* THE SAME LABEL IN TWO COLOURS. The repaint reached the colony record's hero
   kicker and stopped there, so /colony/ and /blog/ kept the pre-Meridian
   earth (#b5532f) on the identical element while a record page showed blue —
   measured on the live site, 18 Sep 2026. Every kicker is blue; the hero rule
   below still owns its size and spacing. */
.iz-product .cp-kicker{color:var(--blue)}
.iz-product .cp-hero .cp-kicker{color:var(--blue);font-size:10px;letter-spacing:.14em;margin-bottom:17px}
.iz-product .cp-lede{font-size:15px;line-height:1.9;max-width:780px;color:var(--mute)}
.iz-product .cp-hero .cp-lede{margin-top:23px}
.iz-product .cp-crumbs{font-size:11px;line-height:1.8}
.iz-product .cp-promoter{font-size:13px;line-height:1.8}
.iz-product .cp-tiles{gap:16px;margin-top:27px}
.iz-product .cp-tile{border-radius:16px;padding:22px;border:1px solid var(--line);box-shadow:none}
.iz-product .cp-tile b{font-size:33px;letter-spacing:-.045em}
.iz-product .cp-row{gap:25px}
.iz-product .cp-figure{padding:24px;background:var(--tile)}
.iz-product .cp-outline-tile{border-radius:18px;min-height:330px;display:grid;place-items:center}
.iz-product .cp-outline-tile>svg{max-height:420px}
.iz-product .cp-members{padding:32px}
.iz-product .cp-members h2{font-size:12px;letter-spacing:.1em}
.iz-product .cp-rows>div{padding-block:16px}
.iz-product .cp-count{font-size:12px}
.iz-product .cp-cta{background:var(--blue);color:var(--on-accent);box-shadow:none;padding:15px 22px}
.iz-product .cp-find{max-width:760px;min-height:52px;border-color:var(--line);background:var(--tile)}
.iz-product .cp-find input{font-size:16px}
.iz-product .cp-letters{gap:7px;flex-wrap:wrap}
.iz-product .cp-letters a{border-radius:8px}
.iz-product .cp-links{gap:12px}
.iz-product .cp-links li{padding:17px;border-radius:14px;background:var(--white)}
.iz-product .cp-links a{font-size:13px;line-height:1.65}
.iz-product .cp-links small{font-size:11px;line-height:1.7}
.iz-product .cp-faq dt{font-size:15px;line-height:1.6;margin-top:24px}
.iz-product .cp-faq dd{font-size:14px;line-height:1.85}
.iz-product .cp-footer{margin-top:35px;padding:36px 0 12px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--canvas)}
.iz-product .cp-footer-blurb{font-size:12px;line-height:1.85}
.iz-product .cp-footer-note{font-size:11px;line-height:1.8}
.iz-product .cp-footer nav a{font-size:11px}
.iz-product .cp-footer-bottom{font-size:10px}
.iz-product .cp-drawer{border-radius:18px;border-color:var(--line);background:var(--white);box-shadow:var(--sh-float)}
.iz-product .cp-drawer nav a{min-height:44px;border-radius:12px}

/* An image-led library and a calm, generously set reading experience. */
.iz-product .bp-hero{padding-block:48px 36px}
.iz-product .bp-hero .bp-hi{font-size:27px;color:var(--green);margin-block:17px 4px;line-height:1.55}
.iz-product .bp-translit{font-size:9px;font-weight:650;letter-spacing:.13em}
.iz-product .bp-dek{font-size:19px;line-height:1.75;max-width:800px}
.iz-product .bp-meta{font-size:11px;gap:10px 15px;margin-block:20px}
.iz-product .bp-find{max-width:800px;margin-top:29px;background:var(--tile);border-color:var(--line)}
.iz-product .bp-tabs-box{border:0;padding:10px 0;background:var(--canvas);box-shadow:none}
.iz-product .bp-tabs{gap:9px}
.iz-product .bp-tabs a{font-size:11px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--white)}
.iz-product .bp-tabs a.on{background:var(--blue);color:var(--on-accent);border-color:var(--blue);box-shadow:none}
.iz-product .bp-section{padding:25px 0 18px;border:0;box-shadow:none;background:var(--canvas)}
.iz-product .bp-section-head{padding-bottom:21px;margin-bottom:25px}
.iz-product .bp-section-head h2{font-size:35px;line-height:1.15;letter-spacing:-.05em}
.iz-product .bp-section-count{font-size:9px;letter-spacing:.12em}
.iz-product .bp-section-lede{font-size:13px;line-height:1.9}
.iz-product .bp-grid{gap:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.iz-product .bp-card{border-radius:24px;box-shadow:none;border-color:var(--line)}
.iz-product .bp-card:hover{transform:translateY(-4px);box-shadow:var(--iz-shadow)}
.iz-product .bp-cover img{filter:none;transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.iz-product .bp-cover::after{opacity:0;pointer-events:none}
.iz-product .bp-card:hover .bp-cover::after{opacity:0}
.iz-product .bp-card:hover .bp-cover img{transform:scale(1.04)}
.iz-product .bp-card-body{padding:25px;gap:12px}
.iz-product .bp-card h3{font-size:21px;line-height:1.4;font-weight:750;letter-spacing:-.04em;-webkit-line-clamp:3}
.iz-product .bp-card p{font-size:13px;line-height:1.85}
.iz-product .bp-card-top{font-size:9px;letter-spacing:.06em}
.iz-product .bp-card-foot{font-size:10px;padding-top:10px}
.iz-product .bp-card-foot .bp-go{background:var(--iz-wash);color:var(--blue)}
.iz-product .bp-featured{border-radius:27px;min-height:370px}
.iz-product .bp-featured .bp-card-body{padding:42px}
.iz-product .bp-featured h3{font-size:37px;line-height:1.17;letter-spacing:-.055em}
.iz-product .bp-featured p{font-size:14px;line-height:1.85}
.iz-product .bp-cover-figure{padding:0;border:0;box-shadow:none;background:var(--canvas)}
.iz-product .bp-cover-figure img{border-radius:26px;max-height:720px;object-fit:cover}
.iz-product .bp-cover-figure figcaption{font-size:11px;line-height:1.8;margin-top:14px}
.iz-product .bp-read{gap:30px}
.iz-product .bp-article{border:0;padding:12px 22px 35px;box-shadow:none;background:var(--canvas)}
.iz-product .bp-body{max-width:68ch;font-family:var(--font);font-size:17px;line-height:1.9;letter-spacing:-.01em}
.iz-product .bp-body h2{font-size:30px;line-height:1.25;font-weight:750;letter-spacing:-.04em;margin-top:2.3em}
.iz-product .bp-body h3{font-size:22px;line-height:1.35;font-weight:750;letter-spacing:-.025em}
.iz-product .bp-toc{padding:23px 17px;background:var(--tile);border:0;box-shadow:none}
.iz-product .bp-toc a{font-size:11px;line-height:1.75;border-radius:8px;padding:8px 10px}
.iz-product .bp-toc h2{font-size:10px;letter-spacing:.12em}
.iz-product .bp-rail-box{padding:23px 20px;box-shadow:none}
.iz-product .bp-rail-list b{font-size:12px;line-height:1.55}
.iz-product .bp-rail-list small{font-size:10px}
.iz-product .bp-callout{padding:24px;border-radius:18px;font-size:15px;line-height:1.85}
.iz-product .bp-takeaways{background:var(--iz-wash);padding:27px}
.iz-product .bp-takeaways ol{font-size:16px;line-height:1.85}
.iz-product .bp-hindi p{font-size:28px;line-height:1.55;color:var(--green)}
.iz-product .bp-table table{font-size:14px;line-height:1.8}
.iz-product .bp-table :is(td,th){padding:14px}
.iz-product .bp-provenance{font-size:12px;line-height:1.85;padding:21px}
.iz-product .bp-disclaimer{font-size:12px;line-height:1.85}
.iz-product .bp-closer{border-radius:24px;padding:44px;background:var(--navy)}
.iz-product .bp-closer h2{font-size:37px;letter-spacing:-.05em}
.iz-product .bp-closer p{font-size:13px;line-height:1.8}

/* Contact, legal, and directory pages inherit the same typographic hierarchy. */
.iz-product .contact-page{max-width:1280px;margin-inline:auto;padding:45px 40px 35px}
.iz-product .contact-hero{border:0;border-radius:0;box-shadow:none;background:var(--canvas);padding:30px 0 45px}
.iz-product .contact-hero-mark{color:var(--blue)}
.iz-product .contact-hero h1{font-size:clamp(46px,6vw,82px);line-height:1.05;letter-spacing:-.065em;font-weight:800}
.iz-product .contact-hero-sub{font-size:16px;line-height:1.85;max-width:720px}
.iz-product .contact-grid{gap:28px}
.iz-product :is(.contact-form-card,.contact-aside){border-radius:24px;padding:33px;border-color:var(--line);box-shadow:none}
.iz-product .contact-form-card h2,.iz-product .contact-aside h2{font-size:25px;letter-spacing:-.04em;text-transform:none;color:var(--ink)}
.iz-product .contact-field>span{font-size:11px;letter-spacing:.04em;line-height:1.8}
.iz-product .contact-field :is(input,textarea){padding:13px 15px;font-size:14px}
.iz-product :is(.contact-partner,.contact-about){padding:23px;border-radius:18px;background:var(--tile)}
.iz-product .legal-page{max-width:1100px;padding:55px 40px;margin-inline:auto}
.iz-product .legal-body{max-width:850px;margin-inline:auto}
.iz-product .legal-body h1{font-size:clamp(40px,5.5vw,72px);font-weight:800;line-height:1.1;letter-spacing:-.06em}
.iz-product .legal-body h2{font-size:26px;line-height:1.4;letter-spacing:-.035em;margin-top:2em}
.iz-product .legal-body :is(p,li){font-size:15px;line-height:1.95}
.iz-product .legal-updated{color:var(--mute);font-size:11px!important}
.iz-product .footer{box-shadow:none;border-color:var(--line)}
.iz-product .footer .brand{color:var(--blue)}
.iz-product .footer h5{font-size:10px;letter-spacing:.12em}
.iz-product .footer nav a{font-size:12px}

/* Preserve established responsive navigation and the map's sheet mechanics. */
@media(min-width:1101px){
  .iz-product .frame-section{grid-template-columns:198px minmax(0,1fr)}
  .iz-product .frame-section .rail{align-items:stretch;padding:22px 13px 14px}
  .iz-product .frame-section .rail-logo{margin-left:10px;margin-bottom:23px}
  .iz-product .frame-section .rail-scroll{align-items:stretch;width:100%}
  .iz-product .frame-section .rail-item{width:100%;flex-direction:row;text-align:left;justify-content:flex-start;gap:12px;padding:13px 12px;font-size:11px;line-height:1.55}
  .iz-product .frame-section .rail-item svg{width:18px;height:18px;flex-shrink:0}
  .iz-product .frame-section .rail-group-label{text-align:left;margin:15px 12px 8px;padding:0}
  .iz-product .frame-section .rail-sep{width:100%;margin-block:15px 0}
  .iz-product .frame-section .rail-badge{position:static;margin-left:auto;flex-shrink:0}
  .iz-product .frame-section .rail-account{align-items:flex-start;padding-left:10px}
  .iz-product .frame-section .rail .um-signin{width:auto;flex-direction:row;gap:10px;font-size:11px;padding:12px}
}
@media(min-width:1360px){
  .iz-product .bp-read{grid-template-columns:190px minmax(0,1fr) 260px}
}
@media(max-width:1100px){
  .iz-product .cp-page{padding-inline:30px}
  .iz-product .cp-header{margin-inline:-30px;padding-inline:30px}
  .iz-product .cp-nav{margin-left:10px}
  .iz-product .cp-nav a{padding-inline:9px}
  .iz-product .bp-featured h3{font-size:29px}
  .iz-product .bp-featured .bp-card-body{padding:27px}
  .iz-product .bp-article{padding-inline:12px}
}
@media(max-width:720px){
  html:has(body.iz-product){--gap:10px}
  .iz-product :is(.btn,.ad-btn,.cp-btn,.bp-btn,.ad-tab,.ad-chip,.ss-item,.ed-tool){min-height:42px}
  .iz-product :is(.ad-input,.form-input,.contact-field input,.contact-field textarea,.ed-field input,.ed-field textarea,.ed-field select,.ad-inline-select){font-size:16px}
  .iz-product .header-container{min-height:66px;padding-inline:17px}
  .iz-product .header-brand-name{font-size:18px}
  .iz-product .header-logo{gap:8px}
  .iz-product .header-logo>svg{width:29px;height:29px}
  .iz-product .ss-frame .header-brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
  .iz-product .ss-frame .header-brand-divider{display:none}
  .iz-product .ss-frame .header-brand-sub{font-size:9px;max-width:170px;line-height:1.5}
  .iz-product .iz-section-topbar{display:none}
  .iz-product .ss-main{border-radius:19px}
  .iz-product .ss-side{border-radius:16px;box-shadow:none}
  .iz-product .ss-item{border-radius:12px}
  .iz-product .ss-item-label{font-size:10px;line-height:1.4}
  .iz-product .ss-item.on{background:var(--iz-wash);color:var(--blue)}
  .iz-product .ad-panel{padding:19px 16px 30px}
  .iz-product .ad-toolbar{gap:10px}
  .iz-product .ad-invite{padding:17px}
  .iz-product .ad-table :is(td,th){padding:12px 10px}
  .iz-product .ad-change{padding:17px}
  .iz-product .ad-change-foot .ad-btn{min-height:44px}
  .iz-product .ps-head{padding:21px 19px}
  .iz-product .ps-title{font-size:24px}
  .iz-product .ps-panel{padding:20px 17px}
  .iz-product .ps-card{padding:19px}
  .iz-product .ps-card h3{font-size:18px}
  .iz-product .ed-bar{padding:12px}
  .iz-product .ed-field input{min-height:45px}
  .iz-product .ed-pane-head{padding:10px 12px}
  .iz-product .detail-head h2{font-size:22px}
  .iz-product .detail-head{padding:20px 20px 14px}
  .iz-product .detail-scroll{padding-inline:20px}
  .iz-product .side-head{padding:21px 21px 14px}
  .iz-product .row-name{font-size:13px}
  .iz-product .cp-page{padding:0 18px 25px;gap:22px}
  .iz-product .cp-header{margin-inline:-18px;padding:13px 18px;min-height:66px}
  .iz-product .cp-brand{font-size:18px}
  .iz-product .cp-brand img{width:29px;height:29px}
  .iz-product .cp-hero{padding:30px 0 26px}
  .iz-product .cp-hero h1{font-size:40px;letter-spacing:-.055em;line-height:1.12}
  .iz-product .cp-lede{font-size:14px;line-height:1.85}
  .iz-product .cp-hero .cp-lede{margin-top:18px}
  .iz-product .cp-box{padding:22px 20px;border-radius:20px}
  .iz-product .cp-hero{padding-inline:0;border-radius:0}
  .iz-product .cp-tiles{gap:10px}
  .iz-product .cp-tile{padding:15px;border-radius:14px}
  .iz-product .cp-tile b{font-size:28px}
  .iz-product .cp-row{gap:19px}
  .iz-product .cp-outline-tile{min-height:250px}
  .iz-product .cp-links li{padding:15px}
  .iz-product .cp-faq dd{font-size:13px}
  .iz-product .cp-footer{padding:28px 0 10px;border-radius:0}
  .iz-product .bp-hero{padding-inline:0}
  .iz-product article > .bp-hero{padding-inline:18px}
  .iz-product .bp-hero .bp-hi{font-size:24px}
  .iz-product .bp-dek{font-size:16px;line-height:1.85}
  .iz-product .bp-tabs-box{padding:0}
  .iz-product .bp-tabs a{font-size:11px;min-height:44px}
  .iz-product .bp-section{padding:20px 0 12px;border-radius:0}
  .iz-product .bp-section-head h2{font-size:29px}
  .iz-product .bp-grid{gap:20px}
  .iz-product .bp-card{border-radius:20px}
  .iz-product .bp-card-body{padding:23px}
  .iz-product .bp-card h3{font-size:22px;line-height:1.45}
  .iz-product .bp-featured{min-height:0}
  .iz-product .bp-featured .bp-card-body{padding:25px}
  .iz-product .bp-featured h3{font-size:28px}
  .iz-product .bp-cover-figure{padding:0}
  .iz-product .bp-cover-figure img{border-radius:20px;max-height:none}
  .iz-product .bp-article{padding:12px 0 20px}
  .iz-product .bp-body{font-size:16px;line-height:1.9}
  .iz-product .bp-body h2{font-size:27px;line-height:1.3}
  .iz-product .bp-body h3{font-size:21px}
  .iz-product .bp-callout{padding:20px;font-size:14px}
  .iz-product .bp-hindi p{font-size:25px}
  .iz-product .bp-takeaways{padding:22px}
  .iz-product .bp-closer{padding:29px 24px}
  .iz-product .bp-closer h2{font-size:31px}
  .iz-product .contact-page{padding:24px 18px}
  .iz-product .contact-hero{padding:22px 0 34px}
  .iz-product .contact-hero h1{font-size:50px}
  .iz-product .contact-hero-sub{font-size:14px}
  .iz-product :is(.contact-form-card,.contact-aside){padding:25px 21px;border-radius:21px}
  .iz-product .contact-grid{gap:22px}
  .iz-product .legal-page{padding:32px 21px}
  .iz-product .legal-body h1{font-size:40px}
  .iz-product .legal-body :is(p,li){font-size:14px;line-height:1.9}
  .iz-product .legal-body h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  .iz-product :is(.bp-card,.bp-cover img,.ps-card,.row,.btn,.ad-btn,.cp-btn,.rail-item){transition:none;animation:none}
  .iz-wordmark-en{opacity:1;visibility:visible;transform:none}
  .iz-wordmark-hi{opacity:0;visibility:hidden;transform:none}
}


/* RELEASE 2.67: one horizontal site header, contextual workspaces. */
.iz-product .iz-site-header{position:relative;z-index:1400;flex:0 0 auto;width:100%;min-height:78px;background:color-mix(in srgb,var(--canvas) 95%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(22px);color:var(--ink)}
.iz-product .iz-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:78px;width:100%;padding:12px 28px;margin:0 auto;box-sizing:border-box}
.iz-product .iz-header-brand{display:inline-flex;align-items:center;gap:11px;justify-self:start;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-1px;min-width:0;white-space:nowrap}
.iz-product .iz-header-brand>svg{flex:0 0 34px}
.iz-product .iz-header-nav{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.iz-product .iz-header-nav>a{font-size:12px;line-height:1.5;font-weight:700;padding:11px 12px;color:var(--mute);text-decoration:none;border-radius:12px;transition:color .2s,background .2s}
.iz-product .iz-header-nav>a:hover,.iz-product .iz-header-nav>a.active{color:var(--blue);background:var(--iz-wash)}
.iz-product .iz-header-account{display:flex;align-items:center;justify-content:flex-end;gap:10px;justify-self:end;min-width:0}
.iz-product .iz-header-theme{display:flex;align-items:center;flex-shrink:0}
.iz-product .iz-workspaces{position:relative;font-size:11px;font-weight:700;flex-shrink:0}
.iz-product .iz-workspaces summary{display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;padding:10px 3px}
.iz-product .iz-workspaces summary::-webkit-details-marker{display:none}
.iz-product .iz-workspaces nav{position:absolute;right:0;top:calc(100% + 14px);width:236px;padding:9px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-float);display:grid;gap:3px}
.iz-product .iz-workspaces nav>a{padding:12px;color:var(--ink);text-decoration:none;border-radius:8px;font-size:12px}
.iz-product .iz-workspaces nav>a:hover,.iz-product .iz-workspaces nav>a.active{background:var(--iz-wash);color:var(--blue)}
.iz-product .iz-header-account .um{min-width:0}
.iz-product .iz-header-account .um-avatar-identity{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:auto;height:44px;max-width:190px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);box-shadow:none}
.iz-product .um-avatar-identity>img{width:30px;height:30px;object-fit:cover;border-radius:8px;flex-shrink:0}
.iz-product .um-avatar-identity>.um-initial{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:var(--on-accent);flex-shrink:0}
.iz-product .um-identity{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.5;text-align:left}
.iz-product .um-identity strong,.iz-product .um-identity small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz-product .um-identity strong{font-size:11px;font-weight:800}
.iz-product .um-identity small{font-size:9px;font-weight:500;color:var(--mute);max-width:126px}
.iz-product .iz-header-account .um-menu{z-index:1500;max-width:min(330px,calc(100vw - 24px));right:0;top:calc(100% + 12px);bottom:auto;left:auto}
.iz-product .iz-header-account .um-signin{font-size:11px;white-space:nowrap;min-height:41px;padding:9px 14px;border-radius:12px;background:var(--blue);color:var(--on-accent);border-color:var(--blue)}
.iz-product .iz-header-account .nav-burger{display:none}
.iz-product .home-atlas>.iz-site-header{position:sticky;top:0}
.iz-product .home-atlas>.hp-header{display:none}
.iz-product .iz-map-tools-inline{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:900;display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:7px;border:1px solid var(--line);background:var(--white);border-radius:14px;box-shadow:var(--sh-float);max-width:calc(100% - 40px)}
.iz-product .iz-map-tools-inline :is(a,button){display:flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:9px;color:var(--ink);background:transparent;font-size:11px;cursor:pointer}
.iz-product .iz-map-tools-inline .on{background:var(--blue);color:var(--on-accent)}
.iz-product .iz-map-tools-inline svg{width:18px;height:18px}
.iz-product .frame{position:relative}
.iz-product .frame.frame-section{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}
.iz-product .frame-section>.ss-main{min-width:0;min-height:0;grid-column:1;grid-row:1}
.iz-product .iz-section-topbar{display:flex;align-items:center;gap:19px;min-height:68px;padding:12px 18px;margin:0 0 20px;border-bottom:1px solid var(--line);background:var(--white);position:sticky;top:0;z-index:30;border-radius:0;box-sizing:border-box}
.iz-product .ss-main-flush>.iz-section-topbar{margin:0;flex:0 0 auto}
.iz-product .iz-section-trigger{display:flex;align-items:center;gap:8px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:var(--iz-wash);color:var(--blue);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.iz-product .iz-section-location{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.4}
.iz-product .iz-section-location>span{font-size:9px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
.iz-product .iz-section-location>strong{font-size:13px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.iz-product .iz-section-map-link{margin-left:auto;color:var(--blue);font-size:11px;font-weight:700;white-space:nowrap;text-decoration:none}
.iz-product .iz-section-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(358px,90vw);height:100dvh;max-height:none;max-width:none;box-sizing:border-box;padding:0;border:0;border-right:1px solid var(--line);border-radius:0 24px 24px 0;background:var(--white);color:var(--ink);box-shadow:var(--sh-float);overflow-y:auto;overscroll-behavior:contain}
.iz-product .iz-section-drawer[open]{display:flex;flex-direction:column;animation:iz-drawer-enter .26s ease-out}
.iz-product .iz-section-drawer::backdrop{background:#07192366;backdrop-filter:blur(4px)}
.iz-product .iz-drawer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:30px 24px 23px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--white);z-index:1}
.iz-product .iz-drawer-heading span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--green)}
.iz-product .iz-drawer-heading h2{font-size:21px;letter-spacing:-.7px;line-height:1.35;margin:7px 0 0}
.iz-product .iz-drawer-heading button{background:var(--tile);color:var(--ink);border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1;width:36px;height:36px;flex-shrink:0;cursor:pointer}
.iz-product .iz-section-options{display:grid;align-content:start;gap:5px;padding:16px 12px}
.iz-product .iz-section-options>:is(button,a){display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;text-align:left;padding:13px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-decoration:none;cursor:pointer;font-size:13px;font-weight:700}
.iz-product .iz-section-options>:is(button,a):hover{background:var(--tile)}
.iz-product .iz-section-options>.on{background:var(--iz-wash);color:var(--blue);box-shadow:inset 3px 0 var(--green)}
.iz-product .iz-option-icon{display:grid;place-items:center;flex:0 0 24px}
.iz-product .iz-option-icon svg{width:21px;height:21px}
.iz-product .iz-section-options small{display:block;font-size:10px;line-height:1.55;font-weight:500;color:var(--mute);margin-top:3px}
.iz-product .iz-option-badge{margin-left:auto;min-width:23px;height:23px;border-radius:8px;background:var(--blue);color:var(--on-accent);display:grid;place-items:center;padding:0 5px;font-size:10px}
.iz-product .iz-drawer-footer{margin-top:auto;padding:23px 24px;border-top:1px solid var(--line);font-size:11px;color:var(--mute)}
.iz-product .iz-drawer-footer a{display:block;color:var(--blue);font-weight:700;margin-top:9px;text-decoration:none}
@keyframes iz-drawer-enter{from{transform:translateX(-30px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1101px){
  .iz-product .frame:not(.frame-section){grid-template-columns:340px minmax(0,1fr)}
  .iz-product .frame.list-collapsed:not(.frame-section){grid-template-columns:minmax(0,1fr)}
}
@media(min-width:721px) and (max-width:1100px){
  .iz-product .frame:not(.frame-section){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1320px){
  .iz-product .iz-header-inner{padding-inline:20px;gap:14px}
  .iz-product .iz-header-nav>a{padding-inline:9px;font-size:11px}
  .iz-product .iz-header-account{gap:7px}
  .iz-product .iz-workspaces summary{font-size:10px}
  .iz-product .um-identity{display:none}
  .iz-product .iz-header-account .um-avatar-identity{padding:5px;width:42px;max-width:none}
}
@media(max-width:1050px){
  .iz-product .iz-header-inner{grid-template-columns:minmax(0,1fr) auto;min-height:70px}
  .iz-product .iz-site-header{min-height:70px}
  .iz-product .iz-header-nav,.iz-product .iz-workspaces,.iz-product .iz-header-theme{display:none}
  .iz-product .iz-header-account .nav-burger{display:grid;place-items:center;flex-shrink:0}
  .iz-product .iz-header-account .nav-drawer,.iz-product .iz-header-account .nav-drawer-scrim{display:block}
  .iz-product .iz-header-account .nav-drawer{position:fixed;z-index:1700}
  .iz-product .iz-header-account .nav-drawer-scrim{position:fixed;z-index:1600}
}
@media(max-width:720px){
  .iz-product .iz-header-inner{min-height:66px;padding:10px 15px;gap:10px}
  .iz-product .iz-site-header{min-height:66px}
  .iz-product .iz-header-brand{font-size:19px;gap:8px;letter-spacing:-.75px}
  .iz-product .iz-header-brand>svg{width:29px;height:29px;flex-basis:29px}
  /* 10px on the one control a stranger is meant to press. 11.5px still fits
     "Log in / Sign up" beside the burger at 360px (18 Sep 2026). */
  .iz-product .iz-header-account .um-signin{font-size:11.5px;padding:8px 11px;min-height:40px}
  .iz-product .frame.frame-section{padding:7px}
  .iz-product .iz-section-topbar{padding:10px;gap:10px;min-height:61px}
  .iz-product .iz-section-trigger{font-size:11px;padding:9px;gap:6px}
  .iz-product .iz-section-location>span{display:none}
  .iz-product .iz-section-location>strong{font-size:11px}
  .iz-product .iz-section-map-link{font-size:0}
  .iz-product .iz-section-map-link span{font-size:19px}
  .iz-product .iz-map-tools-inline{bottom:18px}
}
@media(max-width:380px){
  .iz-product .iz-header-brand{font-size:17px;gap:6px}
  .iz-product .iz-header-brand>svg{width:25px;height:25px;flex-basis:25px}
  .iz-product .iz-header-inner{padding-inline:10px}
}

/* The same generous footer rhythm on React screens and public articles. */
.iz-product .footer,.iz-product .hp-footer .footer,.iz-product .cp-footer{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,.95fr) minmax(0,1fr);gap:38px 40px;padding:50px 0 24px;align-items:start;text-align:left;background:var(--canvas);border-radius:0;box-shadow:none;border:0;border-top:1px solid var(--line)}
.iz-product .footer-masthead,.iz-product .cp-footer-masthead{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:.14em;padding:12px 0 38px;margin:0;border-bottom:1px solid var(--line);font-family:var(--font);font-size:clamp(50px,12.3vw,176px);font-weight:800;line-height:1.1;letter-spacing:-.075em;white-space:nowrap;color:var(--blue)}
.iz-product .footer-masthead span:last-child,.iz-product .cp-footer-masthead span:last-child{color:var(--green)}
.iz-product .footer .brand{font-size:19px;font-weight:800;color:var(--ink);gap:10px}
.iz-product .footer-blurb,.iz-product .cp-footer-blurb{font-size:12px;line-height:1.9;max-width:410px;color:var(--mute)}
.iz-product .footer-note,.iz-product .cp-footer-note{font-size:10px;line-height:1.8;max-width:410px;color:var(--mute)}
.iz-product .footer nav,.iz-product .cp-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.iz-product .footer h5,.iz-product .cp-footer h5{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--mute);margin:8px 0 13px}
.iz-product .footer nav a,.iz-product .cp-footer nav a{font-size:12px;text-decoration:none;color:var(--ink);line-height:1.6}
.iz-product .footer nav a:hover,.iz-product .cp-footer nav a:hover{color:var(--blue)}
.iz-product .footer .footer-reach,.iz-product .hp-footer .footer-reach,.iz-product .cp-footer-reach{grid-column:auto;border:0;margin:0;padding:0;display:block}
.iz-product .footer .footer-contact-btn{font-size:11px;padding:11px 13px;margin-bottom:14px}
.iz-product .footer-socials,.iz-product .cp-footer-socials{justify-content:flex-start}
.iz-product .footer-bottom,.iz-product .cp-footer-bottom{grid-column:1/-1;width:100%;margin-top:13px;padding-top:23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:10px;color:var(--mute)}
.iz-product .cp-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center}
.iz-product .cp-nav{margin:0;justify-content:center}
.iz-product .cp-header>.cp-grow{display:none}
.iz-product .cp-header>.cp-btn{justify-self:end}
.iz-product .cp-header>.cp-menu{display:none}
@media(max-width:1050px){
  .iz-product .cp-header{grid-template-columns:minmax(0,1fr) auto auto}
  .iz-product .cp-header>.cp-nav{display:none}
  .iz-product .cp-header>.cp-menu{display:block}
}
@media(max-width:850px){
  .iz-product .footer,.iz-product .hp-footer .footer,.iz-product .cp-footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
  .iz-product .footer-brand-col,.iz-product .cp-footer-brand-col{grid-column:1/-1;max-width:620px}
  .iz-product .footer-blurb,.iz-product .footer-note,.iz-product .cp-footer-blurb,.iz-product .cp-footer-note{max-width:none}
}
@media(max-width:520px){
  .iz-product .footer,.iz-product .hp-footer .footer,.iz-product .cp-footer{grid-template-columns:1fr 1fr;gap:27px 20px;padding-top:30px}
  .iz-product .footer-masthead,.iz-product .cp-footer-masthead{font-size:12vw;letter-spacing:-.075em;padding-bottom:25px}
  .iz-product .footer .footer-reach,.iz-product .hp-footer .footer-reach,.iz-product .cp-footer-reach{grid-column:1/-1}
  .iz-product .footer-bottom,.iz-product .cp-footer-bottom{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(prefers-reduced-motion:reduce){.iz-product .iz-section-drawer[open]{animation:none}}

/* The header mark inherits Meridian blue, never the browser's link blue. */
.iz-product .iz-header-brand,.iz-product .iz-header-brand:visited{color:var(--blue)}
.iz-product .iz-header-brand>svg{color:var(--blue)}

/* A single connected wordmark, rather than two words at opposite edges. */
.iz-product .footer-masthead,.iz-product .cp-footer-masthead{justify-content:center;gap:.17em}


/* ADAPTIVE MERIDIAN: fluid page frames, readable content, native browser zoom. */
html:has(body.iz-product){
  --iz-page-gutter:clamp(14px,2.4vw,56px);
  --iz-visual-gutter:clamp(8px,1.2vw,28px);
  --iz-gutter-start:max(var(--iz-page-gutter),env(safe-area-inset-left,0px));
  --iz-gutter-end:max(var(--iz-page-gutter),env(safe-area-inset-right,0px));
  --iz-map-gap:clamp(8px,1vw,18px);
  --iz-control-surface:color-mix(in srgb,var(--white) 94%,transparent);
  --iz-control-shadow:0 10px 32px #102b3914,0 2px 6px #102b3908;
}
html[data-theme='dark']:has(body.iz-product){
  --iz-control-surface:color-mix(in srgb,var(--white) 95%,transparent);
  --iz-control-shadow:0 12px 36px #00000035,0 2px 8px #00000020;
}
.iz-product .app-wrapper{width:100%;max-width:none;min-width:0}
.iz-product .app-wrapper.is-app{height:100vh;height:100dvh;min-height:0}
.iz-product :is(.app-main,.ss-body,.ss-main,.map-page-wrapper,.mp-page,.mapbox,.map-container){min-width:0;min-height:0}
.iz-product .iz-header-inner{padding-inline:var(--iz-gutter-start) var(--iz-gutter-end)}
.iz-product .cp-page{width:calc(100% - var(--iz-gutter-start) - var(--iz-gutter-end));max-width:none;margin-inline:auto;padding-inline:0;box-sizing:border-box}
.iz-product .cp-header{padding-inline:0}
.iz-product .ps-wrap{width:100%;max-width:none;margin-inline:0;padding-inline:var(--iz-gutter-start) var(--iz-gutter-end);box-sizing:border-box}
.iz-product .app-wrapper.is-document>.app-main{padding-inline:var(--iz-gutter-start) var(--iz-gutter-end);box-sizing:border-box}
.iz-product .app-wrapper.is-document>.app-main>:is(div,section,article){width:100%;max-width:none;min-width:0;margin-inline:0;box-sizing:border-box}
.iz-product .bp-read{min-width:0}
.iz-product .bp-read>*{min-width:0}
.iz-product .bp-body{max-width:72ch;width:100%;overflow-wrap:break-word}
.iz-product .bp-article{min-width:0;padding-inline:clamp(18px,3vw,64px)}
.iz-product .bp-body :is(img,video){max-width:100%;height:auto}
.iz-product .bp-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:clamp(16px,1.5vw,30px)}
.iz-product .contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.iz-product .contact-grid>*{min-width:0}
.iz-product .contact-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.iz-product .frame{padding:var(--iz-map-gap);gap:var(--iz-map-gap);box-sizing:border-box}
@media(min-width:1101px){
  .iz-product .frame:not(.frame-section){grid-template-columns:clamp(280px,23vw,370px) minmax(0,1fr)}
  .iz-product .frame.list-collapsed:not(.frame-section){grid-template-columns:minmax(0,1fr)}
}
@media(min-width:721px) and (max-width:1100px){
  .iz-product .frame:not(.frame-section){grid-template-columns:minmax(0,1fr)}
}

/* Shared homepage gutters replace the old 1280/1512px hard stops. */
.iz-product .home-atlas .hp-wrap{
  width:calc(100% - var(--iz-gutter-start) - var(--iz-gutter-end));
  max-width:none;margin-inline:auto;box-sizing:border-box;
}
.iz-product .home-atlas .hp-wide{
  width:calc(100% - max(var(--iz-visual-gutter),env(safe-area-inset-left,0px)) - max(var(--iz-visual-gutter),env(safe-area-inset-right,0px)));
  max-width:none;margin-inline:auto;box-sizing:border-box;
}
.iz-product .home-atlas .hp-wrap .hp-wrap{width:100%;margin-inline:0}
.iz-product .home-atlas .hp-feature-track{
  padding-inline:var(--iz-gutter-start) var(--iz-gutter-end);
  scroll-padding-inline:var(--iz-gutter-start) var(--iz-gutter-end);
}
.iz-product .home-atlas .hp-feature-card{
  flex-basis:max(17rem,calc((100vw - var(--iz-gutter-start) - var(--iz-gutter-end) - 72px)/4));
  height:clamp(420px,32vw,660px);
}
.iz-product .home-atlas .hp-cinema{height:clamp(380px,65svh,780px);min-height:0}
.iz-product .home-atlas .hp-colony-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(20px,1.8vw,36px)}
.iz-product .home-atlas .hp-map-studio{grid-template-columns:clamp(260px,23vw,360px) minmax(0,1fr)}
.iz-product .home-atlas :is(.hp-map-studio,.hp-people,.hp-faq)>*{min-width:0}
.iz-product .home-atlas .hp-people{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.5vw,90px)}
.iz-product .home-atlas .hp-people-intro{max-width:65ch}
.iz-product .home-atlas .hp-faq{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,100px)}
.iz-product .home-atlas .hp-question-intro{gap:clamp(24px,4vw,72px)}
.iz-product .home-atlas .hp-search-bar{min-width:0;flex-wrap:wrap}
.iz-product .home-atlas .hp-search{flex:1 1 18rem;min-width:0}
.iz-product .home-atlas .hp-search input{width:100%;min-width:0}
.iz-product .home-atlas .hp-locality{min-width:0;max-width:100%}
.iz-product .home-atlas .hp-locality select{max-width:100%}
@media(min-width:1800px){
  .iz-product .home-atlas .hp-colony-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .iz-product .home-atlas .hp-section-head>p{max-width:42ch;font-size:15px}
}
@media(max-width:900px){
  .iz-product .home-atlas :is(.hp-people,.hp-faq,.hp-map-studio){grid-template-columns:minmax(0,1fr)}
  .iz-product .home-atlas .hp-question-intro{align-items:flex-start;flex-wrap:wrap}
  .iz-product .home-atlas .hp-question-note{flex-shrink:1}
  .iz-product .contact-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
  .iz-product .home-atlas .hp-cinema{height:clamp(320px,58svh,540px)}
  .iz-product .home-atlas .hp-feature-card{height:430px;flex-basis:min(82vw,340px)}
  .iz-product .home-atlas .hp-colony-grid{grid-template-columns:minmax(0,1fr)}
  .iz-product .contact-row{grid-template-columns:minmax(0,1fr)}
  .iz-product :is(input,select,textarea){font-size:16px}
}
@media(max-height:540px) and (min-width:721px){
  .iz-product .home-atlas .hp-cinema{height:clamp(280px,76svh,420px)}
}

/* Search-first map controls. Only presentation changes; original controls,
   handlers, layer colours and map geometry remain owned by MapExplorer. */
.iz-product .mapbox{border-radius:24px;border:1px solid var(--line);box-shadow:none}
.iz-product .frame>.sidebar{border:1px solid var(--line);border-radius:24px;box-shadow:0 4px 18px #102b3905;background:var(--white)}
.iz-product .sidebar .side-head{padding:20px 18px 14px}
.iz-product .sidebar .side-head h2{font-size:20px;font-weight:800;letter-spacing:-.65px}
.iz-product .sidebar .side-search{border-radius:12px;background:var(--tile);border:1px solid var(--line);box-shadow:none}
.iz-product .sidebar .side-scroll{overscroll-behavior:contain}
.iz-product .mx-overlay{container-type:inline-size;container-name:iz-map-tools}
.iz-product .mx-overlay .mx-top{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:"search filters sort" "view kinds kinds";
  gap:9px 10px;align-items:center;align-self:center;
  width:100%;max-width:58rem;min-width:0;margin-inline:auto;padding:11px;
  border:1px solid color-mix(in srgb,var(--line) 90%,var(--white));
  border-radius:24px;background:var(--iz-control-surface);
  box-shadow:var(--iz-control-shadow);backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
  box-sizing:border-box;max-height:min(17rem,max(4rem,calc(100dvh - 7rem)));overflow:auto;
  scrollbar-width:thin;overscroll-behavior:contain;
}
.iz-product .mx-top .mx-search{
  grid-area:search;display:flex;align-items:center;gap:10px;width:100%;min-width:0;max-width:none;
  min-height:48px;height:auto;margin:0;padding:6px 12px 6px 6px;
  border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 2px 5px #102b3904;
  box-sizing:border-box;
}
.iz-product .mx-top .mx-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)}
.iz-product .mx-top .mx-search input{flex:1 1 0;width:100%;min-width:0;font-size:14px;line-height:1.4;color:var(--ink);background:transparent;border:0;box-shadow:none}
.iz-product .mx-top .mx-search input::placeholder{color:var(--mute);opacity:1}
.iz-product .mx-top .mx-search .mode{gap:2px;padding:3px;border-radius:10px;background:var(--tile);border:0;box-shadow:none;flex:0 0 auto}
.iz-product .mx-top .search-mode-btn{min-height:32px;padding:6px 10px;border-radius:8px;font-size:10px;font-weight:750;line-height:1.4;color:var(--mute);border:0;background:transparent}
.iz-product .mx-top .search-mode-btn.on{background:var(--white);color:var(--blue);box-shadow:0 1px 5px #102b3912}
.iz-product .mx-top .mx-drop-village{grid-area:filters}
.iz-product .mx-top .mx-drop-sort{grid-area:sort}
.iz-product .mx-top .drop{
  display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:12rem;min-width:0;
  padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--white);
  color:var(--ink);font-size:11px;line-height:1.4;box-shadow:none;white-space:nowrap;
}
.iz-product .mx-top .drop:hover,.iz-product .mx-top .drop[aria-expanded=true]{border-color:var(--blue);background:var(--iz-wash);color:var(--blue)}
.iz-product .mx-top .drop b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.iz-product .mx-top .drop>.map-btn-icon{display:block;width:15px;height:15px;flex-shrink:0;color:var(--blue)}
.iz-product .mx-top .drop-chev{width:12px;height:12px;flex-shrink:0;color:var(--mute)}
.iz-product .mx-top .mx-view{grid-area:view;justify-self:start;display:flex;width:max-content;max-width:100%;gap:3px;padding:3px;border-radius:12px;background:var(--tile);border:0;box-shadow:none}
.iz-product .mx-top .map-view-btn{min-height:34px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 12px;border:0;border-radius:8px;background:transparent;color:var(--mute);font-size:11px;font-weight:750;line-height:1.4;box-shadow:none}
.iz-product .mx-top .map-view-btn.on{background:var(--white);color:var(--blue);box-shadow:0 1px 5px #102b3910}
.iz-product .mx-top .map-kind-row{grid-area:kinds;justify-self:end;display:flex;align-items:center;gap:4px;width:auto;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.iz-product .mx-top .map-kind{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--mute);font-size:11px;line-height:1.4}
.iz-product .mx-top .map-kind.on{border-color:color-mix(in srgb,var(--green) 17%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--white));color:var(--green)}
.iz-product .mx-top .map-kind input{accent-color:var(--green);flex-shrink:0}
.iz-product .mx-overlay .mx-panel{
  width:min(100%,36rem);max-width:100%;min-width:0;align-self:center;margin-inline:auto;
  padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--iz-control-surface);
  box-shadow:var(--iz-control-shadow);backdrop-filter:blur(20px);box-sizing:border-box;
  overscroll-behavior:contain;
}
.iz-product .map-filters-box .map-filter-label{font-size:12px;font-weight:800;letter-spacing:-.1px}
.iz-product .map-filters-box .filter-village-pills{display:flex;flex-wrap:wrap;gap:7px}
.iz-product .map-filters-box .filter-village-pills button{min-height:36px;border-radius:10px;padding:8px 11px;font-size:11px}
.iz-product .map-filters-box :is(input,select){max-width:100%;min-width:0;box-sizing:border-box}
.iz-product .mapbox .leaflet-control-zoom{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--iz-control-shadow)!important;overflow:hidden}
.iz-product .mapbox .leaflet-control-zoom a{width:40px;height:40px;line-height:40px;font-size:22px;color:var(--ink);background:var(--iz-control-surface);border-color:var(--line)}
.iz-product .mapbox .leaflet-control-zoom a:hover{background:var(--iz-wash);color:var(--blue)}
.iz-product .mp-head :is(.mp-title,.mp-drop),.iz-product .mp-bar{
  background:var(--iz-control-surface);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--iz-control-shadow);backdrop-filter:blur(18px);color:var(--ink);
}
.iz-product .mp-head{gap:8px;min-width:0}
.iz-product .mp-head .mp-title{font-size:12px;padding:12px 15px}
.iz-product .mp-bar{max-width:calc(100% - 24px);padding:7px;gap:7px}
@container iz-map-tools (max-width:680px){
  .iz-product .mx-overlay .mx-top{
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"search search search" "view filters sort" "kinds kinds kinds";
    gap:7px;padding:9px;border-radius:19px;
  }
  .iz-product .mx-top .map-kind-row{justify-self:start}
  .iz-product .mx-top .map-view-btn{padding-inline:9px;font-size:10px;gap:5px}
  .iz-product .mx-top .drop{max-width:9rem;padding-inline:10px;font-size:10px;gap:5px}
  .iz-product .mx-top .drop>.map-btn-icon{display:none}
  .iz-product .mx-top .search-mode-btn{padding-inline:8px}
}
@container iz-map-tools (max-width:400px){
  .iz-product .mx-top .mx-search{gap:8px;padding-right:9px}
  .iz-product .mx-top .mx-search input{font-size:16px}
  .iz-product .mx-top .search-mode-label{display:none}
  .iz-product .mx-top .search-mode-icon{display:block;width:16px;height:16px}
  .iz-product .mx-top .search-mode-btn{min-width:34px;min-height:34px;padding:8px}
  .iz-product .mx-top .map-view-btn{padding-inline:7px;min-height:36px}
  .iz-product .mx-top .map-view-btn>.map-btn-icon{display:none}
  .iz-product .mx-top .drop{max-width:7.5rem;padding-inline:8px}
  .iz-product .mx-top .map-kind{min-height:36px;padding-inline:10px}
}
@media(pointer:coarse){
  .iz-product .mx-top :is(.drop,.map-view-btn,.map-kind){min-height:44px}
  .iz-product .mx-top .search-mode-btn{min-height:40px;min-width:40px}
  .iz-product .mapbox .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
}
@media(max-height:540px){
  .iz-product .mx-overlay .mx-top{max-height:max(4rem,calc(100dvh - 10rem))}
}
@media(prefers-reduced-transparency:reduce){
  .iz-product .mx-overlay :is(.mx-top,.mx-panel),.iz-product .mp-bar{background:var(--white);backdrop-filter:none}
}

/* Release footer: explicit areas prevent the old homepage grid from orphaning contact. */
.iz-product .footer.footer,
.iz-product .cp-footer.cp-footer,
.iz-product .home-atlas .hp-footer .footer {
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(140px,.8fr) minmax(155px,.9fr) minmax(175px,.9fr);
  grid-template-areas:"masthead masthead masthead masthead" "brand explore company reach" "bottom bottom bottom bottom";
  align-items:start;
  gap:32px clamp(24px,3vw,48px);
  padding:32px 0 22px;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-masthead,.cp-footer-masthead) {
  grid-area:masthead;
  margin:0 0 4px;
  padding:0 0 30px;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-brand-col,.cp-footer-brand-col) {
  grid-area:brand;
  min-width:0;
  max-width:52ch;
  padding-right:clamp(0px,1vw,18px);
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>nav[aria-label="Explore"] {grid-area:explore}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>nav[aria-label="Company"] {grid-area:company}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>nav {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  min-width:0;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) h5 {
  margin:8px 0 16px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.12em;
  font-weight:800;
  color:var(--ink);
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>nav>a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:9px 0;
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:var(--mute);
  text-decoration:none;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>nav>a:hover {color:var(--blue)}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.brand,.cp-brand) {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  font-size:21px;
  line-height:1.3;
  letter-spacing:-.045em;
  font-weight:800;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-blurb,.cp-footer-blurb) {
  max-width:none;
  margin:16px 0 0;
  color:var(--mute);
  font-size:13px;
  line-height:1.85;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-note,.cp-footer-note) {
  max-width:none;
  margin:14px 0 0;
  color:var(--mute);
  font-size:11px;
  line-height:1.85;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-reach,.cp-footer-reach) {
  grid-area:reach;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  min-width:0;
  margin:0;
  padding:0 0 0 24px;
  border:0;
  border-left:1px solid var(--line);
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-contact-btn,.cp-footer-reach>.cp-btn) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  max-width:100%;
  margin:0;
  padding:11px 16px;
  font-size:12px;
  line-height:1.5;
  border-radius:999px;
  white-space:normal;
  text-align:center;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-socials,.cp-footer-socials) {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:8px;
  list-style:none;
  margin:16px 0 0;
  padding:0;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-socials,.cp-footer-socials) a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:50%;
  background:color-mix(in srgb,var(--blue) 5%,var(--canvas));
  color:var(--blue);
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-socials,.cp-footer-socials) a:hover {
  border-color:var(--blue);
  background:color-mix(in srgb,var(--blue) 12%,var(--canvas));
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer) a:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:4px;
}
.iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-bottom,.cp-footer-bottom) {
  grid-area:bottom;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 24px;
  margin:0;
  padding:22px 0 0;
  font-size:11px;
}
@media(max-width:1050px) {
  .iz-product .footer.footer,
  .iz-product .cp-footer.cp-footer,
  .iz-product .home-atlas .hp-footer .footer {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.8fr);
    grid-template-areas:"masthead masthead masthead" "brand brand reach" "explore company reach" "bottom bottom bottom";
    gap:28px 28px;
  }
}
@media(max-width:700px) {
  .iz-product .footer.footer,
  .iz-product .cp-footer.cp-footer,
  .iz-product .home-atlas .hp-footer .footer {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"masthead masthead" "brand brand" "explore company" "reach reach" "bottom bottom";
    gap:24px 20px;
    padding:22px 0 18px;
  }
  .iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-brand-col,.cp-footer-brand-col) {padding:0;max-width:none}
  .iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-reach,.cp-footer-reach) {
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 16px;
    border-left:0;
    border-top:1px solid var(--line);
    padding:22px 0 0;
  }
  .iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-reach,.cp-footer-reach)>h5 {flex-basis:100%;margin:0 0 2px}
  .iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-socials,.cp-footer-socials) {margin:0;gap:10px}
  .iz-product :is(.footer.footer,.cp-footer.cp-footer) :is(.footer-socials,.cp-footer-socials) a {width:44px;height:44px}
  .iz-product :is(.footer.footer,.cp-footer.cp-footer)>:is(.footer-bottom,.cp-footer-bottom) {align-items:flex-start}
}

/* RELEASE 2.68: contrast, compact maps, persistent workspaces and mobile containment. */
.iz-product .detail-tiles .tile {color:var(--ink);background:var(--tile)}
.iz-product .detail-tiles .tile .tile-label {color:var(--mute);opacity:1}
.iz-product .detail-tiles .tile .tile-value,
.iz-product .detail-tiles .tile .tile-value small {color:var(--ink);opacity:1}
.iz-product .detail-tiles .tile .tile-ico {background:var(--iz-wash);color:var(--blue)}
.iz-product .detail-tiles .tile.green {background:var(--green-100);border-color:color-mix(in srgb,var(--green) 25%,var(--line))}
.iz-product .detail-tiles .tile.green .tile-label {color:var(--ink)}
.iz-product .detail-tiles .tile.green .tile-value,
.iz-product .detail-tiles .tile.green .tile-ico {color:var(--green)}
.iz-product .detail-tiles .tile.green .tile-ico {background:color-mix(in srgb,var(--green) 10%,var(--white))}
.iz-product .pp-selling {grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.iz-product :is(.pp-section,.pp-section-head,.doc,.doc-text) {min-width:0}
.iz-product .doc-name {overflow-wrap:anywhere}

.iz-product .mx-overlay .mx-top {padding:7px;gap:4px 8px;border-radius:19px}
.iz-product .mx-top .mx-search {min-height:44px;padding:4px 10px 4px 4px;border-radius:12px}
.iz-product .mx-top .mx-search .mode {padding:2px}
.iz-product .mx-top .search-mode-btn {min-height:28px;padding:4px 8px}
.iz-product .mx-top .mx-view {padding:2px;border-radius:8px;gap:2px}
.iz-product .mx-top .map-view-btn {min-height:26px;padding:4px 9px;border-radius:8px}
.iz-product .mx-top .map-kind {min-height:28px;padding:4px 9px;border-radius:8px}
.iz-product .mx-top .map-kind-row {gap:4px}
.iz-product .mx-top .drop {min-height:40px;padding:8px 10px;border-radius:12px}
.iz-product .leaflet-container[data-layout-labels-visible="false"] .iz-layout-tooltip {visibility:hidden}
.iz-product .iz-layout-tooltip {pointer-events:none;max-width:260px;white-space:normal}

/* Workspace navigation is a real grid column, not a modal over the map. */
.iz-product .iz-header-shell .ss-body.frame-section {
  display:grid;grid-template-columns:246px minmax(0,1fr);grid-template-rows:minmax(0,1fr);
  padding:0;gap:0;min-width:0;min-height:0;flex:1;overflow:hidden;
}
.iz-product .iz-workspace-nav {
  grid-column:1;grid-row:1;display:flex;flex-direction:column;
  min-width:0;min-height:0;overflow:hidden;background:var(--white);
  color:var(--ink);border-right:1px solid var(--line);
}
.iz-product .iz-workspace-heading {flex:none;padding:22px 20px 17px;border-bottom:1px solid var(--line)}
.iz-product .iz-workspace-heading>span {display:block;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.iz-product .iz-workspace-heading h2 {margin:5px 0 0;font-size:22px;line-height:1.3;letter-spacing:-.04em}
.iz-product .iz-workspace-nav .iz-section-options {position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 8px;gap:3px}
.iz-product .iz-workspace-nav .iz-section-options>:is(button,a) {height:auto;min-height:48px;padding:11px 10px;gap:10px;font-size:12px;flex-shrink:0}
.iz-product .iz-option-copy {min-width:0;flex:1;overflow-wrap:break-word}
.iz-product .iz-workspace-nav .iz-option-icon {flex-shrink:0;width:23px}
.iz-product .iz-workspace-footer {flex:none;padding:16px 18px;border-top:1px solid var(--line);font-size:11px}
.iz-product .iz-workspace-footer a {color:var(--blue);text-decoration:none;font-weight:700}
.iz-product .iz-header-shell .ss-main {
  grid-column:2;grid-row:1;display:flex;flex-direction:column;
  width:100%;min-width:0;min-height:0;margin:0;padding:0;overflow:hidden;
  border:0;border-radius:0;box-shadow:none;
}
.iz-product .iz-header-shell .iz-section-topbar {flex:0 0 auto;min-height:58px;margin:0;padding:10px 20px}
.iz-product .iz-header-shell .iz-section-location {min-width:0}
.iz-product .iz-header-shell .iz-section-map-link {margin-left:auto;flex-shrink:0}
.iz-product .iz-workspace-content {flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain}
.iz-product .iz-workspace-content>* {min-width:0;max-width:100%;box-sizing:border-box}
.iz-product .ss-main-flush>.iz-workspace-content {display:flex;flex-direction:column;overflow:hidden}
.iz-product .ss-main-flush>.iz-workspace-content>.sm-page {flex:1;min-height:0}
.iz-product :is(.ad-tablewrap,.ed-tablewrap) {min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain}
.iz-product :is(.ad-toolbar,.ad-filters,.pd-toolbar,.ed-toolbar) {min-width:0;flex-wrap:wrap}
.iz-product :is(.ad-form,.ad-panel,.ed-panel,.pd-grid,.pf-grid) {min-width:0;max-width:100%}
@media(min-width:1600px) {
  .iz-product .iz-header-shell .ss-body.frame-section {grid-template-columns:272px minmax(0,1fr)}
}
@media(min-width:721px) and (max-width:1000px) {
  .iz-product .iz-header-shell .ss-body.frame-section {grid-template-columns:78px minmax(0,1fr)}
  .iz-product .iz-workspace-heading {padding:16px 5px;text-align:center}
  .iz-product .iz-workspace-heading>span,.iz-product .iz-workspace-footer {display:none}
  .iz-product .iz-workspace-heading h2 {font-size:12px;margin:0}
  .iz-product .iz-workspace-nav .iz-section-options {padding:8px 5px}
  .iz-product .iz-workspace-nav .iz-section-options>:is(button,a) {position:relative;flex-direction:column;justify-content:center;gap:4px;padding:10px 4px;min-height:58px}
  .iz-product .iz-workspace-nav .iz-option-copy {font-size:9px;line-height:1.25;text-align:center;overflow-wrap:anywhere;flex:none}
  .iz-product .iz-workspace-nav .iz-option-copy small {display:none}
  .iz-product .iz-workspace-nav .iz-option-badge {position:absolute;right:1px;top:1px;font-size:9px;min-width:16px;padding:1px 4px}
}
@media(max-width:720px) {
  .iz-product .iz-header-shell .ss-body.frame-section {grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .iz-product .iz-workspace-nav {grid-column:1;grid-row:1;border-right:0;border-bottom:1px solid var(--line)}
  .iz-product .iz-workspace-heading,.iz-product .iz-workspace-footer {display:none}
  .iz-product .iz-workspace-nav .iz-section-options {
    display:flex;flex-direction:row;align-items:center;gap:5px;overflow:auto hidden;
    padding:6px max(8px,env(safe-area-inset-left,0px)) 6px max(8px,env(safe-area-inset-right,0px));
    scroll-padding-inline:8px;scrollbar-width:thin;max-width:100%;
  }
  .iz-product .iz-workspace-nav .iz-section-options>:is(button,a) {width:auto;min-height:44px;gap:7px;padding:9px 11px;white-space:nowrap}
  .iz-product .iz-workspace-nav .iz-option-copy {font-size:11px;flex:none}
  .iz-product .iz-workspace-nav .iz-option-copy small {display:none}
  .iz-product .iz-workspace-nav .iz-option-icon {width:19px}
  .iz-product .iz-workspace-nav .iz-option-icon svg {width:18px;height:18px}
  .iz-product .iz-workspace-nav .iz-section-options>.on {box-shadow:inset 0 -2px var(--green)}
  .iz-product .iz-header-shell .ss-main {grid-column:1;grid-row:2}
  .iz-product .iz-header-shell .iz-section-topbar {min-height:44px;padding:7px 12px;gap:8px}
  .iz-product .iz-header-shell .iz-section-location>span {display:none}
  .iz-product .iz-header-shell .iz-section-location>strong {font-size:12px}
  .iz-product .iz-header-shell .iz-section-map-link {font-size:10px}
  .iz-product .iz-workspace-content {padding-bottom:env(safe-area-inset-bottom,0px)}
  .iz-product .ss-main-flush>.iz-workspace-content {padding-bottom:0}
}

/* Shared header on edge-rendered public pages, including a useful no-JS fallback. */
#iz-public-header {position:sticky;top:0;z-index:1400;min-width:0;width:100%;min-height:78px}
.iz-product .cp-header {margin-inline:0;max-width:100%;width:auto;box-sizing:border-box}
.iz-product .iz-header-brand>img {flex:0 0 34px}
.iz-product .iz-public-menu {display:none;position:relative}
.iz-product .iz-public-menu>summary {display:grid;place-items:center;width:44px;height:44px;cursor:pointer;list-style:none}
.iz-product .iz-public-menu>summary::-webkit-details-marker {display:none}
.iz-product .iz-public-menu>nav {position:absolute;right:0;top:100%;width:min(280px,calc(100vw - 28px));padding:10px;display:grid;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-float)}
.iz-product .iz-public-menu>nav>a {padding:12px;color:var(--ink);font-size:13px;text-decoration:none;border-radius:8px}
.iz-product .iz-public-menu>nav>a.active {color:var(--blue);background:var(--iz-wash)}
.iz-product .iz-header-account>.um-signin {display:inline-flex;align-items:center;text-decoration:none}
.iz-product .cp-page>* {min-width:0;max-width:100%;box-sizing:border-box}
.iz-product :is(.bp-body,.bp-after,.bp-related-strip,.bp-closer,.bp-map,.bp-tabs-box) {min-width:0;max-width:100%}
.iz-product .bp-btn {max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.55;text-align:left;box-sizing:border-box}
.iz-product .bp-body .bp-btn {color:var(--on-accent);text-decoration:none}
.iz-product .bp-strip {width:100%;max-width:100%;min-width:0;overflow-x:auto;contain:inline-size;overscroll-behavior-x:contain}
.iz-product .bp-strip .bp-card {min-width:0;max-width:100%;flex:0 0 min(280px,85%)}
.iz-product :is(.bp-table,.bp-tabs) {min-width:0;max-width:100%;overflow-x:auto}
.iz-product .bp-table table {max-width:100%;overflow-wrap:anywhere}
.iz-product .bp-closer>div {min-width:0;max-width:100%}
.iz-product .bp-pair {grid-template-columns:repeat(2,minmax(0,1fr))}
.iz-product :is(.bp-cover img,.cp-page img) {max-width:100%}
@media(max-width:1050px) {
  #iz-public-header {min-height:70px}
  .iz-product .iz-public-menu {display:block}
}
@media(max-width:720px) {
  #iz-public-header {min-height:66px}
  .iz-product .iz-header-brand>img {width:29px;height:29px;flex-basis:29px}
  .iz-product .bp-pair {grid-template-columns:minmax(0,1fr)}
  .iz-product .bp-read,.iz-product .bp-featured,.iz-product .bp-grid {grid-template-columns:minmax(0,1fr)}
  .iz-product .bp-map {padding:18px}
  .iz-product .bp-map .bp-btn {width:100%;justify-content:center;padding:12px 15px}
  .iz-product input:not([type=range]):not([type=checkbox]):not([type=radio]),
  .iz-product select,.iz-product textarea {font-size:16px}
  .iz-product .iz-header-account .nav-burger {min-width:44px;min-height:44px}
}
@container iz-map-tools (max-width:680px) {
  .iz-product .mx-overlay .mx-top {gap:4px 6px;padding:6px;border-radius:16px}
  .iz-product .mx-top .map-kind-row {justify-self:start}
}
@container iz-map-tools (max-width:400px) {
  .iz-product .mx-top .drop {padding:7px;max-width:7rem;font-size:10px}
  .iz-product .mx-top .map-view-btn {padding-inline:6px;gap:4px}
  .iz-product .mx-top .search-mode-btn {min-height:30px;min-width:32px;padding:6px}
}
@media(pointer:coarse) {
  .iz-product .mx-top :is(.map-view-btn,.map-kind,.drop) {min-height:44px}
  .iz-product .mx-top .search-mode-btn {min-width:40px;min-height:40px}
}
@media(max-width:720px) and (max-height:500px) {
  .iz-product .iz-workspace-nav .iz-section-options {padding-block:2px}
  .iz-product .iz-header-shell .iz-section-topbar {min-height:36px;padding-block:4px}
}

/* Final audit: shared header feedback and visible compact map controls. */
.iz-product .iz-header-account .um-error {
  position:fixed;top:86px;right:var(--iz-gutter-end,14px);z-index:1510;
  width:min(340px,calc(100vw - 28px));max-height:40dvh;overflow:auto;
  box-sizing:border-box;margin:0;padding:13px 16px;border:1px solid var(--line);
  border-left:3px solid var(--blue);border-radius:12px;background:var(--white);
  color:var(--ink);box-shadow:var(--sh-float);font-size:12px;line-height:1.6;
  white-space:normal;overflow-wrap:anywhere;
}
.iz-product .iz-header-theme .theme-toggle-compact {color:var(--ink);flex-shrink:0}
@media(max-width:1050px) {
  .iz-product .iz-header-account .um-error {top:78px}
}
@media(max-width:720px) {
  .iz-product .iz-header-account .um-error {top:74px}
}
@container iz-map-tools (max-width:680px) {
  .iz-product .mx-top .drop>.map-btn-icon {display:block;flex:0 0 15px}
}
@container iz-map-tools (max-width:400px) {
  .iz-product .mx-top .map-view-btn>.map-btn-icon {display:block;flex:0 0 16px}
  .iz-product .mx-top .map-view-btn {min-width:40px}
}

/* RELEASE 2.69: independent map controls and city-scoped location search. */
.iz-product .map-page-wrapper > .frame > .rail {display:none}
.iz-product .mx-overlay {align-items:flex-start;pointer-events:none}
.iz-product .mx-overlay .mx-top {
  position:static;inset:auto;transform:none;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:flex-start;align-self:flex-start;
  width:100%;max-width:none;min-width:0;max-height:none;margin:0;padding:0;gap:6px;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;pointer-events:none;
}
.iz-product .mx-top > * {pointer-events:auto}
.iz-product .mx-top .mx-show-list {order:-1;flex:none;width:44px;height:44px;background:var(--white)}
.iz-product .mx-top .mx-search {
  order:0;flex:1 1 340px;width:auto;max-width:550px;min-height:44px;height:44px;
  margin:0;padding:3px 10px 3px 3px;background:var(--white);
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--iz-control-shadow);
}
.iz-product .mx-top .mx-search .mode {padding:2px}
.iz-product .mx-top .search-mode-btn {min-height:32px;padding:5px 8px}
.iz-product .mx-top .mx-filter-controls {
  order:1;display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;
  flex-wrap:wrap;pointer-events:none;
}
.iz-product .mx-filter-controls > * {pointer-events:auto}
.iz-product .mx-top .mx-filter-trigger {
  flex:none;height:44px;min-height:44px;max-width:none;padding:0 12px;
  font-size:12px;border-radius:12px;box-shadow:var(--iz-control-shadow);
}
.iz-product .mx-filter-trigger > svg {flex:none;color:var(--blue)}
.iz-product .mx-filter-count {
  display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 3px;
  border-radius:6px;background:var(--blue);color:var(--on-accent);font-size:10px;line-height:1;
}
.iz-product .mx-top .mx-village-chip {
  display:inline-flex;align-items:center;gap:7px;box-sizing:border-box;
  height:44px;min-height:44px;max-width:240px;min-width:0;padding:0 5px 0 10px;
  background:var(--white);color:var(--ink);border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--iz-control-shadow);font-size:11px;
}
.iz-product .mx-village-chip .dotv {flex:none;width:8px;height:8px}
.iz-product .mx-village-chip > b {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iz-product .mx-village-chip .mx-village-count {
  flex:none;min-width:20px;padding:3px 5px;border-radius:6px;background:var(--iz-wash);
  color:var(--blue);font-size:10px;text-align:center;line-height:1.2;
}
.iz-product .mx-village-chip > button {
  display:grid;place-items:center;flex:none;width:32px;height:40px;padding:0;
  color:var(--mute);background:transparent;border:0;border-radius:8px;cursor:pointer;
}
.iz-product .mx-village-chip > button:hover {color:var(--blue);background:var(--iz-wash)}
.iz-product .mx-top .mx-view {
  order:2;flex:none;height:44px;box-sizing:border-box;margin:0;padding:3px;gap:2px;
  border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--iz-control-shadow);
}
.iz-product .mx-top .map-view-btn {height:36px;min-height:36px;padding:5px 9px;border-radius:8px}
.iz-product .mx-top .map-view-btn.on {background:var(--iz-wash);box-shadow:none}
.iz-product .mx-top .map-kind-row {order:3;flex:none;gap:5px;pointer-events:none}
.iz-product .mx-top .map-kind {
  pointer-events:auto;box-sizing:border-box;height:44px;min-height:44px;padding:7px 10px;
  border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:var(--iz-control-shadow);
}
.iz-product .mx-top .map-kind.on {background:var(--white);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.iz-product .mx-overlay .mx-panel {
  align-self:flex-start;margin-inline:0;pointer-events:auto;background:var(--white);
  max-height:min(480px,55dvh);overflow:auto;
}
.iz-product .mx-filter-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--ink);font-size:15px}
.iz-product .mx-filter-heading .iconbtn {flex:none;min-width:36px;min-height:36px}
.iz-product .mx-sort-options {margin-bottom:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.iz-product .mx-sort-options > summary {
  display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;
  list-style:none;cursor:pointer;font-size:12px;color:var(--ink);background:var(--tile);
}
.iz-product .mx-sort-options > summary::-webkit-details-marker {display:none}
.iz-product .mx-sort-options > summary > b {margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.iz-product .mx-sort-options .sort-options {display:grid;padding:5px}
.iz-product .mx-sort-options .sort-option {min-height:40px;text-align:left}
.iz-product .mx-planbar {max-width:calc(100% - 20px)}
.iz-product .mx-planbar .planbar {
  display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;
  width:max-content;max-width:100%;min-width:0;box-sizing:border-box;
  gap:5px;padding:6px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;
  scrollbar-width:thin;overscroll-behavior-x:contain;border-radius:18px;
}
.iz-product .mx-planbar .planbar > * {flex-shrink:0}
.iz-product .mx-planbar .planbar .plan-bar-btn {min-height:38px;padding:7px 11px;border-radius:12px}
.iz-product .mx-planbar .planbar label {display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:0 5px 0 0;margin:0}
.iz-product .mx-planbar .planbar input[type=range] {width:100px;max-width:100px;min-width:80px;margin:0}
.iz-product .mx-planbar .planbar .sep {height:20px;margin:0 3px}
.iz-product .mx-planbar .planbar .val {min-width:32px;font-size:11px}

.iz-product .mp-map {container:iz-master-tools / inline-size}
.iz-product .mp-head {align-items:center}
.iz-product .mp-head:focus-within {z-index:1150}
.iz-product .mp-head .mp-location-search {position:relative;flex:0 0 100%;min-width:0;max-width:100%;background:transparent;pointer-events:none}
.iz-product .mp-location-input {
  display:flex;align-items:center;gap:10px;width:min(420px,100%);height:44px;box-sizing:border-box;
  padding:0 4px 0 13px;border:1px solid var(--line);border-radius:12px;
  color:var(--blue);background:var(--white);box-shadow:var(--iz-control-shadow);pointer-events:auto;
}
.iz-product .mp-location-input:focus-within {border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}
.iz-product .mp-location-input > svg {flex:none}
.iz-product .mp-location-input input {
  flex:1;min-width:0;width:100%;height:100%;padding:0;border:0;border-radius:0;
  outline:none;background:transparent;color:var(--ink);font:inherit;font-size:13px;box-shadow:none;
}
.iz-product .mp-location-input input::placeholder {color:var(--mute);opacity:1}
.iz-product .mp-location-input input::-webkit-search-cancel-button {display:none}
.iz-product .mp-location-input button {
  display:grid;place-items:center;flex:none;width:36px;height:38px;padding:0;border:0;
  border-radius:8px;background:transparent;color:var(--mute);cursor:pointer;
}
.iz-product .mp-location-input button:hover {background:var(--iz-wash);color:var(--blue)}
.iz-product .mp-location-results {
  position:absolute;left:0;top:calc(100% + 8px);z-index:1200;
  width:min(420px,100%);box-sizing:border-box;max-height:min(440px,55dvh);overflow:auto;
  padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--white);
  color:var(--ink);box-shadow:var(--sh-float);pointer-events:auto;overscroll-behavior:contain;
}
.iz-product .mp-location-results p {margin:0;padding:10px;font-size:12px;line-height:1.5;color:var(--mute)}
.iz-product .mp-location-results .mp-location-scope {font-size:10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.iz-product .mp-location-results [role=option] {
  display:flex;align-items:flex-start;gap:10px;width:100%;min-height:52px;padding:10px;
  text-align:left;border:0;border-radius:10px;background:transparent;color:var(--ink);
  font:inherit;cursor:pointer;
}
.iz-product .mp-location-results [role=option]:is(:hover,.on) {background:var(--iz-wash)}
.iz-product .mp-location-results [role=option] > svg {flex:none;color:var(--blue);margin-top:2px}
.iz-product .mp-location-results [role=option] > span {min-width:0}
.iz-product .mp-location-results strong {display:block;font-size:13px;line-height:1.4}
.iz-product .mp-location-results small {display:block;font-size:10px;line-height:1.5;color:var(--mute);overflow-wrap:anywhere;margin-top:3px}
.iz-product .mp-location-credit {display:block;padding:8px 10px;font-size:10px;color:var(--mute);text-align:right}
.iz-product .mp-location-busy {width:14px;height:14px;flex:none;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:iz-location-spin .8s linear infinite}
.iz-product .mp-search-pin {display:block;box-sizing:border-box;width:24px;height:24px;border-radius:50%;border:4px solid #fff;background:var(--blue);box-shadow:0 0 0 7px #21689226,0 3px 12px #102b3960}
.iz-product .mp-search-pin-label {max-width:220px;white-space:normal;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-weight:700;box-shadow:var(--iz-control-shadow)}
@keyframes iz-location-spin {to {transform:rotate(360deg)}}
@container iz-map-tools (max-width:680px) {
  .iz-product .mx-top .mx-search {flex-basis:100%;max-width:none}
  .iz-product .mx-top .mx-show-list + .mx-view + .mx-search {flex-basis:calc(100% - 50px)}
  .iz-product .mx-top .mx-filter-trigger {font-size:11px;padding-inline:10px}
  .iz-product .mx-top .map-view-btn {gap:5px;padding-inline:7px}
  .iz-product .mx-top .map-kind {padding-inline:8px}
  .iz-product .mx-top .mx-village-chip {max-width:calc(100cqw - 110px)}
}
@container iz-map-tools (max-width:400px) {
  .iz-product .mx-top .map-view-btn > .map-btn-icon {display:block;flex:none}
  .iz-product .mx-top .mx-search input {font-size:16px}
}
@container iz-master-tools (max-width:680px) {
  .iz-product .mp-head {top:12px;left:12px;width:calc(100% - 24px);max-width:none;gap:8px}
  .iz-product .mp-location-input {width:100%}
  .iz-product .mp-location-input input {font-size:16px}
  .iz-product .mp-location-results {width:100%}
  .iz-product .mp-map > .ov-tr {top:64px;right:12px}
  .iz-product .mp-head :is(.mp-title,.mp-drop) {display:none}
  .iz-product .mp-head .mp-sheet-open {display:inline-grid}
  .iz-product .mp-cities-link-long {display:none}
  .iz-product .mp-cities-link-short {display:inline}
  .iz-product .mp-base button {width:40px;min-height:40px;padding:0;justify-content:center}
  .iz-product .mp-base button span {display:none}
  .iz-product .mp-notice {top:116px}
}
@media(pointer:coarse) {
  .iz-product .mx-top .search-mode-btn {min-width:36px;min-height:34px}
  .iz-product .mx-planbar .planbar .plan-bar-btn {min-height:44px}
  .iz-product .mx-planbar .planbar input[type=range] {height:44px}
  .iz-product .mx-filter-heading .iconbtn,.iz-product .mx-sort-options .sort-option {min-height:44px}
}
@media(prefers-reduced-motion:reduce) {
  .iz-product .mp-location-busy {animation:none;border-color:var(--blue)}
}

/* Pinned register: the list owns layout space, never floats over the map. */
.iz-product .map-page-wrapper {container:iz-register-layout / inline-size}
.iz-product .map-page-wrapper > .frame.map-register-pinned {
  display:grid;grid-template-columns:clamp(230px,25cqw,330px) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);position:relative;min-height:0;min-width:0;
}
.iz-product .map-page-wrapper > .map-register-pinned > .sidebar.is-pinned {
  display:flex;flex-direction:column;position:relative;inset:auto;
  grid-column:1;grid-row:1;align-self:stretch;width:auto;max-width:none;
  height:100%;min-height:0;box-sizing:border-box;overflow:hidden;
  transform:none;opacity:1;pointer-events:auto;z-index:1;
  border:1px solid var(--line);border-radius:18px;box-shadow:none;
  padding-bottom:0;transition:none;
}
.iz-product .map-register-pinned > .sidebar.is-pinned .sidebar-list {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.iz-product .map-page-wrapper > .map-register-pinned > .mapbox {
  grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;visibility:visible;
}
.iz-product .map-register-pinned .mapbox .mx-overlay {display:flex;flex-direction:column}
.iz-product .map-register-pinned .mx-overlay .mx-top {flex:none}
@container iz-register-layout (max-width:720px) {
  .iz-product .map-page-wrapper > .frame.map-register-pinned {
    grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(156px,26dvh,224px) minmax(0,1fr);
    gap:8px;padding:8px;
  }
  .iz-product .map-page-wrapper > .map-register-pinned > .sidebar.is-pinned {grid-column:1;grid-row:1;border-radius:14px}
  .iz-product .map-page-wrapper > .map-register-pinned > .mapbox {grid-column:1;grid-row:2;border-radius:16px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .sidebar-head {display:none}
  .iz-product .map-register-pinned > .sidebar.is-pinned .side-pad {flex:none;padding:5px 8px 0}
  .iz-product .map-register-pinned > .sidebar.is-pinned .side-search {height:36px;min-height:36px;padding:0 10px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .side-search input {font-size:16px;min-width:0}
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2px;border-radius:10px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 button {min-width:0;min-height:36px;padding:5px;font-size:11px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 button b {font-size:10px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .sidebar-list {padding:4px 8px 8px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .sidebar-empty {padding:10px;font-size:12px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .row {min-height:52px;padding:8px;gap:8px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .row .swatch {width:28px;height:28px;flex:0 0 28px}
}
@media(max-width:720px) {
  .iz-product .map-register-pinned .mapbox .mx-overlay {right:8px}
  .iz-product .map-register-pinned .mapbox .mx-bottom {
    display:flex;position:absolute;left:8px;right:8px;top:auto;
    bottom:calc(var(--map-floor,0px) + 14px);gap:8px;flex-wrap:nowrap;align-items:center;
  }
  .iz-product .map-register-pinned .mapbox .mx-bottom::after {display:none}
  .iz-product .map-register-pinned .mapbox .mx-bottom .mx-nav,
  .iz-product .map-register-pinned .mapbox .mx-bottom .mx-planbar {
    position:static;inset:auto;transform:none;width:auto;max-width:none;
  }
  .iz-product .map-register-pinned .mapbox .mx-bottom .mx-nav {flex:none}
  .iz-product .map-register-pinned .mapbox .mx-bottom .mx-planbar {flex:1;min-width:0}
  .iz-product .map-register-pinned .mapbox .mx-bottom .planbar {max-width:100%;flex-wrap:nowrap}
}
@media(max-height:500px) {
  @container iz-register-layout (min-width:520px) and (max-width:720px) {
    .iz-product .map-page-wrapper > .frame.map-register-pinned {grid-template-columns:210px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
    .iz-product .map-page-wrapper > .map-register-pinned > .mapbox {grid-column:2;grid-row:1}
  }
}

/* Comfortable shared navigation targets on tablets and phones. */
.iz-product .iz-header-account > .nav-burger { min-width: 44px; min-height: 44px; width: 44px; height: 44px; padding: 10px; flex-shrink: 0; border: 1px solid #dce6eb; border-radius: 12px; background: transparent; color: inherit; text-align: center; line-height: 1; }
.iz-product .iz-header-account > .nav-burger:focus-visible { outline: 2px solid #20638b; outline-offset: 3px; }
[data-theme="dark"] .iz-header-account > .nav-burger { border-color: #2b424e; }

/* ------------------------------------------------------------------ *
 * SLATE IS TWO THINGS, AND ONLY ONE OF THEM SURVIVES THE DARK THEME.
 *
 * --slate (#173b4d) is a dark SURFACE under white text — .btn-slate,
 * .pill.slate, .tile.dark — and it is also the INK for a quiet icon or count
 * sitting on --tile or --white. The dark theme repaints the surfaces and
 * leaves the token where it is, which is right for the first use and
 * invisible for the second: measured 18 Sep 2026, the register's count pill
 * read 1.31 against its own tile and the master-plan sheet buttons 1.46.
 *
 * The ink uses are named here and take --ink in the dark theme. The surface
 * uses are deliberately absent, and .iconbtn.dark is excluded because it is
 * one of them.
 * ------------------------------------------------------------------ */
html[data-theme='dark'] :is(
  .side-head .count,
  .toggle-row .ico,
  .iconbtn:not(.dark),
  .modal-close,
  .theme-toggle-compact,
  .ccard .thumb-empty,
  .social-links.is-detailed .social-glyph,
  .cp-tile:not(.green) i,
  .cp-nooutline .cp-outline-tile,
  .cp-footer-socials a
){ color: var(--ink) }

/* ONE FLOOR FOR SMALL TYPE ON A PHONE (18 Sep 2026).
   The same reasoning as the home page's own floor: the site's quiet labels —
   kickers, list headings, row meta, status chips — are set at 9–10.5px, which
   is a desk-distance size. 11px is the floor on a handset and nothing above
   720px moves. The map's Leaflet attribution is left alone: it is the
   library's own furniture and the licence requires only that it is legible
   where it sits. */
@media(max-width:720px){
  .iz-product :is(.kicker,.detail-kicker,.legal-kicker),
  .iz-product .list-label,
  .iz-product .row-meta,
  .iz-product .ad-tag,
  .iz-product .fs-chip,
  .iz-product .iz-section-map-link,
  .iz-product .mp-attr-short { font-size: 11px }
  /* THE PAGES FUNCTIONS' OWN TYPE, added 19 Sep 2026 after measuring the
     DEPLOYED colony page and blog rather than the dev server. Their CSS is
     inline in the function and shares nothing with the app's sheets, so it
     was never in the 18 September pass — but they DO link this file, and
     they link it last, which is what makes this the one place the floor
     belongs. `.cp-hero .cp-kicker` is spelled out because the rule it has
     to beat is three classes deep. */
  .iz-product .bp-translit,
  .iz-product .bp-section-count,
  .iz-product .bp-card-top span,
  .iz-product .bp-card-foot span,
  .iz-product .cp-hero .cp-kicker { font-size: 11px }
}

/* THE NAME IS PRINTED ONCE ON A PHONE (Archit, 19 Sep 2026).
   The footer carries the brand twice on purpose: the masthead across the top
   of the grid, and the linked mark-and-name that heads the brand column four
   columns below it. On a phone the grid collapses and the two land one under
   the other, 28px apart — the same two words, drawn twice, which is what the
   photograph shows. The masthead is the one that stays: it is the footer's
   signature, it spans the width, and the column it heads keeps its blurb and
   its disclaimer. Home is still one line away in Explore.
   Both spellings of the footer are covered — React (.footer) and the Pages
   Functions' public documents (.cp-footer). */
@media(max-width:720px){
  .iz-product :is(.footer,.cp-footer) > :is(.footer-brand-col,.cp-footer-brand-col) > :is(.brand,.cp-brand){ display:none }
}

/* ==================================================================== *
 * THE UI/UX AUDIT OF 19 SEPTEMBER 2026 (v2.81)
 * artifacts/ui-ux-audit-v2.81/README.md is the argument; this is what it
 * changed. It lives at the end of THIS file because this is the one sheet
 * both the application and the Pages Functions' public documents link, and
 * both link it after their own — so a rule here reaches every surface and a
 * rule anywhere else is overridden by one here (the 2.79 → 2.80 lesson).
 * Every selector below was checked against the rule it has to beat, and then
 * measured in the browser: a media query adds no specificity.
 * ==================================================================== */

/* ---- 1. THE FAULTS ------------------------------------------------- */

/* A LONG FIGURE GETS A ROW OF ITS OWN. `project.css` stepped a long value
   down to 14px with `.detail-tiles .tile-value.is-long` (0,3,0); the rule at
   line 135 of this file, `.iz-product .detail-tiles .tile-value` (0,3,0), is
   the same weight and loads later, so the step-down never applied and
   `overflow-wrap: anywhere` cut a 23px number in half. A third of a 356px
   card is ~61px of room and a rate range needs ~190: no font size fixes that
   on a 320px phone. So the grid goes two-up and the long tile spans it, at
   the full size — it is the figure a buyer came for. */
.iz-product .detail-tiles:has(.tile.is-wide){grid-template-columns:repeat(2,minmax(0,1fr))}
.iz-product .detail-tiles .tile.is-wide{grid-column:1/-1}
.iz-product .detail-tiles .tile-value.is-long{font-size:21px;line-height:1.25;letter-spacing:-.03em;overflow-wrap:normal}
.iz-product .detail-tiles .tile-value.is-long small{display:inline;margin-left:4px}
.iz-product .tile-num{white-space:nowrap}
/* Two tiles, one of them wide: the other takes the row above it whole rather
   than leaving half of it empty. */
.iz-product .detail-tiles:has(.tile.is-wide) .tile:first-child:nth-last-child(2){grid-column:1/-1}

/* THE GLOW GOES UNDER THE CARD. `.map-anchor-layer` — the warm bloom under a
   chosen colony — was z-index 420 and the record card `.detail` is 12, so
   whenever the colony sat near the card a pink haze was painted over the
   card's left third. It needs only to clear the map's own panes, which live
   inside `.leaflet-container`'s stacking context, and to stay beneath the
   floating controls (`.ov`, 10). */
.iz-product .map-anchor-layer{z-index:5}

/* THE NARROWEST PHONES PRINT "Log in". At 320px "Log in / Sign up" sat on top
   of the wordmark — a 33×40px overlap on every page, so a new visitor's first
   sight of the brand was "Indori Zam" (measured on the live site). The second
   half of the label is its own run (UserMenu.jsx) and goes below 380px; the
   button's accessible name still says both. */
@media(max-width:380px){
  .iz-product .iz-header-account .um-signin .um-signin-more{display:none}
}

/* "Other cities" ran 27px under the Map/Satellite switch at 320px. The row is
   laid out by a container query, so the fix is one too: below 340px of tools
   the link gives up its trailing arrow and some padding, never its words. */
@container iz-master-tools (max-width:340px){
  .iz-product .mp-head .mp-cities-link{padding-inline:10px;gap:6px}
  .iz-product .mp-head .mp-cities-link>svg:last-child{display:none}
}

/* THE STATUS PILL CLEARS THE PLAN BAR ON A DESKTOP TOO. The phone has done
   this since 7 Sep; above 720px the pill was still centred on the whole map
   box at the plan bar's own height, so it sat on "Layout plan" and ran under
   the corner of the record card. With a card open it centres in what the
   card leaves (356px + two 16px margins) and rides above the bar. */
/* …on a DESKTOP: wide enough that the card is a column beside the map, and
   tall enough that the bar is at the bottom of it. The first version of this
   rule said only `min-width: 721px`, and on a phone held sideways (844×390)
   it pushed the pill off the map box's left edge — caught by the re-sweep —
   so the second version left tablets and short windows as they were. */
/* …and it lives IN what the card leaves, at every width above a phone. The
   second version centred a `nowrap` pill on that space, which holds for
   "Loading the layout plan…" and not for a sentence: "Daily limit for layout
   plans reached. It resets at midnight UTC — the plan is still there." is
   620px on one line, and measured 19 Sep 2026 it ran 356px across the card's
   own buttons at 768px, 314px at 1,024 and 28px even at 1,280. Pinned to the
   space by both edges and centred by its margins, it can wrap and cannot
   leave. Only the height it rides at differs: above the one bottom row on a
   desktop, above both between a phone and a desktop (the plan bar takes a
   line of its own there), and low in a short window, where the control rows
   own the top two-thirds of a 300px map. */
@media(min-width:721px){
  .iz-product .mapbox.has-card .map-status{
    left:16px;right:388px;transform:none;width:fit-content;margin-inline:auto;
    white-space:normal;text-align:left;border-radius:22px;
  }
}
/* …and on a PHONE, where the same trap was worse. `left:50%` leaves a
   shrink-to-fit box only the HALF of the map to the right of that point, so
   the sentence above wrapped into a column one or two words wide — twelve
   lines at 320px, a red disc over the search field and the layer toggles,
   its first letters cut by its own 999px radius at 390. Pinned by both edges
   it has the whole width less a 12px margin: two lines. */
@media(max-width:720px){
  .iz-product .mapbox .map-status{
    left:12px;right:12px;transform:none;width:fit-content;max-width:none;margin-inline:auto;
    text-align:left;border-radius:20px;
  }
}
@media(min-width:1101px) and (min-height:601px){
  .iz-product .mapbox.has-card .map-status{bottom:86px}
}
@media(min-width:721px) and (max-width:1100px) and (min-height:601px){
  .iz-product .mapbox.has-card .map-status{bottom:140px}
}
@media(min-width:721px) and (max-height:600px){
  .iz-product .mapbox.has-card .map-status{bottom:64px}
}

/* A LINK NOBODY STYLED is the browser's #0000ee — unreadable on the dark
   theme's box. The posts table's published date was one. Any link inside a
   working table or panel that has no class of its own takes the site's. */
.iz-product :is(.ad-table,.ad-sheet,.ad-panel) a:not([class]){color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
.iz-product :is(.ad-table,.ad-sheet,.ad-panel) a:not([class]):hover{color:var(--blue-600)}

/* A loading line that is a section's WHOLE answer is a bare paragraph in the
   pane, and on a phone it was printed at x=0, touching the glass. */
.iz-product .iz-workspace-content>.ad-note{padding:24px clamp(16px,2.4vw,28px)}

/* An address nobody can read is not a contact detail: "indorizameen@gmail…"
   at 320px. It wraps instead. */
.iz-product .social-links.is-detailed .social-handle{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}

/* Targets the earlier floors did not name, measured 19 Sep 2026: the blog's
   "On this page" (21px tall and the only door to the contents), the
   breadcrumbs (32), the record's RERA number (20) and its Promoter fold (38),
   the cities panel's search (28), back link (28) and fit button (38). Padding
   rather than height wherever a taller box would push its row. */
@media(max-width:720px){
  .iz-product .bp-toc-details>summary{min-height:44px;display:flex;align-items:center}
  .iz-product .cp-crumbs a{display:inline-flex;align-items:center;min-height:40px}
  .iz-product .pp-rera-link{padding-block:11px;margin-block:-11px}
  .iz-product .pp-section-head.pp-fold-head{min-height:44px}
  .iz-product .mp-panel .search.inset input{min-height:40px}
  .iz-product .mp-panel .mp-back-link{min-height:40px;display:inline-flex;align-items:center}
  .iz-product .mp-bar .iconbtn{width:40px;height:40px}
  .iz-product .qe-docs .qe-doc-remove{width:40px;height:40px}
  .iz-product .ed-swatches .ed-swatch{min-height:40px}
  /* The register sheet's sort button and its visibility eye touched (6px). */
  .iz-product .ad-sheet .ad-head-cell{gap:8px}
}

/* The footer went two-column at 700px while everything else turns at 720, so
   a 701–720px window wore the phone header over the desktop footer. */
@media(min-width:701px) and (max-width:720px){
  .iz-product .footer.footer,
  .iz-product .cp-footer.cp-footer,
  .iz-product .home-atlas .hp-footer .footer{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"masthead masthead" "brand brand" "explore company" "reach reach" "bottom bottom";gap:24px 20px}
}

/* ---- 2. STATUS IS FIVE ROLES, NOT A HANDFUL OF REDS AND ORANGES ------ *
 * Every one of the 21 contrast failures the sweep found was a semantic
 * colour: white on the error red (3.60, 2.55 at night), orange on its own
 * wash (2.94), red on its wash (3.84), --gray-400 for a blank cell (2.54),
 * and at night white on the lifted blue (2.31). They were never one system —
 * eight class families each spelled their own rgba() — so no token change
 * could reach them. These are NEW tokens that the old classes are pointed
 * at, which is why nothing that is not a status changes colour. Each pair
 * was computed before it was written: 5.85–7.38 by day, 7.73–9.44 by night,
 * and every foreground also clears 4.5 alone on white, on --tile and on the
 * night box, because `.pf-untagged` and friends are text with no chip.
 * ------------------------------------------------------------------ */
html:has(body.iz-product){
  --st-pos-fg:#5f4526;--st-pos-bg:#f2e9db;
  --st-warn-fg:#8a4a00;--st-warn-bg:#fdf0dc;
  --st-neg-fg:#a1271d;--st-neg-bg:#fdebe9;
  --st-info-fg:#1f5f8b;--st-info-bg:#eef4f7;
  --st-neutral-fg:#47606d;--st-neutral-bg:#eef1f3;
  --st-neg-solid:#b3261e;
}
html[data-theme='dark']:has(body.iz-product){
  --st-pos-fg:#e8cfa6;--st-pos-bg:#33291a;
  --st-warn-fg:#f2be78;--st-warn-bg:#3a2a12;
  --st-neg-fg:#ff9d93;--st-neg-bg:#3d1a17;
  --st-info-fg:#9bcdee;--st-info-bg:#182b39;
  --st-neutral-fg:#b4c2cc;--st-neutral-bg:#1f2c38;
  --st-neg-solid:#b3261e;
}
/* verified · active · published · live */
.iz-product :is(.ad-tag.ad-tag-ok,.ad-tag.pf-tag-live,.ad-status.ok,.ad-flag.yes,.vm-tick.yes){background:var(--st-pos-bg);color:var(--st-pos-fg)}
.iz-product .pf-tagged{color:var(--st-pos-fg)}
/* pending · locked · in progress */
.iz-product :is(.ad-status.pending,.fs-chip.fs-chip-paid,.vm-tick.said,.ad-tag.pf-tag-in_progress){background:var(--st-warn-bg);color:var(--st-warn-fg)}
.iz-product .pf-untagged{color:var(--st-warn-fg)}
/* rejected · admin only · error */
.iz-product :is(.ad-tag.ad-tag-bad,.fs-chip.fs-chip-hidden,.ad-status.bad){background:var(--st-neg-bg);color:var(--st-neg-fg)}
/* waiting on a decision */
.iz-product .ad-tag.ad-tag-pending{background:var(--st-info-bg);color:var(--st-info-fg)}
/* shown · expired · draft — and any status this list has never heard of */
.iz-product :is(.ad-tag.ad-tag-muted,.fs-chip.fs-chip-shown,.ad-tag.pf-tag-expired){background:var(--st-neutral-bg);color:var(--st-neutral-fg)}
.iz-product .vm-tick.no{color:var(--st-neutral-fg)}
/* A blank is quieter than a value, not harder to read than one. */
.iz-product :is(.ad-blank,.mp-group-count){color:var(--mute)}
/* A solid error surface is white on the deeper red: 6.54, in both themes. */
.iz-product .map-status.error{background:var(--st-neg-solid);color:#fff}
.iz-product .map-status.error button{background:rgba(255,255,255,.18);color:#fff}
/* ONE CHIP. Four casings were in use — SHOWN, Available, pending, ADMIN
   ONLY. Sentence case as written in the markup; the shape is the pill. */
.iz-product :is(.ad-tag,.fs-chip,.ad-status,.ad-flag){text-transform:none;letter-spacing:0;font-weight:600;border-radius:999px}
/* AT NIGHT A SOLID BLUE TAKES THE INK THAT WAS MADE FOR IT. `--on-accent` has
   been a dark ink in the night theme since Meridian; these painted #fff on
   the lifted blue regardless — 2.31. */
html[data-theme='dark'] .iz-product :is(.pp-lock-banner-cta,.ed-tool.is-accent){color:var(--on-accent)}
/* The count inside a lit filter chip takes the chip's own ink. (The first
   version of this rule assumed the lit chip was the umber; under Meridian it
   is a wash, and a dark ink on it measured 1.10 — caught by re-running the
   sweep, which is what the sweep is for.) */
html[data-theme='dark'] .iz-product .ad-chip.on .pf-chip-count{background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--ink)}
/* The terracotta shelf lifts to a salmon at night; white on it was 2.83. */
html[data-theme='dark'] .iz-product :is(.bp-pill,.ed-swatch).bp-ground-terracotta{color:#26190a}
/* THE LOCK SWITCH WAS PAINTED IN SOMEBODY ELSE'S GREY. "Open" took
   --gray-600, a Tailwind #4b5563 that is in no brand palette, which is why
   the control looked disabled when it was on; "Locked" was white on the
   orange at 3.4. Each state now takes the deep end of its own role. */
.iz-product .vp-seg button.on.s-shown{background:var(--navy);color:#fff}
.iz-product .vp-seg button.on.s-paid{background:#8a4a00;color:#fff}
.iz-product .vp-seg button.on.s-hidden{background:var(--st-neg-solid);color:#fff}

/* ---- 3. A TABLE OF FIGURES IS SET LIKE ONE --------------------------- *
 * This is a records platform; the tables are the product. Measured on
 * 19 Sep 2026: every header 9px; not one numeric cell right-aligned on any
 * table on the site (53 in the Register alone); row heights of 45, 59, 88 and
 * 112px, the last two only because a date wrapped to four lines in a 61px
 * column and a third button fell under the first two.
 * ------------------------------------------------------------------ */
.iz-product :is(.ad-table,.vm-table) th{font-size:11px;font-weight:700;letter-spacing:.06em;padding-block:12px}
.iz-product .ad-sheet th{font-size:11px;letter-spacing:.02em}
.iz-product .ad-table td{font-size:13px;line-height:1.5;padding-block:11px;vertical-align:middle}
.iz-product .ad-table.ed-table td{vertical-align:middle}
/* Figures: right-aligned, header included, digit under digit. */
.iz-product :is(.ad-table,.ad-sheet,.ad-diff,.mp-norms) :is(td,th).ad-num{text-align:right;font-variant-numeric:tabular-nums lining-nums}
.iz-product .ad-sheet th.ad-num .ad-head-cell{justify-content:flex-end}
.iz-product :is(.tile-value,.tile-num,.kv .v,.pf-card dd,.side-head .count){font-variant-numeric:tabular-nums lining-nums}
/* A date and a row's actions never wrap: that is what made a row 88 or 112px
   tall. Above the phone only — below 720px these tables are cards. */
@media(min-width:721px){
  .iz-product .ad-table td:is([data-label="Added"],[data-label="Updated"],[data-label="Published"],[data-label="When"],[data-label="Date"],[data-label="Last seen"]){white-space:nowrap}
  /* `.ed-row-actions` is a FLEX cell that wraps (editor.css), so it is the
     wrap that has to stop — `white-space` never reaches a flex line. */
  .iz-product .ad-table td.ed-row-actions{flex-wrap:nowrap;white-space:nowrap}
  .iz-product .ad-table td.ed-row-actions .ad-btn{min-height:34px;padding-inline:11px}
  /* PEOPLE did not fit its own pane at 1440: 1,329px of table in 1,140, the
     Profile button cut off at the edge. The two free-text columns were
     holding widths their contents never needed. */
  .iz-product .ad-table :is(td,th){padding-inline:10px}
  /* …and whatever still does not fit scrolls UNDER the row's actions rather
     than carrying them off the edge — the Register's pinned column, mirrored. */
  .iz-product .ad-tablewrap .ad-table tbody td:last-child:has(.ad-btn){position:sticky;right:0;background:var(--white);box-shadow:-1px 0 0 var(--line),-14px 0 16px -14px rgba(23,59,77,.22);white-space:nowrap}
  .iz-product .ad-tablewrap .ad-table tbody tr:hover>td:last-child:has(.ad-btn){background:color-mix(in srgb,var(--blue) 3%,var(--white))}
  .iz-product .ad-tablewrap .ad-table thead th:last-child:empty{position:sticky;right:0;background:var(--tile);box-shadow:-1px 0 0 var(--line)}
}
/* The Messages filter stretched into a 400px-wide empty "All": it is a direct
   child of `.vm-head`, whose `> div { flex: 1 1 320px }` was written for the
   title block beside it. */
.iz-product .vm-head>.vp-seg{flex:none;align-self:center}
/* The zoning norms sit in a 300px panel: three columns of figures were left-
   aligned and as wide as their tracked headers, which left the zone's name an
   82px column four lines deep at 1280px. */
.iz-product .norms :is(td.num,th:not(:first-child)){text-align:right;width:1%;white-space:nowrap;padding-left:8px;padding-right:2px}
/* In a 266px box the tracked capitals ARE the problem: FSI, COVERAGE and
   HEIGHT took 186px of it. Sentence case here, as a panel this narrow needs. */
.iz-product .norms th{letter-spacing:0;font-size:11px;text-transform:none;font-weight:600}
.iz-product .norms td:first-child{font-weight:700;overflow-wrap:break-word}
/* …and that was not enough. The panel is 266–362px at every width the site is
   used at, and four columns in it left the zone's NAME an 81px column three
   lines deep (seven of eight zones wrapped at 1,280px, rows of 83px, and
   "Unrestricted" pushed the table into a sideways scroll). Under 330px of its
   own CONTENT box (a container query measures inside the padding: the 342px
   box at 1,920 is 318) — every desktop width, and a phone under ~380px; a
   390px phone's box holds the table well and keeps it — the name takes a line to itself and the three figures sit beneath
   it, still in columns under their headings, still right-aligned — the rule
   for a cell of figures. Sized by the box, not the window. The markup stays
   a table. */
.iz-product .norms{container:iz-norms / inline-size}
@container iz-norms (max-width:330px){
  .iz-product .norms :is(table,thead,tbody){display:block}
  .iz-product .norms tr{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,1.3fr);column-gap:12px}
  .iz-product .norms :is(th,td):first-child{grid-column:1/-1}
  .iz-product .norms thead th:first-child{display:none}
  .iz-product .norms :is(td.num,th:not(:first-child)){width:auto;padding-left:0;padding-right:2px}
  .iz-product .norms td:first-child{padding-bottom:0;overflow-wrap:normal}
  .iz-product .norms td.num{border-top:0;padding-top:0}
}
/* The colony editor's papers: four buttons took the row and left the title a
   56px column, five lines deep, on a 1440px desktop. The actions go under the
   title when the title would fall below 160px. */
.iz-product .qe-doc{flex-wrap:wrap}
.iz-product .qe-doc .qe-doc-text{flex:1 1 160px}
.iz-product .qe-doc .qe-doc-title{overflow-wrap:break-word}

/* THE LIST'S OWN SHAPE, WHILE IT ARRIVES (Sidebar.jsx). Seven quiet rows
   where seven rows will be, never the "no results" sentence. */
.iz-product .sidebar-skeleton{display:grid;gap:4px;padding:6px 0}
.iz-product .sk-row{display:flex;align-items:center;gap:12px;min-height:80px;padding:14px 12px;border-bottom:1px solid var(--line)}
.iz-product .sk-thumb{flex:0 0 40px;height:40px;border-radius:12px;background:var(--tile)}
.iz-product .sk-lines{flex:1;display:grid;gap:9px}
.iz-product .sk-lines i{display:block;height:10px;border-radius:999px;background:var(--tile)}
.iz-product .sk-lines i:first-child{width:72%}
.iz-product .sk-lines i:last-child{width:38%;height:8px}
@media(prefers-reduced-motion:no-preference){
  .iz-product :is(.sk-thumb,.sk-lines i){background:linear-gradient(90deg,var(--tile) 25%,color-mix(in srgb,var(--tile) 55%,var(--white)) 50%,var(--tile) 75%);background-size:200% 100%;animation:iz-shimmer 1.4s linear infinite}
}
@keyframes iz-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---- 4. THE WORKSPACE SHELL ----------------------------------------- *
 * The four working sections were built to function and it shows in the
 * frame, not the contents: the place named three times at small sizes, a
 * navigation whose tenth item fell below its own fold at 900px, help text
 * 190 characters to the line, and on a phone 45% of the first screen gone
 * before any content. Measured 19 Sep 2026.
 * ------------------------------------------------------------------ */

/* ONE PAGE TITLE FOR ALL FOUR. They were 21px/800 (Admin), 28px/700 (Editor)
   and 26px/750 (Agent, Developer) — and the last two named the SECTION, which
   PartnerSection.jsx now corrects. The welcome pages keep their own large
   heading; they are an introduction, not a working page. */
.iz-product .iz-workspace-content :is(.ad-h1,.ps-title){font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.3}

/* TEN ITEMS FIT A 900px WINDOW. Each carried a two-line hint all the time,
   so the Admin's list needed ~720px and had ~640: "Roles" sat under the fold
   of its own scroller. The hint stays on the page you are on and on the rest
   it is the tooltip the shell already sets (`title`). Above 1000px only —
   below that the rail is icons and the phone is a tab strip. */
@media(min-width:1001px){
  .iz-product .iz-workspace-nav .iz-section-options>:not(.on) small{display:none}
  .iz-product .iz-workspace-nav .iz-section-options>:is(button,a){min-height:44px;padding-block:10px}
}
/* A thick stripe down ONE side of a rounded box bends into a crescent. Three
   unrelated things wore it — the page you are on, a change waiting on you,
   the visibility page's explanation — and the list's selected row a fourth.
   The ground and the full hairline already say "this one". The phone's tab
   underline is a different mark and is left alone (its rule is heavier). */
.iz-product .iz-section-options>.on{box-shadow:none}
.iz-product .row.sel{box-shadow:none}
.iz-product :is(.ad-change-pending,.ad-phreq-waiting){border-left:1px solid color-mix(in srgb,var(--st-warn-fg) 35%,var(--line));border-color:color-mix(in srgb,var(--st-warn-fg) 35%,var(--line))}
.iz-product .nt-item.nt-unread{border-left:1px solid var(--line)}
.iz-product .vm-prime{border-left:1px solid var(--line);background:var(--iz-wash)}
/* …and it is a disclosure now (VisibilityMatrix.jsx): its heading is the
   thing you press. */
.iz-product .vm-prime>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0}
.iz-product .vm-prime>summary::-webkit-details-marker{display:none}
.iz-product .vm-prime>summary::after{content:'';flex:none;width:8px;height:8px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.iz-product .vm-prime[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.iz-product .vm-prime:not([open]){padding-block:4px}

/* A LINE OF HELP IS A LINE SOMEBODY HAS TO READ. 190 characters is three
   lines' worth set as one. */
/* `ch` is the width of a "0", ~0.6em in Manrope — 62ch is ~75 real characters. */
.iz-product .iz-workspace-content :is(.ad-sub,.ps-sub,.ad-note,.vm-legend p,.vm-prime li){max-width:62ch}
.iz-product .iz-workspace-content>.ad-panel{max-width:1280px}

/* The post editor painted ONE of seventeen tools solid blue. Nothing about
   inserting a picture is the primary action of writing. */
.iz-product .ed-tool.is-accent{background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme='dark'] .iz-product .ed-tool.is-accent{color:var(--ink)}

/* THE ACCESS FORM, LABELLED (AdminTabs.jsx). A grid that gives each field its
   room, the button on the labels' baseline. */
.iz-product .ad-invite-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 12px;align-items:end}
.iz-product .ad-field{display:grid;gap:6px;min-width:0}
.iz-product .ad-field>span{font-size:12px;font-weight:600;color:var(--ink)}
.iz-product .ad-field>span em{font-style:normal;font-weight:500;color:var(--mute);margin-left:4px}
.iz-product .ad-field .ad-input{width:100%;min-width:0}
.iz-product .ad-invite-fields>.ad-btn{min-height:41px;justify-self:start}

@media(max-width:720px){
  /* ONE GUTTER. The home page is 14–16px; the working pages were 33px, their
     cards' text 46–51px, Roles 68px — padding stacked three boxes deep. The
     pane is 16px and a card adds 16px of its own, everywhere. */
  .iz-product .iz-workspace-content .ps-wrap{padding-inline:0;padding-top:4px}
  .iz-product .iz-workspace-content :is(.ad-panel,.ps-panel,.ps-head){padding-inline:16px}
  .iz-product .iz-workspace-content :is(.ps-card,.pf-card,.ad-change,.ad-invite,.ci-card,.rl-rung){padding-inline:16px}
  /* THE PLACE, NAMED ONCE. The tab strip already says which page this is, so
     the bar under it keeps only its one link and gives back 30px; the title
     block gives back the rest. First content was at y=378 of 844. */
  .iz-product .iz-section-topbar{min-height:44px;padding-block:2px;margin-bottom:0}
  .iz-product .iz-section-topbar .iz-section-location{display:none}
  .iz-product .iz-section-topbar .iz-section-map-link{margin-left:auto}
  .iz-product .iz-workspace-content .ps-head{padding-block:10px 12px}
  .iz-product .iz-workspace-content .ps-sub{font-size:12px;line-height:1.55}
  /* A strip that scrolls sideways says so: a fade at whichever edge still has
     something behind it, and the page you are on never parks against the
     glass. The first icon used to be cut in half at x=0. */
  .iz-product .iz-workspace-nav{position:relative}
  .iz-product .iz-workspace-nav .iz-section-options{scroll-padding-inline:16px;padding-inline:12px;scrollbar-width:none}
  .iz-product .iz-workspace-nav .iz-section-options::-webkit-scrollbar{display:none}
  .iz-product .iz-workspace-nav::after{content:'';position:absolute;top:0;right:0;bottom:1px;width:28px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--white))}
  /* WHO SEES WHAT was 15,504px on a phone — nineteen screens. Each detail's
     four tick boxes sat on 78px rows. */
  .iz-product .vm-table tbody :is(.vm-control,.vm-cell-screen){min-height:44px;padding-block:0}
  .iz-product .vm-table tbody .vm-label{padding-block:2px 4px}
  .iz-product .vm-table tbody tr.vm-row{row-gap:6px;padding-block:12px}
  /* The access form's button takes its own line rather than squeezing the
     last field's label out of sight. */
  .iz-product .ad-invite-fields{grid-template-columns:1fr}
  .iz-product .ad-invite-fields>.ad-btn{justify-self:stretch;min-height:44px}
}

/* ---- 5. TYPE: ONE SCALE, AND A FLOOR -------------------------------- *
 * TOKEN-LEVEL — this block moves every screen. The sheets declare 91 font
 * sizes, 56 letter-spacings and 38 line-heights. Rendered at 1440px on
 * 19 Sep 2026, a third of the map list's words were 10.5px, every table
 * header 9px, a fifth of the home page under 11px; legal text ran at 1.95
 * leading. Nothing here rewrites 900 declarations: the scale is NAMED, and
 * the selectors that carry the most text are pointed at it.
 *   11px is for uppercase, tracked micro labels ONLY. 12px is the floor for
 *   anything a person has to read. Leading never exceeds 1.7.
 * ------------------------------------------------------------------ */
html:has(body.iz-product){
  --fs-micro:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;
  --fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:40px;
  --lh-tight:1.2;--lh-head:1.3;--lh-ui:1.5;--lh-read:1.65;
  --track-micro:.08em;--track-display:-.04em;--word-display:.07em;
}
/* The map's list: a third of all its words. */
.iz-product :is(.row-meta,.row-dev){font-size:var(--fs-xs);line-height:1.5}
.iz-product .side-sub{font-size:var(--fs-xs);line-height:1.55}
.iz-product .rail-item{font-size:var(--fs-micro)}
/* Micro labels: 9px becomes 11, and gives back some of its tracking. */
.iz-product :is(.list-label,.rail-group-label,.iz-workspace-heading>span,.iz-section-location>span,.iz-section-topbar>div>span){font-size:var(--fs-micro);letter-spacing:var(--track-micro)}
.iz-product :is(.kicker,.detail-kicker,.legal-kicker,.cp-kicker){font-size:var(--fs-micro);letter-spacing:.1em}
/* The record card: the labels under its figures, and the line under a paper. */
.iz-product .detail-tiles .tile-label{font-size:var(--fs-xs);line-height:1.4}
.iz-product .doc-meta{font-size:var(--fs-xs);line-height:1.5}
/* The working sections: help text, hints, chips, the matrix's row names —
   which were set as 9px tracked capitals although they are the primary thing
   on their row. */
.iz-product :is(.ad-sub,.ps-sub){font-size:var(--fs-sm);line-height:1.55}
.iz-product .iz-section-options small{font-size:var(--fs-xs);line-height:1.45}
.iz-product :is(.ad-tag,.fs-chip,.ad-status,.ad-flag){font-size:var(--fs-xs)}
.iz-product .vm-table .vm-label{font-size:var(--fs-sm);font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink)}
.iz-product .ad-pill em{font-size:var(--fs-xs)}
.iz-product .ed-field>span{font-size:var(--fs-xs)}
.iz-product .footer-note,.iz-product .cp-footer-note{font-size:var(--fs-xs)}
.iz-product :is(.cp-crumbs,.bp-cover-figure figcaption){font-size:var(--fs-xs)}

/* DISPLAY TYPE GETS ITS WORD SPACES BACK. Tight tracking is this site's
   signature and it stays; but tracking also shrinks the space glyph, and at
   −0.073em on a 110px headline "Indore's land." read as one word. The most
   extreme values ease a little and every large heading is given the gap
   the tracking took. */
.iz-product .home-atlas h1{letter-spacing:-.055em;word-spacing:.09em}
.iz-product .home-atlas :is(h2,.hp-manifesto>p,.hp-map-sidebar h3,.hp-scene-copy h2),
.iz-product :is(.cp-hero h1,.contact-hero h1,.legal-body h1,.bp-featured h3,.bp-section-head h2,.bp-closer h2,.application-page h1){word-spacing:var(--word-display)}
.iz-product :is(.cp-hero h1,.contact-hero h1){letter-spacing:-.05em}
.iz-product .footer-masthead,.iz-product .cp-footer-masthead{word-spacing:.04em}

/* LEADING. 1.8–1.95 was compensating for small type; with the floor raised
   it is simply loose. Reading text 1.65–1.7, interface text 1.5–1.6. */
.iz-product :is(.bp-body,.legal-body :is(p,li),.cp-faq dd,.bp-takeaways ol,.bp-callout,.ed-preview-frame .bp-body){line-height:1.7}
.iz-product :is(.cp-lede,.contact-hero-sub,.bp-dek,.bp-featured p,.bp-section-lede){line-height:var(--lh-read)}
.iz-product :is(.mp-panel-note,.cp-promoter,.cp-footer-blurb,.cp-footer-note,.footer-blurb,.footer-note,.bp-card p,.bp-provenance,.bp-disclaimer,.bp-closer p,.bp-table table,.contact-field>span){line-height:1.6}
/* MEASURE. Legal copy ran 94 characters to the line in an 850px column; the
   colony and blog ledes 104. */
.iz-product .legal-body{max-width:720px}
.iz-product .legal-body :is(p,li){font-size:var(--fs-md)}
.iz-product .cp-lede{max-width:64ch}
/* `/apply/` is a FORM, and its own sheet says `width: min(780px, 100%)` — but
   the rule that makes every document page fluid (line 645, 0,4,1) outranked
   it, so each input was 1,265px wide and the lede ran 190 characters. One
   class heavier, and centred as it was written to be. */
.iz-product .app-wrapper.is-document>.app-main>.application-page{width:min(820px,100%);margin-inline:auto}
.iz-product .application-page>header>p{max-width:60ch}
@media(max-width:720px){
  /* Legal text on a phone sat 43px in from each edge (65px for a list) —
     about 36 characters to the line. */
  .iz-product .legal-page{padding:20px 8px}
  .iz-product .legal-body{padding:24px 16px 32px}
  .iz-product .legal-body :is(p,li){font-size:15px}
  .iz-product .legal-body ul{padding-left:20px}
}

/* ---- 6a. ONE FAMILY OF NEUTRAL ------------------------------------- *
 * TOKEN-LEVEL. The brand's greys are navy-tinted (--ink #173b4d, --mute
 * #5f6e77); --gray-300/400/600/700 were Tailwind's (#D1D5DB, #9CA3AF,
 * #4B5563, #374151) — a different palette. Legal body copy, 70% of those
 * pages' words, was #374151 under a heading in #173b4d. Same lightness, the
 * brand's hue: 9.37 and 6.64 on white where the old pair gave 10.31 and 7.56.
 * The night values are the ones globals.css already defines, restated here
 * because this selector outranks `[data-theme='dark']` and would otherwise
 * carry the day's greys into the night.
 * ------------------------------------------------------------------ */
html:has(body.iz-product){--gray-300:#cdd7dd;--gray-400:#8b9aa4;--gray-600:#47606d;--gray-700:#2f4a58}
html[data-theme='dark']:has(body.iz-product){--gray-300:#3a4a58;--gray-400:#7b8a99;--gray-600:#b4c0cc;--gray-700:#d2dae2}
/* --gray-400 is a DECORATIVE grey (2.89). Where it was being read as words —
   a placeholder, an empty cell's note — those words take --mute. */
.iz-product :is(.form-input,.ad-input,.ad-cell-input)::placeholder{color:var(--mute);opacity:.85}
.iz-product :is(.ap-empty,.row-dev.none,.swatch-none){color:var(--mute)}

/* ---- 9. MOTION ------------------------------------------------------ *
 * The healthiest system on the site: hovers are 180–200ms throughout,
 * though written 36 ways. Named here so the next rule has something to
 * reach for.
 * ------------------------------------------------------------------ */
html:has(body.iz-product){--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--ease-out:cubic-bezier(.2,.7,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1)}
/* THE NAME HANDS OVER; IT DOES NOT CROSS-FADE. Both words animated across
   42%→49% of the 12s loop, so for 0.84s, twice a loop, "Indori Zameen" and
   "इंदौरी ज़मीन" were drawn on top of each other at half opacity — the one
   thing the brand guidelines (§9) say must never happen. Out, then in: at no
   instant are both above zero. A later @keyframes of the same name wins. */
@keyframes iz-name-en{0%,42%{opacity:1;visibility:visible;transform:translateY(0)}46%,96%{opacity:0;visibility:hidden;transform:translateY(-3px)}100%{opacity:1;visibility:visible;transform:translateY(0)}}
@keyframes iz-name-hi{0%,46%{opacity:0;visibility:hidden;transform:translateY(3px)}50%,92%{opacity:1;visibility:visible;transform:translateY(0)}96%,100%{opacity:0;visibility:hidden;transform:translateY(3px)}}
/* A button answers the press, not only the hover. */
@media(prefers-reduced-motion:no-preference){
  .iz-product :is(.btn,.ad-btn,.cp-btn,.bp-btn,.hp-button,.um-signin):active:not(:disabled){transform:scale(.98);transition:transform var(--dur-1) var(--ease-out)}
}

/* ---- 7. RADIUS, SPACING, CONTROL HEIGHT ----------------------------- *
 * TOKEN-LEVEL. Rendered in the working sections on 19 Sep 2026: corners of
 * 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 22 and 24px, and buttons 38, 39, 40
 * and 41px tall. Nobody can see one pixel of radius — which is the point: it
 * proves these were accidents, not a scale. The accidents in THIS sheet were
 * snapped in place the same day (7, 9 → 8 · 11, 13 → 12 · 15, 17 → 16 ·
 * 22, 23 → 24; forty-seven declarations, none moving more than 2px). The
 * VISIBLE remaps — 14 → 12, 18 and 20 → 16, 26/28 → 24 — are a design change
 * and are left for a preview; they are what these names are for.
 *   --r-1 chips, small controls · --r-2 inputs, buttons, rows
 *   --r-3 cards, tiles, menus   · --r-4 boxes, sheets, dialogs
 *   Marketing calls-to-action are pills; tool buttons are --r-2.
 * ------------------------------------------------------------------ */
html:has(body.iz-product){
  --r-1:8px;--r-2:12px;--r-3:16px;--r-4:24px;--r-full:999px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
  --space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
  --ctl-sm:32px;--ctl-md:40px;--ctl-lg:48px;
}
/* THREE CONTROL HEIGHTS. A button and the field beside it share one. */
.iz-product :is(.ad-btn,.cp-btn){min-height:var(--ctl-md)}
.iz-product :is(.ad-input,.ad-inline-select,.ad-select select,.ad-search input){min-height:var(--ctl-md)}
.iz-product .iz-header-account .um-signin{min-height:var(--ctl-md)}
@media(min-width:721px){
  /* In a table row the dense size, so a row of actions stays a row. */
  .iz-product .ad-table td :is(.ad-btn,.ad-inline-select,.ad-cell-input){min-height:var(--ctl-sm)}
  .iz-product .ad-table td.ed-row-actions .ad-btn{min-height:var(--ctl-sm)}
  /* A floor alone left these at 38px: 9px of padding round a 20px line. The
     dense tier is a height, so the padding goes with it. */
  .iz-product .ad-table td .ad-btn{padding-block:5px}
  .iz-product .vm-table .vp-seg button{min-height:var(--ctl-sm)}
}
.iz-product .theme-toggle-compact{width:var(--ctl-md);height:var(--ctl-md)}
.iz-product .ad-chip{min-height:var(--ctl-md)}

/* ---- 8. COMPOSITION ------------------------------------------------- *
 * The brand rule is fluid boxes with no maximum width, and it stays — it is
 * the site's signature. But a fluid box has to be FILLED or it reads as
 * empty. Measured at 1440px on the live colony page: a 680px solid-umber
 * slab whose whole content was the digit "4" (two tiles sharing 1,370px
 * through `auto-fit` + `1fr`), and a questions box holding a 600px column in
 * 1,370. These reach the Pages Functions' pages because this sheet loads
 * after their own; above the phone only, so nothing below 720px moves.
 * ------------------------------------------------------------------ */
@media(min-width:721px){
  /* A tile is as wide as a figure needs, not as wide as the page allows. */
  .iz-product .cp-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,260px));justify-content:start}
}
@media(min-width:1100px){
  /* Four questions fill their box two by two; a question never parts from
     its answer. */
  .iz-product .cp-faq dl{columns:2;column-gap:72px}
  .iz-product .cp-faq dt{break-after:avoid;break-inside:avoid}
  .iz-product .cp-faq dd{break-inside:avoid;break-before:avoid}
}
/* The first question starts at the top of its box. The page's own sheet says
   so (`dt:first-child`), and line 253 of this one — same weight, loaded later —
   quietly took it back: in two columns that left the tops 17px apart. */
.iz-product .cp-faq dl>dt:first-child{margin-top:0}

/* ---- 10. THE MAP BETWEEN A PHONE AND A DESKTOP ---------------------- *
 * The pinned register (above, "the list owns layout space") is a column of
 * clamp(230px,25cqw,330px). Under ~1,050px of page that column is narrower
 * than its own three tabs — measured at 768px: tabs needing 68 + 90 + 57px
 * given 59 + 74 + 51, so "Colonies 1,259" printed over both neighbours — and
 * with a record open the map kept 108px beside its card, because the rule
 * that once stood the control rows down in this band (`globals.css`,
 * `.mapbox.has-card .mx-overlay`) is outranked by the pinned register's own
 * `display:flex`. Sized by the register's CONTAINER, not the window, so the
 * workspace maps (a narrower pane in the same window) follow the same rule.
 * ------------------------------------------------------------------ */
@container iz-register-layout (min-width:721px) and (max-width:1100px){
  /* The lit tab keeps its count (Archit, 2 Sep 2026: never clipped); the two
     at rest give theirs up — the heading above the list already prints it. */
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 button{padding-inline:5px}
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 button:not(.on) b{display:none}
}
@container iz-register-layout (min-width:721px) and (max-width:940px){
  /* At the column's 230px floor even the lit tab's count does not fit
     (measured: 192px of words for 185). Rather than clip it, it goes — the
     same figure is the heading 80px above, "Colonies 1,259". */
  .iz-product .map-register-pinned > .sidebar.is-pinned .tabs3 button b{display:none}
  /* A record is open: the list steps aside and the map takes its column, so
     the card, the controls and the plan bar have the room they have at
     1,024px. Closing the card brings the list back. Taken out of flow and
     hidden rather than `display:none`, which would forget how far the list
     had been scrolled. */
  .iz-product .map-page-wrapper > .frame.map-register-pinned:has(> .mapbox.has-card){grid-template-columns:minmax(0,1fr)}
  .iz-product .map-page-wrapper > .map-register-pinned:has(> .mapbox.has-card) > .sidebar.is-pinned{
    position:absolute;inset:0 auto 0 0;width:230px;height:auto;visibility:hidden;pointer-events:none;
  }
  .iz-product .map-page-wrapper > .map-register-pinned:has(> .mapbox.has-card) > .mapbox{grid-column:1}
}
@media(min-height:501px){
  @container iz-register-layout (max-width:720px){
    /* Stacked over the map (a workspace's pane at tablet width) the register
       had a 224px box: its own head, then one and a half rows. Three rows. */
    .iz-product .map-page-wrapper > .frame.map-register-pinned{grid-template-rows:clamp(156px,32dvh,340px) minmax(0,1fr)}
  }
}

/* ---- 11. ONE WAY TO SAY WHICH VIEW IS ON (Archit, 20 Sep 2026) ------- *
 * "Selected" wore three looks, and one map screen showed all three at once,
 * each of them labelled "Colonies": solid umber (the list's tabs), blue wash
 * (the map's Villages/Colonies segment) and solid blue (Satellite/Places).
 * Proposed in the audit of 19 Sep and approved the next day: every control
 * that SWITCHES A VIEW takes the one quiet treatment the header, the workspace
 * nav, the map segment and the filter chips already wear - wash ground, blue
 * words - and the umber is left for STATE alone: a switch that is on, a layer
 * that is lit, the selected row, verified and registered.
 *
 * This reverses two earlier calls on purpose. "Active list tab" was a job the
 * umber was given by name on 19 Sep; and on 18 Sep the base-map switch kept its
 * solid fill (the note at the top of this file) - what that fix was really
 * about was its label being painted in its own ground, contrast 1.00, which
 * blue on the wash cannot do: 6.17 by day, 6.30 by night.
 *
 * The list's tabs and the colony editor's sat on a --tile track, where the wash is 1.03 against its
 * ground and did not read as a shape (seen in the first picture of the editor's
 * tabs); they take the segment's own track -
 * the surface behind a hairline - so the two controls are one component.
 * The :is() list carries the weight of its heaviest member (0,4,1), which is
 * what lets one rule outrank `.seg.terra button.on` above.
 * ------------------------------------------------------------------ */
.iz-product :is(.tabs3,.qe-tabs){background:var(--white);border:1px solid var(--line)}
/* A tab's count was dimmed with `opacity:.7`, which no contrast check reads:
   2.9 at rest and 3.9 on the old umber - and it would have been 3.2 on the
   wash. Full strength (5.3 at rest, 6.17 lit); it stays the quieter of the
   two by its size and its weight. */
.iz-product .tabs3 button b{opacity:1;font-weight:600}
.iz-product :is(.tabs3 button.on,.seg.terra button.on,.seg.terra label.on,.ad-tab.on,.qe-tab.active,.nav-drawer-link.active){
  background:var(--iz-wash);color:var(--blue);box-shadow:none;
}
/* The blog's category chips are bordered pills on the page itself, so the lit
   one keeps a border - the filter chip's own (`.ad-chip.on`). */
.iz-product .bp-tabs a.on{background:var(--iz-wash);color:var(--blue);border-color:color-mix(in srgb,var(--blue) 25%,var(--line));box-shadow:none}

/* ---- 12. FOUND ON THE DEPLOYED 2.81 (20 Sep 2026) ------------------- *
 * The live sweep measured the master plan portal's free-look bar - which only
 * a signed-OUT visitor ever sees, so the review harness never draws it - and
 * its "Sign in" button was 67x36px on a phone, under the 40px floor. It was
 * the same in 2.80; the audit's first list missed it. A <button>, so
 * `min-height` holds (the inline-link trap in CLAUDE.md section 10 does not
 * apply); centred so the taller box keeps its words in the middle.
 * ------------------------------------------------------------------ */
@media(max-width:720px){
  .iz-product .mg-freelook-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
}
