/* Finnish cornerstone: scoped visual hierarchy on the existing Hanki design system. */
.fi-cornerstone{padding-top:45px;padding-bottom:75px;max-width:1050px}
.fi-cornerstone h1{font-size:clamp(38px,4.2vw,58px);line-height:1.13;letter-spacing:-1.5px;max-width:850px;margin-bottom:20px}
.fi-cornerstone .lead{font-size:clamp(18px,2vw,21px);line-height:1.65;max-width:850px}
.fi-cornerstone h2{scroll-margin-top:112px}
.fi-cornerstone .meta{margin:20px 0}
.fi-cornerstone .fi-language-note{padding:14px 18px;border-left:3px solid var(--blue);background:var(--surface);border-radius:0 8px 8px 0;color:var(--muted);margin:24px 0}
.fi-cornerstone .toc{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 42px}
.fi-cornerstone .toc a{display:inline-flex;align-items:center;min-height:38px;padding:6px 13px;border:1px solid var(--line);border-radius:100px;background:var(--surface);font-size:14px}
.fi-cornerstone ol[data-howto] li{scroll-margin-top:120px;margin-bottom:13px}
.fi-cornerstone .fi-symptom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0 35px}
.fi-symptom-grid article{padding:23px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fi-symptom-grid h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.fi-symptom-grid p{margin:0 0 16px;font-size:15px;line-height:1.7;color:var(--muted)}
.fi-symptom-grid a{color:var(--blue);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fi-cornerstone .fi-faq{display:grid;gap:13px;margin:24px 0 42px}
.fi-faq .faq-item{padding:23px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fi-faq .faq-item h3{font-size:19px;line-height:1.35;margin:0 0 10px}
.fi-faq .faq-item p{margin:0;line-height:1.7;color:var(--muted)}
.fi-lang-link{white-space:nowrap;color:var(--blue)}
.fi-entry{font-size:14px!important;margin:8px 0 0!important}
.fi-entry a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.fi-cornerstone{padding-top:26px;padding-bottom:55px}.fi-cornerstone .fi-symptom-grid{grid-template-columns:1fr}.fi-symptom-grid article,.fi-faq .faq-item{padding:19px}.fi-cornerstone .toc{gap:8px}.fi-lang-link{font-size:13px}}
@media(max-width:460px){.fi-lang-link{font-size:12px}.fi-cornerstone h1{font-size:36px}}

/* Shared multilingual diagnostic navigation, scoped to real article counterparts. */
.locale-menu{position:relative;z-index:25}
.locale-menu summary{list-style:none;cursor:pointer;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;color:var(--text);white-space:nowrap}
.locale-menu summary::-webkit-details-marker{display:none}
.locale-menu summary::after{content:" ▾";color:var(--blue)}
.locale-menu[open] summary{border-color:var(--blue)}
.locale-menu summary:focus-visible,.locale-menu a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.locale-menu nav{position:absolute;right:0;top:calc(100% + 8px);display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:4px;min-width:300px;max-height:60vh;overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 45px #000b}
.locale-menu nav a{display:block;padding:8px 10px;border-radius:6px;font-size:14px;line-height:1.4}
.locale-menu nav a:hover,.locale-menu nav a[aria-current=page]{background:var(--surface-selected)}
.locale-menu nav a[aria-current=page]::before{content:"✓ ";color:var(--blue)}
.locale-quick{margin:16px 0 28px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.locale-quick>span{font-weight:650}
.locale-links{display:flex;flex-wrap:wrap;gap:10px}
.locale-links a{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:6px 13px;border:1px solid var(--line);border-radius:100px;background:var(--surface);font-size:14px;color:var(--text)}
.locale-links a:hover,.locale-links a:focus-visible{border-color:var(--blue);color:var(--blue)}
.locale-quick .locale-links{margin-top:12px}
.language-panel{padding-top:34px;padding-bottom:40px}
.language-panel>.locale-links{margin-top:20px}
.multi-cornerstone .actions .button{font-size:15px}
@media(max-width:760px){.locale-menu nav{grid-template-columns:repeat(2,minmax(110px,1fr));min-width:270px;right:0}}
@media(max-width:390px){.locale-menu nav{min-width:236px;grid-template-columns:1fr 1fr}.multi-cornerstone .nav{gap:10px}}
