    :root {
      --gold: #b8954a;
      --gold-light: #d4af6a;
      --gold-pale: #f0e4c8;
      --cream: #faf7f2;
      --dark: #0f0d0a;
      --dark-2: #1a1814;
      --dark-3: #242018;
      --text: #2a2520;
      --text-light: #6b6358;
      --white: #ffffff;
      --border: rgba(184,149,74,0.2);
    }

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: var(--navbar-height, 160px); }
    html { overflow-x: hidden; max-width: 100%; }
    *, *::before, *::after { box-sizing: border-box; }
    button, input, select, textarea {
      font-family: inherit;
      font-size: inherit;
    }
    body {
      font-family: 'Outfit', sans-serif;
      font-weight: 400;
      font-size: 18px;
      line-height: 1.6;
      color: var(--text);
      background: var(--cream);
      overflow-x: hidden;
      max-width: 100%;
    }
    /* Globální hover transitions */
    a, button { transition: all 0.25s ease; }
    /* Max šířka pro čitelnost textu */
    .section-desc, .about-p-text, .about-intro-text, .hero-desc {
      max-width: 680px;
    }

    /* NOISE TEXTURE */
    body::after {
      content:'';
      position:fixed; inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
      pointer-events:none; z-index:9999; opacity:.5;
    }

    /* NAVBAR */
    .navbar {
      position: fixed; top:0; left:0; right:0; z-index:1000;
      padding: 20px 0; transition: background 0.4s ease, padding 0.4s ease;
      background: rgba(15,13,10,0.95);
      backdrop-filter: blur(10px);
    }
    .navbar.scrolled {
      background: rgba(15,13,10,0.98);
      padding: 14px 0;
      border-bottom: 1px solid rgba(184,149,74,0.15);
    }
    .navbar.on-dark { background: rgba(15,13,10,0.95); backdrop-filter: blur(10px); }
    .navbar.on-light { background: rgba(255,255,255,0.97); backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(0,0,0,0.08); }
    .navbar.on-light .logo-name { color: var(--dark); }
    .navbar.on-light .logo-sub { color: var(--gold); }
    .navbar.on-light .nav-links a { color: rgba(42,37,32,0.7); }
    .nav-inner {
      max-width: 1200px; margin:0 auto; padding:0 40px;
      display:flex; align-items:center; justify-content:space-between;
    }
    .logo { text-decoration:none; }

    /* Varianta B — navbar */
    .logo-b {
      display:flex; align-items:stretch; gap:0; text-decoration:none;
    }
    .logo-line {
      display:block; width:1px; background:#a07d3a;
      margin-right:14px; flex-shrink:0;
    }
    .logo-text-wrap { display:flex; flex-direction:column; justify-content:center; }
    .logo-name {
      display:block; font-family:'Cormorant Garamond',serif;
      font-size:1.4rem; font-weight:400; color:var(--white);
      letter-spacing:0.03em; line-height:1.1;
    }
    .logo-sub {
      display:block; font-size:0.78rem; letter-spacing:0.12em;
      text-transform:uppercase; color:var(--gold); margin-top:3px;
      opacity:0.95;
    }

    /* Varianta footer — bez linky, menší, nižší opacity */
    .logo-footer { display:flex; flex-direction:column; text-decoration:none; opacity:0.7; }
    .logo-footer .logo-name {
      display:block; font-family:'Cormorant Garamond',serif;
      font-size:1.1rem; font-weight:400; color:var(--white);
      letter-spacing:0.03em; line-height:1.1;
    }
    .logo-footer .logo-sub {
      display:block; font-size:0.72rem; letter-spacing:0.12em;
      text-transform:uppercase; color:var(--gold); margin-top:3px;
      opacity:0.9;
    }
    .logo-footer:hover { opacity:1; }
    .nav-links { list-style:none; display:flex; align-items:center; gap:36px; }
    .nav-links a {
      text-decoration:none; font-size:0.92rem; letter-spacing:0.12em;
      text-transform:uppercase; color:rgba(255,255,255,0.7); transition:color 0.3s;
    }
    .nav-links a:hover { color:var(--gold-light); }
    .nav-cta {
      background:transparent !important; border:1px solid var(--gold) !important;
      color:var(--gold) !important; padding:10px 24px !important; transition:all 0.3s ease !important;
    }
    .nav-cta:hover { background:var(--gold) !important; color:var(--dark) !important; }
    /* HAMBURGER MOBILE — samostatný fixovaný prvek */
    #hamburger-mobile {
      display: none;
      position: fixed;
      top: 14px;
      right: 16px;
      z-index: 9999;
      background: rgba(15,13,10,0.92);
      border: 1px solid rgba(184,149,74,0.5);
      border-radius: 4px;
      padding: 10px 12px;
      cursor: pointer;
      flex-direction: column;
      gap: 5px;
      align-items: center;
      justify-content: center;
    }
    #hamburger-mobile span {
      display: block;
      width: 22px;
      height: 2px;
      background: #ffffff;
      border-radius: 2px;
    }

    /* MOBILE NAV */
    .mobile-nav {
      display:none; position:fixed; inset:0; background:var(--dark);
      z-index:9998; flex-direction:column; align-items:center; justify-content:center;
      gap:0; padding:80px 40px 40px;
    }
    .mobile-nav.open { display:flex; }
    .mobile-nav a {
      font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:500;
      color:rgba(255,255,255,0.85); text-decoration:none;
      width:100%; text-align:center; padding:18px 0;
      border-bottom:1px solid rgba(184,149,74,0.15);
      transition:color 0.2s;
    }
    .mobile-nav a:first-of-type { border-top:1px solid rgba(184,149,74,0.15); }
    .mobile-nav a:hover { color:var(--gold-light); }
    .mobile-nav-cta {
      font-family:'Outfit',sans-serif !important; font-size:1rem !important;
      font-weight:500 !important; letter-spacing:0.12em !important;
      text-transform:uppercase !important; color:var(--dark) !important;
      background:var(--gold) !important; border:none !important;
      padding:16px 36px !important; margin-top:28px !important;
      width:auto !important; border-bottom:none !important;
    }
    .mobile-close {
      position:absolute; top:20px; right:20px;
      background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15);
      border-radius:4px; color:white; font-size:1.2rem; cursor:pointer;
      width:44px; height:44px; display:flex; align-items:center; justify-content:center;
    }

    /* HERO */
    .hero {
      min-height: 100vh; background:var(--dark);
      position:relative; display:flex; align-items:stretch; overflow:hidden;
      box-sizing: border-box;
    }
    .hero-bg {
      position:absolute; inset:0; overflow:hidden;
      background: linear-gradient(to right, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.6) 25%, rgba(0,0,0,0.3) 45%, rgba(0,0,0,0.0) 65%);
    }
    .hero {
      background-color: #0d0d0d;
      background-image: none;
    }
    .hero-photo {
      position: relative; z-index: 2;
      overflow: hidden;
      max-height: 100vh;
    }
    .hero-photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: top center;
      display: block;
      position: absolute; inset: 0;
      max-height: 100vh;
    }
    .hero-lines { position:absolute; inset:0; overflow:hidden; opacity:0.07; pointer-events:none; }
    .hero-lines svg { width:100%; height:100%; display:block; max-width:100%; }
    .hero-inner {
      width: 100%;
      position:relative; z-index:2;
      display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;
    }
    .hero-copy {
      padding: calc(var(--navbar-height, 160px) - 20px) 40px 80px 60px;
      display: flex; flex-direction: column; justify-content: center; gap: 24px;
      position: relative;
    }
    .hero-group-1 { display: flex; flex-direction: column; gap: 10px; }
    .hero-group-2 { display: flex; flex-direction: column; gap: 6px; }
    .hero-group-3 { display: flex; flex-direction: column; gap: 16px; }
    .hero-copy::after {
      content: '';
      position: absolute;
      top: 0; right: -80px;
      width: 80px; height: 100%;
      background: linear-gradient(to right, var(--dark) 0%, transparent 100%);
      pointer-events: none;
      z-index: 3;
    }
    .hero-eyebrow {
      font-size:0.82rem; letter-spacing:0.22em; text-transform:uppercase;
      color:var(--gold); margin:0;
      display:flex; align-items:center; gap:12px;
      opacity:0; animation:fadeUp 0.7s ease forwards 0.2s;
    }
    .hero-eyebrow::before { content:''; display:block; width:32px; height:1px; background:var(--gold); flex-shrink:0; }
    .hero-label {
      font-size:0.92rem; letter-spacing:0.28em; text-transform:uppercase;
      color:var(--gold); margin-bottom:14px;
      display:flex; align-items:center; gap:12px;
      opacity:0; animation:fadeUp 0.7s ease forwards 0.2s;
    }
    .hero-label::before { content:''; display:block; width:32px; height:1px; background:var(--gold); }
    .hero h1 {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(2.8rem, 4.5vw, 4.4rem); font-weight:700; line-height:1.05;
      color:var(--white); margin:0;
      opacity:0; animation:fadeUp 0.8s ease forwards 0.35s;
    }
    .hero h1 em { font-style:italic; color:var(--gold-light); }
    .hero-desc {
      font-size:1.05rem; color:rgba(255,255,255,0.72); line-height:1.75;
      margin:0; max-width:480px;
      opacity:0; animation:fadeUp 0.8s ease forwards 0.5s;
    }
    .hero-proof {
      font-size:0.8rem; color:rgba(255,255,255,0.55); letter-spacing:0.08em;
      margin:0; max-width:480px;
      opacity:0; animation:fadeUp 0.8s ease forwards 0.55s;
    }
    .hero-trust {
      font-size:0.8rem; color:rgba(255,255,255,0.45); letter-spacing:0.05em;
      margin:0; max-width:480px;
      opacity:0; animation:fadeUp 0.8s ease forwards 0.75s;
    }
    .hero-scroll-hint {
      font-size:0.72rem; color:rgba(184,149,74,0.6); letter-spacing:0.18em;
      text-decoration:none; text-transform:uppercase; white-space:nowrap;
      display:inline-flex; align-items:center; gap:8px;
      transition:color 0.2s ease; width:fit-content;
      opacity:0; animation:fadeUp 0.8s ease forwards 1s;
    }
    .hero-scroll-hint:hover { color:var(--gold); }
    @keyframes bounce {
      0%, 100% { transform:translateY(0); }
      50% { transform:translateY(5px); }
    }
    .btn-gold {
      display:inline-flex; align-items:center; gap:10px;
      padding:16px 36px; background:var(--gold); color:var(--dark);
      font-size:0.92rem; font-weight:500; letter-spacing:0.12em;
      text-transform:uppercase; text-decoration:none; transition:all 0.3s ease;
    }
    .btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); }
    .btn-outline {
      display:inline-flex; align-items:center; gap:10px;
      padding:15px 36px; border:1px solid rgba(255,255,255,0.2);
      color:rgba(255,255,255,0.7); font-size:0.92rem; letter-spacing:0.12em;
      text-transform:uppercase; text-decoration:none; transition:all 0.3s ease;
    }
    .btn-outline:hover { border-color:var(--gold); color:var(--gold); }

    /* Hero stats */
    .hero-stats {
      display:grid; grid-template-columns:1fr 1fr; gap:2px;
      opacity:0; animation:fadeUp 0.8s ease forwards 0.8s;
    }
    .stat-box {
      background:rgba(255,255,255,0.03); border:1px solid rgba(184,149,74,0.15);
      padding:20px 20px; transition:border-color 0.3s;
    }
    .stat-box:hover { border-color:rgba(184,149,74,0.4); }
    .stat-num {
      font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600;
      color:var(--gold-light); line-height:1; margin-bottom:8px;
    }
    .stat-num--icon {
      font-family:'Outfit',sans-serif; font-size:2.4rem; font-weight:300;
      letter-spacing:0.05em;
    }
    .stat-num--md {
      font-size:1.45rem; line-height:1.25;
    }
    .stat-label { font-size:0.88rem; letter-spacing:0.1em; color:rgba(255,255,255,0.65); text-transform:uppercase; }

    .approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; width:100%; }
    .approach-grid > div { min-width:0; }
    .process-grid-2top { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:6px; }
    .process-grid-3bot { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
    .process-list { display:flex; flex-direction:column; gap:2px; }
    .process-item {
      display:flex; gap:0; background:var(--white);
      border:1px solid rgba(184,149,74,0.2); overflow:hidden;
      transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
    }
    .process-item:hover {
      background: #fdfaf5;
      border-color: rgba(184,149,74,0.5);
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }
    .process-item--first {
      border-color: rgba(184,149,74,0.45);
      background: #fdf9f3;
    }
    .process-item-num {
      width:68px; min-width:68px;
      display:flex; align-items:center; justify-content:center;
      font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:600;
      color:#b8954a; opacity:0.7;
      border-right:1px solid rgba(184,149,74,0.18);
    }
    .process-item--first .process-item-num { opacity:1; }
    .process-item-body { padding:16px 28px; display:flex; align-items:baseline; gap:28px; flex:1; }
    .process-item-title {
      font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:700;
      color:var(--dark); min-width:220px; line-height:1.3; margin:0;
    }
    .process-item-desc {
      font-size:0.9rem; color:rgba(42,37,32,0.5); line-height:1.65; margin:0;
    }

    /* Oddělovače sekcí — jemná zlatá linka nahoře */
    .services, .approach, .process, .about, .reference, .contact, .kalkulacka {
      border-top: 1px solid rgba(184,149,74,0.2);
    }
    .hero, .blog { border-top: none; }
    section { position:relative; }
    .section-inner { max-width:1200px; margin:0 auto; padding:0 40px; }
    .section-pad { padding:80px 0; }
    .section-tag {
      display:inline-block; font-size:0.9rem; letter-spacing:0.25em;
      text-transform:uppercase; color:var(--gold); margin-bottom:16px;
      position:relative; padding-left:28px;
    }
    .section-tag::before {
      content:''; position:absolute; left:0; top:50%;
      width:18px; height:1px; background:var(--gold);
    }
    .section-title {
      font-family:'Cormorant Garamond',serif; font-size:clamp(1.8rem,3vw,2.4rem);
      font-weight:600; line-height:1.1; margin-bottom:16px; color:var(--dark);
    }
    .section-desc { font-size:1rem; color:var(--text-light); max-width:540px; line-height:1.75; }

    /* SERVICES */
    .services { background:var(--cream); padding:80px 0; }
    /* Approach */
    .approach { background: #f0ebe2; padding: 80px 0; border-top: 1px solid rgba(184,149,74,0.1); border-bottom: 1px solid rgba(184,149,74,0.1); }
    /* Process */
    .process { background: #f0ebe2; padding: 60px 0; }
    .process .section-title { font-size: clamp(1.6rem, 2.5vw, 2.2rem); line-height: 1.1; }
    .process .section-inner > div:first-child { margin-bottom: 24px; }
    .services-header {
      display:grid; grid-template-columns:1fr 1fr; gap:40px;
      align-items:end; margin-bottom:32px;
    }
    .services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; }
    .service-card {
      background:var(--white); padding:32px 28px;
      border-top:3px solid transparent;
      transition:border-color 0.3s ease, transform 0.3s ease; cursor:pointer;
      display:flex; flex-direction:column;
    }
    .service-card:hover { border-color:var(--gold); transform:translateY(-4px); }
    .service-icon {
      width:48px; height:48px; border:1px solid var(--border);
      display:flex; align-items:center; justify-content:center;
      margin-bottom:16px; color:var(--gold); font-size:1.1rem;
      transition:background 0.3s, color 0.3s;
    }
    .service-card:hover .service-icon { background:var(--gold); color:var(--white); border-color:var(--gold); }
    .service-card h3 {
      font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:600;
      margin-bottom:12px; color:var(--dark);
    }
    .service-card > p { font-size:0.97rem; color:var(--text-light); line-height:1.7; margin-bottom:20px; }
    .btn-toggle {
      background:none; border:none; font-family:'Outfit',sans-serif;
      font-size:0.88rem; letter-spacing:0.1em; text-transform:uppercase;
      color:var(--gold); cursor:pointer; display:flex; align-items:center; gap:8px;
      padding:0; transition:gap 0.3s;
    }
    .btn-toggle:hover { gap:12px; }
    .service-details { display:none !important; margin-top:24px; padding-top:24px; border-top:1px solid var(--border); margin-top:auto; padding-top:24px; }
    .service-details.open { display:flex !important; flex-direction:column; flex:1; }
    .service-list { list-style:none; display:flex; flex-direction:column; gap:16px; margin-bottom:28px; flex:1; }
    .service-list li {
      font-size:0.88rem; color:var(--text-light); line-height:1.65;
      padding-left:16px; border-left:2px solid var(--border);
    }
    .service-list li strong { color:var(--text); font-weight:500; }
    .btn-service-cta {
      display:block; text-align:center; padding:12px;
      background:var(--dark); color:var(--white); font-size:0.88rem;
      letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; transition:background 0.3s;
    }
    .btn-service-cta:hover { background:var(--gold); }

    /* ABOUT */
    .about { background:var(--dark); }
    .about .section-title { color:var(--white); margin-bottom: 20px; }
    .about-grid {
      display: grid; grid-template-columns: 3fr 2fr;
      gap: 80px; align-items: start;
    }
    /* Photo column */
    .about-photo-col { position: sticky; top: 100px; order: 2; }
    .about-text-col { order: 1; }
    .about-photo-wrap {
      position: relative; width: 100%;
      aspect-ratio: 3/4; overflow: hidden;
      border: 1px solid rgba(184,149,74,0.2);
    }
    .about-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position: center 20%; display:block; filter:grayscale(15%); }
    .about-photo-placeholder {
      width:100%; height:100%; background:var(--dark-3);
      display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
    }
    .about-photo-placeholder i { font-size:3rem; color:rgba(184,149,74,0.3); }
    .about-photo-placeholder span { font-size:0.85rem; letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.2); }
    .about-name-card {
      background: var(--dark-2); border-left: 3px solid var(--gold);
      padding: 18px 22px; margin-top: 2px;
    }
    .about-name-card-name { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--white); }
    .about-name-card-role { font-size:0.92rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-top:4px; }
    /* Text column */
    .about-text-col .section-tag { color:var(--gold); }
    .about-intro-text {
      font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-style:italic;
      color:rgba(255,255,255,0.75); line-height:1.65;
      margin-bottom:32px; padding-bottom:32px;
      border-bottom:1px solid rgba(184,149,74,0.15);
    }
    .about-p-text { font-size:1rem; color:rgba(255,255,255,0.55); line-height:1.8; margin-bottom:20px; }
    .about-p-text .accent { color:var(--gold-light); }
    .about-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:36px; }
    .about-tag {
      font-size:0.92rem; letter-spacing:0.1em; text-transform:uppercase;
      color:rgba(255,255,255,0.45); border:1px solid rgba(184,149,74,0.2);
      padding:6px 14px; transition:all 0.3s;
    }
    .about-tag:hover { border-color:var(--gold); color:var(--gold); }

    /* CTA BAND */
    .btn-dark {
      display:inline-flex; align-items:center; gap:12px; padding:18px 40px;
      background:var(--gold); color:var(--dark); font-size:0.92rem; font-weight:500;
      letter-spacing:0.12em; text-transform:uppercase; text-decoration:none;
      white-space:nowrap; transition:all 0.3s;
    }
    .btn-dark:hover { background:var(--gold-light); transform:translateY(-2px); }

    /* CONTACT */
    .contact { background:var(--cream); padding:120px 40px 80px; }
    .contact .section-inner { max-width:1200px; margin:0 auto; padding:0; }
    .contact-grid { display:grid; grid-template-columns:4fr 6fr; gap:60px; align-items:start; }
    .contact-grid > div:last-child { padding-top: 52px; display:flex; flex-direction:column; justify-content:flex-start; }
    .contact-grid > div:first-child { display:flex; flex-direction:column; }
    .contact-items { margin-top: 0; }
    .form-grid { margin-top: 0; }
    .contact-info-title { font-family:'Outfit',sans-serif; font-size:1rem; color:rgba(42,37,32,0.75); line-height:1.75; margin-bottom:32px; font-weight:400; }
    .contact-items { display:flex; flex-direction:column; gap:1px; }
    .contact-item {
      display:flex; align-items:center; gap:20px;
      padding:22px 24px; background:var(--white); transition:background 0.3s;
    }
    .contact-item:hover { background:var(--gold-pale); }
    .contact-icon {
      width:44px; height:44px; border:1px solid var(--border);
      display:flex; align-items:center; justify-content:center;
      color:var(--gold); flex-shrink:0; font-size:0.9rem;
    }
    .contact-item h4 { font-size:0.9rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-light); margin-bottom:4px; font-weight:400; }
    .contact-item p, .contact-item a { font-size:0.95rem; color:var(--text); text-decoration:none; }
    .contact-item a:hover { color:var(--gold); }

    /* Form */
    .form-title { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:600; margin-bottom:36px; line-height:1.2; color:var(--dark); }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .form-full { grid-column:1 / -1; }
    .form-group { display:flex; flex-direction:column; gap:8px; }
    .form-group label { font-size:0.92rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-light); }
    .form-group input, .form-group textarea, .form-group select {
      background:var(--white); border:1px solid rgba(0,0,0,0.1);
      padding:14px 18px; font-family:'Outfit',sans-serif; font-size:0.95rem;
      color:var(--text); transition:border-color 0.3s; outline:none; resize:none; appearance:none;
    }
    .form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--gold); }
    .form-group input::placeholder, .form-group textarea::placeholder { color:rgba(0,0,0,0.25); }
    .btn-submit {
      grid-column:1 / -1; padding:17px; background:var(--dark); color:var(--white);
      border:none; font-family:'Outfit',sans-serif; font-size:0.92rem; font-weight:500;
      letter-spacing:0.15em; text-transform:uppercase; cursor:pointer; transition:background 0.3s;
      display:flex; align-items:center; justify-content:center; gap:12px;
    }
    .btn-submit:hover { background:var(--gold); }
    #formStatus { font-size:0.88rem; color:var(--gold); text-align:center; grid-column:1/-1; padding:8px; display:none; }

    /* ── CLOSING CTA ── */
    .closing-cta {
      background: var(--dark);
      padding: 80px 40px;
      text-align: center;
      position: relative;
    }
    .closing-cta::before {
      content: '';
      position: absolute;
      top: 0; left: 50%; transform: translateX(-50%);
      width: 48px; height: 1px;
      background: var(--gold);
      opacity: 0.45;
    }
    .closing-cta__inner { max-width: 600px; margin: 0 auto; }
    .closing-cta__label {
      display: block;
      font-size: 0.7rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 22px;
    }
    .closing-cta__headline {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 500;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 18px;
    }
    .closing-cta__headline em {
      font-style: italic;
      color: var(--gold-light, #d4af6a);
    }
    .closing-cta__sub {
      font-size: 0.95rem;
      color: rgba(255,255,255,0.45);
      line-height: 1.75;
      margin-bottom: 36px;
      max-width: 440px;
      margin-left: auto;
      margin-right: auto;
    }
    .closing-cta__actions {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
    }
    .btn-closing-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: var(--gold);
      color: #fff;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 15px 32px;
      border-radius: 3px;
      transition: background 0.22s, transform 0.18s;
    }
    .btn-closing-primary:hover { background: var(--gold-light, #d4af6a); transform: translateY(-1px); }
    .btn-closing-primary:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
    .btn-closing-secondary {
      font-size: 0.85rem;
      color: rgba(255,255,255,0.3);
      text-decoration: none;
      border-bottom: 1px solid rgba(255,255,255,0.1);
      padding-bottom: 2px;
      transition: color 0.2s, border-color 0.2s;
    }
    .btn-closing-secondary:hover { color: rgba(255,255,255,0.65); border-color: rgba(255,255,255,0.28); }

    /* ── TRUST STRIP ── */
    .trust-strip {
      background: var(--dark-2);
      border-top: 1px solid rgba(184,149,74,0.08);
      padding: 32px 40px;
    }
    .trust-strip__inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
    }
    .trust-item {
      display: flex;
      align-items: flex-start;
      gap: 13px;
      padding: 6px 24px;
    }
    .trust-item + .trust-item {
      border-left: 1px solid rgba(184,149,74,0.1);
    }
    .trust-item__icon {
      color: var(--gold);
      font-size: 1rem;
      margin-top: 3px;
      flex-shrink: 0;
      opacity: 0.65;
    }
    .trust-item__text { display: flex; flex-direction: column; gap: 3px; }
    .trust-item__label {
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      color: rgba(255,255,255,0.82);
    }
    .trust-item__desc {
      font-size: 0.78rem;
      color: rgba(255,255,255,0.35);
      line-height: 1.5;
    }

    /* ── FOOTER ── */
    /* FOOTER */
    .footer { background:var(--dark-2); padding:0; }
    .footer-grid {
      max-width:1200px; margin:0 auto; padding:60px 40px 48px;
      display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:48px;
    }
    .footer-brand__tagline {
      font-size:0.875rem; color:rgba(255,255,255,0.38);
      line-height:1.7; margin-top:16px; font-style:italic;
      font-family:'Cormorant Garamond',serif;
    }
    .footer-services ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-services a {
      font-size:0.875rem; color:rgba(255,255,255,0.5);
      text-decoration:none; transition:color 0.2s;
    }
    .footer-services a:hover { color:rgba(255,255,255,0.9); }
    .footer-social { display:flex; gap:10px; margin-top:18px; }
    .footer-social a {
      width:32px; height:32px; border-radius:50%;
      border:1px solid rgba(184,149,74,0.2);
      display:flex; align-items:center; justify-content:center;
      color:rgba(255,255,255,0.4); font-size:0.78rem;
      text-decoration:none; transition:border-color 0.2s, color 0.2s;
    }
    .footer-social a:hover { border-color:var(--gold); color:var(--gold); }
    .footer-bottom {
      max-width:1200px; margin:0 auto; padding:20px 40px 28px;
      border-top:1px solid rgba(255,255,255,0.06);
      display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    }
    .footer-bottom__copy { font-size:0.78rem; color:rgba(255,255,255,0.2); }
    .footer-bottom__legal { display:flex; gap:20px; }
    .footer-bottom__legal a {
      font-size:0.78rem; color:rgba(255,255,255,0.2);
      text-decoration:none; transition:color 0.2s;
    }
    .footer-bottom__legal a:hover { color:rgba(255,255,255,0.5); }
    .footer-brand p { font-size:0.88rem; color:rgba(255,255,255,0.6); line-height:1.7; margin-top:16px; }
    .footer-heading { font-size:0.88rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
    .footer-links ul, .footer-contact ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
    .footer-links a, .footer-contact li {
      font-size:0.85rem; color:rgba(255,255,255,0.65); text-decoration:none;
      transition:color 0.3s; display:flex; align-items:center; gap:10px;
    }
    .footer-links a:hover { color:var(--gold-light); }
    .footer-contact li i { color:var(--gold); font-size:0.9rem; width:14px; }
    .footer-contact a { color:rgba(255,255,255,0.65); text-decoration:none; }
    .footer-contact a:hover { color:var(--gold-light); }

    /* ANIMATIONS */
    @keyframes fadeUp {
      from { opacity:0; transform:translateY(28px); }
      to   { opacity:1; transform:translateY(0); }
    }
    /* REVEAL ANIMACE — jemný fade-in při scrollu */
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* HOVER NA KARTÁCH — velmi jemné zvednutí */
    .service-card {
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .service-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    }

    /* MOBILE */
    @media (max-width: 900px) {
      /* Navbar na mobilu vždy tmavý — žádné průhledné stavy */
      .navbar,
      .navbar.on-dark,
      .navbar.on-light,
      .navbar.scrolled {
        background: rgba(15,13,10,0.97) !important;
        backdrop-filter: blur(10px) !important;
        box-shadow: none !important;
      }
      .navbar .logo-name { color: #ffffff !important; }
      .navbar .logo-sub { color: var(--gold-light) !important; }
      /* Odsazení vpravo aby logo nepřekrývalo hamburger */
      .nav-inner { padding-right: 70px !important; }
      #hamburger-mobile { display: flex; }
      .hero-inner { grid-template-columns:1fr; gap:0; padding:0 20px; }
      .hero-copy { padding: var(--navbar-height, 120px) 0 40px; gap: 20px; }
      .hero-copy::after { display: none; }
      .hero-photo { display: none; }
      .hero-eyebrow { font-size: 0.7rem; white-space: normal; }
      h1.hero-h1, .hero-h1 { font-size: clamp(1.8rem, 7vw, 2.8rem); }
      .hero-desc { font-size: 0.95rem; }
      .hero-proof { display:none; }
      .hero-scroll-hint { display:none; }
      .hero-group-3 .hero-scroll-hint { display: none; }
      .btn-gold { width:100%; justify-content:center; min-height:52px; }
      .hero-stats { grid-template-columns:1fr 1fr; }
      .services-header { grid-template-columns:1fr; gap:20px; }
      .services-grid { grid-template-columns:1fr; }
      .about-grid { grid-template-columns:1fr; }
      .about-photo-col { position:static; width: 100%; order: 1; }
      .about-text-col { order: 2; }
      .why-grid { grid-template-columns:1fr 1fr !important; }
      .approach-grid { grid-template-columns:1fr !important; gap:32px !important; display:grid !important; }
      /* BUG 1: reveal fallback — approach heading viditelný bez JS trigger */
      .approach-grid.reveal:not(.visible) { opacity: 1 !important; transform: none !important; }
      /* HOTFIX: reveal fallback — heading viditelný i bez JS trigger */
      .approach-grid.reveal:not(.visible) { opacity: 1; transform: none; }
      .process-grid { grid-template-columns:1fr !important; display:grid !important; }
      .process-grid { grid-template-columns:1fr !important; }
      .process-grid-2 { grid-template-columns:1fr !important; }
      .process-grid-2top { grid-template-columns:1fr !important; gap: 2px !important; }
      .process-grid-3bot { grid-template-columns:1fr !important; gap: 2px !important; }
      .process-item-body { flex-direction:column; gap:4px; padding:14px 16px; }
      .process-item-title { min-width:unset; font-size:1.05rem; }
      .process-item-num { width:52px; min-width:52px; font-size:1.6rem; }
      .about-photo-wrap { aspect-ratio: 3/4; width: 100%; max-width: 100%; }
      .about-photo-wrap img { object-position: center center; }
      .nav-links { display:none !important; }
      .contact-grid { grid-template-columns:1fr; gap:40px; }
      .contact { padding:60px 20px; }
      .footer-grid { grid-template-columns:1fr; gap:36px; padding:40px 20px; }
      .footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; padding:20px; }
      .form-grid { grid-template-columns:1fr; }
      .closing-cta { padding:72px 24px; }
      .btn-closing-primary { width:100%; justify-content:center; }
      .trust-strip { padding:28px 24px; }
      .trust-strip__inner { grid-template-columns:1fr 1fr; }
      .trust-item + .trust-item { border-left:none; }
      .trust-item:nth-child(2) { border-left:1px solid rgba(184,149,74,0.12); }
      .trust-item:nth-child(3) { border-top:1px solid rgba(184,149,74,0.1); }
      .trust-item:nth-child(4) { border-top:1px solid rgba(184,149,74,0.1); border-left:1px solid rgba(184,149,74,0.12); }
      .trust-item { padding:12px 16px; }
    }
    @media (max-width: 768px) {
      .hero { background-image: url('Andrea_Barvirova_-11.webp'); background-position: center 20%; background-size: cover; }
      .section-inner { padding:0 20px; }
      .nav-inner { padding:0 20px; }
      .hero-inner { padding:120px 20px 60px; }
      .hero-stats { grid-template-columns:1fr 1fr; }
      .footer-grid { padding:0 20px; }
      .footer-bottom { padding:24px 20px 0; }
      .section-pad { padding:56px 0; }
      .approach-grid p { font-size:1rem !important; line-height:1.7 !important; }
      /* Mobilní čitelnost textu */
      body { font-size: 17px; }
      .about-p-text { font-size: 1.05rem; line-height: 1.8; }
      .about-intro-text { font-size: 1.1rem; line-height: 1.8; }
      .service-card > p { font-size: 1rem; }
      .section-desc { font-size: 1rem; }
      .ref-text { font-size: 0.95rem; }
      .blog-card p { font-size: 0.92rem; }

      /* Mobilní čitelnost — zvětšení malých prvků */
      .logo-sub { font-size: 0.75rem; letter-spacing: 0.12em; }
      .nav-cta { font-size: 0.85rem; padding: 10px 16px; }
      .section-label { font-size: 0.82rem; }
      .stat-label { font-size: 0.82rem; }
      .service-tag { font-size: 0.82rem; }
      .blog-cat { font-size: 0.75rem; }
      .blog-date { font-size: 0.82rem; }
      .blog-link { font-size: 0.82rem; }
      .ref-name { font-size: 0.92rem; }
      .ref-role { font-size: 0.82rem; }
      .footer-heading { font-size: 0.82rem; }
      .footer-links a { font-size: 0.88rem; }
      .footer-bottom p { font-size: 0.82rem; }
      .kalc-label { font-size: 0.92rem; }
      .kalc-kpi-sub { font-size: 0.88rem; }
      .kalc-rec-label { font-size: 0.88rem; }
      .newsletter-note { font-size: 0.78rem; }
      .tip { font-size: inherit; }

      /* Padding sekcí na úzkých telefonech */
      .section-inner { padding: 0 16px; }
      .inv-panel { padding: 24px 16px; }
      .service-card { padding: 28px 20px; }
      .ref-card { padding: 28px 20px; }
      .contact-form { padding: 28px 20px; }

    /* Reset barev pro kontaktní sekci — ochrana před kd2 CSS */
    .contact .contact-info-title,
    .contact .form-title,
    .contact .form-subtitle,
    .contact .contact-item h4,
    .contact .contact-item p,
    .contact .contact-item a { color: var(--text, #2a2520); }
    .contact .form-group label { color: var(--text-light, #6b6358); }
    .contact .form-group input,
    .contact .form-group textarea,
    .contact .form-group select {
      background: var(--white, #ffffff);
      color: var(--text, #2a2520);
    }

      /* Kalkulačka na mobilu */
      .kalc-kpi { padding: 16px 12px; }
      /* HOTFIX 1: calc-tabs — !important pro přebití desktop flex-wrap:wrap */
      .calc-tabs { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important;
                   -webkit-overflow-scrolling: touch !important; white-space: nowrap !important;
                   scrollbar-width: none !important; gap: 0 !important; padding-bottom: 4px; }
      .calc-tabs::-webkit-scrollbar { display: none !important; }
      .calc-tab { flex-shrink: 0 !important; white-space: nowrap !important;
                  font-size: 11px !important; padding: 8px 10px !important; }
    }

    /* ── REFERENCE ── */
    .reference { background: var(--dark-2); }
    .ref-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 56px; }
    .ref-card {
      background: rgba(255,255,255,0.03); border: 1px solid var(--border);
      padding: 36px 32px; transition: border-color .3s;
    }
    .ref-card:hover { border-color: rgba(184,149,74,0.45); }
    .ref-stars { color: var(--gold); font-size: .75rem; letter-spacing: 3px; margin-bottom: 20px; }
    .ref-text {
      font-size: .93rem; color: rgba(255,255,255,.55); line-height: 1.8;
      margin-bottom: 28px; font-style: italic;
    }
    .ref-text::before { content: 'E'; color: var(--gold); font-size: 1.6rem; line-height: 0; vertical-align: -.3em; margin-right: 4px; }
    .ref-author { display: flex; align-items: center; gap: 14px; }
    .ref-avatar {
      width: 42px; height: 42px; border-radius: 50%;
      background: var(--dark-3); border: 1px solid var(--border);
      display: flex; align-items: center; justify-content: center;
      color: var(--gold); font-size: .9rem; flex-shrink: 0;
    }
    .ref-name { font-size: .88rem; font-weight: 500; color: rgba(255,255,255,.8); }
    .ref-role { font-size: .72rem; color: rgba(255,255,255,.3); letter-spacing: .05em; margin-top: 2px; }

    /* ── BLOG ── */
    .blog { background: var(--cream); }
    .blog-header { display: flex; flex-direction: column; margin-bottom: 52px; gap: 0; }
    .blog-header-photo { width: calc(100% + 80px); margin-left: -40px; height: 420px; overflow: hidden; margin-bottom: 48px; }
    .blog-header-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
    .blog-header-text { display: flex; flex-direction: column; align-items: flex-start; }
    .blog-header > div:first-child { text-align: left; }
    .blog-header .section-tag { padding-left: 0; }
    .blog-header .section-tag::before { display: none; }
    .blog-header .section-title { text-align: left; }
    .blog-header .section-desc { text-align: left; margin: 0 0 32px; }
    .blog-filter {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: center;
      margin-bottom: 52px;
    }
    .filter-btn {
      background: none;
      border: 1px solid rgba(184,149,74,0.45);
      border-radius: 3px;
      padding: 9px 18px;
      font-family: 'Outfit', sans-serif;
      font-size: .72rem;
      font-weight: 500;
      letter-spacing: .11em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.75);
      cursor: pointer;
      transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease;
      text-align: center;
      white-space: nowrap;
      line-height: 1;
      height: 36px;
      display: inline-flex;
      align-items: center;
    }
    .filter-btn:hover {
      background: rgba(184,149,74,0.08);
      border-color: rgba(184,149,74,0.80);
      color: rgba(255,255,255,0.95);
    }
    .filter-btn.active {
      background: var(--gold);
      border-color: var(--gold);
      color: #1a1710;
      font-weight: 700;
      box-shadow: 0 2px 12px rgba(184,149,74,0.25);
    }
    .blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
    .blog-card {
      background: var(--white); display: flex; flex-direction: column;
      transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
      border-top: 3px solid transparent;
      border-left: 1px solid rgba(184,149,74,0.1);
      border-right: 1px solid rgba(184,149,74,0.1);
      border-bottom: 1px solid rgba(184,149,74,0.1);
      border-radius: 4px;
      overflow: hidden;
      will-change: transform, opacity;
      text-decoration: none; color: inherit; cursor: pointer;
    }
    .blog-card:hover { transform: translateY(-4px); border-top-color: var(--gold); border-left-color: rgba(184,149,74,0.3); border-right-color: rgba(184,149,74,0.3); border-bottom-color: rgba(184,149,74,0.3); box-shadow: 0 8px 24px rgba(0,0,0,0.09); }
    .blog-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
    .blog-thumb {
      width: 100%;
      aspect-ratio: 16 / 9;
      overflow: hidden;
      background: #0f1115;
      display: block;
      position: relative;
    }
    .blog-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }
    .blog-card:hover .blog-thumb img {
      transform: scale(1.03);
    }
    .blog-body { padding: 16px 20px 20px; flex: 1; display: flex; flex-direction: column; }
    .blog-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
    .blog-cat { font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); font-weight: 500; }
    .blog-date { font-size: .82rem; color: var(--text-light); }
    .blog-card h3 {
      font-family: 'Cormorant Garamond', serif; font-size: 1.45rem;
      font-weight: 600; color: var(--dark); margin-bottom: 8px; line-height: 1.22;
      letter-spacing: -0.018em;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .blog-card p {
      font-size: 0.9rem; color: var(--text-light); line-height: 1.5; flex: 1; margin-bottom: 12px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .blog-read {
      font-size: .75rem; letter-spacing: .12em; text-transform: uppercase;
      color: var(--gold); text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
      transition: gap .3s; margin-top: auto;
    }
    .blog-read:hover { gap: 14px; }
    .blog-card.hidden { display: none !important; }
    /* fragile: selektory níže závisí na přesném textu inline style atributu —
       při změně HTML grid-column hodnot přestanou fungovat */
    .blog-card[style*="grid-column: span 3"]:not(.hidden) { display: grid !important; }

    /* ── NEWSLETTER ── */
    .newsletter { background: var(--dark); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 60px 20px; }
    .newsletter-inner { max-width: 680px; margin: 0 auto; padding: 0 40px; text-align: center; }
    .newsletter-icon { font-size: 2rem; color: var(--gold); margin-bottom: 20px; display: block; }
    .newsletter h2 {
      font-family: 'Cormorant Garamond', serif; font-size: clamp(1.3rem,1.6vw,1.5rem);
      font-weight: 600; color: rgba(255,255,255,0.75); margin-bottom: 16px; line-height: 1.33;
    }
    .newsletter h2 em { font-style: italic; color: var(--gold-light); }
    .newsletter p { font-size: .95rem; color: rgba(255,255,255,.45); line-height: 1.7; margin-bottom: 36px; }
    .newsletter-form { display: flex; gap: 0; max-width: 480px; margin: 0 auto 16px; }
    .newsletter-form input {
      flex: 1; padding: 15px 20px; background: rgba(255,255,255,.06);
      border: 1px solid var(--border); border-right: none;
      font-family: 'Outfit', sans-serif; font-size: .92rem; color: var(--white);
      outline: none; transition: border-color .3s;
    }
    .newsletter-form input::placeholder { color: rgba(255,255,255,.25); }
    .newsletter-form input:focus { border-color: var(--gold); }
    .newsletter-form button {
      padding: 15px 28px; background: var(--gold); color: var(--dark);
      border: none; font-family: 'Outfit', sans-serif; font-size: .8rem;
      font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
      cursor: pointer; transition: background .3s; white-space: nowrap;
    }
    .newsletter-form button:hover { background: var(--gold-light); }
    .newsletter-sub { font-size: .95rem; color: rgba(255,255,255,.45); line-height: 1.7; margin-bottom: 44px; }
    #ecomail-form { max-width: 480px; margin: 0 auto 12px; }
    .nl-input-row { display: flex; gap: 0; }
    .nl-input-row input {
      flex: 1;
      padding: 14px 20px;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(184,149,74,0.3);
      border-right: none;
      color: #fff;
      font-size: 0.95rem;
      font-family: 'Outfit', sans-serif;
      outline: none;
    }
    .nl-input-row input::placeholder { color: rgba(255,255,255,0.25); }
    .nl-btn {
      padding: 14px 24px;
      background: var(--gold);
      color: #0e1829;
      font-size: 0.88rem;
      font-weight: 600;
      letter-spacing: 0.03em;
      border: none;
      cursor: pointer;
      white-space: nowrap;
      font-family: 'Outfit', sans-serif;
    }
    .nl-btn:hover { background: var(--gold-light); }
    .newsletter-first-email { font-size: .8rem; color: rgba(255,255,255,.3); letter-spacing: .04em; margin: 6px 0 16px; }
    .newsletter-note { font-size: .72rem; color: rgba(255,255,255,.32); letter-spacing: .05em; }
    .newsletter { padding: 60px 20px; }
    .form-subtitle { font-size: 0.9rem; font-weight: 500; color: rgba(42,37,32,0.55); margin-bottom: 20px; }
    .form-after-submit { font-size: 0.85rem; color: rgba(42,37,32,0.5); margin-top: 12px; line-height: 1.6; }
    .contact .section-tag::before { background:var(--gold); opacity:0.4; height:1px; width:14px; }
    #nlStatus { font-size: .85rem; margin-top: 14px; min-height: 20px; }

    @media (max-width: 900px) {
      .ref-grid { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .blog-card[style*="grid-column"] { grid-column: span 2 !important; grid-template-columns: 1fr !important; }
      .blog-grid { grid-template-columns: 1fr; gap: 12px; }
      .blog-header { flex-direction: column; align-items: center; text-align: center; }
      .blog-header-photo { width: calc(100% + 40px); margin-left: -20px; max-width: none; height: 260px; }
      .blog-header-text { text-align: center; }
      .blog-header .section-title, .blog-header .section-desc { text-align: center; }
      .newsletter-form { flex-direction: column; }
      .newsletter-form input { border-right: 1px solid var(--border); border-bottom: none; }
      .nl-input-row { flex-direction: column !important; }
      .nl-input-row input { border-right: 1px solid rgba(184,149,74,0.3) !important; border-bottom: 1px solid rgba(184,149,74,0.3) !important; width: 100%; box-sizing: border-box; }
      .nl-input-row button { width: 100%; box-sizing: border-box; }
    }

    /* ── KALKULAČKA ── */
    .kalkulacka { background: var(--dark); }
    .kalc-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 2px; margin-top: 56px;
    }
    .kalc-panel {
      background: rgba(255,255,255,0.03);
      border: 1px solid var(--border);
      padding: 40px 36px;
      transition: border-color .3s;
    }
    .kalc-panel:hover { border-color: rgba(184,149,74,0.35); }
    .kalc-panel-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.15rem; font-weight: 600;
      color: var(--gold-light); margin-bottom: 28px;
      display: flex; align-items: center; gap: 12px;
    }
    .kalc-panel-title i {
      width: 36px; height: 36px;
      background: rgba(184,149,74,0.1);
      border: 1px solid var(--border);
      display: flex; align-items: center; justify-content: center;
      font-size: 0.9rem; color: var(--gold); flex-shrink: 0;
    }
    .kalc-field { margin-bottom: 22px; }
    .kalc-field label {
      display: block; font-size: 0.88rem; letter-spacing: 0.2em;
      text-transform: uppercase; color: rgba(255,255,255,0.6);
      margin-bottom: 10px; font-weight: 400;
    }
    .kalc-range-row {
      display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px;
    }
    .kalc-val {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.25rem; font-weight: 600; color: var(--white);
    }
    input[type="range"].kalc-slider {
      width: 100%; -webkit-appearance: none;
      background: rgba(184,149,74,0.15); height: 2px;
      border-radius: 1px; outline: none; cursor: pointer;
    }
    input[type="range"].kalc-slider::-webkit-slider-thumb {
      -webkit-appearance: none; width: 16px; height: 16px;
      border-radius: 50%; background: var(--gold); cursor: pointer;
      box-shadow: 0 0 0 3px rgba(184,149,74,0.2); transition: box-shadow .2s;
    }
    input[type="range"].kalc-slider::-webkit-slider-thumb:hover {
      box-shadow: 0 0 0 6px rgba(184,149,74,0.2);
    }
    .kalc-gender-row { display: flex; gap: 2px; }
    .kalc-gender-btn {
      flex: 1; padding: 10px 8px; background: transparent;
      border: 1px solid rgba(184,149,74,0.2);
      font-family: 'Outfit', sans-serif; font-size: 0.88rem;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(255,255,255,0.65); cursor: pointer; transition: all .2s;
    }
    .kalc-gender-btn.active {
      background: rgba(184,149,74,0.12); border-color: var(--gold); color: var(--gold-light);
    }
    .kalc-divider { border: none; border-top: 1px solid rgba(184,149,74,0.1); margin: 20px 0; }

    /* results panel */
    .kalc-results {
      grid-column: 1 / -1;
      background: var(--dark-2);
      border: 1px solid rgba(184,149,74,0.3);
      padding: 40px 36px;
    }
    .kalc-results-title {
      font-family: 'Cormorant Garamond', serif; font-size: 1.3rem;
      font-weight: 600; color: var(--white); margin-bottom: 32px; text-align: center;
    }
    .kalc-results-title em { font-style: italic; color: var(--gold-light); }
    .kalc-kpis {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 2px; margin-bottom: 32px;
    }
    .kalc-kpi {
      background: rgba(255,255,255,0.03); border: 1px solid var(--border);
      padding: 24px 20px; text-align: center; transition: border-color .3s;
    }
    .kalc-kpi:hover { border-color: rgba(184,149,74,0.35); }
    .kalc-kpi-label {
      font-size: 0.85rem; letter-spacing: 0.2em; text-transform: uppercase;
      color: rgba(255,255,255,0.6); margin-bottom: 10px;
    }
    .kalc-kpi-val {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem; font-weight: 600; color: var(--white);
      line-height: 1;
    }
    .kalc-kpi-val.gold { color: var(--gold-light); }
    .kalc-kpi-val.green { color: #4ade80; }
    .kalc-kpi-sub { font-size: 0.92rem; color: rgba(255,255,255,0.55); margin-top: 6px; }
    .kalc-bars { margin-bottom: 28px; }
    .kalc-bar-row { margin-bottom: 14px; }
    .kalc-bar-meta {
      display: flex; justify-content: space-between;
      font-size: 0.92rem; color: rgba(255,255,255,0.65); margin-bottom: 6px;
    }
    .kalc-bar-track {
      background: rgba(255,255,255,0.06); height: 4px; border-radius: 2px; overflow: hidden;
    }
    .kalc-bar-fill {
      height: 100%; border-radius: 2px;
      transition: width .7s cubic-bezier(0.34,1.56,.64,1);
    }
    .fill-state   { background: linear-gradient(90deg, #5b8dee, #7aa3f5); }
    .fill-savings { background: linear-gradient(90deg, var(--gold), var(--gold-light)); }
    .fill-gap     { background: linear-gradient(90deg, #f87171, #fca5a5); }

    .kalc-alert {
      padding: 16px 20px; border-radius: 0; font-size: 0.88rem;
      line-height: 1.65; border-left: 2px solid; margin-bottom: 20px;
    }
    .kalc-alert-warn { background: rgba(251,191,36,0.07); border-color: #b8954a; color: rgba(255,255,255,0.65); }
    .kalc-alert-ok   { background: rgba(74,222,128,0.07); border-color: #4ade80; color: rgba(255,255,255,0.65); }

    .kalc-rec-box {
      background: rgba(184,149,74,0.07); border: 1px solid rgba(184,149,74,0.2);
      padding: 24px 28px; display: flex; align-items: center; gap: 24px;
      margin-bottom: 20px; flex-wrap: wrap;
    }
    .kalc-rec-label { font-size: 0.92rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 6px; }
    .kalc-rec-val {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.2rem; font-weight: 600; color: var(--gold-light);
    }
    #k-info-grid > div { min-width: 0; }
    #k-info-grid p { word-break: break-word; overflow-wrap: break-word; overflow: visible; }
    .kalc-tips { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .kalc-tips li {
      font-size: 0.92rem; color: rgba(255,255,255,0.45); line-height: 1.6;
      padding: 12px 16px; background: rgba(255,255,255,0.02); border: 1px solid var(--border);
      padding-left: 28px; position: relative;
    }
    .kalc-tips li::before { content: '→'; position: absolute; left: 12px; color: var(--gold); }
    .kalc-cta {
      display: inline-flex; align-items: center; gap: 10px;
      margin-top: 28px; padding: 16px 40px;
      background: var(--gold); color: var(--dark);
      font-size: 0.92rem; font-weight: 500; letter-spacing: 0.12em;
      text-transform: uppercase; text-decoration: none; transition: all .3s;
    }
    .kalc-cta:hover { background: var(--gold-light); transform: translateY(-2px); }

    @media (max-width: 900px) {
      .kalc-grid { grid-template-columns: 1fr; }
      .kalc-kpis { grid-template-columns: 1fr 1fr; }
      .kalc-tips { grid-template-columns: 1fr; }
    }
    @media (max-width: 600px) {
      .kalc-kpis { grid-template-columns: 1fr 1fr; }
      .kalc-panel, .kalc-results { padding: 28px 20px; }
    }

    .kalc-kpi.highlight-ok  { border-color: rgba(74,222,128,0.4); background: rgba(74,222,128,0.05); }
    .kalc-kpi.highlight-warn { border-color: rgba(248,113,113,0.4); background: rgba(248,113,113,0.05); }

    /* ── TABS ── (desktop: flex-wrap:wrap; mobil ≤600px: přepisuje na nowrap+scroll) */
    .calc-tabs {
      display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 0;
      border-bottom: 1px solid rgba(184,149,74,0.2);
    }
    .calc-tab {
      padding: 14px 20px; background: transparent; border: none;
      font-family: 'Outfit', sans-serif; font-size: 0.92rem; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(255,255,255,0.6); cursor: pointer;
      border-bottom: 2px solid transparent; margin-bottom: -1px; transition: all .25s;
      display: flex; align-items: center; gap: 7px;
    }
    /* calc-tab:hover/.active/.i — globálně definovány, duplikát odstraněn (ETAPA 5) */
    .calc-pane { display: none; }
    .calc-pane.active { display: block; }
    .calc-desc {
      font-size: 0.85rem; color: rgba(255,255,255,0.65); line-height: 1.7;
      margin-bottom: 28px; padding: 16px 20px;
      border-left: 2px solid rgba(184,149,74,0.35);
      background: rgba(184,149,74,0.04);
    }
    .calc-desc strong { color: rgba(255,255,255,0.65); font-weight: 500; }
    /* ── MOBILE KOMPLETNÍ ── */
    @media (max-width: 600px) {
      /* Navigace */
      .nav-cta { display: none; }
      /* ETAPA 4: kalkulačka sekce — menší padding na mobilu */
      .kalkulacka.section-pad { padding-top: 40px; padding-bottom: 20px; }

      /* Hero */
      .hero-title { font-size: clamp(2.4rem, 10vw, 3.5rem); }
      .hero-sub { font-size: 0.9rem; }
      .hero-ctas { flex-direction: column; gap: 12px; }
      .hero-ctas a { text-align: center; justify-content: center; }
      .hero-stats { grid-template-columns: 1fr 1fr; gap: 2px; }

      /* Sekce */
      .section-title { font-size: clamp(1.8rem, 7vw, 2.4rem); }

      /* Služby */
      .services-grid { grid-template-columns: 1fr; }

      /* Reference */
      .ref-grid { grid-template-columns: 1fr; }

      /* Blog */
      .blog-header { flex-direction: column; align-items: center; text-align: center; }
      .blog-header-photo { display: none; }
      .blog-header-text { text-align: center; }
      .blog-header .section-title, .blog-header .section-desc { text-align: center; }
      /* ETAPA 4: blog-filter — horizontal scroll místo zalomení */
      .blog-filter { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 6px; justify-content: flex-start; scrollbar-width: none; padding-bottom: 4px; }
      .blog-filter::-webkit-scrollbar { display: none; }
      .filter-btn { white-space: nowrap; flex-shrink: 0; font-size: 0.68rem; padding: 7px 11px; height: 30px; letter-spacing: 0.08em; }
      .blog-grid { grid-template-columns: 1fr; }
      .blog-card[style*="grid-column"] { grid-column: span 1 !important; display: flex !important; flex-direction: column; grid-template-columns: unset !important; }
      .blog-card[style*="grid-column"] .blog-thumb { aspect-ratio: 16/9; min-height: unset !important; }

      /* Kalkulačka */
      /* HOTFIX 1b: calc-tabs 600px — !important pojistka */
      .calc-tabs { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important;
                   -webkit-overflow-scrolling: touch !important; gap: 0 !important; scrollbar-width: none !important; }
      .calc-tabs::-webkit-scrollbar { display: none !important; }
      .calc-tab { white-space: nowrap !important; padding: 8px 10px !important; font-size: 11px !important; flex-shrink: 0 !important; }
      .kalc-grid { grid-template-columns: 1fr; width: 100%; }
      .kalc-kpis { grid-template-columns: 1fr; }
      .kalc-panel, .kalc-results { padding: 20px 14px; box-sizing: border-box; width: 100%; overflow: hidden; }
      .kalc-kpi { padding: 16px 12px; box-sizing: border-box; }
      .kalc-input-row { flex-direction: column; gap: 8px; }
      .kalc-checklist-grid { grid-template-columns: 1fr; }
      .kalc-kpi-val { font-size: 1.3rem; }
      .kalc-bar-row { flex-wrap: wrap; gap: 4px; }

      /* Kontakt */
      .contact-grid { grid-template-columns: 1fr; }
      .form-grid { grid-template-columns: 1fr; }
      .contact-info-grid { grid-template-columns: 1fr; }

      /* Newsletter */
      .newsletter-form { flex-direction: column; }
      .newsletter-form input { border-right: 1px solid var(--border); border-bottom: none; width: 100%; }
      .newsletter-form button { width: 100%; justify-content: center; }
      .newsletter-inner { padding: 0 20px; }
      .newsletter h2 { font-size: clamp(1.15rem, 4.5vw, 1.35rem); line-height: 1.33; }
      #ecomail-form { max-width: 100%; }
      .nl-input-row { flex-direction: column; gap: 16px; }
      .nl-input-row input { flex: none; width: 100%; box-sizing: border-box; border-right: 1px solid rgba(184,149,74,0.3); }
      .nl-btn { width: 100%; box-sizing: border-box; padding: 16px; }
      .newsletter-sub { margin-bottom: 28px; }
      .newsletter-note { color: rgba(255,255,255,.38); }

      /* CTA band */

      /* Modal článku */
      #blog-modal-box { margin: 0 !important; padding: 0 20px 40px !important; }
      #blog-modal-box button[onclick] { top: 16px; }

      /* O mně timeline */
      .timeline-item { flex-direction: column; gap: 8px; }
    }

    @media (max-width: 400px) {
      .hero-stats { grid-template-columns: 1fr 1fr; }
      .filter-btn { font-size: 0.70rem; padding: 7px 12px; height: 32px; }
      /* ETAPA 2: kalc-panel na 320px — menší padding */
      .kalc-panel, .kalc-results { padding: 16px 12px; }
      .kalc-kpi-val { font-size: 1.15rem; }
      /* ETAPA 3: blog modal na 320px — menší padding */
      #blog-modal-box { padding: 0 12px 40px !important; }
    }

    /* ── MOBILNÍ OPRAVY NOVÝCH PRVKŮ ── */
    @media (max-width: 600px) {
      /* Info boxy pod kalkulačkou */
      #k-info-grid { grid-template-columns: 1fr !important; }
      /* fragile: závisí na přesném inline stylu — pokud se HTML změní, selektor přestane fungovat */
      [style*="grid-template-columns:1fr 1fr"][style*="gap:2px"] { grid-template-columns: 1fr !important; }
      #k-info-grid > div { grid-column: span 1 !important; }
      /* fragile: závisí na přesném inline stylu */
      [style*="grid-column: span 2"] { grid-column: span 1 !important; }

      /* Přepínač OSVČ/zaměstnanec a pohlaví */
      .kalc-gender-row { flex-wrap: wrap; gap: 6px; }
      .kalc-gender-btn { font-size: 0.9rem; padding: 8px 10px; flex: 1; min-width: 120px; }

      /* Dvě CTA tlačítka */
      .kalc-cta { font-size: 0.92rem; padding: 12px 16px; }

      /* Radio buttons kontaktní formulář */
      [name="meeting_type"], [name="meeting_time"] { margin-bottom: 4px; }
    }
  /* ── TOOLTIPS ── */
  .tip {
    border-bottom: 2px solid rgba(184,149,74,0.9);
    color: var(--gold, #b8954a);
    font-weight: 500;
    cursor: pointer;
    position: relative;
    display: inline;
    white-space: nowrap;
  }
  .tip::after {
    content: " ⓘ";
    font-size: 0.75em;
    color: rgba(184,149,74,0.7);
    vertical-align: super;
    font-style: normal;
    white-space: nowrap;
  }
  .tip::before { display: none; }
  .tip-popup {
    display: none;
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    background: #111e30;
    color: rgba(255,255,255,0.85);
    font-size: 0.88rem;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0;
    text-transform: none;
    padding: 12px 16px;
    border: 1px solid rgba(184,149,74,0.4);
    border-radius: 4px;
    width: 260px;
    white-space: normal;
    z-index: 99999;
    pointer-events: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  }
  .tip-popup::before {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(184,149,74,0.4);
  }
  .tip:hover .tip-popup,
  .tip.active .tip-popup { display: block; }
  /* ── INVESTICE FULLSCREEN OVERLAY ── */
  .inv-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0,0,0,0);
    pointer-events: none;
    transition: background .35s;
    height: 100%;
    width: 100%;
  }
  .inv-overlay.open {
    background: rgba(0,0,0,0.75);
    pointer-events: all;
  }
  .inv-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -40%);
    width: min(860px, 94vw);
    max-height: 88vh;
    background: #f8f5ef;
    border: 1px solid rgba(184,149,74,0.3);
    transition: transform .4s cubic-bezier(.22,.61,.36,1), opacity .35s;
    opacity: 0;
    overflow-y: auto;
    padding: 0 48px 60px;
    box-sizing: border-box;
    z-index: 10001;
    box-shadow: 0 32px 80px rgba(0,0,0,0.4);
    font-size: 1rem;
    line-height: 1.75;
  }
  .inv-panel p { font-size: 1.1rem; color: rgba(0,0,0,0.65); line-height: 1.8; }
  .inv-panel li { font-size: 1.1rem; color: rgba(0,0,0,0.65); line-height: 1.8; margin-bottom: 10px; }
  .inv-panel strong { color: rgba(0,0,0,0.8); }
  .inv-panel .service-list li { font-size: 1.1rem; }
  .inv-panel .inv-panel-close-title { font-size: 1.3rem; }
  .inv-overlay.open .inv-panel {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
  .inv-panel-close {
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 -48px 32px;
    padding: 18px 28px;
    background: #f8f5ef;
    border-bottom: 1px solid rgba(184,149,74,0.2);
    z-index: 1;
  }
  .inv-panel-close-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: #0e1829;
    letter-spacing: 0.02em;
  }
  .inv-panel-close-btn {
    background: none;
    border: 1px solid rgba(184,149,74,0.4);
    color: rgba(0,0,0,0.5);
    width: 36px; height: 36px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1rem;
    display: flex; align-items: center; justify-content: center;
    transition: all .2s;
  }
  .inv-panel-close-btn:hover { background: var(--gold); color: #fff; border-color: var(--gold); }
  @media (max-width: 600px) {
    .inv-panel { padding: 0 20px 60px; width: 100vw; max-height: 92vh; max-height: 92dvh; border-radius: 0; font-size: 0.95rem; box-sizing: border-box; overflow-x: hidden; }
    .inv-panel-close { margin: 0 -20px 24px; padding: 14px 16px; }
    .inv-panel p, .inv-panel li { font-size: 0.95rem; }
    /* Na mobilu panel vyjede zespoda přes celou šířku */
    .inv-panel {
      top: auto;
      bottom: 0;
      left: 0;
      transform: translateY(100%);
      border-radius: 16px 16px 0 0;
      border: none;
      border-top: 1px solid rgba(184,149,74,0.3);
    }
    .inv-overlay.open .inv-panel {
      transform: translateY(0);
      opacity: 1;
    }
  }
  @media (min-width: 601px) and (max-width: 900px) {
    .inv-panel { width: 92vw; max-height: 90vh; padding: 0 32px 60px; font-size: 0.97rem; }
    .inv-panel-close { margin: 0 -32px 28px; padding: 16px 24px; }
    .inv-panel p, .inv-panel li { font-size: 0.97rem; }
  }

  

/* ── Blog — layout ── */

.blog .blog-header { position:relative; width:100%; max-width:none; height:56vw; min-height:unset; overflow:hidden; display:block; gap:0; margin-top:0; margin-bottom:0; }
.blog.section-pad { padding-top:0; padding-bottom:0; border-top:none; background:#0d0d0d; margin-top:0; }
.blog .section-inner { padding-top:48px; }
.blog .blog-header .blog-header-bg { position:absolute; top:88px; left:0; right:0; bottom:0; background-image:url('https://www.jirihavlasek.cz/blog-hero.webp'); background-size:cover; background-position:center 40%; background-repeat:no-repeat; z-index:0; }
.blog .blog-header .blog-header-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.4) 60%, rgba(0,0,0,0.0) 100%); z-index:1; }
.blog .blog-header .blog-header-text { position:absolute; left:60px; top:50%; transform:translateY(-50%); z-index:2; max-width:500px; padding-top:0; }
.blog .blog-header .blog-header-photo { display:none; }
.blog .blog-header .section-tag::before { display:none; }
.blog .blog-header .section-tag { padding-left:0; }
@media (max-width: 768px) {
  .blog .blog-header { height:90vw; min-height:360px; aspect-ratio:unset; max-height:unset; }
  .blog .blog-header .blog-header-bg { background-size:cover; background-position:center 20%; }
  .blog .blog-header .blog-header-text { position:absolute; left:0; top:50%; transform:translateY(-50%); padding:90px 24px 32px; max-width:100%; z-index:2; }
  .blog .blog-header .blog-header-overlay { background:rgba(0,0,0,0.60); }
}

.blog-topic-section { margin-bottom:80px; }
.blog-topic-section:last-of-type { margin-bottom:0; }
.blog-topic-head { margin-bottom:40px; }
.blog-topic-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.6rem,2.5vw,2.1rem); font-weight:600; color:var(--dark); line-height:1.1; margin-bottom:8px; }
.blog-topic-desc { font-size:1rem; color:var(--text-light); line-height:1.75; max-width:540px; margin:0; }

.blog-topic-section--featured { background:rgba(184,149,74,0.04); border:1px solid rgba(184,149,74,0.2); padding:40px; margin-bottom:72px; }

/* Sekce Další pohledy — jemnější, menší */
.blog-topic-section--context { margin-top:16px; padding-top:48px; border-top:1px solid rgba(184,149,74,0.15); }
.blog-topic-section--context .blog-topic-title { font-size:clamp(1.3rem,2vw,1.7rem); }
.blog-topic-section--context .blog-grid { grid-template-columns:repeat(3,1fr); }

.start-list { display:flex; flex-direction:column; gap:2px; }
.start-item { display:flex; align-items:center; gap:20px; padding:20px 24px; background:var(--white); border:1px solid rgba(184,149,74,0.15); text-decoration:none; color:inherit; transition:border-color .25s,transform .25s; }
.start-item:visited { color:inherit; }
.start-item:hover { border-color:var(--gold); transform:translateY(-2px); }
.start-num { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:600; color:rgba(184,149,74,0.3); line-height:1; min-width:40px; flex-shrink:0; transition:color .25s; }
.start-item:hover .start-num { color:var(--gold); }
.start-body { flex:1; display:flex; flex-direction:column; gap:3px; }
.start-body strong { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:600; color:var(--dark); line-height:1.2; }
.start-body span { font-size:.92rem; color:var(--text-light); line-height:1.6; }
.start-arrow { font-size:.85rem; color:rgba(184,149,74,0.3); flex-shrink:0; transition:color .25s,transform .25s; }
.start-item:hover .start-arrow { color:var(--gold); transform:translateX(5px); }
.start-item:first-child .start-body strong { font-size:1.35rem; font-weight:700; color:rgba(15,13,10,0.92); }
.start-item:first-child .start-num { color:rgba(184,149,74,0.55); }

/* Animace rozbalení karet */
@keyframes blogCardReveal {
  from { opacity:0; transform:translateY(12px); }
  to   { opacity:1; transform:translateY(0); }
}
.blog-card--hidden { display:none !important; }
.blog-card--hidden.blog-card--visible {
  display:flex !important;
  animation: blogCardReveal 0.35s ease forwards;
}

/* Filter animation states */
.blog-card.card-hiding {
  opacity: 0 !important;
  transform: translateY(12px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  pointer-events: none;
}
.blog-card.card-showing {
  opacity: 0;
  transform: translateY(15px);
}
.blog-card.card-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out !important;
}

.blog-showmore-wrap { margin-top:24px; display:flex; justify-content:center; }
#blog-rozhodnuti {
  border-left: 3px solid var(--gold);
  padding-left: 32px;
  background: linear-gradient(135deg, rgba(184,149,74,0.04) 0%, transparent 60%);
}
#blog-rozhodnuti .blog-topic-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}
#blog-rozhodnuti .section-tag {
  background: var(--gold);
  color: var(--dark);
  padding: 4px 12px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.blog-showmore-btn { display:inline-flex; align-items:center; gap:10px; padding:14px 32px; background:none; border:1px solid rgba(184,149,74,0.4); font-family:'Outfit',sans-serif; font-size:.85rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); cursor:pointer; transition:all .25s; }
.blog-showmore-btn:hover { background:rgba(184,149,74,0.06); border-color:var(--gold); }
.blog-showmore-btn i { transition:transform .3s; font-size:.75rem; }
.blog-showmore-btn.expanded i { transform:rotate(180deg); }

#blog-vsechny .blog-filter { display:flex; gap:8px; flex-wrap:wrap; }

@media (max-width: 900px) {
  .blog-topic-section--featured { padding:28px 24px; }
  .blog-grid { grid-template-columns:1fr 1fr; }
  .blog-topic-section--context .blog-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 768px) {
  .blog-topic-section--featured { padding:20px 16px; }
  .start-item { padding:14px 12px; gap:12px; }
  .start-num { font-size:1.4rem; min-width:30px; }
  .start-body strong { font-size:1.05rem; }
  .blog-topic-section { margin-bottom:48px; }
}
@media (max-width: 480px) {
  .blog-grid { grid-template-columns:1fr; }
  .blog-topic-section--context .blog-grid { grid-template-columns:1fr; }
  .blog-showmore-btn { width:100%; justify-content:center; }
  .trust-strip__inner { grid-template-columns:1fr; }
  .trust-item:nth-child(n) { border-left:none; border-top:1px solid rgba(184,149,74,0.1); padding:14px 8px; }
  .trust-item:first-child { border-top:none; }
}
  

/* ── Blog — modal & footer ── */

    body::after { pointer-events: none !important; z-index: 1 !important; }
    html { scroll-padding-top: 20px !important; overflow-y: auto !important; overflow-x: hidden !important; }
    body { overflow-y: auto !important; overflow-x: hidden !important; min-height: 100vh; height: auto !important; }
    /* Scroll lock jen pro modal */
    body.modal-open { overflow: hidden !important; }
    .test-banner { background:#1a1814; color:rgba(255,255,255,0.55); text-align:center; padding:8px 16px; font-size:11px; font-family:Outfit,sans-serif; letter-spacing:0.08em; }
    .test-banner b { color:#b8954a; font-weight:500; }
  
/* CTA blok */
.blog-cta-block {
  margin: 80px 0 100px;
  padding: 48px 40px;
  background: none;
  border-top: 1px solid rgba(184,149,74,0.12);
  border-bottom: none;
  border-left: none;
  border-right: none;
  text-align: center;
}
.blog-cta-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 500;
  color: rgba(60,54,44,0.65);
  margin: 0 0 12px;
  letter-spacing: 0;
  font-style: italic;
}
.blog-cta-text {
  font-size: 0.9rem;
  color: rgba(60,54,44,0.42);
  line-height: 1.7;
  max-width: 400px;
  margin: 0 auto 24px;
}
@media (max-width: 640px) {
  .blog-cta-block { padding: 40px 16px; margin: 60px 0 80px; }
}

.blog-cta-btn {
  display: inline-flex;
  align-items: center;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(60,54,44,0.55);
  text-decoration: none;
  border-bottom: 1px solid rgba(184,149,74,0.3);
  padding-bottom: 2px;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.blog-cta-btn:hover {
  color: var(--gold);
  border-color: var(--gold);
}

/* ── Konec článku: CTA + sdílení ──────────────────────────── */
.article-footer {
  margin-top: 32px;
  border-top: 1px solid rgba(184,149,74,0.2);
  padding-top: 28px;
}
.article-footer__cta {
  padding: 12px 0 20px;
  margin-bottom: 0;
}
.article-footer__cta-lead {
  font-size: 1.05rem;
  color: rgba(255,255,255,0.88);
  margin: 0 0 20px;
}
.article-footer__cta-lead strong {
  color: var(--white);
}
.article-footer__cta-sub {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.58);
  line-height: 1.7;
  margin: 0 0 24px;
}
.article-footer__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid rgba(184,149,74,0.45);
  color: rgba(184,149,74,0.9);
  padding: 9px 20px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: border-color .2s, color .2s;
}
.article-footer__btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.article-footer__share {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  opacity: 0.85;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* Mohlo by vás zajímat */
.blog-related {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-bottom: 1rem;
  opacity: 0.7;
}
.blog-related h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin: 0 0 14px;
}
.blog-related ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.blog-related a {
  display: block;
  padding: 8px 0;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.95rem;
  line-height: 1.3;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.2s ease;
}
.blog-related a:last-child { border-bottom: none; }
.blog-related a:hover { color: rgba(212,175,55,0.85); }
.article-footer__share-label {
  font-size: 0.72rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-right: 4px;
}
.article-footer__share-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.55);
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-decoration: none;
  cursor: pointer;
  transition: all .2s;
}
.article-footer__share-btn:hover {
  border-color: rgba(184,149,74,0.4);
  color: var(--gold);
  background: rgba(184,149,74,0.06);
}
.article-footer__copy { font-family: 'Outfit', sans-serif; }
@media (max-width: 640px) {
  .article-footer__cta { padding: 16px 0; }
  .article-footer__btn { padding: 9px 16px; font-size: 0.72rem; }
  .article-footer__share { flex-direction: column; align-items: flex-start; }
  .article-footer__share-btn { padding: 9px 14px; font-size: 0.75rem; gap: 6px; width: auto; }
}

/* ── FILTR — skrytí karet ────────────────────────────────────────────── */
#blog-grid-all .blog-card.filter-hidden {
  display: none !important;
}
#blog-grid-all .blog-card.filter-hidden.blog-card--hidden.blog-card--visible {
  display: none !important;
}

/* ── TYPOGRAFIE ČLÁNKŮ V MODALU — mobile-first ──────────────────────── */

#blog-modal-box {
  background: #1a1814;
}

#blog-modal-content {
  max-width: 100%;
}

/* Odstavce */
#blog-modal-content p {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,0.82);
  margin: 0 0 1.5em;
  font-weight: 400;
}

/* Mezititulky */
#blog-modal-content .section-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.08);
  margin: 52px 0 32px;
  display: block;
}

#blog-modal-content .section-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 600;
  font-style: italic;
  color: rgba(255,255,255,0.94);
  line-height: 1.2;
  letter-spacing: 0.01em;
  margin: 0 0 22px;
  padding: 0;
  border: none;
  display: block;
}

/* Zvýraznění */
#blog-modal-content strong {
  color: rgba(255,255,255,0.92);
  font-weight: 600;
}

#blog-modal-content em {
  color: rgba(255,255,255,0.82);
  font-style: italic;
}

/* Seznamy */
#blog-modal-content ul,
#blog-modal-content ol {
  font-size: 18px;
  line-height: 1.75;
  color: rgba(255,255,255,0.82);
  margin: 0 0 1.5em 22px;
  padding: 0;
}

#blog-modal-content li {
  margin-bottom: 0.5em;
}

/* Blockquote */
#blog-modal-content blockquote {
  border-left: 2px solid var(--gold);
  margin: 0 0 1.5em;
  padding: 4px 0 4px 20px;
  font-style: italic;
  color: rgba(255,255,255,0.68);
}

/* Obrázky — nedotýkat se */
#blog-modal-content img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 32px;
}

/* Pokračování blok */
#blog-modal-content .next-article-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 52px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  background: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
#blog-modal-content .next-article-block:hover { opacity: 0.72; }
#blog-modal-content .next-article-label {
  font-size: 0.8rem;
  color: var(--gold);
  font-weight: 500;
  font-family: 'Outfit', sans-serif;
  display: block;
  margin-bottom: 8px;
  text-transform: none;
  letter-spacing: 0;
}
#blog-modal-content .next-article-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 500;
  color: rgba(255,255,255,0.75);
  line-height: 1.35;
  display: block;
}
#blog-modal-content .next-article-desc {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.38);
  line-height: 1.6;
  display: block;
  margin-top: 6px;
}
#blog-modal-content .next-article-arrow { display: none; }

.article-end-note {
  margin-top: 40px;
}

/* hr uvnitř článku */
#blog-modal-content hr {
  margin: 2.2rem 0 2rem;
  border: 0;
  border-top: 1px solid rgba(212,175,55,0.14);
}

/* Linky */
#blog-modal-content a {
  color: rgba(212,175,55,0.95);
  border-bottom: 1px solid rgba(212,175,55,0.3);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}
#blog-modal-content a:hover {
  color: #e7c76a;
  border-color: rgba(231,199,106,0.55);
}

/* ── DESKTOP (768px+) ─────────────────────────────────────────────────── */
@media (min-width: 768px) {
  #blog-modal-content {
    max-width: 620px;
    margin: 0 auto;
  }

  #blog-modal-content p {
    font-size: 19px;
    line-height: 1.8;
    margin: 0 0 1.6em;
  }

  #blog-modal-content .section-divider { margin: 60px 0 0; }

  #blog-modal-content .section-heading {
    font-size: 1.6rem;
    margin: 32px 0 24px;
  }

  #blog-modal-content ul,
  #blog-modal-content ol {
    font-size: 19px;
    line-height: 1.8;
    margin: 0 0 1.6em 24px;
  }

  #blog-modal-content .next-article-block {
    margin: 60px 0 0;
    padding: 28px 0 0;
    gap: 20px;
  }

  #blog-modal-content .next-article-title { font-size: 1.15rem; }
}


/* =======================================================================
   BLOG — Vstupní karty "Možná se v tom najdete"
   ======================================================================= */

.blog-entry-section { margin-bottom: 80px; }

.blog-entry-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
}

.blog-entry-card {
  background: var(--white);
  border: 1px solid rgba(184,149,74,0.15);
  border-top: 3px solid rgba(184,149,74,0.2);
  padding: 32px 28px;
  cursor: pointer;
  transition: border-top-color 0.25s, transform 0.25s, box-shadow 0.25s;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.blog-entry-card:hover {
  border-top-color: var(--gold);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.blog-entry-card:focus {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.blog-entry-card__icon {
  font-size: 1.3rem;
  color: var(--gold);
  opacity: 0.7;
  margin-bottom: 4px;
}

.blog-entry-card__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 600;
  color: var(--dark);
  line-height: 1.2;
  margin: 0;
}

.blog-entry-card__desc {
  font-size: 0.92rem;
  color: var(--text-light);
  line-height: 1.65;
  margin: 0;
  flex: 1;
}

.blog-entry-card__cta {
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: gap 0.2s;
}

.blog-entry-card:hover .blog-entry-card__cta { gap: 12px; }

/* Blok "Jak přemýšlím o penězích" — lehce odlišené pozadí */
.blog-topic-section--thinking {
  padding: 48px 40px;
  background: rgba(42,37,32,0.03);
  border-top: 1px solid rgba(184,149,74,0.12);
  border-bottom: 1px solid rgba(184,149,74,0.12);
  margin-bottom: 80px;
}

.blog-topic-section--thinking .blog-topic-title {
  font-style: italic;
}

/* Responzivita vstupních karet */
@media (max-width: 768px) {
  .blog-entry-cards {
    grid-template-columns: 1fr 1fr;
    gap: 2px;
  }
  .blog-entry-card {
    padding: 22px 18px;
  }
  .blog-entry-card__title {
    font-size: 1.05rem;
  }
  .blog-topic-section--thinking {
    padding: 36px 24px;
  }
}

@media (max-width: 480px) {
  .blog-entry-cards {
    grid-template-columns: 1fr;
  }
  .blog-entry-card {
    padding: 20px 16px;
  }
  .blog-entry-section {
    margin-bottom: 48px;
  }
  .blog-topic-section--thinking {
    padding: 28px 16px;
    margin-bottom: 48px;
  }
}

/* ── Článek — sekce "Související" ── */
.article-related {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid rgba(184,149,74,0.15);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.article-related__label {
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  font-weight: 500;
}
.article-related__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  background: rgba(184,149,74,0.06);
  border: 1px solid rgba(184,149,74,0.18);
  color: rgba(255,255,255,0.75);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.5;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.article-related__link:hover {
  border-color: var(--gold);
  background: rgba(184,149,74,0.1);
  color: var(--white);
}
.article-related__link i {
  color: var(--gold);
  flex-shrink: 0;
  font-size: 0.85rem;
  transition: transform 0.2s;
}
.article-related__link:hover i {
  transform: translateX(4px);
}

/* ── Sekce "Další články a témata" — vizuální oddělení ── */
.blog-topic-section--archive {
  margin-top: 80px;
  border-top: 1px solid rgba(0,0,0,0.05);
  padding-top: 40px;
}


/* === DŮCHODOVÁ KALKULAČKA v2 === */
/* Preview obal */
body { background: #0e0b06; margin: 0; font-family: 'Outfit', Georgia, sans-serif; color: #f5f0e8; }

.kd2 {
  --gold:        #b8954a;
  --gold-light:  #d4aa6a;
  --gold-dim:    #a07d3a;
  --gold-border: rgba(184,149,74,0.22);
  --kd2-white:   #f5f0e8;
  --kd2-dark:    #1a1208;
  --bg:          #0e0b06;
  --bg2:         #141009;
  --bg3:         #191309;
  --text:        rgba(245,240,232,0.92);
  --text-sub:    rgba(245,240,232,0.65);
  --text-help:   rgba(245,240,232,0.52);
  --text-dim:    rgba(245,240,232,0.38);
  --kd2-border:  rgba(255,255,255,0.07);
  --green:       #4ade80;
  --red:         #f87171;
  --r:           4px;
}

.kd2 { padding: 32px 0 60px; background: var(--bg); }
.kd2-inner { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

.kd2-tag { display: block; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.kd2-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.9rem, 3.5vw, 2.7rem); font-weight: 600; color: var(--kd2-white); margin: 0 0 10px; line-height: 1.15; }
.kd2-title-note { color: var(--text-sub); font-size: 0.95rem; max-width: 520px; line-height: 1.65; margin: 0 0 44px; }

.kd2-grid { display: flex; border: 1px solid var(--gold-border); border-radius: var(--r); overflow: hidden; align-items: flex-start; }
.kd2-col-inputs { background: var(--bg2); padding: 36px 32px; border-right: 1px solid var(--gold-border); flex: 1; }
.kd2-col-results { background: var(--bg3); padding: 36px 32px; display: flex; flex-direction: column; flex: 1; }

.kd2-block { margin-bottom: 30px; }
.kd2-block:last-child { margin-bottom: 0; }
.kd2-block-head { font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-dim); margin-bottom: 18px; padding-bottom: 8px; border-bottom: 1px solid rgba(184,149,74,0.1); }

.kd2-field { margin-bottom: 17px; }
.kd2-field:last-child { margin-bottom: 0; }
.kd2-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.kd2-label-wrap + .kd2-slider, .kd2-label-wrap + .kd2-input-row { margin-top: 6px; }
.kd2-label { font-size: 0.88rem; color: var(--text); display: flex; align-items: center; gap: 5px; line-height: 1.3; }
.kd2-label-wrap { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.kd2-label-wrap .kd2-label { margin-bottom: 0; }
.kd2-opt { font-size: 0.74rem; color: var(--text-dim); font-style: italic; }
.kd2-val { font-size: 0.88rem; color: var(--gold-light); font-weight: 500; white-space: nowrap; flex-shrink: 0; }

.kd2-help { font-size: 0.78rem; color: var(--text-help); line-height: 1.5; margin-top: 5px; }
.kd2-help a { color: var(--gold-dim); text-decoration: none; border-bottom: 1px solid rgba(184,149,74,0.3); transition: color 0.15s; }
.kd2-help a:hover { color: var(--gold); }
.kd2-help strong { color: var(--text-sub); font-weight: 500; }

/* Tooltip — klikatelný i na mobilu */
.kd2-i {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 50%;
  background: rgba(184,149,74,0.12); font-size: 9px;
  color: var(--gold-dim); cursor: pointer; flex-shrink: 0;
  position: relative; transition: background 0.18s;
  font-style: normal; border: 1px solid rgba(184,149,74,0.2);
  user-select: none;
}
.kd2-i:hover, .kd2-i:focus, .kd2-i.open { background: rgba(184,149,74,0.28); outline: none; }
.kd2-tip {
  position: absolute; bottom: calc(100% + 8px); left: 50%;
  transform: translateX(-50%); background: #1c1408;
  border: 1px solid rgba(184,149,74,0.3); color: var(--text);
  font-size: 0.79rem; line-height: 1.55; padding: 11px 14px;
  border-radius: 3px; width: 240px; z-index: 300;
  pointer-events: none; opacity: 0; transition: opacity 0.18s;
  text-align: left; white-space: normal; box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.kd2-tip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: rgba(184,149,74,0.3); }
.kd2-i:hover .kd2-tip, .kd2-i:focus .kd2-tip, .kd2-i.open .kd2-tip, .kd2-i[aria-expanded="true"] .kd2-tip { opacity: 1; pointer-events: auto; }

/* Slider */
.kd2-slider { -webkit-appearance: none; width: 100%; height: 3px; background: rgba(255,255,255,0.09); border-radius: 2px; outline: none; cursor: pointer; display: block; }
.kd2-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--gold); cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; box-shadow: 0 0 0 3px rgba(184,149,74,0.15); }
.kd2-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.kd2-slider:focus::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(184,149,74,0.3); }
.kd2-slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--gold); cursor: pointer; border: none; }

/* Toggle tlačítka */
.kd2-btns { display: flex; gap: 5px; flex-wrap: wrap; }
.kd2-btn { flex: 1; min-width: 0; padding: 9px 10px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); color: var(--text-sub); font-size: 0.83rem; font-family: 'Outfit', Georgia, sans-serif; cursor: pointer; border-radius: var(--r); transition: all 0.18s; text-align: center; line-height: 1.3; }
.kd2-btn:hover { border-color: var(--gold-border); color: var(--text); }
.kd2-btn.on { background: rgba(184,149,74,0.1); border-color: rgba(184,149,74,0.4); color: var(--gold-light); }
.kd2-btn:focus-visible { outline: 2px solid rgba(184,149,74,0.5); outline-offset: 2px; }

/* Inputs */
.kd2-input { background: rgba(255,255,255,0.04); border: 1px solid var(--gold-border); color: var(--kd2-white); padding: 10px 13px; font-family: 'Outfit', Georgia, sans-serif; font-size: 0.9rem; border-radius: var(--r); outline: none; transition: border-color 0.18s; box-sizing: border-box; }
.kd2-input:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(184,149,74,0.1); }
.kd2-input::placeholder { color: var(--text-dim); }
.kd2-input[aria-invalid="true"] { border-color: var(--red); }
.kd2-input-row { display: flex; gap: 6px; }
.kd2-input-row .kd2-input { flex: 1; }
.kd2-clear { padding: 10px 12px; background: rgba(255,255,255,0.04); border: 1px solid var(--gold-border); color: var(--text-dim); cursor: pointer; font-size: 0.85rem; border-radius: var(--r); transition: all 0.18s; }
.kd2-clear:hover { color: var(--red); border-color: rgba(248,113,113,0.3); }

/* Výsledky */
.kd2-main { text-align: center; padding: 20px 16px 24px; border-bottom: 1px solid var(--gold-border); margin-bottom: 20px; }
.kd2-main-lbl { font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-sub); margin-bottom: 8px; }
.kd2-main-num { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.3rem, 4vw, 3.3rem); font-weight: 600; color: var(--gold); line-height: 1; margin-bottom: 10px; transition: color 0.3s; }
.kd2-main-unit { font-style: normal; font-size: 0.44em; color: var(--gold-dim); }
.kd2-main-ctx { font-size: 0.87rem; color: var(--text-sub); line-height: 1.6; max-width: 310px; margin: 0 auto; }
.kd2-main-ctx strong { color: var(--text); font-weight: 500; }

.kd2-alert { padding: 10px 13px; border-radius: var(--r); font-size: 0.81rem; line-height: 1.5; margin-bottom: 18px; display: none; }
.kd2-alert.on { display: block; }
.kd2-alert-ok { background: rgba(74,222,128,0.07); border: 1px solid rgba(74,222,128,0.2); color: #86efac; }
.kd2-alert-inf { background: rgba(251,191,36,0.07); border: 1px solid rgba(251,191,36,0.18); color: #fde68a; }

.kd2-comp { margin-bottom: 20px; }
.kd2-comp-lbl { font-size: 0.67rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-dim); margin-bottom: 10px; }
.kd2-bar-wrap { height: 7px; background: rgba(255,255,255,0.05); border-radius: 4px; overflow: hidden; display: flex; margin-bottom: 10px; }
.kd2-bar-a { height: 100%; background: var(--gold-dim); transition: width 0.4s; border-radius: 4px 0 0 4px; }
.kd2-bar-b { height: 100%; background: rgba(184,149,74,0.28); transition: width 0.4s; }
.kd2-comp-rows { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.kd2-comp-item { display: flex; align-items: center; gap: 6px; font-size: 0.8rem; }
.kd2-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.kd2-dot-a { background: var(--gold-dim); }
.kd2-dot-b { background: rgba(184,149,74,0.38); border: 1px solid var(--gold-dim); }
.kd2-ci-lbl { color: var(--text-dim); }
.kd2-ci-val { color: var(--text); font-weight: 500; }

.kd2-res { display: flex; flex-direction: column; gap: 2px; margin-bottom: 16px; }
.kd2-res-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 11px; background: rgba(255,255,255,0.02); border-radius: 2px; transition: background 0.15s; }
.kd2-res-row:hover { background: rgba(255,255,255,0.04); }
.kd2-res-lbl { font-size: 0.83rem; color: var(--text-sub); }
.kd2-res-val { font-size: 0.87rem; color: var(--text); font-weight: 500; text-align: right; white-space: nowrap; }
.kd2-res-val.hl { color: var(--gold-light); }

.kd2-sec { border-top: 1px solid var(--kd2-border); padding-top: 14px; margin-bottom: 18px; }
.kd2-sec-toggle { background: none; border: none; color: var(--text-dim); font-size: 0.76rem; font-family: inherit; cursor: pointer; letter-spacing: 0.08em; padding: 3px 0; margin-bottom: 10px; display: flex; align-items: center; gap: 5px; transition: color 0.18s; }
.kd2-sec-toggle:hover { color: var(--text-sub); }
.kd2-sec-toggle i { font-size: 0.65rem; transition: transform 0.2s; }
.kd2-sec-body { display: none; }
.kd2-sec-body.on { display: block; }
.kd2-sec-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,0.03); }
.kd2-sec-row:last-child { border-bottom: none; }
.kd2-sec-lbl { font-size: 0.77rem; color: var(--text-dim); }
.kd2-sec-val { font-size: 0.78rem; color: var(--text-sub); text-align: right; white-space: nowrap; }

/* CTA */
.kd2-cta { background: rgba(184,149,74,0.05); border: 1px solid var(--gold-border); border-radius: var(--r); padding: 24px 22px 20px; margin-top: auto; }
.kd2-cta-ctx { font-size: 0.86rem; color: var(--text-sub); line-height: 1.65; margin-bottom: 16px; }
.kd2-cta-ctx strong { color: var(--text); font-weight: 500; }
.kd2-btn-primary { display: block; width: 100%; padding: 13px 18px; background: var(--gold); color: var(--kd2-dark); font-family: 'Outfit', Georgia, sans-serif; font-size: 0.86rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; border: none; border-radius: var(--r); cursor: pointer; text-decoration: none; transition: all 0.22s; margin-bottom: 9px; box-sizing: border-box; }
.kd2-btn-primary:hover { background: var(--gold-light); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(184,149,74,0.22); }
.kd2-btn-primary:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.kd2-btn-sec { display: block; width: 100%; padding: 11px 18px; background: transparent; color: var(--gold-dim); font-family: 'Outfit', Georgia, sans-serif; font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; border: 1px solid rgba(184,149,74,0.22); border-radius: var(--r); cursor: pointer; transition: all 0.18s; box-sizing: border-box; }
.kd2-btn-sec:hover { border-color: rgba(184,149,74,0.5); color: var(--gold); background: rgba(184,149,74,0.04); }
.kd2-btn-sec:focus-visible { outline: 2px solid rgba(184,149,74,0.4); outline-offset: 2px; }

.kd2-email { display: none; margin-top: 12px; }
.kd2-email.on { display: block; }
.kd2-email-note { font-size: 0.79rem; color: var(--text-help); margin-bottom: 10px; line-height: 1.55; }
.kd2-email-row { display: flex; gap: 7px; }
.kd2-email-row .kd2-input { flex: 1; }
.kd2-email-send { padding: 10px 14px; background: var(--gold-dim); border: none; color: var(--kd2-dark); font-family: 'Outfit', Georgia, sans-serif; font-size: 0.8rem; font-weight: 600; cursor: pointer; border-radius: var(--r); white-space: nowrap; transition: background 0.18s; }
.kd2-email-send:hover { background: var(--gold); }
.kd2-email-send:disabled { opacity: 0.6; cursor: not-allowed; }
.kd2-email-gdpr { font-size: 0.71rem; color: var(--text-dim); margin-top: 7px; line-height: 1.45; }
.kd2-email-success { padding: 14px 0 4px; }
.kd2-email-success-title { color: var(--green); font-size: 0.88rem; margin: 0 0 4px; font-weight: 500; }
.kd2-email-success-sub { color: var(--text-sub); font-size: 0.8rem; margin: 0; line-height: 1.5; }

/* Boxy */
.kd2-boxes { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 36px; }
.kd2-box { background: rgba(255,255,255,0.02); border: 1px solid var(--kd2-border); border-radius: var(--r); padding: 18px 16px; }
.kd2-box-title { font-size: 0.81rem; font-weight: 600; color: var(--gold-light); margin-bottom: 6px; }
.kd2-box-text { font-size: 0.76rem; color: var(--text-help); line-height: 1.55; }

/* Responsive */
@media (max-width: 860px) {
  /* ETAPA 1: formulář nahoře, výsledky dole — oprava column-reverse */
  .kd2-grid { display: flex; flex-direction: column; }
  .kd2-col-inputs { order: 1; }
  .kd2-col-results { order: 2; border-right: none; border-top: 1px solid var(--gold-border); }
  .kd2-col-inputs, .kd2-col-results { padding: 28px 20px; }
  .kd2-main-num { font-size: 2.8rem; }
  .kd2-boxes { grid-template-columns: 1fr; margin-top: 24px; }
  .kd2-cta { order: 3; margin-top: 16px; }
}
@media (max-width: 480px) {
  .kd2-inner { padding: 0 16px; }
  .kd2 { padding: 56px 0 40px; }
  .kd2-btn { font-size: 0.8rem; padding: 8px 8px; }
  .kd2-title-note { margin-bottom: 28px; }
  .kd2-i { width: 18px; height: 18px; }
  .kd2-tip { width: 200px; font-size: 0.76rem; }
}

/* ══════════════════════════════════════════════════════════════════
   MOBILNÍ OPRAVY — Důchodová kalkulačka (max-width: 768px)
   Verze: 2026-04-23
   DESKTOP VERZE SE NEMĚNÍ — vše níže platí POUZE pro mobil
   ══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── PROBLÉM 1: Pořadí sekcí ──────────────────────────────────
     Na mobilu: col-reverse způsobuje pořadí výsledky → formulář.
     Opravujeme na: formulář → výsledky → CTA.
     CTA (.kd2-cta) je uvnitř .kd2-col-results — vytáhneme ji
     pomocí order jako samostatný flex item.
     ────────────────────────────────────────────────────────────── */

  /* ── PROBLÉM 2: Stav před prvním výpočtem ─────────────────────
     JS nastaví class .kd2-pending na .kd2-col-results při startu.
     Skryjeme výsledková data, zobrazíme placeholder.
     ────────────────────────────────────────────────────────────── */
  .kd2-col-results.kd2-pending .kd2-comp,
  .kd2-col-results.kd2-pending .kd2-res,
  .kd2-col-results.kd2-pending .kd2-sec,
  .kd2-col-results.kd2-pending .kd2-alert {
    opacity: 0.35;
    pointer-events: none;
  }
  .kd2-col-results.kd2-pending .kd2-main-num {
    font-size: 1.1rem !important;
    color: rgba(255,255,255,0.45) !important;
    font-family: 'Outfit', sans-serif;
    font-style: normal;
  }
  .kd2-pending-msg {
    display: none; /* skryté na desktopu */
  }
  .kd2-col-results.kd2-pending .kd2-pending-msg {
    display: block;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.45);
    line-height: 1.6;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: rgba(184,149,74,0.06);
    border: 1px solid rgba(184,149,74,0.15);
    border-radius: 3px;
  }

  /* ── PROBLÉM 3: Slidery — dotyková plocha ─────────────────────
     Větší thumb, větší touch area, label + hodnota na jednom řádku
     ────────────────────────────────────────────────────────────── */
  .kd2-slider {
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    cursor: pointer;
    width: 100%;
    /* Zvětšení touch area přes padding + negative margin */
    padding: 19px 0; /* (44px - 6px) / 2 = 19px */
    margin: -19px 0;
    box-sizing: content-box;
    background-clip: content-box;
  }
  .kd2-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--gold);
    cursor: pointer;
    border: 2px solid rgba(255,255,255,0.2);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  }
  .kd2-slider::-moz-range-thumb {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--gold);
    cursor: pointer;
    border: 2px solid rgba(255,255,255,0.2);
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  }
  /* Řádek label + hodnota — hodnota je vždy napravo, nekryje prst */
  .kd2-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px; /* větší mezera před sliderem */
  }
  .kd2-val {
    flex-shrink: 0;
    font-size: 0.95rem;
    font-weight: 600;
  }
  /* Více prostoru pro slider + jeho zvětšenou touch area */
  .kd2-field {
    padding-bottom: 8px;
  }

  /* ── PROBLÉM 4: Tooltip ikony — touch area 44×44px ────────────
     ────────────────────────────────────────────────────────────── */
  .kd2-i {
    /* Vizuálně zůstávají stejně velké, ale touch area je 44×44 */
    min-width: 44px;
    min-height: 44px;
    width: auto !important;
    height: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: -10px -10px; /* kompenzace přesahu touch area */
    padding: 10px;
    /* zachováváme vzhled */
    font-size: 0.72rem;
    border-radius: 50%;
  }

  /* ── PROBLÉM 5: Přepínače, inputy, tlačítka ──────────────────
     ────────────────────────────────────────────────────────────── */
  /* Přepínače Zaměstnanec/OSVČ a Muž/Žena */
  .kd2-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .kd2-btn {
    min-height: 44px;
    flex: 1 1 auto;
    padding: 10px 12px;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* IDA number input */
  #kd2-ida {
    inputmode: numeric; /* fallback — hlavní je atribut v HTML */
    min-height: 44px;
    font-size: 1rem;
  }
  /* Email input */
  #kd2-email-inp {
    min-height: 44px;
    font-size: 1rem;
  }
  /* Všechny .kd2-input */
  .kd2-input {
    min-height: 44px;
    font-size: 1rem;
  }
  /* Tlačítko „Chci probrat výsledky" — plná šířka */
  .kd2-btn-primary {
    display: block;
    width: 100%;
    text-align: center;
    min-height: 44px;
    font-size: 1rem;
    padding: 12px 16px;
  }
  /* Sekundární tlačítko e-mail */
  .kd2-btn-sec {
    min-height: 44px;
    width: 100%;
    font-size: 0.9rem;
  }
  /* Email send */
  .kd2-email-send {
    min-height: 44px;
    padding: 10px 16px;
    font-size: 0.9rem;
  }
  /* Clear tlačítko u IDA */
  .kd2-clear {
    min-width: 44px;
    min-height: 44px;
    font-size: 1rem;
  }

  /* ── PROBLÉM 6: Spacing a čitelnost ──────────────────────────
     ────────────────────────────────────────────────────────────── */
  /* Padding boxů */
  .kd2-col-inputs,
  .kd2-col-results {
    padding: 24px 16px;
  }
  /* Helper texty — min 14px */
  .kd2-help {
    font-size: 0.875rem; /* 14px */
    line-height: 1.6;
  }
  .kd2-opt {
    font-size: 0.8rem;
  }
  /* Hlavní výsledkové číslo — dominantní i na malé obrazovce */
  .kd2-main-num {
    font-size: 2.4rem !important;
    line-height: 1.1;
  }
  .kd2-main-lbl {
    font-size: 0.82rem;
    letter-spacing: 0.1em;
  }
  .kd2-main-ctx {
    font-size: 0.9rem;
    line-height: 1.6;
  }
  /* Řádkování u delších textů */
  .kd2-cta-ctx {
    font-size: 0.9rem;
    line-height: 1.65;
  }
  .kd2-email-note {
    font-size: 0.875rem;
    line-height: 1.6;
  }
  .kd2-email-gdpr {
    font-size: 0.8rem;
    line-height: 1.55;
  }
  /* Success/error hlášky */
  .kd2-alert {
    font-size: 0.9rem;
    line-height: 1.6;
    padding: 12px 14px;
    width: 100%;
    box-sizing: border-box;
  }
  /* Detaily výpočtu */
  .kd2-sec-row {
    font-size: 0.875rem;
  }
  /* Výsledkové řádky */
  .kd2-res-val {
    font-size: 0.95rem;
  }
  /* Box info */
  .kd2-box {
    padding: 18px 16px;
  }
  .kd2-box-title {
    font-size: 0.875rem;
  }
  .kd2-box-text {
    font-size: 0.85rem;
    line-height: 1.6;
  }
  /* Záhlaví bloku */
  .kd2-block-head {
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    padding: 10px 14px;
    margin-bottom: 16px;
  }
  /* Nadpis kalkulačky */
  .kd2-title {
    font-size: clamp(1.6rem, 5vw, 2.2rem);
  }
}

/* ── Velmi malé displeje (max-width: 480px) ────────────────── */
@media (max-width: 480px) {
  .kd2-col-inputs,
  .kd2-col-results {
    padding: 20px 14px;
  }
  .kd2-main-num {
    font-size: 2rem !important;
  }
  /* Přepínače — plná šířka na velmi malém displeji */
  .kd2-btn {
    font-size: 0.82rem;
    padding: 9px 8px;
    min-height: 44px;
  }
  /* Slider thumb ještě o trochu větší */
  .kd2-slider::-webkit-slider-thumb {
    width: 32px;
    height: 32px;
  }
  .kd2-slider::-moz-range-thumb {
    width: 32px;
    height: 32px;
  }
}
/* ══ Konec mobilních oprav ══════════════════════════════════════ */
/* CRO 1+3+4: nová pravidla kalkulačky */
.kd2-cta-sub { font-size: 0.8rem; color: rgba(255,255,255,0.45); margin-top: 10px; text-align: center; letter-spacing: 0.02em; }
#kd2-interpret { font-size: 0.9rem; color: rgba(255,255,255,0.55); margin-top: 10px; text-align: center; line-height: 1.5; min-height: 1.4em; }
/* HOTFIX 3: ghost button — kompletní přepis s hover stavem */
.kd2-btn-ghost {
  background: transparent !important;
  border: 1px solid rgba(184,149,74,0.4) !important;
  color: var(--gold-dim) !important;
  font-size: 0.85rem !important;
  padding: 9px 14px !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
  box-shadow: none !important;
}
.kd2-btn-ghost:hover {
  background: rgba(184,149,74,0.06) !important;
  border-color: var(--gold) !important;
  color: var(--gold-light) !important;
}

/* ── BLOG DETAIL CTA ──
   Vložit mezi konec článku a .trust-strip:

   <section class="blog-closing-cta">
     <div class="blog-closing-cta__inner">
       <span class="blog-closing-cta__label">Chcete to vztáhnout na svou situaci?</span>
       <h2 class="blog-closing-cta__headline">Každá situace je jiná. Pojďme se podívat na tu vaši.</h2>
       <p class="blog-closing-cta__sub">Obecná doporučení jsou dobrý začátek. Důležité ale je, jak zapadají do vašich plánů, rezerv a možností. Rád se na to s vámi podívám konkrétně.</p>
       <div class="blog-closing-cta__actions">
         <a href="/#kontakt" class="btn-blog-cta">Domluvit konzultaci <i class="fas fa-arrow-right" aria-hidden="true"></i></a>
         <a href="/#blog" class="btn-blog-cta-secondary">Číst další články</a>
       </div>
     </div>
   </section>
── */
.blog-closing-cta {
  background: var(--cream);
  border-top: 1px solid rgba(184,149,74,0.15);
  padding: 64px 40px;
}
.blog-closing-cta__inner {
  max-width: 620px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.blog-closing-cta__label {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}
.blog-closing-cta__headline {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 500;
  color: var(--dark);
  line-height: 1.25;
}
.blog-closing-cta__sub {
  font-size: 0.95rem;
  color: rgba(42,37,32,0.6);
  line-height: 1.7;
  max-width: 480px;
}
.blog-closing-cta__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.btn-blog-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--dark);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 26px;
  border-radius: 3px;
  transition: background 0.22s;
}
.btn-blog-cta:hover { background: #1e1a14; }
.btn-blog-cta-secondary {
  font-size: 0.875rem;
  color: rgba(42,37,32,0.5);
  text-decoration: none;
  border-bottom: 1px solid rgba(42,37,32,0.2);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.btn-blog-cta-secondary:hover { color: var(--dark); border-color: rgba(42,37,32,0.5); }

/* ── NEWSLETTER COMPACT ── */
.newsletter-compact {
  background: var(--dark-2);
  border-top: 1px solid rgba(184,149,74,0.08);
  padding: 28px 40px;
}
.newsletter-compact__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.newsletter-compact__text {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.newsletter-compact__label {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
}
.newsletter-compact__text p {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.4);
  line-height: 1.5;
  margin: 0;
}
.newsletter-compact__form {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.newsletter-compact__form input {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  font-size: 0.875rem;
  padding: 10px 16px;
  border-radius: 3px;
  width: 220px;
  outline: none;
  transition: border-color 0.2s;
}
.newsletter-compact__form input::placeholder { color: rgba(255,255,255,0.25); }
.newsletter-compact__form input:focus { border-color: rgba(184,149,74,0.4); }
.newsletter-compact__btn {
  background: transparent;
  border: 1px solid rgba(184,149,74,0.4);
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 3px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}
.newsletter-compact__btn:hover { background: var(--gold); color: #fff; }

@media (max-width: 768px) {
  .blog-closing-cta { padding: 48px 24px; }
  .blog-closing-cta__actions { flex-direction: column; align-items: flex-start; }
  .btn-blog-cta { width: 100%; justify-content: center; }
  .newsletter-compact { padding: 24px 20px; }
  .newsletter-compact__inner { flex-direction: column; align-items: flex-start; gap: 16px; }
  .newsletter-compact__form { width: 100%; }
  .newsletter-compact__form input { flex: 1; width: auto; }
}

/* ============================================
   ACCORDION — Kalkulačka "Upřesnit výpočet"
   ============================================ */
.kd2-accordion-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: rgba(184,149,74,0.08);
  border: 1px solid rgba(184,149,74,0.25);
  color: var(--gold-light, #d4aa70);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 14px 20px;
  cursor: pointer;
  margin-top: 24px;
  margin-bottom: 0;
  transition: background 0.2s, border-color 0.2s;
  text-align: left;
}
.kd2-accordion-btn:hover {
  background: rgba(184,149,74,0.15);
  border-color: rgba(184,149,74,0.5);
}
.kd2-accordion-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kd2-accordion-arrow {
  display: inline-block;
  font-size: 0.75rem;
  transition: transform 0.3s ease;
}
.kd2-accordion-body {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease;
}

/* ============================================
   BLOG — tlačítko "Přejít na blog"
   ============================================ */
.blog-goto-wrap {
  text-align: center;
  margin-top: 40px;
  padding-bottom: 8px;
}
.blog-goto-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* ============================================
   RESPONSIVE — mobil
   ============================================ */
@media (max-width: 600px) {
  .kd2-accordion-btn {
    padding: 16px 16px;
    font-size: 1rem;
  }
  .blog-goto-wrap {
    margin-top: 28px;
  }
  .blog-goto-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ── Blog featured článek ── */
.blog-featured { display: grid; grid-template-columns: 45% 55% !important; text-decoration: none; color: inherit; align-items: stretch; }
.blog-featured-wrap { max-width: 1100px; margin: 0 auto 80px; }
.blog-featured__img { overflow: hidden; height: 240px; }
.blog-featured__img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.blog-featured__body { padding: 28px 36px; display: flex; flex-direction: column; justify-content: space-between; background: var(--white); }
.blog-featured__title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 600; color: var(--dark); line-height: 1.2; margin-bottom: 10px; }
.blog-featured__excerpt { font-size: 0.95rem; color: var(--text-light); line-height: 1.55; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 768px) {
  .blog-featured { grid-template-columns: 1fr !important; max-height: none !important; }
  .blog-featured__img { height: 200px; }
  .blog-featured__body { padding: 20px 20px 24px; background: var(--white); }
  .blog-featured__title { font-size: 1.3rem; color: var(--dark); }
}

/* ── Mobilní úpravy blogu (max 768px) ── */
@media (max-width: 768px) {
  /* 1. Začněte podle situace — větší a čitelnější */
  .blog-entry-section .blog-topic-title {
    font-size: 2rem !important;
    color: #f5f0e8 !important;
  }
  .blog-entry-section .blog-topic-desc {
    font-size: 1rem !important;
    color: rgba(245,240,232,0.75) !important;
  }

  /* 2. Filtry — centrovat */
  #blog-vsechny .blog-filter {
    justify-content: center !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
  }
}

/* ── Mobilní úpravy entry karet ── */
@media (max-width: 768px) {
  .blog-entry-card__title {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--dark) !important;
  }
}
