:root { --gefop-ink:#173351; --gefop-muted:#586b7c; --gefop-surface:#f2f6fa; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body.landing-page { color:var(--gefop-ink); background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.landing-page a:focus-visible, .landing-page button:focus-visible, .landing-page summary:focus-visible { outline:3px solid #ffc107; outline-offset:4px; }
.landing-page .btn { font-weight:600; border-radius:.35rem; }
.landing-page .navbar { background:#fff; border-bottom:1px solid #e2e9f0; padding:.65rem 1rem; }
.landing-page .navbar-brand { font-size:1.6rem; font-weight:800; color:var(--gefop-ink); }
.landing-page .navbar-brand img { width:145px; height:48px; object-fit:contain; }
.landing-page .nav-link { color:var(--gefop-muted); font-size:.92rem; }
.landing-hero { background:linear-gradient(135deg,#f2f7fe 0%,#fff 65%); padding:76px 0 64px; border-bottom:1px solid #e4edf6; }
.landing-eyebrow { display:inline-flex; align-items:center; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#0059b8; }
.landing-hero h1 { font-size:clamp(2.25rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.035em; font-weight:800; margin:18px 0 22px; }
.landing-lead { color:var(--gefop-muted); font-size:1.1rem; line-height:1.8; }
.landing-trial-note { color:var(--gefop-muted); font-size:.85rem; }
.landing-preview { background:#fff; border:1px solid #dbe5ef; border-radius:.75rem; box-shadow:0 18px 50px rgba(23,51,81,.12); overflow:hidden; }
.preview-topbar { background:var(--gefop-ink); color:#fff; padding:14px 18px; font-size:.85rem; display:flex; justify-content:space-between; }
.preview-topbar small { color:#c9d9e8; }
.preview-content { background:#f4f6f9; padding:22px; }
.preview-content .info-box { min-height:75px; box-shadow:none; border:1px solid #e1e7ed; }
.preview-content .info-box-icon { width:44px; font-size:1.05rem; }
.preview-content .info-box-number { font-size:1.3rem; }
.preview-content .info-box-text { font-size:.73rem; }
.preview-content .card { box-shadow:none; border:1px solid #dfe6ed; margin:0; }
.preview-content .table td { font-size:.8rem; padding:.75rem; }
.preview-content .table th { font-size:.7rem; text-transform:uppercase; color:#6c757d; font-weight:600; padding:.65rem .75rem; }
.preview-caption { padding:10px 16px; background:#fff; color:var(--gefop-muted); font-size:.73rem; border-top:1px solid #e0e7ee; }
.landing-section { padding:76px 0; }
.landing-section h2 { font-weight:750; font-size:clamp(1.8rem,3vw,2.4rem); letter-spacing:-.025em; line-height:1.2; }
.landing-section .section-intro { max-width:680px; color:var(--gefop-muted); line-height:1.7; }
.landing-surface { background:var(--gefop-surface); }
.landing-feature { height:100%; border:1px solid #e1e8f0; border-radius:.5rem; box-shadow:none; }
.landing-feature .card-body { padding:26px; }
.landing-feature h3 { font-size:1.13rem; font-weight:700; margin:18px 0 12px; }
.landing-feature p { color:var(--gefop-muted); font-size:.94rem; line-height:1.7; margin:0; }
.landing-feature .feature-icon { display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; border-radius:.5rem; background:#eaf3ff; color:#0069d9; font-size:1.1rem; }
.landing-step { display:flex; gap:18px; padding:20px 0; border-bottom:1px solid #e0e8f0; }
.landing-step:last-child { border:0; }
.landing-step .step-number { color:#0069d9; background:#e9f2fe; width:38px; height:38px; border-radius:50%; display:flex; justify-content:center; align-items:center; flex-shrink:0; font-weight:700; }
.landing-step h3 { font-size:1.08rem; font-weight:700; margin:4px 0 8px; }
.landing-step p { color:var(--gefop-muted); line-height:1.7; margin:0; font-size:.93rem; }
.landing-process-note { padding:28px; border-radius:.6rem; background:var(--gefop-ink); color:#fff; }
.landing-process-note p { color:#d4e0ec; line-height:1.8; }
.landing-check-list { list-style:none; padding:0; margin:0; }
.landing-check-list li { display:flex; gap:12px; margin:15px 0; font-size:.94rem; }
.landing-check-list i { color:#75d5bd; margin-top:4px; }
.landing-faq { border-bottom:1px solid #dfe7ee; padding:20px 0; }
.landing-faq summary { cursor:pointer; font-size:1.03rem; font-weight:650; }
.landing-faq p { color:var(--gefop-muted); line-height:1.8; margin:15px 0 0; }
.landing-final-cta { border-radius:.8rem; background:var(--gefop-ink); padding:46px; color:#fff; }
.landing-final-cta p { color:#cdddeb; }
.landing-footer { padding:30px 0; border-top:1px solid #dfe7ee; color:var(--gefop-muted); font-size:.85rem; }
.landing-footer a { color:var(--gefop-ink); }
@media(max-width:991.98px) { .landing-hero { padding:40px 0; } .landing-section { padding:48px 0; } .landing-hero h1 { font-size:2.45rem; } .landing-final-cta { padding:30px 24px; } }
@media(max-width:575.98px) { .landing-hero h1 { font-size:2.05rem; } .preview-content { padding:12px; } .landing-hero .hero-buttons .btn { width:100%; margin:0 0 10px !important; } .landing-page .container { padding-left:20px; padding-right:20px; } .preview-content .info-box { padding:.4rem; } .preview-content .info-box-icon { width:30px; font-size:.85rem; } .preview-content .info-box-content { padding:0 5px; } .preview-content .info-box-text { font-size:.65rem; } .preview-content .info-box-number { font-size:1.05rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
