/* Forsíða (landing_page.html) sections, on top of brand.css. No Bootstrap on this page. */
*{margin:0;padding:0;box-sizing:border-box}

.hero{background:linear-gradient(160deg,var(--prussian) 0%,#03405e 62%,#065a80 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-160px;top:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(33,158,188,.25),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:80px;position:relative;z-index:1}
.hero h1{font-size:clamp(2rem,4vw,3.05rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:16px 0 18px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.lead{font-size:1.12rem;color:var(--sky);max-width:36em;margin-bottom:26px}
.hero .label{color:var(--sky)}
.hero-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem;color:rgba(255,255,255,.78);margin-top:22px}
.hero-meta span{display:flex;align-items:center;gap:8px}
.hero-meta svg{width:16px;height:16px;flex:none}

.calc{background:#fff;color:var(--indigo);border-radius:16px;box-shadow:0 24px 60px rgba(2,48,71,.42);overflow:hidden}
.calc-head{padding:22px 26px 8px}
.calc-head h2{font-size:1.15rem;font-weight:700;color:var(--prussian)}
.calc-head p{font-size:.88rem;color:var(--muted);margin-top:4px}
.rights{padding:8px 26px 24px}
.right-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.right-row:last-of-type{margin-bottom:16px}
.right-row b{display:block;font-family:'Satoshi',sans-serif;font-size:.95rem;color:var(--prussian)}
.right-row small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.right-row .sum{font-family:'Satoshi',sans-serif;font-weight:800;font-size:1.35rem;color:var(--prussian);white-space:nowrap}
.legal-tiny{font-size:.76rem;color:var(--muted);line-height:1.45}

.priceband{background:#fff;border-bottom:1px solid var(--line)}
.priceband .wrap{padding:42px 24px 48px}
.priceband .intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px;flex-wrap:wrap}
.priceband h2{font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;color:var(--prussian);letter-spacing:-.02em}
.priceband .intro p{color:var(--muted);font-size:.95rem;max-width:34em}
/* Wrapper scrolls the table sideways on narrow phones instead of widening the page. */
.prices-wrap{overflow-x:auto;border-radius:14px;box-shadow:0 8px 28px rgba(2,48,71,.07)}
table.prices{width:100%;border-collapse:collapse;background:#fff}
.prices th{background:var(--prussian);color:#fff;font-weight:700;text-align:left;padding:14px 18px;font-size:.88rem}
.prices td{padding:15px 18px;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--slate)}
.prices tr:last-child td{border-bottom:none}
.prices .eur{font-family:'Satoshi',sans-serif;font-weight:800;color:var(--prussian);white-space:nowrap}
.prices .hint{font-size:.82rem;color:var(--muted);margin-top:14px}

section{padding:88px 0}
.sec-head{max-width:640px;margin-bottom:46px}
.sec-head h2{font-size:clamp(1.65rem,3vw,2.2rem);font-weight:700;letter-spacing:-.015em;color:var(--prussian);line-height:1.2;margin:12px 0 14px}
.sec-head p{color:var(--muted);font-size:1.05rem}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 26px}
.step .num{font-weight:800;font-size:.82rem;color:var(--prussian);background:var(--gold);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.step h3{font-size:1.12rem;font-weight:700;color:var(--prussian);margin-bottom:8px}
.step p{font-size:.96rem;color:var(--muted)}

.legal{background:var(--oat)}
.legal .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.legal h2{font-size:clamp(1.65rem,3vw,2.15rem);font-weight:700;color:var(--prussian);letter-spacing:-.015em;line-height:1.2;margin:12px 0 16px}
.legal p{color:#4b4437;margin-bottom:14px}
.legal ul{list-style:none;margin-top:6px}
.legal li{display:flex;gap:12px;margin-bottom:13px;color:var(--slate)}
.legal li svg{width:20px;height:20px;flex:none;margin-top:3px}

.family{background:#fff}
.fam-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.fam-box{background:var(--ice);border:1px solid var(--line);border-radius:16px;padding:28px}
.fam-box h3{font-size:1.05rem;color:var(--prussian);margin-bottom:14px}
.fam-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.fam-line:last-child{border-bottom:none;font-weight:700;color:var(--prussian)}
.fam-line span:last-child{font-family:'Satoshi',sans-serif;font-weight:700;white-space:nowrap}

.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq-item summary{cursor:pointer;padding:18px 22px;font-family:'Satoshi',sans-serif;font-weight:700;color:var(--prussian);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.35rem;color:var(--baltic);font-weight:500;flex:none}
.faq-item[open] summary::after{content:"–"}
.faq-item .a{padding:0 22px 20px;color:var(--muted);font-size:.96rem}
.faq-item .a p+p,.faq-item .a ul,.faq-item .a ol{margin-top:10px}
.faq-item .a ul,.faq-item .a ol{padding-left:20px}

.cta-band{background:linear-gradient(150deg,var(--prussian),#054763);color:#fff;border-radius:20px;padding:56px 48px;display:grid;grid-template-columns:1.35fr .65fr;gap:32px;align-items:center}
.cta-band h2{font-size:clamp(1.5rem,2.6vw,2.05rem);font-weight:800;letter-spacing:-.015em;line-height:1.2;margin-bottom:12px}
.cta-band p{color:var(--sky)}
.cta-band .right{text-align:right}

@media(max-width:920px){
  .hero .wrap,.legal .wrap,.fam-grid,.cta-band{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .cta-band .right{text-align:left}
  .prices{font-size:.88rem}
  .prices th,.prices td{padding:12px 10px}
}
