
    /* ===== design tokens (single source of truth for the course-page template) ===== */
    :root{
      --ink:#0B2440; --sky:#0EA5E9; --sky-deep:#0277B6; --aqua:#22CFF5; --teal:#2DD4BF;
      --sun:#FF5A3C; --gold:#FFC53D; --coral:#FB7185; --violet:#7C3AED;
      --brand-grad:linear-gradient(135deg,#22CFF5,#00A8E4 45%,#0277B6);
      --radius-card:1.5rem; --radius-pill:9999px;
      --shadow-pop:0 22px 55px -18px rgba(11,36,64,.22);
      --gap-section:4rem; --pad-x:1rem;
    }
    /* ===== course page — app-style sticky action bar, shine, timeline, trust ===== */
    @media(max-width:1023px){ body{padding-bottom:calc(88px + env(safe-area-inset-bottom))} }
    .owbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;justify-content:space-between;gap:.5rem;
      padding:.5rem .55rem;
      background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
      border:1px solid rgba(11,36,64,.08);border-radius:9999px;box-shadow:0 16px 40px -14px rgba(11,36,64,.45);
      transform:translateY(150%);transition:transform .55s cubic-bezier(.19,1,.22,1)}
    .owbar.in{transform:none}
    .owbar-ic{position:relative;display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:9999px;color:#0B2440;background:#fff;border:1px solid rgba(11,36,64,.07);box-shadow:0 5px 14px -6px rgba(11,36,64,.35);text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s;-webkit-tap-highlight-color:transparent}
    .owbar-ic:hover{background:#F0F9FF;color:#0277B6;box-shadow:0 8px 18px -6px rgba(2,119,182,.4)}
    .owbar-ic:active{transform:scale(.9)}
    .owbar-ic svg{width:23px;height:23px;stroke-width:2.1}
    .owbar-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:9999px;background:#FF5A3C;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 2px 6px rgba(255,90,60,.5);border:2px solid #fff}
    .owbtn{position:relative;overflow:hidden;flex:none;width:60%;min-height:54px;padding:0 1.1rem;border:0;border-radius:9999px;cursor:pointer;font-family:inherit;font-weight:800;font-size:1.125rem;color:#fff;display:flex;align-items:center;justify-content:center;gap:.45rem;
      background:linear-gradient(135deg,#22CFF5,#00A8E4 45%,#0277B6);box-shadow:0 12px 26px -10px rgba(2,119,182,.75);transition:transform .18s;-webkit-tap-highlight-color:transparent}
    .owbtn:active{transform:scale(.96)}
    .owbtn .owprice{opacity:.9;font-weight:800}
    /* Russian only: the word «Забронировать» is longer than "Book now", so let the button grow + shrink the font a touch so the price isn't clipped. English pages are unaffected. */
    html[lang="ru"] .owbtn{flex:1 1 auto;width:auto;min-width:0;white-space:nowrap;font-size:1.0625rem}
    .owbtn::after{content:"";position:absolute;top:0;left:-160%;width:55%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:owshine 6.5s ease-in-out infinite}
    @keyframes owshine{0%{left:-160%}45%,100%{left:175%}}
    @media(min-width:1024px){ .owbar{left:50%;right:auto;max-width:40rem;padding:.45rem .5rem;transform:translate(-50%,150%)} .owbar.in{transform:translate(-50%,0)} }
    /* ===== desktop sticky top header (copied from home page) — mobile untouched ===== */
    .home-hdr{display:none}
    @media(min-width:1024px){
      .home-hdr{display:block;position:fixed;left:0;right:0;top:0;z-index:80;padding:0 1.5rem}
      .hh-bar{margin:.9rem auto 0;max-width:80rem;height:4rem;display:flex;align-items:center;gap:1.25rem;padding:0 .7rem 0 1.4rem;border-radius:9999px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border:1px solid rgba(255,255,255,.55);box-shadow:0 12px 34px -14px rgba(11,36,64,.28);transition:background .3s, box-shadow .3s}
      .home-hdr.scrolled .hh-bar{background:rgba(255,255,255,.96);box-shadow:0 14px 34px -14px rgba(11,36,64,.3)}
      .hh-logo{height:2.6rem;width:auto;flex:none}
      .hh-nav{display:flex;align-items:center;gap:.1rem;margin:0 auto}
      .hh-nav a{padding:.55rem .95rem;border-radius:9999px;font-weight:700;font-size:.92rem;color:rgba(11,36,64,.68);white-space:nowrap;transition:background .18s,color .18s}
      .hh-nav a:hover,.hh-nav a.on{background:#EAF6FD;color:#0B2440}
      .hh-right{display:flex;align-items:center;gap:.3rem;flex:none}
      .hh-ico{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#0B2440;transition:background .18s;background:transparent;border:0;cursor:pointer}
      .hh-ico:hover{background:#EAF6FD}
      .hh-ico svg{width:20px;height:20px}
      /* dropdowns for currency + language */
      .hh-dd{position:relative;margin-left:.2rem}
      .hh-dd-btn{display:flex;align-items:center;gap:.3rem;padding:.45rem .7rem;border-radius:9999px;font-size:.84rem;font-weight:800;color:rgba(11,36,64,.65);background:transparent;border:0;cursor:pointer;transition:background .18s,color .18s;font-family:inherit;white-space:nowrap}
      .hh-dd-btn:hover{background:#EAF6FD;color:#0B2440}
      .hh-dd-btn svg{width:14px;height:14px;transition:transform .2s}
      .hh-dd.open .hh-dd-btn{background:#EAF6FD;color:#0B2440}
      .hh-dd.open .hh-dd-btn svg{transform:rotate(180deg)}
      .hh-dd-menu{position:absolute;top:calc(100% + 12px);right:0;min-width:160px;background:#fff;border-radius:1rem;border:1px solid rgba(11,36,64,.08);box-shadow:0 18px 44px -16px rgba(11,36,64,.35);padding:.4rem;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:90}
      .hh-dd.open .hh-dd-menu{opacity:1;transform:none;pointer-events:auto}
      .hh-dd-menu a,.hh-dd-menu button{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .75rem;border-radius:.7rem;font-size:.88rem;font-weight:700;color:#0B2440;background:transparent;border:0;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s;white-space:nowrap}
      .hh-dd-menu a:hover,.hh-dd-menu button:hover{background:#F0F9FF}
      .hh-dd-menu .on{background:#EAF6FD;color:#0277B6}
      .hh-dd-menu .fl{width:22px;height:15px;border-radius:3px;overflow:hidden;flex:none;display:inline-flex;box-shadow:0 0 0 1px rgba(11,36,64,.12)}
      .hh-dd-menu .fl svg{width:100%;height:100%;display:block}
      /* keep hero content clear of the fixed header */
      main > section:first-of-type{padding-top:6.5rem}
      /* "Why learn" cards: spacing between cards on desktop (mobile stays flush) */
      .why-grid{gap:1px!important}
      .owbar{display:none}   /* the top header replaces the floating bottom bar on desktop */
    }
    /* ===== desktop fixed booking sidebar (>=1280px) ===== */
    /* sidebar column spans the content wrap only, so the card can never overlap hero or footer;
       the card is position:sticky inside it — pure CSS, no show/hide JS */
    #sideBook{display:none;position:absolute;top:28px;bottom:28px;right:32px;width:344px;z-index:60;pointer-events:none}
    .sb-card{position:sticky;top:92px;pointer-events:auto}
    .sb-card{background:#fff;border-radius:1.5rem;padding:1.5rem 1.4rem;border:1px solid rgba(11,36,64,.07);box-shadow:0 26px 60px -28px rgba(11,36,64,.4)}
    .sb-btn{position:relative;overflow:hidden;width:100%;min-height:52px;margin-top:1.1rem;padding:0 1rem;border:0;border-radius:9999px;cursor:pointer;font-family:inherit;font-weight:800;font-size:1rem;color:#fff;display:flex;align-items:center;justify-content:center;gap:.45rem;background:linear-gradient(135deg,#22CFF5,#00A8E4 45%,#0277B6);box-shadow:0 12px 26px -10px rgba(2,119,182,.75);transition:transform .18s}
    .sb-btn:hover{transform:translateY(-2px)}
    .sb-btn:active{transform:scale(.97)}
    .sb-btn::after{content:"";position:absolute;top:0;left:-160%;width:55%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:owshine 6.5s ease-in-out infinite}
    .bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
    /* desktop underwater wash behind the content column */
    #seaBubbles{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;display:none;contain:layout style paint}
    .sea-b{position:absolute;border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9) 0%,rgba(168,214,241,.30) 55%,rgba(120,190,230,.12) 100%);border:1px solid rgba(80,170,220,.35);animation:seaRise linear infinite;will-change:transform,opacity;transform:translateZ(0)}
    @keyframes seaRise{0%{transform:translateY(24px) scale(.9);opacity:0}18%{opacity:.9}82%{opacity:.7}100%{transform:translateY(-170px) scale(1);opacity:0}}
    @media(min-width:1280px){
      #sideBook{display:block}
      /* full-bleed color bands must stay inside the content column, never crossing into the sidebar gutter */
      .bleed{margin-left:0!important;margin-right:0!important;width:auto!important;border-radius:1.75rem}
      /* keep the content column a comfortable, consistent width so text never stretches */
      .has-side>.mx-auto{max-width:46rem}
      /* drop the tinted section background on desktop (mobile keeps it); aqua wash shows instead */
      .zone-tint{background:transparent!important}
      /* "What you'll learn" and "Why learn" cards stack vertically (one per row) on desktop */
      .learn-grid{grid-template-columns:1fr!important}
      .why-grid{grid-template-columns:1fr!important}
      /* stronger, more legible body text on desktop */
      #contentWrap .learn-grid p, #contentWrap .why-grid p, #contentWrap .tl-item p, #contentWrap .inc li, .zone-tint li{font-size:1.0625rem;font-weight:500}
      #contentWrap .text-ink\/55, #contentWrap .text-ink\/60{color:rgba(11,36,64,.82)}
      /* white border (not padding) so section background colors stop at the content column */
      .has-side{padding-left:3.5rem;padding-right:3.5rem;border-right:420px solid #fff;position:relative;background:transparent!important;z-index:1}
      /* rising bubbles behind the content column (no background tint) */
      #seaBubbles{display:block}
      /* chat avatar sits under the booking sidebar column on desktop; text bubble on the left of the avatar */
      #chatfab{left:auto!important;right:32px!important;bottom:2rem!important;flex-direction:row-reverse}
      #chatfab .chat-bubble::before{left:auto;right:-4px}
      /* thin divider line at the boundary between content and the sidebar gutter */
      .has-side::after{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:rgba(11,36,64,.09)}
      #priceCard{display:none}       /* desktop uses the fixed sidebar instead */
      .cta-btns{display:none}        /* final CTA buttons: booking sidebar owns the actions on desktop */
      .ov-grid{grid-template-columns:1fr;max-width:46rem}
    }
    @media (prefers-reduced-motion:reduce){ .owbtn::after{display:none} .owbar{transition:none} }
    /* vertical timeline */
    .tl{position:relative;padding-left:2.6rem}
    .tl::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:linear-gradient(#00A8E4,#CFEFFB)}
    .tl-item{position:relative;padding-bottom:1.6rem}
    .tl-item:last-child{padding-bottom:0}
    .tl-dot{position:absolute;left:-2.6rem;top:-2px;width:32px;height:32px;border-radius:50%;background:#00A8E4;color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 5px #EAF7FE}
    /* trust chips + lists */
    /* feature cards — copied from the home "We Make Diving Easy & Fun" section */
    .trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
    @media(min-width:820px){ .trust-grid{grid-template-columns:repeat(4,1fr);gap:1rem} }
    .wf-card{position:relative;overflow:hidden;background:#fff;border-radius:1.4rem;padding:1.1rem;border:1px solid rgba(11,36,64,.06);box-shadow:0 18px 40px -28px rgba(2,119,182,.45)}
    .wf-blob{position:absolute;top:-2.4rem;right:-2.4rem;width:7rem;height:7rem;border-radius:50%;filter:blur(6px);opacity:.6}
    .hap-turq{background-image:linear-gradient(135deg,#2DD4BF,#06B6D4)}
    .hap-aqua{background-image:linear-gradient(135deg,#34D399,#10B981)}
    .hap-coral{background-image:linear-gradient(135deg,#FF9A8B,#FB7185)}
    .hap-sun{background-image:linear-gradient(135deg,#FBBF24,#F59E0B)}
    .hap-violet{background-image:linear-gradient(135deg,#A78BFA,#7C3AED)}
    .tint-turq{background:#d3f6f1}.tint-aqua{background:#d8f7ea}.tint-coral{background:#ffe5e0}.tint-sun{background:#fdf3c8}.tint-violet{background:#ece7fd}
    /* auto-swapping stats badge under "Why learn" */
    .wl-badge{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.05rem;border-radius:9999px;background:#fff;border:1px solid rgba(11,36,64,.08);box-shadow:0 12px 26px -16px rgba(11,36,64,.4);font-weight:800;font-size:.95rem;color:#0B2440;white-space:nowrap;transition:transform .42s cubic-bezier(.33,1,.4,1),opacity .32s ease;will-change:transform,opacity;backface-visibility:hidden}
    .wl-badge.up{transform:translate3d(0,-140%,0);opacity:0}
    .wl-badge.down{transform:translate3d(0,140%,0);opacity:0;transition:none}
    .wl-badge-txt{display:inline-block}
    /* happy colorful feature cards (first thing after the hero) */
    .wf-ico{width:3.35rem;height:3.35rem;border-radius:1.05rem;display:grid;place-items:center;color:#fff;box-shadow:0 12px 24px -9px rgba(11,36,64,.4)}
    .wf-aqua{background:#E4FBF2;border-color:rgba(16,185,129,.28)!important;box-shadow:0 22px 46px -26px rgba(16,185,129,.6)!important}
    .wf-coral{background:#FFECEA;border-color:rgba(244,63,94,.26)!important;box-shadow:0 22px 46px -26px rgba(244,63,94,.55)!important}
    .wf-sun{background:#FFF6D4;border-color:rgba(245,158,11,.34)!important;box-shadow:0 22px 46px -26px rgba(245,158,11,.6)!important}
    .wf-violet{background:#F0EAFF;border-color:rgba(124,58,237,.26)!important;box-shadow:0 22px 46px -26px rgba(124,58,237,.55)!important}
    .hap-sky{background-image:linear-gradient(135deg,#38BDF8,#0284C7)}
    .wf-sky{background:#E3F3FE;border-color:rgba(2,132,199,.26)!important;box-shadow:0 22px 46px -26px rgba(2,132,199,.55)!important}
    .hap-orange{background-image:linear-gradient(135deg,#FF9A4D,#F97316)}
    .wf-orange{background:#FFF0E1;border-color:rgba(249,115,22,.30)!important;box-shadow:0 22px 46px -26px rgba(249,115,22,.55)!important}
    .rvw{overflow:hidden;margin-top:1.15rem;max-width:640px;margin-left:auto;margin-right:auto;touch-action:pan-y}
    .rvw-stage{position:relative;max-width:640px;margin:0 auto}
    .rvw-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.82);color:#0B2440;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px -7px rgba(11,36,64,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s}
    .rvw-nav:hover{background:#fff}
    .rvw-prev{left:-2px}.rvw-next{right:-2px}
    .rvw-track{display:flex;transition:transform .7s cubic-bezier(.4,0,.2,1);will-change:transform}
    .rvw-slide{flex:0 0 100%;padding:0 .4rem;box-sizing:border-box}
    .rvw-card{background:#fff;border-radius:1.4rem;padding:1.7rem 1.5rem;border:1px solid rgba(11,36,64,.06);box-shadow:0 18px 40px -28px rgba(2,119,182,.45);text-align:center}
    .rvw-stars{color:#FFC53D;letter-spacing:2px;font-size:1rem}
    .rvw-quote{margin-top:.7rem;font-size:1.02rem;font-weight:600;line-height:1.6;color:rgba(11,36,64,.85)}
    .rvw-name{margin-top:1rem;font-weight:800;color:#0B2440}
    .rvw-meta{font-size:.8rem;font-weight:700;color:rgba(11,36,64,.42);margin-top:.1rem}
    .rvw-g{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;font-size:.72rem;font-weight:800;color:rgba(11,36,64,.5)}
    .rvw-dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}
    .rvw-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(11,36,64,.18);cursor:pointer;padding:0;transition:all .3s}
    .rvw-dots button.on{background:#0277B6;width:22px;border-radius:4px}
    .rvw-all{transition:transform .18s ease,box-shadow .18s ease}
    .rvw-all:hover{transform:translateY(-2px)}
    .gal{position:relative;max-width:920px;margin:0 auto;overflow:hidden;border-radius:1.4rem;box-shadow:0 24px 60px -30px rgba(2,119,182,.5)}
    .gal-track{display:flex;transition:transform .38s cubic-bezier(.22,1,.36,1);will-change:transform;touch-action:pan-y}
    .gal-slide{flex:0 0 100%;position:relative;height:clamp(380px,72vw,460px)}
    .gal-slide picture{display:block;height:100%}
    .gal-slide img{display:block;width:100%;height:100%;object-fit:cover}
    .gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.45);color:#0B2440;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px -8px rgba(0,0,0,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s}
    .gal-nav:hover{background:rgba(255,255,255,.8)}
    @media (max-width:640px){.gal-nav{width:40px;height:40px;background:rgba(255,255,255,.34)}.gal-prev{left:.4rem}.gal-next{right:.4rem}}
    .partner-tape{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
    .partner-track{gap:0!important;animation-duration:12s;will-change:transform}
    .partner-track:hover{animation-play-state:paused}
    .partner-logo{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;margin-right:.9rem;padding:.55rem 1.1rem;border-radius:9999px;background:#fff;border:1px solid rgba(11,36,64,.08);box-shadow:0 10px 24px -14px rgba(11,36,64,.35);font-size:.85rem;font-weight:800;color:#0B2440}
    .partner-logo img{height:1.7rem;width:auto;display:block}
    /* ===== footer (copied from home page) ===== */
    .foot-link{transition:color .15s}.foot-link:hover{color:#27C4F2}
    .fw-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1rem;background:#fff;border-radius:1.35rem;padding:1.25rem 1.4rem;margin-bottom:2.75rem;box-shadow:0 20px 44px -24px rgba(2,119,182,.5),0 0 0 1px rgba(11,36,64,.05)}
    .fw-card-label{display:flex;align-items:center;justify-content:center;gap:.55rem}
    .fw-label-txt{text-align:center}
    .fw-line1{display:block;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#0277B6}
    .fw-line2{display:block;margin-top:.2rem;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:#0B2440}
    .fw-card-stats{display:flex;align-items:center;gap:1.25rem}
    .fw-stat{display:flex;align-items:center;gap:.65rem}
    .fw-chip{width:2.4rem;height:2.4rem;padding:.55rem;border-radius:.85rem;background:linear-gradient(135deg,#27C4F2,#00A8E4);color:#fff;flex:none;box-sizing:border-box;box-shadow:0 8px 18px -8px rgba(0,168,228,.65)}
    .fw-num{font-size:1.45rem;font-weight:800;color:#0B2440;line-height:1}
    .fw-cap{margin-top:.2rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:rgba(11,36,64,.5)}
    .fw-sep{width:1px;height:2.2rem;background:rgba(11,36,64,.1)}
    @media(max-width:420px){.fw-card-stats{gap:.9rem}.fw-num{font-size:1.25rem}}
    @media(min-width:640px){br.mbr{display:none}}
    .lw-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:none;animation:chatPulse 1.8s ease-out infinite}
    /* off-screen continuous animations get paused by an IntersectionObserver (saves CPU/battery on mobile) */
    .anim-paused .partner-track,.anim-paused .bubble,.anim-paused .parallax>use{animation-play-state:paused!important}
    /* WhatsApp chat widget (left, appears after scroll) */
    #chatfab{position:fixed;left:12px;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:65;display:flex;align-items:center;gap:10px;text-decoration:none;opacity:0;transform:translateY(14px) scale(.95);pointer-events:none;transition:opacity .45s ease,transform .45s cubic-bezier(.19,1,.22,1)}
    #chatfab.show{opacity:1;transform:none;pointer-events:auto}
    .chat-av{position:relative;width:56px;height:56px;flex:none}
    .chat-ring{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 10px 24px -6px rgba(11,36,64,.45)}
    .chat-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
    .chat-av img.on{opacity:1}
    .chat-dot{position:absolute;right:2px;bottom:2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid #fff;z-index:2;animation:chatPulse 1.8s ease-out infinite}
    @keyframes chatPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
    .chat-bubble{position:relative;background:#fff;border-radius:16px;padding:8px 12px;box-shadow:0 12px 30px -10px rgba(11,36,64,.35);opacity:0;transform:translateX(-8px) scale(.92);transform-origin:left center;pointer-events:none;transition:opacity .4s ease,transform .4s cubic-bezier(.19,1,.22,1)}
    .chat-bubble.on{opacity:1;transform:none;pointer-events:auto}
    .chat-bubble::before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%) rotate(45deg);width:9px;height:9px;background:#fff;border-radius:2px}
    .chat-bubble .t{display:block;font-size:13px;font-weight:800;color:#0B2440;line-height:1.2;white-space:nowrap}
    .chat-bubble .s{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:rgba(11,36,64,.55);margin-top:2px;white-space:nowrap}
    .chat-bubble .s i{width:7px;height:7px;border-radius:50%;background:#22c55e;flex:none}
    .gal-prev{left:.7rem}.gal-next{right:.7rem}
    .gal-dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}
    .gal-dots button{position:relative;width:8px;height:8px;border-radius:50%;border:0;background:rgba(11,36,64,.18);cursor:pointer;padding:0;transition:all .3s}
    .gal-dots button::after{content:"";position:absolute;inset:-15px}
    .gal-dots button.on{background:#0277B6;width:22px;border-radius:4px}
    .gold-seal{font-weight:800;letter-spacing:.14em;font-size:1.15rem;background:linear-gradient(180deg,#E9B93C,#B9840F);-webkit-background-clip:text;background-clip:text;color:transparent}
    .gold-seal.shine{background-image:linear-gradient(100deg,#B9840F 0%,#B9840F 40%,#E7B24A 47%,#FFFBEC 50%,#E7B24A 53%,#B9840F 60%,#B9840F 100%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;animation:awshine 7s ease-in-out infinite}
    .gold-seal.shine.anim-paused{animation-play-state:paused!important}
    @keyframes awshine{0%{background-position:135% 50%}40%{background-position:-35% 50%}100%{background-position:-35% 50%}}
    .gold-stars{color:#E0A82E;letter-spacing:3px;font-size:1.05rem;filter:drop-shadow(0 1px 1px rgba(160,110,10,.35))}
    /* Trustindex review card: crisp white card that pops on the tinted band */
    .ti-widget .ti-inner{background:#fff!important;box-shadow:none!important;border:1px solid rgba(11,36,64,.05)!important}
    /* animated layered wave — same as the home page hero */
    .hero-waves{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:64px; z-index:3; }
    .hero-waves-svg{ display:block; width:100%; height:100%; }
    .hero-waves .parallax > use{ animation:heroWaveMove 25s cubic-bezier(.55,.5,.45,.5) infinite; }
    .hero-waves .parallax > use:nth-child(1){ animation-delay:-2s; animation-duration:8s; }
    .hero-waves .parallax > use:nth-child(2){ animation-delay:-3s; animation-duration:11s; }
    .hero-waves .parallax > use:nth-child(3){ animation-delay:-4s; animation-duration:14s; }
    .hero-waves .parallax > use:nth-child(4){ animation-delay:-5s; animation-duration:22s; }
    @keyframes heroWaveMove{ 0%{ transform:translate3d(-90px,0,0);} 100%{ transform:translate3d(85px,0,0);} }
    /* hero CTA button — warm gradient + shine sweep */
    .hero-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,#FF8A4C 0%,#FF5A3C 50%,#F4433C 100%);box-shadow:0 18px 40px -12px rgba(255,90,60,.8);transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;-webkit-tap-highlight-color:transparent}
    .hero-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 26px 52px -12px rgba(255,90,60,.95)}
    .hero-btn:active{transform:translateY(0) scale(.97)}
    .hero-btn>*{position:relative;z-index:1}
    .hero-btn::after{content:"";position:absolute;top:0;left:-150%;width:55%;height:100%;transform:skewX(-20deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:owshine 6.5s ease-in-out infinite;pointer-events:none}
    @media (prefers-reduced-motion:reduce){ .hero-btn::after{display:none} }
    .inc li,.req li{display:flex;gap:.55rem;align-items:flex-start}
    .req li>span{flex:none}
    .tick{color:#0F9D6B;flex:none;font-weight:900}
    .cross{color:#F0603F;flex:none;font-weight:900}
    /* menu popup sheet (same as home) */
    .sheet{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
    .sheet.show{opacity:1;pointer-events:auto}
    .sheet-bg{position:absolute;inset:0;background:rgba(11,36,64,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
    .sheet-card{position:relative;width:100%;max-width:30rem;background:#fff;border-radius:1.5rem 1.5rem 0 0;padding:1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 -20px 50px -20px rgba(11,36,64,.5);transform:translateY(100%);transition:transform .4s cubic-bezier(.19,1,.22,1);max-height:85vh;overflow-y:auto}
    .sheet.show .sheet-card{transform:none}
    .sheet-handle{display:block;width:40px;height:4px;border-radius:99px;background:rgba(11,36,64,.15);margin:.15rem auto 1rem}
    .sheet-title{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-.01em;margin-bottom:.6rem}
    .sheet-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgba(11,36,64,.4);margin:1.25rem 0 .6rem}
    .sheet-links{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
    .sheet-links a{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-radius:1rem;font-weight:800;font-size:.95rem;color:#0B2440;background:#F4FAFE;transition:background .2s}
    .sheet-links a:hover{background:#E0F2FE}
    .sheet-langs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
    .lang-pill{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.7rem;border-radius:9999px;font-weight:800;font-size:.9rem;color:#0B2440;background:#F4FAFE;transition:background .2s}
    .lang-pill:hover{background:#E0F2FE}
    .lang-pill.on{background:#00A8E4;color:#fff}
    .lang-pill .fl{width:23px;height:16px;border-radius:3px;overflow:hidden;flex:none;display:inline-flex;box-shadow:0 0 0 1px rgba(11,36,64,.12)}
    .lang-pill .fl svg{width:100%;height:100%;display:block}
    /* account row */
    .sheet-acc{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border-radius:1.1rem;background:linear-gradient(135deg,#E0F2FE,#F4FAFE);border:1px solid rgba(2,119,182,.14);text-decoration:none;color:#0B2440}
    .sheet-acc:hover{background:linear-gradient(135deg,#D2ECFC,#EAF6FE)}
    .sheet-acc-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#22CFF5,#0277B6);color:#fff;box-shadow:0 8px 18px -8px rgba(2,119,182,.7)}
    .sheet-acc .txt{flex:1;min-width:0}
    .sheet-acc .txt b{display:block;font-size:1rem;font-weight:800}
    .sheet-acc .txt small{display:block;font-size:.78rem;font-weight:600;color:rgba(11,36,64,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .sheet-acc .chev{color:rgba(11,36,64,.3);flex:none}
    /* currency switcher */
    .sheet-cur{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
    .cur-pill{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.55rem;border-radius:1rem;font-weight:800;font-size:.95rem;color:#0B2440;background:#F4FAFE;border:1.5px solid transparent;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
    .cur-pill small{font-size:.68rem;font-weight:700;color:rgba(11,36,64,.5)}
    .cur-pill:hover{background:#E0F2FE}
    .cur-pill.on{background:#00A8E4;color:#fff;border-color:#00A8E4}
    .cur-pill.on small{color:hsla(0,0%,100%,.85)}
    /* no entrance animations — elements are visible immediately */
    .rv,.rv-s{opacity:1!important;transform:none!important;transition:none!important}
    .mark:after{transform:scaleX(1)!important;transition:none!important}

    /* ===== course template enhancements (2026) ===== */
    html,body{overflow-x:clip}
    /* refined, lighter shadow for the sticky booking card */
    .sb-card{box-shadow:0 2px 5px rgba(11,36,64,.05),0 20px 44px -20px rgba(11,36,64,.28)}
    /* gallery: square + flush (no rounded corners, no shadow) */
    .gal{border-radius:0;box-shadow:none}
    /* logo tape: driven by the rAF scroller in course.js (avoids CSS-loop restart flicker);
       these rules are the no-JS fallback + never freeze on touch-hover */
    @keyframes mq3d{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    .partner-track{animation-name:mq3d;animation-duration:9s;animation-timing-function:linear;will-change:auto}
    @media (hover:none){.partner-track:hover{animation-play-state:running}}
    /* trim particle count for smoother mobile compositing */
    #bubbles .bubble:nth-of-type(n+9),#bubbles2 .bubble:nth-of-type(n+6){display:none}
    /* phones + tablets: full-bleed hero photo & gallery, single-column overview/curriculum */
    @media (max-width:1023px){
      .ov-grid,.learn-grid{grid-template-columns:1fr!important}
      .gal,.course-hero-photo{max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
      .course-hero-photo{box-shadow:none}
    }
    /* FAQ accordion (native <details>/<summary> — no JS, content stays in the DOM for SEO/AI) */
    .faq{border:1px solid rgba(11,36,64,.10);border-radius:1.25rem;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(11,36,64,.05),0 14px 34px -16px rgba(11,36,64,.14)}
    .faq-i{border-top:1px solid rgba(11,36,64,.08)}
    .faq-i:first-child{border-top:0}
    .faq-i>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.2rem;font-weight:800;color:#0B2440;font-size:1.02rem;line-height:1.35}
    .faq-i>summary::-webkit-details-marker{display:none}
    .faq-i>summary:hover{background:rgba(2,132,199,.04)}
    .faq-i>summary::after{content:"";flex:none;width:10px;height:10px;margin-right:.15rem;border-right:2.5px solid #0288C7;border-bottom:2.5px solid #0288C7;transform:rotate(45deg);transition:transform .25s}
    .faq-i[open]>summary{color:#0277B6}
    .faq-i[open]>summary::after{transform:rotate(-135deg)}
    .faq-a{padding:0 1.2rem 1.15rem;color:rgba(11,36,64,.85);font-weight:500;line-height:1.6;font-size:17.5px}
  