: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;max-width:1100px;margin-inline:auto;padding-block:16px;padding-inline:28px;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}.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{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-top:40px;padding:35px}.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::-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}.faq-a p{margin:0 0 .85rem}.faq-a p:last-child{margin-bottom:0}.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)}.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)}}
