         *,
         *::before,
         *::after {
             margin: 0;
             padding: 0;
             box-sizing: border-box;
         }

         :root {
             --accent: #dbe266;
             --accent-hover: #c2d400;
             --dark: #1a1a1a;
             --darker: #141414;
             --darkest: #131211;
             --white: #ececec;
             --light: #f5f5f5;
             --gray: #666666;
             --gray-light: #e0e0e0;
             --text: #444444;
         }

         /* Focus visible pro klávesovou navigaci */
         :focus-visible {
             outline: 2px solid var(--accent);
             outline-offset: 2px;
         }

         /*Input odezvy*/
         .input-error {
             outline: 2px solid red;
             outline-offset: 2px;
             border-color: red;
             color: red;
         }

         .input-valid {
             outline: 2px solid var(--accent);
             outline-offset: 2px;
             border-color: var(--accent);
             color: #fff;
         }

         /* Odstranění focus outline pro myš */
         :focus:not(:focus-visible) {
             outline: none;
         }

         html {
             scroll-behavior: smooth;
             scroll-padding-top: 80px;
         }

         body {
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             line-height: 1.6;
             color: var(--dark);
             background: var(--white);
         }

         h1,
         h2,
         h3,
         h4,
         h5,
         h6 {
             font-family: 'Jockey One', sans-serif;
             font-weight: 400;
             line-height: 1.2;
         }

         a {
             text-decoration: none;
             color: inherit;
         }

         img {
             max-width: 100%;
             height: auto;
             display: block;
         }

         .container {
             max-width: 1140px;
             margin: 0 auto;
             padding: 0 20px;
         }

         /* Honeypot */
         .form-hp-wrapper {
             position: absolute !important;
             left: -9999px !important;
             top: auto !important;
             width: 1px !important;
             height: 1px !important;
             overflow: hidden !important;
             opacity: 0 !important;
         }

         /* Skip link pro přístupnost - VOLITELNÉ */
         .skip-link {
             position: absolute;
             top: -100px;
             left: 50%;
             transform: translateX(-50%);
             background: var(--accent);
             color: var(--darkest);
             padding: 12px 24px;
             font-weight: 700;
             z-index: 10000;
             transition: top 0.3s ease;
         }

         .skip-link:focus {
             top: 10px;
         }

         /* Scroll to top button - VOLITELNÉ */
         .scroll-top {
             position: fixed;
             bottom: 30px;
             right: 30px;
             width: 50px;
             height: 50px;
             background: var(--accent);
             border: none;
             cursor: pointer;
             display: flex;
             align-items: center;
             justify-content: center;
             opacity: 0;
             visibility: hidden;
             transition: all 0.3s ease;
             z-index: 999;
         }

         .scroll-top.visible {
             opacity: 1;
             visibility: visible;
         }

         .scroll-top:hover {
             background: var(--darkest);
         }

         .scroll-top svg {
             width: 24px;
             height: 24px;
             fill: var(--darkest);
             transition: fill 0.3s ease;
         }

         .scroll-top:hover svg {
             fill: var(--accent);
         }

         /* ===== BUTTONS - HRANATÁ TLAČÍTKA ===== */
         .btn {
             display: inline-flex;
             align-items: center;
             justify-content: center;
             padding: 14px 28px;
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             font-weight: 700;
             text-transform: uppercase;
             letter-spacing: 0.5px;
             border: none;
             cursor: pointer;
             transition: all 0.2s ease;
             border-radius: 0;
             /* HRANATÁ */
         }

         .btn-accent {
             background: var(--accent);
             color: var(--dark);
         }

         .btn-accent:hover {
             background: var(--accent-hover);
         }

         .btn-dark {
             background: var(--dark);
             color: var(--white);
         }

         .btn-dark:hover {
             background: var(--darker);
         }

         .btn-outline {
             background: transparent;
             border: 2px solid var(--white);
             color: var(--white);
         }

         .btn-outline:hover {
             background: var(--white);
             color: var(--dark);
         }

         .btn-outline-dark {
             background: transparent;
             border: 2px solid var(--dark);
             color: var(--dark);
         }

         .btn-outline-dark:hover {
             background: var(--dark);
             color: var(--white);
         }

         /* ===== HEADER ===== */
         .header {
             background: var(--darkest);
             padding: 12px 0;
             position: fixed;
             top: 0;
             left: 0;
             right: 0;
             z-index: 1000;
         }

         .header-inner {
             display: flex;
             justify-content: space-between;
             align-items: center;
         }

         /* Logo */
         .logo {
             display: flex;
             align-items: center;
             gap: 12px;
         }

         .logo-icon {
             width: 48px;
             height: 48px;
             flex-shrink: 0;
         }

         .logo-icon img {
             width: 100%;
             height: 100%;
             object-fit: contain;
         }

         .logo-text {
             display: flex;
             flex-direction: column;
         }

         .logo-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 22px;
             color: var(--white);
             line-height: 1.1;
         }

         .logo-subtitle {
             font-family: 'Nunito', sans-serif;
             font-size: 11px;
             font-weight: 700;
             color: #dbdbdb;
             text-transform: uppercase;
             letter-spacing: 1px;
         }

         /* Header info items */
         .header-info {
             display: flex;
             align-items: center;
             gap: 10px;
         }

         .header-info-icon {
             width: 22px;
             height: 26px;
             flex-shrink: 0;
         }

         .header-info-icon svg {
             width: 100%;
             height: 100%;
             object-fit: contain;
             fill: var(--accent);
         }

         .header-info-text {
             display: flex;
             flex-direction: column;
         }

         .header-info-title {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 700;
             color: var(--white);
             line-height: 1.2;
         }

         .header-info-subtitle {
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             font-weight: 600;
             color: #dbdbdb;
             line-height: 1.2;
         }

         /* Telefon - zvýrazněný */
         .header-phone .header-info-title {
             color: var(--accent);
             font-size: 16px;
         }

         /* Hamburger (Hidden on desktop) */
         .hamburger,
         .mobile-menu {
             display: none;
         }



         /* ===== HERO ===== */
         .hero {
             background: var(--darkest);
             background-image: url(img/sensei-header-bg.webp);
             background-size: cover;
             background-repeat: no-repeat;
             padding-top: 72px;
             min-height: 720px;
             display: flex;
             flex-direction: column;
             position: relative;
         }

         .hero-video {
             position: absolute;
             top: 0;
             left: 0;
             width: 100%;
             height: 100%;
             z-index: 1;
             overflow: hidden;
             pointer-events: none;
             opacity: 0;
             transition: opacity 1.5s ease;
         }

         .hero-video.is-visible {
             opacity: 1;
         }

         .hero-video iframe {
             position: absolute;
             top: 50%;
             left: 50%;
             width: 100vw;
             height: 56.25vw;
             /* 16:9 based on width */
             min-height: 100%;
             min-width: 177.78vh;
             /* 16:9 based on height */
             transform: translate(-50%, -50%);
             border: 0;
             pointer-events: none;
         }

         /* Overlay div to definitely prevent any interaction */
         .hero-video::after {
             content: '';
             position: absolute;
             top: 0;
             left: 0;
             width: 100%;
             height: 100%;
             background: rgba(0, 0, 0, 0.5);
             z-index: 2;
             pointer-events: all;
             /* Catch any potential clicks to prevent video interaction */
         }

         .hero-inner {
             flex: 1;
             display: grid;
             grid-template-columns: 1fr 1fr;
             align-items: center;
             position: relative;
             z-index: 2;
         }

         .hero-inner .container {
             display: flex;
             align-items: center;
             justify-content: flex-start;
         }

         .hero-content {
             max-width: 690px;
             background: rgba(19, 18, 17, 0.6);
             padding: 40px 45px;
         }

         .hero-address-mobile {
             display: none;
         }

         .footer-address-mobile {
             display: none;
         }

         .hero-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 64px;
             color: var(--white);
             margin-bottom: 0;
             letter-spacing: 1px;
             line-height: 1;
             text-transform: uppercase;
         }

         .hero-title span {
             color: var(--accent);
         }

         .hero-subtitle {
             font-family: 'Jockey One', sans-serif;
             font-size: 28px;
             color: var(--white);
             margin-bottom: 24px;
             font-weight: 400;
             line-height: 1.3;
             text-transform: lowercase;
         }

         .hero-text {
             color: var(--white);
             font-family: 'Nunito', sans-serif;
             font-size: 21px;
             font-weight: 500;
             line-height: 1.7;
             margin-bottom: 32px;
         }

         .hero-buttons {
             display: flex;
             gap: 12px;
             flex-wrap: wrap;
         }

         .hero-buttons .btn-outline:first-child {
             padding: 8px 32px;
             font-size: 16px;
             border: 0;
             background: var(--accent);
             color: var(--dark);
         }

         .hero-buttons .btn-outline:first-child:hover {
             background: var(--accent-hover);
             border-color: var(--accent-hover);
         }

         .hero-buttons .btn-outline:last-child {
             padding: 8px 32px;
             font-size: 16px;
             border: 2px solid var(--accent);
             background: transparent;
             color: var(--accent);
         }

         .hero-buttons .btn-outline:last-child:hover {
             background: var(--accent);
             color: var(--dark);
         }

         .btn-individual {
             padding: 8px 32px;
             font-size: 16px;
             font-family: 'Nunito', sans-serif;
             font-weight: 700;
             text-transform: uppercase;
             letter-spacing: 0.5px;
             border: 2px solid var(--white);
             background: transparent;
             color: var(--white);
             width: 100%;
             transition: all 0.2s ease;
             display: flex;
             align-items: center;
             justify-content: center;
         }

         .btn-individual:hover {
             background: var(--accent);
             border-color: var(--accent);
             color: var(--dark);
         }

         .hero-daniel {
             position: absolute;
             left: calc(50%);
             bottom: 38px;
             height: calc(100% - 60px);
             display: flex;
             align-items: flex-end;
         }

         .hero-daniel img {
             height: 100%;
             width: auto;
             object-fit: contain;
             object-position: bottom left;
         }

         .hero-daniel::before {
             content: '';
             position: absolute;
             bottom: 0;
             left: 0;
             transform: translateX(-5%) translateY(35%);
             width: 692px;
             height: 289px;
             background: url(img/hero-extras.png) no-repeat center center;
             background-size: contain;
             z-index: 2;
         }

         /* Hero benefits bar */
         .hero-benefits {
             background: var(--accent);
             padding: 0;
             position: absolute;
             bottom: 0;
             left: 0;
             right: 0;
             overflow: hidden;
             z-index: 1;
         }

         /* animace */
         @keyframes scroll-left {
             from {
                 transform: translateX(0);
             }

             to {
                 transform: translateX(-50%);
             }
         }

         .hero-benefits-inner {
             max-width: 1610px;
             margin: 0 auto;
             padding: 0 30px;
             display: flex;
             gap: 180px;
             width: max-content;
             animation: scroll-left 25s linear infinite;
         }

         .hero-benefit {
             font-family: 'Jockey One', sans-serif;
             font-size: 30px;
             line-height: 38px;
             color: var(--darker);
             opacity: 30%;
             text-transform: uppercase;
             white-space: nowrap;
         }

         .hero-benefit:hover {
             opacity: 100%;
         }

         /* ===== STEPS ===== */
         .steps {
             background: var(--white);
             height: 410px;
             display: flex;
             align-items: center;
         }

         .steps .container {
             width: 100%;
             max-width: 1560px;
             padding: 0 40px;
         }

         .steps-grid {
             display: grid;
             grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
             align-items: start;
             position: relative;
         }

         .step-card {
             text-align: left;
             padding: 0 10px;
         }

         /* Diagonal positioning - each step at different vertical position */
         .step-1,
         .step-3 {
             margin-top: 0;
         }

         .step-2,
         .step-4 {
             margin-top: 100px;
         }

         .step-header {
             display: flex;
             align-items: flex-start;
             gap: 12px;
             margin-bottom: 15px;
         }

         .step-number {
             min-width: 48px;
             height: 48px;
             background: var(--accent);
             display: flex;
             align-items: center;
             justify-content: center;
             padding-left: 6px;
             font-family: 'Jockey One', sans-serif;
             font-size: 32px;
             color: var(--dark);
             box-shadow: 4px 4px 0 var(--darkest);
             flex-shrink: 0;
         }

         .step-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 28px;
             color: var(--dark);
             line-height: .9;
             z-index: 1;
         }

         .step-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             line-height: 1.15;
             max-width: 235px;
         }

         /* ===== CONNECTORS ===== */
         .step-connector {
             position: relative;
             width: 50px;
             height: 150px;
             align-self: start;
         }

         /* Position connectors to align with their starting step */
         .connector-1,
         .connector-3 {
             margin-top: 5px;
         }

         .connector-2 {
             margin-top: 50px;
         }

         /* Dotted pattern for connectors */
         .connector-h,
         .connector-v {
             position: absolute;
             background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23c1c0c0'/%3E%3C/svg%3E");
             background-size: 17px 17px;
             background-repeat: repeat;
         }

         /* Horizontal part */
         .connector-h {
             width: 150px;
             height: 10px;
             top: 0;
             left: -113px;
         }

         /* Vertical part */
         .connector-v {
             width: 10px;
             right: 0;
         }

         /* Vertical going DOWN */
         .connector-v.down {
             top: 0;
             height: 100%;
         }

         /* Vertical going UP */
         .connector-v.up {
             bottom: 0;
             height: 100%;
         }

         /* Fine-tune each connector */
         .connector-1 {
             height: 80px;
             transform: translateY(15px) translateX(40px);
         }

         .connector-1 .connector-h {
             top: 0;
         }

         .connector-1 .connector-v.down {
             top: 0;
             height: 50px;
         }

         .connector-2 {
             height: 80px;
             transform: translateY(90px) translateX(40px);
         }

         .connector-2 .connector-h {
             bottom: 0;
             top: auto;
         }

         .connector-2 .connector-v.up {
             bottom: 0;
             height: 44px;
         }

         .connector-3 {
             height: 80px;
             transform: translateY(15px) translateX(40px);
         }

         .connector-3 .connector-h {
             top: 0;
         }

         .connector-3 .connector-v.down {
             top: 0;
             height: 50px;
         }

         /* ===== TRYOUT ===== */

         .tryout {
             background: var(--white);
             padding: 20px 0 80px;
         }

         .tryout-header {
             padding-bottom: 30px;
         }

         .tryout-title-wrapper,
         .tryout-subtitle-wrapper {
             display: block;
             text-align: center;
         }

         .tryout-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 42px;
             color: var(--dark);
             margin-bottom: 5px;
             display: inline;
             position: relative;
             z-index: 1;
         }

         .tryout-title::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 8px;
             width: 100%;
             height: 10px;
             background: var(--accent);
             z-index: -1;
         }

         .tryout-subtitle {
             font-family: 'Jockey One', sans-serif;
             font-size: 28px;
             color: var(--dark);
             font-weight: 400;
             position: relative;
             transform: translateX(115px) translateY(-8px);
         }


         .tryout-grid {
             display: grid;
             grid-template-columns: 1fr 1fr;
             gap: 80px;
             align-items: start;
         }

         .tryout-form {
             position: relative;
             justify-self: center;
             text-align: center;
             width: calc(100% - 40px);
             margin: 0 auto;
             transform: translateY(25px);
         }

         .tryout-form form {
             transform: translateX(-35px);
         }

         .form-row {
             display: grid;
             grid-template-columns: 1fr 1fr;
             gap: 15px;
         }

         .form-group {
             margin-bottom: 15px;
         }

         .form-group input {
             width: 100%;
             padding: 10px 12px;
             border: 1px solid #999;
             background: transparent;
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 600;
             color: var(--dark);
             border-radius: 0;
         }

         .form-group input::placeholder {
             color: #666;
         }

         .form-consent {
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             color: #666;
             text-align: center;
             margin-bottom: 20px;
             line-height: 1.3;
         }

         .tryout-btn {
             width: 100%;
             background: var(--dark);
             color: var(--white);
             padding: 8px;
             border: none;
             font-family: 'Jockey One', sans-serif;
             font-size: 22px;
             cursor: pointer;
             text-transform: uppercase;
             border-radius: 0;
             transition: all 0.2s;
         }

         .tryout-btn:hover {
             background: var(--accent);
             color: var(--dark);
         }

         .tryout-btn.is-success {
             background: #286b35;
             color: var(--white);
         }

         .tryout-btn.is-error {
             background: #9b2525;
             color: var(--white);
         }

         .tryout-btn-note {
             font-family: 'Jockey One', sans-serif;
             font-size: 16px;
             color: var(--dark);
             text-align: center;
             margin: 0 auto;
             background: var(--accent);
             padding: 3px 20px;
             width: 60%;
         }

         .quick-form-error {
             color: #9b2525;
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             line-height: 1.3;
             margin: 8px 0 0;
         }

         [data-ajax-form] button[type="submit"]:disabled {
             cursor: default;
         }

         .honeypot {
             position: absolute;
             left: -10000px;
             width: 1px;
             height: 1px;
             overflow: hidden;
         }

         @keyframes blink {

             0%,
             100% {
                 opacity: 1;
                 transform: scale(1) translateY(0);
             }

             50% {
                 opacity: .6;
                 transform: scale(.9) translateY(-2px);
             }
         }

         .blink {
             animation: blink 1s infinite;
         }

         /* Connector from form to content */
         .tryout-connector {
             position: absolute;
             right: 200px;
             bottom: -115px;
             width: 80px;
             height: 60px;
         }

         .tryout-connector .connector-v {
             position: absolute;
             left: 0;
             top: -35px;
             width: 10px;
             height: 30px;
             background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23c1c0c0'/%3E%3C/svg%3E");
             background-size: 17px 17px;
             background-repeat: repeat;
         }

         .tryout-connector .connector-h {
             position: absolute;
             left: 0;
             bottom: 0;
             width: 320px;
             height: 10px;
             background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23c1c0c0'/%3E%3C/svg%3E");
             background-size: 17px 17px;
             background-repeat: repeat;
         }

         .tryout-content {
             padding-top: 20px;
         }

         .tryout-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: var(--dark);
             line-height: 1.7;
             margin-bottom: 20px;
         }

         .tryout-text strong {
             font-weight: 700;
         }

         .tryout-price {
             margin-top: 35px;
         }

         .tryout-price-current {
             font-family: 'Jockey One', sans-serif;
             font-size: 36px;
             line-height: 35px;
             color: var(--dark);
             display: block;
         }

         .tryout-price-old {
             font-family: 'Jockey One', sans-serif;
             font-size: 20px;
             color: #888;
             text-decoration: line-through;
             display: block;
         }

         /* ===== GET STARTED ===== */
         .getstarted {
             background: var(--darkest);
             padding: 80px 0;
         }

         .getstarted-header {
             text-align: center;
             margin-bottom: 20px;
         }

         .getstarted-title-wrapper {
             display: inline-block;
         }

         .getstarted-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 42px;
             color: var(--white);
             display: inline;
             position: relative;
             z-index: 1;
         }

         .getstarted-title::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 2px;
             width: 100%;
             height: 4px;
             background: var(--accent);
             z-index: -1;
         }

         .getstarted-desc {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             color: var(--white);
             text-align: center;
             max-width: 980px;
             margin: 30px auto 50px;
             line-height: 1.7;
         }

         .getstarted-desc strong {
             color: var(--white);
             font-weight: 800;
         }

         .getstarted-grid {
             display: grid;
             grid-template-columns: 1fr 1fr;
             gap: 60px;
             align-items: start;
         }

         .getstarted-video {
             position: relative;
             width: 100%;
             aspect-ratio: 16 / 9;
             background: #333;
             cursor: pointer;
             overflow: hidden;
         }

         .getstarted-video .video-thumbnail {
             width: 100%;
             height: 100%;
             object-fit: cover;
         }

         .getstarted-video iframe {
             width: 100%;
             height: 100%;
             position: absolute;
             top: 0;
             left: 0;
         }

         .video-play-btn {
             position: absolute;
             top: 50%;
             left: 50%;
             transform: translate(-50%, -50%);
             width: 180px;
             height: 180px;
             border: none;
             background: transparent;
             cursor: pointer;
             display: flex;
             align-items: center;
             justify-content: center;
             transition: transform 0.2s;
         }

         .video-play-btn:hover {
             transform: translate(-50%, -50%) scale(1.2);
         }

         .video-play-btn svg {
             width: 80px;
             height: 80px;
             fill: var(--accent);
             margin-left: 5px;
         }

         .getstarted-buttons {
             display: flex;
             align-items: center;
             gap: 20px;
             margin-top: 20px;
         }

         .getstarted-buttons .btn-outline-dark {
             background: transparent;
             border: 2px solid;
             color: var(--accent);
             padding: 8px 20px;
             font-size: 14px;
         }

         .getstarted-buttons .btn-outline-dark:hover {
             background: var(--white);
             border-color: var(--white);
             color: var(--dark);
         }

         .getstarted-article-link {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 800;
             color: var(--white);
             transition: color 0.2s;
         }

         .getstarted-article-link:hover {
             color: var(--accent);
         }

         .getstarted-right {
             padding-top: 40px;
             text-align: center;
         }

         .getstarted-contact-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 800;
             color: var(--white);
             margin-bottom: 15px;
             line-height: 1.5;
         }

         .getstarted-phone,
         .getstarted-email {
             display: flex;
             align-items: center;
             justify-content: center;
             gap: 15px;
             margin-bottom: 30px;
         }

         .getstarted-phone svg,
         .getstarted-email svg {
             width: 28px;
             height: 28px;
             fill: var(--accent);
         }

         .getstarted-phone span {
             font-family: 'Jockey One', sans-serif;
             font-size: 36px;
             color: var(--accent);
         }

         .getstarted-email span {
             font-family: 'Jockey One', sans-serif;
             font-size: 32px;
             color: var(--accent);
         }

         .getstarted-phone:hover span,
         .getstarted-email:hover span {
             text-decoration: underline;
         }

         /* ===== COURSES ===== */
         .courses {
             background: #e5e5e5;
             padding: 70px 0 100px;
         }

         .courses .container {
             min-width: 1260px;
         }

         .courses-header {
             text-align: center;
             margin-bottom: 50px;
         }

         .courses-title-wrapper {
             display: inline-block;
         }

         .courses-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 42px;
             color: var(--dark);
             display: inline;
             position: relative;
             z-index: 1;
         }

         .courses-title::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 8px;
             width: 100%;
             height: 10px;
             background: var(--accent);
             z-index: -1;
         }

        /* Courses cards grid */
         .courses-grid {
             display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 25px;
             align-items: start;
         }

         /* Shared card styles */
         .course-card {
             display: block;
             text-decoration: none;
             padding: 35px 30px;
             position: relative;
            height: 100%;
             cursor: pointer;
             transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease;
         }

         .course-card:hover {
             transform: translateY(-10px);
         }

         .course-badge {
             position: absolute;
             top: -18px;
             left: 14px;
             z-index: 2;
             background: linear-gradient(145deg, #1a1918 0%, var(--darkest) 55%, #0d0c0c 100%);
             color: #fff;
             font-family: 'Nunito', sans-serif;
             font-size: 14px;
             font-weight: 800;
             text-transform: uppercase;
             letter-spacing: 0.08em;
             padding: 10px 22px 9px;
    border: 0;
    border-radius: 0;
             transform: rotate(-4deg);
             transform-origin: 55% 50%;
             box-shadow:
                 0 3px 0 rgba(19, 18, 17, 0.55),
                 0 6px 16px rgba(19, 18, 17, 0.35),
                 inset 0 1px 0 rgba(255, 255, 255, 0.06);
             animation: badgeAttention 3.2s infinite ease-in-out;
         }

         @keyframes badgeAttention {

             0%,
             72%,
             100% {
                 transform: rotate(-4deg) scale(1);
                 box-shadow:
                     0 3px 0 rgba(19, 18, 17, 0.55),
                     0 6px 16px rgba(19, 18, 17, 0.35),
                     inset 0 1px 0 rgba(255, 255, 255, 0.06);
             }

             74% {
                 transform: rotate(-4deg) scale(1.08);
                 box-shadow:
                     0 4px 0 rgba(19, 18, 17, 0.5),
                     0 10px 26px rgba(19, 18, 17, 0.45),
                     0 0 28px rgba(219, 226, 102, 0.42),
                     inset 0 1px 0 rgba(255, 255, 255, 0.08);
             }

             78% {
                 transform: rotate(-4deg) scale(1);
                 box-shadow:
                     0 3px 0 rgba(19, 18, 17, 0.55),
                     0 6px 16px rgba(19, 18, 17, 0.35),
                     inset 0 1px 0 rgba(255, 255, 255, 0.06);
             }

             81% {
                 transform: rotate(-4deg) scale(1.04);
             }

             85% {
                 transform: rotate(-4deg) scale(1);
             }
         }

         .course-name {
             font-family: 'Jockey One', sans-serif;
             font-size: 32px;
             line-height: 1.1;
             margin-bottom: 10px;
         }

         .course-divider {
             width: 100%;
             height: 4px;
             margin-bottom: 20px;
         }

         .course-duration {
             font-family: 'Nunito', sans-serif;
             font-weight: 900;
             font-size: 22px;
             margin-bottom: 8px;
         }

         .course-price {
             font-family: 'Jockey One', sans-serif;
             font-size: 24px;
             line-height: 1.1;
             margin-bottom: 18px;
             background: var(--darkest);
             color: #fff;
             padding: 6px 12px;
             border-radius: 0;
             display: inline-block;
             width: fit-content;
             max-width: 100%;
         }

         .text-highlight {
             color: #fff;
             background: transparent;
         }

        /* Accent cards */
         .course-card-accent {
             background: var(--accent);
             padding-top: 45px;
             box-shadow: 8px 8px 0 var(--darkest);
         }

         .course-card-accent:hover {
             box-shadow: 12px 12px 0 var(--darkest);
         }

         .course-card-accent .course-name {
             color: var(--darkest);
         }

         .course-card-accent .course-divider {
             background: var(--darkest);
         }

         .course-card-accent .course-duration {
             color: var(--darkest);
         }

         .course-card-accent .course-features {
             list-style: none;
             margin: 0;
             padding: 0;
         }

         .course-card-accent .course-features li {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 600;
             color: var(--darkest);
             padding: 6px 0;
             padding-left: 15px;
             position: relative;
         }

         .course-card-accent .course-features li::before {
             content: '';
             position: absolute;
             left: 0;
             top: 50%;
             transform: translateY(-50%);
             width: 5px;
             height: 5px;
             background: var(--darkest);
         }

        .courses-cta-wrapper {
            margin-top: 56px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 32px;
        }

        /* CTA button under cards */
         .courses-cta-btn {
            display: inline-flex;
             background: var(--darkest);
             color: #fff;
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 800;
             text-align: center;
             padding: 15px 38px 14px;
             text-transform: uppercase;
             letter-spacing: 0.07em;
             line-height: 1.35;
             white-space: nowrap;
             border: 0;
             border-radius: 0;
             box-shadow: none;
             transition: background 0.2s ease;
         }

         .courses-cta-btn:hover {
             background: var(--accent);
             color: var(--dark);
         }

         .courses-cta-btn:active {
             background: #000;
         }

         .courses-individual-link {
             color: var(--darkest);
             white-space: nowrap;
         }

         .courses-individual-link:hover {
             color: #888;
         }

         .courses-disclaimer {
            width: 70%;
            margin: 28px auto 0;
             text-align: left;
         }

         .courses-disclaimer p {
             font-family: 'Nunito', sans-serif;
             font-size: 13px;
             font-weight: 400;
             color: #888;
             line-height: 1.6;
             margin-bottom: 8px;
         }

         .courses-links a {
             color: #888;
             text-decoration: underline;
         }

         .courses-links a:hover {
             color: var(--darkest);
         }





         /* ===== ADVANTAGES ===== */
         .advantages {
             background: #e5e5e5;
             padding: 0 0 80px;
         }

         .advantages .container {
             min-width: 1260px;
         }

         .advantages-row {
             display: flex;
             justify-content: center;
             gap: 30px;
             margin-bottom: 70px;
         }

         .advantages-row:last-child {
             margin-bottom: 0;
         }

         .advantages-row-4 {
             justify-content: space-between;
         }

         .advantages-row-3 {
             justify-content: center;
             gap: 60px;
         }

         .advantage-item {
             text-align: center;
             max-width: 220px;
             flex-shrink: 0;
         }

         .advantage-icon {
             width: 70px;
             height: 70px;
             margin: 0 auto 15px;
         }

         .advantage-icon img {
             width: 100%;
             height: 100%;
             object-fit: contain;
         }

         .advantages-row-3 .advantage-item:first-of-type .advantage-icon {
             width: 110px;
             height: 110px;
             margin: -25px auto 0px;
         }

         .advantage-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 22px;
             color: var(--darkest);
             margin-bottom: 8px;
         }

         .advantage-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: var(--darker);
             line-height: 1.5;
         }




         /* ===== TESTIMONIALS ===== */
         .testimonials {
             background: #e5e5e5;
             padding: 100px 0;
         }

         .testimonials-header {
             text-align: center;
             margin-bottom: 50px;
         }

         .testimonials-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 38px;
             color: var(--darkest);
             line-height: 1.3;
         }

         .testimonials-title .highlight {
             position: relative;
             display: inline;
             background: var(--accent);
         }

         .testimonials-grid {
             display: grid;
             grid-template-columns: 1fr 1fr;
             gap: 60px;
             align-items: start;
         }

         /* Left column */
         .testimonials-content {
             padding-top: 20px;
         }

         .testimonials-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: var(--darkest);
             line-height: 1.8;
             margin-bottom: 25px;
         }

         .testimonials-text strong {
             font-weight: 700;
         }

         .testimonials-content .btn {
             margin-top: 15px;
             padding: 10px 20px 6px;
             font-size: 14px;
             font-weight: 800;
         }

         /* Right column - Carousel */
         .testimonials-carousel {
             position: relative;
         }

         .testimonials-slider {
             position: relative;
             overflow: hidden;
             min-height: 350px;
         }

         .testimonial-item {
             position: absolute;
             top: 0;
             left: 34px;
             width: calc(100% - 68px);
             opacity: 0;
             visibility: hidden;
             transition: opacity 0.5s ease, visibility 0.5s ease;
         }

         .testimonial-item.active {
             opacity: 1;
             visibility: visible;
             position: relative;
             left: 0;
             width: calc(100% - 68px);
             margin-left: 34px;
         }

         /* Author section */
         .testimonial-author {
             display: flex;
             align-items: center;
             gap: 15px;
             margin-bottom: 20px;
         }

         .testimonial-name {
             font-family: 'Jockey One', sans-serif;
             font-size: 24px;
             color: var(--darkest);
             margin-bottom: 2px;
         }

         .testimonial-course {
             font-family: 'Nunito', sans-serif;
             font-size: 14px;
             font-weight: 400;
             color: #666;
         }

         .testimonial-rating {
             position: relative;
             display: inline-flex;
             width: 64px;
             height: 64px;
             flex: 0 0 64px;
             align-items: center;
             justify-content: center;
             font-family: 'Nunito', sans-serif;
             font-weight: 800;
             line-height: 1;
         }

         .testimonial-rating-value,
         .testimonial-rating-max {
             position: relative;
             z-index: 1;
         }

         .testimonial-rating-value {
             color: var(--darkest);
             font-size: 24px;
             letter-spacing: -0.08em;
             -webkit-text-stroke: 1px var(--accent);
             paint-order: stroke fill;
         }

         .testimonial-rating-max {
             margin-left: 4px;
             margin-top: 4px;
             color: var(--darkest);
             font-size: 13px;
         }

         /* Description */
         .testimonial-desc {
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 400;
             color: var(--darkest);
             line-height: 1.7;
             margin-bottom: 20px;
         }

         /* Quote */
         .testimonial-quote {
             position: relative;
             padding: 0 30px;
         }

         .quote-open,
         .quote-close {
             font-family: 'Jockey One', sans-serif;
             font-size: 60px;
             color: var(--darkest);
             line-height: 1;
             position: absolute;
         }

         .quote-open {
             top: -10px;
             left: 0;
         }

         .quote-close {
             bottom: -30px;
             right: 0;
         }

         .quote-text {
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 600;
             color: var(--dark);
             line-height: 1.7;
         }

         /* Navigation */
         .testimonials-nav {
             display: flex;
             align-items: center;
             justify-content: space-between;
             margin-top: -60px;
             padding-top: 20px;
             z-index: 0;
         }

         .testimonials-dots {
             display: flex;
             align-items: center;
             gap: 10px;
             z-index: 1;
         }

         .testimonials-dots .dot {
             width: 14px;
             height: 14px;
             background: #999;
             border: none;
             cursor: pointer;
             transition: background 0.2s;
             padding: 0;
         }

         .testimonials-dots .dot:hover {
             background: #666;
         }

         .testimonials-dots .dot.active {
             background: var(--darkest);
         }

         /* Arrow navigation */
         .testimonials-arrows {
             position: absolute;
             top: 50%;
             right: 0;
             left: 0;
             z-index: 5;
             display: flex;
             align-items: center;
             justify-content: space-between;
             transform: translateY(-50%);
             pointer-events: none;
         }

         .testimonials-arrow {
             position: static;
             width: 32px;
             height: 44px;
             margin: 0;
             padding: 0;
             flex: 0 0 auto;
             transform: none;
             background: transparent;
             border: 0;
             cursor: pointer;
             display: flex;
             align-items: center;
             justify-content: center;
             transition: all 0.2s;
             pointer-events: auto;
         }

         .testimonials-arrow svg {
             width: 15px;
             height: 24px;
             fill: #888;
             transition: fill 0.2s;
         }

         .testimonials-arrow:hover svg {
             fill: #555;
         }


         .testimonials-google-btn {
             font-family: 'Nunito', sans-serif;
             font-size: 14px;
             font-weight: 400;

             color: var(--darkest);
             text-transform: uppercase;
             letter-spacing: 0.5px;
             padding: 6px 20px 4px;
             border: 1px solid var(--darkest);
             transition: all 0.2s;
             z-index: 1;
         }

         .testimonials-google-btn:hover {
             background: var(--darkest);
             color: var(--white);
         }



         /* ===== FAQ ===== */
         .faq {
             background: var(--darkest);
             padding: 80px 0;
         }

         .faq-header {
             text-align: center;
             margin-bottom: 50px;
         }

         .faq-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 38px;
             color: var(--white);
             display: inline-block;
         }

         .faq-title span {
             position: relative;
             display: inline-block;
         }

         .faq-title span::after {
             content: '';
             position: absolute;
             left: 0;
             bottom: -8px;
             width: 100%;
             height: 6px;
             background: var(--accent);
         }

         .faq-list {
             max-width: 1000px;
             margin: 0 auto;
         }

         .faq-item {
             border-bottom: 1px solid #333;
             overflow: hidden;
         }

         /* Skryté položky */
         .faq-item.faq-hidden {
             display: none;
         }

         .faq-item.faq-hidden.faq-visible {
             display: block;
             animation: fadeInDown 0.4s ease;
         }

         @keyframes fadeInDown {
             from {
                 opacity: 0;
                 transform: translateY(-10px);
             }

             to {
                 opacity: 1;
                 transform: translateY(0);
             }
         }

         .faq-question {
             width: 100%;
             display: flex;
             align-items: center;
             gap: 15px;
             padding: 20px 0;
             background: transparent;
             border: none;
             cursor: pointer;
             text-align: left;
         }

         .faq-arrow {
             width: 20px;
             height: 20px;
             flex-shrink: 0;
             display: flex;
             align-items: center;
             justify-content: center;
             transition: transform 0.3s ease;
         }

         .faq-arrow svg {
             width: 16px;
             height: 16px;
             fill: var(--accent);
         }

         /* Šipka doprava = zavřeno, šipka dolů = otevřeno */
         .faq-item.active .faq-arrow {
             transform: rotate(90deg);
         }

         .faq-question-text {
             font-family: 'Nunito', sans-serif;
             font-size: 18px;
             font-weight: 500;
             color: var(--white);
             transition: color 0.2s;
         }

         .faq-question:hover .faq-question-text {
             color: var(--accent);
         }

         .faq-answer {
             max-height: 0;
             overflow: hidden;
             transition: max-height 0.4s ease, padding 0.4s ease;
         }

         .faq-item.active .faq-answer {
             max-height: 300px;
             padding-bottom: 20px;
         }

         .faq-answer p {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: #999;
             line-height: 1.8;
             padding-left: 35px;
         }

         .faq-cta {
             text-align: center;
             margin-top: 50px;
         }

         .btn-outline-light {
             background: transparent;
             border: 1px solid var(--white);
             color: var(--white);
             font-family: 'Nunito', sans-serif;
             font-size: 14px;
             padding: 10px 20px 8px;
             cursor: pointer;
             transition: all 0.2s;
         }

         .btn-outline-light:hover {
             background: var(--white);
             color: var(--darkest);
         }



         /* ===== PROS & CONS ===== */
         .proscons {
             background: var(--white);
             padding: 100px 0;
         }

         .proscons-grid {
             display: grid;
             grid-template-columns: 1fr auto 1fr;
             gap: 80px;
             align-items: center;
         }

         .proscons-column {
             display: flex;
             flex-direction: column;
             gap: 40px;
         }

         /* Levý sloupec - zarovnání doprava */
         .proscons-pros {
             text-align: right;
         }

         .proscons-pros .proscons-item {
             display: flex;
             flex-direction: column;
             align-items: flex-end;
         }

         /* Pravý sloupec - zarovnání doleva */
         .proscons-cons {
             text-align: left;
         }

         .proscons-cons .proscons-item {
             display: flex;
             flex-direction: column;
             align-items: flex-start;
         }

         /* Odsazení druhých položek - cikcak efekt */
         .proscons-pros .proscons-item:nth-child(2) {
             transform: translateX(-40px);
         }

         .proscons-cons .proscons-item:nth-child(2) {
             transform: translateX(40px);
         }



         /* Titulky */
         .proscons-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 20px;
             display: inline-block;
             padding: 6px 14px;
             margin-bottom: 12px;
             text-transform: lowercase;
         }

         .pros-title {
             background: var(--darkest);
             color: var(--white);
         }

         .proscons-item:nth-child(3) .pros-title {
             background: var(--accent);
             color: var(--darkest);
             box-shadow: 4px 4px 0 var(--darkest);
         }

         .cons-title {
             background: var(--darkest);
             color: var(--white);
         }

         /* Text */
         .proscons-text {
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 400;
             color: #555;
             line-height: 1.6;
             max-width: 280px;
         }

         /* Obrázek uprostřed */
         .proscons-image {
             flex-shrink: 0;
         }

         .proscons-image img {
             max-width: 400px;
             height: auto;
             display: block;
         }



         /* ===== GUIDEBOOK ===== */
         .guidebook {
             background: var(--white);
             padding: 0 0 80px;
         }

         .guidebook-divider {
             width: 60%;
             margin: 0 auto;
             height: 2px;
             background: #ccc;
             margin-bottom: 60px;
         }

         .guidebook-header {
             text-align: center;
             margin-bottom: 20px;
         }

         .guidebook-title-wrapper {
             display: inline-block;
         }

         .guidebook-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 38px;
             color: var(--darkest);
             display: inline;
             position: relative;
         }

         .guidebook-title span {
             position: relative;
             display: inline;
             z-index: 1;
         }

         .guidebook-title span::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 8px;
             width: 100%;
             height: 10px;
             background: var(--accent);
             z-index: -1;
         }

         .guidebook-subtitle {
             font-family: 'Jockey One', sans-serif;
             font-size: 24px;
             color: var(--darkest);
             transform: translateX(66px) translateY(-8px);
         }

         .guidebook-intro {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: #555;
             text-align: center;
             margin-bottom: 20px;
         }

         .guidebook-intro a {
             color: var(--darkest);
             text-decoration: underline;
         }

         .guidebook-intro a:hover {
             color: #000;
         }

         .guidebook-grid {
             display: grid;
             grid-template-columns: 1fr 1.15fr;
             gap: 60px;
             align-items: center;
         }

         /* Obrázek */
         .guidebook-image img {
             max-width: 100%;
             height: auto;
             display: block;
         }

         /* Obsah */
         .guidebook-content {
             padding-top: 20px;
         }

         .guidebook-text {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: var(--darkest);
             line-height: 1.7;
             margin-bottom: 25px;
         }

         .guidebook-text strong {
             font-weight: 700;
         }

         .guidebook-list {
             list-style: none;
             margin-bottom: 30px;
         }

         .guidebook-list li {
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 400;
             color: var(--darkest);
             padding: 8px 0;
             padding-left: 20px;
             position: relative;
         }

         .guidebook-list li::before {
             content: '';
             position: absolute;
             left: 0;
             top: 50%;
             transform: translateY(-50%);
             width: 8px;
             height: 8px;
             background: var(--accent);
         }

         /* Formulář */
         .guidebook-form {
             width: 95%;
             margin-bottom: 15px;
         }

         .guidebook-form-row {
             display: flex;
             gap: 0;
         }

         .guidebook-form-row input {
             flex: 1;
             width: 100%;
             padding: 4px 8px;
             border: 1px solid #999;
             background: transparent;
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 600;
             color: var(--dark);
             border-radius: 0;
         }

         .guidebook-form-row .btn {
             padding: 8px 28px;
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             font-weight: 700;
             white-space: nowrap;
         }

         /* Disclaimer */
         .guidebook-disclaimer {
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             font-weight: 400;
             color: #888;
             line-height: 1.6;
         }

         .guidebook-disclaimer a {
             color: #888;
             text-decoration: underline;
         }

         .guidebook-disclaimer a:hover {
             color: #555;
         }




         /* ===== PHOTOS ===== */
         .photos {
             position: relative;
             background-color: var(--white);
         }

         .photos-grid {
             display: grid;
             grid-template-columns: repeat(4, 1fr);
             grid-template-rows: repeat(2, 1fr);
         }

         .photos .container {
             min-width: 1260px;
         }

         .photo-item {
             display: block;
             aspect-ratio: 4 / 3;
             overflow: hidden;
             cursor: pointer;
         }

         .photo-item img {
             width: 100%;
             height: 100%;
             object-fit: cover;
             transition: opacity 0.45s ease, transform 0.3s ease, filter 0.3s ease;
         }

         .photo-item.is-changing img {
             opacity: 0;
         }

         .photo-placeholder {
             display: flex;
             align-items: center;
             justify-content: center;
             background: #efefec;
             color: #8a8a82;
         }

         .photo-placeholder-content {
             display: flex;
             flex-direction: column;
             align-items: center;
             gap: 10px;
             font: 600 13px 'Nunito', sans-serif;
         }

         .photo-placeholder-content svg {
             width: 42px;
             height: 42px;
         }

         .photo-item:hover img {
             transform: scale(1.05);
             filter: brightness(1.1);
         }

         /* Text uprostřed */
         .photos-overlay {
             position: absolute;
             top: 50%;
             left: 50%;
             transform: translate(-50%, -50%);
             background: rgba(19, 18, 17, 0.85);
             padding: 15px 30px;
             z-index: 10;
         }

         .photos-text {
             font-family: 'Jockey One', sans-serif;
             font-size: 22px;
             color: var(--white);
             white-space: nowrap;
         }

         .photos-text a {
             color: var(--white);
             text-decoration: none;
             position: relative;
             display: inline;
         }

         .photos-text a::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 0;
             width: 100%;
             height: 3px;
             background: var(--accent);
             z-index: -1;
         }

         .photos-text a:hover {
             color: var(--accent);
         }

         /* ===== LIGHTBOX ===== */
         .lightbox {
             position: fixed;
             top: 0;
             left: 0;
             width: 100%;
             height: 100%;
             background: rgba(11, 12, 13, 0.95);
             z-index: 9999;
             display: flex;
             align-items: center;
             justify-content: center;
             opacity: 0;
             visibility: hidden;
             transition: opacity 0.3s ease, visibility 0.3s ease;
         }

         .lightbox.active {
             opacity: 1;
             visibility: visible;
         }

         .lightbox-content {
             max-width: 90%;
             max-height: 90%;
             display: flex;
             align-items: center;
             justify-content: center;
         }

         .lightbox-content img {
             max-width: 100%;
             max-height: 90vh;
             object-fit: contain;
         }

         .lightbox-close {
             position: absolute;
             top: 20px;
             right: 30px;
             background: none;
             border: none;
             color: var(--white);
             font-size: 50px;
             font-weight: 300;
             cursor: pointer;
             line-height: 1;
             transition: color 0.2s;
             z-index: 10;
         }

         .lightbox-close:hover {
             color: var(--accent);
         }

         .lightbox-prev,
         .lightbox-next {
             position: absolute;
             top: 50%;
             transform: translateY(-50%);
             background: none;
             border: none;
             cursor: pointer;
             padding: 15px;
             z-index: 10;
             transition: background 0.2s;
         }

         .lightbox-prev {
             left: 20px;
         }

         .lightbox-next {
             right: 20px;
         }

         .lightbox-prev svg,
         .lightbox-next svg {
             width: 40px;
             height: 40px;
             fill: var(--white);
             transition: fill 0.2s;
         }

         .lightbox-prev:hover svg,
         .lightbox-next:hover svg {
             fill: var(--accent);
         }



         /* ===== INDIVIDUAL + FOOTER ===== */
         .individual-footer {
             position: relative;
         }

         /* Horní část - Individual */
         .individual-section {
             background: var(--white);
             padding: 80px 0 150px;
         }

         .individual-content {
             max-width: 500px;
             transform: translateY(50px);
         }

         .individual-content:before {
             content: '';
             position: absolute;
             left: 50%;
             transform: translate(-150px, 185px) scale(0.85);
             top: 0;
             width: 611px;
             height: 265px;
             background: url(img/footer-slogan.webp);
             background-size: cover;
             background-position: center;
             z-index: -1;
         }

         .individual-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 42px;
             color: var(--darkest);
             margin-bottom: 25px;
             max-width: fit-content;
             position: relative;
             z-index: 1;
         }

         .individual-title::before {
             content: '';
             position: absolute;
             left: 0;
             bottom: 4px;
             width: 100%;
             height: 10px;
             background: var(--accent);
             z-index: -1;
         }

         .individual-text {
             font-family: 'Nunito', sans-serif;
             font-size: 17px;
             font-weight: 400;
             color: var(--darkest);
             line-height: 1.8;
         }

         /* Dolní část - Footer */
         .footer-section {
             background: var(--darkest);
             background-image: url('img/footer-bg.webp');
             background-size: auto 520px;
             background-position: left;
             background-repeat: no-repeat;
             border-top: 5px solid var(--accent);
             padding: 80px 0 0;
         }

         .footer-contact-area {
             padding-bottom: 40px;
         }

         .footer-contact-area a {
             color: var(--white);
         }

         .footer-phone,
         .footer-email {
             display: flex;
             align-items: center;
             width: fit-content;
             gap: 15px;
             margin-bottom: 15px;
             transition: opacity 0.2s;
         }


         .footer-phone svg,
         .footer-email svg {
             width: 28px;
             height: 28px;
             fill: var(--accent);
         }

         .footer-contact-area .footer-phone:hover svg,
         .footer-contact-area .footer-email:hover svg,
         .footer-phone:hover,
         .footer-email:hover {
             fill: var(--accent);
             color: var(--accent);
         }

         .footer-phone span {
             font-family: 'Jockey One', sans-serif;
             font-size: 36px;
         }

         .footer-email span {
             font-family: 'Jockey One', sans-serif;
             font-size: 32px;
         }

         .footer-owner {
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 600;
             color: var(--white);
             margin-top: 10px;
             padding-left: 43px;
         }

         /* Footer bottom */
         .footer-bottom {
             padding: 30px 0;
         }

         .footer-bottom-inner {
             display: flex;
             justify-content: space-between;
             align-items: end;
             gap: 40px;
         }

         .footer-left {
             display: flex;
             align-items: flex-start;
             gap: 20px;
             max-width: 45%;
         }

         .footer-logo {
             flex-shrink: 0;
         }

         .footer-logo-mark {
             display: block;
             width: 50px;
             height: 50px;
             background-color: var(--white);
             -webkit-mask: url('/img/sensei-logo-header.svg') center / contain no-repeat;
             mask: url('/img/sensei-logo-header.svg') center / contain no-repeat;
         }

         .footer-copyright {
             font-family: 'Nunito', sans-serif;
             font-size: 11px;
             font-weight: 400;
             color: #666;
             line-height: 1.6;
         }

         .footer-right {
             text-align: right;
         }

         .footer-social-label {
             font-family: 'Jockey One', sans-serif;
             font-size: 24px;
             color: var(--white);
             margin-bottom: 15px;
         }

         .footer-social {
             display: flex;
             justify-content: flex-end;
             gap: 15px;
             margin-bottom: 20px;
         }

         .footer-social a {
             display: flex;
             align-items: center;
             justify-content: center;
             transition: opacity 0.2s;
         }

         .footer-social svg {
             width: 36px;
             height: 36px;
             fill: var(--white);
         }

         .footer-social a:hover svg {
             fill: var(--accent);
         }

         .footer-links {
             display: flex;
             gap: 30px;
             justify-content: flex-end;
         }

         .footer-links a {
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             font-weight: 400;
             color: #666;
             transition: color 0.2s;
         }

         .footer-links a:hover {
             color: var(--accent);
         }

         /* Překrývající se žlutý sloupec - pozicovaný od středu */
         .individual-card {
             position: absolute;
             left: 0;
             right: 0;
             top: 90px;
             margin: 0 auto;
             transform: translateX(345px);
             width: 410px;
             background: transparent;
             z-index: 10;
         }

         .individual-card-header {
             height: 15px;
             background: var(--accent);
         }

         .individual-card-content {
             padding: 0;
         }

         .individual-card-top {
             background: var(--darkest);
             padding: 35px 35px 20px;
         }

         .individual-card-bottom {
             background: var(--accent);
             padding: 20px 35px 20px;
         }

         .individual-card-bottom .form-group input {
             border-color: var(--dark);
         }

         .individual-card-bottom .form-group input.input-error {
             border-color: red;
         }

         .individual-card-title {
             font-family: 'Jockey One', sans-serif;
             font-size: 24px;
             color: var(--white);
             margin-bottom: 15px;
             line-height: 1.3;
         }

         .individual-card-list {
             list-style: none;
             margin-bottom: 30px;
         }

         .individual-card-list li {
             font-family: 'Nunito', sans-serif;
             font-size: 14px;
             font-weight: 400;
             color: var(--white);
             padding: 5px 0;
             padding-left: 20px;
             position: relative;
         }

         .individual-card-list li::before {
             content: '';
             position: absolute;
             left: 0;
             top: 50%;
             transform: translateY(-50%);
             width: 4px;
             height: 4px;
             background: var(--white);
         }

         .individual-form {
             display: flex;
             flex-direction: column;
         }

         .individual-form input {
             padding: 14px 18px;
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             color: var(--darkest);
             background: transparent;
             border: 1px solid var(--darkest);
             margin-bottom: 10px;
         }

         .individual-form input::placeholder {
             color: #666;
         }

         .individual-form input:focus {
             color: var(--darkest);
         }

         .individual-form .btn {
             padding: 14px;
             font-family: 'Nunito', sans-serif;
             font-size: 15px;
             font-weight: 700;
         }

         .individual-form-disclaimer {
             font-family: 'Nunito', sans-serif;
             font-size: 12px;
             font-weight: 400;
             color: var(--darkest);
             text-align: center;
             margin-top: 12px;
             opacity: 0.7;
         }


         /* Článek */
         .article-wrapper {
             max-width: 860px;
             margin: 0 auto;
             padding: 20px;
         }

         .h1-article {
             font-size: 2.4rem;
             line-height: 1.25;
             margin-bottom: 24px;
             font-weight: 700;
         }

         .h2-article {
             font-size: 1.6rem;
             margin-top: 48px;
             margin-bottom: 16px;
             font-weight: 500;
         }

         .p-article {
             font-size: 1.05rem;
             line-height: 1.7;
             margin-bottom: 18px;
         }

         .p-article-strong {
             font-weight: 600;
         }

         .img-article {
             width: 100%;
             height: auto;
             margin: 32px 0;
             border-radius: 6px;
             display: block;
         }

         .page-editor-content {
             color: var(--text);
             font-family: 'Nunito', sans-serif;
             font-size: 16px;
             line-height: 1.7;
         }

         .page-editor-content h1 {
             margin: 0 0 24px;
             color: var(--darkest);
             font-size: 2.4rem;
             font-weight: 700;
             line-height: 1.25;
         }

         .page-editor-content h2,
         .page-editor-content h3,
         .page-editor-content h4,
         .page-editor-content h5,
         .page-editor-content h6 {
             margin: 32px 0 16px;
             color: var(--darkest);
             font-weight: 700;
             line-height: 1.3;
         }

         .page-editor-content h2 {
             font-size: 1.6rem;
         }

         .page-editor-content .h2-article {
             margin-top: 48px;
             font-weight: 500;
         }

         .page-editor-content .p-article {
             margin-bottom: 18px;
         }

         .page-editor-content h3 {
             font-size: 1.35rem;
         }

         .page-editor-content p,
         .page-editor-content ul,
         .page-editor-content ol,
         .page-editor-content blockquote,
         .page-editor-content table,
         .page-editor-content pre {
             margin: 0 0 16px;
         }

         .page-editor-content ul,
         .page-editor-content ol {
             padding-left: 24px;
         }

         .page-editor-content ul {
             list-style: disc;
         }

         .page-editor-content ol {
             list-style: decimal;
         }

         .page-editor-content a:not(.btn) {
             color: #697000;
             text-decoration: underline;
         }

         .page-editor-content img {
             height: auto;
             max-width: 100%;
         }

         .page-editor-content table {
             width: 100%;
             border-collapse: collapse;
         }

         .page-editor-content th,
         .page-editor-content td {
             border: 1px solid var(--gray-light);
             padding: 8px 10px;
         }

         /* Public reservation course list */
         .reservations-courses {
             min-height: 55vh;
             padding-top: 145px;
             background: var(--white);
         }

         .reservations-courses .container {
             min-width: 0;
         }

         .reservations-intro {
             margin: 18px auto 0;
             max-width: 620px;
             color: var(--text);
             font-size: 17px;
         }

         .reservations-grid {
             grid-template-columns: repeat(3, minmax(0, 1fr));
         }

         .reservation-course-card {
             border-top: 5px solid var(--accent);
             background: #fff;
             box-shadow: 8px 8px 0 #c7c7c7;
         }

         .reservation-course-card:hover {
             box-shadow: 12px 12px 0 #c7c7c7;
         }

         .reservation-course-card .course-name {
             color: var(--darkest);
         }

         .reservation-course-link {
             display: flex;
             align-items: center;
             justify-content: space-between;
             gap: 16px;
             margin-top: 24px;
             padding-top: 14px;
             border-top: 2px solid var(--gray-light);
             color: var(--darkest);
             font-weight: 800;
         }

         .reservation-course-link span {
             color: #697000;
             font-size: 22px;
             transition: transform 0.2s ease;
         }

         .reservation-course-card:hover .reservation-course-link span {
             transform: translateX(5px);
         }

         .reservations-empty {
             grid-column: 1 / -1;
             padding: 32px;
             background: #fff;
             text-align: center;
         }

         .reservation-page-content {
             margin-top: 64px;
             font-size: 16px;
             line-height: 1.7;
         }

         .reservation-page-content h2,
         .reservation-page-content h3,
         .reservation-page-content h4 {
             margin: 0 0 16px;
             color: var(--darkest);
         }

         .reservation-page-content p,
         .reservation-page-content ul,
         .reservation-page-content ol,
         .reservation-page-content blockquote,
         .reservation-page-content table {
             margin: 0 0 16px;
         }

         .reservation-page-content ul,
         .reservation-page-content ol {
             padding-left: 24px;
         }

         .reservation-page-content ul {
             list-style: disc;
         }

         .reservation-page-content ol {
             list-style: decimal;
         }

         .reservation-page-content a {
             color: #697000;
             text-decoration: underline;
         }

         .reservation-page-content img {
             height: auto;
             max-width: 100%;
         }

         .reservation-page-content table {
             width: 100%;
             border-collapse: collapse;
         }

         .reservation-page-content th,
         .reservation-page-content td {
             border: 1px solid var(--gray-light);
             padding: 8px 10px;
         }

         @media (max-width: 900px) {
             .reservations-grid {
                 grid-template-columns: repeat(2, minmax(0, 1fr));
             }
         }

         @media (max-width: 600px) {
             .reservations-grid {
                 grid-template-columns: 1fr;
             }

             .reservations-courses {
                 padding: 125px 0 64px;
             }

             .reservations-intro {
                 font-size: 15px;
             }

             .reservation-page-content {
                 margin-top: 44px;
             }
         }

         /* Public reservation course detail */
         .reservation-detail-page {
             min-height: 100vh;
             background: var(--white);
         }

         .reservation-detail-main {
             min-height: 55vh;
             padding: 145px 0 90px;
             background: var(--white);
         }

         .reservation-detail-container {
             min-width: 0;
         }

         .reservation-detail-heading {
             margin-bottom: 32px;
         }

         .reservation-detail-heading h1 {
             display: inline;
             position: relative;
             z-index: 1;
             color: var(--darkest);
             font-family: 'Jockey One', sans-serif;
             font-size: clamp(38px, 5vw, 56px);
             font-weight: 400;
             line-height: 1.1;
         }

         .reservation-course-content,
         .reservation-detail-intro {
             margin: 0 auto 34px;
             max-width: 900px;
             font-size: 17px;
             line-height: 1.7;
         }

         .reservation-course-content h2,
         .reservation-course-content h3,
         .reservation-course-content h4 {
             margin: 28px 0 12px;
             color: var(--darkest);
         }

         .reservation-course-content p,
         .reservation-course-content ul,
         .reservation-course-content ol,
         .reservation-course-content blockquote,
         .reservation-course-content table {
             margin: 0 0 16px;
         }

         .reservation-course-content ul,
         .reservation-course-content ol {
             padding-left: 24px;
         }

         .reservation-course-content ul {
             list-style: disc;
         }

         .reservation-course-content ol {
             list-style: decimal;
         }

         .reservation-course-content a {
             color: #697000;
             text-decoration: underline;
         }

         .reservation-course-content img {
             height: auto;
             max-width: 100%;
         }

         .reservation-course-content table {
             width: 100%;
             border-collapse: collapse;
         }

         .reservation-course-content th,
         .reservation-course-content td {
             border: 1px solid var(--gray-light);
             padding: 8px 10px;
         }

         .reservation-detail-status,
         .reservation-selected-term {
             margin: 0 auto 24px;
             max-width: 900px;
             border-left: 5px solid #697000;
             background: #f5f6db;
             padding: 14px 18px;
             color: var(--darkest);
         }

         .reservation-section-title,
         .reservation-application-form h2,
         .reservation-disabled-card h2 {
             margin: 0 0 18px;
             color: var(--darkest);
             font-family: 'Jockey One', sans-serif;
             font-size: 30px;
             font-weight: 400;
         }

         .reservation-term-list {
             display: grid;
             grid-template-columns: repeat(3, minmax(0, 1fr));
             gap: 14px;
             margin: 0 auto 36px;
         }

         .reservation-term-option {
             cursor: pointer;
         }

         .reservation-term-option input {
             position: absolute;
             width: 1px;
             height: 1px;
             opacity: 0;
         }

         .reservation-term-option span {
             display: block;
             height: 100%;
             border: 2px solid #d1d1d1;
             background: #fff;
             padding: 16px;
             color: var(--dark);
             font-weight: 700;
             transition: border-color 0.2s, background-color 0.2s, color 0.2s;
         }

         .reservation-term-option input:checked + span {
             border-color: var(--darkest);
             background: var(--darkest);
             color: #fff;
         }

         .reservation-term-option input:focus-visible + span {
             outline: 3px solid #697000;
             outline-offset: 3px;
         }

         .reservation-no-terms,
         .reservation-disabled-card {
             margin: 28px auto;
             max-width: 900px;
             background: #fff;
             padding: 28px;
             box-shadow: 5px 5px 0 #c7c7c7;
         }

         .reservation-disabled-card p {
             margin-bottom: 14px;
         }

         .reservation-contact-links {
             display: flex;
             flex-wrap: wrap;
             gap: 12px 28px;
         }

         .reservation-contact-links a,
         .reservation-consent a {
             color: #697000;
             font-weight: 800;
             text-decoration: underline;
         }

         .reservation-application-form {
             margin: 40px auto 0;
             max-width: 900px;
             border-top: 5px solid var(--accent);
             background: #fff;
             padding: 30px;
             box-shadow: 8px 8px 0 #c7c7c7;
         }

         .reservation-form-grid {
             display: grid;
             grid-template-columns: repeat(2, minmax(0, 1fr));
             gap: 18px;
         }

         .reservation-form-grid label,
         .reservation-country-field > label {
             display: block;
             color: var(--darkest);
             font-weight: 700;
         }

         .reservation-form-grid input,
         .reservation-country-combobox > input {
             display: block;
             width: 100%;
             margin-top: 6px;
             border: 1px solid #bdbdbd;
             background: #fff;
             padding: 11px 12px;
             color: var(--darkest);
             font: inherit;
         }

         .reservation-form-grid input:focus,
         .reservation-country-combobox > input:focus {
             outline: 2px solid #697000;
             outline-offset: 1px;
         }

         .reservation-form-wide {
             grid-column: 1 / -1;
         }

         .reservation-country-combobox {
             position: relative;
             margin-top: 6px;
         }

         .reservation-country-combobox > input {
             margin-top: 0;
             padding-right: 46px;
         }

         .reservation-country-combobox > button {
             position: absolute;
             top: 0;
             right: 0;
             width: 42px;
             height: 100%;
             border: 0;
             background: transparent;
             color: var(--darkest);
             font-size: 22px;
         }

         .reservation-country-combobox ul {
             position: absolute;
             top: 100%;
             right: 0;
             left: 0;
             z-index: 20;
             overflow: hidden;
             border: 1px solid #d1d1d1;
             background: #fff;
             padding: 4px 0;
             box-shadow: 3px 3px 0 rgb(20 20 20 / 0.16);
         }

         .reservation-country-combobox ul[hidden] {
             display: none;
         }

         .reservation-country-combobox li button {
             width: 100%;
             border: 0;
             background: #fff;
             padding: 10px 12px;
             text-align: left;
         }

         .reservation-country-combobox li button:hover,
         .reservation-country-combobox li button:focus {
             background: #f5f6db;
         }

         .reservation-country-hint {
             border-top: 1px solid #eee;
             padding: 9px 12px;
             color: #666;
             font-size: 12px;
         }

         .reservation-consent {
             display: flex;
             align-items: flex-start;
             gap: 12px;
             margin-top: 24px;
             color: #555;
             font-size: 14px;
         }

         .reservation-consent input {
             flex: 0 0 auto;
             margin-top: 5px;
         }

         .reservation-form-actions {
             display: flex;
             align-items: center;
             justify-content: flex-end;
             gap: 12px;
             margin-top: 26px;
         }

         .reservation-back-button,
         .reservation-submit-button {
             display: inline-flex;
             min-height: 48px;
             align-items: center;
             justify-content: center;
             border: 0;
             padding: 11px 20px;
             font: inherit;
             font-weight: 800;
         }

         .reservation-back-button {
             border: 2px solid var(--darkest);
             background: #fff;
             color: var(--darkest);
         }

         .reservation-back-button:hover {
             background: #f0f0f0;
         }

         .reservation-submit-button {
             background: var(--accent);
             color: var(--darkest);
         }

         .reservation-submit-button:hover {
             background: var(--accent-hover);
         }

         .reservation-validation-error {
             border-left: 5px solid #a22121;
             background: #fef2f2;
             padding: 12px 16px;
             color: #8a1c1c;
         }

         @media (max-width: 700px) {
             .reservation-detail-main {
                 padding: 125px 0 64px;
             }

             .reservation-term-list {
                 grid-template-columns: 1fr;
             }

             .reservation-application-form {
                 padding: 22px;
             }
         }

         @media (max-width: 520px) {
             .reservation-detail-heading {
                 margin-bottom: 24px;
             }

             .reservation-detail-intro,
             .reservation-course-content {
                 font-size: 15px;
             }

             .reservation-form-grid {
                 grid-template-columns: 1fr;
             }

             .reservation-form-wide {
                 grid-column: auto;
             }

             .reservation-form-actions {
                 align-items: stretch;
             }

             .reservation-back-button,
             .reservation-submit-button {
                 flex: 1;
                 padding-right: 10px;
                 padding-left: 10px;
                 text-align: center;
             }
         }
