:root {
  --primary: #1B4D3E;
  --primary-light: #2A7A5F;
  --primary-pale: #E8F5EE;
  --accent: #D4A853;
  --accent-light: #F5E6C4;
  --text: #1a1a1a;
  --text-secondary: #555;
  --text-light: #888;
  --bg: #FAFAF7;
  --white: #ffffff;
  --border: #e0ddd5;
  --shadow: 0 2px 16px rgba(27,77,62,0.08);
  --shadow-lg: 0 8px 40px rgba(27,77,62,0.12);
  --radius: 12px;
  --radius-sm: 8px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}

/* ─── HEADER ─── */
header{background:var(--white);border-bottom:1px solid var(--border);padding:16px 0;position:sticky;top:0;z-index:100}
.header-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Source Serif 4',serif;font-size:1.35rem;font-weight:700;color:var(--primary);text-decoration:none;letter-spacing:-0.02em}
.logo span{color:var(--accent)}
nav{display:flex;gap:28px;align-items:center}
nav a{color:var(--text-secondary);text-decoration:none;font-size:0.88rem;font-weight:500;transition:color 0.2s}
nav a:hover{color:var(--primary)}
.nav-cta{background:var(--primary);color:var(--white)!important;padding:10px 22px;border-radius:var(--radius-sm);transition:background 0.2s!important}
.nav-cta:hover{background:var(--primary-light)!important}
.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--text)}

/* ─── HERO ─── */
.hero{max-width:1100px;margin:0 auto;padding:80px 24px 60px;text-align:center}
.hero-badge{display:inline-block;background:var(--primary-pale);color:var(--primary);font-size:0.8rem;font-weight:600;padding:6px 16px;border-radius:100px;margin-bottom:24px;letter-spacing:0.03em}
.hero h1{font-family:'Source Serif 4',serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;color:var(--primary);line-height:1.15;margin-bottom:20px;letter-spacing:-0.02em}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero p{font-size:1.15rem;color:var(--text-secondary);max-width:620px;margin:0 auto 36px;line-height:1.7}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ─── BUTTONS ─── */
.btn-primary{background:var(--primary);color:var(--white);padding:14px 32px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.2s;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px)}
.btn-secondary{background:var(--white);color:var(--primary);padding:14px 32px;border-radius:var(--radius-sm);text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.2s;border:2px solid var(--border);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn-secondary:hover{border-color:var(--primary)}

/* ─── TRUST BAR ─── */
.trust-bar{max-width:700px;margin:48px auto 0;display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.trust-item{text-align:center;font-size:0.85rem;color:var(--text-light)}
.trust-item strong{display:block;font-size:1.5rem;color:var(--primary);font-weight:700}

/* ─── SECTIONS ─── */
.section-padded{max-width:1100px;margin:0 auto;padding:80px 24px}
.section-label{font-size:0.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:12px}
.section-title{font-family:'Source Serif 4',serif;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;color:var(--primary);margin-bottom:16px;letter-spacing:-0.02em}
.section-subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:600px;line-height:1.7}

/* ─── STEPS ─── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}
.step-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;transition:all 0.3s}
.step-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.step-number{width:40px;height:40px;background:var(--primary-pale);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;margin-bottom:20px}
.step-card h3{font-size:1.1rem;font-weight:700;margin-bottom:10px;color:var(--text)}
.step-card p{font-size:0.9rem;color:var(--text-secondary);line-height:1.65}

/* ─── PRODUCTS ─── */
.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:48px}
.product-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px;transition:all 0.3s}
.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.product-icon{width:52px;height:52px;background:var(--primary-pale);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.5rem}
.product-card h3{font-family:'Source Serif 4',serif;font-size:1.35rem;font-weight:700;margin-bottom:12px;color:var(--primary)}
.product-card p{font-size:0.92rem;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}
.product-features{list-style:none;margin-bottom:28px}
.product-features li{font-size:0.88rem;color:var(--text-secondary);padding:6px 0 6px 24px;position:relative}
.product-features li::before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}
.product-price{font-size:1.8rem;font-weight:700;color:var(--primary)}
.product-price span{font-size:0.9rem;color:var(--text-light);font-weight:400}

/* ─── BRANCHEN ─── */
.branchen-section{background:var(--white);max-width:100%;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.branchen-section .section-label,.branchen-section .section-title,.branchen-section .section-subtitle{max-width:1100px}
.branchen-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;max-width:1100px}
.branche-chip{padding:10px 20px;border:1.5px solid var(--border);border-radius:100px;font-size:0.88rem;color:var(--text-secondary);text-decoration:none;transition:all 0.2s;background:var(--bg)}
.branche-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-pale)}

/* ─── CONTENT ─── */
.content-section{background:var(--bg)}
.content-inner{max-width:740px;margin:0 auto}
.content-inner h2{font-family:'Source Serif 4',serif;font-size:1.6rem;font-weight:700;color:var(--primary);margin-bottom:16px}
.content-inner h3{font-family:'Source Serif 4',serif;font-size:1.2rem;font-weight:700;color:var(--primary);margin:28px 0 12px}
.content-inner p{font-size:0.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}

/* ─── GENERATOR FORM ─── */
.generator-section{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 24px}
.generator-inner{max-width:800px;margin:0 auto}
.form-progress{display:flex;gap:4px;margin-bottom:40px}
.progress-step{flex:1;height:4px;background:var(--border);border-radius:2px;transition:background 0.3s}
.progress-step.active{background:var(--primary)}
.progress-step.done{background:var(--accent)}
.form-step{display:none;animation:fadeIn 0.3s ease}
.form-step.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.form-group{margin-bottom:24px}
.form-group label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:8px;color:var(--text)}
.form-group label small{color:var(--text-light);font-weight:400;margin-left:4px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:0.95rem;color:var(--text);background:var(--bg);transition:border-color 0.2s;outline:none}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary)}
.form-group textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 16px;border:1.5px solid var(--border);border-radius:100px;font-size:0.85rem;cursor:pointer;transition:all 0.2s;background:var(--white);color:var(--text-secondary);user-select:none}
.chip:hover{border-color:var(--primary)}
.chip.selected{background:var(--primary-pale);border-color:var(--primary);color:var(--primary);font-weight:600}
.form-nav{display:flex;justify-content:space-between;margin-top:36px;gap:16px}
.btn-back{background:none;border:1.5px solid var(--border);color:var(--text-secondary);padding:12px 28px;border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:500;cursor:pointer;transition:all 0.2s}
.btn-back:hover{border-color:var(--primary);color:var(--primary)}
.btn-next{background:var(--primary);border:none;color:var(--white);padding:12px 32px;border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 0.2s;margin-left:auto}
.btn-next:hover{background:var(--primary-light)}

/* ─── PREVIEW ─── */
.preview-container{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:48px;max-width:700px;margin:32px auto 0;font-family:'Source Serif 4',serif;line-height:1.7;font-size:0.95rem;color:var(--text);box-shadow:var(--shadow);display:none}
.preview-container.visible{display:block}
.preview-header{margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid var(--primary-pale)}
.preview-sender{font-weight:600;margin-bottom:4px}
.preview-meta{font-size:0.85rem;color:var(--text-light);font-family:'DM Sans',sans-serif}
.preview-recipient{margin:24px 0}
.preview-subject{font-weight:700;margin:24px 0 20px;font-size:1.05rem}
.preview-body p{margin-bottom:14px}
.preview-closing{margin-top:28px}
.preview-overlay{position:relative}
.preview-overlay::after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(transparent,var(--white));pointer-events:none}
.paywall-box{text-align:center;padding:32px;background:var(--primary-pale);border-radius:var(--radius);margin-top:-60px;position:relative;z-index:2}
.paywall-box h3{font-family:'Source Serif 4',serif;font-size:1.3rem;color:var(--primary);margin-bottom:8px}
.paywall-box p{color:var(--text-secondary);font-size:0.9rem;margin-bottom:20px}

/* ─── CV SECTION ─── */
.cv-section{background:var(--primary);color:var(--white);padding:80px 24px}
.cv-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.cv-text .section-label{color:var(--accent)}
.cv-text .section-title{color:var(--white)}
.cv-text .section-subtitle{color:rgba(255,255,255,0.75)}
.cv-text ul{list-style:none;margin:24px 0 32px}
.cv-text ul li{padding:8px 0 8px 24px;position:relative;color:rgba(255,255,255,0.85);font-size:0.92rem}
.cv-text ul li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.cv-preview-card{background:var(--white);border-radius:var(--radius);padding:40px 32px;color:var(--text);box-shadow:var(--shadow-lg)}
.cv-preview-card h4{font-family:'Source Serif 4',serif;font-size:1.3rem;color:var(--primary);margin-bottom:4px}
.cv-preview-card .cv-subtitle{font-size:0.85rem;color:var(--text-light);margin-bottom:20px}
.cv-section-block{margin-bottom:20px}
.cv-section-block h5{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--primary);border-bottom:2px solid var(--primary-pale);padding-bottom:6px;margin-bottom:10px}
.cv-entry{display:flex;justify-content:space-between;font-size:0.82rem;padding:4px 0}
.cv-entry span:first-child{font-weight:600}
.cv-entry span:last-child{color:var(--text-light)}
.cv-skill-bars{display:flex;gap:6px;flex-wrap:wrap}
.cv-skill-tag{background:var(--primary-pale);color:var(--primary);padding:4px 10px;border-radius:4px;font-size:0.75rem;font-weight:600}

/* ─── FAQ ─── */
.faq-list{max-width:700px;margin:40px auto 0}
.faq-item{border-bottom:1px solid var(--border)}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:20px 0;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-question::after{content:"+";font-size:1.4rem;color:var(--primary);transition:transform 0.2s}
.faq-item.open .faq-question::after{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.faq-item.open .faq-answer{max-height:500px}
.faq-answer p{padding-bottom:20px;font-size:0.92rem;color:var(--text-secondary);line-height:1.7}

/* ─── CTA ─── */
.cta-section{text-align:center;padding:80px 24px;max-width:700px;margin:0 auto}
.cta-section .section-title{margin-bottom:16px}
.cta-section p{color:var(--text-secondary);margin-bottom:32px;font-size:1.05rem}

/* ─── FOOTER ─── */
footer{background:var(--white);border-top:1px solid var(--border);padding:48px 24px 24px}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-col h4{font-size:0.85rem;font-weight:700;color:var(--text);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.05em}
.footer-col a{display:block;color:var(--text-light);text-decoration:none;font-size:0.88rem;padding:4px 0;transition:color 0.2s}
.footer-col a:hover{color:var(--primary)}
.footer-desc{font-size:0.85rem;color:var(--text-light);margin-top:12px;line-height:1.6}
.footer-bottom{max-width:1100px;margin:32px auto 0;padding-top:24px;border-top:1px solid var(--border);text-align:center}
.footer-bottom p{font-size:0.8rem;color:var(--text-light)}
.footer-bottom a{color:var(--text-light)}

/* ─── PAGE CONTENT (for subpages) ─── */
.page-hero{max-width:1100px;margin:0 auto;padding:60px 24px 40px}
.page-hero h1{font-family:'Source Serif 4',serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;color:var(--primary);margin-bottom:16px;letter-spacing:-0.02em}
.page-hero p{font-size:1.05rem;color:var(--text-secondary);max-width:600px;line-height:1.7}
.page-content{max-width:740px;margin:0 auto;padding:0 24px 80px}
.page-content h2{font-family:'Source Serif 4',serif;font-size:1.4rem;font-weight:700;color:var(--primary);margin:36px 0 12px}
.page-content h3{font-size:1.1rem;font-weight:700;color:var(--text);margin:28px 0 10px}
.page-content p{font-size:0.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}
.page-content ul,.page-content ol{margin:12px 0 20px 24px}
.page-content li{font-size:0.92rem;color:var(--text-secondary);line-height:1.7;padding:4px 0}
.breadcrumb{max-width:1100px;margin:0 auto;padding:16px 24px 0;font-size:0.82rem;color:var(--text-light)}
.breadcrumb a{color:var(--text-light);text-decoration:none}
.breadcrumb a:hover{color:var(--primary)}

/* ─── RESPONSIVE ─── */
@media(max-width:768px){
  nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--white);flex-direction:column;padding:24px;border-bottom:1px solid var(--border);gap:16px}
  nav.open{display:flex}
  .mobile-menu-btn{display:block}
  .steps-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}
  .cv-inner{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .hero{padding:48px 20px 40px}
  .trust-bar{gap:20px}
  .preview-container{padding:28px 20px}
  .footer-inner{grid-template-columns:1fr 1fr}
  .section-padded{padding:48px 20px}
}
