:root{--hc-navy:#1e2a44;--hc-navy-dark:#0b1220;--hc-accent:#e30613;--hc-accent-dark:#c50510;--hc-ink:#111827;--hc-muted:#6b7280;--hc-line:#e5e7eb;--hc-bg:#f8fafc;--hc-navy-hover:#243255;--hc-white:#fff;--hc-radius:12px;--hc-shadow:0 1px 2px #0000000a;--navy:var(--hc-navy);--navy2:var(--hc-navy-dark);--accent:var(--hc-accent);--accent2:var(--hc-accent-dark);--ink:var(--hc-ink);--muted:var(--hc-muted);--line:var(--hc-line);--bg:var(--hc-bg);--red:var(--hc-accent);--blue:var(--hc-navy);--divider:#1118271f;--bg-main:#f1f5f9;--text:#334155;--focus:#3b82f6;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--white);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--navy);text-decoration:none;transition:color .2s}a:hover{color:var(--red)}.wrap{max-width:1100px;margin:0 auto;padding:0 28px}.site-header{background:var(--navy);color:var(--white);box-shadow:0 2px 10px #0000001a}.site-header .bar{justify-content:space-between;align-items:center;padding-block:16px;display:flex}.site-header .logo{width:auto;height:48px;display:block}.site-header .divider{background:var(--red);height:6px}.breadcrumbs{background:var(--white);color:var(--muted);border-bottom:1px solid #f1f5f9;padding:15px 0;font-size:.85rem;display:none!important}.breadcrumbs ol{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.breadcrumbs li:after{content:"/";color:#cbd5e1;margin-left:8px}.breadcrumbs li:last-child:after{content:""}.breadcrumbs a{color:inherit}.breadcrumbs a:hover{text-decoration:underline}.hero-section{background:var(--white);border-bottom:1px solid var(--line);padding-top:30px;padding-bottom:30px}.title-row{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.title-content{flex:1}h1{color:var(--navy);letter-spacing:-.025em;margin:0 0 15px;font-size:2.4rem;font-weight:700;line-height:1.1}.lead{color:var(--muted);max-width:700px;margin-top:0;margin-bottom:25px;font-size:1.15rem}.underline{border-bottom:3px solid var(--red);color:var(--navy);padding-bottom:8px;display:inline-block}.course-section-title{border-bottom:3px solid var(--red);color:var(--navy);letter-spacing:-.02em;width:fit-content;max-width:100%;margin:0 0 20px;padding-bottom:8px;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:700;line-height:1.2;display:inline-block}.testimonials-zone .course-section-title{color:#fff;border-bottom-color:var(--navy)}.testimonials-zone{background-color:var(--red,#e30613);border-top:1px solid #e5e7eb;padding:40px 0;position:relative;overflow:hidden}.testimonials-zone:before{content:"";z-index:0;pointer-events:none;transform-origin:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='4' stroke-linejoin='round' stroke-linecap='round' opacity='0.36' d='M14 14h32a10 10 0 0 1 10 10v16a10 10 0 0 1-10 10H32l-12 10v-10H14a10 10 0 0 1-10-10V24a10 10 0 0 1 10-10z'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat;background-size:72px 72px;position:absolute;inset:-100%;transform:rotate(-28deg)}.testimonials-zone>.wrap{z-index:1;position:relative}.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.review-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:10px;min-height:0;padding:12px 14px;display:flex}.review-card__top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.review-card__stars{flex-shrink:0;gap:2px;line-height:1;display:flex}.review-card__text{color:#374151;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.82rem;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.review-card__meta{color:#111827;text-align:right;justify-content:flex-end;align-items:center;gap:4px;min-width:0;margin:0;font-size:.75rem;font-weight:700;line-height:1.3;display:flex}.review-card__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-card__check{color:#10b981;flex-shrink:0;width:13px;height:13px}.review-card__date{opacity:.7;flex-shrink:0;font-weight:400}@media (width<=900px){.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.testimonials-zone{padding:32px 0}.testimonials-grid{grid-template-columns:1fr}.review-card__text{-webkit-line-clamp:5;line-clamp:5}}.rating-display{color:#1e293b;align-items:center;gap:6px;margin-bottom:8px;font-size:1rem;font-weight:700;display:inline-flex}.rating-display svg{color:#facc15;fill:currentColor;width:20px;height:20px}.feat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:25px;display:grid}.feat-item{color:var(--navy);align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.feat-item svg{width:22px;height:22px;color:var(--red);flex-shrink:0}.cat-wrap img{-o-object-fit:contain;object-fit:contain;width:120px;height:120px}.booking-zone{background:var(--bg-main);padding-top:40px;padding-bottom:40px}.date-card{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--navy);white-space:nowrap;border-radius:12px;grid-template-columns:160px 1fr auto auto;align-items:center;gap:20px;margin-bottom:15px;padding:15px 20px;transition:all .2s;display:grid;box-shadow:0 2px 4px #00000005}.date-card:hover{border-color:var(--red);border-left-color:var(--red)}.date-when{color:var(--navy);font-size:1.1rem;font-weight:700}.date-time{color:var(--muted);font-size:.85rem}.date-loc strong a{color:var(--navy)}.date-card.group-card{background-color:var(--navy);color:var(--white);border-left:4px solid var(--red)}.date-card.group-card .date-when,.date-card.group-card strong,.date-card.group-card .date-time,.date-card.group-card .date-loc{color:var(--white)}.date-card.group-card .price-pill{border:1px solid var(--red);color:var(--white);background-color:#0000}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px 20px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn.primary{background:var(--red);color:var(--white)}.btn.primary:hover{background:var(--navy)}.btn.navy{background:var(--navy);color:var(--white)}.btn.navy:hover{background:#0f172a}.date-card.group-card .btn.navy{background-color:var(--white);color:var(--navy)}.price-pill{border:1px solid var(--red);color:var(--navy);white-space:nowrap;border-radius:999px;padding:6px 16px;font-weight:700;display:inline-block}.syllabus-box,.local-seo-box{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-top:40px;padding:35px}.local-seo-box p{color:#334155;margin:0 0 12px;font-size:1rem;line-height:1.65}.local-seo-box p:last-child{margin-bottom:0}.location-guide{background:linear-gradient(135deg, var(--navy) 0%, #162038 55%, #0f172a 100%);color:#fff;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;padding:56px 0;position:relative;overflow:hidden}.location-guide__inner{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px 40px;display:grid}.location-guide--has-media .location-guide__inner{grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:"title media""lead media""body media"}.location-guide__title{color:#fff;border-bottom-color:var(--red);grid-area:auto;justify-self:start}.location-guide--has-media .location-guide__title{grid-area:title;margin-bottom:0}.location-guide__media{grid-area:media;place-self:start end;width:240px;height:240px;margin:0}.location-guide__media img{-o-object-fit:cover;object-fit:cover;border:3px solid #ffffff59;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 12px 30px #00000047}.location-guide__lead{color:#ffffffeb;grid-area:auto;max-width:46rem;margin:0 0 28px;font-size:1.08rem;line-height:1.65}.location-guide--has-media .location-guide__lead{grid-area:lead;margin:10px 0 0}.location-guide__body{grid-area:auto}.location-guide--has-media .location-guide__body{grid-area:body}.location-guide__columns{border-top:1px solid #ffffff38;grid-template-columns:1fr 1fr;gap:28px 56px;padding-top:24px;display:grid}.location-guide__block+.location-guide__block{border-left:1px solid #ffffff38;margin-left:-28px;padding-left:56px}.location-guide__block h3{color:#fff;margin:0 0 10px;font-size:1.2rem;font-weight:700;line-height:1.25}.location-guide__block p{color:#ffffffe6;margin:0;font-size:1rem;line-height:1.65}@media (width<=768px){.location-guide{padding:40px 0}.location-guide--has-media .location-guide__inner{grid-template-columns:minmax(0,1fr) 112px;grid-template-areas:"title title""lead media""body body";align-items:center;gap:14px 16px}.location-guide__media{justify-self:end;width:112px;height:112px}.location-guide--has-media .location-guide__lead{margin:0;font-size:1rem;line-height:1.55}.location-guide__columns{grid-template-columns:1fr;gap:22px}.location-guide__block+.location-guide__block{border-top:1px solid #1e2a441f;border-left:0;margin-left:0;padding-top:22px;padding-left:0}}.syllabus-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.syllabus-grid div{white-space:normal;padding-left:30px;font-size:.95rem;position:relative}.syllabus-grid div:before{content:"✓";color:#10b981;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:2px;left:0}.nearby-zone{border-top:1px solid var(--line);margin-top:30px;padding-top:15px}.nearby-label{text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:.75rem;font-weight:700}.loc-tag{color:var(--navy);margin-right:12px;font-size:.9rem;font-weight:500;display:inline-block}.loc-tag:hover{color:var(--red);text-decoration:underline}.faq-zone{background:var(--white);padding-top:30px;padding-bottom:20px}details{background:var(--white);border:1px solid #cbd5e1;border-radius:8px;margin-bottom:10px;overflow:hidden}details>summary{cursor:pointer;color:var(--navy);padding:15px 50px 15px 15px;font-weight:700;list-style:none;position:relative}details>summary .faq-q{font:inherit;font-weight:inherit;color:inherit;line-height:inherit;margin:0;padding:0}details>summary::-webkit-details-marker{display:none}details>summary:hover,details>summary:active,details[open]>summary{color:var(--red)}details>summary:after{content:"+";color:var(--red);font-size:1.5rem;font-weight:300;transition:transform .2s;position:absolute;top:50%;right:20px;transform:translateY(-50%)}details[open]>summary:after{transform:translateY(-50%)rotate(45deg)}.faq-a{color:var(--text);padding:0 15px 15px;font-size:1rem;line-height:1.6}.faq-a p,.faq-a ul,.faq-a ol,.faq-a li,.faq-a h2,.faq-a h3,.faq-a h4{font-size:inherit;line-height:inherit}.faq-a p{margin:0 0 .85rem}.faq-a p:last-child{margin-bottom:0}.faq-a ul,.faq-a ol{margin:0 0 .85rem;padding-left:1.35rem}.faq-a ul:last-child,.faq-a ol:last-child{margin-bottom:0}.faq-a li{margin:0 0 .35rem}.faq-a li:last-child{margin-bottom:0}.faq-a strong,.faq-a b{color:var(--navy);font-weight:700}.faq-a em,.faq-a i{font-style:italic}.faq-a br{content:"";margin-bottom:.85rem;display:block}.faq-zone .faq-a a{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:1px}.faq-zone .faq-a a:hover{color:var(--red)}.same-city-courses-band{background:#eef2f7;border-top:1px solid #dbe3ee;border-bottom:1px solid #dbe3ee;padding:42px 0 48px}.same-city-courses-band .course-section-title{margin-bottom:1.25rem}.same-city-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.same-city-course-tile{color:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:14px;align-items:center;gap:1rem;min-height:100%;padding:1rem 1.1rem;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.same-city-course-tile:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 10px 22px -14px #0f172a59}.same-city-course-media{background:#e2e8f0;border:1px solid #dbe3ee;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex;overflow:hidden}.same-city-course-media img,.same-city-course-media picture{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.same-city-course-copy{flex-direction:column;gap:.3rem;min-width:0;display:flex}.same-city-course-name{color:var(--navy);font-size:1.1rem;font-weight:800;line-height:1.3}.same-city-course-tile:hover .same-city-course-name{color:var(--red)}.same-city-course-desc{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}@media (width<=700px){.same-city-courses-grid{grid-template-columns:1fr}.same-city-course-media{width:56px;height:56px}}.related-courses-zone{background:var(--white);padding:28px 0 40px}.related-courses-subtitle{color:var(--navy);margin:1.5rem 0 .75rem;font-size:1.15rem}.related-courses-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.related-courses-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem 1rem}.related-courses-list a{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:3px;font-weight:700}.related-courses-desc{color:#64748b;margin-top:.25rem;font-size:.95rem;line-height:1.5;display:block}.sticky-footer{background:var(--white);z-index:1000;border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 20px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #0000001a}footer{color:#aab6d6;background:#050812;margin-top:0;padding:32px 0}.footer-inner{font-size:.9rem}.search{width:100%;max-width:420px;margin-bottom:20px}.search input{border:2px solid var(--line);width:100%;font:inherit;border-radius:8px;padding:12px 14px;transition:all .2s}.search input:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #3b82f61a}@media (width<=768px){.title-row{display:block;position:relative}.title-content{padding-right:0}.cat-wrap{width:120px;height:120px;margin-bottom:10px;display:block;position:absolute;bottom:0;right:0}.cat-wrap img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.feat-grid{flex-direction:column;grid-template-columns:1fr;justify-content:center;min-height:120px;padding-right:130px;display:flex}.date-card{text-align:center;white-space:normal;grid-template-columns:1fr;gap:10px}.syllabus-grid{grid-template-columns:1fr}.sticky-footer{display:flex}.hero-section,.booking-zone,.faq-zone{padding-top:25px;padding-bottom:25px}.btn{width:100%}.date-cta{flex-direction:column;width:100%}}.course-overview-dates-map{align-items:start;gap:28px 36px;width:100%;margin-bottom:12px;display:grid}.course-overview-dates-map__dates,.course-overview-dates-map__map{min-width:0}@media (width>=768px){.course-overview-dates-map:not(.course-overview-dates-map--no-map){grid-template-columns:minmax(0,1fr) minmax(240px,38%)}.course-overview-dates-map__map{z-index:2;align-self:start;position:sticky;top:1rem}}.course-overview-map-el{border:1px solid var(--line);z-index:1;background-color:#f8f9fa;border-radius:12px;width:100%;height:min(42vh,320px);position:relative}@media (width<=767px){.course-overview-map-el{height:min(48vh,360px)}}@media (width<=640px){.wrap{padding:0 15px}}
