/* Shared, deliberately small visual layer. Existing calculator styles stay untouched. */
:root { --ak-ink:#172a35; --ak-muted:#4b5d67; --ak-paper:#fbfaf7; --ak-line:#d9dfdd; --ak-accent:#a94412; --ak-accent-hover:#84350f; --ak-soft:#f1f4f1; }
.home-page { color:var(--ak-ink); }
.home-shell { width:min(100% - 3rem, 72rem); margin-inline:auto; }
.home-section { padding-block:clamp(3.5rem, 6vw, 5.5rem); scroll-margin-top:5.5rem; }
.home-section h2 { max-width:24ch; font-size:clamp(1.8rem, 3vw, 2.65rem); font-weight:750; line-height:1.17; letter-spacing:-.035em; color:var(--ak-ink); text-wrap:balance; }
.home-section h3 { font-size:1.18rem; font-weight:700; line-height:1.4; }
.home-eyebrow { display:block; margin-bottom:1rem; font-size:.75rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; color:var(--ak-accent); }
.home-lead { margin-top:1.25rem; max-width:62ch; font-size:1.075rem; line-height:1.8; color:var(--ak-muted); }
.home-caption { margin-top:1.25rem; font-size:.85rem; line-height:1.7; color:var(--ak-muted); }
.home-soft { background:var(--ak-paper); border-block:1px solid #ebece7; }
.home-grid { display:grid; gap:1.25rem; }
.home-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-block:2rem; }
.home-card { display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; padding:clamp(1.4rem, 3vw, 2rem); border:1px solid var(--ak-line); border-radius:1.25rem; background:white; }
.home-card p { color:var(--ak-muted); line-height:1.75; margin-block:.8rem 1.5rem; }
.home-card .home-text-link { margin-top:auto; }
.home-text-link { display:inline-block; padding-block:.45rem; color:var(--ak-accent); font-size:.96rem; font-weight:700; text-underline-offset:.25em; }
.home-text-link:hover { text-decoration:underline; color:var(--ak-accent-hover); }
.home-button { display:inline-flex; align-items:center; justify-content:center; min-height:3rem; padding:.9rem 1.5rem; margin-top:1.5rem; border-radius:.65rem; border:1px solid var(--ak-accent); background:var(--ak-accent); color:white; font-weight:700; line-height:1.5; text-align:center; cursor:pointer; }
.home-button:hover { background:var(--ak-accent-hover); }
.home-button.secondary { background:white; color:var(--ak-ink); border-color:#aab7b8; }
.home-button:disabled { opacity:.55; cursor:wait; }
.home-page :is(a,button,input,textarea,summary):focus-visible, .learning-page :is(a,button,summary):focus-visible { outline:3px solid #a94412; outline-offset:4px; }
.home-page :is(section,details,[id]), .learning-page [id] { scroll-margin-top:5.5rem; }
.home-topic-nav { display:flex; flex-wrap:wrap; gap:.5rem; padding-block:1.6rem; border-bottom:1px solid var(--ak-line); }
.home-topic-nav a { padding:.65rem 1rem; border:1px solid var(--ak-line); border-radius:2rem; font-size:.9rem; line-height:1.5; color:var(--ak-ink); background:white; }
.home-topic-nav a:hover { border-color:var(--ak-accent); }
.home-topic-nav a[aria-current] { background:var(--ak-ink); color:white; border-color:var(--ak-ink); }
.home-situation, .home-example { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(2rem, 6vw, 5rem); }
.home-questions { counter-reset:question; }
.home-questions li { display:flex; align-items:baseline; gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--ak-line); font-size:1.1rem; line-height:1.6; }
.home-questions li::before { counter-increment:question; content:'0' counter(question); flex:0 0 auto; color:var(--ak-accent); font-size:.85rem; font-weight:700; }
.home-example .home-lead { margin-top:0; }
.home-service-intro { padding-bottom:3rem; }
.home-preparation { max-width:46rem; margin-top:1.8rem; border-top:1px solid var(--ak-line); padding-top:1rem; }
.home-preparation summary { cursor:pointer; font-weight:650; padding-block:.5rem; line-height:1.7; }
.home-preparation ul { padding-left:1.25rem; list-style:disc; color:var(--ak-muted); line-height:1.9; margin-top:.8rem; }
.home-other-services { margin:2rem auto 0; }
.home-other-services > summary { cursor:pointer; font-weight:700; font-size:1.1rem; }
.home-process { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 3rem; margin-top:2.5rem; list-style:none; }
.home-process li { display:flex; gap:1rem; align-items:baseline; }
.home-process li > span { color:var(--ak-accent); font-size:.85rem; font-weight:750; }
.home-process p { color:var(--ak-muted); line-height:1.7; margin-top:.4rem; }
.home-principle { padding:1.5rem; margin-top:2.5rem; border-left:3px solid var(--ak-accent); background:var(--ak-paper); font-size:1.075rem; line-height:1.8; }
.home-link-row { display:flex; gap:1.5rem; flex-wrap:wrap; margin-top:1rem; }
.home-faq { max-width:52rem; }
.home-faq h2 { margin-bottom:2rem; }
.home-faq details { border-bottom:1px solid var(--ak-line); }
.home-faq summary { cursor:pointer; padding:1.3rem 1.5rem 1.3rem 0; font-size:1.05rem; font-weight:650; line-height:1.7; }
.home-faq details p { color:var(--ak-muted); padding:0 1.5rem 1.5rem 0; line-height:1.8; }
.home-page #homeHero { background:var(--ak-paper); }
.home-page #homeHero > .absolute { display:none; }
.home-page #homeHero h1 { font-size:clamp(2.1rem, 4.2vw, 3.55rem); line-height:1.1; letter-spacing:-.045em; text-wrap:balance; min-height:4.4em; }
.home-page #homeHero [data-hero-copy] { font-size:1.08rem; line-height:1.8; min-height:7.2em; }
.home-page #homeHero [data-hero-primary] { transform:none; background:var(--ak-accent); font-size:1rem; padding:1rem 1.5rem; box-shadow:none; min-height:3.5rem; }
.home-page #homeHero [data-hero-secondary] { min-height:3.5rem; font-size:.95rem; }
.home-page #homeHero .h-\[500px\] { height:440px; background:#f0f0eb; border-radius:1.5rem; }
.home-page #sluzby { background:var(--ak-soft); }
.home-page #formular { background:var(--ak-paper); }
.home-page #leadForm { border:1px solid var(--ak-line); box-shadow:0 8px 28px #172a3509; }
.home-page #leadForm :is(input:not([type=hidden]),textarea) { border:1px solid #88979c; }
.home-page #leadForm button[type=submit] { background:var(--ak-accent); box-shadow:none; }
.home-page #homeHero [data-hero-primary]:hover, .home-page #leadForm button[type=submit]:hover { background:var(--ak-accent-hover); }
.home-page #formular .bg-white.rounded-xl { border-color:var(--ak-line); }
.home-page .zonky-affiliate-note { color:var(--ak-accent); background:#fff7ed; }
.skip-link { position:fixed; top:-6rem; left:1rem; z-index:100; padding:1rem; background:var(--ak-ink); color:white; }
.skip-link:focus { top:1rem; }
.guide-box { padding:clamp(1.3rem,3vw,2.5rem); border:1px solid var(--ak-line); border-radius:1.25rem; background:white; }
.guide-box > summary { cursor:pointer; font-size:clamp(1.3rem,2.5vw,1.8rem); font-weight:700; line-height:1.5; }
.guide-box fieldset { margin-top:1.5rem; border:0; padding:0; }
.guide-box legend { font-weight:700; padding-block:.75rem; }
.guide-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.guide-option { display:flex; align-items:baseline; gap:.6rem; padding:.9rem; border:1px solid var(--ak-line); border-radius:.65rem; cursor:pointer; line-height:1.6; }
.guide-option:has(input:checked) { border-color:var(--ak-accent); background:#fff7ed; }
.guide-option input { accent-color:var(--ak-accent); }
.guide-actions { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.guide-error { color:#a12121; font-weight:650; margin-top:1rem; }
.guide-result { border-top:1px solid var(--ak-line); padding-top:1.5rem; margin-top:1.5rem; }
.guide-result h3 { outline-offset:4px; }
[hidden] { display:none !important; }
.learning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.learning-page .card-featured { background:var(--ak-ink); border:1px solid var(--ak-ink); box-shadow:none; animation:none; }
.learning-page .card-featured::before { display:none; }
.learning-page .card-featured .text-slate-400 { color:#dbe4e8; }
.learning-page .badge-new { background:var(--ak-accent); box-shadow:none; animation:none; }
.learning-page .bg-cta-600 { background-color:var(--ak-accent); }
.learning-page .learning-intro { padding-block:3.5rem 1rem; }
.learning-intro h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.2; font-weight:750; letter-spacing:-.035em; color:var(--ak-ink); }
.home-section .learning-question { margin-top:2rem; font-size:1.45rem; max-width:none; }
.learning-page .home-card h3 { font-size:1.12rem; }
.video-card { padding:0; overflow:hidden; }
.video-card h3, .video-card .home-text-link { margin:1rem 1.25rem; }
.video-play { display:block; position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--ak-ink); color:white; cursor:pointer; }
.video-play img { width:100%; height:100%; object-fit:cover; }
.video-play span { position:absolute; inset:0; display:grid; place-content:center; font-size:2.5rem; text-shadow:0 2px 8px #000; }
.video-dialog { width:min(94vw,64rem); max-width:none; padding:0; border:0; border-radius:1rem; background:#111; overflow:visible; }
.video-dialog::backdrop { background:#172a35bb; }
.video-viewport { aspect-ratio:16/9; }
.video-viewport iframe { display:block; width:100%; height:100%; border:0; border-radius:1rem; }
.video-dialog-close { position:absolute; right:.5rem; top:.5rem; width:2.75rem; height:2.75rem; border-radius:50%; background:white; color:#172a35; font-size:1.5rem; }
@media (min-width:768px) and (max-width:1150px) {
  .home-page #homeHero h1 { font-size:2.5rem; min-height:5.5em; }
  .home-page #homeHero [data-hero-copy] { min-height:9em; }
}
@media (max-width:767px) {
  .home-shell { width:calc(100% - 2rem); }
  .home-situation, .home-example, .home-tool-grid, .home-process, .learning-grid { grid-template-columns:1fr; }
  .home-page #homeHero h1 { min-height:3.3em; }
  .home-page #homeHero [data-hero-copy] { min-height:7.2em; }
  .home-page #homeHero .h-\[500px\] { height:320px; max-width:300px; }
  .home-page #homeHero .grid { padding-block:3rem; }
  .home-page #homeHero .mt-8 { display:grid; grid-template-columns:1fr; }
  .home-questions li:first-child { padding-top:0; }
  .guide-options { grid-template-columns:1fr; }
  .home-topic-nav { gap:.5rem; }
  .home-topic-nav a { padding:.55rem .8rem; font-size:.85rem; }
}
@media (max-width:359px) {
  .home-page #homeHero h1 { min-height:5.5em; }
  .home-page #homeHero [data-hero-copy] { min-height:9em; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .home-page *, .learning-page * { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
