:root{
  --fr-green:#006b5d;
  --fr-green-dark:#004f45;
  --fr-mint:#edf8f4;
  --fr-mint-strong:#e3f3ed;
  --fr-line:#d8e5df;
  --fr-ink:#14221d;
  --fr-muted:#52635d;
  --fr-bg:#f6faf8;
  --fr-warn:#fff7df;
  --fr-danger:#fff0ee;
  --fr-shadow:0 12px 34px rgba(0,50,38,.055);
}

body.professional-tool-finriski{
  background:var(--fr-bg);
  color:var(--fr-ink);
  line-height:1.55;
}

.professional-tool-finriski #main{
  min-width:0;
  background:var(--fr-bg);
}
.professional-tool-finriski #main .container{
  width:min(1180px,calc(100% - 2.5rem));
  max-width:1180px;
  margin-inline:auto;
  padding-inline:0;
}

/* Hero */
.professional-tool-finriski #main .hero{
  display:block;
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,4vw,3.6rem) 0 1.6rem;
  background:linear-gradient(180deg,#fff 0%,#f7fbf9 100%);
}
.professional-tool-finriski #main .hero::before{
  content:"";
  position:absolute;
  inset:auto -10rem -15rem auto;
  width:34rem;
  height:34rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,107,93,.08),transparent 67%);
  pointer-events:none;
}
.professional-tool-finriski #main .hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);
  gap:clamp(1.5rem,3.5vw,3.2rem);
  align-items:start;
}
.professional-tool-finriski #main .hero-grid > div{min-width:0;}
.professional-tool-finriski #main .hero h1{
  max-width:15ch;
  margin:.55rem 0 1rem;
  color:var(--fr-ink);
  font-size:clamp(2.4rem,4.7vw,4.15rem);
  line-height:.99;
  letter-spacing:-.052em;
  overflow-wrap:normal;
}
.professional-tool-finriski #main .hero-lead{
  max-width:66ch;
  margin:0;
  color:var(--fr-muted);
  font-size:clamp(1rem,1.45vw,1.12rem);
  line-height:1.58;
}
.professional-tool-finriski .eyebrow,
.professional-tool-finriski .kicker{
  margin:0;
  color:var(--fr-green);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.professional-tool-finriski .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.25rem;
}
.professional-tool-finriski .side-card{
  min-width:0;
  padding:1.15rem 1.2rem;
  border:1px solid var(--fr-line);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 28px rgba(0,50,38,.04);
}
.professional-tool-finriski .side-card > strong{
  display:block;
  margin-bottom:.55rem;
  font-size:.95rem;
}
.professional-tool-finriski .side-list{
  margin:0;
  padding-left:1.2rem;
  color:#405049;
  font-size:.91rem;
  line-height:1.48;
}
.professional-tool-finriski .side-list li + li{margin-top:.4rem;}
.professional-tool-finriski .content-review-meta{
  grid-column:1/-1;
  margin:.2rem 0 0;
  padding-top:1rem;
  border-top:1px solid rgba(0,107,93,.12);
}

/* Compact professional-use note */
.professional-tool-finriski .expert-usage-wrap{
  padding:1rem 0 1.15rem;
  background:#f7fbf9;
}
.professional-tool-finriski .expert-usage-warning{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:1rem;
  align-items:start;
  margin:0;
  padding:1rem 1.1rem;
  border:1px solid rgba(0,107,93,.2);
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,var(--fr-mint) 145%);
  box-shadow:none;
  overflow:visible;
}
.professional-tool-finriski .expert-usage-warning::before{display:none;}
.professional-tool-finriski .expert-usage-warning .section-label{
  margin:.2rem 0 0;
  color:var(--fr-green);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.professional-tool-finriski .expert-usage-warning h2{
  margin:0 0 .28rem;
  color:var(--fr-ink);
  font-size:1.12rem;
  line-height:1.25;
  letter-spacing:-.02em;
}
.professional-tool-finriski .expert-usage-warning p{
  max-width:none;
  margin:0;
  color:var(--fr-muted);
  font-size:.91rem;
  line-height:1.5;
}

/* Shared controls */
.professional-tool-finriski .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.7rem 1rem;
  border:1px solid transparent;
  border-radius:12px;
  font:inherit;
  font-weight:700;
  line-height:1.1;
  cursor:pointer;
  text-decoration:none;
}
.professional-tool-finriski .btn:hover{text-decoration:none;}
.professional-tool-finriski .btn-primary{background:var(--fr-green);color:#fff;}
.professional-tool-finriski .btn-primary:hover{background:var(--fr-green-dark);color:#fff;}
.professional-tool-finriski .btn-secondary{border-color:var(--fr-line);background:#fff;color:var(--fr-green);}
.professional-tool-finriski .btn:disabled{opacity:.48;cursor:not-allowed;}

/* Calculator */
.professional-tool-finriski .section{padding:2rem 0;}
.professional-tool-finriski .section-soft{
  border-top:1px solid rgba(0,107,93,.08);
  border-bottom:1px solid rgba(0,107,93,.08);
  background:var(--fr-mint);
}
.professional-tool-finriski .calculator-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,350px);
  gap:1.15rem;
  align-items:start;
}
.professional-tool-finriski .panel,
.professional-tool-finriski .result-card,
.professional-tool-finriski .info-card,
.professional-tool-finriski .metric{
  min-width:0;
  border:1px solid var(--fr-line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--fr-shadow);
}
.professional-tool-finriski .panel{padding:1.15rem;}
.professional-tool-finriski .panel-head{
  margin-bottom:1rem;
  padding-bottom:.95rem;
  border-bottom:1px solid var(--fr-line);
}
.professional-tool-finriski .panel-head h2{
  margin:.35rem 0 .35rem;
  font-size:clamp(1.55rem,2.4vw,2rem);
  letter-spacing:-.035em;
}
.professional-tool-finriski .panel-head p:last-child{
  margin:0;
  color:var(--fr-muted);
}
.professional-tool-finriski .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
}
.professional-tool-finriski .input-card{
  display:grid;
  align-content:start;
  gap:.72rem;
  min-width:0;
  padding:1rem;
  border:1px solid #e0ebe5;
  border-radius:15px;
  background:#fbfdfc;
}
.professional-tool-finriski .input-card h3{
  margin:0 0 .1rem;
  padding-bottom:.6rem;
  border-bottom:1px solid #e5eee9;
  color:var(--fr-ink);
  font-size:1.05rem;
  line-height:1.25;
  letter-spacing:-.018em;
}
.professional-tool-finriski .field{min-width:0;}
.professional-tool-finriski .field label{
  display:block;
  margin-bottom:.34rem;
  color:var(--fr-ink);
  font-size:.9rem;
  font-weight:700;
  line-height:1.3;
}
.professional-tool-finriski .field input,
.professional-tool-finriski .field select{
  width:100%;
  min-height:46px;
  padding:.68rem .76rem;
  border:1px solid #cbdad3;
  border-radius:11px;
  background:#fff;
  color:var(--fr-ink);
  font:inherit;
  font-size:.94rem;
}
.professional-tool-finriski .field input:focus,
.professional-tool-finriski .field select:focus{
  outline:3px solid rgba(0,107,93,.18);
  border-color:var(--fr-green);
}
.professional-tool-finriski .hint{
  margin-top:.28rem;
  color:var(--fr-muted);
  font-size:.79rem;
  line-height:1.38;
}
.professional-tool-finriski .form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.62rem;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--fr-line);
}
.professional-tool-finriski .form-actions .small-note{
  flex:1 1 100%;
  margin:.1rem 0 0;
}
.professional-tool-finriski .small-note{
  color:var(--fr-muted);
  font-size:.84rem;
  line-height:1.45;
}

/* Floating answer summary */
.professional-tool-finriski .sticky-result{
  position:sticky;
  top:88px;
  max-height:calc(100vh - 104px);
  overflow:auto;
  padding:1rem;
  scrollbar-width:thin;
}
.professional-tool-finriski .result-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  margin-bottom:.8rem;
}
.professional-tool-finriski .result-card-head h2{
  margin:.24rem 0 0;
  font-size:1.25rem;
  line-height:1.2;
  letter-spacing:-.025em;
}
.professional-tool-finriski .live-indicator{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:.25rem .55rem;
  border-radius:999px;
  background:var(--fr-mint);
  color:var(--fr-green);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.professional-tool-finriski .risk-primary{
  padding:1rem;
  border-radius:15px;
  background:linear-gradient(145deg,var(--fr-green),#075447);
  color:#fff;
}
.professional-tool-finriski .risk-primary span,
.professional-tool-finriski .risk-primary small{display:block;}
.professional-tool-finriski .risk-primary strong{
  display:block;
  margin:.15rem 0;
  font-size:clamp(2.4rem,5vw,3.7rem);
  line-height:1;
  letter-spacing:-.05em;
}
.professional-tool-finriski .risk-primary small{opacity:.9;}
.professional-tool-finriski .risk-secondary,
.professional-tool-finriski .risk-longterm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem;
  margin-top:.6rem;
}
.professional-tool-finriski .risk-longterm{grid-template-columns:1fr;}
.professional-tool-finriski .risk-secondary>div,
.professional-tool-finriski .risk-longterm>div{
  display:flex;
  justify-content:space-between;
  gap:.65rem;
  padding:.62rem .68rem;
  border:1px solid var(--fr-line);
  border-radius:11px;
  background:#fff;
}
.professional-tool-finriski .risk-secondary span,
.professional-tool-finriski .risk-longterm span{color:var(--fr-muted);font-size:.8rem;}
.professional-tool-finriski .risk-secondary strong,
.professional-tool-finriski .risk-longterm strong{white-space:nowrap;font-size:.88rem;}
.professional-tool-finriski .result-model,
.professional-tool-finriski .result-note{
  margin:.65rem 0 0;
  color:var(--fr-muted);
  font-size:.78rem;
  line-height:1.4;
}
.professional-tool-finriski .result-empty{
  padding:.9rem;
  border-radius:13px;
  background:var(--fr-mint);
  color:var(--fr-muted);
  font-size:.9rem;
}
.professional-tool-finriski .mini-stack{
  display:grid;
  gap:.5rem;
  margin-top:.65rem;
}
.professional-tool-finriski .summary-item{
  display:grid;
  gap:.15rem;
  padding:.62rem .7rem;
  border-left:4px solid var(--fr-green);
  border-radius:9px;
  background:var(--fr-mint);
}
.professional-tool-finriski .summary-item strong{font-size:.84rem;}
.professional-tool-finriski .summary-item span{color:var(--fr-muted);font-size:.79rem;line-height:1.38;}
.professional-tool-finriski .summary-item.warning{border-left-color:#9a7215;background:var(--fr-warn);}
.professional-tool-finriski .summary-item.danger{border-left-color:#a84532;background:var(--fr-danger);}
.professional-tool-finriski .summary-item.veryhigh{border-left-color:#8d2b20;}
.professional-tool-finriski .summary-item.high{border-left-color:#a76b0a;}
.professional-tool-finriski .summary-item.moderate{border-left-color:#397057;}
.professional-tool-finriski .quick-summary{
  display:grid;
  gap:.5rem;
  margin-top:.8rem;
  padding-top:.8rem;
  border-top:1px solid var(--fr-line);
}
.professional-tool-finriski .quick-summary-empty{
  margin:0;
  color:var(--fr-muted);
  font-size:.82rem;
  line-height:1.45;
}
.professional-tool-finriski .quick-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.2rem .7rem;
  align-items:baseline;
  padding:.58rem .65rem;
  border:1px solid #e1ebe6;
  border-radius:11px;
  background:#fbfdfc;
}
.professional-tool-finriski .quick-result-label{
  color:var(--fr-muted);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.professional-tool-finriski .quick-result-value{
  color:var(--fr-ink);
  font-size:.95rem;
  font-weight:700;
  text-align:right;
}
.professional-tool-finriski .quick-result-detail{
  grid-column:1/-1;
  color:var(--fr-muted);
  font-size:.75rem;
  line-height:1.35;
}
.professional-tool-finriski .quick-result.warning{border-color:#eadca8;background:#fffbec;}
.professional-tool-finriski .quick-result.danger{border-color:#edc5bf;background:var(--fr-danger);}
.professional-tool-finriski .result-details-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  margin-top:.8rem;
  padding:.75rem .1rem .05rem;
  border-top:1px solid var(--fr-line);
  color:var(--fr-green);
  font-size:.83rem;
  font-weight:700;
  text-decoration:none;
}
.professional-tool-finriski .result-details-link:hover{text-decoration:underline;}

/* Detailed results */
.professional-tool-finriski .section-headline{
  max-width:780px;
  margin-bottom:1.15rem;
}
.professional-tool-finriski .section-headline h2{
  margin:.3rem 0;
  font-size:clamp(1.75rem,3vw,2.5rem);
  letter-spacing:-.035em;
}
.professional-tool-finriski .decision-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
  margin:1rem 0;
}
.professional-tool-finriski .info-card{padding:1rem;}
.professional-tool-finriski .info-card h3{margin:.15rem 0 .75rem;}
.professional-tool-finriski .card-step{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  background:var(--fr-green);
  color:#fff;
  font-weight:700;
}
.professional-tool-finriski .summary-list{display:grid;gap:.55rem;}
.professional-tool-finriski .summary-list p{margin:0;color:var(--fr-muted);}
.professional-tool-finriski .results-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
  margin:1rem 0;
}
.professional-tool-finriski .metric{padding:.85rem;}
.professional-tool-finriski .metric-label{
  color:var(--fr-muted);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.professional-tool-finriski .metric-value{
  margin:.25rem 0;
  font-size:1.58rem;
  font-weight:700;
  overflow-wrap:anywhere;
}
.professional-tool-finriski .metric-sub{
  color:var(--fr-muted);
  font-size:.8rem;
  line-height:1.35;
}
.professional-tool-finriski .two-col-block{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
  margin-top:.9rem;
}
.professional-tool-finriski .info-card.large{min-height:100%;}
.professional-tool-finriski .table-scroll{overflow-x:auto;}
.professional-tool-finriski .target-table{width:100%;border-collapse:collapse;font-size:.88rem;}
.professional-tool-finriski .target-table th,
.professional-tool-finriski .target-table td{
  padding:.55rem;
  border-bottom:1px solid var(--fr-line);
  text-align:left;
  vertical-align:top;
}
.professional-tool-finriski .at-target{color:#1f6a3f;}
.professional-tool-finriski .above-target{color:#8d2b20;font-weight:700;}
.professional-tool-finriski .details{
  margin-top:1rem;
  padding:1rem;
  border:1px solid var(--fr-line);
  border-radius:16px;
  background:#fff;
}
.professional-tool-finriski .details summary{font-weight:700;cursor:pointer;}
.professional-tool-finriski .details a{overflow-wrap:anywhere;}

@media(max-width:980px){
  .professional-tool-finriski #main .hero-grid,
  .professional-tool-finriski .calculator-layout{grid-template-columns:1fr;}
  .professional-tool-finriski .sticky-result{
    position:relative;
    top:auto;
    max-height:none;
    overflow:visible;
    order:-1;
  }
  .professional-tool-finriski .decision-grid{grid-template-columns:1fr;}
  .professional-tool-finriski .results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:700px){
  .professional-tool-finriski #main .container{width:min(100% - 1.25rem,1180px);}
  .professional-tool-finriski #main .hero{padding:1.4rem 0 1.1rem;}
  .professional-tool-finriski #main .hero h1{
    max-width:none;
    font-size:clamp(2.15rem,11vw,3.1rem);
  }
  .professional-tool-finriski .side-card{padding:1rem;}
  .professional-tool-finriski .expert-usage-warning{grid-template-columns:1fr;gap:.3rem;}
  .professional-tool-finriski .form-grid,
  .professional-tool-finriski .two-col-block,
  .professional-tool-finriski .results-grid{grid-template-columns:1fr;}
  .professional-tool-finriski .panel{padding:.75rem;}
  .professional-tool-finriski .input-card{padding:.85rem;}
  .professional-tool-finriski .risk-secondary{grid-template-columns:1fr;}
  .professional-tool-finriski .form-actions .btn{width:100%;}
  .professional-tool-finriski .sticky-result{padding:.85rem;}
}

@media print{
  .private-tool-header,
  .hero-actions,
  .form-actions,
  .details,
  .private-tool-footer,
  .calculator-footer-links,
  .result-details-link{display:none!important;}
  .professional-tool-finriski #main,
  .professional-tool-finriski .section,
  .professional-tool-finriski .section-soft{background:#fff!important;}
  .professional-tool-finriski .calculator-layout{display:block;}
  .professional-tool-finriski .panel{display:none;}
  .professional-tool-finriski .sticky-result{position:static;max-height:none;margin-bottom:1rem;}
  .professional-tool-finriski .info-card,
  .professional-tool-finriski .metric,
  .professional-tool-finriski .result-card{box-shadow:none;break-inside:avoid;}
  .professional-tool-finriski .decision-grid,
  .professional-tool-finriski .results-grid,
  .professional-tool-finriski .two-col-block{grid-template-columns:repeat(2,minmax(0,1fr));}
  body{font-size:11pt;}
}
