.guide-shell { max-width:920px; }
.guide-index-hero { max-width:760px; padding:18px 0 38px; }
.guide-index-hero > p:last-child,.guide-hero > p:last-child { max-width:720px; margin:18px 0 0; color:var(--muted); font-size:1.05rem; }
.guide-category-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 42px; }
.guide-category-nav a { display:inline-flex; min-height:44px; align-items:center; padding:0 16px; border:1px solid #a8c3b8; border-radius:999px; color:var(--brand-dark); background:#fffefa; font-weight:800; }
.guide-featured-section { margin:0 0 52px; }
.guide-category-section { scroll-margin-top:24px; margin:0 0 48px; }
.guide-section-heading { margin-bottom:18px; }
.guide-section-heading h2 { margin:3px 0 0; font-size:clamp(1.45rem, 4vw, 2rem); }
.guide-section-heading > p:last-child { margin:8px 0 0; color:var(--muted); }
.guide-section-kicker { margin:0; color:var(--brand); font-size:.82rem; font-weight:800; }
.guide-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.guide-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--card); }
.guide-card__body { display:flex; min-height:100%; flex-direction:column; padding:26px; color:inherit; text-decoration:none; }
.guide-card__body:hover { color:inherit; text-decoration:none; }
.guide-card__body:focus-visible { outline-offset:-4px; }
.guide-card__category { margin:0 0 9px; color:var(--brand); font-size:.82rem; font-weight:800; }
.guide-card h3 { margin:0; font-size:1.2rem; line-height:1.4; overflow-wrap:anywhere; word-break:normal; }
.guide-card__summary { margin:12px 0 22px; color:var(--muted); font-size:.92rem; line-height:1.65; }
.guide-card__link { margin-top:auto; color:var(--brand-dark); font-weight:800; }
.guide-card--featured { border-color:#a8c9ba; background:#f3f8f5; }
.guide-service-links { margin-top:58px; padding:30px; border-radius:12px; background:var(--brand-dark); }
.guide-service-links .guide-section-kicker { color:#b8d6ca; }
.guide-service-links h2 { color:#fff; }
.guide-service-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.guide-service-link-grid a { display:flex; min-height:112px; flex-direction:column; justify-content:center; padding:18px; border:1px solid rgba(255,255,255,.36); border-radius:9px; color:#fff; text-decoration:none; }
.guide-service-link-grid strong { font-size:1.02rem; }
.guide-service-link-grid span { margin-top:6px; color:#dbe9e3; font-size:.88rem; line-height:1.55; }

.guide-detail { max-width:820px; }
.guide-detail article { max-width:760px; }
.guide-hero { padding-bottom:24px; }
.guide-direct-answer { padding:20px 22px; border-left:4px solid var(--brand); border-radius:0 9px 9px 0; color:#294b3e !important; background:#edf5f0; font-weight:700; }
.guide-featured-block { margin:12px 0 16px; padding:24px; border:1px solid #b9d5c9; border-radius:12px; background:#f7fbf8; }
.guide-featured-block h2 { margin:0 0 16px; font-size:1.25rem; }
.guide-featured-block ol { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.guide-featured-block li { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:start; }
.guide-featured-block li span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:var(--brand); font-size:.82rem; font-weight:850; }
.guide-featured-block li p { margin:1px 0 0; }
.guide-primary-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin:16px 0 46px; padding:22px 24px; border-radius:12px; color:#fff; background:var(--brand-dark); }
.guide-primary-cta h2 { margin:0; font-size:1.12rem; }
.guide-primary-cta p { margin:5px 0 0; color:#dbe9e3; font-size:.9rem; }
.guide-primary-cta a { display:inline-flex; min-height:48px; flex:0 0 auto; align-items:center; padding:0 17px; border-radius:8px; color:var(--brand-dark); background:#fff; font-weight:850; }
.guide-primary-cta__actions { display:flex; flex:0 0 auto; flex-direction:column; gap:8px; }
.guide-primary-cta .guide-primary-cta__secondary { border:1px solid #dbe9e3; color:#fff; background:transparent; }
.guide-primary-cta__document,.guide-primary-cta__limitation { flex-basis:100%; width:100%; }
.guide-primary-cta__document { font-weight:800; }
.guide-primary-cta__limitation { padding-top:3px; border-top:1px solid rgba(255,255,255,.25); }
.guide-content-block { margin:0 0 48px; }
.guide-content-block > h2,.guide-faq > h2,.guide-related > h2,.guide-nearby h2 { margin:0 0 18px; font-size:1.5rem; }
.guide-steps ol { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.guide-steps li { padding:20px 22px; border:1px solid var(--line); border-radius:10px; background:#fffefa; }
.guide-steps h3 { margin:2px 0 8px; font-size:1.08rem; }
.guide-steps li > p:last-child { margin:0; color:var(--muted); }
.guide-step-label { margin:0; color:var(--brand); font-size:.75rem; font-weight:850; letter-spacing:.05em; }
.guide-table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:10px; background:#fff; -webkit-overflow-scrolling:touch; }
.guide-table-scroll:focus-visible { outline:3px solid var(--accent-ring); outline-offset:2px; }
.guide-table-section table { width:100%; min-width:680px; border-collapse:collapse; font-size:.9rem; }
.guide-table-section th,.guide-table-section td { padding:14px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.guide-table-section th { color:#315145; background:#edf5f0; }
.guide-table-section tbody tr:last-child td { border-bottom:0; }
.guide-table-hint { margin:8px 0 0; color:var(--muted); font-size:.78rem; }
.guide-options ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.guide-options li { padding:18px 20px; border-left:4px solid #d8a349; border-radius:0 8px 8px 0; background:#fff8e9; }
.guide-warning { margin:0 0 48px; padding:20px; border-radius:10px; background:#fff8e9; }
.guide-warning h2 { margin:0 0 8px; font-size:1.15rem; }
.guide-warning p,.guide-prose p { margin:0; color:var(--muted); }
.guide-nearby { scroll-margin-top:20px; margin:0 0 52px; padding-top:4px; }
.guide-nearby .nearby-kiosk-trigger { width:100%; min-height:52px; margin:0 0 16px; }
.guide-nearby .nearby-kiosk-panel { margin-bottom:16px; }
.guide-nearby-fallback { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:15px 17px; border:1px solid var(--line); border-radius:9px; color:var(--muted); font-size:.9rem; }
.guide-nearby-fallback a,.guide-no-js a { color:var(--brand-dark); font-weight:800; text-decoration:underline; }
.guide-no-js { padding:14px; border-radius:8px; background:#fff8e9; }
.guide-faq { margin:0 0 48px; }
.guide-faq details { border-top:1px solid var(--line); }
.guide-faq details:last-child { border-bottom:1px solid var(--line); }
.guide-faq summary { min-height:54px; padding:15px 4px; color:var(--ink); font-weight:800; cursor:pointer; }
.guide-faq details p { margin:0; padding:0 4px 18px; color:var(--muted); }
.guide-related { margin:0 0 42px; }
.guide-related ul,.guide-sources ul { display:grid; gap:8px; margin:0; padding-left:20px; }
.guide-related a,.guide-sources a { color:var(--brand-dark); text-decoration:underline; }
.guide-sources { padding:24px; border-top:3px solid var(--brand); border-radius:0 0 10px 10px; background:#f4f7f5; }
.guide-sources h2 { margin:0 0 14px; font-size:1.15rem; }
.guide-sources p { margin:14px 0 0; color:var(--muted); font-size:.86rem; }

@media (max-width:640px) {
    .guide-index-hero { padding-top:4px; }
    .guide-card-grid { grid-template-columns:1fr; }
    .guide-card__body { padding:22px 20px; }
    .guide-category-nav { margin-bottom:34px; }
    .guide-featured-section,.guide-category-section { margin-bottom:40px; }
    .guide-service-link-grid { grid-template-columns:1fr; }
    .guide-service-links { margin-top:44px; padding:24px 20px; }
    .guide-service-cta,.guide-primary-cta { align-items:stretch; flex-direction:column; }
    .guide-service-cta { padding:24px 20px; }
    .guide-service-cta__links { flex-direction:column; }
    .guide-service-cta__links a,.guide-primary-cta a { justify-content:center; }
    .guide-primary-cta__actions { width:100%; }
    .guide-direct-answer { margin-top:16px !important; padding:17px 18px; }
    .guide-featured-block { padding:20px 17px; }
    .guide-primary-cta { margin-bottom:38px; padding:20px; }
    .guide-content-block { margin-bottom:40px; }
    .guide-content-block > h2,.guide-faq > h2,.guide-related > h2,.guide-nearby h2 { font-size:1.3rem; }
    .guide-steps li { padding:18px; }
    .guide-table-section table { min-width:620px; }
    .guide-sources { padding:20px 18px; }
}
