/* Moderni ulkoasu (alaki-tyyli: beige/navy/vihreä, Cormorant + Nunito Sans). Ei ulkoisia resursseja. */
@font-face{font-family:"M Display";font-weight:300;src:url("fonts/CormorantGaramond-300.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Display";font-weight:400;src:url("fonts/CormorantGaramond-400.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Display";font-weight:500;src:url("fonts/CormorantGaramond-500.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Italic";font-style:italic;font-weight:400;src:url("fonts/PTSerif-italic-400.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Sans";font-weight:300;src:url("fonts/NunitoSans-300.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Sans";font-weight:400;src:url("fonts/NunitoSans-400.woff2") format("woff2");font-display:swap}
@font-face{font-family:"M Sans";font-weight:700;src:url("fonts/NunitoSans-700.woff2") format("woff2");font-display:swap}
:root{--green:#2c411e;--navy:#283c50;--beige:#efebe7;--light:#f7f5f3;--olive:#c3c38d;--line:#d9d5cd;--muted:#55606f;--maxw:1320px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:"M Sans","Segoe UI",Arial,sans-serif;font-weight:400;color:var(--navy);background:var(--light);font-size:17px;line-height:1.6;overflow-wrap:break-word;padding-bottom:84px}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 56px}
@media(max-width:1100px){.wrap{padding:0 28px}}
@media(max-width:640px){.wrap{padding:0 18px}}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:10px}
.d{font-family:"M Display",Georgia,serif;font-weight:400}
/* topbar */
.topbar{background:var(--green);color:#fff;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.topbar .site{font-weight:700;letter-spacing:.3px}
.topbar nav{display:flex;gap:24px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.topbar a:hover{text-decoration:underline}
/* header */
.header{background:var(--beige);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(40,60,80,.08)}
.header .wrap{display:flex;align-items:center;gap:28px;min-height:92px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--navy)}
.brand .mark{width:52px;height:52px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex:0 0 52px}
.brand .mark svg{width:26px;height:26px;fill:#efe9df}
.brand b{font-family:"M Display",Georgia,serif;font-weight:500;font-size:27px;letter-spacing:.4px;line-height:1}
.nav{display:flex;gap:26px;margin-left:auto;flex-wrap:wrap}
.nav a,.nav span{text-decoration:none;font-weight:700;font-size:15px}
.nav a:hover{color:#55606f}
.hactions{display:flex;gap:12px;align-items:center}
@media(max-width:1100px){.header .nav{display:none}.hactions{margin-left:auto}}
@media(max-width:640px){.header .wrap{min-height:72px;gap:12px}.brand b{font-size:22px}.brand .mark{width:42px;height:42px;flex-basis:42px}.hactions .btn{display:none}}
.mnav{display:none;background:var(--beige);border-bottom:1px solid var(--line)}
.mnav .wrap{display:flex;gap:20px;overflow-x:auto;padding-top:10px;padding-bottom:10px;white-space:nowrap}
.mnav a,.mnav span{text-decoration:none;font-weight:700;font-size:14px}
@media(max-width:1100px){.mnav{display:block}}
/* buttons */
.btn{display:inline-block;padding:14px 24px;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.6px;border:1px solid var(--navy);color:var(--navy);background:transparent;line-height:1.3;text-align:center}
.btn:hover{background:var(--navy);color:#fff}
.btn.p{background:var(--navy);color:#fff}
.btn.p:hover{background:#1c2b3a}
.btn.l{border-color:#efe9df;color:#efe9df}
.btn.l:hover{background:#efe9df;color:var(--navy)}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
/* hero */
.hero{background:var(--beige);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:76px;padding-bottom:84px}
.kicker{font-size:15px;letter-spacing:1.4px;text-transform:none;color:#6a7382;margin:0 0 16px;font-weight:700}
.hero h1{font-family:"M Display",Georgia,serif;font-weight:300;font-size:64px;line-height:1.04;margin:0 0 24px}
.hero .lead{font-size:18px;max-width:560px;margin:0 0 10px;color:#3c4d5f}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pill{border:1px solid #c7c1b7;padding:6px 14px;font-size:14px;border-radius:999px;background:rgba(255,255,255,.4)}
.panel{background:#fff;padding:12px 34px;box-shadow:0 1px 0 rgba(40,60,80,.06),0 18px 40px -24px rgba(40,60,80,.35);border-top:4px solid var(--olive)}
.panel .it{padding:20px 0;border-bottom:1px solid var(--line)}
.panel .it:last-child{border-bottom:none}
.panel h3,.panel h4{font-family:"M Display",Georgia,serif;font-weight:500;font-size:25px;margin:0 0 6px;line-height:1.2}
.panel p{margin:0;color:var(--muted);font-size:16px}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr;gap:36px;padding-top:44px;padding-bottom:52px}.hero h1{font-size:42px}}
@media(max-width:400px){.hero h1{font-size:36px}}
/* stats */
.stats{background:var(--navy);color:#efe9df}
.stats .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0}
.stat{padding:42px 28px;border-left:1px solid rgba(239,233,223,.18);text-align:center}
.stat:first-child{border-left:none}
.stat .n{font-family:"M Display",Georgia,serif;font-weight:300;font-size:58px;line-height:1}
.stat .t{font-size:15px;color:#c9d0da;margin-top:8px}
@media(max-width:640px){.stat{border-left:none;border-top:1px solid rgba(239,233,223,.18);padding:26px 10px}.stat:first-child{border-top:none}}
/* sections */
.sec{padding:84px 0}
.sec.a{background:var(--light)}
.sec.b{background:var(--beige)}
.sec .eyebrow{font-size:14px;letter-spacing:1.6px;color:#6a7382;font-weight:700;margin:0 0 12px}
.sec h2{font-family:"M Display",Georgia,serif;font-weight:400;font-size:46px;line-height:1.1;margin:0 0 18px;max-width:900px}
.sec .intro{max-width:760px;color:var(--muted);margin:0 0 10px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}
.cards.k1{grid-template-columns:1fr}
.cards.k2{grid-template-columns:repeat(2,1fr)}
@media(max-width:980px){.cards.k3{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;padding:32px 30px;border:1px solid var(--line);position:relative}
.sec.b .card{background:var(--light)}
.card .lbl{font-family:"M Italic",Georgia,serif;font-style:italic;font-size:20px;color:#8a8a5a;margin:0 0 8px}
.card h3,.card h4,.card .q{font-family:"M Display",Georgia,serif;font-weight:500;font-size:27px;line-height:1.2;margin:0 0 12px;color:var(--navy)}
.card p{margin:0 0 10px;color:var(--muted);font-size:16px}
.card p:last-child{margin-bottom:0}
.card.wide{grid-column:1/-1;background:var(--olive);border:none;padding:44px 48px}
.sec.b .card.wide{background:var(--olive)}
.card.wide h3,.card.wide h4{font-family:"M Italic",Georgia,serif;font-style:italic;font-weight:400;font-size:34px;line-height:1.2}
.card.wide p{color:var(--navy);font-size:17px;max-width:900px}
.card .pills{margin-top:16px}
.faq .cards{grid-template-columns:1fr 1fr}
@media(max-width:860px){.faq .cards{grid-template-columns:1fr}}
@media(max-width:640px){.sec{padding:56px 0}.sec h2{font-size:34px}.card{padding:24px 20px}.card.wide{padding:30px 22px}.card.wide h3,.card.wide h4{font-size:27px}.card h3,.card h4,.card .q{font-size:24px}.cards,.cards.k2,.cards.k3,.faq .cards{grid-template-columns:1fr}}
/* footer */
.footer{background:var(--green);color:#e7e4d8;padding:70px 0 26px}
.footer .top{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.footer h3,.footer .ft{font-family:"M Display",Georgia,serif;font-weight:400;font-size:24px;margin:0 0 14px;color:#fff}
.footer p{margin:0 0 12px;font-size:15px;line-height:1.7}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin:0 0 10px;font-size:15px}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.2);margin-top:44px;padding-top:20px;font-size:13px}
/* fixed CTA */
.ctabar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(40,60,80,.97);box-shadow:0 -6px 20px rgba(0,0,0,.18)}
.ctabar .wrap{display:flex;justify-content:center;align-items:center;gap:14px;min-height:72px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.ctabar .btn{border-color:#efe9df;color:#efe9df}
.ctabar .btn.p{background:var(--olive);border-color:var(--olive);color:var(--navy)}
.ctabar .btn:hover{background:#efe9df;color:var(--navy)}
@media(max-width:640px){.ctabar .btn{padding:11px 12px;font-size:12.5px;flex:1 1 auto}body{padding-bottom:128px}}
