@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --blue:#174ead;--blue-600:#1d5fc2;--blue-700:#13408a;
  --blue-light:#edf2ff;--blue-50:#f7f9ff;
  --green:#059669;--green-light:#ecfdf5;
  --orange:#d97706;--orange-light:#fffbeb;
  --purple:#7c3aed;--purple-light:#f5f3ff;
  --gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;
  --gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;
  --gray-600:#4b5563;--gray-700:#374151;--gray-900:#111827;
  --max-w:1140px;--radius:14px;
}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--gray-900);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;}

/* ── HEADER ── */
header{background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:100;}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-icon{width:34px;height:34px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;border-radius:8px;}
.logo-text{font-size:19px;font-weight:700;color:var(--gray-900);}
.logo-text span{color:var(--blue);}
nav{display:flex;align-items:center;gap:4px;}
nav a{color:var(--gray-600);text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:8px;transition:all .15s;}
nav a:hover{background:var(--gray-100);color:var(--gray-900);}
nav a.active{color:var(--blue);background:var(--blue-light);}
.nav-cta{background:var(--blue)!important;color:#fff!important;font-weight:600!important;padding:8px 18px!important;border-radius:8px!important;margin-left:8px;}
.nav-cta:hover{background:var(--blue-700)!important;}

/* Nav dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown>.nav-dropdown-toggle{cursor:pointer;display:flex;align-items:center;gap:4px;}
.nav-dropdown>.nav-dropdown-toggle::after{content:'';display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;margin-top:1px;transition:transform .2s;}
.nav-dropdown:hover>.nav-dropdown-toggle::after{transform:rotate(180deg);}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:200px;background:#fff;border:1px solid var(--gray-200);border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.1);padding-top:6px;z-index:110;}
.nav-dropdown-menu::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav-dropdown:hover .nav-dropdown-menu{display:block;}
.nav-dropdown-menu a{display:block;padding:10px 14px;color:var(--gray-600);text-decoration:none;font-size:14px;font-weight:500;border-radius:6px;transition:all .15s;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:var(--blue-light);color:var(--blue);}

/* Mobile menu */
.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;}
.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--gray-700);border-radius:2px;transition:all .2s;}
@media(max-width:768px){
  .mobile-menu-btn{display:flex;}
  nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--gray-200);flex-direction:column;padding:16px 24px;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,.08);}
  nav.open{display:flex;}
  nav a{width:100%;padding:12px 16px;}
  .nav-cta{margin-left:0!important;text-align:center;margin-top:8px;}
  .nav-dropdown-menu{position:static;transform:none;box-shadow:none;border:none;padding:0 0 0 12px;margin-top:0;display:block;}
  .nav-dropdown>.nav-dropdown-toggle::after{display:none;}
}

/* ── HERO (etusivu) ── */
.hero{background:linear-gradient(135deg,var(--blue-50) 0%,#fff 70%);padding:72px 24px 56px;}
.hero-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;gap:64px;}
.hero-content{flex:1;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--green-light);color:var(--green);font-size:13px;font-weight:600;padding:5px 14px;border-radius:20px;margin-bottom:20px;}
.hero h1{font-size:46px;font-weight:900;line-height:1.1;letter-spacing:-0.02em;}
.hero h1 .highlight{color:var(--blue);}
.hero-content>p{font-size:18px;color:var(--gray-600);margin-top:16px;max-width:480px;line-height:1.65;}
.hero-actions{display:flex;gap:12px;margin-top:28px;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;padding:14px 28px;border-radius:10px;text-decoration:none;transition:background .15s;}
.btn-primary:hover{background:var(--blue-700);}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--gray-700);font-size:15px;font-weight:600;padding:14px 28px;border-radius:10px;text-decoration:none;border:1px solid var(--gray-300);transition:all .15s;}
.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400);}
.hero-visual{flex-shrink:0;width:400px;}
.hero-preview{background:#fff;border:1px solid var(--gray-200);border-radius:16px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.08);}
.hero-preview-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;font-weight:600;color:var(--gray-500);}
.hero-preview-dot{width:8px;height:8px;border-radius:50%;background:var(--green);}
.mini-tool{background:var(--gray-50);border-radius:10px;padding:16px;}
.mini-tool label{font-size:12px;font-weight:600;color:var(--gray-500);display:block;margin-bottom:6px;}
.mini-tool-input{width:100%;padding:10px 12px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:15px;font-family:monospace;background:#fff;}
.mini-tool-btn{width:100%;margin-top:10px;padding:10px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;}
.mini-tool-result{margin-top:10px;padding:10px;background:var(--green-light);border-radius:8px;font-size:14px;font-weight:600;color:var(--green);text-align:center;font-family:monospace;}
@media(max-width:900px){
  .hero-inner{flex-direction:column;gap:32px;}
  .hero-visual{width:100%;}
  .hero h1{font-size:32px;}
  .hero-actions{flex-direction:column;}
  .btn-primary,.btn-secondary{justify-content:center;}
}

/* ── TRUST BAR ── */
.trust-bar{border-bottom:1px solid var(--gray-200);padding:20px 24px;}
.trust-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:48px;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gray-500);}
.trust-num{font-size:20px;font-weight:800;color:var(--gray-900);}
@media(max-width:768px){.trust-inner{flex-direction:column;gap:12px;}}

/* ── SECTIONS ── */
.section{max-width:var(--max-w);margin:0 auto;padding:72px 24px;}
.section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:8px;}
.section h2{font-size:34px;font-weight:800;letter-spacing:-0.01em;margin-bottom:6px;}
.section>p.section-desc{font-size:16px;color:var(--gray-500);margin-bottom:40px;max-width:520px;}

/* ── PILLARS ── */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pillar{border:1px solid var(--gray-200);border-radius:var(--radius);padding:32px;transition:box-shadow .2s;position:relative;overflow:hidden;background:#fff;}
.pillar:hover{box-shadow:0 8px 30px rgba(0,0,0,.06);}
.pillar-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;}
.pillar h3{font-size:18px;font-weight:700;margin-bottom:6px;}
.pillar p{font-size:14px;color:var(--gray-600);}
.pillar-link{display:inline-flex;align-items:center;gap:4px;margin-top:16px;font-size:13px;font-weight:600;color:var(--blue);text-decoration:none;}
.pillar-badge{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.badge-live{background:var(--green-light);color:var(--green);}
.badge-soon{background:var(--orange-light);color:var(--orange);}
@media(max-width:768px){.pillars{grid-template-columns:1fr;}}

/* ── TOOLS ── */
.tools-section{background:var(--gray-50);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.tool-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:24px;text-decoration:none;color:inherit;transition:all .15s;display:flex;flex-direction:column;}
.tool-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06);border-color:var(--blue);}
.tool-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;display:inline-flex;align-items:center;gap:5px;}
.status-live{color:var(--green);}
.status-soon{color:var(--orange);}
.tool-card h3{font-size:16px;font-weight:700;margin-bottom:4px;}
.tool-card p{font-size:13px;color:var(--gray-600);flex:1;}

/* ── ARTICLES GRID ── */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.article-card{border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .2s;background:#fff;}
.article-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.07);}
.article-card-img{width:100%;height:160px;object-fit:cover;background:var(--gray-100);}
.article-card-body{padding:20px;}
.article-card-body h3{font-size:15px;font-weight:700;line-height:1.35;margin-bottom:6px;}
.article-card-body p{font-size:13px;color:var(--gray-500);}
.article-card-footer{padding:0 20px 16px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-400);}
.article-card-footer img{width:22px;height:22px;border-radius:50%;object-fit:cover;}
@media(max-width:900px){.articles-grid{grid-template-columns:1fr;}}

/* ── AUTHOR SECTION ── */
.author-section{background:var(--blue-50);border-top:1px solid var(--gray-200);}
.author-box{display:flex;align-items:center;gap:32px;}
.author-img{width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.author-info h3{font-size:20px;font-weight:700;margin-bottom:4px;}
.author-info p{font-size:15px;color:var(--gray-600);max-width:500px;}
.author-creds{display:flex;gap:16px;margin-top:12px;}
.author-cred{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:4px;}
@media(max-width:768px){
  .author-box{flex-direction:column;text-align:center;}
  .author-creds{justify-content:center;flex-wrap:wrap;}
}

/* ── PAGE HEADER (sisältösivut) ── */
.page-header{background:var(--blue-50);border-bottom:1px solid var(--gray-200);padding:48px 24px;}
.page-header-inner{max-width:720px;margin:0 auto;padding:0 24px;}
.page-header h1{font-size:36px;font-weight:800;letter-spacing:-0.01em;line-height:1.15;max-width:700px;}
.page-header p.page-subtitle{font-size:17px;color:var(--gray-600);margin-top:10px;max-width:600px;}
.page-header-meta{display:flex;align-items:center;gap:12px;margin-top:20px;}
.page-header-meta img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
.page-header-meta-text{font-size:13px;color:var(--gray-500);}
.page-header-meta-text strong{color:var(--gray-900);}
.page-header-img{margin-top:28px;border-radius:12px;overflow:hidden;max-width:700px;}
.page-header-img img{width:100%;display:block;}
@media(max-width:768px){.page-header h1{font-size:26px;}}

/* ── ARTICLE CONTENT ── */
.article-content{max-width:720px;margin:0 auto;padding:48px 24px 72px;}
.article-content h2{font-size:26px;font-weight:700;margin:40px 0 12px;letter-spacing:-0.01em;}
.article-content h3{font-size:20px;font-weight:700;margin:32px 0 10px;}
.article-content p{font-size:16px;color:var(--gray-700);margin-bottom:16px;line-height:1.8;}
.article-content a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;}
.article-content a:hover{color:var(--blue-700);}
.article-content ul,.article-content ol{margin:0 0 16px 24px;font-size:16px;color:var(--gray-700);}
.article-content li{margin-bottom:8px;line-height:1.7;}
.article-content strong{font-weight:700;color:var(--gray-900);}
.article-content em{font-style:italic;}
.article-content figure{margin:28px 0;}
.article-content figure img{width:100%;border-radius:10px;}
.article-content figcaption{font-size:13px;color:var(--gray-500);margin-top:8px;text-align:center;font-style:italic;}
.article-content table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;}
.article-content th,.article-content td{border:1px solid var(--gray-200);padding:12px 16px;text-align:left;}
.article-content th{background:var(--gray-50);font-weight:700;}
.article-content .article-links{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:24px;margin:32px 0;}
.article-content .article-links h3{margin-top:0;}
.article-content .article-links ul{margin-bottom:0;}

/* ── ALV TOOL (embedded) ── */
.alv-generator{max-width:500px;margin:0;padding:0;}
.alv-generator *{box-sizing:border-box;}
.alv-generator-container{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:24px;box-shadow:0 2px 4px rgba(0,0,0,.05);}
.alv-generator h2{margin:0 0 20px;font-size:22px;font-weight:700;color:var(--gray-900);}
.alv-generator-form-group{margin-bottom:16px;}
.alv-generator label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--gray-600);}
.alv-generator input[type="text"]{width:100%;padding:10px 12px;font-size:16px;border:2px solid var(--gray-200);border-radius:8px;transition:border-color .2s;font-family:monospace;}
.alv-generator input[type="text"]:focus{outline:none;border-color:var(--blue);}
.alv-generator input[type="text"].error{border-color:#dc3545;}
.alv-generator-button{width:100%;padding:12px;font-size:16px;font-weight:600;color:#fff;background:var(--blue);border:none;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:16px;font-family:'Inter',sans-serif;}
.alv-generator-button:hover{background:var(--blue-700);}
.alv-generator-result{padding:16px;background:#fff;border:2px solid var(--green);border-radius:8px;margin-top:16px;}
.alv-generator-result.hidden{display:none;}
.alv-generator-result-label{font-size:14px;color:var(--gray-500);margin-bottom:6px;}
.alv-generator-result-value{font-size:20px;font-weight:700;color:var(--green);font-family:monospace;}
.alv-generator-error{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;margin-top:12px;}
.alv-generator-error.hidden{display:none;}
.alv-generator-info{margin-top:16px;padding:12px;background:var(--blue-light);border:1px solid #bfdbfe;border-radius:8px;font-size:13px;color:#1e40af;}

/* ── YEL CALCULATOR ── */
.yel-calculator{max-width:540px;margin:0;padding:0;}
.yel-calc-container{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:28px;box-shadow:0 2px 4px rgba(0,0,0,.05);}
.yel-calc-container h2{margin:0 0 24px;font-size:22px;font-weight:700;color:var(--gray-900);}
.yel-calc-form{display:flex;flex-direction:column;gap:18px;}
.yel-field label{display:block;font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:6px;}
.yel-field input[type="number"]{width:100%;padding:10px 12px;font-size:16px;border:2px solid var(--gray-200);border-radius:8px;transition:border-color .2s;font-family:'Inter',sans-serif;-moz-appearance:textfield;}
.yel-field input[type="number"]::-webkit-inner-spin-button,.yel-field input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.yel-field input[type="number"]:focus{outline:none;border-color:var(--blue);}
.yel-field-help{font-size:12px;color:var(--gray-400);margin-top:4px;}
.yel-checkbox-field label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;}
.yel-checkbox-field input[type="checkbox"]{width:18px;height:18px;accent-color:var(--blue);cursor:pointer;}
.yel-calc-btn{width:100%;padding:12px;font-size:16px;font-weight:600;color:#fff;background:var(--blue);border:none;border-radius:8px;cursor:pointer;transition:background .2s;margin-top:6px;font-family:'Inter',sans-serif;}
.yel-calc-btn:hover{background:var(--blue-700);}
.yel-calc-error{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;margin-top:16px;}
.yel-calc-error.hidden{display:none;}
.yel-calc-results{margin-top:20px;border:2px solid var(--green);border-radius:10px;overflow:hidden;background:#fff;}
.yel-calc-results.hidden{display:none;}
.yel-result-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--gray-100);font-size:14px;}
.yel-result-row:last-child{border-bottom:none;}
.yel-result-label{color:var(--gray-600);}
.yel-result-value{font-weight:600;color:var(--gray-900);font-variant-numeric:tabular-nums;}
.yel-result-main{background:var(--green-light);}
.yel-result-main .yel-result-label{color:var(--green);font-weight:600;}
.yel-result-main .yel-result-value{color:var(--green);font-size:16px;font-weight:700;}
.yel-result-discount .yel-result-value{color:var(--orange);}
.yel-result-info{padding:12px 16px;background:var(--blue-light);font-size:13px;color:#1e40af;border-top:1px solid var(--gray-100);}
.yel-result-info.hidden{display:none;}
.yel-calc-info{margin-top:16px;padding:12px;background:var(--blue-light);border:1px solid #bfdbfe;border-radius:8px;font-size:13px;color:#1e40af;}

/* ── SHARE BUTTONS ── */
.share-section{max-width:720px;margin:0 auto;padding:0 24px 8px;}
.share-label{font-size:14px;font-weight:600;color:var(--gray-500);margin-bottom:10px;}
.share-buttons{display:flex;flex-wrap:wrap;gap:8px;}
.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;border:1px solid var(--gray-200);color:var(--gray-700);background:#fff;transition:all .15s;cursor:pointer;font-family:'Inter',sans-serif;}
.share-btn:hover{border-color:var(--gray-300);background:var(--gray-50);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.06);}
.share-btn svg{width:16px;height:16px;flex-shrink:0;}
.share-btn.share-fb{color:#1877F2;border-color:#1877F2;}
.share-btn.share-fb:hover{background:#EBF3FF;}
.share-btn.share-x{color:#000;border-color:#000;}
.share-btn.share-x:hover{background:#f5f5f5;}
.share-btn.share-linkedin{color:#0A66C2;border-color:#0A66C2;}
.share-btn.share-linkedin:hover{background:#E8F1FA;}
.share-btn.share-reddit{color:#FF4500;border-color:#FF4500;}
.share-btn.share-reddit:hover{background:#FFF0EB;}
.share-btn.share-whatsapp{color:#25D366;border-color:#25D366;}
.share-btn.share-whatsapp:hover{background:#E8FBF0;}
.share-btn.share-copy{color:var(--gray-600);border-color:var(--gray-300);}
.share-btn.share-copy:hover{background:var(--gray-50);}
.share-btn.share-copy.copied{color:var(--green);border-color:var(--green);background:var(--green-light);}

/* ── CONTACT FORM ── */
.contact-form{max-width:560px;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:14px;font-weight:600;color:var(--gray-700);margin-bottom:6px;}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:15px;font-family:'Inter',sans-serif;transition:border-color .15s;background:#fff;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light);}
.form-group textarea{resize:vertical;min-height:140px;}
.form-submit{background:var(--blue);color:#fff;font-size:16px;font-weight:600;padding:14px 32px;border:none;border-radius:10px;cursor:pointer;transition:background .15s;font-family:'Inter',sans-serif;}
.form-submit:hover{background:var(--blue-700);}
.contact-info{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:24px;margin-top:32px;}
.contact-info p{font-size:14px;color:var(--gray-600);margin-bottom:8px;}
.contact-info a{color:var(--blue);text-decoration:none;font-weight:600;}

/* ── FOOTER ── */
footer{background:var(--gray-900);color:var(--gray-400);padding:56px 24px 32px;}
.footer-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{font-size:13px;margin-top:12px;color:var(--gray-400);max-width:260px;}
.footer-col h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gray-500);margin-bottom:14px;}
.footer-col a{display:block;font-size:13px;color:var(--gray-400);text-decoration:none;margin-bottom:8px;transition:color .1s;}
.footer-col a:hover{color:#fff;}
.footer-social{display:flex;gap:12px;margin-top:16px;}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.08);color:var(--gray-400);transition:background .15s,color .15s;text-decoration:none;}
.footer-social a:hover{background:rgba(255,255,255,.15);color:#fff;}
.footer-social svg{width:18px;height:18px;}
.footer-bottom{max-width:var(--max-w);margin:32px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;text-align:center;color:var(--gray-500);}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;}}
