@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/worksans-latin-400.woff') format('woff')}@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/worksans-latin-700.woff') format('woff')}:root{--bg:#f6fbf8;--panel:#fff;--ink:#16211b;--muted:#53635a;--line:#d8e5dc;--brand:#006b5d;--brand2:#004b42;--soft:#e8f5ef;--warn:#8a5a00;--warnbg:#fff6df;--danger:#a12727;--dangerbg:#fff0ef;--ok:#156d38;--okbg:#ebf8ef;--shadow:0 18px 55px rgba(0,74,59,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Work Sans',Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.skip-link{position:absolute;left:-999px;top:auto;background:#fff;padding:10px;border:1px solid var(--line);z-index:100}.skip-link:focus{left:12px;top:12px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--line);z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:#fff}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-name{display:block;font-weight:700;letter-spacing:-.02em}.brand-line{display:block;color:var(--muted);font-size:.92rem}.site-nav{display:flex;align-items:center;gap:18px;font-size:.95rem}.site-nav a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;text-decoration:none;color:var(--muted);font-weight:700}.site-nav a:hover{color:var(--brand)}.nav-cta{background:var(--brand);color:#fff;padding:10px 14px;border-radius:999px}.nav-toggle{display:none;min-width:44px;min-height:44px;align-items:center;justify-content:center;background:transparent;border:0;gap:5px;flex-direction:column}.nav-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:var(--ink)}.sr-only{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.hero{padding:70px 0 42px;background:radial-gradient(circle at 20% 5%,#d5f1e5 0,transparent 32%),linear-gradient(180deg,#fff 0,var(--bg) 100%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:32px;align-items:center}.eyebrow,.kicker{display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-size:.8rem;font-weight:700;margin:0 0 12px}.eyebrow span,.kicker span{width:9px;height:9px;background:var(--brand);border-radius:999px}.hero h1{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.02;margin:0 0 18px;letter-spacing:-.055em}.hero-lead{font-size:1.18rem;color:#33423a;max-width:790px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(0,107,93,.14)}.btn-secondary{background:#fff;color:var(--brand);border:1px solid var(--line);box-shadow:none}.btn-primary:hover,.btn:hover{filter:brightness(.98)}.side-card,.panel,.result-card,.info-card,.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.side-card{padding:24px}.side-list{margin:12px 0 0;padding-left:20px;color:var(--muted)}.side-list li+li{margin-top:8px}.section{padding:48px 0}.section-soft{background:linear-gradient(180deg,var(--bg),#fff)}.calculator-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:24px;align-items:start}.calculator-shell.wide{grid-template-columns:minmax(0,1.3fr) minmax(320px,.48fr)}.panel,.result-card{padding:24px}.panel-head h2,.section-headline h2{font-size:2rem;line-height:1.12;margin:0 0 8px;letter-spacing:-.035em}.panel-head p:not(.kicker){color:var(--muted);margin:0 0 16px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.input-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fbfefd}.input-card h3{margin:0 0 12px;font-size:1.05rem}.field{margin-bottom:12px}.field label{display:block;font-weight:700;margin:0 0 6px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{outline:3px solid rgba(0,107,93,.16);border-color:var(--brand)}.hint,.metric-sub,.small-note{font-size:.86rem;color:var(--muted)}.result-card{position:relative}.sticky-result{position:sticky;top:96px}.result-empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:#fbfefd}.risk-main{padding:18px;border-radius:18px;background:linear-gradient(180deg,#eefaf4,#fff);border:1px solid var(--line)}.risk-label{font-size:.86rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.risk-number{font-size:3rem;font-weight:700;letter-spacing:-.05em;line-height:1;margin:6px 0}.risk-status,.pill{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--okbg);color:var(--ok);font-weight:700;font-size:.86rem}.risk-status.high,.pill.warn,.metric.warning .metric-value{background:var(--warnbg);color:var(--warn)}.risk-status.vhigh,.pill.red,.metric.danger .metric-value{background:var(--dangerbg);color:var(--danger)}.risk-table,.mini-stack{display:grid;gap:10px;margin-top:12px}.risk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.risk-row small{display:block;color:var(--muted);font-size:.82rem}.bar{grid-column:1/-1;height:8px;background:#edf3ef;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--brand);border-radius:999px}.results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.metric{padding:16px;box-shadow:none}.metric-label{color:var(--muted);font-weight:700;font-size:.84rem;text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:1.65rem;font-weight:700;letter-spacing:-.04em;margin:3px 0}.metric.ok{background:var(--okbg)}.metric.warning{background:var(--warnbg)}.metric.danger{background:var(--dangerbg)}.two-col-block{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.info-card{padding:20px;box-shadow:none}.info-card.large{min-height:180px}.info-card h3{margin:0 0 12px;font-size:1.25rem}.summary-list{display:grid;gap:10px;color:#24342b}.status{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px;border-radius:16px;border:1px solid var(--line);background:#fff}.status.ok{background:var(--okbg);border-color:#b7e6c4}.status.warning{background:var(--warnbg);border-color:#ecd58f}.status.danger{background:var(--dangerbg);border-color:#efb8b3}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff;font-size:.78rem;font-weight:700;color:var(--brand);border:1px solid var(--line);white-space:nowrap}.target-table{width:100%;border-collapse:collapse;margin-top:8px}.target-table th,.target-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.target-table th{color:var(--muted);font-size:.86rem}.details{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.details summary{cursor:pointer;font-weight:700}.source-list p{color:var(--muted)}.final-cta{margin-top:32px;border-radius:26px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:28px}.final-cta p{color:rgba(255,255,255,.88);max-width:760px}.final-cta .btn{background:#fff;color:var(--brand)}.footer{padding:34px 0;background:#10231e;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer p,.footer small{color:rgba(255,255,255,.72)}.footer a{color:#fff;font-weight:700}.alert{padding:12px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--muted)}.alert.warning{background:var(--warnbg);color:#5e4200;border-color:#ecd58f}.alert.danger{background:var(--dangerbg);color:var(--danger);border-color:#efb8b3}.section-headline{margin-bottom:10px}.no-print{}@media(max-width:980px){.hero-grid,.calculator-shell,.calculator-shell.wide,.two-col-block{grid-template-columns:1fr}.sticky-result{position:static}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.nav-toggle{display:flex}.cards-grid{grid-template-columns:1fr}}@media(max-width:560px){.container{width:min(100% - 22px,1180px)}.hero{padding-top:46px}.panel,.result-card{padding:16px}.results-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.risk-number{font-size:2.5rem}}@media print{.site-header,.hero,.no-print,.final-cta{display:none!important}body{background:#fff}.section{padding:12px 0}.container{width:100%}.panel,.result-card,.info-card,.metric{box-shadow:none}.calculator-shell,.two-col-block,.results-grid{display:block}.metric,.info-card,.result-card{break-inside:avoid;margin-bottom:10px}.footer{background:#fff;color:#000}.footer p,.footer small{color:#333}}

/* FINRISKI 3.0 diabetes- ja potilasyhteenvedon parannukset 10.6.2026 */
.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 20px}.meaning-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfefd)}.card-step{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:700;border:1px solid var(--line)}.meaning-card h3{padding-right:42px}.source-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:.72rem;font-weight:700;letter-spacing:.02em;border:1px solid var(--line);background:#fff;color:var(--muted);vertical-align:middle}.source-tag.measured{color:var(--brand);background:#eefaf4;border-color:#bddfd3}.source-tag.calculated{color:#5f6270;background:#f4f5f7;border-color:#dde1e7}.inline-link{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:2px}.input-card.diabetes-card{background:linear-gradient(180deg,#fff,#f7fbff);border-color:#d2e1ef}.info-card.is-muted{opacity:.82;background:#fbfbfb}.target-table .source-tag{margin-top:4px}.status .small-note{display:inline-block;margin-top:3px}.risk-main{box-shadow:inset 0 0 0 1px rgba(0,107,93,.04)}.metric-sub .source-tag{margin-left:2px}.result-card .alert{margin-top:10px}.summary-list .status strong{font-weight:700}.info-card.large h3,.meaning-card h3{letter-spacing:-.02em}.risk-row b{font-size:1.05rem}.final-cta{margin-top:36px}.field .hint{line-height:1.35}.target-table th{font-weight:700;color:#23352b}.target-table td{color:#24342b}.hero-lead{max-width:830px}.side-list li{line-height:1.45}
.field-error{margin-top:6px;color:var(--danger);font-size:.86rem;font-weight:700;line-height:1.35}.field [aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 2px rgba(162,46,40,.12)}#result-heading:focus{outline:3px solid rgba(0,107,93,.25);outline-offset:5px}
@media(max-width:980px){.decision-grid{grid-template-columns:1fr}.card-step{position:static;margin-bottom:8px}.meaning-card h3{padding-right:0}}
@media print{.decision-grid{display:block}.source-tag{border:0;padding:0}.card-step{display:none}}

/* Riskilaskurin header yhtenaistetty otiittilaskurin kanssa 2.7.2026 */
.site-header{z-index:10;background:rgba(255,255,255,.94);backdrop-filter:saturate(150%) blur(16px)}
.site-header .header-inner{min-height:0;padding:14px 20px;gap:16px}
.site-header .brand{gap:10px;color:var(--ink);font-weight:700;letter-spacing:-.015em}
.site-header .brand-mark{width:32px;height:32px;border-radius:9px;display:inline-block;flex:0 0 auto;background:transparent;box-shadow:0 6px 16px rgba(47,111,78,.18)}
.site-header .brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
.site-header .brand-name{font-weight:700;line-height:1.18}
.site-header .brand-line{font-size:.78rem;font-weight:400;line-height:1.25;margin-top:-1px}
.site-header .site-nav{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;font-size:.95rem}
.site-header .site-nav a,.site-header .nav-drop-toggle{display:inline-flex;align-items:center;min-width:0;min-height:44px;color:var(--ink);font-size:.95rem;font-weight:700;text-decoration:none;white-space:nowrap}
.site-header .site-nav a:hover,.site-header .nav-drop-toggle:hover{color:var(--brand)}
.site-header .nav-dropdown{position:relative;display:inline-flex;align-items:center}
.site-header .nav-drop-toggle{border:0;background:transparent;font-family:inherit;padding:0;cursor:pointer}
.site-header .nav-drop-toggle::after{content:"";width:.42rem;height:.42rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:.45rem;margin-top:-.18rem;opacity:.72}
.site-header .nav-dropdown-menu{position:absolute;top:calc(100% + .65rem);left:50%;transform:translateX(-50%);min-width:245px;display:none;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:.45rem;z-index:50}
.site-header .nav-dropdown.open .nav-dropdown-menu,.site-header .nav-dropdown:focus-within .nav-dropdown-menu{display:grid;gap:.15rem}
.site-header .nav-dropdown-menu a{justify-content:flex-start;padding:.62rem .72rem;border-radius:12px}
.site-header .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.78rem 1.05rem;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;box-shadow:0 10px 25px rgba(47,111,78,.18)}
.site-header .nav-toggle{display:none;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:.58rem .82rem;background:#fff;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
@media(max-width:900px){
  .site-header .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .site-header .site-nav{display:none;position:absolute;left:16px;right:16px;top:68px;max-height:calc(100vh - 84px);overflow-y:auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .site-header .site-nav.is-open{display:flex}
  .site-header .site-nav a{padding:.35rem .2rem}
  .site-header .nav-dropdown{display:block}
  .site-header .nav-drop-toggle{justify-content:flex-start;width:100%;padding:.35rem .2rem}
  .site-header .nav-dropdown-menu{position:static;transform:none;min-width:0;width:100%;margin:.45rem 0 0;box-shadow:none;border-radius:14px}
}

/* Päätuloskortin tiivis riskikoonti 2.7.2026 */
.key-risk{padding:16px}
.key-risk .risk-number{font-size:2.5rem}
.key-target{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.key-target span{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.key-target strong{font-size:.95rem;text-align:right}
.key-target.ok{background:var(--okbg);border-color:#b7e6c4}
.key-target.warning{background:var(--warnbg);border-color:#ecd58f}
.key-target.danger{background:var(--dangerbg);border-color:#efb8b3}
.key-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.key-metric{min-width:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.key-metric span{display:block;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.key-metric strong{display:block;margin-top:2px;color:var(--ink);font-size:1.22rem;line-height:1.08;letter-spacing:-.035em}
.key-metric small{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;line-height:1.25}
.key-metric.ok{background:var(--okbg);border-color:#b7e6c4}
.key-metric.warning{background:var(--warnbg);border-color:#ecd58f}
.key-metric.danger{background:var(--dangerbg);border-color:#efb8b3}
.compact-risk-table{gap:8px}
.compact-risk-table .risk-row{padding:10px}
.compact-risk-table .risk-row small{font-size:.76rem}
.compact-risk-table .bar{height:6px}
@media(max-width:420px){
  .key-metric-grid{grid-template-columns:1fr}
}

/* 20260702 visual layout fix 6: keep tool header closer to the main site header. */
@media(min-width:981px){
  .site-header .header-inner{
    padding:.96rem clamp(1rem,4vw,7.5rem);
    gap:clamp(1rem,2.4vw,2rem);
  }
  .site-header .brand-mark{
    width:38px;
    height:38px;
    border-radius:7px;
    box-shadow:none;
  }
  .site-header .brand-line{
    display:none;
  }
  .site-header .site-nav{
    gap:clamp(1.25rem,2.4vw,2rem);
  }
  .site-header .nav-cta{
    padding:.58rem .86rem;
    border:1px solid var(--line);
    background:#fff;
    color:var(--brand);
    box-shadow:none;
  }
}

/* 20260702 mobile-first 9 final: faster mobile access to the tool without changing calculations. */
@media(max-width:980px){
  .site-header .header-inner{
    padding:.72rem .92rem;
  }

  .site-header .brand-mark{
    width:36px;
    height:36px;
    border-radius:11px;
  }

  .site-header .brand-line{
    font-size:.78rem;
    line-height:1.15;
  }

  .hero{
    padding:2rem 0 1.25rem;
  }

  .hero-grid{
    gap:1rem;
  }

  .eyebrow,
  .kicker{
    font-size:.72rem;
    line-height:1.35;
    letter-spacing:.075em;
    margin-bottom:.55rem;
  }

  .hero h1{
    font-size:clamp(1.95rem,9.6vw,2.68rem);
    line-height:1.04;
    letter-spacing:-.058em;
    margin-bottom:.82rem;
  }

  .hero-lead{
    font-size:1.03rem;
    line-height:1.52;
  }

  .hero-actions{
    gap:.65rem;
    margin-top:1rem;
  }

  .btn{
    min-height:44px;
    padding:.68rem .92rem;
  }

  .side-card{
    padding:1rem;
    border-radius:16px;
    box-shadow:none;
  }

  .side-list li+li{
    margin-top:.46rem;
  }

  .section{
    padding:1.55rem 0;
  }

  .panel,
  .result-card,
  .info-card,
  .input-card{
    border-radius:16px;
  }

  .panel,
  .result-card{
    padding:1rem;
  }

  .panel-head h2,
  .section-headline h2{
    font-size:clamp(1.34rem,6vw,1.82rem);
    line-height:1.12;
  }

  .cards-grid,
  .calculator-shell,
  .calculator-shell.wide{
    gap:.86rem;
  }

  .input-card{
    padding:.88rem;
  }

  .input-card h3{
    font-size:1.02rem;
    margin-bottom:.7rem;
  }

  .field{
    margin-bottom:.74rem;
  }

  .field label{
    margin-bottom:.36rem;
  }

  .field input,
  .field select{
    min-height:44px;
    padding:.62rem .72rem;
    font-size:16px;
  }

  .results-grid,
  .two-col-block,
  .decision-grid{
    gap:.82rem;
  }

  .info-card,
  .metric,
  .meaning-card{
    padding:.9rem;
  }
}

@media(max-width:560px){
  .container{
    width:min(100% - 24px,1180px);
  }

  .hero{
    padding-top:1.65rem;
  }

  .hero h1{
    font-size:clamp(1.86rem,9.3vw,2.45rem);
  }

  .hero-lead{
    font-size:1rem;
  }

  .hero-actions .btn{
    width:auto;
  }

  .section{
    padding:1.25rem 0;
  }

  .panel,
  .result-card{
    padding:.92rem;
  }

  .tabs{
    margin:1rem 0 .85rem;
    gap:.45rem;
  }

  .tabs a{
    padding:.55rem .68rem;
    min-height:44px;
  }
}

.site-header .site-nav a.nav-utility{
  min-height:36px;
  padding:.36rem .68rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--muted);
  font-size:.86rem;
  font-weight:700;
}
.site-header .site-nav a.nav-utility:hover{
  border-color:rgba(0,107,93,.28);
  color:var(--brand);
}
@media(max-width:900px){
  .site-header .site-nav a.nav-utility{
    min-height:44px;
    padding:.35rem .2rem;
    border:0;
    background:transparent;
    font-size:.95rem;
  }
}
.mh-consent-link{font:inherit;cursor:pointer;border:0;background:transparent;padding:0;color:#fff;font-weight:700;text-decoration:underline}.calculator-footer-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;grid-column:1/-1;margin-top:12px}