/* Gentle entrances leave content visible if JavaScript is unavailable. */
.page-toc{margin-top:28px;margin-bottom:6px;border:1px solid var(--line);border-radius:10px;background:#fff}
.page-toc summary{padding:17px 22px;cursor:pointer;font-weight:650;list-style:none;display:flex;align-items:center;gap:16px}
.page-toc summary::after{content:'＋';margin-left:auto;color:var(--green)}
.page-toc details[open]>summary::after{content:'−'}
.page-toc summary::-webkit-details-marker,.consult-choice summary::-webkit-details-marker{display:none}
.page-toc ol{list-style:none;margin:0;padding:0 22px 19px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}
.page-toc a{font-size:.94rem;text-decoration:underline;text-underline-offset:4px;line-height:1.75}
.back-to-top{position:fixed;z-index:44;right:22px;bottom:24px;background:var(--green);color:white;border:1px solid #ffffff90;box-shadow:0 4px 14px #173a3022;border-radius:9px;padding:12px 16px;font-size:.9rem;font-weight:650}
.back-to-top span{margin-left:8px}
[hidden]{display:none!important}
.consultation-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.consult-choice{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent,var(--green));border-radius:0 0 10px 10px}
.consult-choice summary{cursor:pointer;padding:21px 23px;display:flex;align-items:center;gap:16px;list-style:none;font-weight:650;line-height:1.8}
.consult-choice summary::after{content:'＋';margin-left:auto;color:var(--accent,var(--green));flex-shrink:0}
.consult-choice[open]>summary::after{content:'−'}
.consult-choice[open]>summary{border-bottom:1px solid var(--line)}
.consult-choice-wide{grid-column:1/-1}
.consult-result{padding:23px;background:#fbfcfa}
.consult-result h3{font-size:1.25rem;color:var(--accent,var(--green));margin-bottom:12px}
.consult-result p{margin-bottom:12px}
.consult-result .phone{font-size:1.45rem}
.consult-result .section-links{margin-bottom:0;gap:16px}
.availability-section .section-head{align-items:flex-end;gap:24px}
.availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.availability-grid:has(>.availability-card:only-child){grid-template-columns:minmax(0,1fr);max-width:800px}
.availability-card{padding:23px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0 0 10px 10px;min-width:0}
.availability-card h3{color:var(--accent);font-size:1.45rem;margin:7px 0 14px}
.availability-status{font-size:.91rem;font-weight:650;background:var(--soft);padding:10px 12px;border-radius:5px;line-height:1.75}
.availability-date{font-size:.84rem;margin-top:10px;color:#53665b}
.availability-actions{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:17px;align-items:center}
.availability-actions a{font-size:.95rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.availability-section>.wrap>.note{margin-top:21px}
.editorial-latest{background:#f4f7f2}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:28px 0}
.editorial-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;min-width:0;display:flex;flex-direction:column}
.editorial-card h2,.editorial-card h3{font-size:1.17rem;line-height:1.8;margin:16px 0 13px}
.editorial-card h2 a,.editorial-card h3 a{display:flex;align-items:start;gap:12px;text-decoration:underline;text-decoration-color:#d6e2d9;text-underline-offset:6px;text-decoration-thickness:1px}
.editorial-card h2 span,.editorial-card h3 span{color:var(--green);font-size:1rem;flex-shrink:0}
.editorial-card>p:last-child{font-size:.94rem;color:#526259;margin-bottom:0}
.editorial-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 13px;font-size:.78rem;line-height:1.65;color:#526259;margin:0}
.editorial-meta time{width:100%;font-variant-numeric:tabular-nums}
.editorial-kind{background:#edf3e9;color:#175942;border-radius:4px;padding:3px 8px;font-weight:650}
.editorial-nav{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 28px}
.editorial-nav a{padding:12px 19px;border:1px solid var(--line);border-radius:6px;font-weight:650;background:white}
.editorial-nav a[aria-current="page"]{background:var(--green);border-color:var(--green);color:#fff}
.editorial-latest .editorial-nav{margin:25px 0 0}
.editorial-filters{padding:23px;background:var(--soft);border-radius:9px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) auto;gap:18px;align-items:end}
.editorial-filters label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:650}
.editorial-filters input,.editorial-filters select{width:100%;min-width:0;min-height:46px;padding:10px 12px;background:white;border:1px solid #9fb5a8;border-radius:5px;font:inherit;font-size:1rem;color:var(--ink)}
.editorial-filters .button{min-height:46px;padding:10px 16px;justify-content:center}
.article-result-count{font-size:.9rem;margin-top:22px;color:#526259}
.editorial-empty{border:1px dashed #9fb5a8;padding:28px;border-radius:8px}
.article-pagination{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:35px}
.article-pagination button:disabled{opacity:.45;cursor:default}
.article-reading .content{max-width:850px}
.article-byline{padding-bottom:25px;margin-bottom:34px;border-bottom:1px solid var(--line);font-size:.9rem;color:#526259}
.article-byline p{margin:0 0 5px}
.article-byline a,.article-sources a{text-decoration:underline;text-underline-offset:4px}
.article-section p{line-height:2}
.article-section .section-links{font-size:.95rem;gap:12px 25px}
.article-sources{background:var(--soft);padding:23px 27px;border-radius:9px;font-size:.92rem}
.article-sources ul{margin-bottom:0}
.article-contact{border-top:3px solid var(--green);margin:38px 0;padding:27px;background:#f4f7f2;border-radius:0 0 10px 10px}
.article-contact h2{font-size:1.3rem}
/* The additional editorial link switches to the compact navigation earlier. */
@media(min-width:901px) and (max-width:1120px){
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 15px 25px #133d3217;padding:20px 28px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 100px);overflow:auto}
 .main-nav.is-open{display:flex}.main-nav a{padding:14px 15px;border-bottom:1px solid var(--line);font-size:1rem}.nav-contact{margin-top:15px}.menu-toggle{display:block}
}
@media(max-width:1000px){.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.main-nav{max-height:calc(100dvh - 120px);overflow:auto}.back-to-top{bottom:calc(77px + env(safe-area-inset-bottom));right:14px}}
@media(max-width:600px){
 .page-toc{margin-top:20px}.page-toc summary{padding:14px 16px;flex-wrap:wrap;gap:4px 10px}.page-toc summary>.note{display:none}.page-toc ol{grid-template-columns:1fr;padding:0 16px 17px;gap:9px}
 .back-to-top{padding:10px 12px;font-size:.85rem}.back-to-top span{margin-left:4px}
 .consultation-choices,.availability-grid,.editorial-grid{grid-template-columns:minmax(0,1fr)}
 .consult-choice summary{padding:18px;font-size:.96rem}.consult-result{padding:20px}.consult-result h3{font-size:1.12rem}
 .availability-section .section-head{align-items:start;flex-direction:column;gap:10px}.availability-card{padding:21px}.availability-card h3{margin-top:4px}
 .editorial-card{padding:23px}.editorial-card h2,.editorial-card h3{font-size:1.1rem}
 .editorial-filters{grid-template-columns:minmax(0,1fr);padding:19px;gap:15px}.editorial-nav{gap:9px}.editorial-nav a{padding:10px 13px;font-size:.91rem}
 .article-byline{font-size:.84rem}.article-sources,.article-contact{padding:22px}.article-contact .button{font-size:.94rem;padding:13px 15px}.article-reading .content{width:calc(100% - 40px)}
}
@media(prefers-reduced-motion:reduce){.consult-choice,.page-toc,.faq-list details{scroll-behavior:auto}}
@media print{.back-to-top,.page-toc,.editorial-filters,.article-pagination{display:none!important}.editorial-card[hidden]{display:block!important}}
