
  :root{
    --bg:#0a0a0a;
    --bg-alt:#111111;
    --card:#0d0909;
    --ink:#ffffff;
    --ink-dim:#9c9c9c;
    --accent:#c60000;
    --accent-dim:#8a0000;
    --line:#242424;
    --danger:#c60000;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  .mono{font-family:'IBM Plex Mono',monospace;}
  .display{font-family:'Poppins',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:0.02em;}

  a{color:inherit;}
  button{font-family:inherit;}

  /* ===== NAV ===== */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(18,18,16,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-wrap{
    max-width:1100px; margin:0 auto;
    padding:20px 24px 0 24px;
  }
  .nav-top{
    position:relative;
    display:flex; align-items:center; justify-content:center;
    padding-bottom:14px;
  }
  .brand{
    display:flex; flex-direction:column; align-items:center; gap:8px;
  }
  .brand-logo{height:114px; width:auto; display:block; image-rendering:auto;}
  .brand-name{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--ink-dim);
  }
  .brand-mark{
    width:14px;height:14px;background:var(--accent);
    transform:rotate(45deg);
    flex-shrink:0;
  }
  nav{display:flex; gap:4px; justify-content:center; padding-bottom:12px; border-top:1px solid var(--line); padding-top:10px;}
  .tab-btn{
    background:none; border:none; color:var(--ink-dim);
    font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    padding:10px 14px; cursor:pointer; position:relative;
    font-weight:600;
    transition:color .2s;
  }
  .tab-btn:hover{color:var(--ink);}
  nav .tab-btn{white-space:nowrap;}
  @media (min-width:861px) and (max-width:1080px){
    nav .tab-btn{padding:10px 8px; font-size:12px; letter-spacing:0.05em;}
    nav .tab-btn.active::after{left:8px; right:8px;}
  }
  .tab-btn.active{color:var(--accent);}
  .tab-btn.active::after{
    content:"";
    position:absolute; left:14px; right:14px; bottom:2px; height:2px;
    background:var(--accent);
  }
  .nav-toggle{
    display:none; background:none; border:1px solid var(--line); color:var(--ink);
    padding:8px 10px; cursor:pointer;
  }
  .lang-switch{
    font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.08em;
    color:var(--ink-dim); text-decoration:none; border:1px solid var(--line);
    padding:6px 10px; transition:color .2s, border-color .2s; white-space:nowrap;
  }
  .lang-switch:hover{color:var(--ink); border-color:var(--ink-dim);}
  .nav-right{
    position:absolute; right:0; top:50%; transform:translateY(-50%);
    display:flex; align-items:center; gap:8px;
  }

  /* ===== BRAND CORNER MARKS (matches product cover design) ===== */
  .corner-mark{
    position:fixed; z-index:5; color:#3a3a3a; font-size:20px; font-weight:300;
    pointer-events:none; user-select:none;
  }
  .corner-mark.tl{top:20px; left:20px;}
  .corner-mark.tr{top:20px; right:20px;}
  .corner-mark.bl{bottom:20px; left:20px;}
  .corner-mark.br{bottom:20px; right:20px;}
  .corner-diagonal{
    position:fixed; top:0; left:0; width:180px; height:180px; z-index:4;
    pointer-events:none; overflow:hidden;
  }
  .corner-diagonal::before{
    content:""; position:absolute; top:38px; left:-60px; width:220px; height:3px;
    background:var(--accent); transform:rotate(-38deg); transform-origin:left center;
  }
  @media (max-width:700px){
    .corner-mark{font-size:16px;}
    .corner-mark.tl,.corner-mark.tr{top:14px;}
    .corner-mark.bl,.corner-mark.br{bottom:14px;}
    .corner-diagonal{width:110px; height:110px;}
    .corner-diagonal::before{top:22px; width:150px;}
  }

  /* ===== LAYOUT ===== */
  main{max-width:1100px; margin:0 auto; padding:0 24px;}
  .page{display:none; animation:fade .4s ease;}
  .page.active{display:block;}
  @keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  section{padding:72px 0; border-bottom:1px solid var(--line);}
  section:last-child{border-bottom:none;}
  .eyebrow{
    color:var(--accent); font-size:12px; letter-spacing:0.18em;
    font-weight:600; text-transform:uppercase; margin-bottom:18px;
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--accent); display:inline-block;}

  /* ===== HERO ===== */
  .hero{position:relative; overflow:hidden;}
  .hero-bg-arcs{
    position:absolute; top:-120px; right:-160px; width:640px; height:640px;
    pointer-events:none; z-index:0; opacity:0.5;
  }
  .hero > *:not(.hero-bg-arcs){position:relative; z-index:1;}

  .hero h1{
    font-family:'Poppins',sans-serif;
    font-weight:900;
    text-transform:none;
    letter-spacing:-0.02em;
    font-size:clamp(38px, 6.5vw, 72px);
    line-height:1.25;
    margin:0 0 26px 0;
  }
  .hero h1 .hl{color:var(--accent);}
  .hero p{
    font-size:18px; line-height:1.6; color:var(--ink-dim);
    max-width:560px; margin:0 0 36px 0;
  }
  .cta-row{display:flex; gap:14px; flex-wrap:wrap;}
  .btn{
    padding:15px 26px; font-weight:700; font-size:14px;
    letter-spacing:0.04em; text-transform:uppercase;
    cursor:pointer; border:1px solid transparent; text-decoration:none;
    display:inline-block;
  }
  .btn-primary{background:var(--accent); color:#ffffff;}
  .btn-primary:hover{background:#e30000;}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink);}

  /* plate stats */
  .plate-icon{margin-bottom:12px;}
  .plate-icon svg{width:24px; height:24px; stroke:var(--accent); fill:none; stroke-width:1.6;}
  .plates{
    display:flex; gap:0; margin-top:64px; flex-wrap:wrap;
    border-top:1px solid var(--line);
  }
  .plate{
    flex:1; min-width:140px;
    padding:28px 20px 0 0;
    border-right:1px solid var(--line);
  }
  .plate:last-child{border-right:none;}
  .plate .num{
    font-family:'Poppins',sans-serif; font-weight:800; font-size:44px; color:var(--accent); line-height:1;
  }
  .plate .lbl{
    margin-top:8px; font-size:12px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--ink-dim);
  }

  /* process */
  .process-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:8px;}
  .process-item{background:var(--bg); padding:32px 26px;}
  .process-item .step-icon{margin-bottom:16px;}
  .process-item .step-icon svg{width:26px; height:26px; stroke:var(--accent); fill:none; stroke-width:1.6;}
  .process-item .step{font-family:'IBM Plex Mono',monospace; color:var(--accent-dim); font-size:13px; margin-bottom:14px;}
  .process-item h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; text-transform:uppercase; margin:0 0 10px 0;}
  .process-item p{color:var(--ink-dim); font-size:14px; line-height:1.6; margin:0;}

  h2.section-title{
    font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(30px,4.5vw,44px);
    text-transform:uppercase; margin:0 0 18px 0; line-height:1.02;
  }

  /* ===== ABOUT ===== */
  .about-grid{display:grid; grid-template-columns:280px 1fr; gap:56px; align-items:start;}
  .photo-box{
    aspect-ratio:3/4; border:1px solid var(--line); background:var(--bg-alt);
    overflow:hidden;
  }
  .photo-box img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter:saturate(1.05);
  }
  .about-bio p{color:var(--ink-dim); font-size:16px; line-height:1.75; margin:0 0 18px 0;}
  .about-bio strong{color:var(--ink);}
  .values{display:flex; gap:0; margin-top:40px; border-top:1px solid var(--line);}
  .value{flex:1; padding:22px 18px 0 0; border-right:1px solid var(--line);}
  .value:last-child{border-right:none;}
  .value .mono{color:var(--accent-dim); font-size:12px;}
  .value p{margin:8px 0 0 0; font-size:14px; color:var(--ink-dim); line-height:1.5;}
  .cert-timeline{margin:40px 0 0 0; border-top:1px solid var(--line); padding-top:4px;}
  .cert-item{
    display:grid; grid-template-columns:64px 1fr; gap:24px;
    padding:24px 0; border-bottom:1px solid var(--line);
  }
  .cert-item:last-child{border-bottom:none;}
  .cert-year{font-family:'IBM Plex Mono',monospace; color:var(--accent); font-size:15px; padding-top:2px;}
  .cert-body-head{display:flex; justify-content:space-between; align-items:flex-start; gap:20px;}
  .cert-body h4{margin:0 0 4px 0; font-size:16px; color:var(--ink); font-weight:700; line-height:1.35;}
  .cert-body .cert-source{display:block; font-weight:400; color:var(--ink-dim); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; margin-top:4px;}
  .cert-body p{margin:10px 0 0 0; font-size:14px; color:var(--ink-dim); line-height:1.6;}
  .cert-badge{
    width:64px; height:64px; flex-shrink:0; object-fit:contain;
    transition:transform 0.15s ease, opacity 0.15s ease;
  }
  .cert-body-head a{display:inline-block; line-height:0;}
  .cert-body-head a:hover .cert-badge{transform:scale(1.08); opacity:0.9;}

  /* ===== PROGRAMS ===== */
  .program-note{color:var(--ink-dim); font-size:15px; max-width:600px; margin:-8px 0 40px 0;}
  .red-banner{
    background:var(--accent); display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:10px; padding:22px 28px; margin:0 0 44px 0;
  }
  .red-banner .rb-left{font-family:'Poppins',sans-serif; font-weight:800; font-size:19px; text-transform:uppercase; color:#fff; letter-spacing:0.03em;}
  .red-banner .rb-right{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:#fff; opacity:0.9;}
  .programs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
  .program-card{background:var(--card); padding:32px 26px; display:flex; flex-direction:column;}
  .program-tag{
    align-self:flex-start; font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--accent-dim); border:1px solid var(--accent-dim); padding:4px 10px; margin-bottom:20px;
  }
  .program-card h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:26px; text-transform:uppercase; margin:0 0 8px 0;}
  .program-dur{font-size:13px; color:var(--ink-dim); margin-bottom:16px;}
  .program-card p.desc{font-size:14px; color:var(--ink-dim); line-height:1.6; margin:0 0 20px 0; flex-grow:0;}
  .program-list{list-style:none; padding:0; margin:0 0 28px 0; flex-grow:1;}
  .program-list li{font-size:13px; color:var(--ink-dim); padding:7px 0; border-top:1px solid var(--line); display:flex; gap:8px;}
  .program-list li::before{content:"—"; color:var(--accent-dim);}
  .program-price{font-family:'Poppins',sans-serif; font-weight:800; font-size:32px; color:var(--accent); margin-bottom:16px;}
  .program-card.coming-soon{position:relative; opacity:0.45; filter:grayscale(0.4);}
  .coming-soon-badge{
    position:absolute; top:14px; right:14px;
    background:var(--line); color:var(--ink-dim);
    font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.08em;
    text-transform:uppercase; padding:5px 10px;
  }
  .btn-disabled{
    display:block; background:var(--line); color:var(--ink-dim);
    cursor:not-allowed; pointer-events:none;
  }
  .program-price span{font-family:'Inter',sans-serif; font-size:13px; color:var(--ink-dim); font-weight:400;}

  .program-group{margin-top:8px;}
  .program-group + .program-group{margin-top:56px;}
  .program-group-header{display:flex; align-items:center; gap:18px; margin-bottom:24px;}
  .program-group-label{font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; text-transform:uppercase; color:var(--accent); white-space:nowrap;}
  .program-group-line{flex:1; height:2px; background:var(--line);}

  /* ===== REFERENCIE ===== */
  .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
  .review-grid:has(.review-card:only-child){grid-template-columns:minmax(280px, 420px);}
  .review-card{
    background:var(--card); border:1px solid var(--line); padding:28px 24px;
    display:flex; flex-direction:column; gap:16px;
  }
  .review-stars{color:var(--accent); font-size:15px; letter-spacing:3px;}
  .review-text{font-size:14px; color:var(--ink-dim); line-height:1.7; font-style:italic; margin:0; flex-grow:1;}
  .review-person{display:flex; align-items:center; gap:12px;}
  .review-avatar{
    width:52px; height:52px; border-radius:50%; flex-shrink:0;
    background:var(--bg-alt); border:2px solid var(--accent-dim);
    display:flex; align-items:center; justify-content:center;
    font-family:'Poppins',sans-serif; font-weight:800; font-size:17px; color:var(--accent);
  }
  .review-avatar-photo{
    width:52px; height:52px; border-radius:50%; flex-shrink:0;
    padding:2px;
    background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dim) 60%, var(--line) 100%);
  }
  .review-avatar-photo img{
    width:100%; height:100%; border-radius:50%; object-fit:cover;
    display:block; border:2px solid var(--bg);
  }
  .review-name{font-weight:700; font-size:14px; color:var(--ink);}
  .review-role{font-size:12px; color:var(--ink-dim); margin-top:2px;}

  .review-form-card{background:var(--bg-alt); border:1px solid var(--line); padding:36px; margin-top:56px;}
  .review-form-card h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; text-transform:uppercase; margin:0 0 10px 0;}
  .review-form-card > p{color:var(--ink-dim); font-size:14px; margin:0 0 28px 0; max-width:520px; line-height:1.6;}
  .form-row{margin-bottom:18px;}
  .form-row label{display:block; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-dim); margin-bottom:8px;}
  .form-row input, .form-row select, .form-row textarea{
    width:100%; background:var(--bg); border:1px solid var(--line); color:var(--ink);
    padding:12px 14px; font-family:'Inter',sans-serif; font-size:14px; max-width:520px;
  }
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:none; border-color:var(--accent);}
  .form-row textarea{resize:vertical; font-family:'Inter',sans-serif;}
  .review-form-note{font-size:12px; color:var(--ink-dim); margin-top:14px; max-width:520px; line-height:1.5;}

  /* ===== BLOG ===== */

  /* ===== CONTACT ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  .contact-grid p{color:var(--ink-dim); font-size:16px; line-height:1.7; max-width:440px;}
  .contact-list{list-style:none; padding:0; margin:32px 0 0 0;}
  .contact-list li{border-top:1px solid var(--line); padding:16px 0; display:flex; justify-content:space-between; align-items:center; font-size:14px;}
  .contact-list li .lbl{color:var(--ink-dim); text-transform:uppercase; letter-spacing:0.06em; font-size:12px;}
  .contact-list li a{font-weight:600; text-decoration:none; border-bottom:1px solid var(--accent-dim);}
  .contact-list li a:hover{border-color:var(--accent);}
  .contact-card{background:var(--bg-alt); border:1px solid var(--line); padding:32px; align-self:start;}
  .contact-card h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; text-transform:uppercase; margin:0 0 14px 0;}
  .contact-card p{font-size:14px; margin:0 0 22px 0;}

  /* ===== ONLINE TRÉNING ===== */
  .otc-intro{max-width:760px; font-size:17px; line-height:1.7; color:var(--ink-dim); margin:0 0 56px 0;}
  .otc-steps{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line);}
  .otc-step{
    display:grid; grid-template-columns:1fr 300px; gap:56px;
    padding:56px 0; border-bottom:1px solid var(--line); align-items:center;
  }
  .otc-step:nth-child(even){grid-template-columns:300px 1fr;}
  .otc-step:nth-child(even) .otc-step-body{order:2;}
  .otc-step:nth-child(even) .otc-phone{order:1;}
  .otc-step-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:44px; color:var(--accent); line-height:1; margin:0 0 14px 0;}
  .otc-step-body h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; text-transform:uppercase; margin:0 0 12px 0;}
  .otc-step-body .otc-optional{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-dim); text-transform:uppercase; letter-spacing:0.05em; margin-left:10px;}
  .otc-step-body p{color:var(--ink-dim); font-size:15px; line-height:1.65; margin:0;}
  .otc-phone{
    width:100%; max-width:300px; margin:0 auto; position:relative;
    background:#0d0d0d; border:2px solid #2a2a2a; border-radius:28px;
    padding:8px 7px 12px; box-shadow:0 18px 40px rgba(0,0,0,0.5);
  }
  .otc-phone::before{
    content:""; position:absolute; top:8px; left:50%; transform:translateX(-50%);
    width:64px; height:14px; background:#0d0d0d; border:2px solid #2a2a2a; border-top:none;
    border-radius:0 0 10px 10px; z-index:2;
  }
  .otc-phone-screen{
    border-radius:20px; overflow:hidden; background:#fff;
    position:relative; aspect-ratio:9/19;
    display:flex; align-items:center; justify-content:center;
  }
  .otc-phone-screen img{ width:100%; height:100%; object-fit:contain; display:block; }
  .otc-videos{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin:56px 0;}
  .otc-video-embed{background:#000; border:1px solid var(--line); border-radius:12px; overflow:hidden; aspect-ratio:9/16; display:flex; align-items:center; justify-content:center;}
  .otc-video-player{width:100%; height:100%; object-fit:contain; display:block; background:#000;}
  .otc-modes{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); margin:56px 0;}
  .otc-lead-card{background:var(--bg-alt); border:1px solid var(--line); padding:32px; margin:0 0 56px 0;}
  .otc-lead-card h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; text-transform:uppercase; margin:0 0 14px 0;}
  .otc-lead-card p{font-size:14px; margin:0 0 22px 0;}
  .otc-lead-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .otc-mode{background:var(--bg); padding:32px 28px;}
  .otc-mode h4{font-family:'Poppins',sans-serif; font-weight:800; font-size:18px; text-transform:uppercase; margin:0 0 10px 0; color:var(--accent);}
  .otc-mode p{color:var(--ink-dim); font-size:14px; line-height:1.6; margin:0;}
  @media(max-width:640px){
    .otc-step{grid-template-columns:1fr; gap:24px;}
    .otc-step:nth-child(even){grid-template-columns:1fr;}
    .otc-step .otc-step-body, .otc-step:nth-child(even) .otc-step-body{order:1;}
    .otc-step .otc-phone, .otc-step:nth-child(even) .otc-phone{order:2; max-width:260px;}
    .otc-videos{grid-template-columns:1fr;}
    .otc-modes{grid-template-columns:1fr;}
    .otc-lead-row{grid-template-columns:1fr;}
  }
  .form-row{margin-bottom:16px;}
  .form-row label{
    display:block; font-size:12px; text-transform:uppercase; letter-spacing:0.06em;
    color:var(--ink-dim); margin-bottom:6px;
  }
  .form-row input, .form-row textarea{
    width:100%; background:var(--bg); border:1px solid var(--line); color:var(--ink);
    padding:12px 14px; font-family:'Inter',sans-serif; font-size:14px; resize:vertical;
    box-sizing:border-box;
  }
  .form-row input:focus, .form-row textarea:focus{outline:none; border-color:var(--accent-dim);}

  footer{
    max-width:1100px; margin:0 auto; padding:28px 24px 40px 24px;
    display:flex; justify-content:space-between; align-items:center;
    color:var(--ink-dim); font-size:12px; letter-spacing:0.04em;
    border-top:1px solid var(--line);
  }


  /* ===== NUTRIČNÝ PLÁN ===== */
  .nut-calc{border:1px solid var(--line); background:var(--bg-alt);}
  .nut-step{padding:32px; border-bottom:1px solid var(--line);}
  .nut-step-head{display:flex; align-items:baseline; gap:14px; margin:0 0 22px 0;}
  .nut-step-num{font-family:'IBM Plex Mono',monospace; color:var(--accent); font-size:14px;}
  .nut-step-head h3{font-family:'Poppins',sans-serif; font-weight:800; font-size:20px; text-transform:uppercase; margin:0;}
  .nut-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .nut-field > label, .nut-field > .nut-lbl{display:block; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-dim); margin-bottom:8px;}
  .nut-unit{position:relative;}
  .nut-unit input{
    width:100%; background:var(--bg); border:1px solid var(--line); color:var(--ink);
    padding:12px 44px 12px 14px; font-family:'Inter',sans-serif; font-size:15px; border-radius:0;
    -webkit-appearance:none; appearance:none; color-scheme:dark;
  }
  .nut-unit input:focus{outline:none; border-color:var(--accent);}
  .nut-unit input.nut-invalid{border-color:var(--accent); background:#170909;}
  .nut-unit > span{position:absolute; right:14px; top:50%; transform:translateY(-50%); font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-dim); pointer-events:none;}
  .nut-unit.nut-date input{padding-right:14px;}
  .nut-seg{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .nut-seg label, .nut-act label{position:relative; cursor:pointer; display:block;}
  .nut-seg input, .nut-act input{position:absolute; opacity:0; width:1px; height:1px; margin:0;}
  .nut-seg span{display:block; text-align:center; padding:12px 8px; font-weight:600; font-size:14px; color:var(--ink-dim); background:var(--bg); transition:background .15s, color .15s;}
  .nut-seg input:checked + span{background:var(--accent); color:#fff;}
  .nut-act{display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .nut-act span{display:grid; grid-template-columns:190px 1fr 1fr 150px; gap:24px; align-items:start; background:var(--bg); padding:18px 20px; transition:background .15s;}
  .nut-act strong{display:block; font-size:15px; color:var(--ink); padding-top:14px;}
  .nut-act dl{display:contents; margin:0;}
  .nut-act dl > div{min-width:0;}
  .nut-act dt{font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:#6f6f6f; margin:0 0 4px 0;}
  .nut-act dd{margin:0; font-size:13px; color:var(--ink-dim); line-height:1.5;}
  .nut-act label:hover span{background:#141414;}
  .nut-act input:checked + span{background:#1a0b0b; box-shadow:inset 3px 0 0 var(--accent);}
  .nut-act input:checked + span strong{color:var(--accent);}
  .nut-act input:checked + span dd{color:var(--ink);}
  .nut-seg input:focus-visible + span, .nut-act input:focus-visible + span{outline:2px solid #fff; outline-offset:-2px;}
  .nut-hint{font-size:13px; color:var(--ink-dim); line-height:1.6; margin:16px 0 0 0;}
  .nut-goal-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 240px)); gap:16px;}
  .nut-actions{padding:24px 32px; display:flex; gap:18px; align-items:center; flex-wrap:wrap;}
  .nut-error{color:var(--accent); font-size:13px; line-height:1.5; margin:0;}

  .nut-results{display:none; margin-top:64px; scroll-margin-top:230px;}
  .nut-results.show{display:block; animation:fade .4s ease;}
  .nut-kcal{display:grid; grid-template-columns:1fr 1fr 1.35fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .nut-kcal > div{padding:28px 24px; border-right:1px solid var(--line);}
  .nut-kcal > div:first-child{padding-left:0;}
  .nut-kcal > div:last-child{border-right:none;}
  .nut-kcal .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:40px; line-height:1;}
  .nut-kcal .num small{font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:var(--ink-dim); margin-left:6px;}
  .nut-kcal .nut-goal .num{color:var(--accent); font-size:clamp(48px,6.5vw,68px);}
  .nut-kcal .lbl{margin-top:10px; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink);}
  .nut-kcal .sub{margin-top:6px; font-size:13px; color:var(--ink-dim); line-height:1.5;}
  .nut-pace{margin:20px 0 0 0; color:var(--ink-dim); font-size:15px; line-height:1.6; max-width:760px;}
  .nut-pace strong{color:var(--ink);}
  .nut-warn{border-left:3px solid var(--accent); background:#170909; padding:18px 22px; margin:24px 0 0 0; font-size:14px; line-height:1.65; color:var(--ink); max-width:760px;}
  .nut-warn:empty{display:none;}
  .nut-bar{display:flex; height:12px; margin:44px 0 1px 0; background:var(--line);}
  .nut-bar i{display:block; height:100%; transition:width .4s ease;}
  .nut-sw-p{background:var(--accent);}
  .nut-sw-c{background:#e8e8e8;}
  .nut-sw-f{background:#5c5c5c;}
  .nut-macros{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-top:none;}
  .nut-macro{background:var(--bg); padding:26px 24px;}
  .nut-macro h4{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-dim); margin:0 0 14px 0;}
  .nut-macro h4 b{width:10px; height:10px; display:inline-block;}
  .nut-macro .g{font-family:'Poppins',sans-serif; font-weight:800; font-size:40px; line-height:1;}
  .nut-macro .g small{font-family:'Inter',sans-serif; font-size:15px; font-weight:600; color:var(--ink-dim); margin-left:4px;}
  .nut-macro .meta{font-size:13px; color:var(--ink-dim); margin-top:10px;}
  .nut-macro .range{font-size:12px; color:var(--ink-dim); line-height:1.55; border-top:1px solid var(--line); margin-top:18px; padding-top:12px;}
  .nut-fiber{display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; background:var(--bg); border:1px solid var(--line); border-top:none; padding:22px 24px;}
  .nut-fiber h4{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:0.08em; color:var(--ink-dim); margin:0 0 10px 0;}
  .nut-fiber h4 b{width:10px; height:10px; display:inline-block; border:1px solid #e8e8e8;}
  .nut-fiber .g{font-family:'Poppins',sans-serif; font-weight:800; font-size:32px; line-height:1;}
  .nut-fiber .g small{font-family:'Inter',sans-serif; font-size:15px; font-weight:600; color:var(--ink-dim); margin-left:4px;}
  .nut-fiber p{margin:0; font-size:13px; color:var(--ink-dim); line-height:1.6; max-width:620px;}
  @media (max-width:860px){ .nut-fiber{grid-template-columns:1fr; gap:14px;} }
  .nut-note{font-size:12px; color:var(--ink-dim); line-height:1.65; max-width:760px; margin:28px 0 0 0;}
  @media (max-width:860px){
    .nut-step{padding:26px 20px;}
    .nut-actions{padding:22px 20px;}
    .nut-grid{grid-template-columns:1fr 1fr;}
    .nut-act span{grid-template-columns:1fr; gap:10px; padding:16px 18px;}
    .nut-act strong{padding-top:0;}
    .nut-goal-grid{grid-template-columns:1fr 1fr;}
    .nut-kcal{grid-template-columns:1fr;}
    .nut-kcal > div{padding:22px 0; border-right:none; border-bottom:1px solid var(--line);}
    .nut-kcal > div:last-child{border-bottom:none;}
    .nut-macros{grid-template-columns:1fr;}
    .nut-actions .btn{width:100%; text-align:center;}
  }
  @media (max-width:420px){
    .nut-goal-grid{grid-template-columns:1fr;}
  }
  @media (max-width:860px){
    #nutrition input[type="text"], #nutrition input[type="email"], #nutrition input[type="date"]{font-size:16px;}
  }
  .nut-unit.nut-date input{min-height:48px; text-align:left;}
  .nut-unit.nut-date input::-webkit-date-and-time-value{text-align:left;}
  @media (prefers-reduced-motion:reduce){
    .nut-results.show{animation:none;}
    .nut-bar i{transition:none;}
  }

  @media (max-width:860px){
    .brand-logo{height:84px;}
    nav{display:none;}
    .nav-toggle{display:block;}
    header.open nav{
      display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
      background:var(--bg); border-bottom:1px solid var(--line); padding:8px 24px 16px;
    }
    .about-grid{grid-template-columns:1fr;}
    .photo-box{max-width:260px;}
    .process-grid,.programs-grid{grid-template-columns:1fr;}
    .review-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .plates{flex-direction:column;}
    .plate{border-right:none; border-bottom:1px solid var(--line); padding-bottom:20px;}
  }

  /* ===== MOBILNÁ HLAVIČKA (malé telefóny) ===== */
  @media (max-width:480px){
    .nav-wrap{padding:16px 16px 0 16px;}
    .nav-top{justify-content:space-between; gap:8px; padding-bottom:12px;}
    .brand{align-items:flex-start; gap:4px;}
    .brand-logo{height:56px;}
    .brand-name{font-size:10px; letter-spacing:0.1em;}
    .nav-right{position:static; transform:none; flex-shrink:0;}
  }
  @media (max-width:359px){
    .brand-logo{height:50px;}
    .nav-toggle{padding:7px 8px;}
    .lang-switch{padding:6px 8px;}
  }

  /* ===== MOBILNÁ HLAVIČKA: hamburger a vycentrované logo ===== */
  .nav-toggle span{display:block; width:20px; height:2px; background:var(--ink); border-radius:1px; transition:transform .25s ease, opacity .2s ease;}
  .nav-toggle span + span{margin-top:5px;}
  header.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  header.open .nav-toggle span:nth-child(2){opacity:0;}
  header.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media (max-width:860px){
    .nav-top{justify-content:center;}
    .brand{align-items:center;}
    .brand-name{text-align:center;}
    .nav-right{display:contents;}
    .nav-toggle{
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      width:42px; height:42px; padding:0;
      position:absolute; right:0; top:calc(50% - 7px); transform:translateY(-50%);
    }
    .lang-switch{
      display:flex; align-items:center; justify-content:center;
      min-width:42px; height:42px; padding:0 8px;
      position:absolute; left:0; top:calc(50% - 7px); transform:translateY(-50%);
    }
  }
  @media (max-width:480px){
    .nav-top{justify-content:center; gap:0;}
    .brand{align-items:center; gap:4px;}
    .nav-toggle, .lang-switch{top:calc(50% - 6px);}
  }
  @media (max-width:359px){
    .nav-toggle{width:38px; height:38px; padding:0;}
    .lang-switch{min-width:38px; height:38px; padding:0 6px;}
  }
  @media (prefers-reduced-motion:reduce){ .nav-toggle span{transition:none;} }

  /* ===== OSOBNÝ TRÉNING (landing) ===== */
  .pt-price{display:inline-block; border:1px solid var(--accent-dim); padding:8px 14px; font-size:14px; letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-dim); margin:-6px 0 28px 0;}
  .pt-price strong{color:var(--accent); font-size:18px;}
  .pt-block{border-top:1px solid var(--line); padding-top:72px; margin-top:72px;}
  .pt-pricing{display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:start;}
  .pt-lead{color:var(--ink-dim); font-size:16px; line-height:1.7; max-width:440px;}
  .pt-price-card{background:var(--bg-alt); border:1px solid var(--line); border-top:3px solid var(--accent); padding:32px;}
  .pt-price-label{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-dim);}
  .pt-price-big{font-family:'Poppins',sans-serif; font-weight:800; font-size:56px; line-height:1.1; margin-top:12px;}
  .pt-price-unit{font-size:13px; color:var(--accent); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:20px;}
  .pt-full{width:100%; text-align:center; margin-top:8px;}
  .pt-more{display:inline-block; margin-top:28px; font-weight:600; text-decoration:none; border-bottom:1px solid var(--accent-dim);}
  .pt-more:hover{border-color:var(--accent);}
  .pt-faq{border-top:1px solid var(--line); max-width:760px;}
  .pt-faq details{border-bottom:1px solid var(--line); padding:20px 0;}
  .pt-faq summary{cursor:pointer; font-weight:700; font-size:16px; list-style:none; display:flex; justify-content:space-between; gap:16px;}
  .pt-faq summary::-webkit-details-marker{display:none;}
  .pt-faq summary::after{content:"+"; color:var(--accent); font-family:'IBM Plex Mono',monospace; font-size:20px; line-height:1;}
  .pt-faq details[open] summary::after{content:"–";}
  .pt-faq p{color:var(--ink-dim); font-size:15px; line-height:1.7; margin:14px 0 0 0;}
  .pt-faq a{color:var(--ink); border-bottom:1px solid var(--accent-dim); text-decoration:none;}
  .hero p.pt-where{color:var(--ink); font-size:16px; margin-top:-16px;}
  .pt-callbar{display:none;}
  @media (max-width:860px){
    .pt-pricing{grid-template-columns:1fr; gap:32px;}
    .pt-callbar{display:grid; grid-template-columns:1fr 1fr; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:50;
      padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(10,10,10,0.94); border-top:1px solid var(--line);
      -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
    .pt-callbar .btn{text-align:center; padding:14px 10px;}
    body:has(.page.active .pt-callbar){padding-bottom:84px;}
    .pt-block{padding-top:56px; margin-top:56px;}
  }

  a.tab-btn{text-decoration:none; display:inline-block; text-align:center;}
  a.btn{text-decoration:none; display:inline-block;}
