/* Local valuation guides share the existing Suisse Homes design tokens. */
.local-header { border-bottom: 1px solid var(--line); background: #fff; }
.local-header-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:90px; }
.local-header img { width:170px; height:auto; }
.local-languages { display:flex; gap:8px; }
.local-languages a { padding:8px 10px; font-weight:800; border-radius:6px; }
.local-languages [aria-current] { background:var(--primary); color:#fff; }
.local-hero { background:var(--cream); padding:30px 0 58px; border-bottom:1px solid var(--line); }
.local-breadcrumb { font-size:.85rem; margin-bottom:32px; color:var(--text-muted); }
.local-eyebrow { color:var(--primary); font-size:.82rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; }
.local-hero h1 { max-width:900px; }
.local-lead { max-width:820px; font-size:1.15rem; margin:24px 0 30px; }
.local-layout { display:grid; grid-template-columns:minmax(0, 1fr) 330px; gap:70px; padding-top:55px; padding-bottom:65px; }
.local-section { margin-bottom:38px; padding:0; }
.local-section h2 { font-size:1.6rem; margin-bottom:18px; }
.local-section p + p { margin-top:16px; }
.local-sources { padding-left:22px; margin-top:14px; }
.local-sources li { margin-top:12px; }
.local-article a, .local-team-link { text-decoration:underline; text-underline-offset:3px; }
.local-contact { background:var(--cream); border:1px solid var(--line); border-radius:16px; padding:27px; }
.local-contact h2 { font-size:1.45rem; margin-bottom:18px; }
.local-contact address { font-style:normal; overflow-wrap:anywhere; }
.local-contact .btn { margin-top:25px; width:100%; text-align:center; white-space:normal; }
.local-team-link { display:inline-block; margin-top:16px; }
.local-related { padding:28px 0; }
.local-related h2 { font-size:1.1rem; margin-bottom:15px; }
.local-faq { padding:17px 0; border-bottom:1px solid var(--line); }
.local-faq summary { cursor:pointer; font-weight:800; padding-right:10px; }
.local-faq p { margin-top:14px; color:var(--text-soft); }
.local-footer { padding:30px 0; border-top:1px solid var(--line); font-size:.85rem; }
.local-footer .container, .local-footer nav { display:flex; gap:22px; justify-content:space-between; flex-wrap:wrap; }
@media (max-width:850px) { .local-layout { grid-template-columns:1fr; gap:10px; } .local-contact { max-width:520px; } }
@media (max-width:540px) { .local-header-inner { min-height:76px; gap:10px; } .local-header img { width:140px; } .local-languages { gap:0; } .local-languages a { padding:8px; } .local-hero { padding-bottom:38px; } .local-breadcrumb { font-size:.78rem; } .local-lead { font-size:1.05rem; } .local-layout { padding-top:34px; } }

.hero-conditions { max-width:64ch; margin:-14px 0 26px; color:var(--text-soft); font-size:.94rem; line-height:1.6; }
.local-guides { padding-top:0; background:var(--white); }
.local-guides .compare-card-title { margin-bottom:14px; }
.local-guides .compare-card > p { color:var(--text-soft); font-size:.96rem; }
.about-copy .team-link { margin:18px 0 0; }
.team-link a { color:var(--primary); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* National canton directory: all destinations remain normal crawlable links. */
.site-header .header-inner { max-width:1440px; gap:20px; }
.main-nav > ul > li > a, .main-nav > ul > li > button { padding-left:9px; padding-right:9px; }
@media (min-width:1301px) and (max-width:1550px) { .header-phone { display:none; } .header-actions { gap:12px; } }
.directory-language-note { margin-top:22px; color:var(--text-soft); font-size:.92rem; }
.canton-directory { padding:58px 0; }
.directory-intro { max-width:840px; margin:22px 0; color:var(--text-soft); }
.canton-jumps { display:flex; flex-wrap:wrap; gap:9px; margin:28px 0 35px; }
.canton-jumps a { border:1px solid var(--line); border-radius:30px; padding:8px 14px; font-size:.9rem; font-weight:700; background:var(--cream); }
.canton-group { padding:25px 0; scroll-margin-top:20px; }
.canton-group h3 { font-size:1.35rem; margin-bottom:18px; }
.canton-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; list-style:none; }
.canton-grid li { min-width:0; }
.canton-grid a { display:flex; gap:13px; align-items:center; height:100%; padding:18px; color:var(--text); border:1px solid var(--line); border-radius:12px; }
.canton-grid a:hover { border-color:var(--primary); background:var(--cream); }
.canton-code { background:var(--cream); border:1px solid var(--line); border-radius:8px; padding:9px 0; flex:0 0 42px; text-align:center; color:var(--primary); font-size:.82rem; font-weight:800; }
.canton-card-copy { display:flex; flex:1; flex-direction:column; gap:3px; }
.canton-card-copy strong { line-height:1.3; font-size:1rem; }
.canton-card-copy span { font-size:.75rem; color:var(--text-soft); }
.directory-method { background:var(--cream); padding:56px 0; }
.directory-explain { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.directory-explain h2 { font-size:1.35rem; margin-bottom:18px; }
.directory-explain p { font-size:.96rem; }
.directory-contact { display:flex; gap:24px; flex-wrap:wrap; align-items:center; justify-content:space-between; padding-top:34px; margin-top:35px; border-top:1px solid var(--line); }
.directory-contact .local-eyebrow { margin-bottom:6px; }
.local-related ul { padding-left:20px; }
.local-related li { margin:12px 0; }
.directory-return { display:inline-block; margin-top:18px; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.national-guide-card { margin:28px 0; padding:28px; border:1px solid var(--line); border-radius:14px; background:var(--cream); display:flex; align-items:center; gap:25px; justify-content:space-between; }
.national-guide-card h3 { margin-bottom:9px; }
.national-guide-card p { max-width:680px; font-size:.98rem; color:var(--text-soft); }
.national-guide-card .btn { flex-shrink:0; }
@media(max-width:900px) { .canton-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .directory-explain { grid-template-columns:1fr; gap:28px; } .national-guide-card { align-items:flex-start; flex-direction:column; } }
@media(max-width:540px) { .canton-grid { grid-template-columns:1fr; } .canton-directory { padding:34px 0; } .canton-grid a { padding:16px; } .directory-method { padding:36px 0; } .national-guide-card { padding:22px; } .local-breadcrumb { line-height:1.8; } }
