:root{
    --primary:#00488d;
    --primary-strong:#005fb8;
    --primary-soft:#d6e4f8;
    --secondary-soft:#d3e1f5;
    --tertiary:#005412;
    --tertiary-soft:#a3f69c;
    --surface:#f7f9fb;
    --surface-low:#f2f4f6;
    --surface-card:#ffffff;
    --surface-high:#e6e8ea;
    --outline:#c2c6d4;
    --text:#191c1e;
    --muted:#5e6572;
    --shadow:0 12px 40px rgba(25,28,30,.06);
    --shadow-soft:0 24px 60px rgba(25,28,30,.08);
    --font-heading:"Manrope",sans-serif;
    --font-body:"Manrope",sans-serif;
    --font-label:"Inter",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--text);font-family:var(--font-body);line-height:1.6}
a{color:var(--primary);text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}

.shell-container,.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.app-shell{background:radial-gradient(circle at top left, rgba(0,95,184,.08), transparent 28%),radial-gradient(circle at right 18%, rgba(0,72,141,.06), transparent 24%),var(--surface)}
.site-main{min-height:calc(100vh - 220px);padding-top:110px}

.topbar{position:fixed;inset:0 0 auto;z-index:50;background:rgba(247,249,251,.8);backdrop-filter:blur(12px);box-shadow:0 6px 24px rgba(25,28,30,.05)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.brandmark{display:inline-flex;align-items:center;gap:12px;color:var(--text)}
.brandmark-badge{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-strong));display:grid;place-items:center;box-shadow:var(--shadow)}
.brandmark-badge img{width:22px;height:22px;object-fit:contain}
.brandmark-copy{display:grid;gap:2px}
.brandmark-copy strong{font-family:var(--font-heading);font-size:1.08rem;letter-spacing:-.02em}
.brandmark-copy small{color:var(--muted);font-family:var(--font-label);font-size:.76rem;letter-spacing:.02em}
.topnav{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.nav-inline-form{display:inline-flex;margin:0}
.nav-link{color:#4d5663;font-family:var(--font-label);font-size:.9rem;font-weight:600;transition:color .2s ease}
.nav-link:hover{color:var(--primary)}

.flash-stack{display:grid;gap:12px;margin-top:100px;margin-bottom:-72px;position:relative;z-index:40}
.flash-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;box-shadow:var(--shadow);font-weight:700}
.flash-success{background:#e7f8ef;color:#175b34}
.flash-error{background:#ffdad6;color:#7f2020}

.section-block{padding:32px 0 56px}
.section-soft{background:var(--surface-low);padding:72px 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px}
.section-heading h2,.section-heading h3{margin:0;font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.05;letter-spacing:-.03em}
.section-heading p{margin:8px 0 0;max-width:640px;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:var(--secondary-soft);color:#425162;border-radius:999px;font-family:var(--font-label);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.editorial-hero{position:relative;overflow:hidden;padding:40px 0 84px}
.editorial-hero:before,.editorial-hero:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.08);pointer-events:none}
.editorial-hero:before{width:420px;height:420px;top:-120px;left:-140px}
.editorial-hero:after{width:320px;height:320px;right:-80px;bottom:-120px}
.hero-surface{position:relative;overflow:hidden;border-radius:36px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#fff;box-shadow:var(--shadow-soft)}
.hero-surface:before{content:"";position:absolute;inset:auto -120px -90px auto;width:340px;height:340px;border-radius:999px;background:rgba(255,255,255,.08)}
.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:36px;align-items:center;padding:64px}
.hero-copy h1{margin:18px 0 18px;font-family:var(--font-heading);font-size:clamp(2.4rem,6vw,4.6rem);line-height:.98;letter-spacing:-.04em}
.hero-copy p{margin:0;max-width:640px;color:rgba(255,255,255,.8);font-size:1.04rem}
.hero-inline-actions,.form-actions,.card-actions,.hero-actions,.claim-banner-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-inline-actions{margin-top:22px}
.hero-trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.hero-trust-card{min-width:0}
.hero-trust-card strong{display:block;font-size:1.6rem;letter-spacing:-.03em}
.hero-trust-card span{color:rgba(255,255,255,.78);font-size:.92rem}

.editorial-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:32px;padding:14px;border-radius:999px;background:#fff;box-shadow:var(--shadow)}
.search-input-wrap{display:flex;align-items:center;gap:14px;padding:0 12px}
.search-input-wrap .material-symbols-outlined{color:#808796;font-size:1.35rem}
.editorial-search input{width:100%;border:none;outline:none;background:transparent;color:var(--text)}

.hero-panel{display:grid;gap:18px}
.glass-panel,.surface-card{border-radius:28px;background:rgba(255,255,255,.12);box-shadow:var(--shadow)}
.glass-panel{padding:24px;backdrop-filter:blur(8px)}
.glass-panel h3,.glass-panel p{margin:0}
.glass-panel p{color:rgba(255,255,255,.75)}
.hero-insight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.insight-card{padding:18px;border-radius:22px;background:rgba(255,255,255,.14)}
.insight-card span{display:block;color:rgba(255,255,255,.7);font-size:.9rem}
.insight-card strong{display:block;margin-top:8px;font-size:1.4rem;line-height:1.05}
.preview-card{padding:26px;background:rgba(255,255,255,.96);color:var(--text)}
.preview-card .label-row{margin-bottom:12px}
.preview-card h3{margin:0;font-family:var(--font-heading);font-size:1.55rem;line-height:1.05;letter-spacing:-.03em}
.preview-card p{margin:8px 0 0;color:var(--muted)}
.preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.preview-meta .meta-inline{color:#45505c}

.chip-grid,.feature-grid,.stats-grid,.dashboard-grid,.panel-grid{display:grid;gap:20px}
.chip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.dashboard-grid{grid-template-columns:minmax(0,1fr) 340px}
.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.surface-card{background:var(--surface-card);border:none;padding:26px}
.surface-card.soft{background:var(--surface-low)}
.surface-card.strong{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff}
.surface-card.strong p{color:rgba(255,255,255,.82)}
.surface-card.strong .eyebrow{background:rgba(255,255,255,.16);color:#fff}
.surface-card.strong .check-list li:before{color:rgba(255,255,255,.8)}

.feature-card,.city-card,.metric-card,.stack-card,.table-card,.form-section,.timeline-item,.detail-card,.auth-shell-card,.dashboard-card{background:var(--surface-card);border-radius:24px;box-shadow:var(--shadow)}
.feature-card{padding:28px;transition:transform .22s ease,box-shadow .22s ease}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(25,28,30,.08)}
.icon-pill{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--primary-soft);color:var(--primary);margin-bottom:16px}
.feature-card h3,.city-card h3,.directory-body h3,.dashboard-card h3,.auth-shell-card h1,.table-card h2,.detail-card h2,.form-section h2,.surface-card h3,.contact-card h3,.profile-map-card h3,.benefit-card h3{margin:0;font-family:var(--font-heading);letter-spacing:-.03em}
.feature-card p,.city-card p,.stack-card p,.metric-card p,.directory-summary,.table-card p,.detail-card p,.form-intro{color:var(--muted)}

.bento-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.spotlight-card{position:relative;overflow:hidden;min-height:360px;padding:32px;background:linear-gradient(160deg,#ffffff 0%,#eef3f8 100%)}
.spotlight-card:before{content:"";position:absolute;inset:0 auto 0 0;width:48%;background-size:cover;background-position:center;background-image:var(--spotlight-image);opacity:.9}
.spotlight-content{position:relative;z-index:1;margin-left:auto;max-width:48%}
.spotlight-content h3{margin:14px 0 12px;font-family:var(--font-heading);font-size:2.2rem;line-height:1;letter-spacing:-.04em}
.spotlight-content p{margin:0;color:#495462}
.stack-grid{display:grid;gap:20px}
.stack-card{padding:28px}

.claim-banner{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:center;padding:32px;border-radius:30px;background:var(--primary-soft)}
.claim-banner h2{margin:0;font-family:var(--font-heading);font-size:clamp(1.9rem,4vw,3rem);line-height:1.02;letter-spacing:-.04em}
.claim-banner p{margin:14px 0 0;color:#465362;max-width:680px}
.tilted-preview{padding:22px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);transform:rotate(3deg)}
.tilted-preview .meta-inline{color:#445261}

.page-search-hybrid .shell-container{width:min(1280px,calc(100% - 32px))}
.directory-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:20px;align-items:start}
.directory-layout > *{min-width:0}
.directory-sidebar,.profile-sidebar,.content-stack,.sidebar-stack{display:grid;gap:18px}
.summary-panel{padding:22px;border-radius:24px;background:var(--surface-low)}
.summary-panel h3{margin:0 0 16px;font-family:var(--font-heading);font-size:.92rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#656f7b}
.summary-panel .summary-list{display:grid;gap:10px}
.summary-link{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--text);font-size:.95rem}
.summary-link span{min-width:0;overflow-wrap:anywhere}
.summary-link small{color:var(--muted)}
.summary-link:hover{color:var(--primary)}
.directory-results{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.directory-card{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;width:100%;max-width:100%;padding:22px;border-radius:24px;background:var(--surface-card);box-shadow:var(--shadow)}
.directory-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:24px 0 0 24px;background:transparent}
.directory-card.is-verified:before{background:var(--tertiary)}
.directory-card.is-imported{background:var(--surface-low)}
.directory-card.is-imported:before{background:#8a96a6}
.directory-card.is-claimed:before{background:var(--primary)}
.directory-media{border-radius:18px;overflow:hidden;min-height:210px;background:linear-gradient(135deg,#eff2f5,#dde3e8)}
.directory-media img{width:100%;height:100%;object-fit:cover}
.directory-placeholder{width:100%;height:100%;min-height:210px;display:grid;place-items:center;font-family:var(--font-heading);font-size:2.6rem;font-weight:800;color:#96a0ac}
.directory-body{display:grid;gap:14px;align-content:start}
.directory-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}
.directory-header > div:first-child,.directory-body,.directory-footer,.card-actions,.meta-inline{min-width:0}
.directory-body h3{font-size:clamp(1.6rem,2vw,2rem);line-height:.98}
.directory-body h3 a{display:block;color:var(--text);overflow-wrap:anywhere;word-break:break-word}
.directory-subtitle{margin:2px 0 0;color:var(--primary);font-weight:700;overflow-wrap:anywhere;word-break:break-word}
.directory-summary{margin:0;overflow-wrap:anywhere}
.directory-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto}
.pagination-bar{display:grid;gap:14px;justify-items:center;margin-top:8px;padding:18px;border-radius:22px;background:var(--surface-low)}
.pagination-summary{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--muted);font-size:.95rem;text-align:center}
.pagination-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:44px;padding:0 16px;border-radius:14px;background:var(--surface-card);box-shadow:var(--shadow);color:var(--text);font-family:var(--font-label);font-size:.92rem;font-weight:700}
.pagination-link.is-active{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff}

.results-map{position:sticky;top:110px;min-height:640px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,0)),linear-gradient(180deg,#b7bcc2 0%,#9ea4aa 100%);border-radius:28px;box-shadow:var(--shadow)}
.results-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),radial-gradient(circle at 20% 30%, rgba(255,255,255,.28), transparent 26%),radial-gradient(circle at 75% 65%, rgba(255,255,255,.16), transparent 22%);background-size:44px 44px,44px 44px,100% 100%,100% 100%;opacity:.7}
.map-pin{position:absolute;z-index:1;display:grid;gap:4px;justify-items:center;max-width:calc(100% - 28px)}
.map-tag{display:inline-flex;align-items:center;gap:6px;max-width:180px;padding:8px 12px;border-radius:999px;background:#fff;color:var(--text);box-shadow:0 10px 22px rgba(25,28,30,.12);font-family:var(--font-label);font-size:.72rem;font-weight:700;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.map-tag.is-primary{background:var(--primary);color:#fff}
.map-tag.is-tertiary{background:var(--tertiary);color:#fff}
.map-tag.is-muted{background:#5d6672;color:#fff}
.map-pin-line{width:2px;height:18px;background:currentColor;opacity:.6}

.search-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:end;width:100%;margin-bottom:28px}
.search-hero h1,.profile-identity-card h1,.claim-hero h1,.page-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,4rem);line-height:.98;letter-spacing:-.04em}
.search-hero p,.claim-hero p,.page-subtitle{margin:12px 0 0;color:var(--muted);max-width:760px}
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;color:#78818f;font-family:var(--font-label);font-size:.78rem}

.profile-shell{display:grid;gap:26px}
.claim-alert{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:24px;background:var(--primary-soft);box-shadow:var(--shadow)}
.claim-alert-copy{display:flex;align-items:flex-start;gap:14px}
.claim-alert-copy p{margin:0;color:#465362}
.location-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:18px 22px;border-radius:22px;background:var(--primary-soft);box-shadow:var(--shadow)}
.location-banner.is-soft{background:var(--surface-low)}
.location-banner strong{display:block;font-family:var(--font-heading);font-size:1.05rem;letter-spacing:-.02em}
.location-banner p{margin:4px 0 0;color:#4e5b68}
.location-banner-actions{display:flex;flex-wrap:wrap;gap:10px}
.location-banner-home{margin-top:18px;margin-bottom:0;background:rgba(255,255,255,.12);color:#fff}
.location-banner-home p{color:rgba(255,255,255,.82)}
.location-banner-home .btn-outline{background:rgba(255,255,255,.92)}
.location-feedback{margin-top:14px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.16);font-weight:700}
.location-feedback.is-error{background:#ffdad6;color:#7f2020}
.location-feedback.is-success{background:#e7f8ef;color:#175b34}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.profile-identity-card{padding:32px;border-radius:28px;background:var(--surface-card);box-shadow:var(--shadow)}
.profile-identity-card h1{margin-top:8px}
.profile-identity-meta{display:grid;gap:14px;margin-top:28px}
.profile-detail-card,.profile-map-card,.contact-card{padding:24px;border-radius:24px;background:var(--surface-card);box-shadow:var(--shadow)}
.profile-placeholder{display:grid;place-items:center;min-height:280px;text-align:center;background:var(--surface-low)}
.profile-placeholder .material-symbols-outlined{font-size:3rem;color:#a0a8b4}
.profile-placeholder h3{margin:16px 0 8px;font-family:var(--font-heading);font-size:2rem}
.profile-map-canvas{position:relative;min-height:240px;overflow:hidden;border-radius:22px;background:radial-gradient(circle at center, rgba(255,255,255,.12), transparent 44%),linear-gradient(135deg,#acb2b7 0%,#939aa0 100%)}
.profile-map-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px);background-size:34px 34px;opacity:.55}
.map-focus{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;box-shadow:0 16px 30px rgba(0,72,141,.26)}
.profile-tags{display:flex;flex-wrap:wrap;gap:10px}
.profile-tags span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:var(--surface-low);color:#56606c}

.check-list,.feature-list,.timeline{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.check-list li,.feature-list li{position:relative;padding-left:28px}
.check-list li:before,.feature-list li:before{content:"check";position:absolute;left:0;top:-1px;font-family:"Material Symbols Outlined";font-size:1rem;color:var(--primary)}
.timeline-item{padding:20px}
.timeline-item strong{display:block}

.auth-shell,.claim-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.claim-hero{text-align:center;margin-bottom:34px}
.benefit-stack{display:grid;gap:18px}
.benefit-card{display:flex;align-items:flex-start;gap:16px;padding:22px;border-radius:24px;background:var(--surface-low)}
.benefit-card .icon-pill{margin-bottom:0;flex-shrink:0}
.quote-card{padding:20px;border-radius:20px;background:var(--primary-soft);font-style:italic;color:#405060}
.auth-shell-card,.table-card,.detail-card,.dashboard-card,.form-section{padding:28px}
.auth-shell-card h1{font-size:2.5rem;line-height:1}
.auth-shell-card form,.claim-form,.profile-form{display:grid;gap:16px}
.form-section > * + *{margin-top:18px}
.field-grid-2,.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field-grid-3,.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.field-grid-4,.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

label{display:block;margin-bottom:8px;color:#4d5864;font-family:var(--font-label);font-size:.85rem;font-weight:700}
input[type="text"],input[type="email"],input[type="password"],input[type="file"],input[type="tel"],select,textarea{width:100%;padding:14px 16px;border:none;border-radius:16px;background:var(--surface-low);color:var(--text);outline:none;box-shadow:inset 0 0 0 1px rgba(194,198,212,.12);transition:box-shadow .2s ease,background .2s ease}
input:focus,select:focus,textarea:focus{box-shadow:inset 0 0 0 2px rgba(0,72,141,.35);background:#fff}
textarea{resize:vertical;min-height:120px}
.field-help{margin:8px 0 0;color:#697381;font-size:.88rem}
.checkbox{display:flex;align-items:center;gap:10px;min-height:54px;margin:0;padding:0 16px;border-radius:16px;background:var(--surface-low);color:#4d5864}
.checkbox input{width:auto;margin:0}
.toggle-card{display:flex;align-items:center;gap:10px;min-height:58px;margin:0;padding:0 18px;border-radius:16px;background:var(--surface-low);color:#4d5864;font-family:var(--font-label);font-size:.92rem;font-weight:700}
.toggle-card input{width:auto;margin:0}

.upload-card{padding:18px;border-radius:22px;background:var(--surface-low)}
.upload-grid{align-items:start}
.upload-preview{width:100%;max-width:240px;height:170px;margin-top:12px;border-radius:18px;object-fit:cover;background:#dfe5ea}
.upload-preview.cover{max-width:none;height:240px}

.form-page{display:grid;gap:22px}
.form-intro-card{display:grid;gap:10px;padding:28px;border-radius:28px;background:var(--surface-card);box-shadow:var(--shadow)}
.form-intro-card h1{margin:0}
.form-section h2{font-size:1.2rem;margin-bottom:8px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border:none;border-radius:16px;font-family:var(--font-label);font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,opacity .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 16px 32px rgba(0,72,141,.18)}
.btn-secondary{background:var(--secondary-soft);color:#345273}
.btn-outline{background:rgba(255,255,255,.88);color:var(--primary);box-shadow:inset 0 0 0 1px rgba(194,198,212,.3)}
.btn-muted{background:var(--surface-low);color:#495462}
.btn-ghost{background:transparent;color:var(--primary);box-shadow:none}
.btn-pill{border-radius:999px}
.btn-compact{min-height:40px;padding:0 16px;font-size:.88rem}
.btn.full{width:100%}
.link-inline{display:inline-flex;align-items:center;color:var(--primary);font-family:var(--font-label);font-size:.92rem;font-weight:700;text-decoration:none}
.link-inline:hover{text-decoration:underline}

.label-row,.card-top-row,.badge-row,.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.type-pill,.badge,.micro-pill,.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-family:var(--font-label);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.type-pill,.micro-pill{background:var(--surface-high);color:#55606c}
.chip{background:var(--surface-low);color:#55606c}
.badge.success{background:rgba(163,246,156,.4);color:var(--tertiary)}
.badge.warning{background:#fff0cc;color:#8a5d00}
.badge.muted{background:var(--secondary-soft);color:#425162}
.badge.info{background:var(--primary-soft);color:var(--primary)}
.badge.danger{background:#ffdad6;color:#8b2020}
.meta-inline{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}
.meta-inline .material-symbols-outlined{font-size:1rem;color:#7a8390}

.dashboard-sidebar{display:grid;gap:18px}
.metric-card{padding:24px}
.metric-card strong{display:block;font-family:var(--font-heading);font-size:2.4rem;line-height:1;letter-spacing:-.04em}
.metric-card span{display:block;margin-top:8px;color:#5a6470}
.profile-management-list{display:grid;gap:18px}
.dashboard-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:20px}
.dashboard-thumb{width:124px;height:124px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#eef2f6,#dde3e8)}
.dashboard-thumb img{width:100%;height:100%;object-fit:cover}
.dashboard-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#98a2ae;font-family:var(--font-heading);font-size:1.6rem;font-weight:800}
.progress-row{margin:10px 0 0;color:#4d5864;font-weight:700}
.progress-track{margin-top:10px;height:10px;border-radius:999px;background:var(--surface-low);overflow:hidden}
.progress-bar{height:100%;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-strong))}

.table-card h2,.detail-card h2{margin-bottom:6px;font-size:1.55rem}
.table-card p,.detail-card p{margin-top:0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:separate;border-spacing:0 12px}
th{padding:0 14px 8px;text-align:left;color:#6a7480;font-family:var(--font-label);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
td{padding:16px 14px;background:var(--surface-low);vertical-align:top}
tr td:first-child{border-radius:18px 0 0 18px}
tr td:last-child{border-radius:0 18px 18px 0}

.empty-state{padding:34px;text-align:center;border-radius:24px;background:var(--surface-low);color:var(--muted)}
.site-footer{margin-top:72px;padding:44px 0 24px;background:#eef2f6}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) .7fr .9fr;gap:22px;align-items:start}
.footer-brand p,.footer-column p{color:#62707f}
.footer-brandmark{margin-bottom:16px}
.footer-column{display:grid;gap:10px}
.footer-column h4{margin:0 0 4px;font-family:var(--font-heading);font-size:1rem}
.footer-bottom{margin-top:22px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#75808d;font-size:.9rem}

.sticky-card{position:sticky;top:110px}
.top-space{margin-top:20px}
.tight{margin-bottom:12px}
.small{font-size:.84rem}
.muted{color:var(--muted)}

@media (max-width:1100px){
    .hero-layout,.profile-grid,.auth-shell,.claim-layout,.search-hero,.bento-grid,.dashboard-grid,.footer-grid{grid-template-columns:1fr}
    .directory-layout{display:flex;flex-direction:column;gap:18px}
    .directory-results,.directory-sidebar,.results-map{width:100%;max-width:100%}
    .directory-results{order:1;display:grid;grid-template-columns:minmax(0,1fr)}
    .directory-results > *{width:100%;max-width:100%}
    .directory-sidebar{order:2;grid-template-columns:repeat(2,minmax(0,1fr))}
    .results-map{display:none}
    .sticky-card{position:relative;top:auto}
    .claim-banner{grid-template-columns:1fr}
    .page-search-hybrid .shell-container{width:min(1180px,calc(100% - 32px))}
    .summary-panel{height:100%}
    .location-banner{flex-direction:column;align-items:flex-start}
}

@media (max-width:1260px){
    .directory-layout{grid-template-columns:220px minmax(0,1fr) 260px}
    .directory-card{grid-template-columns:156px minmax(0,1fr)}
    .directory-header{grid-template-columns:1fr}
    .map-tag{max-width:150px}
}

@media (max-width:860px){
    .chip-grid,.feature-grid,.stats-grid,.field-grid-4,.grid-4,.field-grid-3,.grid-3,.panel-grid,.option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .directory-card,.dashboard-card{grid-template-columns:1fr}
    .directory-card{display:flex;flex-direction:column;padding:20px}
    .directory-media{min-height:220px;max-height:220px}
    .directory-header{grid-template-columns:1fr;gap:10px}
    .directory-body h3{font-size:1.75rem}
    .directory-sidebar{grid-template-columns:1fr}
    .dashboard-thumb{width:100%;height:220px}
    .spotlight-card:before{opacity:.18;width:100%}
    .spotlight-content{max-width:none}
}

@media (max-width:640px){
    .site-main{padding-top:120px}
    .shell-container,.container,.page-search-hybrid .shell-container{width:min(100% - 16px,1180px)}
    .hero-layout,.hero-surface,.claim-banner,.table-card,.auth-shell-card,.detail-card,.form-section,.surface-card,.feature-card,.stack-card,.metric-card,.profile-identity-card,.profile-detail-card,.profile-map-card,.contact-card{border-radius:22px}
    .hero-layout{padding:30px 22px}
    .editorial-search{grid-template-columns:1fr;width:100%;border-radius:24px}
    .feature-grid,.chip-grid,.stats-grid,.field-grid-2,.grid-2,.field-grid-3,.grid-3,.field-grid-4,.grid-4,.panel-grid,.option-grid,.hero-trust-row{grid-template-columns:1fr}
    .claim-alert,.directory-footer,.footer-bottom,.topbar-inner{flex-direction:column;align-items:flex-start}
    .topnav{justify-content:flex-start}
    .hero-trust-row{gap:14px}
    .preview-meta{flex-direction:column;align-items:flex-start}
    .search-hero{margin-bottom:22px}
    .search-hero{gap:18px}
    .directory-layout{gap:16px}
    .directory-sidebar{gap:14px}
    .location-banner{padding:16px 18px;border-radius:18px}
    .location-banner-actions{width:100%}
    .location-banner-actions .btn{flex:1 1 100%;width:100%}
    .search-input-wrap{min-width:0;padding:0 8px}
    .summary-panel{padding:18px 16px;border-radius:20px}
    .summary-panel h3{margin-bottom:12px;font-size:.86rem}
    .summary-panel .summary-list{gap:8px}
    .directory-card{padding:18px;border-radius:20px;gap:16px}
    .directory-media{min-height:190px;max-height:190px;border-radius:16px}
    .directory-placeholder{min-height:190px}
    .directory-body{gap:12px}
    .directory-body h3{font-size:1.55rem;line-height:1}
    .directory-subtitle{font-size:1rem}
    .directory-summary{font-size:.98rem}
    .directory-footer{gap:12px}
    .directory-footer .meta-inline{width:100%}
    .card-actions{width:100%}
    .card-actions .btn{flex:1 1 100%;width:100%}
    .pagination-bar{padding:16px;border-radius:18px}
    .pagination-list{gap:8px}
    .pagination-link{min-width:42px;min-height:42px;padding:0 14px}
}
