/*
Theme Name: OroRadar
Author: Project team
Description: Warm editorial directory for the Italian cash-for-gold market.
Version: 0.12.9
Requires at least: 7.0
Requires PHP: 8.1
Text Domain: comprooro
*/

:root {
	--night: #0d1014;
	--night-soft: #14181d;
	--panel: #1a1e24;
	--panel-raised: #22272e;
	--ivory: #f7f3e9;
	--paper: #e9e4d8;
	--muted: #b2afa7;
	--muted-dark: #85837d;
	--gold: #d7b45b;
	--gold-light: #f0d58d;
	--gold-deep: #a68131;
	--line: rgba(247, 243, 233, .15);
	--line-gold: rgba(215, 180, 91, .34);
	--danger: #d59775;
	--radius: 18px;
	--radius-lg: 30px;
	--shadow: 0 30px 90px rgba(0, 0, 0, .28);
	--wrap: 1240px;
	--display: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
	--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; }
body { margin: 0; color: var(--ivory); background: var(--night); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--gold-light); text-decoration-thickness: .07em; text-underline-offset: .2em; }
a:hover { color: var(--ivory); }
button, input, select, textarea { font: inherit; }
select { color-scheme: dark; }
:focus-visible { outline: 3px solid #1d2324; outline-offset: 3px; box-shadow: 0 0 0 5px var(--gold-light); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; width: auto; height: auto; padding: 10px 14px; clip: auto; z-index: 1000; color: var(--night); background: var(--ivory); }
.skip-link:focus { min-height: 44px; }
.wrap { width: min(calc(100% - 48px), var(--wrap)); margin-inline: auto; }
.narrow { width: min(calc(100% - 48px), 820px); margin-inline: auto; }
.section { padding: 104px 0; }
.section--compact { padding: 70px 0; }
.section--raised { border-block: 1px solid var(--line); background: var(--night-soft); }
.section__head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.section__head h2, .method-grid h2, .final-cta h2, .footer-lead__title { margin: 0; font-family: var(--display); font-size: clamp(2.35rem, 5vw, 4.6rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.section-intro { max-width: 460px; margin: 0; color: var(--muted); }
.section-disclosure { max-width: 680px; margin: 15px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; color: var(--gold); font-size: .72rem; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 1px; background: currentColor; content: ""; }
.lede { max-width: 680px; color: var(--muted); font-size: 1.08rem; }
.text-link { font-size: .88rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(12, 15, 18, .9); backdrop-filter: blur(18px); }
.admin-bar .site-header { top: 32px; }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ivory); text-decoration: none; }
.brand:hover { color: var(--ivory); }
.brand-mark { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
.brand-copy { display: flex; position: relative; min-width: 108px; height: 40px; align-items: center; justify-content: center; }
.brand-word { display: flex; align-items: baseline; font-family: var(--display); font-size: 1.55rem; line-height: .82; letter-spacing: -.045em; }
.brand-word strong { color: var(--gold-light); font-weight: 400; }
.brand-tagline { position: absolute; top: 34px; left: 0; color: #96938b; font-size: .5rem; font-weight: 720; line-height: 1; letter-spacing: .145em; text-transform: uppercase; white-space: nowrap; }
.primary-nav ul { display: flex; align-items: center; gap: 30px; padding: 0; margin: 0; list-style: none; }
.primary-nav a { color: #d9d6cf; font-size: .86rem; font-weight: 650; text-decoration: none; }
.primary-nav a:hover { color: var(--gold-light); }
.nav-cta a { display: inline-flex; padding: 10px 17px; border: 1px solid var(--line-gold); border-radius: 999px; color: var(--gold-light); }
.menu-toggle { display: none; position: relative; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-toggle span[aria-hidden]::before, .menu-toggle span[aria-hidden]::after { position: absolute; left: 12px; width: 18px; height: 1px; background: var(--ivory); content: ""; }
.menu-toggle span[aria-hidden]::before { top: 17px; }
.menu-toggle span[aria-hidden]::after { top: 25px; }
.menu-toggle[aria-expanded="true"] span[aria-hidden]::before { top: 21px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span[aria-hidden]::after { top: 21px; transform: rotate(-45deg); }

.hero { position: relative; min-height: 760px; overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 76% 42%, rgba(182, 143, 57, .18), transparent 29%), linear-gradient(145deg, #15191e 0%, #0d1014 72%); }
.hero::before { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 72px 72px; content: ""; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-glow { position: absolute; top: 18%; right: 12%; width: 340px; height: 340px; border-radius: 50%; background: rgba(215,180,91,.08); filter: blur(80px); }
.hero-grid { display: grid; position: relative; z-index: 2; min-height: 675px; grid-template-columns: minmax(0, 1.15fr) minmax(370px, .85fr); align-items: center; gap: 90px; padding-block: 76px; }
.hero-copy-block { padding-top: 12px; }
.hero h1 { max-width: 800px; margin: 0 0 30px; font-family: var(--display); font-size: clamp(4rem, 8vw, 7.9rem); font-weight: 400; line-height: .83; letter-spacing: -.065em; }
.hero h1 em, .directory-hero h1 em, .location-hero h1 em { color: var(--gold-light); font-style: italic; font-weight: 400; }
.hero-copy { max-width: 650px; margin: 0 0 36px; color: #c4c0b7; font-size: clamp(1.02rem, 1.8vw, 1.2rem); line-height: 1.75; }
.finder { max-width: 700px; }
.finder > label { display: block; margin: 0 0 10px; color: var(--paper); font-size: .78rem; font-weight: 700; }
.finder__controls { display: flex; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.045); box-shadow: 0 18px 60px rgba(0,0,0,.22); }
.finder select { min-width: 0; flex: 1; padding: 12px 15px; border: 0; outline: 0; color: var(--ivory); background: transparent; }
.finder select option { color: var(--ivory); background: var(--panel); }
.finder--compact { margin-top: 28px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 12px 20px; border: 1px solid transparent; border-radius: 10px; color: var(--ivory); background: var(--panel-raised); font-size: .86rem; font-weight: 780; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { color: var(--ivory); border-color: var(--line-gold); transform: translateY(-1px); }
.button--gold { color: #17140d; background: linear-gradient(135deg, var(--gold-light), var(--gold)); }
.button--gold:hover { color: #17140d; background: #f0d58d; }
.button--ghost { border-color: var(--line); background: transparent; }
.button--light { color: var(--night); background: var(--ivory); }
.button--light:hover { color: var(--night); background: white; }
.hero-assurance { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 20px; color: var(--muted); font-size: .75rem; }
.hero-assurance i { display: inline-grid; width: 17px; height: 17px; place-items: center; margin-right: 5px; border: 1px solid var(--line-gold); border-radius: 50%; color: var(--gold); font-style: normal; font-size: .62rem; }
.home-city-picker { max-width: 760px; }
.home-city-picker > p { margin: 0 0 10px; color: var(--paper); font-size: .78rem; font-weight: 700; }
.home-city-picker > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.home-city-picker a { display: grid; min-height: 68px; position: relative; grid-template-columns: minmax(0,1fr) auto; align-content: center; padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; color: var(--ivory); background: rgba(255,255,255,.045); text-decoration: none; transition: transform .18s,border-color .18s,background .18s; }
.home-city-picker a:hover { color: var(--ivory); border-color: var(--line-gold); background: rgba(215,180,91,.08); transform: translateY(-1px); }
.home-city-picker span { overflow: hidden; font-size: .78rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
.home-city-picker small { grid-column: 1; color: var(--muted); font-size: .58rem; }
.home-city-picker i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--gold); font-style: normal; }
.quote-entry-strip { display: inline-flex; width: min(100%,430px); min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 7px 12px; margin-top: 12px; border: 1px solid #d0c5b5; border-radius: 12px; color: #272d2d; background: rgba(255,253,248,.72); box-shadow: 0 9px 26px rgba(61,48,25,.07); text-decoration: none; transition: border-color .18s,background .18s,transform .18s; }
.quote-entry-strip:hover { color: #171c1d; border-color: rgba(154,112,31,.58); background: #fffaf0; transform: translateY(-1px); }
.quote-entry-strip > span { display: grid; min-width: 0; gap: 1px; line-height: 1.05; }
.quote-entry-strip small { color: #77766f; font-size: .52rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.quote-entry-strip strong { overflow: hidden; font-size: .72rem; font-weight: 790; text-overflow: ellipsis; white-space: nowrap; }
.quote-entry-strip > i { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; color: #765511; background: #f1e4c3; font-style: normal; font-size: .72rem; }

.hero-radar { position: relative; width: min(100%, 510px); aspect-ratio: 1; justify-self: end; }
.hero-radar::before { position: absolute; inset: 11%; border: 1px solid rgba(215,180,91,.18); border-radius: 50%; content: ""; }
.radar-orbit { position: absolute; border: 1px solid rgba(247,243,233,.09); border-radius: 50%; }
.radar-orbit--one { inset: 24%; }
.radar-orbit--two { inset: 37%; }
.radar-orbit::after { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 25px var(--gold); content: ""; }
.radar-core { display: flex; position: absolute; inset: 37%; z-index: 2; align-items: center; justify-content: center; flex-direction: column; border: 1px solid var(--line-gold); border-radius: 50%; background: radial-gradient(circle at 35% 28%, #312b1d, #111214 65%); box-shadow: 0 0 70px rgba(215,180,91,.12), inset 0 0 40px rgba(215,180,91,.06); text-align: center; }
.radar-core small { color: var(--muted); font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
.radar-core strong { color: var(--gold-light); font-family: var(--display); font-size: clamp(2.6rem, 5vw, 4.3rem); font-weight: 400; line-height: 1; }
.radar-core span { color: var(--paper); font-size: .68rem; }
.radar-point { display: flex; position: absolute; min-width: 116px; justify-content: space-between; gap: 12px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 999px; background: rgba(19,22,26,.9); box-shadow: var(--shadow); font-size: .72rem; }
.radar-point b { font-weight: 650; }
.radar-point span { color: var(--gold-light); }
.radar-point--rome { top: 22%; left: 2%; }
.radar-point--milan { right: 0; bottom: 24%; }
.radar-point--sicily { bottom: 2%; left: 16%; }

.proof-strip { border-bottom: 1px solid var(--line); background: #13171c; }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-grid > div { padding: 28px 30px; border-left: 1px solid var(--line); }
.proof-grid > div:last-child { border-right: 1px solid var(--line); }
.proof-grid strong { display: block; color: var(--gold-light); font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.proof-grid span { color: var(--muted); font-size: .72rem; }

.city-section { background: linear-gradient(180deg, #101419, #171c21); }
.city-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.city-feature { min-height: 480px; display: flex; position: relative; overflow: hidden; flex-direction: column; padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, #23282f, #181d22); }
.city-feature::after { position: absolute; right: -80px; bottom: -120px; width: 290px; height: 290px; border: 1px solid rgba(247,243,233,.08); border-radius: 50%; content: ""; }
.city-feature--gold { background: linear-gradient(145deg, #312a1a, #171713 64%); border-color: var(--line-gold); }
.city-feature__top { display: flex; justify-content: space-between; color: var(--muted); font-size: .73rem; }
.city-feature__top > span { color: var(--gold); font-family: var(--display); font-size: 1.2rem; }
.city-feature__top p { margin: 0; }
.city-feature h3 { margin: 48px 0 32px; font-family: var(--display); font-size: clamp(3.8rem, 7vw, 6.4rem); font-weight: 400; letter-spacing: -.055em; line-height: .9; }
.city-feature ul { display: grid; gap: 0; padding: 0; margin: auto 0 28px; list-style: none; }
.city-feature li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--line); color: #c8c4bb; font-size: .78rem; }
.city-feature li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.city-feature li b { color: var(--gold-light); font-weight: 650; }
.city-feature > a { display: inline-flex; min-height: 44px; position: relative; z-index: 2; width: fit-content; align-items: center; font-size: .83rem; font-weight: 700; text-decoration: none; }

.directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.listing-card { display: flex; min-height: 330px; position: relative; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, var(--panel-raised), var(--panel)); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.listing-card:hover { border-color: var(--line-gold); box-shadow: 0 22px 65px rgba(0,0,0,.24); transform: translateY(-3px); }
.listing-card__eyeline { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.brand-chip { display: inline-flex; max-width: 62%; overflow: hidden; padding: 5px 9px; border: 1px solid var(--line-gold); border-radius: 999px; color: var(--gold-light); font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.brand-chip--neutral { border-color: var(--line); color: var(--muted); }
.freshness { color: var(--muted-dark); font-size: .63rem; }
.listing-card__top { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 20px; }
.listing-card h2, .listing-card h3 { margin: 0; font-family: var(--display); font-size: clamp(1.65rem, 3vw, 2.15rem); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
.listing-card h2 a, .listing-card h3 a { color: var(--ivory); text-decoration: none; }
.listing-card__profile-cue { display: none; }
.score { display: flex; width: 58px; height: 58px; align-items: baseline; justify-content: center; padding-top: 13px; border: 1px solid var(--line-gold); border-radius: 50%; background: rgba(215,180,91,.06); }
.score span { color: var(--gold-light); font-family: var(--display); font-size: 1.35rem; line-height: 1; }
.score small { color: var(--muted); font-size: .52rem; }
.listing-card__address { display: flex; gap: 8px; min-height: 50px; margin: 19px 0; color: var(--muted); font-size: .77rem; }
.listing-card__address > span { color: var(--gold); }
.listing-card__hours { display: flex; align-items: center; gap: 8px; margin: -5px 0 10px; color: var(--muted); font-size: .8125rem; line-height: 1.4; }
.listing-card__hours i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--muted-dark); }
.listing-card__hours strong { color: var(--paper); font-size: inherit; font-weight: 720; }
.listing-card__hours small { color: var(--muted); font-size: inherit; }
.listing-card__hours span { margin-left: auto; color: var(--muted-dark); font-size: .56rem; text-transform: uppercase; }
.listing-card__hours--open i { background: #71a579; box-shadow: 0 0 0 4px rgba(113,165,121,.12); }
.listing-card__hours--open strong { color: #b8d8bd; }
.listing-card__hours--upcoming i { background: var(--gold); }
.hours-seasonal-note { display: flex; max-width: 58ch; align-items: baseline; gap: 8px; margin: 0; color: #765719; font-size: .8125rem; font-weight: 700; line-height: 1.4; }
.hours-seasonal-note::before { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #c47a19; content: ""; }
.hours-seasonal-note--card { margin: 0 0 10px; }
.listing-card__signals { display: flex; align-items: center; gap: 8px 14px; margin-top: auto; font-size: .8125rem; line-height: 1.4; }
.rating { display: inline-flex; align-items: baseline; gap: 5px; }
.rating b { color: var(--gold); font-size: inherit; }
.rating strong { font-size: inherit; font-weight: 760; }
.rating small { color: var(--muted); font-size: inherit; }
.review-evidence { color: var(--muted); font-size: .75rem; white-space: nowrap; }
.listing-oam-years { color: #555c59; font-size: inherit; font-weight: 720; white-space: nowrap; }
.recent-signal { padding: 4px 8px; border-radius: 999px; color: #c3d9c7; background: rgba(103,146,110,.12); font-size: .7rem; }
.specialty-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.listing-card > .specialty-badges { margin-top: 14px; }
.specialty-badge { display: inline-flex; min-height: 32px; max-width: 100%; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid #b9cbd4; border-radius: 999px; color: #31566a; background: #eaf1f4; font-size: .8125rem; font-weight: 740; line-height: 1.25; }
.specialty-badge span { overflow-wrap: anywhere; }
.specialty-badge svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.specialty-badge--icon { width: 34px; height: 34px; min-height: 34px; justify-content: center; padding: 0; border-radius: 50%; }
.specialty-badge--diamond { color: #584766; border-color: #cfc2d8; background: #f0ebf3; }
.specialty-badge--ingot { color: #715415; border-color: #d8c28c; background: #f6edd8; }
.specialty-badges a { text-decoration: none; }
.specialty-badges a:hover { border-color: currentColor; }
.specialty-badges a:focus-visible { outline: 3px solid #1d5d7a; outline-offset: 3px; }
.listing-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); }
.listing-card__actions a, .listing-card__actions button { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.card-link, .icon-link { font-size: .78rem; font-weight: 750; text-decoration: none; }
.icon-link { color: var(--muted); }
.icon-link svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.method-section { background: var(--ivory); color: var(--night); }
.method-section .eyebrow { color: var(--gold-deep); }
.method-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: 100px; }
.method-list { padding: 0; margin: 0; list-style: none; }
.method-list li { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 24px 0; border-top: 1px solid rgba(9,10,12,.14); }
.method-list li:last-child { border-bottom: 1px solid rgba(9,10,12,.14); }
.method-list > li > span { color: var(--gold-deep); font-family: var(--display); }
.method-list strong { font-family: var(--display); font-size: 1.5rem; font-weight: 400; }
.method-list p { margin: 6px 0 0; color: #5e5b54; font-size: .84rem; }
.final-cta { padding-block: 80px; background: linear-gradient(115deg, #b58d37, #d7b45b 45%, #b88e34); color: #18140d; }
.final-cta .eyebrow { color: #4b3b1b; }
.final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.final-cta p:not(.eyebrow) { margin-bottom: 0; color: #51401f; }

.breadcrumbs { padding: 15px 0; color: var(--muted-dark); font-size: .66rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { margin-left: 7px; color: #44464b; content: "/"; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs__home-icon,.breadcrumbs__city-prefix { display: none; }
.breadcrumbs__home-icon { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.7; }
.tax-marchio .breadcrumbs li { display: flex; align-items: center; }
.tax-marchio .breadcrumbs a,
.tax-marchio .breadcrumbs [aria-current="page"] { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; }

.directory-hero, .location-hero, .profile-hero { position: relative; overflow: hidden; padding: 90px 0; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 34%, rgba(215,180,91,.16), transparent 30%), linear-gradient(145deg,#1c2228,#11161b); }
.directory-hero::before, .location-hero::before, .profile-hero::before { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.08) 50%, transparent 50.2%); background-size: 120px 100%; content: ""; }
.directory-hero__grid, .location-hero__grid, .profile-hero__grid { display: grid; position: relative; z-index: 2; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); align-items: end; gap: 90px; }
.location-hero__grid { grid-template-columns: minmax(0,.94fr) minmax(460px,1.06fr); align-items: center; gap: 74px; }
.directory-hero h1, .location-hero h1, .profile-hero h1 { margin: 0; font-family: var(--display); font-size: clamp(3.6rem, 7vw, 7rem); font-weight: 400; line-height: .88; letter-spacing: -.06em; }
.directory-hero__grid > div:last-child > p { color: var(--muted); }
.directory-hero__intro > p { max-width: 590px; margin: 0; font-size: 1rem; line-height: 1.7; }
.directory-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.directory-hero__proof { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 22px 0 0; color: var(--muted-dark); font-size: .64rem; list-style: none; }
.directory-hero__proof li { display: inline-flex; align-items: baseline; gap: 4px; }
.directory-hero__proof li:not(:first-child)::before { margin-right: 14px; color: var(--gold); content: "·"; }
.directory-hero__proof strong { color: var(--paper); font-weight: 780; }
.directory-hero--compact { padding: 32px 0 34px; }
.directory-hero--compact .directory-hero__grid { align-items: center; gap: 54px; }
.directory-hero--compact h1 { font-size: clamp(3.45rem,5.2vw,4.7rem); line-height: .92; }
.directory-hero--compact h1 em { display: block; }
.directory-hero--compact .directory-hero__intro > p { font-size: .92rem; line-height: 1.6; }
.directory-hero--compact .directory-hero__proof { margin-top: 16px; }
#mappa-italia, #citta-attive { scroll-margin-top: 96px; }
.city-index-grid { display: grid; gap: 14px; }
.city-index-card { display: grid; grid-template-columns: 80px minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); color: var(--ivory); background: var(--panel); text-decoration: none; transition: border-color .2s, transform .2s; }
.city-index-card:hover { color: var(--ivory); border-color: var(--line-gold); transform: translateX(4px); }
.city-index-card > span { color: var(--gold); font-family: var(--display); }
.city-index-card h3 { margin: 0 0 4px; font-family: var(--display); font-size: 2.3rem; font-weight: 400; }
.city-index-card p { margin: 0; color: var(--muted); font-size: .78rem; }
.city-index-card > b { color: var(--gold); font-size: 1.3rem; }
.city-finder { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.55fr) auto; align-items: end; gap: 14px; padding: 18px; margin-bottom: 18px; border: 1px solid #d7cfc2; border-radius: var(--radius); background: #fffaf0; }
.city-finder[hidden], .city-index-card[hidden], .city-finder button[hidden] { display: none; }
.city-finder__field { display: grid; min-width: 0; gap: 7px; }
.city-finder__field label { color: #555a57; font-size: .66rem; font-weight: 760; }
.city-finder__field input, .city-finder__field select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #cfc5b7; border-radius: 10px; color: #222829; background: #fffdf8; }
.city-finder__field input::placeholder { color: #85877f; }
.city-finder__reset, .city-finder__status button { min-height: 48px; padding: 10px 14px; border: 1px solid #c7b891; border-radius: 10px; color: #624810; background: #fffdf8; font-size: .7rem; font-weight: 760; cursor: pointer; }
.city-finder__status { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; border-top: 1px solid #ddd4c5; padding-top: 12px; }
.city-finder__status p { margin: 0; color: #686b67; font-size: .72rem; }
.city-finder__status button { min-height: 44px; padding-block: 8px; }

.atlas-section { overflow: hidden; border-block: 1px solid var(--line); background: radial-gradient(circle at 18% 42%, rgba(215,180,91,.12), transparent 30%), #151a1f; }
.atlas-section--compact { padding: 30px 0 48px; }
.atlas-section--compact .atlas-heading { margin-bottom: 16px; }
.atlas-section--compact .atlas-heading h2 { font-size: clamp(2.1rem,3.1vw,2.75rem); }
.atlas-heading { align-items: start; }
.atlas-grid { display: grid; grid-template-columns: minmax(380px,.88fr) minmax(480px,1.12fr); align-items: start; gap: 58px; }
.italy-map-shell { position: relative; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at 48% 40%, rgba(215,180,91,.11), transparent 48%), linear-gradient(145deg,#272d34,#181d23); box-shadow: var(--shadow); }
.italy-map-shell::before { position: absolute; inset: 18px; pointer-events: none; border: 1px solid rgba(247,243,233,.035); border-radius: calc(var(--radius-lg) - 8px); content: ""; }
.italy-map { display: block; position: relative; z-index: 1; width: min(100%,520px); height: auto; margin: 0 auto; overflow: visible; }
.italy-region path { fill: #3b424b; stroke: #171b20; stroke-width: 1.35; vector-effect: non-scaling-stroke; transition: fill .18s ease, stroke .18s ease, filter .18s ease, opacity .18s ease; }
.italy-region--planned path { opacity: .9; }
.italy-region--active path { fill: #987b3a; stroke: #e1c16d; }
.italy-region--collected path { fill: #6f6a58; stroke: #c4b98f; }
.italy-region:hover path, .italy-region:focus path, .italy-region.is-previewed path { fill: #b18e40; stroke: var(--gold-light); filter: drop-shadow(0 0 7px rgba(215,180,91,.28)); opacity: 1; }
.italy-region--planned:hover path, .italy-region--planned:focus path, .italy-region--planned.is-previewed path { fill: #4a4d51; stroke: #9a968d; }
.italy-region:focus { outline: none; }
.italy-region:focus-visible path { stroke: #1d2324; stroke-width: 3; }
.map-legend { display: flex; position: relative; z-index: 2; flex-wrap: wrap; justify-content: center; gap: 17px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: .65rem; }
.map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.map-legend i { width: 9px; height: 9px; border: 1px solid #777c83; border-radius: 2px; background: #434a53; }
.map-legend .legend-active { border-color: var(--gold); background: #8c7133; }
.map-legend .legend-collected { border-color: #c4b98f; background: #6f6a58; }
.map-credit { position: relative; z-index: 2; margin: 13px 0 0; color: #65645f; font-size: .56rem; text-align: center; }
.map-credit a { color: #858178; }
.atlas-explorer { display: grid; gap: 22px; }
.atlas-status { min-height: 206px; padding: 29px 31px; border: 1px solid var(--line-gold); border-radius: var(--radius); background: linear-gradient(135deg,rgba(215,180,91,.14),rgba(255,255,255,.035)); }
.atlas-status h3 { margin: 0; font-family: var(--display); font-size: clamp(2.6rem,5vw,4.5rem); font-weight: 400; line-height: .9; letter-spacing: -.05em; }
.atlas-status > p:not(.eyebrow) { max-width: 600px; margin: 16px 0 18px; color: var(--muted); font-size: .82rem; }
.atlas-status .is-hidden { display: none; }
.region-city-actions { min-height: 48px; }
.region-city-group { display: flex; flex-wrap: wrap; gap: 8px; }
.region-city-group[hidden] { display: none; }
.region-city-link { display: grid; min-width: 126px; min-height: 48px; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 0 12px; padding: 7px 11px; border: 1px solid var(--line-gold); border-radius: 10px; color: var(--paper); background: rgba(215,180,91,.07); text-decoration: none; }
.region-city-link:hover, .region-city-link:focus { color: var(--ivory); border-color: var(--gold); background: rgba(215,180,91,.13); }
.region-city-link span { color: var(--muted-dark); font-size: .49rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.region-city-link strong { grid-column: 1; font-size: .7rem; line-height: 1.2; }
.region-city-link small { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--muted); font-size: .52rem; white-space: nowrap; }
.region-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.region-index__item { display: grid; min-height: 48px; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--paper); background: rgba(255,255,255,.04); text-decoration: none; transition: border-color .18s, background .18s, transform .18s; }
.region-index__item span { overflow: hidden; font-size: .73rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.region-index__item small { grid-column: 1; color: var(--muted-dark); font-size: .55rem; text-transform: uppercase; letter-spacing: .07em; }
.region-index__item i { grid-column: 2; grid-row: 1 / span 2; width: 7px; height: 7px; border-radius: 50%; background: #51545a; }
.region-index__item.is-active i { background: var(--gold); box-shadow: 0 0 12px rgba(215,180,91,.35); }
.region-index__item.is-active small { color: var(--gold); }
.region-index__item.is-collected i { background: #a79b72; }
.region-index__item.is-collected small { color: #a79b72; }
.region-index__item:hover, .region-index__item:focus, .region-index__item.is-previewed { color: var(--ivory); border-color: var(--line-gold); background: rgba(215,180,91,.07); transform: translateX(2px); }
.region-discovery { overflow: visible; padding: 38px 0 44px; }
.region-discovery__grid { display: grid; grid-template-columns: minmax(300px,.68fr) minmax(520px,1.32fr); grid-template-areas: "intro map" "panel map"; align-items: start; gap: 24px 54px; }
.region-discovery__intro { min-width: 0; grid-area: intro; padding-top: 10px; }
.region-discovery__intro h1 { margin: 0; font-family: var(--display); font-size: clamp(3.5rem,5vw,4.4rem); font-weight: 400; line-height: .93; letter-spacing: -.055em; overflow-wrap: anywhere; }
.region-discovery__intro h1 em { display: block; color: #9a701f; font-style: italic; font-weight: 400; }
.region-discovery__intro > p:not(.eyebrow) { max-width: 440px; margin: 22px 0 0; color: #5d615e; font-size: .92rem; line-height: 1.65; }
.region-discovery__proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 0; margin: 24px 0 0; list-style: none; }
.region-discovery__proof li { min-width: 0; padding-top: 11px; border-top: 1px solid rgba(166,122,35,.3); }
.region-discovery__proof strong, .region-discovery__proof span { display: block; }
.region-discovery__proof strong { color: #303635; font-family: var(--display); font-size: 1.5rem; font-weight: 400; }
.region-discovery__proof span { margin-top: 2px; color: #6a6c67; font-size: .58rem; text-transform: uppercase; letter-spacing: .07em; }
.region-discovery__proof span { overflow-wrap: anywhere; }
.region-discovery__map { min-width: 0; grid-area: map; }
.region-discovery__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.region-discovery__heading .eyebrow { margin-bottom: 7px; }
.region-discovery__heading h2 { margin: 0; font-family: var(--display); font-size: clamp(2.1rem,3.1vw,2.75rem); font-weight: 400; line-height: .96; letter-spacing: -.04em; }
.region-discovery__heading > p { max-width: 330px; margin: 0 0 3px; color: #666862; font-size: .72rem; line-height: 1.5; }
.region-map-shell { overflow: hidden; padding: 18px 22px; }
.region-map-stage { position: relative; overflow: hidden; width: min(100%,calc(500px * var(--region-map-ratio))); margin-inline: auto; aspect-ratio: var(--region-map-ratio); }
.region-map { display: block; width: 100%; height: 100%; overflow: hidden; }
.region-map-shell .map-credit { flex-wrap: wrap; overflow-wrap: anywhere; }
.region-map__shape { fill: rgba(215,180,91,.1); stroke: rgba(215,180,91,.7); stroke-width: .65; vector-effect: non-scaling-stroke; }
.region-map__point { color: #afa99c; outline: none; }
.region-map__dot { fill: currentColor; stroke: #171c21; stroke-width: .7; vector-effect: non-scaling-stroke; transition: transform .16s, fill .16s; transform-box: fill-box; transform-origin: center; }
.region-map__point.is-capital { color: var(--gold); }
.region-map__point.is-released .region-map__dot { stroke: #fff4cf; }
.region-map-targets { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.region-map-target { display: block; position: absolute; width: 44px; height: 44px; border-radius: 50%; transform: translate(-50%,-50%); pointer-events: auto; }
.region-map-target:focus-visible { outline: 3px solid #9a701f; outline-offset: 2px; background: rgba(215,180,91,.13); }
.region-map__point text { fill: var(--paper); font: 600 4px var(--sans); paint-order: stroke; stroke: #171c21; stroke-width: 1.5px; stroke-linejoin: round; pointer-events: none; }
.legend-capital { background: var(--gold) !important; }
.legend-locality { background: #afa99c !important; }
.region-explorer { display: grid; min-width: 0; grid-area: panel; gap: 12px; }
.region-explorer .atlas-status { min-height: 0; padding: 22px; }
.region-explorer .atlas-status h3 { font-size: clamp(2rem,3.6vw,3rem); }
.region-map-note { margin: 0; color: #666862; font-size: .68rem; line-height: 1.55; }
.region-city-finder { position: relative; margin-bottom: 12px; }
.region-city-finder label { display: block; margin-bottom: 6px; color: #666862; font-size: .63rem; font-weight: 760; text-transform: uppercase; letter-spacing: .08em; }
.region-city-finder input { width: 100%; min-height: 48px; padding: 0 15px; border: 1px solid #cfc6b8; border-radius: 10px; color: #303635; background: #fffdf8; font: inherit; }
.region-city-finder input:focus { border-color: var(--gold); outline: 3px solid rgba(215,180,91,.22); outline-offset: 2px; }
.region-city-finder > p { min-height: 1.2em; margin: 5px 0 0; color: #666862; font-size: .64rem; }
.region-city-finder > p:empty { display: none; }
.region-city-suggestions { display: grid; position: absolute; z-index: 8; top: calc(100% + 6px); right: 0; left: 0; gap: 2px; padding: 6px; border: 1px solid #cfc6b8; border-radius: 10px; background: #fffdf8; box-shadow: 0 16px 35px rgba(61,48,25,.18); }
.region-city-suggestions[hidden] { display: none; }
.region-city-suggestion { display: flex; min-width: 0; min-height: 44px; align-items: center; justify-content: space-between; gap: 15px; padding: 8px 10px; border-radius: 7px; color: #303635; text-decoration: none; }
.region-city-suggestion:hover, .region-city-suggestion:focus { background: #f3ead8; outline: none; }
.region-city-suggestion:focus { box-shadow: inset 0 0 0 2px #9a701f; }
.region-city-suggestion strong { min-width: 0; font-size: .78rem; overflow-wrap: anywhere; }
.region-city-suggestion small { max-width: 48%; color: #666862; font-size: .6rem; text-align: right; overflow-wrap: anywhere; }
.region-city-list-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -14px 0 24px; }
.region-city-list-controls a { color: #765511; font-size: .7rem; font-weight: 720; text-decoration: none; }
.region-city-list-controls button { min-height: 44px; padding: 8px 13px; border: 1px solid rgba(166,122,35,.45); border-radius: 9px; color: #303635; background: transparent; cursor: pointer; }
.region-city-list-controls button[hidden] { display: none; }
.region-city-list-controls button:focus { outline: 3px solid rgba(215,180,91,.22); outline-offset: 2px; }
.region-cities .section__head > * { min-width: 0; max-width: 100%; }
.region-cities .section__head h2 { overflow-wrap: anywhere; }
.region-city-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.region-city-card { min-height: 82px; }
.region-city-card > div { min-width: 0; }
.region-city-card h3, .region-city-card p { overflow-wrap: anywhere; }
.region-city-card[hidden] { display: none; }

.city-atlas-section { overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 76% 32%, rgba(215,180,91,.12), transparent 30%), #181d22; }
.city-atlas-heading { align-items: start; }
.city-atlas-grid { display: grid; grid-template-columns: minmax(480px,1.08fr) minmax(410px,.92fr); align-items: start; gap: 48px; }
.city-map-shell { position: relative; min-width: 0; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at 52% 45%,rgba(215,180,91,.11),transparent 50%),linear-gradient(145deg,#2a3037,#1a1f25); box-shadow: var(--shadow); }
.city-map-shell::before { position: absolute; inset: 16px; pointer-events: none; border: 1px solid rgba(247,243,233,.035); border-radius: calc(var(--radius-lg) - 9px); content: ""; }
.city-map { display: block; position: relative; z-index: 1; width: 100%; height: auto; overflow: hidden; }
.city-map__context { fill: #272e35; fill-rule: evenodd; stroke: #4c5661; stroke-width: .72; vector-effect: non-scaling-stroke; }
.city-area path { fill: #4b535d; fill-rule: evenodd; stroke: #97958e; stroke-width: 1.25; vector-effect: non-scaling-stroke; transition: fill .18s ease,stroke .18s ease,filter .18s ease; }
.city-area--active path { fill: #987b3a; stroke: var(--gold-light); }
.city-area__marker { pointer-events: none; }
.city-area__marker circle { fill: #414952; stroke: #aaa79e; stroke-width: 1.2; vector-effect: non-scaling-stroke; transition: fill .18s ease,stroke .18s ease,transform .18s ease; }
.city-area--active .city-area__marker circle { fill: var(--gold); stroke: var(--gold-light); }
.city-area__marker text { fill: var(--ivory); font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: -.03em; }
.city-area--active .city-area__marker text { fill: #17140c; }
.city-area:hover path,.city-area:focus path,.city-area.is-previewed path { fill: #b18e40; stroke: var(--gold-light); filter: drop-shadow(0 0 7px rgba(215,180,91,.3)); }
.city-area:hover .city-area__marker circle,.city-area:focus .city-area__marker circle,.city-area.is-previewed .city-area__marker circle { fill: var(--gold-light); stroke: var(--ivory); transform: scale(1.12); }
.city-area:hover .city-area__marker text,.city-area:focus .city-area__marker text,.city-area.is-previewed .city-area__marker text { fill: #17140c; }
.city-area--planned:hover path,.city-area--planned:focus path,.city-area--planned.is-previewed path { fill: #55595f; stroke: #aaa69c; filter: none; }
.city-area--planned:hover .city-area__marker circle,.city-area--planned:focus .city-area__marker circle,.city-area--planned.is-previewed .city-area__marker circle { fill: #777a7e; stroke: #d0ccc2; }
.city-area:focus { outline: none; }
.city-area:focus-visible path { stroke: #1d2324; stroke-width: 3; }
.city-atlas-explorer { display: grid; gap: 20px; }
.city-area-status { min-height: 190px; }
.area-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.area-index__item { display: grid; width: 100%; min-height: 67px; grid-template-columns: 28px minmax(0,1fr) 8px; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; color: var(--paper); background: rgba(255,255,255,.04); font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: border-color .18s,background .18s,transform .18s; }
.area-index__item > b { color: var(--muted-dark); font-size: .58rem; letter-spacing: .06em; }
.area-index__item > span { display: grid; min-width: 0; gap: 1px; }
.area-index__item strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.area-index__item small { overflow: hidden; color: var(--muted-dark); font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.area-index__item > i { width: 7px; height: 7px; border-radius: 50%; background: #565960; }
.area-index__item.is-active > i { background: var(--gold); box-shadow: 0 0 12px rgba(215,180,91,.35); }
.area-index__item.is-active small { color: #a99b72; }
.area-index__item:hover,.area-index__item:focus,.area-index__item.is-previewed { color: var(--ivory); border-color: var(--line-gold); background: rgba(215,180,91,.07); transform: translateX(2px); }
.area-index__item:focus-visible { outline: 3px solid rgba(215,180,91,.58); outline-offset: 2px; }
.street-discovery-section { color: #1d2324; border-bottom: 1px solid #ddd4c7; background: linear-gradient(180deg,#fffdf8 0%,#f5efe5 100%); }
.street-discovery-heading { align-items: end; }
.street-discovery-heading h2 { color: #202627; }
.street-discovery-heading .section-intro { color: #656964; }
.street-discovery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.street-discovery-card { min-width: 0; padding: 22px; border: 1px solid #d9d0c3; border-radius: 17px; background: rgba(255,253,248,.92); box-shadow: 0 12px 34px rgba(61,48,25,.055); }
.street-discovery-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: #7b5b1f; font-size: .58rem; font-weight: 780; letter-spacing: .11em; text-transform: uppercase; }
.street-discovery-card__head small { color: #767872; font-size: .58rem; font-weight: 680; letter-spacing: .02em; text-transform: none; }
.street-discovery-card h3 { margin: 0 0 16px; color: #242a2a; font-family: var(--display); font-size: 1.55rem; font-weight: 400; line-height: 1.05; letter-spacing: -.025em; }
.street-discovery-card h3 em { color: #936c20; font-style: normal; }
.street-discovery-card ul { padding: 0; margin: 0; list-style: none; }
.street-discovery-card li + li { border-top: 1px solid #e3dbcf; }
.street-discovery-card a { display: grid; min-height: 58px; grid-template-columns: minmax(0,1fr) auto; align-content: center; gap: 1px 10px; padding: 9px 0; color: #29302f; text-decoration: none; }
.street-discovery-card a:hover { color: #765511; }
.street-discovery-card a:focus-visible { border-radius: 6px; outline: 3px solid rgba(166,122,35,.45); outline-offset: 3px; }
.street-discovery-card a strong { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.street-discovery-card a span { overflow: hidden; color: #6d706b; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
.street-discovery-card a i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #9a7227; font-style: normal; }
.street-discovery-card h3 a.street-discovery-card__title { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 0; color: inherit; }
.street-discovery-card h3 a.street-discovery-card__title i { color: #9a7227; font-family: var(--sans); font-size: .72rem; font-style: normal; }
.street-discovery-note { margin: 18px 0 0; color: #6b6e69; font-size: .68rem; }
.city-atlas-grid--map-only { grid-template-columns: minmax(0,1fr); }
.city-atlas-grid--map-only .city-map-shell { width: 100%; }
.city-map-shell--interactive { padding: 16px; }
.city-map-shell--interactive::before { display: none; }
.city-map-panel[hidden] { display: none; }
.map-view-switch { display: inline-flex; position: relative; z-index: 3; gap: 3px; padding: 4px; margin: 0 0 12px; border: 1px solid #d2c9bc; border-radius: 999px; background: rgba(255,253,248,.9); }
.map-view-switch button { min-height: 44px; padding: 7px 14px; border: 0; border-radius: 999px; color: #666963; background: transparent; cursor: pointer; font-size: .69rem; font-weight: 760; }
.map-view-switch button span { display: inline-grid; min-width: 19px; height: 19px; place-items: center; margin-left: 5px; border-radius: 999px; color: #6a604b; background: #eee6d8; font-size: .58rem; }
.map-view-switch button[aria-selected="true"] { color: #fffdf8; background: #242a2b; box-shadow: 0 5px 14px rgba(37,33,25,.14); }
.map-view-switch button[aria-selected="true"] span { color: #3f3014; background: var(--gold-light); }
.city-map-panel { position: relative; z-index: 2; }
.shop-map-toolbar { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 3px 10px; }
.shop-map-toolbar > span { color: #656862; font-size: .66rem; font-weight: 680; }
.shop-map-toolbar > div { display: flex; align-items: center; gap: 7px; }
.shop-map-toolbar button,.shop-map-toolbar a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 5px; padding: 7px 11px; border: 1px solid #cec4b4; border-radius: 999px; color: #4e4430; background: #fffdf8; cursor: pointer; font-size: .65rem; font-weight: 760; text-decoration: none; }
.shop-map-toolbar button:hover,.shop-map-toolbar button:focus,.shop-map-toolbar a:hover,.shop-map-toolbar a:focus { color: #35280f; border-color: #a68131; background: #fff8e7; }
.shop-map-toolbar button:disabled { cursor: wait; opacity: .64; }
.shop-map-toolbar button.is-located { color: #315e4a; border-color: #8fb4a3; background: #f0f8f3; }
.shop-map-toolbar i { font-style: normal; font-size: .85rem; }
.shop-map { height: 470px; overflow: hidden; border: 1px solid #c8c0b4; border-radius: 20px; background: #e7e2da; box-shadow: inset 0 0 0 1px rgba(255,255,255,.48); }
.shop-map-loading { display: flex; position: absolute; z-index: 650; top: 50%; left: 50%; align-items: center; gap: 9px; min-height: 44px; padding: 9px 14px; margin: 0; transform: translate(-50%,-50%); border: 1px solid rgba(111,97,69,.2); border-radius: 999px; color: #4f5350; background: rgba(255,253,248,.94); box-shadow: 0 8px 24px rgba(48,42,32,.12); font-size: .67rem; font-weight: 720; white-space: nowrap; }
.shop-map-loading[hidden] { display: none; }
.shop-map-loading > span { width: 14px; height: 14px; flex: 0 0 auto; border: 2px solid #d7c79f; border-top-color: #8a651c; border-radius: 50%; animation: or-map-loading .8s linear infinite; }
@keyframes or-map-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .shop-map-loading > span { animation: none; border-top-color: #d7c79f; background: #8a651c; } }
.shop-map.has-map-error { display: grid; place-items: center; padding: 30px; color: #676962; background: #e7e2da; text-align: center; }
.shop-map-fallback-card { display: grid; width: min(100%,430px); gap: 10px; padding: 24px; border: 1px solid #cfc5b7; border-radius: 14px; background: #fffdf8; box-shadow: 0 12px 30px rgba(48,42,32,.08); }
.shop-map-fallback-card > strong { color: #252b2b; font-family: var(--display); font-size: 1.55rem; font-weight: 400; }
.shop-map-fallback-card > p { margin: 0; color: #646862; font-size: .73rem; line-height: 1.5; overflow-wrap: anywhere; }
.shop-map-fallback-card > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding-top: 4px; }
.shop-map-fallback-card a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid #c7b891; border-radius: 9px; color: #624810; background: #fffaf0; font-size: .66rem; font-weight: 760; text-decoration: none; }
.shop-map-fallback-card a:first-child { color: #211a0d; border-color: #c5a04d; background: #f0d58d; }
.shop-map-activate { position: absolute; z-index: 700; bottom: 42px; left: 50%; min-height: 44px; padding: 8px 14px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.8); border-radius: 999px; color: #fffdf8; background: rgba(31,37,37,.88); box-shadow: 0 7px 22px rgba(0,0,0,.2); backdrop-filter: blur(8px); cursor: pointer; font-size: .63rem; font-weight: 750; white-space: nowrap; }
.shop-map-activate[hidden] { display: none; }
.shop-map-selection { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 14px 16px; margin-top: 9px; border: 1px solid #d2c6af; border-radius: 14px; background: #fffaf0; }
.shop-map-selection[hidden] { display: none; }
.shop-map-selection > div { display: grid; min-width: 0; gap: 2px; }
.shop-map-selection span,.shop-map-selection small { overflow: hidden; color: #77776f; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.shop-map-selection > div > span { color: #8a651c; font-weight: 760; letter-spacing: .05em; text-transform: uppercase; }
.shop-map-selection strong { overflow: hidden; color: #252b2b; font-family: var(--display); font-size: 1.2rem; font-weight: 400; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.shop-map-selection > a { color: #765511; font-size: .65rem; font-weight: 760; text-decoration: none; white-space: nowrap; }
.shop-map-fallback { padding: 20px; margin: 0; color: #666a65; font-size: .75rem; }
.city-map-panel > .map-credit { margin-top: 0; }
.map-credit { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 3px; }
.map-credit a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 3px; }
.or-map-marker { border: 0; background: transparent; }
.or-map-marker > span { display: grid; width: 34px; height: 34px; place-items: center; transform: rotate(-45deg); border: 2px solid #fff8e8; border-radius: 50% 50% 50% 0; background: #b1842d; box-shadow: 0 5px 14px rgba(54,42,20,.34); transition: transform .16s ease,background .16s ease; }
.or-map-marker b { transform: rotate(45deg); color: #fffdf8; font-size: .61rem; line-height: 1; }
.or-map-marker:hover > span,.or-map-marker:focus > span,.or-map-marker.is-selected > span { transform: rotate(-45deg) scale(1.13); background: #282e2f; }
.or-map-cluster { display: grid; place-items: center; border: 3px solid rgba(255,250,239,.92); border-radius: 50%; color: #fffdf8; background: #9d7426; box-shadow: 0 5px 18px rgba(53,39,14,.28); font-size: .7rem; font-weight: 800; }
.or-map-cluster span { display: grid; width: 100%; height: 100%; place-items: center; }
.shop-map-popup { display: grid; gap: 6px; color: #242a2a; font-family: var(--sans); }
.shop-map-popup > span { color: #89651f; font-size: .56rem; font-weight: 780; letter-spacing: .06em; text-transform: uppercase; }
.shop-map-popup > strong { font-family: var(--display); font-size: 1.25rem; font-weight: 400; line-height: 1.05; }
.shop-map-popup > small { color: #686b67; font-size: .65rem; line-height: 1.4; }
.shop-map-popup > div { display: flex; flex-wrap: wrap; gap: 5px 10px; padding-top: 4px; color: #686b67; font-size: .6rem; }
.shop-map-popup > div b { color: #765511; }
.shop-map-popup > a { width: fit-content; margin-top: 3px; color: #765511; font-size: .65rem; font-weight: 780; text-decoration: none; }
.or-map-popup-shell .leaflet-popup-content-wrapper { border: 1px solid rgba(128,91,21,.24); border-radius: 15px; background: #fffdf8; box-shadow: 0 16px 40px rgba(34,30,22,.2); }
.or-map-popup-shell .leaflet-popup-content { margin: 16px; }
.or-map-popup-shell .leaflet-popup-tip { background: #fffdf8; }
.shop-map .leaflet-control-zoom a { color: #303635; background: #fffdf8; }
.shop-map.leaflet-container .leaflet-control-zoom a { min-width: 44px; width: 44px; min-height: 44px; height: 44px; line-height: 44px; }
.shop-map.leaflet-container .leaflet-popup-close-button { min-width: 44px; width: 44px; min-height: 44px; height: 44px; font-size: 22px; line-height: 44px; }
.shop-map .leaflet-control-zoom { transition: opacity .14s ease; }
.shop-map.has-open-popup .leaflet-control-zoom { pointer-events: none; opacity: 0; }
.shop-map .leaflet-control-attribution { color: #656862; background: rgba(255,253,248,.86); font-size: 9px; }
.shop-map .leaflet-control-attribution a { color: #5f4b26; }
.listing-card.is-map-selected { border-color: #a77c2c; box-shadow: 0 0 0 3px rgba(199,156,65,.14),0 22px 60px rgba(61,48,25,.13); }
.listing-card__distance { flex: 0 0 auto; padding: 2px 7px; margin-left: auto; border-radius: 999px; color: #416253; background: #edf5ef; font-size: .58rem; font-weight: 760; white-space: nowrap; }
.icon-link:is(button) { padding: 0; border: 0; background: transparent; cursor: pointer; }

.taxonomy-intro { max-width: 700px; margin-top: 25px; color: var(--muted); }
.taxonomy-intro p { margin-bottom: 0; }
.location-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.location-hero__assurance { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 17px; color: var(--muted); font-size: .7rem; }
.location-hero__assurance span { display: inline-flex; align-items: center; gap: 6px; }
.location-hero__assurance i { display: inline-grid; width: 17px; height: 17px; place-items: center; border: 1px solid var(--line-gold); border-radius: 50%; color: var(--gold); font-style: normal; font-size: .58rem; }
.location-visual { position: relative; margin: 0; }
.location-visual__frame { position: relative; overflow: hidden; border: 1px solid rgba(240,213,141,.42); border-radius: var(--radius-lg); background: #1a2026; box-shadow: var(--shadow); }
.location-visual__frame::after { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(9,10,12,0) 40%,rgba(9,10,12,.38) 100%),linear-gradient(90deg,rgba(9,10,12,.1),transparent 45%); content: ""; }
.location-visual picture { display: block; }
.location-visual img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: brightness(1.12) saturate(.9) contrast(1.02); }
.location-visual__street-sign { position: absolute; z-index: 3; top: 49%; left: 50%; width: 68%; transform: translate(-50%,-50%); color: #171513; font-family: Georgia,"Times New Roman",serif; font-size: clamp(.95rem,2.2vw,1.65rem); font-weight: 700; letter-spacing: .055em; line-height: 1.08; text-align: center; text-transform: uppercase; white-space: nowrap; }
.location-visual__street-sign--metal { color: #122c55; font-family: Inter,system-ui,sans-serif; font-weight: 750; letter-spacing: .065em; }
.location-visual__frame > span { position: absolute; z-index: 2; top: 19px; left: 20px; padding: 7px 10px; border: 1px solid rgba(240,213,141,.3); border-radius: 999px; color: var(--gold-light); background: rgba(9,10,12,.58); backdrop-filter: blur(8px); font-size: .55rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.location-summary { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 4px 16px; padding: 24px; border: 1px solid var(--line-gold); border-radius: var(--radius-lg); background: rgba(215,180,91,.045); }
.location-summary--overlay { position: absolute; z-index: 3; right: 14px; bottom: 14px; width: fit-content; max-width: calc(100% - 28px); grid-template-columns: minmax(0,1fr); gap: 0; padding: 0; border-radius: 12px; background: rgba(31,30,26,.9); box-shadow: 0 14px 36px rgba(0,0,0,.28); backdrop-filter: blur(10px); }
.location-summary--inline { width: fit-content; max-width: 100%; grid-template-columns: minmax(0,1fr); justify-self: end; gap: 0; padding: 0; border-radius: 12px; }
.location-summary > p { margin: 0; color: var(--muted); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.location-summary > p { grid-column: 1 / -1; }
.location-summary > strong { color: var(--gold-light); font-family: var(--display); font-size: 4rem; font-weight: 400; line-height: .95; }
.location-summary > span { color: var(--paper); }
.location-summary__metrics { display: flex; min-height: 44px; align-items: baseline; flex-wrap: wrap; gap: 5px 6px; padding: 9px; border-radius: 11px; text-decoration: none; }
a.location-summary__metrics:hover { color: inherit; background: rgba(215,180,91,.1); }
a.location-summary__metrics:focus-visible { outline: 3px solid #1d2324; outline-offset: 3px; box-shadow: 0 0 0 2px #f3d985; }
.location-summary__density-icon { box-sizing: border-box; width: 38px; height: 20px; padding-left: 5px; align-self: center; flex: 0 0 38px; border-left: 1px solid rgba(255,255,255,.24); color: inherit; font-style: normal; transform: translateY(-2px); }
.location-summary__density-icon svg { display: block; width: 32px; height: 20px; overflow: visible; transform: translateY(-2px); }
.location-summary__density-icon .coverage-gauge__arc { stroke-width: 8; }
.location-summary__density-icon .coverage-gauge__needle { stroke-width: 3; }
.location-summary__density-icon circle { fill: #694d18; }
.location-summary__metrics strong, .location-summary__metrics span { color: var(--gold-light); font-family: var(--sans); font-size: .68rem; font-weight: 760; line-height: 1.25; white-space: nowrap; }
.location-summary__metrics strong { padding-left: 5px; border-left: 1px solid rgba(255,255,255,.24); }
.location-summary__metrics strong b, .location-summary__metrics span b { margin-right: 2px; font-family: var(--display); font-size: 1.25rem; font-weight: 500; line-height: 1; }
.location-summary--overlay > small { color: rgba(255,255,255,.68); font-size: .58rem; line-height: 1.3; }
.signal-strip { border-bottom: 1px solid var(--line); background: #15191e; }
.signal-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-strip__grid > div { display: flex; align-items: baseline; justify-content: space-between; padding: 24px 28px; border-inline-start: 1px solid var(--line); }
.signal-strip__grid > div:last-child { border-inline-end: 1px solid var(--line); }
.signal-strip span { color: var(--muted); font-size: .68rem; }
.signal-strip strong { font-family: var(--display); font-size: 1.45rem; font-weight: 400; }
.signal-strip b { color: var(--gold); }
.city-subnav { position: sticky; z-index: 40; top: 84px; border-bottom: 1px solid rgba(13,16,20,.12); background: rgba(240,213,141,.96); backdrop-filter: blur(14px); }
.admin-bar .city-subnav { top: 116px; }
.city-subnav .wrap { display: flex; min-height: 50px; align-items: center; gap: 24px; overflow-x: auto; scrollbar-width: none; }
.city-subnav .wrap::-webkit-scrollbar { display: none; }
.city-subnav span { color: rgba(23,20,13,.58); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.city-subnav a { color: #201a0e; font-size: .72rem; font-weight: 780; text-decoration: none; white-space: nowrap; }
.city-subnav a:hover { color: #5c4518; }
#mappa-citta, #confronta, #come-scegliere, #domande-frequenti, #altre-sedi-nelle-vicinanze { scroll-margin-top: 148px; }
.zone-list { display: flex; flex-wrap: wrap; gap: 10px; }
.zone-list a { display: inline-flex; align-items: center; min-height: 44px; gap: 16px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--paper); font-size: .75rem; text-decoration: none; }
.zone-list span { color: var(--gold); }
.listings-section { background: linear-gradient(180deg, #14191e, #0e1216); }
.listings-toolbar { display: grid; grid-template-columns: minmax(310px,.75fr) minmax(620px,1.25fr); align-items: end; gap: 48px; margin-bottom: 28px; }
.listings-toolbar h2 { margin: 0; font-family: var(--display); font-size: clamp(2.3rem, 4vw, 3.7rem); font-weight: 400; line-height: 1; }
.listings-count { margin: 10px 0 0; color: var(--muted); font-size: .72rem; }
.open-now-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 14px; }
.open-now-summary form { max-width: 100%; margin: 0; }
.open-now-summary button, .open-now-summary__active { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; max-width: 100%; min-height: 48px; padding: 0; border: 0; color: var(--paper); background: transparent; text-align: left; }
.open-now-summary__status { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 0 6px; max-width: 100%; font-size: .92rem; font-weight: 650; line-height: 1.35; }
.open-now-summary__copy { display: inline; }
.open-now-summary button { cursor: pointer; }
.open-now-summary button:hover .open-now-summary__status { color: var(--gold); }
.open-now-summary button:focus-visible, .open-now-summary > a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.open-now-summary button:disabled { cursor: default; opacity: .68; }
.open-now-summary strong { color: var(--gold); font-size: 1.08em; }
.open-now-summary small { margin-top: 2px; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.open-now-summary > a { color: var(--muted); font-size: .72rem; font-weight: 700; }
.filter-form { display: grid; grid-template-columns: minmax(180px,1.6fr) repeat(3,minmax(112px,1fr)) auto; align-items: end; gap: 9px; }
.filter-form__search { grid-column: auto; }
.filter-more__toggle { display: none; }
.filter-more__fields { display: contents; }
.filter-form label span { display: block; margin-bottom: 5px; color: var(--muted); font-size: .61rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.filter-form select, .filter-form input { width: 100%; min-height: 48px; padding: 8px 34px 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ivory); background: var(--panel); font-size: .76rem; }
.filter-form input { padding-right: 11px; }
.filter-form input::placeholder { color: var(--muted-dark); }
.filter-form__actions { display: flex; align-items: center; gap: 12px; }
.filter-form__actions a { color: var(--muted); font-size: .68rem; font-weight: 700; }
.ranking-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 18px 20px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.045); }
.ranking-note > span { color: var(--gold); font-size: 1.5rem; }
.ranking-note p { margin: 0; color: var(--muted); font-size: .73rem; }
.ranking-note p strong { color: var(--paper); }
.ranking-note > a { font-size: .7rem; white-space: nowrap; }
.listing-card__actions { flex-wrap: wrap; }
.listing-card__actions .card-link { margin-right: auto; }
.pagination { margin-top: 40px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.pagination .page-numbers { min-width: 44px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 8px; color: var(--paper); background: var(--panel); text-align: center; text-decoration: none; }
.pagination .current { color: var(--night); border-color: var(--gold); background: var(--gold); }
.nearby-listing-card { display: flex; min-height: 190px; flex-direction: column; padding: 28px; border: 1px solid #d7cfc2; border-radius: var(--radius); color: #202627; background: linear-gradient(145deg,#fffdf9,#f2ece2); box-shadow: 0 13px 35px rgba(61,48,25,.055); transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.nearby-listing-card:hover { color: #202627; border-color: rgba(166,122,35,.56); box-shadow: 0 22px 60px rgba(61,48,25,.13); transform: translateY(-3px); }
.nearby-listing-card__top { display: block; }
.nearby-listing-card__top strong { max-width: 410px; font-family: var(--display); font-size: clamp(1.65rem,3vw,2.15rem); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
.nearby-listing-card__places { display: flex; gap: 8px; min-height: 50px; margin: 19px 0; color: #6f716d; font-size: .77rem; line-height: 1.45; }
.nearby-listing-card__places > i { color: #8b6827; font-style: normal; }
.nearby-listing-card__action { width: fit-content; min-width: 170px; align-self: flex-start; margin-top: auto; }
.nearby-listing-card__action i { font-size: 1rem; font-style: normal; }

.city-decision-section { color: #171a1d; background: #f3eee3; }
.city-decision-section .eyebrow { color: #765511; }
.city-decision-section .section-intro { color: #5f5b53; }
.city-decision-copy { max-width: 460px; }
.city-decision-copy .section-intro + .section-intro { margin-top: 14px; }
.city-decision-heading h2 { max-width: 760px; }
.city-local-note { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr); align-items: end; gap: 70px; padding: 30px 34px; margin-bottom: 54px; border: 1px solid rgba(13,16,20,.13); border-left: 4px solid var(--gold-deep); border-radius: var(--radius); background: rgba(255,255,255,.52); }
.city-local-note .eyebrow { margin-bottom: 10px; }
.city-local-note h3 { margin: 0; font-family: var(--display); font-size: clamp(2rem,3vw,3rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.city-local-note > p { margin: 0; color: #5f5b53; font-size: .85rem; }
.city-decision-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr); align-items: start; gap: 70px; }
.decision-steps { padding: 0; margin: 0; list-style: none; }
.decision-steps li { display: grid; grid-template-columns: 58px 1fr; gap: 22px; padding: 25px 0; border-top: 1px solid rgba(13,16,20,.14); }
.decision-steps li:last-child { border-bottom: 1px solid rgba(13,16,20,.14); }
.decision-steps > li > span { color: #765511; font-family: var(--display); font-size: 1.05rem; }
.decision-steps h3 { margin: 0; font-family: var(--display); font-size: 1.55rem; font-weight: 400; line-height: 1.1; }
.decision-steps p { margin: 7px 0 0; color: #5f5b53; font-size: .82rem; }
.legal-checklist { padding: 32px; border-radius: var(--radius-lg); color: var(--ivory); background: linear-gradient(145deg,#252b31,#14191e); box-shadow: 0 28px 80px rgba(20,20,18,.16); }
.legal-checklist .eyebrow { color: var(--gold); }
.legal-checklist h3 { margin: 0 0 24px; font-family: var(--display); font-size: 2.6rem; font-weight: 400; line-height: .95; }
.legal-checklist ul { padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.legal-checklist li { padding: 17px 0; border-bottom: 1px solid var(--line); }
.legal-checklist li strong, .legal-checklist li span { display: block; }
.legal-checklist li strong { color: var(--gold-light); font-size: .72rem; }
.legal-checklist li span { margin-top: 4px; color: var(--muted); font-size: .72rem; }
.legal-checklist__links { display: grid; gap: 7px; margin-top: 23px; }
.legal-checklist__links a { width: fit-content; font-size: .72rem; font-weight: 700; text-decoration: none; }
.legal-note { margin: 22px 0 0; color: var(--muted-dark); font-size: .58rem; }

.city-faq-section { padding-top: 110px; color: #171a1d; border-top: 1px solid rgba(13,16,20,.1); background: #e7dfd0; }
.city-faq-grid { display: grid; grid-template-columns: minmax(310px,.75fr) minmax(520px,1.25fr); align-items: start; gap: 90px; }
.city-faq-section .eyebrow { color: #765511; }
.city-faq-intro { position: sticky; top: 160px; }
.city-faq-intro h2, .city-discovery h2 { margin: 0; font-family: var(--display); font-size: clamp(2.5rem,4.8vw,4.5rem); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.city-faq-intro > p:last-child { max-width: 440px; color: #5f5b53; font-size: .82rem; }
.city-faq-intro a { color: #785719; }
.faq-list { border-top: 1px solid rgba(13,16,20,.18); }
.faq-list details { border-bottom: 1px solid rgba(13,16,20,.18); }
.faq-list summary { display: grid; grid-template-columns: minmax(0,1fr) 24px; align-items: center; gap: 24px; padding: 24px 0; font-family: var(--display); font-size: 1.45rem; line-height: 1.15; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { position: relative; width: 20px; height: 20px; }
.faq-list summary span::before, .faq-list summary span::after { position: absolute; top: 9px; left: 3px; width: 14px; height: 1px; background: #7d5f27; content: ""; transition: transform .18s; }
.faq-list summary span::after { transform: rotate(90deg); }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details > div { padding: 0 48px 24px 0; color: #5f5b53; font-size: .84rem; }
.faq-list details > div p { margin: 0; }
.city-discovery { display: grid; grid-template-columns: minmax(250px,.45fr) minmax(600px,1.55fr); align-items: end; gap: 70px; margin-top: 64px; }
.city-discovery__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.city-discovery__links a { display: grid; position: relative; grid-template-columns: minmax(0,1fr) auto; padding: 20px 22px; border: 1px solid rgba(13,16,20,.14); border-radius: 13px; color: #171a1d; background: rgba(255,255,255,.38); text-decoration: none; transition: background .18s,transform .18s; }
.city-discovery__links a:hover { color: #171a1d; background: rgba(255,255,255,.7); transform: translateY(-2px); }
.city-discovery__links span, .city-discovery__links small { color: #6d675d; font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.city-discovery__links strong { grid-column: 1; font-family: var(--display); font-size: 1.7rem; font-weight: 400; line-height: 1; }
.city-discovery__links small { grid-column: 1; margin-top: 8px; }
.city-discovery__links i { grid-column: 2; grid-row: 1 / span 3; align-self: center; color: #8b6827; font-style: normal; }

.city-demography-section { color: #171a1d; border-top: 1px solid rgba(13,16,20,.12); background: #f3eee3; }
.city-demography-section .eyebrow { color: #765511; }
.city-demography-heading h2 { max-width: 780px; }
.city-demography-heading .section-intro { color: #5f5b53; }
.city-demography-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); align-items: start; gap: 64px; }
.city-demography-summary, .population-pyramid-card { min-width: 0; }
.city-demography-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 0; }
.city-demography-facts > div { min-width: 0; padding: 18px 19px; border: 1px solid rgba(13,16,20,.13); border-radius: 12px; background: rgba(255,255,255,.55); }
.city-demography-facts > div:last-child { grid-column: 1 / -1; }
.city-demography-facts dt { color: #716b61; font-size: .59rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.city-demography-facts dd { margin: 7px 0 2px; color: #765511; font-family: var(--display); font-size: 2rem; line-height: 1; letter-spacing: -.025em; }
.city-demography-facts small { color: #6b6962; font-size: .61rem; }
.city-demography-facts > div.city-coverage-fact { padding-block: 11px; }
.city-coverage-meter { display: flex; min-width: 0; align-items: center; gap: 12px; margin-block: 2px 0; }
.coverage-gauge { display: grid; position: relative; width: 58px; min-width: 58px; height: 43px; place-items: end center; }
.coverage-gauge svg { position: absolute; inset: 0 auto auto; width: 56px; height: 32px; overflow: visible; }
.coverage-gauge__arc { fill: none; stroke: #d8d2c7; stroke-linecap: round; stroke-width: 7; }
.coverage-gauge--low .coverage-gauge__arc--low, .coverage-gauge--medium .coverage-gauge__arc--medium, .coverage-gauge--high .coverage-gauge__arc--high { stroke: #a77d2c; }
.coverage-gauge__needle { stroke: #262a2a; stroke-linecap: round; stroke-width: 2.2; }
.coverage-gauge circle { fill: #262a2a; }
.coverage-gauge > b { color: #5d4517; font-family: var(--sans); font-size: .56rem; font-weight: 800; line-height: 1; }
.city-coverage-meter .city-coverage-meter__value { display: flex; min-width: 0; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; max-width: none; }
.city-coverage-meter__value > b { color: #765511; font-family: var(--display); font-size: 1.75rem; font-weight: 400; line-height: 1; }
.city-coverage-meter .city-coverage-meter__value > span { max-width: 140px; overflow-wrap: anywhere; color: #5f625e; font-family: var(--sans); font-size: .63rem; line-height: 1.25; letter-spacing: 0; }
.city-coverage-meter__copy > span, .city-coverage-meter__copy > em { display: block; }
.city-coverage-meter__copy > em { margin-top: 2px; color: #7a756d; font-size: .56rem; font-style: normal; }
.city-demography-caveat { padding: 17px 19px; margin: 10px 0 0; border-left: 3px solid #a77d2c; color: #5f5b53; background: rgba(255,255,255,.35); font-size: .69rem; }
.city-demography-caveat strong { color: #262a2a; }
.city-demography-sources { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 12px; margin-top: 11px; color: #6b6962; font-size: .62rem; }
.population-pyramid-card { padding: 28px 30px 25px; margin: 0; border: 1px solid rgba(13,16,20,.13); border-radius: 18px; background: rgba(255,255,255,.62); box-shadow: 0 22px 54px rgba(61,48,25,.08); }
.population-pyramid-card figcaption { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.population-pyramid-card figcaption > div { min-width: 0; max-width: 100%; }
.population-pyramid-card figcaption .eyebrow { margin-bottom: 6px; }
.population-pyramid-card h3 { margin: 0; overflow-wrap: anywhere; font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.population-pyramid-card figcaption > span { color: #6b6962; font-size: .61rem; }
.population-pyramid-legend { display: flex; justify-content: center; gap: 22px; margin-bottom: 2px; color: #66645e; font-size: .59rem; }
.population-pyramid-legend span { display: inline-flex; align-items: center; gap: 6px; }
.population-pyramid-legend i { width: 17px; height: 7px; border-radius: 999px; background: #92712f; }
.population-pyramid-legend span:last-child i { background: #b9a06a; }
.population-pyramid { width: 100%; border-collapse: separate; border-spacing: 0 5px; table-layout: fixed; }
.population-pyramid thead th { padding: 0 7px 5px; color: #706d66; font-size: .56rem; font-weight: 700; text-align: center; }
.population-pyramid thead th:first-child { text-align: right; }
.population-pyramid thead th:last-child { text-align: left; }
.population-pyramid tbody th { width: 54px; padding: 0 8px; color: #444744; font-size: .61rem; white-space: nowrap; text-align: center; }
.population-pyramid__value { position: relative; height: 30px; padding: 0 9px; overflow: hidden; border-radius: 7px; background: rgba(13,16,20,.035); font-size: .66rem; }
.population-pyramid__value i { position: absolute; top: 4px; bottom: 4px; width: var(--pyramid-width); border-radius: 5px; background: rgba(146,113,47,.68); }
.population-pyramid__value b { position: relative; z-index: 1; font-weight: 750; }
.population-pyramid__value--male { text-align: right; }
.population-pyramid__value--male i { right: 0; }
.population-pyramid__value--female { text-align: left; }
.population-pyramid__value--female i { left: 0; background: rgba(185,160,106,.72); }
.population-pyramid-note { margin: 14px 0 0; color: #6b6962; font-size: .6rem; }

.profile-hero { padding-block: 72px 76px; }
.profile-hero h1 { max-width: 980px; font-size: clamp(2.9rem, 5.4vw, 5.4rem); line-height: .94; overflow-wrap: anywhere; }
.profile-hero__content { max-width: 1040px; }
.profile-hero__grid > div:first-child > p { color: var(--muted); }
.profile-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.profile-radar-score { display: flex; width: 230px; height: 230px; align-items: center; justify-content: center; justify-self: end; flex-direction: column; border: 1px solid var(--line-gold); border-radius: 50%; background: radial-gradient(circle, rgba(215,180,91,.12), transparent 67%); }
.profile-radar-score small { color: var(--muted); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.profile-radar-score strong { color: var(--gold-light); font-family: var(--display); font-size: 5.6rem; font-weight: 400; line-height: .9; }
.profile-radar-score span { color: var(--muted); font-size: .7rem; }
.profile-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); align-items: start; gap: 55px; }
.profile-layout > * { min-width: 0; }
.profile-layout > article:only-child { grid-column: 1 / -1; max-width: 900px; }
.profile-layout article > h2, .content h2 { margin: 54px 0 20px; font-family: var(--display); font-size: 2.5rem; font-weight: 400; }
.profile-layout article > h2, .content h2 { overflow-wrap: anywhere; }
.profile-facts { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.profile-facts > div { padding: 20px; }
.profile-facts > div + div { border-left: 1px solid var(--line); }
.profile-facts span, .profile-facts small { display: block; color: var(--muted); font-size: .62rem; }
.profile-facts strong { display: block; color: var(--gold-light); font-family: var(--display); font-size: 1.9rem; font-weight: 400; }
.contact-list { padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.contact-list li { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); font-size: .86rem; }
.contact-list strong { color: var(--muted); font-size: .63rem; letter-spacing: .09em; text-transform: uppercase; }
.contact-list a { display: inline-flex; min-height: 44px; align-items: center; width: fit-content; }
.profile-details .contact-list a { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.contact-list__address > span > span { display: block; }
.contact-list__phone a { gap: 10px; color: #65470e; font-size: 1.125rem; font-weight: 780; letter-spacing: .01em; text-decoration: none; }
.contact-list__phone a svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-list__phone a span { overflow-wrap: normal; word-break: normal; }
.hours-disclosure summary { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; color: var(--gold-light); font-weight: 700; cursor: pointer; }
.hours-disclosure dl { width: min(100%, 370px); margin: 16px 0 8px; }
.hours-disclosure dl > div { display: flex; justify-content: space-between; gap: 24px; padding: 6px 0; border-bottom: 1px solid var(--line); }
.hours-disclosure dt { color: var(--muted); }
.hours-disclosure dd { margin: 0; font-variant-numeric: tabular-nums; }
.hours-disclosure small { color: var(--muted-dark); }
.hours-schedule { width: min(100%,370px); margin: 0; }
.hours-schedule > div { display: grid; grid-template-columns: minmax(90px,1fr) auto; gap: 24px; padding: 7px 0; border-bottom: 1px solid var(--line); }
.hours-schedule > div:first-child { padding-top: 0; }
.hours-schedule > div:last-child { padding-bottom: 0; border-bottom: 0; }
.hours-schedule dt { color: var(--muted); }
.hours-schedule dd { margin: 0; font-variant-numeric: tabular-nums; text-align: right; }
.review-box { padding: 25px; margin: 34px 0; border: 1px solid var(--line-gold); border-radius: var(--radius); background: rgba(215,180,91,.045); }
.review-box__rating { color: var(--gold-light); font-family: var(--display); font-size: 2.2rem; }
.review-box__rating small { color: var(--muted); font-family: var(--sans); font-size: .72rem; }
.review-box > p:last-child { color: var(--muted); font-size: .76rem; }
.review-box a { display: inline-flex; min-height: 44px; align-items: center; }
.branch-network { padding-top: 52px; margin-top: 52px; border-top: 1px solid var(--line); }
.profile-layout article > .branch-network h2 { margin: 0; }
.branch-network__intro { max-width: 690px; margin: 12px 0 23px; color: var(--muted); font-size: .76rem; }
.branch-network__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.branch-network__grid a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 14px; min-height: 82px; align-content: center; padding: 15px 17px; color: var(--ivory); border: 1px solid var(--line); border-radius: 12px; background: var(--panel); text-decoration: none; }
.branch-network__grid a:hover { color: var(--ivory); border-color: var(--line-gold); }
.branch-network__grid strong { overflow-wrap: anywhere; font-family: var(--display); font-size: 1.12rem; font-weight: 400; line-height: 1.15; }
.branch-network__grid small { grid-column: 1; color: var(--muted); font-size: .62rem; }
.branch-network__grid span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--gold-light); }
.branch-city-next { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 23px 24px; margin-top: 32px; border: 1px solid var(--line-gold); border-radius: 15px; background: rgba(215,180,91,.055); }
.branch-city-next span { display: block; color: var(--muted); font-size: .62rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.branch-city-next strong { display: block; font-family: var(--display); font-size: 1.35rem; font-weight: 400; }
.editorial-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 20px; margin-top: 32px; border-left: 2px solid var(--gold); background: var(--panel); font-size: .76rem; }
.editorial-note a { display: inline-flex; min-height: 44px; align-items: center; }
.profile-panel { position: sticky; top: 110px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.score-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 18px; padding: 12px 0; }
.score-row > div span { color: var(--muted); font-size: .68rem; }
.score-row i { display: block; height: 3px; margin-top: 7px; overflow: hidden; background: rgba(255,255,255,.08); }
.score-row i b { display: block; height: 100%; background: var(--gold); }
.score-row > strong { font-family: var(--display); font-weight: 400; }
.profile-panel > .text-link { display: inline-block; margin-top: 20px; }

.empty-state { padding: 48px; border: 1px dashed var(--line-gold); border-radius: var(--radius); background: var(--panel); text-align: center; }
.empty-state strong { font-family: var(--display); font-size: 1.8rem; font-weight: 400; }
.empty-state p { color: var(--muted); }
.content { color: #c7c3ba; }

.site-footer { padding: 82px 0 28px; border-top: 1px solid var(--line); background: #07080a; }
.footer-lead { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-bottom: 58px; border-bottom: 1px solid var(--line); }
.footer-lead__title { font-size: clamp(2.7rem, 5vw, 5rem); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; padding: 45px 0; }
.footer-grid p { max-width: 480px; color: var(--muted); font-size: .82rem; }
.footer-nav-title { color: var(--gold); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid ul { padding: 0; margin: 0; list-style: none; }
.footer-grid li { margin: 7px 0; }
.footer-grid a { color: var(--paper); font-size: .78rem; text-decoration: none; }
.footer-bottom { padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted-dark); font-size: .65rem; }
.footer-brand { display: inline-flex; min-height: 40px; align-items: center; gap: 10px; color: var(--ivory); text-decoration: none; }
.footer-brand__mark { display: block; width: 32px; height: 32px; flex: 0 0 32px; }
.footer-brand__word { display: flex; align-items: baseline; font-family: var(--display); font-size: 1.35rem; line-height: 1; letter-spacing: -.045em; }
.footer-brand__word strong { color: var(--gold-light); font-weight: 400; }
.footer-legal { margin: 10px 0 0; color: var(--muted-dark); font-size: .65rem; line-height: 1.55; }
.footer-legal a { color: var(--gold-light); }

/* Light editorial system: dark is now reserved for trust moments and the footer. */
html { color-scheme: light; }
body { color: #1d2324; background: #f6f1e8; }
a { color: #765511; }
a:hover { color: #171c1d; }
select { color-scheme: light; }
.section--raised { border-color: #d9d1c4; background: #eee8de; }
.section-intro, .lede { color: #5e615e; }
.section--raised .section-disclosure { color: #555b59; }
.eyebrow { color: #765511; }
.method-section .eyebrow { color: #765511; }

.site-header { border-color: rgba(29,35,36,.12); background: rgba(250,247,240,.94); box-shadow: 0 8px 34px rgba(52,42,24,.06); }
.brand, .brand:hover { color: #1d2324; }
.brand-word strong { color: #a4751d; }
.brand-tagline { color: #67655f; }
.primary-nav a { color: #404545; }
.primary-nav a:hover, .nav-cta a { color: #795612; }
.menu-toggle { border-color: rgba(29,35,36,.18); }
.menu-toggle span[aria-hidden]::before, .menu-toggle span[aria-hidden]::after { background: #1d2324; }

.hero { color: #1d2324; border-color: #d9d1c4; background: radial-gradient(circle at 76% 42%, rgba(199,156,65,.2), transparent 30%), linear-gradient(145deg,#fcfaf4 0%,#eee6d8 76%); }
.hero::before { opacity: .7; background-image: linear-gradient(rgba(29,35,36,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(29,35,36,.035) 1px,transparent 1px); }
.hero-glow { background: rgba(199,156,65,.14); }
.hero h1 em, .directory-hero h1 em, .location-hero h1 em { color: #9a701f; }
.hero-copy { color: #555b59; }
.finder > label { color: #343a39; }
.finder__controls { border-color: #d4cabc; background: rgba(255,253,248,.9); box-shadow: 0 18px 55px rgba(61,48,25,.11); }
.finder select { color: #1d2324; }
.finder select option { color: #1d2324; background: #fffdf8; }
.button--ghost { color: #242a2a; border-color: rgba(29,35,36,.2); background: rgba(255,255,255,.35); }
.button--ghost:hover { color: #171c1d; border-color: rgba(154,112,31,.55); background: rgba(255,255,255,.7); }
.hero-assurance, .location-hero__assurance { color: #666965; }
.home-city-picker > p { color: #343a39; }
.home-city-picker a { color: #252b2b; border-color: #d4cabc; background: rgba(255,253,248,.82); box-shadow: 0 10px 28px rgba(61,48,25,.06); }
.home-city-picker a:hover { color: #1d2324; border-color: rgba(154,112,31,.52); background: #fffaf0; }
.home-city-picker small { color: #72736e; }
.hero-radar::before, .radar-orbit { border-color: rgba(75,64,44,.15); }
.radar-core { border-color: rgba(154,112,31,.38); background: radial-gradient(circle at 35% 28%,#fffdf7,#e8dcc4 68%); box-shadow: 0 25px 70px rgba(72,56,28,.12),inset 0 0 40px rgba(199,156,65,.1); }
.radar-core small { color: #686a66; }
.radar-core strong, .radar-point span { color: #8c651d; }
.radar-core span { color: #343a39; }
.radar-point { color: #252b2b; border-color: #d8d0c3; background: rgba(255,253,248,.94); box-shadow: 0 16px 45px rgba(61,48,25,.12); }

.proof-strip, .signal-strip { color: #1d2324; border-color: #d9d1c4; background: #fffdf8; }
.proof-grid > div, .signal-strip__grid > div { border-color: #d9d1c4; }
.proof-grid strong, .signal-strip b { color: #9a701f; }
.proof-grid span, .signal-strip span { color: #676a66; }
.score small { color: #66645e; }
.method-list > li > span { color: #765511; }

.city-section { background: linear-gradient(180deg,#f6f1e8,#eee7dc); }
.city-feature { color: #1d2324; border-color: #d7cfc2; background: linear-gradient(145deg,#fffdf8,#e9e1d5); box-shadow: 0 20px 55px rgba(61,48,25,.08); }
.city-feature::after { border-color: rgba(29,35,36,.08); }
.city-feature--gold { border-color: rgba(166,122,35,.4); background: linear-gradient(145deg,#f4e7c7,#fffaf0 68%); }
.city-feature__top { color: #686a66; }
.city-feature li { color: #525856; border-color: #d9d1c4; }
.city-feature li b { color: #8d6519; }

.listing-card { color: #1d2324; border-color: #d7cfc2; background: linear-gradient(145deg,#fffdf9,#f2ece2); box-shadow: 0 13px 35px rgba(61,48,25,.055); }
.listing-card:hover { border-color: rgba(166,122,35,.56); box-shadow: 0 22px 60px rgba(61,48,25,.13); }
.listing-card h2 a, .listing-card h3 a { color: #202627; }
.brand-chip { color: #805b15; background: rgba(199,156,65,.08); }
.brand-chip--neutral { color: #696b67; border-color: #d7cfc2; background: transparent; }
.freshness, .listing-card__address, .rating small, .icon-link { color: #6f716d; }
.listing-card__hours { color: #6d706c; }
.listing-card__hours strong { color: #3b413f; }
.listing-card__hours small { color: #686b67; }
.listing-card__hours span { color: #85857f; }
.listing-card__hours--open strong { color: #376541; }
.listing-card .review-evidence { color: #646762; }
.listing-card .recent-signal { color: #3f674c; background: #e3efe6; }
.score { background: #f7ecd0; }
.score span { color: #805b15; }
.score small { color: #74736c; }
.listing-card__actions { border-color: #ddd5c9; }

.breadcrumbs { color: #666862; background: #f6f1e8; }
.breadcrumbs a { color: #686b67; }
.breadcrumbs li:not(:last-child)::after { color: #aaa399; }
.directory-hero, .location-hero, .profile-hero { color: #1d2324; border-color: #d9d1c4; background: radial-gradient(circle at 82% 34%,rgba(199,156,65,.18),transparent 31%),linear-gradient(145deg,#fbf8f1,#e9e1d5); }
.directory-hero::before, .location-hero::before, .profile-hero::before { opacity: .45; background-image: linear-gradient(90deg,transparent 49.8%,rgba(29,35,36,.055) 50%,transparent 50.2%); }
.directory-hero__grid > div:last-child > p, .profile-hero__grid > div:first-child > p, .taxonomy-intro { color: #5d615e; }
.directory-hero__proof { color: #666862; }
.directory-hero__proof strong { color: #303635; }
.city-index-card { color: #1d2324; border-color: #d7cfc2; background: #fffdf8; }
.city-index-card:hover { color: #1d2324; border-color: rgba(166,122,35,.55); }
.city-index-card > span { color: #765511; }
.city-index-card p { color: #686b67; }

.atlas-section, .city-atlas-section { color: #1d2324; border-color: #d9d1c4; background: radial-gradient(circle at 76% 32%,rgba(199,156,65,.14),transparent 32%),#eee8de; }
.italy-map-shell, .city-map-shell { border-color: #cec5b7; background: radial-gradient(circle at 50% 44%,rgba(199,156,65,.14),transparent 52%),linear-gradient(145deg,#faf7f0,#ddd6cb); box-shadow: 0 24px 65px rgba(61,48,25,.12); }
.italy-map-shell::before, .city-map-shell::before { border-color: rgba(29,35,36,.055); }
.italy-region path { fill: #c5beb2; stroke: #f7f3eb; }
.italy-region--active path { fill: #b58b39; stroke: #805e1c; }
.italy-region--planned:hover path, .italy-region--planned:focus path, .italy-region--planned.is-previewed path { fill: #aaa397; stroke: #69675f; }
.city-map__context { fill: #ded8ce; stroke: #aaa397; }
.city-area path { fill: #bdb6ab; stroke: #f6f1e8; }
.city-area--active path { fill: #b58b39; stroke: #765511; }
.city-area__marker circle { fill: #9c978f; stroke: #f7f3eb; }
.city-area__marker text { fill: #fffdf8; }
.map-legend { color: #676a66; border-color: #cfc7ba; }
.map-credit, .map-credit a { color: #6f706a; }
.atlas-status { border-color: rgba(166,122,35,.38); background: rgba(255,253,248,.72); }
.atlas-status > p:not(.eyebrow) { color: #5d615e; }
.region-city-link { color: #303635; border-color: #d0c19f; background: #fffaf0; }
.region-city-link:hover, .region-city-link:focus { color: #1d2324; border-color: #9b7429; background: #fffdf8; }
.region-city-link span { color: #765511; }
.region-city-link small { color: #656762; }
.region-index__item, .area-index__item { color: #303636; border-color: #d3cabc; background: rgba(255,253,248,.66); }
.region-map__shape { fill: rgba(199,156,65,.16); stroke: #9a701f; }
.region-map__point { color: #777970; }
.region-map__point.is-capital { color: #9a701f; }
.region-map__dot { stroke: #fffaf0; }
.region-map__point.is-released .region-map__dot { stroke: #303635; }
.region-map__point text { fill: #303635; stroke: #faf7f0; }
.region-map-note, .region-city-finder label, .region-city-finder p { color: #666862; }
.region-index__item:hover, .region-index__item:focus, .region-index__item.is-previewed, .area-index__item:hover, .area-index__item:focus, .area-index__item.is-previewed { color: #1d2324; border-color: rgba(166,122,35,.5); background: #fffaf0; }
.region-index__item small, .area-index__item > b, .area-index__item small { color: #686a64; }
.area-index__item.is-active small { color: #765511; }

.location-visual__frame { box-shadow: 0 25px 70px rgba(61,48,25,.16); }
.location-summary { color: #1d2324; background: #fffaf0; }
.location-summary--overlay { background: rgba(255,252,244,.94); box-shadow: 0 14px 36px rgba(61,48,25,.2); }
.location-summary > p { color: #6d6e68; }
.location-summary > strong { color: #8c651d; }
.location-summary > span { color: #303635; }
.location-summary__metrics strong, .location-summary__metrics span { color: #694d18; }
.location-summary--overlay .location-summary__metrics strong, .location-summary--overlay .location-summary__density-icon { border-left-color: rgba(105,77,24,.22); }
.location-summary--overlay > small { color: #777b74; }
.city-subnav { border-color: rgba(29,35,36,.12); background: rgba(255,252,244,.96); box-shadow: 0 8px 28px rgba(61,48,25,.07); }
.city-subnav span { color: #817b70; }
.city-subnav a { color: #4d3913; }
.zone-list a { color: #303635; border-color: #d3cabc; background: #fffdf8; }

.listings-section { color: #1d2324; background: #f6f1e8; }
.listings-count, .filter-form label span, .filter-form__actions a { color: #696c68; }
.open-now-summary button, .open-now-summary__status { color: #2d3331; }
.open-now-summary small, .open-now-summary > a { color: #696c68; }
.filter-form select, .filter-form input { color: #222829; border-color: #d2c9bc; background: #fffdf8; }
.filter-form input::placeholder { color: #8a8b85; }
.ranking-note { border-color: #d4ccbf; background: #fffaf0; }
.ranking-note p { color: #616561; }
.ranking-note p strong { color: #292f2f; }
.pagination .page-numbers { color: #303635; border-color: #d3cabc; background: #fffdf8; }

.profile-radar-score { background: radial-gradient(circle,#f4e3b8,transparent 68%); }
.profile-radar-score small, .profile-radar-score span { color: #666a66; }
.profile-radar-score strong, .profile-facts strong, .review-box__rating { color: #8c651d; }
.profile-facts, .profile-panel, .editorial-note, .empty-state { color: #1d2324; border-color: #d5cdbf; background: #fffdf8; }
.profile-facts > div + div, .contact-list, .contact-list li, .hours-disclosure dl > div { border-color: #d9d1c4; }
.profile-facts span, .profile-facts small, .contact-list strong, .hours-disclosure dt, .review-box > p:last-child, .empty-state p { color: #686b67; }
.hours-disclosure summary { color: #765511; }
.review-box { background: #fff8e8; }
.score-row > div span { color: #686b67; }
.score-row i { background: #e4ddd2; }
.content { color: #4f5553; }
.branch-network { border-color: #d9d1c4; }
.branch-network__intro { color: #686b67; }
.branch-network__grid a { color: #202627; border-color: #d7cfc2; background: #fffdf8; }
.branch-network__grid a:hover { color: #202627; border-color: rgba(166,122,35,.56); background: #fffaf0; }
.branch-network__grid small { color: #686b67; }
.branch-network__grid span { color: #805b15; }
.branch-city-next { color: #1d2324; border-color: rgba(166,122,35,.4); background: #fff8e8; }
.branch-city-next span { color: #686b67; }

.legal-checklist, .site-footer { color: var(--ivory); }
.legal-checklist a { color: var(--gold-light); }
.legal-checklist a:hover, .site-footer a:hover { color: var(--ivory); }
.site-footer .eyebrow { color: var(--gold); }

/* Quotazioni: market reference and independently observed shop prices. */
.quote-hero { position: relative; overflow: hidden; padding: 78px 0 88px; border-bottom: 1px solid #d9d1c4; background: radial-gradient(circle at 82% 28%,rgba(199,156,65,.25),transparent 27%),linear-gradient(145deg,#fbf8f1,#e9e1d5); }
.quote-hero::before { position: absolute; inset: 0; opacity: .45; pointer-events: none; background-image: linear-gradient(rgba(29,35,36,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(29,35,36,.04) 1px,transparent 1px); background-size: 72px 72px; content: ""; mask-image: linear-gradient(to bottom,black,transparent 92%); }
.quote-hero__grid { display: grid; position: relative; z-index: 1; grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr); align-items: center; gap: 72px; }
.quote-hero h1 { max-width: 760px; margin: 0; font-family: var(--display); font-size: clamp(4rem,7vw,6.6rem); font-weight: 400; line-height: .87; letter-spacing: -.06em; }
.quote-hero h1 em { color: #9a701f; font-style: italic; font-weight: 400; }
.quote-hero__copy > p:not(.eyebrow) { max-width: 660px; margin: 28px 0 0; color: #555b59; font-size: 1.06rem; }
.quote-hero__links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 31px; }
.market-price-card { padding: 31px; color: #fffaf0; border: 1px solid rgba(224,190,108,.36); border-radius: 25px; background: radial-gradient(circle at 88% 13%,rgba(215,180,91,.23),transparent 28%),linear-gradient(145deg,#252a2d,#111517); box-shadow: 0 28px 75px rgba(61,48,25,.2); }
.market-price-card--purities { container-type: inline-size; }
.market-price-card__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding-bottom: 13px; border-bottom: 1px solid rgba(247,243,233,.13); }
.market-price-card__heading span { color: #d9d6cf; font-size: .7rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.market-price-card__heading time { color: #aaa69e; font-size: .62rem; text-align: right; }
.market-price-card__purities { display: grid; gap: 0; }
.market-purity { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 10px; color: #fffaf0; border-bottom: 1px solid rgba(247,243,233,.13); text-decoration: none; }
.market-purity:hover { color: #fffaf0; background: rgba(255,255,255,.055); }
.market-purity:focus-visible { position: relative; z-index: 1; }
.market-purity > span { display: flex; align-items: baseline; gap: 8px; }
.market-purity > span b { min-width: 38px; color: #f0d58d; font-family: var(--display); font-size: 1.32rem; font-weight: 400; }
.market-purity > span small { color: #aaa69e; font-size: .65rem; }
.market-purity > strong { color: #fffaf0; font-family: var(--display); font-size: 1.58rem; font-weight: 400; letter-spacing: -.025em; white-space: nowrap; }
.market-purity > strong small { margin-left: 4px; color: #aaa69e; font-family: var(--sans); font-size: .6rem; }
.market-purity.is-featured { padding-inline: 10px; border-color: rgba(240,213,141,.32); background: rgba(215,180,91,.11); }
.market-purity.is-featured > span b,.market-purity.is-featured > strong { color: #f0d58d; }
.market-price-card > p.market-price-card__note { margin: 14px 0 1px; color: #cbc6bc; font-size: .67rem; }
.market-price-card > small { color: #8e8b85; font-size: .62rem; }
.market-price-card > small a { display: inline-flex; min-height: 44px; align-items: center; color: #d8bd78; }
.market-price-card.is-stale { border-color: rgba(213,151,117,.55); }
.market-unavailable { display: grid; gap: 10px; padding: 30px; border: 1px solid #d2c8b9; border-radius: 25px; background: #fffdf8; box-shadow: 0 28px 75px rgba(61,48,25,.16); }
.market-unavailable h2 { margin: 0; color: #2f3534; font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1.05; }
.market-unavailable p:not(.eyebrow) { max-width: 440px; margin: 0; color: #5f625e; font-size: .8rem; }

.quote-section { padding: 96px 0; }
.quote-section--market { background: #f6f1e8; }
.quote-section--shops { border-block: 1px solid #d9d1c4; background: #ece5da; }
.quote-section--shops .quote-section__head h2 { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.025em; }
.quote-sources-list { columns: 3 280px; column-gap: 28px; padding: 0; margin: 16px 0; list-style: none; }
.quote-sources-toggle > summary { min-height: 44px; padding: 12px 0; color: #413416; font-size: .9rem; font-weight: 600; cursor: pointer; }
.quote-source { break-inside: avoid; margin: 0; padding: 0; overflow-wrap: anywhere; }
.quote-source > a { display: block; min-height: 32px; padding: 5px 0; color: #413416; font-size: .85rem; font-weight: 400; line-height: 1.4; text-decoration: underline; text-underline-offset: 3px; }
.quote-source > a > span[aria-hidden] { white-space: nowrap; }
@media(max-width:720px), (pointer:coarse) { .quote-source > a { min-height: 44px; padding-block: 10px; } }
.quote-sources-note { font-size: .9rem; color: #4c524d; }
.quote-sources-note a { display: inline-block; padding-block: 12px; text-decoration: underline; }
.quote-source > a:focus-visible, .quote-sources-note a:focus-visible, .quote-sources-toggle > summary:focus-visible { outline: 3px solid #1d2324; outline-offset: 3px; }
.quote-section__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,.55fr); align-items: end; gap: 70px; margin-bottom: 40px; }
.quote-section__head h2,.quote-method h2 { max-width: 760px; margin: 0; font-family: var(--display); font-size: clamp(3rem,6vw,5.2rem); font-weight: 400; line-height: .92; letter-spacing: -.05em; }
.quote-section__head > p { margin: 0; color: #626561; font-size: .87rem; }
.quote-section--chart { padding-bottom: 74px; border-bottom: 1px solid #d9d1c4; background: #f0eadf; }
.quote-chart-heading { margin-bottom: 30px; }
.gold-chart { padding: 30px; border: 1px solid #d2c8b8; border-radius: 24px; background: #fffdf8; box-shadow: 0 22px 58px rgba(67,51,23,.09); }
.gold-chart__header { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(470px,1.2fr); align-items: end; gap: 35px; padding-bottom: 24px; border-bottom: 1px solid #e2dbcf; }
.gold-chart__latest > span { display: block; color: #6c6e69; font-size: .65rem; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
.gold-chart__latest > strong { display: block; margin: 6px 0 3px; color: #765511; font-family: var(--display); font-size: clamp(2.8rem,5vw,4.4rem); font-weight: 400; line-height: .9; letter-spacing: -.045em; white-space: nowrap; }
.gold-chart__latest > strong small { margin-left: 5px; color: #777872; font-family: var(--sans); font-size: .65rem; letter-spacing: 0; }
.gold-chart__latest > p { margin: 8px 0 0; color: #4e6452; font-size: .72rem; font-weight: 760; }
.gold-chart__latest > p small { margin-left: 5px; color: #777872; font-weight: 600; }
.gold-chart__ranges { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.gold-chart__ranges button { min-height: 44px; padding: 8px 9px; border: 1px solid #d1c7b8; border-radius: 9px; color: #434846; background: #f7f2e9; font-size: .66rem; font-weight: 760; cursor: pointer; }
.gold-chart__ranges button:hover:not(:disabled) { border-color: #a4751d; background: #fff8e8; }
.gold-chart__ranges button[aria-pressed="true"] { color: #fffaf0; border-color: #282e2f; background: #282e2f; }
.gold-chart__ranges button:disabled { opacity: .42; cursor: not-allowed; }
.gold-chart__summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 4px; border-bottom: 1px solid #e2dbcf; }
.gold-chart__summary > div { min-width: 0; padding: 20px 16px 18px; }
.gold-chart__summary > div + div { border-left: 1px solid #e2dbcf; }
.gold-chart__summary span,.gold-chart__summary strong { display: block; }
.gold-chart__summary span { color: #6c6e69; font-size: .6rem; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.gold-chart__summary strong { margin-top: 5px; color: #303635; font-family: var(--display); font-size: 1.45rem; font-weight: 400; line-height: 1; white-space: nowrap; }
.gold-chart__summary strong small { margin-left: 3px; color: #777872; font-family: var(--sans); font-size: .58rem; }
.gold-chart__summary strong.is-positive,.gold-chart__summary strong.is-negative { color: #4e6452; }
.gold-chart__plot { position: relative; min-width: 0; margin-top: 23px; }
.gold-chart__plot svg { display: block; width: 100%; height: auto; overflow: visible; touch-action: pan-y; }
.gold-chart__gridline { stroke: #e5ded2; stroke-width: 1; vector-effect: non-scaling-stroke; }
.gold-chart__axis-label { fill: #747670; font-family: var(--sans); font-size: 11px; font-weight: 650; }
.gold-chart__area { fill: #ead8a8; fill-opacity: .36; }
.gold-chart__line { fill: none; stroke: #a4751d; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; vector-effect: non-scaling-stroke; }
.gold-chart__average-line { fill: none; stroke: #5e6664; stroke-dasharray: 6 5; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; vector-effect: non-scaling-stroke; }
.gold-chart__point { fill: #fffdf8; stroke: #8e671a; stroke-width: 2; vector-effect: non-scaling-stroke; }
.gold-chart__marker { fill: #1f2526; stroke: #f0d58d; stroke-width: 3; vector-effect: non-scaling-stroke; pointer-events: none; }
.gold-chart__marker[hidden] { display: none; }
.gold-chart__hit-area { fill: transparent; cursor: crosshair; }
.gold-chart__tooltip { position: absolute; z-index: 2; min-width: 138px; padding: 9px 11px; color: #fffaf0; border-radius: 9px; background: #202627; box-shadow: 0 8px 24px rgba(22,26,26,.18); pointer-events: none; }
.gold-chart__tooltip strong,.gold-chart__tooltip span { display: block; }
.gold-chart__tooltip strong { color: #f0d58d; font-size: .78rem; }
.gold-chart__tooltip span { margin-top: 2px; color: #d5d1c8; font-size: .58rem; }
.gold-chart__average-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; padding: 7px 0; border: 0; color: #59605e; background: transparent; font-size: .66rem; font-weight: 760; cursor: pointer; }
.gold-chart__average-toggle span { width: 24px; border-top: 2px dashed #5e6664; }
.gold-chart__average-toggle[aria-pressed="false"] { opacity: .62; }
.gold-chart__meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-top: 10px; border: 1px solid #ddd4c7; border-radius: 12px; background: #ddd4c7; }
.gold-chart__meta > div { min-width: 0; padding: 13px 14px; background: #faf7f0; }
.gold-chart__meta span,.gold-chart__meta strong { display: block; overflow-wrap: anywhere; }
.gold-chart__meta span { color: #777872; font-size: .56rem; text-transform: uppercase; }
.gold-chart__meta strong { margin-top: 3px; color: #353b3a; font-size: .68rem; }
.gold-chart__notes { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 14px; color: #6b6e69; font-size: .62rem; }
.gold-chart__notes p { margin: 0; }
.gold-chart__notes a { min-height: 44px; display: inline-flex; flex: 0 0 auto; align-items: center; color: #765511; font-weight: 760; text-decoration: none; }
.gold-chart__data { margin-top: 6px; border-top: 1px solid #e3dcd1; }
.gold-chart__data summary { min-height: 44px; display: inline-flex; align-items: center; color: #765511; font-size: .68rem; font-weight: 760; cursor: pointer; }
.gold-chart__data > div { overflow-x: auto; }
.gold-chart__data table { width: 100%; border-collapse: collapse; color: #3d4341; font-size: .68rem; }
.gold-chart__data th,.gold-chart__data td { padding: 9px 10px; border-top: 1px solid #e3dcd1; text-align: left; }
.gold-chart__data th:last-child,.gold-chart__data td:last-child { text-align: right; }
.karat-price-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.karat-price-card { min-width: 0; padding: 23px; border: 1px solid #d6cdbf; border-radius: 15px; background: #fffdf8; }
.karat-price-card > span { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: #343a39; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.karat-price-card > span b { min-width: 0; overflow-wrap: anywhere; }
.karat-price-card > span small,.karat-price-card > small { color: #62645f; font-size: .75rem; font-weight: 650; line-height: 1.35; }
.karat-price-card > strong { display: block; overflow: hidden; margin: 22px 0 2px; color: #765511; font-family: var(--display); font-size: clamp(1.8rem,3vw,2.65rem); font-weight: 400; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.karat-price-card.is-featured { border-color: rgba(166,122,35,.55); background: #fff5dc; box-shadow: 0 15px 36px rgba(84,62,23,.1); }
.karat-reference-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 34px 0 12px; color: #626561; }
.karat-reference-head strong { color: #303635; font-family: var(--display); font-size: 1.35rem; font-weight: 400; }
.karat-reference-head span { font-size: .75rem; }
.gold-calculator { display: grid; grid-template-columns: minmax(300px,1.2fr) repeat(2,minmax(150px,.55fr)) minmax(240px,.8fr); align-items: end; gap: 18px; padding: 30px; border: 1px solid #d3c9ba; border-radius: 22px; background: #fffdf8; box-shadow: 0 18px 48px rgba(61,48,25,.08); }
.gold-calculator h3 { margin: 0; font-family: var(--display); font-size: 2.1rem; font-weight: 400; line-height: 1; }
.gold-calculator > div:first-child > p:not(.eyebrow) { max-width: 470px; margin: 11px 0 0; color: #676a66; font-size: .76rem; }
.gold-calculator label > span { display: block; margin-bottom: 7px; color: #525754; font-size: .75rem; font-weight: 760; }
.gold-calculator input,.gold-calculator select { width: 100%; min-height: 50px; padding: 10px 13px; border: 1px solid #cfc5b7; border-radius: 10px; color: #222829; background: #faf7f0; }
.gold-calculator .field-help { display: block; margin-top: 5px; color: #62645f; font-size: .75rem; line-height: 1.35; }
.gold-calculator.has-error input { border-color: #a34736; box-shadow: 0 0 0 2px rgba(163,71,54,.1); }
.calculator-input { display: flex; position: relative; align-items: center; }
.calculator-input input { padding-right: 38px; }
.calculator-input b { position: absolute; right: 14px; color: #777872; font-size: .72rem; }
.calculator-result { min-height: 90px; display: flex; justify-content: center; flex-direction: column; padding: 15px 19px; border-radius: 13px; color: #fffaf0; background: #202628; }
.calculator-result span,.calculator-result small { color: #cbc6bc; font-size: .75rem; }
.calculator-result strong { color: #f0d58d; font-family: var(--display); font-size: 2.2rem; font-weight: 400; line-height: 1.05; }

.shop-quote-list { display: grid; gap: 12px; }
.shop-quote-card { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(250px,.8fr) minmax(300px,1.2fr); align-items: center; gap: 30px; padding: 26px 28px 17px; border: 1px solid #d2c8b9; border-radius: 18px; background: #fffdf8; box-shadow: 0 12px 32px rgba(61,48,25,.055); }
.shop-quote-card__identity > span { color: #9a701f; font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.shop-quote-card__identity h3 { margin: 3px 0 6px; font-family: var(--display); font-size: 1.85rem; font-weight: 400; line-height: 1; }
.quote-source-link { display: inline-flex; min-height: 44px; align-items: center; color: #765511; font-size: .72rem; font-weight: 760; text-decoration: none; }
.shop-quote-card__primary { padding-left: 28px; border-left: 1px solid #ded6c9; }
.shop-quote-card__primary > span { display: block; color: #6a6d69; font-size: .62rem; }
.shop-quote-card__primary > strong { display: block; margin: 3px 0; color: #765511; font-family: var(--display); font-size: clamp(2rem,4vw,3rem); font-weight: 400; line-height: 1; white-space: nowrap; }
.shop-quote-card__primary > strong small { margin-left: 4px; color: #777872; font-family: var(--sans); font-size: .62rem; }
.shop-quote-card__primary > b { color: #4d6250; font-size: .62rem; font-weight: 700; }
.shop-quote-card__details { min-width: 0; }
.shop-quote-card__details summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 14px; color: #4f4c43; border: 1px solid #d8cdbb; border-radius: 10px; background: #f8f3e9; font-size: .72rem; font-weight: 760; cursor: pointer; list-style: none; }
.shop-quote-card__details summary::-webkit-details-marker { display: none; }
.shop-quote-card__details summary::after { color: #9a701f; font-size: 1rem; content: "+"; }
.shop-quote-card__details[open] summary::after { content: "−"; }
.shop-quote-card__conditions { padding: 14px 3px 8px; color: #646762; font-size: .72rem; }
.shop-quote-card__conditions > strong { color: #303635; font-size: .7rem; }
.shop-quote-card__conditions ul { padding-left: 18px; margin: 8px 0 0; }
.shop-quote-card__conditions li + li { margin-top: 5px; }
.shop-quote-card__carats { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-quote-card__carats > span { min-width: 85px; display: grid; padding: 9px 11px; border: 1px solid #ddd5c8; border-radius: 9px; background: #faf7f0; }
.shop-quote-card__carats small { color: #797a75; font-size: .56rem; }
.shop-quote-card__carats b { color: #303636; font-size: .72rem; }
.shop-quote-card footer { display: flex; grid-column: 1 / -1; justify-content: space-between; gap: 20px; padding-top: 13px; border-top: 1px solid #e1d9cd; color: #7b7b75; font-size: .58rem; }
.shop-quote-card.is-stale { opacity: .72; }
.quote-scope-note { display: grid; grid-template-columns: auto 1fr minmax(280px,.85fr); align-items: center; gap: 4px 13px; padding: 15px 18px; margin: -12px 0 18px; color: #5d615e; border: 1px solid #d2c8b9; border-radius: 14px; background: rgba(255,253,248,.72); }
.quote-scope-note > strong { grid-row: 1 / span 2; color: #765511; font-family: var(--display); font-size: 2.3rem; font-weight: 400; }
.quote-scope-note > span { color: #303635; font-size: .74rem; font-weight: 780; }
.quote-scope-note > small { grid-column: 3; grid-row: 1 / span 2; color: #6f716d; font-size: .65rem; }
.quote-next-step { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 50px; padding: 28px 30px; margin-top: 28px; border: 1px solid #cfc4b3; border-radius: 18px; background: #fffaf0; }
.quote-next-step h3 { margin: 2px 0 7px; font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.quote-next-step p:not(.eyebrow) { max-width: 650px; margin: 0; color: #626561; font-size: .76rem; }
.quote-next-step__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.quote-empty { padding: 35px; border: 1px solid #d2c8b9; border-radius: 18px; background: #fffdf8; }
.quote-empty h3 { margin: 0; font-family: var(--display); font-size: 2rem; font-weight: 400; }
.quote-empty p { margin-bottom: 0; color: #666965; }
.quote-reference-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px 20px; padding: 24px 26px; border: 1px solid #d3c9ba; border-radius: 18px; background: #fffdf8; }
.quote-reference-note > strong { color: #303635; font-family: var(--display); font-size: 1.6rem; font-weight: 400; }
.quote-reference-note p { margin: 0; color: #765511; font-size: .9rem; }
.quote-reference-note span { color: #686b67; font-size: .72rem; }

.quote-section--guide { background: #fffdf8; }
.quote-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.quote-guide-grid article { min-width: 0; padding: 26px; border: 1px solid #d9d1c4; border-radius: 17px; background: #f8f3e9; }
.quote-guide-grid article > span { color: #765511; font-family: var(--display); font-size: 1.1rem; }
.quote-guide-grid h3 { margin: 18px 0 8px; color: #292f2f; font-family: var(--display); font-size: 1.8rem; font-weight: 400; line-height: 1; }
.quote-guide-grid p { margin: 0; color: #626561; font-size: .78rem; }
.quote-formula { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); align-items: center; gap: 40px; padding: 27px 30px; margin-top: 12px; color: #fffaf0; border-radius: 17px; background: #202628; }
.quote-formula > div { display: grid; gap: 4px; }
.quote-formula span { color: #d7b45b; font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.quote-formula strong { font-family: var(--display); font-size: 1.55rem; font-weight: 400; }
.quote-formula p { margin: 0; color: #c4c0b8; font-size: .78rem; }
.quote-18k { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 70px; padding-top: 72px; }
.quote-18k h2 { margin: 0; color: #292f2f; font-family: var(--display); font-size: clamp(2.8rem,5vw,4.4rem); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.quote-18k > div:last-child { columns: 2; column-gap: 38px; color: #5f625e; font-size: .84rem; }
.quote-18k > div:last-child p { margin: 0; }
.quote-18k > div:last-child p + p { margin-top: 18px; }
.quote-compare-checklist { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); align-items: center; gap: 50px; padding: 25px 28px; margin-top: 18px; border: 1px solid #cfc4b3; border-radius: 18px; background: rgba(255,253,248,.72); }
.quote-compare-checklist h3 { margin: 3px 0 0; color: #2c3232; font-family: var(--display); font-size: 1.8rem; font-weight: 400; line-height: 1; }
.quote-compare-checklist ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.quote-compare-checklist li { padding: 9px 12px; color: #575b57; border: 1px solid #d8cdbb; border-radius: 999px; background: #fffdf8; font-size: .7rem; }
.quote-faq { background: #fffdf8; }
.quote-faq__grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: 90px; }
.quote-faq__grid > div:first-child h2 { margin: 3px 0 18px; color: #292f2f; font-family: var(--display); font-size: clamp(2.8rem,5vw,4.5rem); font-weight: 400; line-height: .94; letter-spacing: -.045em; }
.quote-faq__grid > div:first-child > p:last-child { color: #656864; font-size: .82rem; }

.quote-method { color: #fffaf0; background: radial-gradient(circle at 18% 40%,rgba(215,180,91,.12),transparent 30%),#151a1d; }
.quote-method .eyebrow { color: var(--gold); }
.quote-method__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(440px,1.15fr); gap: 100px; }
.quote-method ol { padding: 0; margin: 0; list-style: none; }
.quote-method li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 21px 0; border-top: 1px solid rgba(247,243,233,.15); }
.quote-method li:last-child { border-bottom: 1px solid rgba(247,243,233,.15); }
.quote-method li > span { color: var(--gold); font-family: var(--display); }
.quote-method strong { font-family: var(--display); font-size: 1.45rem; font-weight: 400; }
.quote-method li p { margin: 4px 0 0; color: #aaa8a1; font-size: .78rem; }
.quote-correction { padding-top: 45px; }
.quote-correction p { margin: 0; color: #aaa8a1; font-size: .72rem; }
.quote-correction a { display: inline-flex; min-height: 44px; align-items: center; }

@media (max-width: 980px) {
	.hero-grid, .directory-hero__grid, .location-hero__grid, .profile-hero__grid, .method-grid, .profile-layout, .atlas-grid, .city-atlas-grid, .listings-toolbar, .city-decision-grid, .city-faq-grid, .city-discovery, .city-demography-grid { grid-template-columns: 1fr; }
	.region-discovery__grid { grid-template-columns: 1fr; grid-template-areas: "intro" "map" "panel"; gap: 24px; }
	.region-discovery__intro { padding-top: 0; }
	.region-discovery__intro > p:not(.eyebrow) { max-width: 620px; }
	.region-discovery__map, .region-explorer { width: min(100%,720px); margin-inline: auto; }
	.region-city-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hero-radar { width: min(80vw, 470px); justify-self: center; }
	.method-grid { gap: 55px; }
	.profile-radar-score { width: 180px; height: 180px; justify-self: start; }
	.profile-radar-score strong { font-size: 4.5rem; }
	.profile-panel { position: static; }
	.primary-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 24px; border-bottom: 1px solid rgba(29,35,36,.12); background: rgba(250,247,240,.99); box-shadow: 0 18px 36px rgba(52,42,24,.1); }
	.primary-nav.is-open { display: block; }
	.primary-nav ul { align-items: stretch; flex-direction: column; gap: 17px; }
	.menu-toggle { display: block; }
	.listings-toolbar { align-items: start; gap: 30px; }
	.listing-card__actions { justify-content: flex-end; gap: 8px; }
	.listing-card__actions .card-link,.listing-card__actions .icon-link--map { display: none; }
	.listing-card__actions .icon-link--photos { width: 46px; min-width: 46px; min-height: 46px; flex: 0 0 46px; padding: 0; border: 1px solid #d2c9bc; border-radius: 10px; color: #3f4543; background: #fffdf8; }
	.listing-card__actions .icon-link--directions,.listing-card__actions .icon-link--call { width: auto; min-width: 46px; min-height: 46px; flex: 1 1 105px; gap: 6px; padding: 0 12px; border: 1px solid #d2c9bc; border-radius: 10px; color: #3f4543; background: #fffdf8; }
	.listing-card__actions .icon-link--call { color: #17140d; border-color: #caa551; background: linear-gradient(135deg,var(--gold-light),var(--gold)); }
	.filter-form { grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; }
	.filter-form__search { grid-column: span 2; }
	.atlas-grid { gap: 32px; }
	.italy-map-shell { width: min(100%,620px); margin-inline: auto; }
	.city-map-shell { width: min(100%,720px); margin-inline: auto; }
	.city-local-note { grid-template-columns: minmax(0,1fr); gap: 18px; }
	.city-local-note > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
	.city-faq-intro { position: static; }
	.city-discovery { align-items: start; gap: 28px; }
	.city-demography-grid { gap: 34px; }
	.quote-hero__grid,.quote-method__grid { grid-template-columns: 1fr; gap: 45px; }
	.quote-section__head { grid-template-columns: 1fr; gap: 18px; }
	.market-price-card__purities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding-top: 9px; }
	.market-purity { border: 1px solid rgba(247,243,233,.13); border-radius: 9px; }
	.market-purity.is-featured { grid-column: 1 / -1; }
	.karat-price-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.gold-calculator { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gold-calculator > div:first-child,.calculator-result { grid-column: 1 / -1; }
	.shop-quote-card { grid-template-columns: minmax(180px,.7fr) minmax(230px,.8fr) 1fr; gap: 20px; }
}

@media (max-width: 720px) {
	.wrap, .narrow { width: min(calc(100% - 28px), var(--wrap)); }
	.header-inner { position: relative; justify-content: center; }
	.menu-toggle { position: absolute; left: 0; }
	.brand { max-width: calc(100% - 96px); gap: min(.75rem, 2vw); }
	.brand { min-height: 44px; }
	.brand-mark { flex: 0 0 40px; font-size: min(1.45rem, 7.5vw); }
	.brand-copy { width: 120px; height: 40px; min-width: 120px; min-height: 40px; flex: 0 0 120px; flex-direction: row; align-items: center; justify-content: center; }
	.brand-word { font-size: min(1.55rem, 8vw); }
	.brand-tagline { display: block; position: absolute; top: 34px; left: 50%; margin: 0; transform: translateX(-50%); text-align: center; }
	.section { padding: 72px 0; }
	.section__head { align-items: flex-start; flex-direction: column; gap: 18px; }
	.hero { min-height: auto; }
	.hero-grid { min-height: auto; grid-template-columns: minmax(0,1fr); gap: 0; padding-block: 24px 38px; }
	.hero-copy-block { min-width: 0; }
	.hero .hero-copy-block > .eyebrow { display: none; }
	.hero h1 { margin-bottom: 20px; font-size: clamp(2rem, 15vw, 4.65rem); }
	.hero-copy { margin-bottom: 24px; font-size: 1rem; line-height: 1.6; }
	.hero-radar { display: none; }
	.home-city-picker { width: 100%; max-width: 100%; min-width: 0; }
	.home-city-picker > div { display: flex; width: 100%; flex-wrap: wrap; overflow: visible; padding: 2px 0 10px; }
	.home-city-picker > div::-webkit-scrollbar { display: none; }
	.home-city-picker a { min-width: 0; min-height: 62px; flex: 1 1 132px; scroll-snap-align: none; }
	.home-city-picker span { white-space: normal; overflow-wrap: anywhere; }
	.home-city-picker__all { min-width: 0; flex-basis: 145px; }
	.quote-entry-strip { width: 100%; min-height: 48px; max-height: none; margin-top: 9px; }
	.quote-entry-strip strong { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
	.finder__controls { align-items: stretch; flex-direction: column; }
	.finder select, .filter-form select { width: 100%; }
	.filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.filter-form__search { grid-column: 1 / -1; }
	.filter-more__toggle { display: flex; min-height: 45px; grid-column: 1; grid-row: 2; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; border: 1px solid #d2c9bc; border-radius: 9px; color: #252b2b; background: #fffdf8; font-size: .72rem; font-weight: 760; cursor: pointer; }
	.filter-more__toggle small { margin-left: auto; color: #686a64; font-size: .58rem; font-weight: 650; }
	.filter-more__toggle i { width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s; }
	.filter-more__toggle[aria-expanded="true"] i { transform: rotate(225deg) translate(-2px,-2px); }
	.filter-more__fields { display: none; grid-column: 1 / -1; grid-row: 3; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
	.filter-more__fields.is-open { display: grid; }
	.filter-form__actions { grid-column: 2; grid-row: 2; justify-self: end; }
	.listings-section { padding-top: 54px; }
	.listings-toolbar { gap: 24px; }
	.open-now-summary button, .open-now-summary__status { font-size: 1rem; }
	.ranking-note { padding: 15px 16px; }
	.listing-card__address { min-height: 0; margin-bottom: 13px; }
	.hero-assurance { gap: 7px 14px; margin-top: 11px; font-size: .67rem; }
	.proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.proof-grid > div { min-width: 0; padding: 22px 16px; }
	.proof-grid span { overflow-wrap: anywhere; }
	.city-feature-grid, .directory-grid { grid-template-columns: 1fr; }
	.city-feature { min-height: 0; padding: 22px; }
	.city-feature h3 { margin: 24px 0 20px; font-size: clamp(3.35rem,16vw,4.6rem); }
	.city-feature ul { margin: 0 0 16px; }
	.final-cta__inner, .footer-lead, .footer-bottom { align-items: flex-start; flex-direction: column; }
	.footer-grid { grid-template-columns: 1fr; gap: 24px; }
	.directory-hero, .location-hero, .profile-hero { padding: 65px 0; }
	.directory-hero h1, .location-hero h1, .profile-hero h1 { font-size: clamp(3.3rem, 15vw, 5rem); }
	.directory-hero { padding: 40px 0 44px; }
	.directory-hero__grid { gap: 26px; }
	.directory-hero .eyebrow { display: block; max-width: 100%; font-size: .65rem; letter-spacing: .12em; overflow-wrap: anywhere; }
	.directory-hero .eyebrow::before { display: none; }
	.directory-hero h1 { font-size: clamp(3.15rem, 14vw, 4.45rem); }
	.directory-hero--compact { padding: 22px 0 24px; }
	.directory-hero--compact .directory-hero__grid { gap: 15px; }
	.directory-hero--compact h1 { font-size: clamp(2.45rem,11.5vw,2.8rem); }
	.directory-hero--compact .directory-hero__intro > p { font-size: .84rem; line-height: 1.5; }
	.directory-hero--compact .directory-hero__proof { margin-top: 13px; }
	.directory-hero__intro > p { font-size: .92rem; line-height: 1.55; }
	.directory-hero__actions { display: grid; grid-template-columns: 1fr; margin-top: 18px; }
	.directory-hero__actions .button { min-height: 48px; }
	.location-hero:not(.location-hero--visual) { padding: 38px 0 30px; }
	.location-hero:not(.location-hero--visual) .location-hero__grid { gap: 20px; }
	.location-hero:not(.location-hero--visual) .location-hero__grid > * { min-width: 0; }
	.location-hero:not(.location-hero--visual) .eyebrow { margin-bottom: 10px; }
	.location-hero:not(.location-hero--visual) h1,
	.location-hero:not(.location-hero--visual) h1 em { overflow-wrap: anywhere; }
	.location-hero:not(.location-hero--visual) h1 { font-size: clamp(2.85rem,13vw,3.55rem); }
	.location-hero:not(.location-hero--visual) .taxonomy-intro { margin-top: 18px; font-size: .875rem; line-height: 1.5; }
	.location-hero:not(.location-hero--visual) .location-hero__actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap: 8px; margin-top: 18px; }
	.location-hero:not(.location-hero--visual) .location-hero__actions .button { min-width: 0; min-height: 48px; padding: 8px 10px; font-size: .8125rem; line-height: 1.25; text-align: center; white-space: normal; }
	.location-hero:not(.location-hero--visual) .location-hero__assurance { margin-top: 10px; }
	.directory-hero__proof { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 14px; margin-top: 16px; }
	.directory-hero__proof li { display: block; }
	.directory-hero__proof li::before { display: none; }
	.directory-hero__proof li:last-child { grid-column: 1 / -1; }
	.atlas-section { padding-top: 42px; }
	.atlas-section--compact { padding: 20px 0 36px; }
	.atlas-heading { gap: 0; margin-bottom: 22px; }
	.atlas-heading .eyebrow { margin-bottom: 10px; }
	.atlas-heading .section-intro { display: none; }
	.atlas-heading h2 { font-size: clamp(2.55rem,12vw,3.5rem); }
	.atlas-section--compact .atlas-heading h2 { font-size: clamp(1.9rem,9vw,2.15rem); }
	.region-city-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.region-city-group .text-link { grid-column: 1 / -1; min-height: 44px; align-items: center; }
	.region-city-link { min-width: 0; }
	.tax-localita .breadcrumbs { display: none; }
	body.tax-localita .breadcrumbs--city,
	body.tax-localita .breadcrumbs--region { display: block; }
	.breadcrumbs { padding-block: 9px; font-size: .75rem; }
	.breadcrumbs ol { align-items: center; gap: 0; }
	.breadcrumbs li { display: flex; min-width: 0; align-items: center; }
	.breadcrumbs li:not(:last-child)::after { width: 6px; height: 6px; flex: 0 0 6px; margin-inline: 7px; border-right: 1px solid #8c857a; border-bottom: 1px solid #8c857a; content: ""; transform: rotate(-45deg); }
	.breadcrumbs a,
	.breadcrumbs [aria-current="page"] { display: inline-flex; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
	.breadcrumbs .breadcrumb--home > a { width: 44px; min-width: 44px; justify-content: center; }
	.breadcrumbs li.breadcrumb--home::after { margin-right: 7px; margin-left: -7px; }
	.breadcrumbs .breadcrumbs__home-icon { display: inline-block; width: 17px; height: 17px; transform: translateY(-1px); }
	.breadcrumbs .breadcrumbs__home-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	.location-hero--visual { min-height: 570px; padding: 0; color: var(--ivory); border: 0; background-image: linear-gradient(180deg,rgba(7,10,11,.38) 0%,rgba(7,10,11,.7) 57%,rgba(7,10,11,.88) 100%),var(--city-hero-mobile-image,var(--city-hero-image)); background-position: center; background-size: cover; }
	.location-hero--visual::before { display: none; }
	.location-hero--visual .location-hero__grid { display: block; min-height: 570px; padding-block: 42px 36px; }
	.location-hero--visual .location-hero__grid > div:first-child { position: relative; z-index: 2; }
	.location-hero--visual .eyebrow { margin-bottom: 14px; color: var(--gold-light); text-shadow: 0 1px 16px rgba(0,0,0,.3); }
	.location-hero--visual h1 { color: #fffdf8; font-size: min(clamp(3.2rem,14.5vw,4.25rem),17vw); text-shadow: 0 2px 28px rgba(0,0,0,.34); }
	.location-hero--visual h1 em { color: var(--gold-light); }
	.location-hero--visual .taxonomy-intro { display: -webkit-box; max-width: 520px; overflow: hidden; margin-top: 18px; color: rgba(255,253,248,.88); font-size: .91rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
	.location-hero--visual .location-hero__actions { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 8px; margin-top: 20px; }
	.location-hero--visual .location-hero__actions .button { min-height: 45px; padding: 9px 10px; font-size: .73rem; }
	.location-hero--visual .button--ghost { color: #fffdf8; border-color: rgba(255,255,255,.42); background: rgba(13,16,18,.18); backdrop-filter: blur(9px); }
	.location-hero--visual .quote-entry-strip { color: #fffdf8; border-color: rgba(255,255,255,.34); background: rgba(13,16,18,.5); box-shadow: 0 10px 28px rgba(0,0,0,.15); backdrop-filter: blur(9px); }
	.location-hero--visual .quote-entry-strip small { color: rgba(255,253,248,.68); }
	.location-hero--visual .quote-entry-strip > i { color: #1e190f; background: var(--gold-light); }
	.location-hero--visual .location-hero__assurance { gap: 7px 14px; margin-top: 12px; color: rgba(255,253,248,.72); font-size: .6rem; }
	.location-hero--visual .location-visual { display: contents; }
	.location-hero--visual .location-visual__frame { display: none; }
	.location-hero--visual .location-summary--overlay { position: relative; right: auto; bottom: auto; width: fit-content; max-width: calc(100% - 28px); padding: 0; margin: 24px 0 0 auto; }
	.location-hero--mobile-card { min-height: 0; background: #171b1c; }
	.location-hero--mobile-card .location-hero__grid { display: grid; min-height: 0; gap: 0; padding: 0 14px 32px; }
	.location-hero--mobile-card .location-hero__grid > div:first-child { grid-column: 1; grid-row: 2; padding-top: 26px; }
	.location-hero--mobile-card .location-visual { position: relative; display: block; width: calc(100% + 28px); grid-column: 1; grid-row: 1; margin-left: -14px; }
	.location-hero--mobile-card .location-visual__frame { display: block; aspect-ratio: 4 / 3; border: 0; border-radius: 0 0 30px 0; box-shadow: none; }
	.location-hero--mobile-card .location-visual__frame picture,
	.location-hero--mobile-card .location-visual__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
	.location-hero--mobile-card .location-summary--overlay { position: absolute; right: 14px; bottom: 14px; margin: 0; }
	.tax-localita .signal-strip, .tax-localita .city-subnav { display: none; }
	.city-atlas-section { padding-block: 42px 58px; }
	.city-atlas-heading { gap: 0; margin-bottom: 22px; }
	.city-atlas-heading .eyebrow { margin-bottom: 10px; }
	.city-atlas-heading h2 { font-size: clamp(2.55rem,12vw,3.5rem); }
	.city-atlas-heading .section-intro { display: none; }
	.city-atlas-grid { gap: 20px; }
	.city-map-shell--interactive { padding: 10px; }
	.map-view-switch { width: 100%; margin-bottom: 8px; }
	.map-view-switch button { flex: 1; }
	.shop-map-toolbar { min-height: 40px; padding: 0 1px 8px; }
	.shop-map-toolbar > span { font-size: .6rem; }
	.shop-map-toolbar button,.shop-map-toolbar a { min-height: 44px; padding-inline: 9px; font-size: .6rem; }
	.shop-map { height: 330px; border-radius: 15px; }
	.shop-map-selection { gap: 12px; padding: 12px 13px; }
	.shop-map-selection strong { font-size: 1.08rem; }
	.shop-map-selection small { max-width: 65vw; }
	.shop-map-activate { bottom: 40px; }
	.shop-map-activate { min-height: 44px; }
	.city-atlas-explorer { display: flex; min-width: 0; flex-direction: column; gap: 14px; }
	.area-index { display: flex; width: calc(100% + 14px); order: -1; overflow-x: auto; padding: 1px 14px 6px 0; scroll-padding-inline: 0 14px; scroll-snap-type: x proximity; scrollbar-width: none; }
	.area-index::-webkit-scrollbar { display: none; }
	.area-index__item { min-width: 148px; flex: 0 0 148px; scroll-snap-align: start; }
	.street-discovery-section { padding-block: 48px 54px; overflow: hidden; }
	.street-discovery-heading { gap: 0; margin-bottom: 22px; }
	.street-discovery-heading .eyebrow { margin-bottom: 9px; }
	.street-discovery-heading h2 { font-size: clamp(2.4rem,11vw,3.35rem); }
	.street-discovery-heading .section-intro { display: none; }
	.street-discovery-grid { display: flex; width: 100%; overflow-x: auto; gap: 10px; padding: 1px 16px 10px 0; scroll-padding-inline: 0 16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.street-discovery-grid::-webkit-scrollbar { display: none; }
	.street-discovery-card { width: min(82vw,340px); flex: 0 0 min(82vw,340px); padding: 19px; scroll-snap-align: start; }
	.street-discovery-card h3 { font-size: 1.42rem; }
	.street-discovery-card a { min-height: 58px; }
	.street-discovery-note { margin-top: 9px; }
	.city-area-status { min-height: 0; padding: 20px 22px; }
	.city-area-status .eyebrow { margin-bottom: 9px; }
	.city-area-status h3 { font-size: 2.35rem; }
	.city-area-status > p:not(.eyebrow) { display: -webkit-box; overflow: hidden; margin: 10px 0 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.location-summary { max-width: 390px; }
	.location-visual { width: min(100%,720px); justify-self: center; }
	.signal-strip__grid { grid-template-columns: repeat(2,1fr); }
	.signal-strip__grid > div { min-height: 105px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 5px; padding: 18px; }
	.signal-strip strong { font-size: 1.25rem; }
	.profile-facts { grid-template-columns: 1fr; }
	.signal-strip__grid > div { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
	.profile-facts > div + div { border-top: 1px solid var(--line); border-left: 0; }
	.city-index-card { grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; padding: 22px 18px; }
	.city-index-card > span { grid-column: 1 / -1; }
	.city-index-card > div { min-width: 0; }
	.city-index-card h3 { font-size: 1.8rem; overflow-wrap: anywhere; }
	.city-index-card p { overflow-wrap: anywhere; }
	.city-index-card > b { grid-column: 2; grid-row: 2; }
	.city-finder { grid-template-columns: minmax(0,1fr); padding: 15px; }
	.city-finder__reset { width: 100%; }
	.city-finder__status { align-items: stretch; flex-direction: column; }
	.city-finder__status button { width: 100%; }
	.region-index { grid-template-columns: 1fr; }
	.region-city-grid { grid-template-columns: 1fr; }
	.region-discovery { padding: 24px 0 32px; }
	.region-discovery__grid { gap: 20px; }
	.region-discovery__intro h1 { font-size: clamp(2.45rem,11.5vw,2.8rem); line-height: .94; }
	.region-discovery__intro > .eyebrow, .region-discovery__heading .eyebrow { display: none; }
	.region-discovery__intro > p:not(.eyebrow) { margin-top: 14px; font-size: .84rem; line-height: 1.5; }
	.region-discovery__proof { margin-top: 16px; }
	.region-discovery__proof strong { font-size: 1.3rem; }
	.region-discovery__heading { align-items: start; margin-bottom: 10px; }
	.region-discovery__heading h2 { font-size: clamp(1.9rem,9vw,2.15rem); }
	.region-discovery__heading > p { display: none; }
	.region-city-finder { margin-bottom: 9px; }
	.region-map-shell { width: 100%; padding: 12px; }
	.region-map { max-height: none; }
	.region-map__point:not(.is-mobile-priority), .region-map-target:not(.is-mobile-priority) { display: none; }
	.region-map-shell .map-legend { display: none; }
	.region-explorer .atlas-status { padding: 19px; }
	.region-explorer .atlas-status h3 { font-size: 2.25rem; }
	.region-map-note { display: none; }
	.region-city-list-controls { align-items: stretch; flex-direction: column; margin-top: -6px; }
	.region-city-list-controls a, .region-city-list-controls button { display: flex; min-height: 44px; align-items: center; justify-content: center; width: 100%; }
	.atlas-grid > *, .atlas-explorer, .atlas-status, .region-index, .region-index__item, .directory-grid, .listing-card, .decision-steps, .decision-steps li, .decision-steps li > div, .legal-checklist, .footer-lead > * { min-width: 0; max-width: 100%; }
	.region-index__item span, .region-index__item small, .atlas-status, .decision-steps h3, .decision-steps p, .legal-checklist, .legal-checklist a, .footer-lead__title, .method-grid h2 { overflow-wrap: anywhere; white-space: normal; }
	.brand-copy, .method-grid, .method-grid > *, .method-list, .method-list li, .method-list li > div, .listing-card__top, .listing-card__top h2, .listing-card__top h3, .location-summary, .location-summary > *, .signal-strip__grid > *, .city-decision-heading, .city-decision-heading > * { min-width: 0; max-width: 100%; }
	.brand-copy { width: 120px; min-width: 120px; max-width: 120px; }
	.brand-tagline { max-width: none; font-size: 8px; line-height: 1; letter-spacing: .11em; overflow-wrap: normal; word-break: normal; white-space: nowrap; }
	.method-list strong, .method-list p, .listing-card__top a, .location-summary, .location-summary small, .city-decision-heading h2 { overflow-wrap: anywhere; }
	.listing-card { display: grid; min-height: 0; grid-template-columns: minmax(0,1fr); grid-template-areas: "eyeline" "top" "badges" "address" "hours" "hours-notice" "signals" "actions"; align-items: center; column-gap: 10px; padding: 18px; border-radius: 14px; }
	.nearby-listing-card { min-height: 0; padding: 18px; border-radius: 14px; }
	.nearby-listing-card__top strong { font-size: 1.42rem; }
	.nearby-listing-card__places { min-height: 0; margin: 11px 0 9px; font-size: .9rem; }
	.nearby-listing-card__action { width: 100%; margin-top: 8px; }
	.listing-card__eyeline { grid-area: eyeline; }
	.listing-card__top { grid-area: top; }
	.listing-card > .specialty-badges { grid-area: badges; margin: 10px 0 0; }
	.listing-card__eyeline { min-height: 0; flex-wrap: wrap; gap: 7px 12px; margin-bottom: 12px; }
	.listing-card .brand-chip { max-width: 100%; padding: 5px 8px; font-size: .75rem; line-height: 1.25; }
	.listing-card .freshness { font-size: .75rem; line-height: 1.35; white-space: normal; }
	.listing-card h2,.listing-card h3 { display: -webkit-box; overflow: hidden; font-size: 1.42rem; line-height: 1.03; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.listing-card__top h2,.listing-card__top h3 { display: block; overflow: visible; }
	.listing-card__top a { display: grid; min-height: 44px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; border-radius: 7px; }
	.listing-card__title-text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.listing-card__profile-cue { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; color: #70521a; border: 1px solid #cfc4b3; border-radius: 50%; background: #fffaf0; font-family: var(--sans); font-size: 1.25rem; line-height: 1; }
	.listing-card__address { display: -webkit-box; grid-area: address; overflow: hidden; margin: 11px 0 9px; padding-left: 18px; font-size: .9rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.listing-card__address > span { float: left; margin-left: -18px; }
	.listing-card__hours { min-height: 28px; grid-area: hours; gap: 8px; margin: 0 0 8px; font-size: .875rem; line-height: 1.4; }
	.listing-card__hours strong { font-size: inherit; }
	.listing-card__hours small { font-size: inherit; }
	.listing-card__hours span { display: none; }
	.hours-seasonal-note--card { grid-area: hours-notice; margin: 0 0 8px; font-size: .875rem; line-height: 1.4; }
	.listing-card__signals { min-height: 44px; grid-area: signals; align-content: center; margin-top: 0; font-size: .875rem; }
	.rating { gap: 5px; }
	.rating small { font-size: inherit; }
	.review-evidence { font-size: .8125rem; line-height: 1.4; white-space: normal; }
	.listing-oam-years { font-size: inherit; line-height: inherit; }
	.recent-signal { font-size: .75rem; line-height: 1.35; }
	.listing-card__actions { grid-area: actions; width: 100%; align-items: center; justify-content: flex-start; gap: 6px; padding: 8px 0 0; margin: 0; border-top: 0; }
	.card-link,.icon-link { font-size: .8125rem; }
	.listing-card__signals { min-width: 0; flex-wrap: wrap; }
	.recent-signal { max-width: 100%; overflow-wrap: anywhere; }
	.italy-map-shell { padding: 18px; }
	.city-map-shell { padding: 12px; border-radius: 20px; }
	.city-map-shell::before { inset: 8px; border-radius: 14px; }
	.atlas-status { min-height: 0; padding: 24px; }
	.ranking-note { grid-template-columns: auto 1fr; }
	.ranking-note > a { grid-column: 2; }
	.contact-list li { grid-template-columns: 1fr; gap: 4px; }
	.profile-hero { padding-block: 38px 43px; }
	.profile-hero h1 { font-size: clamp(2.45rem,12vw,3.8rem); line-height: .96; }
	.profile-hero__grid > div:first-child > p { margin: 13px 0 0; font-size: .82rem; line-height: 1.45; }
	.profile-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 21px; }
	.profile-actions .button { min-height: 46px; padding-inline: 10px; font-size: .72rem; }
	.profile-actions .button:nth-child(3) { grid-column: 1 / -1; }
	.profile-layout > article:only-child { max-width: 100%; }
	.profile-layout > article { width: 100%; min-width: 0; }
	.profile-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.profile-facts > div { min-width: 0; padding: 13px 10px; }
	.profile-facts > div + div { border-top: 0; border-left: 1px solid var(--line); }
	.profile-facts span,.profile-facts small { overflow-wrap: anywhere; font-size: .54rem; line-height: 1.3; }
	.profile-facts strong { overflow-wrap: anywhere; margin-block: 3px; font-size: 1.2rem; line-height: 1.05; }
	.branch-network { padding-top: 42px; margin-top: 42px; }
	.branch-network__grid { grid-template-columns: 1fr; }
	.branch-network__grid a { min-height: 76px; }
	.branch-city-next { align-items: stretch; flex-direction: column; gap: 16px; padding: 20px; }
	.branch-city-next .button { width: 100%; }
	.breadcrumbs--leaf,.tax-localita .breadcrumbs--leaf { display: block; padding-block: 9px; font-size: .75rem; }
	.breadcrumbs--leaf ol { align-items: center; gap: 0; }
	.breadcrumbs--leaf li { display: none; }
	.breadcrumbs--leaf .breadcrumb--home,
	.breadcrumbs--leaf .breadcrumb--city,
	.breadcrumbs--leaf .breadcrumb--location { display: flex; min-width: 0; align-items: center; }
	.breadcrumbs.breadcrumbs--leaf .breadcrumb--home::after { width: 6px; height: 6px; flex: 0 0 6px; margin: 0 7px 0 -7px; border-right: 1px solid #8c857a; border-bottom: 1px solid #8c857a; content: ""; transform: rotate(-45deg); }
	.breadcrumbs--leaf .breadcrumb--city:not(:last-child)::after { width: 6px; height: 6px; flex: 0 0 6px; margin-inline: 7px; border-right: 1px solid #8c857a; border-bottom: 1px solid #8c857a; content: ""; transform: rotate(-45deg); }
	.breadcrumbs--leaf a,
	.breadcrumbs--leaf [aria-current="page"] { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
	.breadcrumbs--leaf .breadcrumb--home > a { width: 44px; min-width: 44px; justify-content: center; }
	.breadcrumbs--leaf .breadcrumbs__home-icon,.breadcrumbs--leaf .breadcrumbs__city-prefix { display: inline-block; }
	.breadcrumbs--leaf .breadcrumbs__home-icon { width: 17px; height: 17px; transform: translateY(-1px); }
	.breadcrumbs--leaf .breadcrumbs__city-prefix { margin-right: .25em; }
	.breadcrumbs--leaf .breadcrumbs__home-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	.site-footer a { display: inline-flex; min-height: 44px; align-items: center; }
	.editorial-note { align-items: flex-start; flex-direction: column; }
	.city-decision-heading h2 br { display: none; }
	.city-decision-grid { gap: 44px; }
	.city-local-note { padding: 25px; margin-bottom: 42px; }
	.legal-checklist { padding: 26px; }
	.city-faq-section { padding-top: 80px; }
	.city-faq-grid { gap: 38px; }
	.city-discovery { margin-top: 44px; }
	.city-discovery__links { grid-template-columns: 1fr; }
	.city-demography-heading h2 { overflow-wrap: anywhere; }
	.population-pyramid-card { padding: 24px 20px 21px; }
	.population-pyramid-card figcaption { align-items: flex-start; flex-direction: column; gap: 7px; }
	.population-pyramid__value { padding-inline: 6px; }
	.admin-bar .site-header { top: 46px; }
	.admin-bar .city-subnav { top: 130px; }
	.page-template-page-quotazione-oro .breadcrumbs { display: none; }
	.quote-hero { padding: 42px 0 48px; }
	.quote-hero__grid { gap: 28px; }
	.quote-hero h1 { font-size: clamp(3.05rem,13vw,4.25rem); }
	.quote-hero__copy > p:not(.eyebrow) { margin-top: 18px; font-size: .91rem; line-height: 1.5; }
	.quote-hero__links { display: grid; grid-template-columns: 1fr 1fr; margin-top: 22px; }
	.quote-hero__links .button { min-height: 45px; padding: 8px 9px; font-size: .68rem; text-align: center; }
	.market-price-card { padding: 23px; }
	.market-purity { min-height: 48px; }
	.quote-section { padding: 64px 0; }
	.quote-section__head { margin-bottom: 27px; }
	.quote-section__head h2,.quote-method h2 { font-size: clamp(2.75rem,13vw,3.65rem); }
	.gold-chart { padding: 22px; }
	.gold-chart__header { grid-template-columns: 1fr; gap: 20px; }
	.gold-chart__ranges { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.gold-chart__summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gold-chart__summary > div:nth-child(3) { border-left: 0; border-top: 1px solid #e2dbcf; }
	.gold-chart__summary > div:nth-child(4) { border-top: 1px solid #e2dbcf; }
	.gold-chart__meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gold-chart__notes { align-items: flex-start; flex-direction: column; gap: 4px; }
	.quote-scope-note { grid-template-columns: auto 1fr; }
	.quote-scope-note > small { grid-column: 1 / -1; grid-row: auto; }
	.quote-next-step { grid-template-columns: 1fr; gap: 20px; }
	.quote-next-step__links { justify-content: flex-start; }
	.karat-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.karat-price-card { padding: 18px; }
	.karat-price-card.is-featured { grid-column: 1 / -1; }
	.karat-price-card > strong { font-size: 2rem; }
	.gold-calculator { grid-template-columns: 1fr 1fr; gap: 12px; padding: 21px; }
	.gold-calculator h3 { font-size: 1.85rem; }
	.gold-calculator label > span { margin-bottom: 5px; }
	.calculator-result { min-height: 82px; }
	.shop-quote-card { grid-template-columns: 1fr; gap: 17px; padding: 21px 20px 15px; }
	.shop-quote-card__primary { padding: 16px 0 0; border-top: 1px solid #ded6c9; border-left: 0; }
	.shop-quote-card__carats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; margin-top: 8px; }
	.shop-quote-card__carats > span { min-width: 0; }
	.shop-quote-card footer { align-items: flex-start; flex-direction: column; gap: 2px; }
	.quote-method__grid { gap: 35px; }
}

/* City design previews. These classes exist only for ?design=1, ?design=2 and ?design=3. */
.city-design .location-hero h1 br,
.city-design .city-atlas-heading h2 br { display: none; }
.city-design .location-hero h1 em { display: block; }
.city-design .location-hero__grid > div:first-child { min-width: 0; }
.city-design .location-hero__actions .button,
.city-design .quote-entry-strip { min-height: 48px; }
.city-design .city-subnav a { display: inline-flex; min-height: 44px; align-items: center; }

/* Design 1: cinematic city panorama. */
.city-design-1 .breadcrumbs { position: absolute; z-index: 20; right: 0; left: 0; color: rgba(255,253,248,.7); background: transparent; }
.city-design-1 .breadcrumbs a { color: rgba(255,253,248,.82); }
.city-design-1 .breadcrumbs li:not(:last-child)::after { color: rgba(255,253,248,.38); }
.city-design-1 .location-hero--visual { min-height: clamp(650px,calc(100svh - 84px),790px); padding: 0; color: #fffdf8; border: 0; background-image: linear-gradient(90deg,rgba(9,13,14,.91) 0%,rgba(9,13,14,.76) 38%,rgba(9,13,14,.2) 72%),linear-gradient(0deg,rgba(9,13,14,.68),transparent 48%),var(--city-hero-image); background-position: center; background-size: cover; }
.city-design-1 .location-hero--visual::before { opacity: .25; background-image: linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.12) 50%,transparent 50.2%); }
.city-design-1 .location-hero__grid { min-height: clamp(650px,calc(100svh - 84px),790px); grid-template-columns: minmax(0,610px) minmax(260px,1fr); align-items: center; gap: 70px; padding-block: 92px 72px; }
.city-design-1 .location-hero h1 { color: #fffdf8; font-size: clamp(4.8rem,8vw,8rem); text-shadow: 0 3px 30px rgba(0,0,0,.3); }
.city-design-1 .location-hero h1 em { color: #efd990; }
.city-design-1 .location-hero .eyebrow { color: #efd990; }
.city-design-1 .location-hero .taxonomy-intro { max-width: 590px; color: rgba(255,253,248,.84); }
.city-design-1 .location-hero .button--ghost { color: #fffdf8; border-color: rgba(255,255,255,.42); background: rgba(12,15,16,.26); backdrop-filter: blur(10px); }
.city-design-1 .location-hero .quote-entry-strip { color: #fffdf8; border-color: rgba(255,255,255,.28); background: rgba(12,15,16,.48); backdrop-filter: blur(12px); }
.city-design-1 .location-hero .quote-entry-strip small { color: rgba(255,253,248,.64); }
.city-design-1 .location-hero .quote-entry-strip > i { color: #1d2324; background: #efd990; }
.city-design-1 .location-hero__assurance { color: rgba(255,253,248,.7); }
.city-design-1 .location-visual { display: contents; }
.city-design-1 .location-visual__frame { display: none; }
.city-design-1 .location-summary--overlay { right: 0; bottom: 58px; padding: 8px 11px; color: #fffdf8; border-color: rgba(255,255,255,.26); background: rgba(13,17,18,.64); box-shadow: 0 18px 50px rgba(0,0,0,.25); backdrop-filter: blur(14px); }
.city-design-1 .location-summary__metrics { color: #fffdf8; }
.city-design-1 .location-summary__metrics span,
.city-design-1 .location-summary__metrics strong { color: rgba(255,253,248,.78); }
.city-design-1 .location-summary__metrics b { color: #fffdf8; }
.city-design-1 .signal-strip { position: relative; z-index: 8; width: min(calc(100% - 48px),1180px); margin: -35px auto 0; overflow: hidden; border: 1px solid #d5c9b7; border-radius: 18px; background: rgba(255,253,248,.96); box-shadow: 0 18px 50px rgba(49,39,20,.16); }
.city-design-1 .signal-strip__grid { width: 100%; }
.city-design-1 .signal-strip__grid > div { padding-block: 19px; }
.city-design-1 .city-subnav { margin-top: 18px; }
.city-design-1 .city-atlas-section { padding-top: 72px; }

/* Design 2: editorial image-first composition. */
.city-design-2 .location-hero--visual { padding: 54px 0 64px; background: linear-gradient(118deg,#eee5d7 0%,#fffaf1 68%,#eadfc9 100%); }
.city-design-2 .location-hero--visual::before { opacity: .55; background-size: 96px 100%; }
.city-design-2 .location-hero__grid { grid-template-columns: minmax(480px,1.15fr) minmax(390px,.85fr); align-items: center; gap: clamp(42px,5vw,84px); }
.city-design-2 .location-hero__grid > div:first-child { grid-column: 2; grid-row: 1; }
.city-design-2 .location-visual { grid-column: 1; grid-row: 1; width: 100%; }
.city-design-2 .location-visual__frame { aspect-ratio: 4 / 5; max-height: 690px; border-radius: 120px 20px 120px 20px; box-shadow: 0 28px 65px rgba(60,47,23,.2); }
.city-design-2 .location-visual__frame picture,
.city-design-3 .location-visual__frame picture { display: block; width: 100%; height: 100%; }
.city-design-2 .location-visual__frame img { width: 100%; height: 100%; object-fit: cover; }
.city-design-2 .location-hero h1 { font-size: clamp(4.4rem,6.4vw,7rem); }
.city-design-2 .location-hero h1 em { color: #8b651d; }
.city-design-2 .location-hero .taxonomy-intro { max-width: 530px; }
.city-design-2 .location-summary--overlay { right: -16px; bottom: 22px; }
.city-design-2 .signal-strip { color: #fffdf8; border: 0; background: #202728; }
.city-design-2 .signal-strip span { color: rgba(255,253,248,.61); }
.city-design-2 .signal-strip strong { color: #fffdf8; }
.city-design-2 .signal-strip__grid > div { border-color: rgba(255,255,255,.12); }
.city-design-2 .city-subnav { border-bottom-color: #cdbf9e; background: rgba(239,217,160,.96); }

/* Design 3: compact map-first dashboard. */
.city-design-3 .location-hero--visual { padding: 42px 0; color: #fffdf8; border: 0; background: radial-gradient(circle at 35% 10%,rgba(212,175,87,.18),transparent 34%),#182021; }
.city-design-3 .location-hero--visual::before { opacity: .15; }
.city-design-3 .location-hero__grid { min-height: 440px; grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr); gap: clamp(38px,5vw,76px); }
.city-design-3 .location-hero h1 { color: #fffdf8; font-size: clamp(4.15rem,6vw,6.4rem); }
.city-design-3 .location-hero h1 em { color: #efd990; }
.city-design-3 .location-hero .eyebrow { color: #d8b65f; }
.city-design-3 .location-hero .taxonomy-intro { display: -webkit-box; max-width: 580px; overflow: hidden; color: rgba(255,253,248,.72); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.city-design-3 .location-hero .button--ghost { color: #fffdf8; border-color: rgba(255,255,255,.35); background: transparent; }
.city-design-3 .location-hero .quote-entry-strip { color: #fffdf8; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
.city-design-3 .location-hero .quote-entry-strip small { color: rgba(255,253,248,.58); }
.city-design-3 .location-hero .quote-entry-strip > i { color: #182021; background: #efd990; }
.city-design-3 .location-hero__assurance { color: rgba(255,253,248,.58); }
.city-design-3 .location-visual__frame { aspect-ratio: 16 / 10; border-color: rgba(255,255,255,.16); border-radius: 50% 50% 18px 18px; box-shadow: 0 24px 60px rgba(0,0,0,.32); }
.city-design-3 .location-visual__frame img { width: 100%; height: 100%; object-fit: cover; }
.city-design-3 .location-summary--overlay { right: 50%; bottom: -20px; transform: translateX(50%); }
.city-design-3 .signal-strip { color: #1d2324; border: 0; background: #efd990; }
.city-design-3 .signal-strip span { color: #665b43; }
.city-design-3 .signal-strip__grid > div { padding-block: 16px; border-color: rgba(50,42,25,.16); }
.city-design-3 .city-subnav { background: rgba(255,252,244,.98); }
.city-design-3 .city-atlas-section { padding-block: 48px 62px; }
.city-design-3 .city-atlas-heading { margin-bottom: 26px; }
.city-design-3 .city-atlas-heading h2 { font-size: clamp(3.2rem,5vw,5.3rem); }
.city-design-3 .city-atlas-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
.city-design-3 .city-map-shell { width: 100%; }
.city-design-3 .city-atlas-explorer { grid-template-columns: minmax(280px,.42fr) minmax(0,1.58fr); align-items: stretch; }
.city-design-3 .area-index { grid-template-columns: repeat(4,minmax(0,1fr)); }

@media (max-width: 980px) {
	.city-design-1 .location-hero__grid,
	.city-design-2 .location-hero__grid,
	.city-design-3 .location-hero__grid { grid-template-columns: 1fr; }
	.city-design-3 .city-atlas-explorer { grid-template-columns: 1fr; }
	.city-design-3 .area-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
	.city-design .signal-strip,
	.city-design .city-subnav { display: block; }
	.city-design .city-subnav { position: static; margin: 0; }
	.city-design .signal-strip__grid { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
	.city-design .signal-strip__grid::-webkit-scrollbar { display: none; }
	.city-design .signal-strip__grid > div { min-width: 148px; min-height: 78px; flex: 1 0 42%; padding: 12px 14px; scroll-snap-align: start; }
	.city-design .city-subnav .wrap { min-height: 46px; }
	.city-design .location-hero h1 em { overflow-wrap: anywhere; }
	.city-design .location-hero__actions .button { min-height: 48px; }

	.city-design-1 .breadcrumbs { display: none; }
	.city-design-1 .location-hero--visual { min-height: 650px; background-image: linear-gradient(180deg,rgba(7,10,11,.28) 0%,rgba(7,10,11,.67) 48%,rgba(7,10,11,.94) 100%),var(--city-hero-mobile-image,var(--city-hero-image)); background-position: center; }
	.city-design-1 .location-hero__grid { display: block; min-height: 650px; padding-block: 42px 34px; }
	.city-design-1 .location-hero h1 { font-size: clamp(3.45rem,15vw,4.5rem); }
	.city-design-1 .location-hero .taxonomy-intro { -webkit-line-clamp: 3; }
	.city-design-1 .location-summary--overlay { position: relative; right: auto; bottom: auto; width: fit-content; margin: 22px 0 0 auto; }
	.city-design-1 .signal-strip { width: 100%; margin: 0; border-inline: 0; border-radius: 0; box-shadow: none; }
	.city-design-1 .city-atlas-section { padding-top: 42px; }

	.city-design-2 .location-hero--visual { min-height: 0; padding: 0 0 38px; color: #1d2324; background: #f7f1e7; }
	.city-design-2 .location-hero__grid { display: grid; min-height: 0; gap: 0; padding: 0; }
	.city-design-2 .location-hero__grid > div:first-child { grid-column: 1; grid-row: 2; padding: 29px 14px 0; }
	.city-design-2 .location-visual { display: block; grid-column: 1; grid-row: 1; width: calc(100% + 28px); margin-left: -14px; }
	.city-design-2 .location-visual__frame { display: block; aspect-ratio: 16 / 10; max-height: none; border: 0; border-radius: 0 0 42px 0; box-shadow: none; }
	.city-design-2 .location-visual__frame > span { top: 13px; left: 14px; }
	.city-design-2 .location-hero h1 { color: #1d2324; font-size: clamp(3.25rem,14.5vw,4.15rem); text-shadow: none; }
	.city-design-2 .location-hero h1 em { color: #8b651d; }
	.city-design-2 .location-hero .eyebrow { color: #8b651d; text-shadow: none; }
	.city-design-2 .location-hero .taxonomy-intro { color: #5d615e; }
	.city-design-2 .location-hero .button--ghost { color: #242a2a; border-color: rgba(29,35,36,.2); background: rgba(255,255,255,.4); }
	.city-design-2 .location-hero .quote-entry-strip { color: #242a2a; border-color: #d6ccba; background: #fffaf0; }
	.city-design-2 .location-hero .quote-entry-strip small { color: #6a6b65; }
	.city-design-2 .location-hero .quote-entry-strip > i { color: #fffdf8; background: #252b2b; }
	.city-design-2 .location-hero__assurance { color: #666965; }
	.city-design-2 .location-summary--overlay { right: 14px; bottom: 14px; }

	.city-design-3 .location-hero--visual { min-height: 0; padding: 28px 0 36px; background: #182021; }
	.city-design-3 .location-hero__grid { display: grid; min-height: 0; gap: 31px; padding: 0; }
	.city-design-3 .location-hero__grid > div:first-child { grid-row: 2; }
	.city-design-3 .location-visual { display: block; grid-row: 1; width: min(86vw,430px); margin-inline: auto; }
	.city-design-3 .location-visual__frame { display: block; aspect-ratio: 16 / 9; border-radius: 50% 50% 16px 16px; }
	.city-design-3 .location-visual__frame > span { top: 34px; left: 14px; }
	.city-design-3 .location-hero h1 { font-size: clamp(3.2rem,14vw,4.1rem); }
	.city-design-3 .location-summary--overlay { right: 50%; bottom: -17px; width: max-content; max-width: calc(100vw - 42px); transform: translateX(50%); }
	.city-design-3 .city-atlas-heading h2 { font-size: clamp(2.65rem,12vw,3.5rem); }
	.city-design-3 .city-atlas-explorer { display: flex; }
	.city-design-3 .area-index { display: flex; }
}

@media (max-width: 360px) {
	.city-design .signal-strip__grid > div { min-width: 142px; }
	.city-design-1 .location-hero--visual,
	.city-design-1 .location-hero__grid { min-height: 680px; }
	.city-design-2 .location-hero__grid > div:first-child { padding-inline: 0; }
}

@media (max-width: 480px) {
	body { font-size: 15px; }
	.city-demography-facts { grid-template-columns: 1fr; }
	.city-demography-facts > div:last-child { grid-column: auto; }
	.header-inner { min-height: 74px; }
	.primary-nav { top: 100%; }
	.page-template-page-quotazione-oro .quote-hero__grid,
	.page-template-page-quotazione-oro .quote-hero__copy,
	.page-template-page-quotazione-oro .market-price-card,
	.page-template-page-quotazione-oro .quote-section__head > *,
	.page-template-page-quotazione-oro .quote-method__grid > *,
	.page-template-page-quotazione-oro .quote-guide-grid > *,
	.page-template-page-quotazione-oro .quote-18k > *,
	.page-template-page-quotazione-oro .quote-faq__grid > *,
	.page-template-page-quotazione-oro .quote-method li > div,
	.page-template-page-quotazione-oro .footer-lead > * { min-width: 0; max-width: 100%; }
	.page-template-page-quotazione-oro .quote-hero h1,
	.page-template-page-quotazione-oro .quote-section__head h2,
	.page-template-page-quotazione-oro .quote-18k h2,
	.page-template-page-quotazione-oro .quote-faq__grid h2,
	.page-template-page-quotazione-oro .quote-next-step h3,
	.page-template-page-quotazione-oro .eyebrow,
	.page-template-page-quotazione-oro .footer-lead__title { overflow-wrap: anywhere; }
	.page-template-page-quotazione-oro .market-price-card > strong,
	.page-template-page-quotazione-oro .quote-empty h3,
	.page-template-page-quotazione-oro .quote-scope-note,
	.page-template-page-quotazione-oro .quote-scope-note span,
	.page-template-page-quotazione-oro .quote-scope-note small { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
	.page-template-page-quotazione-oro .market-price-card > div { min-width: 0; flex-wrap: wrap; }
	.page-template-page-quotazione-oro .brand-tagline { max-width: none; overflow-wrap: normal; word-break: normal; white-space: nowrap; }
	.quote-hero { padding: 26px 0 32px; }
	.quote-hero__grid { gap: 20px; }
	.quote-hero h1 { font-size: clamp(2.7rem,13.5vw,3.45rem); line-height: .9; }
	.quote-hero__copy > p:not(.eyebrow) { margin-top: 14px; font-size: .84rem; line-height: 1.45; }
	.quote-hero__links { grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 16px; }
	.quote-hero__links .button { justify-content: center; min-height: 48px; padding-inline: 7px; font-size: .62rem; line-height: 1.2; }
	.market-price-card { padding: 16px; border-radius: 18px; }
	.market-price-card__heading { align-items: flex-start; flex-direction: column; gap: 3px; padding-bottom: 10px; }
	.market-price-card__heading time { text-align: left; }
	.market-price-card__purities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding-top: 8px; }
	.market-purity { min-width: 0; min-height: 66px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; padding: 7px 9px; border: 1px solid rgba(247,243,233,.13); border-radius: 9px; background: rgba(255,255,255,.025); }
	.market-purity > span { gap: 5px; }
	.market-purity > span b { min-width: 0; font-size: 1.08rem; }
	.market-purity > strong { max-width: 100%; font-size: 1.27rem; white-space: normal; }
	.market-purity.is-featured { grid-column: 1 / -1; min-height: 56px; margin-inline: 0; align-items: center; flex-direction: row; padding-inline: 13px; border-color: rgba(240,213,141,.32); }
	.market-price-card > p.market-price-card__note { margin-top: 10px; }
	.market-unavailable { padding: 22px; border-radius: 18px; }
	.quote-section { padding: 52px 0; }
	.quote-section__head h2,.quote-method h2 { font-size: clamp(2.55rem,12vw,3.3rem); }
	.quote-section--chart { padding-top: 58px; padding-bottom: 46px; }
	.gold-chart { padding: 17px; border-radius: 18px; }
	.gold-chart__header > * { min-width: 0; max-width: 100%; }
	.gold-chart__latest > strong { overflow-wrap: anywhere; font-size: 3.25rem; white-space: normal; }
	.gold-chart__ranges { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.gold-chart__summary > div { padding: 16px 10px 15px; }
	.gold-chart__summary span,.gold-chart__summary strong { overflow-wrap: anywhere; }
	.gold-chart__summary strong { font-size: 1.25rem; white-space: normal; }
	.gold-chart__axis-label { font-size: 13px; }
	.gold-chart__notes { font-size: .7rem; line-height: 1.45; }
	.karat-reference-head { align-items: flex-start; flex-direction: column; gap: 2px; margin-top: 27px; }
	.karat-price-grid { grid-template-columns: 1fr; gap: 7px; }
	.karat-price-card,.karat-price-card.is-featured { display: grid; grid-column: auto; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; gap: 10px; padding: 13px 14px; }
	.karat-price-card > span,.karat-price-card > small { min-width: 0; overflow-wrap: anywhere; }
	.karat-price-card > strong { overflow: visible; justify-self: end; margin: 0; font-size: 1.72rem; text-overflow: clip; white-space: normal; }
	.karat-price-card > small { text-align: right; }
	.gold-calculator { grid-template-columns: 1fr; padding: 18px; }
	.gold-calculator > div:first-child,.gold-calculator label,.calculator-result { grid-column: 1; min-width: 0; }
	.calculator-result strong { font-size: 1.9rem; }
	.quote-scope-note { margin-top: -6px; }
	.shop-quote-card footer { font-size: .8rem; line-height: 1.35; }
	.shop-quote-card__primary > span,.shop-quote-card__primary > b,.shop-quote-card__conditions,.shop-quote-card__details summary { font-size: .8rem; }
	.shop-quote-card__primary > strong { white-space: normal; }
	.shop-quote-card__details summary { min-width: 0; overflow-wrap: anywhere; }
	.quote-next-step { padding: 23px 20px; }
	.quote-next-step__links { display: flex; }
	.quote-next-step__links .button { min-height: 44px; flex: 1 1 80px; padding-inline: 8px; text-align: center; }
	.page-template-page-quotazione-oro .quote-method strong { overflow-wrap: anywhere; }
	.quote-reference-note,.quote-formula,.quote-18k,.quote-compare-checklist,.quote-faq__grid { grid-template-columns: 1fr; gap: 22px; }
	.quote-reference-note { align-items: start; padding: 20px; }
	.quote-guide-grid { grid-template-columns: 1fr; }
	.quote-guide-grid article { padding: 21px; }
	.quote-formula { padding: 22px; }
	.quote-18k { padding-top: 52px; }
	.quote-18k > div:last-child { columns: 1; }
	.quote-compare-checklist { padding: 21px; }
	.quote-compare-checklist ul { display: grid; grid-template-columns: 1fr; }
	.quote-compare-checklist li { border-radius: 10px; }
	.quote-faq__grid { gap: 35px; }
	.city-subnav { top: 74px; }
	.admin-bar .city-subnav { top: 120px; }
	.hero-radar { width: 340px; max-width: 100%; }
	.radar-point { min-width: 96px; }
	.proof-grid { grid-template-columns: repeat(2, 1fr); }
	.proof-grid > div { border-right: 1px solid var(--line); }
	.listing-card { min-height: 0; padding: 18px; }
	.listing-card h2, .listing-card h3 { font-size: 1.42rem; }
	.listing-card__eyeline { display: none; }
	.location-summary:not(.location-summary--overlay) > strong { font-size: 4.5rem; }
	.location-visual__frame > span { top: 13px; left: 13px; }
	.shop-map-toolbar { display: grid; grid-template-columns: 1fr; }
	.shop-map-toolbar > div { justify-content: space-between; }
	.shop-map-toolbar button,.shop-map-toolbar a { flex: 1; }
	.shop-map-selection { grid-template-columns: minmax(0,1fr); }
	.shop-map-selection > a { justify-self: start; }
	.shop-map { height: 315px; }
	.area-index { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.street-discovery-card { width: 86vw; flex-basis: 86vw; }
	.street-discovery-card a strong,.street-discovery-card a span { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
	.filter-form { grid-template-columns: minmax(0,1fr) auto; }
	.filter-form__search { grid-column: 1 / -1; }
	.filter-more__fields { grid-template-columns: 1fr; }
	.filter-form__actions { justify-content: space-between; }
	.city-subnav .wrap { gap: 18px; }
	.city-local-note h3 { font-size: 2rem; }
	.decision-steps li { grid-template-columns: 42px 1fr; gap: 14px; }
	.faq-list summary { padding: 20px 0; font-size: 1.25rem; }
	.faq-list details > div { padding-right: 0; }
}

@container (max-width: 12rem) {
	.market-price-card__purities { grid-template-columns: 1fr; }
	.market-purity,.market-purity.is-featured { grid-column: auto; min-height: 72px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 3px; }
}

@media (max-width: 360px) {
	.proof-grid { grid-template-columns: 1fr; }
	.location-summary__metrics strong, .location-summary__metrics span { white-space: normal; }
	.population-pyramid thead { display: none; }
	.population-pyramid tbody { display: grid; gap: 5px; }
	.population-pyramid tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 8px; }
	.population-pyramid tbody th { width: auto; grid-column: 1 / -1; grid-row: 1; padding: 2px 4px; }
	.population-pyramid__value { grid-row: 2; }
	.population-pyramid-card h3 { font-size: 1.45rem; }
}

@media (max-width: 360px) {
	.listing-card__title-text { -webkit-line-clamp: 3; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Evidence-led single branch profile. */
.single-compro_oro .profile-hero { padding-block: 48px 52px; }
.single-compro_oro .profile-hero h1 { max-width: 850px; font-size: clamp(2.8rem,5vw,4.9rem); }
.profile-hero__eyeline { max-width: 850px; justify-content: space-between; margin-bottom: 17px; }
.profile-hero__eyeline .brand-chip { min-height: 44px; align-items: center; color: #755310; text-decoration: none; }
.profile-hero__eyeline a.brand-chip:hover { border-color: #a97818; background: rgba(199,156,65,.16); }
.profile-hero__address { max-width: 760px; margin: 15px 0 0; color: #555d5a; font-size: .96rem; }
.profile-hero__area { display: flex; min-height: 44px; align-items: center; gap: 6px; margin: 1px 0 0; color: #666a67; font-size: .76rem; }
.profile-hero__area-label { font-weight: 650; }
.profile-hero__area a { display: inline-flex; min-height: 44px; align-items: center; color: #805c18; font-weight: 720; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.profile-hero__area-links { display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px; }
.profile-hero__area-value { color: #555b57; font-weight: 650; }
.profile-hero .specialty-badges { margin-top: 8px; }
.profile-hero .specialty-badge--icon { width: 44px; height: 44px; min-height: 44px; padding: 0; }
.profile-hero__proof { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 0; margin-top: 15px; color: #5d6461; font-size: .8125rem; line-height: 1.4; }
.profile-hero__proof > * + *::before { padding: 0 10px; color: #aaa399; content: "·"; font-weight: 400; }
.profile-oam-years { color: #555c59; font-size: inherit; font-weight: 720; white-space: nowrap; }
.profile-hero__proof > a { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; color: #282e2e; text-decoration: none; }
.profile-hero__proof > a strong { color: #805c18; }
.profile-hero__proof > a span { color: #656966; font-size: inherit; }
.profile-hero__availability { display: grid; justify-items: start; width: fit-content; gap: 0; margin-top: 2px; }
.profile-open-status { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; color: #5d625f; font-size: inherit; font-weight: 720; }
.profile-open-status i { width: 8px; height: 8px; border-radius: 50%; background: #a35f45; }
.profile-open-status--open { color: #315e4a; }
.profile-open-status--open i { background: #3f8a69; box-shadow: 0 0 0 4px rgba(63,138,105,.12); }
.hours-seasonal-note--profile { margin: -1px 0 0; color: #765719; }
.profile-hero__action-block { width: fit-content; max-width: min(100%,850px); }
.profile-actions { margin-top: 14px; }
.profile-hero__verification { margin: 5px 0 0; color: #777a75; font-size: .6875rem; line-height: 1.4; text-align: right; }
.profile-actions .button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.single-compro_oro .profile-actions .button--ghost { color: #2b3131; border-color: #ccc3b5; background: rgba(255,253,248,.64); }
.profile-main { padding: 42px 0 92px; color: #252b2b; background: #f7f3ea; }
.profile-card-kicker { display: block; color: #84601d; font-size: .64rem; font-weight: 790; letter-spacing: .12em; text-transform: uppercase; }
.profile-decision-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.profile-decision-grid:not(:has(.profile-photo)) { grid-template-columns: minmax(0,1fr); }
.profile-photo,.profile-quote-card { margin: 0; overflow: hidden; border: 1px solid #d9cfbe; border-radius: 18px; background: #fffdf8; }
.profile-photo { min-height: 184px; }
.profile-photo--licensed { position: relative; }
.profile-photo--licensed img { width: 100%; height: 100%; min-height: 184px; object-fit: cover; }
.profile-photo--licensed a { position: absolute; right: 12px; bottom: 12px; min-height: 44px; padding: 10px 14px; border-radius: 999px; color: #fff; background: rgba(22,27,28,.86); font-size: .72rem; font-weight: 760; text-decoration: none; }
.profile-photo--source { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 21px; padding: 28px; color: #272d2d; background: radial-gradient(circle at 10% 100%,rgba(201,160,72,.22),transparent 42%),linear-gradient(145deg,#fffdf8,#eee6d8); text-decoration: none; }
.profile-photo--source:hover { color: #171d1d; border-color: #b99851; }
.profile-photo--source > svg { width: 62px; height: 62px; fill: none; stroke: #9c7529; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.profile-photo--source > span { display: grid; min-width: 0; gap: 3px; }
.profile-photo--source small { color: #77776f; font-size: .62rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.profile-photo--source strong { font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.profile-photo--source em { color: #6b6e6a; font-size: .68rem; font-style: normal; }
.profile-photo--source > i { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #745312; background: #f0dfb5; font-style: normal; }
.profile-quote-card { display: grid; grid-template-columns: minmax(180px,.62fr) minmax(260px,1.25fr) auto; min-height: 96px; align-items: center; gap: 25px; padding: 15px 22px; background: #fff8e8; }
.profile-decision-grid:has(.profile-photo) .profile-quote-card { min-height: 184px; grid-template-columns: minmax(145px,.65fr) minmax(175px,1fr); }
.profile-quote-card__value { display: grid; min-width: 0; gap: 3px; }
.profile-quote-card__value > strong { color: #7d5917; font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.profile-quote-card__value > strong small { font-family: var(--sans); font-size: .78rem; font-weight: 730; }
.profile-quote-card__value > .profile-quote-card__unavailable { color: #303635; font-family: var(--sans); font-size: .9rem; font-weight: 780; line-height: 1.25; }
.profile-quote-card p { margin: 0; color: #555b58; font-size: .72rem; line-height: 1.45; }
.profile-quote-card p > small { display: block; margin-top: 2px; color: #686a64; font-size: .61rem; }
.profile-quote-card > a { display: inline-flex; min-height: 44px; align-items: center; justify-self: end; color: #755310; font-size: .7rem; font-weight: 780; text-decoration: none; }
.profile-decision-grid:has(.profile-photo) .profile-quote-card > a { grid-column: 1 / -1; justify-self: start; }
.profile-location { padding-top: 68px; scroll-margin-top: 100px; }
.profile-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 22px; }
.profile-section-heading h2,.profile-details h2,.branch-network h2 { margin: 3px 0 0; font-family: var(--display); font-size: clamp(2.3rem,4vw,3.7rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.profile-section-heading > a { display: inline-flex; min-height: 44px; align-items: center; color: #755310; font-size: .75rem; font-weight: 780; }
.profile-location__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); align-items: start; gap: 17px; }
.profile-map-shell { position: relative; padding: 10px; border: 1px solid #d8cfbf; border-radius: 20px; background: #fffdf8; }
.profile-map-shell .shop-map { height: 390px; border-radius: 14px; }
.or-map-marker--current > span { width: 40px; height: 40px; border-width: 3px; background: #262d2d; box-shadow: 0 0 0 5px rgba(215,180,91,.3),0 7px 18px rgba(40,36,27,.34); }
.profile-nearby { padding: 22px; border: 1px solid #d8cfbf; border-radius: 18px; background: #fffdf8; }
.profile-nearby h3 { margin: 0; font-family: var(--display); font-size: 1.75rem; font-weight: 400; line-height: 1.05; }
.profile-nearby > p { margin: 8px 0 17px; color: #6b6e69; font-size: .66rem; line-height: 1.4; }
.profile-nearby__list { display: grid; gap: 7px; }
.profile-nearby__list > a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 14px; min-height: 84px; align-content: center; padding: 12px 13px; border: 1px solid #ddd4c5; border-radius: 12px; color: #252b2b; background: #fdfaf4; text-decoration: none; }
.profile-nearby__list > a:hover { color: #252b2b; border-color: #b4914b; }
.profile-nearby__list > a > span { display: grid; min-width: 0; gap: 2px; }
.profile-nearby__list strong { overflow-wrap: anywhere; font-family: var(--display); font-size: 1.02rem; font-weight: 400; line-height: 1.08; }
.profile-nearby__list small { color: #6c706c; font-size: .6rem; }
.profile-nearby__list em { color: #426453; font-size: .68rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.profile-nearby__rating { grid-column: 1 / -1; color: #84601d !important; }
.profile-nearby__all { display: inline-flex; min-height: 44px; align-items: center; margin-top: 10px; color: #755310; font-size: .69rem; font-weight: 780; }
.profile-details { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.88fr); align-items: start; gap: 42px; padding-top: 74px; }
.profile-details h2 { margin-bottom: 24px; }
.profile-details .contact-list { border-color: #d9d1c4; }
.profile-details .contact-list li { color: #303635; border-color: #d9d1c4; }
.profile-details .contact-list strong,.profile-details .hours-disclosure dt,.profile-details .hours-schedule dt { color: #686b67; }
.profile-details .hours-schedule > div { border-color: #d9d1c4; }
.profile-details .hours-disclosure summary,.profile-details a { color: #755310; }
.hours-disclosure .hours-seasonal-note--details { display: flex; max-width: 46ch; margin-top: 10px; color: #684d19; }
.profile-reputation { padding: 28px; border: 1px solid #d9cfbe; border-radius: 18px; background: #fff8e8; scroll-margin-top: 105px; }
.profile-reputation h2 { margin: 8px 0 18px; font-family: var(--display); font-size: 2rem; font-weight: 400; line-height: 1; }
.profile-reputation__rating { color: #7d5917; font-family: var(--display); font-size: 4rem; font-weight: 400; line-height: 1; }
.profile-reputation__rating small { font-family: var(--sans); font-size: 1rem; font-weight: 650; }
.profile-reputation > strong { display: block; color: #343a38; font-size: .78rem; }
.profile-rating-distribution { display: grid; gap: 5px; max-width: 390px; margin-top: 18px; }
.profile-rating-distribution > div { display: grid; grid-template-columns: 27px minmax(80px,1fr) 32px; align-items: center; gap: 8px; min-height: 20px; color: #676b67; font-size: .59rem; }
.profile-rating-distribution i { display: block; height: 5px; overflow: hidden; border-radius: 99px; background: #e3dac8; }
.profile-rating-distribution b { display: block; height: 100%; border-radius: inherit; background: #b4842b; }
.profile-rating-distribution small { color: #676b67; font-size: inherit; text-align: right; }
.profile-reputation > p { margin: 20px 0 2px; color: #555b58; font-size: .76rem; }
.profile-review-source { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; color: #755310; font-size: .72rem; font-weight: 780; text-decoration: none; }
.profile-reputation > small { display: block; color: #70736e; font-size: .66rem; line-height: 1.5; }
.profile-editorial-copy { max-width: 850px; padding: 25px 27px; margin-top: 48px; border-left: 2px solid #c29a43; color: #5e625e; background: #fffdf8; font-size: .78rem; }
.profile-editorial-copy p:first-child { margin-top: 0; }
.profile-editorial-copy p:last-child { margin-bottom: 0; }
.profile-main .branch-network { padding-top: 66px; margin-top: 66px; border-color: #d9d1c4; }
.profile-main .branch-network__grid a { min-height: 76px; }
.profile-mobile-dock { display: none; }

@media (max-width: 720px) {
	.single-compro_oro .profile-hero { padding-block: 23px 25px; }
	.single-compro_oro .profile-hero h1 { font-size: clamp(2.05rem,10.6vw,2.85rem); line-height: .98; letter-spacing: -.045em; }
	.profile-hero__eyeline { display: flex !important; margin-bottom: 11px; }
	.profile-hero__eyeline .freshness { font-size: .875rem; line-height: 1.4; }
	.single-compro_oro .profile-hero__grid .profile-hero__address { margin-top: 9px; font-size: .875rem; line-height: 1.4; }
	.profile-hero__area { margin-top: 0; font-size: .875rem; line-height: 1.4; }
	.profile-hero__proof { margin-top: 8px; font-size: .875rem; }
	.profile-oam-years { font-size: inherit; line-height: inherit; }
	.profile-hero__proof > a { min-height: 44px; font-size: inherit; line-height: inherit; }
	.profile-open-status { min-height: 44px; font-size: inherit; line-height: inherit; }
	.profile-hero__proof > a span { font-size: inherit; }
	.profile-hero__availability { margin-top: 0; }
	.hours-seasonal-note--profile { font-size: .875rem; }
	.profile-hero__action-block { width: 100%; }
	.profile-actions { margin-top: 14px; }
	.profile-hero__verification { margin-top: 4px; font-size: .75rem; }
	.profile-actions { grid-template-columns: repeat(auto-fit,minmax(min(100%,7.5rem),1fr)); }
	.profile-actions .button { min-height: 48px; font-size: .76rem; }
	.profile-main { padding: 18px 0 calc(110px + env(safe-area-inset-bottom)); }
	.profile-decision-grid { grid-template-columns: 1fr; gap: 9px; }
	.profile-photo,.profile-quote-card { min-height: 0; border-radius: 14px; }
	.profile-photo--source { grid-template-columns: auto minmax(0,1fr) auto; gap: 13px; padding: 17px; }
	.profile-photo--source > svg { width: 44px; height: 44px; }
	.profile-photo--source strong { font-size: 1.45rem; }
	.profile-photo--source small,.profile-photo--source em { font-size: .875rem; line-height: 1.4; }
	.profile-photo--source > i { width: 32px; height: 32px; }
	.profile-quote-card,.profile-decision-grid:has(.profile-photo) .profile-quote-card { grid-template-columns: minmax(0,1fr) auto; gap: 2px 8px; padding: 10px 12px; }
	.profile-quote-card__value { grid-column: 1; grid-row: 1; gap: 2px; }
	.profile-quote-card__value .profile-card-kicker { font-size: .6875rem; line-height: 1.2; letter-spacing: .1em; }
	.profile-quote-card__value > strong { font-size: 1.75rem; }
	.profile-quote-card p { grid-column: 1 / -1; grid-row: 2; font-size: .8125rem; line-height: 1.35; }
	.profile-quote-card p > small { display: inline; margin: 0 0 0 5px; font-size: .6875rem; }
	.profile-quote-card > a,.profile-decision-grid:has(.profile-photo) .profile-quote-card > a { grid-column: 2; grid-row: 1; max-width: 100%; min-height: 44px; justify-self: end; overflow-wrap: anywhere; font-size: .75rem; text-align: right; }
	.profile-location { padding-top: 47px; }
	.profile-section-heading { align-items: flex-start; flex-direction: column; gap: 3px; margin-bottom: 15px; }
	.profile-section-heading h2,.profile-details h2,.branch-network h2 { font-size: 2.35rem; }
	.profile-section-heading > a { margin-top: 2px; font-size: .875rem; line-height: 1.4; }
	.profile-location__grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
	.profile-location__grid > * { min-width: 0; }
	.profile-map-shell { padding: 7px; border-radius: 15px; }
	.profile-map-shell .shop-map { height: 286px; border-radius: 11px; }
	.profile-nearby { padding: 17px; border-radius: 14px; }
	.profile-nearby h3 { font-size: 1.55rem; }
	.profile-nearby > p,.profile-nearby__list small,.profile-nearby__list em,.profile-nearby__all { font-size: .875rem; line-height: 1.4; }
	.profile-nearby__list > a { min-height: 76px; padding: 11px 12px; }
	.profile-nearby__list strong { font-size: 1rem; }
	.profile-details { grid-template-columns: 1fr; gap: 38px; padding-top: 51px; }
	.profile-details h2 { margin-bottom: 17px; }
	.profile-details .contact-list li { grid-template-columns: 92px minmax(0,1fr); align-items: start; gap: 14px; padding: 14px 0; font-size: 1rem; line-height: 1.45; }
	.profile-details .contact-list li:not(.contact-list__hours) { grid-template-columns: 64px minmax(0,1fr); gap: 10px; }
	.profile-details .contact-list li:not(.contact-list__hours) > strong { font-size: .75rem; letter-spacing: .07em; }
	.profile-details .contact-list li > span,
	.profile-details .contact-list li > a { justify-self: end; text-align: right; }
	.profile-details .contact-list strong,.profile-details .hours-disclosure dt,.profile-details .hours-disclosure small { font-size: .875rem; line-height: 1.4; }
	.contact-list__hours { gap: 10px !important; }
	.contact-list__phone a { justify-content: flex-end; gap: 6px; font-size: 1.1875rem; line-height: 1.25; }
	.contact-list__phone a svg { width: 19px; height: 19px; flex-basis: 19px; }
	.hours-schedule { width: 100%; }
	.hours-schedule > div { gap: 14px; min-height: 36px; align-items: center; }
	.hours-schedule dt,.hours-schedule dd { font-size: .875rem; line-height: 1.4; }
	.profile-reputation { padding: 22px; border-radius: 14px; }
	.profile-reputation h2 { font-size: 1.85rem; }
	.profile-reputation__rating { font-size: 3.4rem; }
	.profile-reputation > strong,.profile-rating-distribution > div,.profile-reputation > p,.profile-reputation > small,.single-compro_oro .map-credit { font-size: .875rem; line-height: 1.4; }
	.single-compro_oro .map-credit { flex-wrap: wrap; text-align: center; }
	.profile-editorial-copy { padding: 20px; margin-top: 38px; }
	.profile-main .branch-network { padding-top: 48px; margin-top: 48px; }
	.profile-mobile-dock { display: grid; position: fixed; z-index: 80; right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); left: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 7px; border: 1px solid rgba(84,66,31,.22); border-radius: 15px; background: rgba(255,253,248,.96); box-shadow: 0 12px 35px rgba(35,31,24,.23); backdrop-filter: blur(12px); }
	.profile-mobile-dock[hidden] { display: none; }
	.profile-mobile-dock a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; border-radius: 10px; color: #252b2b; background: #f0d58d; font-size: .78rem; font-weight: 800; text-decoration: none; }
	.profile-mobile-dock a svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
	.profile-mobile-dock a + a { color: #fffdf8; background: #252b2b; }
}

@media (max-width: 360px) {
	.profile-photo--source { grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; padding: 15px 13px; }
	.profile-photo--source > svg { width: 38px; height: 38px; }
	.profile-photo--source strong { font-size: 1.28rem; }
	.profile-photo--source em { font-size: .57rem; }
	.profile-quote-card { padding: 10px 12px; }
}

@media (max-width: 260px) {
	.gold-chart { padding: 11px; }
	.gold-chart__ranges { grid-template-columns: 1fr; }
	.gold-chart__latest > strong { font-size: 2.45rem; }
	.gold-chart__meta { display: block; }
}

/* Mobile readability floor across primary public page families. */
@media (max-width: 720px) {
	.eyebrow,.footer-bottom,.footer-legal,.footer-legal a { font-size: .75rem; line-height: 1.4; }
	.text-link { display: inline-flex; min-height: 44px; align-items: center; font-size: .8125rem; }
	.quote-entry-strip small { font-size: .75rem; }
	.quote-entry-strip strong { font-size: .875rem; }
	.home-city-picker small,.region-discovery__proof span,.region-city-finder label { font-size: .75rem; line-height: 1.35; }
	.hero-assurance,.proof-grid span,.city-feature__top { font-size: .8125rem; line-height: 1.4; }
	.city-feature li { font-size: .875rem; line-height: 1.4; }
	.region-city-list-controls a,.region-city-list-controls button { font-size: .8125rem; }
	.map-credit,.map-credit a { font-size: .75rem; line-height: 1.4; }

	.location-hero--visual .location-hero__actions .button { font-size: .8125rem; }
	.location-hero--visual .location-hero__assurance { font-size: .75rem; line-height: 1.4; }
	.location-summary > p,.location-summary--overlay > small,.location-summary__metrics strong,.location-summary__metrics span { font-size: .75rem; line-height: 1.35; }
	.map-view-switch button,.map-view-switch button span,.shop-map-toolbar > span,.shop-map-toolbar button,.shop-map-toolbar a,.shop-map-loading,.shop-map-selection span,.shop-map-selection small,.shop-map-selection > a { font-size: .75rem; line-height: 1.35; }
	.shop-map-loading { max-width: calc(100% - 24px); white-space: normal; text-align: center; }
	.area-index__item > b,.area-index__item small,.street-discovery-card__head,.street-discovery-card__head small { font-size: .75rem; line-height: 1.35; }
	.area-index__item strong,.street-discovery-card a strong { font-size: .8125rem; line-height: 1.35; }
	.street-discovery-card a span { font-size: .75rem; line-height: 1.35; }
	.street-discovery-note,.listings-count,.ranking-note p,.ranking-note > a { font-size: .8125rem; line-height: 1.45; }
	.city-atlas-heading > div,.listings-toolbar > div,.filter-form { min-width: 0; }
	.city-atlas-heading h2,.listings-toolbar h2 { overflow-wrap: anywhere; }
	.filter-form label span,.filter-more__toggle small { font-size: .75rem; line-height: 1.35; }
	.filter-more__toggle,.filter-form select,.filter-form input { font-size: .8125rem; }
	.ranking-note > a,.legal-checklist__links a { display: inline-flex; min-height: 44px; align-items: center; }
	.legal-checklist li strong,.legal-checklist li span,.legal-checklist__links a,.legal-note { font-size: .75rem; line-height: 1.45; }
	.city-discovery__links span,.city-discovery__links small,.city-demography-facts dt,.city-demography-facts small,.coverage-gauge > b,.city-coverage-meter .city-coverage-meter__value > span,.city-coverage-meter__copy > em,.city-demography-sources,.population-pyramid-card figcaption > span,.population-pyramid-legend,.population-pyramid thead th,.population-pyramid tbody th { font-size: .75rem; line-height: 1.35; }
	.city-demography-caveat,.population-pyramid__value,.population-pyramid-note { font-size: .8125rem; line-height: 1.45; }

	.single-compro_oro .breadcrumbs { font-size: .75rem; }
	.profile-actions .button,.profile-mobile-dock a { font-size: .8125rem; }
	.profile-card-kicker,.profile-quote-card__value .profile-card-kicker,.profile-quote-card p > small { font-size: .75rem; line-height: 1.35; }
	.profile-quote-card > a,.profile-decision-grid:has(.profile-photo) .profile-quote-card > a,.profile-review-source,.branch-city-next span { font-size: .8125rem; line-height: 1.4; }
	.profile-editorial-copy,.branch-network__intro { font-size: .875rem; line-height: 1.5; }
	.profile-rating-distribution > div { grid-template-columns: max-content minmax(70px,1fr) max-content; }
	.profile-nearby__list small { overflow-wrap: anywhere; }
}
/* Current city-level advertised gold price. */
.city-street-price{background:#171714;color:#f8f4eb;border-top:1px solid rgba(202,164,83,.4);border-bottom:1px solid rgba(202,164,83,.4)}
.national-street-price{color:#f8f4eb;background:#171714;border-block:1px solid rgba(202,164,83,.4)}
.national-street-price__inner{display:grid;grid-template-columns:minmax(0,1.35fr) auto;align-items:end;gap:10px 32px;padding-top:24px;padding-bottom:21px}
.national-street-price .eyebrow{margin-bottom:7px;color:#d8b76f}
.national-street-price h2{max-width:760px;margin:0;color:#fff;font-family:var(--display);font-size:clamp(1.55rem,2.7vw,2.35rem);font-weight:400;line-height:1.08}
.national-street-price__amount{position:relative;display:flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-width:0}
.national-street-price__value{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:0;color:#fff;white-space:nowrap;min-width:0}
.national-street-price__value strong{font-family:var(--display);font-size:clamp(2.8rem,5vw,4.1rem);font-weight:400;line-height:.85}
.national-street-price__value span{color:#d8b76f;font-size:.88rem;font-weight:750}
.national-street-price__meta{display:flex;flex-wrap:wrap;gap:3px 15px;color:#aaa69d;font-size:.76rem;line-height:1.4}
.national-street-price__link{display:inline-flex;min-height:44px;align-items:center;justify-self:end;gap:8px;color:#f1d797;font-size:.78rem;font-weight:750;text-decoration:none}
.national-street-price__link:focus-visible{outline:3px solid #f1d797;outline-offset:4px}
.national-street-price__warning{flex-shrink:0;color:#f1d797}
.national-street-price__warning summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;list-style:none}
.national-street-price__warning summary::-webkit-details-marker{display:none}
.national-street-price__warning summary:focus-visible{outline:3px solid #f1d797;outline-offset:2px}
.national-street-price__warning p{position:absolute;z-index:5;right:0;bottom:100%;width:250px;max-width:100%;padding:12px;margin:0;border:1px solid #d8b76f;border-radius:8px;background:#171714;color:#fff;font-size:.85rem;line-height:1.4;white-space:normal}
@media(max-width:720px){.national-street-price__inner{grid-template-columns:1fr;align-items:start;gap:11px;padding-top:21px;padding-bottom:15px}.national-street-price h2{font-size:1.65rem}.national-street-price__value strong{font-size:3rem}.national-street-price__meta{display:grid;gap:1px}.national-street-price__link{justify-self:start}}
.city-street-price__inner{padding-top:25px;padding-bottom:22px}
.city-street-price__heading{display:flex;align-items:end;justify-content:space-between;gap:28px}
.city-street-price__heading h2{margin:0;color:#fff;font-family:var(--display);font-size:clamp(1.7rem,3vw,2.45rem);font-weight:400;line-height:1.05}
.city-street-price__value{display:flex;align-items:baseline;gap:7px;margin:0;color:#fff;white-space:nowrap}
.city-street-price__value strong{font-family:var(--display);font-size:clamp(2.7rem,5vw,4rem);font-weight:400;line-height:.85}
.city-street-price__value span{color:#d8b76f;font-size:.86rem;font-weight:750}
.city-street-price__summary{margin:16px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.13);color:#c9c5bc;font-size:.82rem}
.city-street-price__summary strong{color:#fff}
.city-street-price__evidence{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:2px;color:#918e87;font-size:.76rem}
.city-street-price__sources{color:#c9c5bc;font-size:.82rem}
.city-street-price__sources[open]{flex-basis:100%}
.city-street-price__sources summary{display:inline-flex;gap:8px;align-items:center;min-height:44px;color:#f1d797;font-weight:750;cursor:pointer}
.city-street-price__sources summary::marker{content:""}
.city-street-price__sources ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:10px 0 8px;padding:0;list-style:none}
.city-street-price__sources li{display:grid;gap:3px}
.city-street-price__sources a{color:#fff;font-weight:750}
.city-street-price__sources span{line-height:1.4}
.city-street-price--limited{color:#303534;border-color:#c9c6bf;background:#e6e6e2}
.city-street-price--limited .city-street-price__heading h2,.city-street-price--limited .city-street-price__value,.city-street-price--limited .city-street-price__summary strong,.city-street-price--limited .city-street-price__sources a{color:#303534}
.city-street-price--limited .city-street-price__value span,.city-street-price--limited .city-street-price__sources summary{color:#626764}
.city-street-price--limited .city-street-price__summary{border-color:#c9c6bf;color:#626764}
.city-street-price__notice{display:flex;align-items:center;gap:8px;margin:9px 0 0;color:#555b58;font-size:.78rem;line-height:1.4}
.city-street-price__notice span{font-size:1rem}
.city-street-price--limited .city-street-price__evidence{color:#6c716e}
.listing-quote-signal{display:inline-flex;min-width:24px;min-height:24px;align-items:center;justify-content:center;font-size:1rem;line-height:1}
@media(max-width:720px){.city-street-price__inner{padding-top:22px;padding-bottom:17px}.city-street-price__heading{display:grid;gap:12px}.city-street-price__evidence{align-items:center}.city-street-price__sources ul{grid-template-columns:1fr}}
@media(max-width:260px){.city-street-price__value strong{font-size:2.2rem}.city-street-price__heading h2{font-size:1.45rem}.city-street-price__evidence{display:grid;gap:0}}

/* Fixed Telegram invitation on the quotation page. */
.quote-telegram-cta{position:fixed;z-index:75;top:0;right:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:13px;width:auto;padding:13px max(18px,calc((100vw - 920px)/2));color:#f8f4eb;background:rgba(27,27,24,.97);box-shadow:0 8px 28px rgba(24,22,17,.22);backdrop-filter:blur(12px)}
.quote-telegram-cta__copy{display:grid;min-width:0;justify-self:center;gap:2px;text-align:center}
.quote-telegram-cta__copy strong{font-family:var(--display);font-size:1.08rem;font-weight:400;line-height:1.05}
.quote-telegram-cta__copy strong data{color:inherit;font:inherit;white-space:nowrap}
.quote-telegram-cta__copy small{color:#bbb7ae;font-size:.72rem;line-height:1.3}
.quote-telegram-cta>a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:8px 13px;color:#fff;background:#229ed9;font-size:.78rem;font-weight:800;text-decoration:none;white-space:nowrap}
.quote-telegram-cta>a svg{width:20px;height:20px;fill:currentColor;flex:0 0 20px}
.quote-telegram-cta>a:hover{color:#fff;background:#1788bd}
.quote-telegram-cta>a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:620px){.quote-telegram-cta{right:0;left:0;width:auto;gap:9px;padding:9px 10px}.quote-telegram-cta__copy strong{font-size:.98rem}.quote-telegram-cta__copy small{font-size:.72rem}.quote-telegram-cta>a{padding-inline:11px;font-size:.75rem}}
@media(max-width:390px){.quote-telegram-cta__copy strong{font-size:.94rem}.quote-telegram-cta>a{gap:6px;padding-inline:9px}.quote-telegram-cta>a svg{width:19px;height:19px;flex-basis:19px}}
@media(prefers-reduced-transparency:reduce){.quote-telegram-cta{background:#1b1b18;backdrop-filter:none}}

/* Telegram CTA preview 1: rounded white top banner. */
.quote-telegram-cta--1{z-index:49;top:94px;right:10px;left:10px;color:#242622;background:rgba(255,253,248,.98);border-radius:18px;box-shadow:0 12px 34px rgba(34,29,19,.18)}
.admin-bar .quote-telegram-cta--1{top:126px}
.quote-telegram-cta--1 .quote-telegram-cta__copy small{color:#666960}
.quote-telegram-cta--1>a{color:#fff;background:#229ed9}
.quote-telegram-cta--1>a:hover{color:#fff;background:#1788bd}
.quote-telegram-cta--1>a:focus-visible{outline-color:#8b681f}
.quote-telegram-cta--1>a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quote-telegram-cta--1>a{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%}

/* Telegram CTA preview 2: compact gold card. */
.quote-telegram-cta--2{top:auto;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;width:auto;padding:12px max(14px,calc((100vw - 920px)/2));color:#1c1c19;background:#ead08d;border-radius:18px;box-shadow:0 16px 42px rgba(34,29,19,.3);backdrop-filter:none}
.quote-telegram-cta--2 .quote-telegram-cta__copy strong{font-size:1.2rem}
.quote-telegram-cta--2 .quote-telegram-cta__copy small{color:#62532f}
.quote-telegram-cta--2>a{color:#fff;background:#229ed9}
.quote-telegram-cta--2>a:hover{color:#fff;background:#1788bd}
.quote-telegram-cta--2>a:focus-visible{outline-color:#1c1c19}
.quote-telegram-cta--2>a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quote-telegram-cta--2>a{width:48px;min-width:48px;height:48px;padding:0;border-radius:50%}

/* Telegram CTA preview 3: the preferred white banner at the bottom. */
.quote-telegram-cta--3{top:auto;right:10px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;width:auto;padding:13px max(18px,calc((100vw - 920px)/2));color:#242622;background:rgba(255,253,248,.98);border-radius:18px;box-shadow:0 -8px 28px rgba(34,29,19,.16);backdrop-filter:blur(12px)}
.quote-telegram-cta--3 .quote-telegram-cta__copy small{color:#666960}
.quote-telegram-cta--3>a{color:#fff;background:#229ed9}
.quote-telegram-cta--3>a:hover{color:#fff;background:#1788bd}
.quote-telegram-cta--3>a:focus-visible{outline-color:#8b681f}
.quote-telegram-cta--3>a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quote-telegram-cta--3>a{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%}

@media(max-width:620px){.quote-telegram-cta--2{right:10px;left:10px;width:auto;padding:10px 12px}.quote-telegram-cta--3{right:10px;left:10px;width:auto;padding:9px 10px}}
@media(max-width:720px){.quote-telegram-cta--1{top:84px}.admin-bar .quote-telegram-cta--1{top:130px}}
@media(max-width:720px){.profile-mobile-dock-visible .quote-telegram-cta--3{bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:260px){.quote-telegram-cta,.quote-telegram-cta--2,.quote-telegram-cta--3{grid-template-columns:1fr}.quote-telegram-cta>a{width:100%}}

/* Live Telegram banner: mobile only, with the full surface acting as the link. */
.quote-telegram-cta{display:none;padding:0}
@media(max-width:720px){
	.quote-telegram-cta{display:block}
	.quote-telegram-cta>.quote-telegram-cta__link{display:grid;width:100%;height:auto;min-height:62px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:9px;padding:9px 10px;color:inherit;background:transparent;border-radius:inherit;font-size:inherit;font-weight:inherit;text-decoration:none;white-space:normal}
	.quote-telegram-cta--2>.quote-telegram-cta__link{grid-template-columns:minmax(0,1fr) 48px;padding:10px 12px}
	.quote-telegram-cta>.quote-telegram-cta__link:hover{color:inherit;background:transparent}
	.quote-telegram-cta>.quote-telegram-cta__link:focus-visible{outline:3px solid #8b681f;outline-offset:3px}
	.quote-telegram-cta>.quote-telegram-cta__link>span{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal}
	.quote-telegram-cta__icon{display:grid!important;width:44px!important;height:44px!important;place-items:center;color:#fff;background:#229ed9;border-radius:50%}
	.quote-telegram-cta--2 .quote-telegram-cta__icon{width:48px!important;height:48px!important}
	.quote-telegram-cta__icon svg{width:20px;height:20px;fill:currentColor;flex:0 0 20px}
	.quote-telegram-cta__link:hover .quote-telegram-cta__icon{background:#1788bd}
}

/* Owner-declared branch services. */
.profile-services { padding-top: 40px; }
.profile-services .profile-section-heading { align-items: baseline; gap: 12px; }
.profile-services .profile-section-heading > span { color: #686b67; font-size: .875rem; }
.profile-services ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.profile-services li { max-width: 100%; padding: 10px 14px; border: 1px solid #d9d1c4; border-radius: 6px; overflow-wrap: anywhere; line-height: 1.5; }
