:root{--navy:#021336;--teal:#00a7b5;--coral:#ff4d3f;--paper:#fff;--muted:#667085;--line:#e8edf2;--ink:#11213d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff}html[dir=rtl] body{font-family:"Noto Sans Arabic","Noto Kufi Arabic",Tahoma,Arial,sans-serif;font-feature-settings:"kern" 1}html[dir=rtl] body .hero h1,html[dir=rtl] body .corporate h2,html[dir=rtl] body .program-grid h3,html[dir=rtl] body .contact h2,html[dir=rtl] body .stat strong{font-family:"Noto Kufi Arabic","Noto Sans Arabic",Tahoma,Arial,sans-serif;letter-spacing:0}html[dir=rtl] body .hero h1{line-height:1.22;font-weight:800}html[dir=rtl] body .hero p{line-height:1.9}html[dir=rtl] body .nav,html[dir=rtl] body .btn,html[dir=rtl] body .eyebrow,html[dir=rtl] body .pillars h3{letter-spacing:0;text-transform:none}.site-header{min-height:138px;display:grid;grid-template-columns:300px 1fr auto;align-items:center;gap:20px;padding:8px 6.5vw 10px;border-bottom:1px solid rgba(2,19,54,.05);position:relative;z-index:20;background:rgba(255,255,255,.96)}.brand{width:160px;height:118px;text-decoration:none;display:flex;align-items:center;justify-content:flex-start;align-self:center;padding:4px 0}.brand-logo{display:block;width:150px;height:auto;max-height:112px;object-fit:contain;object-position:left center}.nav{display:flex;justify-content:center;gap:34px;font-size:12px;text-transform:uppercase;font-weight:700}.nav a,.langs a{text-decoration:none;color:var(--navy)}.nav a{position:relative;padding:12px 0}.nav a.active:after{content:"";position:absolute;left:0;bottom:3px;width:22px;height:2px;background:var(--coral)}.header-actions{display:flex;align-items:center;gap:18px}.langs{display:flex;gap:8px;font-size:11px}.langs .current{color:var(--teal);font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:15px 22px;border-radius:5px;text-decoration:none;border:1px solid transparent;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.btn-dark{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy);border-color:#91a0b5}.btn-coral{background:var(--coral);color:#fff}.play{display:grid;place-items:center;border:2px solid var(--navy);width:24px;height:24px;border-radius:50%;font-size:9px}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--navy)}
.hero{min-height:540px;position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fff 39%,#f8f8f6 63%,#edf0f1 100%)}.hero-content{position:relative;z-index:4;width:48%;padding:72px 0 66px 7.2vw}.eyebrow{color:#008fa0;font-size:12px;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;gap:16px}.eyebrow i,.section-heading i{display:inline-block;width:36px;height:2px;background:var(--teal)}.hero h1{font-family:Georgia,serif;color:var(--navy);font-size:49px;line-height:.94;margin:28px 0 24px;font-weight:700;letter-spacing:-.03em}.hero h1 span{color:#0495a8}.hero p{max-width:490px;line-height:1.55;color:#35445d;font-size:14px}.hero-actions{display:flex;gap:16px;margin-top:30px}.hero-art{position:absolute;z-index:2;right:-1%;top:0;height:100%;width:71%;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:82% 50%}.hero-ghost{display:none!important}
.approach{padding:38px 6.5vw 34px;background:#fff}.section-heading{text-align:center}.section-heading i{background:var(--coral);width:30px}.section-heading h2{text-transform:uppercase;color:var(--navy);font-size:18px;letter-spacing:.03em;margin:10px 0 8px}.section-heading p{color:var(--muted);margin:0;font-size:13px}.section-heading.left{text-align:left;max-width:640px}.pillars{display:grid;grid-template-columns:repeat(5,1fr);margin-top:34px}.pillars article{text-align:center;padding:0 24px;border-right:1px solid var(--line)}.pillars article:last-child{border-right:0}.icon{font-size:36px;color:var(--teal);height:52px}.pillars h3{text-transform:uppercase;color:var(--navy);font-size:12px}.pillars p{font-size:12px;color:#566177;line-height:1.55;max-width:220px;margin:0 auto}.stats{background:var(--navy);color:#fff;padding:28px 7vw;display:grid;grid-template-columns:repeat(4,1fr) 2fr;align-items:center;gap:20px}.stat{border-right:1px solid rgba(255,255,255,.18);display:flex;gap:12px;align-items:center}.stat strong{font-family:Georgia,serif;font-size:30px}.stat span{font-size:11px;line-height:1.35;max-width:120px}.stats blockquote{margin:0;background:linear-gradient(135deg,#0c93a3,#00a7b5);padding:22px 26px;border-radius:0 0 0 0;font-size:12px;line-height:1.45}.programs{padding:82px 7vw;background:#fafbfc}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.program-grid article{background:#fff;border:1px solid #e7ebf0;padding:34px;min-height:190px;position:relative}.program-grid article:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--teal)}.program-grid article:nth-child(2):before{background:var(--coral)}.program-grid span{font-family:Georgia,serif;font-size:38px;color:#d8dde5}.program-grid h3{font-family:Georgia,serif;color:var(--navy);font-size:26px;margin:18px 0 30px}.program-grid a{color:var(--teal);text-decoration:none;font-size:12px;font-weight:800;text-transform:uppercase}.corporate{margin:0 7vw 80px;background:var(--navy);color:#fff;min-height:330px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;padding:55px 65px;overflow:hidden;position:relative}.corporate h2{font-family:Georgia,serif;font-size:42px;margin:8px 0 15px}.corporate p{max-width:620px;color:#d9e1ec;line-height:1.6}.mini{font-size:11px;color:#5dd4dd;letter-spacing:.16em}.sun-disc{width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#ffbea0 0,#ff7b5d 45%,rgba(255,77,63,.4) 72%,rgba(255,77,63,0) 73%);display:grid;place-items:center;justify-self:end;transform:translate(80px,20px)}.sun-disc span{font-family:Georgia,serif;font-size:140px;color:rgba(255,255,255,.13)}.contact{text-align:center;padding:70px 20px}.contact h2{font-family:Georgia,serif;color:var(--navy);font-size:36px}.contact p{color:var(--teal);font-weight:700}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 7vw;background:#f6f8fa;color:#667085;font-size:11px}footer>div:first-child{display:flex;flex-direction:column;gap:5px;color:var(--navy)}
html[dir=rtl] body .site-header{grid-template-columns:auto 1fr 300px}html[dir=rtl] body .brand{grid-column:3}html[dir=rtl] body .nav{grid-column:2;grid-row:1}html[dir=rtl] body .header-actions{grid-column:1;grid-row:1}html[dir=rtl] body .hero{direction:ltr;background:linear-gradient(90deg,#edf0f1 0%,#f7f8f7 56%,#fff 78%,#fff 100%)}html[dir=rtl] body .hero-content{direction:rtl;text-align:right;margin-left:auto;margin-right:0;width:43%;padding:66px 7.2vw 62px 3.2vw}html[dir=rtl] body .hero-art{left:-1.5%;right:auto;width:70%;transform:none;justify-content:flex-start}html[dir=rtl] body .hero-art img{transform:none;object-position:18% 50%;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 62%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 84%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 62%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 84%,transparent 100%)}html[dir=rtl] body .hero-actions{justify-content:flex-start;flex-direction:row-reverse}html[dir=rtl] body .eyebrow{justify-content:flex-start;flex-direction:row-reverse}html[dir=rtl] body .section-heading.left{text-align:right}html[dir=rtl] body .pillars article{border-right:0;border-left:1px solid var(--line)}html[dir=rtl] body .pillars article:last-child{border-left:0}html[dir=rtl] body .program-grid article:before{left:auto;right:0}html[dir=rtl] body .stat strong{direction:ltr;unicode-bidi:isolate}
@media(max-width:1050px){.site-header{grid-template-columns:220px 1fr auto;padding-inline:4vw}.nav{gap:16px;font-size:10px}.header-actions .btn{display:none}.hero-content{width:53%;padding-left:5vw}.hero h1{font-size:42px}.hero-art{width:66%}html[dir=rtl] body .hero-content{width:45%;padding-right:5.5vw;padding-left:2.5vw}html[dir=rtl] body .hero-art{width:68%;left:-4%;right:auto}.pillars{grid-template-columns:repeat(3,1fr);gap:28px}.pillars article{border:0}.stats{grid-template-columns:repeat(2,1fr)}.stats blockquote{grid-column:1/-1}.programs{padding-inline:5vw}.corporate{margin-inline:5vw}.brand{width:140px;height:104px}.brand-logo{width:132px;height:auto;max-height:98px}}
@media(max-width:760px){.site-header{min-height:96px;grid-template-columns:1fr auto;padding:7px 18px}.brand{width:112px;height:80px;padding:2px 0;justify-content:flex-start}.brand-logo{width:104px;height:auto;max-height:76px}.nav{display:none;position:absolute;top:96px;left:0;right:0;background:#fff;padding:18px;flex-direction:column;box-shadow:0 12px 24px rgba(2,19,54,.08)}.nav.open{display:flex}.header-actions{gap:12px}.menu-toggle{display:block}.hero{min-height:690px;background:#fff}.hero-content{width:100%;padding:48px 22px 300px}.hero h1{font-size:39px}.hero p{font-size:13px}.hero-art{top:auto;bottom:0;width:120%;height:350px;right:-20%}.hero-art img{object-position:78% 50%}.hero-ghost{display:none}.pillars{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr;padding:26px 22px}.program-grid{grid-template-columns:1fr}.corporate{margin:0 20px 50px;padding:38px 28px;grid-template-columns:1fr}.sun-disc{position:absolute;right:-180px;bottom:-150px;opacity:.55}.corporate h2{font-size:32px}footer{flex-direction:column;padding-inline:22px}html[dir=rtl] body .site-header{grid-template-columns:auto 1fr}html[dir=rtl] body .brand{grid-column:2}html[dir=rtl] body .header-actions{grid-column:1}html[dir=rtl] body .hero{direction:rtl;background:#fff}html[dir=rtl] body .hero-content{width:100%;padding:44px 30px 315px 22px;text-align:right}html[dir=rtl] body .hero-art{top:auto;bottom:0;left:-12%;right:auto;width:118%;height:350px}html[dir=rtl] body .hero-art img{object-position:22% 50%;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 72%,rgba(0,0,0,.65) 86%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 72%,rgba(0,0,0,.65) 86%,transparent 100%)}.langs{font-size:10px}}


/* =========================================================
   RTL REAL FIX
   dir="rtl" is on <html>.
   Hero is now split cleanly:
   70% image LEFT / 30% text RIGHT.
   No overlap.
   ========================================================= */
@media (min-width: 1061px) {
  html[dir="rtl"] body .hero {
    min-height: 540px;
    position: relative;
    overflow: hidden;
    direction: ltr;
    background: #fff;
  }

  html[dir="rtl"] body .hero-art {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0 !important;
    right: auto !important;
    width: 70% !important;
    height: 100%;
    z-index: 2;
    overflow: hidden;
    display: block;
  }

  html[dir="rtl"] body .hero-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center !important;
    transform: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  html[dir="rtl"] body .hero-content {
    position: relative;
    z-index: 4;
    direction: rtl;
    width: 30% !important;
    min-height: 540px;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 62px 72px 58px 34px !important;
    text-align: right;
    background: #fff;
  }

  html[dir="rtl"] body .hero-content .eyebrow,
  html[dir="rtl"] body .hero-content h1,
  html[dir="rtl"] body .hero-content p,
  html[dir="rtl"] body .hero-actions {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }

  html[dir="rtl"] body .hero h1 {
    font-size: 46px;
    line-height: 1.22;
  }

  html[dir="rtl"] body .hero-actions {
    justify-content: flex-start;
    flex-direction: row-reverse;
  }

  html[dir="rtl"] body .eyebrow {
    justify-content: flex-start;
    flex-direction: row-reverse;
  }
}

@media (min-width: 761px) and (max-width: 1060px) {
  html[dir="rtl"] body .hero-art {
    left: 0 !important;
    right: auto !important;
    width: 64% !important;
  }

  html[dir="rtl"] body .hero-content {
    width: 36% !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 54px 44px 52px 28px !important;
  }

  html[dir="rtl"] body .hero-art img {
    object-position: left center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

@media (max-width: 760px) {
  html[dir="rtl"] body .hero-content {
    width: 100% !important;
    padding: 42px 34px 315px 22px !important;
    text-align: right;
  }

  html[dir="rtl"] body .hero-art {
    top: auto;
    bottom: 0;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    height: 350px;
  }

  html[dir="rtl"] body .hero-art img {
    object-position: left center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}


/* =========================================================
   V11 — RTL HEADER
   Logo = RIGHT
   Navigation = CENTER
   Languages + CTA = LEFT
   Force the header grid itself to LTR so CSS grid columns
   do not reverse because of the document RTL direction.
   ========================================================= */
@media (min-width: 1061px) {
  html[dir="rtl"] body .site-header {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: 300px 1fr 300px !important;
    grid-template-areas: "actions nav brand" !important;
    align-items: center !important;
  }

  html[dir="rtl"] body .brand {
    grid-area: brand !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: end !important;
    direction: rtl;
  }

  html[dir="rtl"] body .nav {
    grid-area: nav !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: center !important;
    direction: rtl !important;
  }

  html[dir="rtl"] body .header-actions {
    grid-area: actions !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: start !important;
    direction: ltr !important;
  }
}

@media (min-width: 761px) and (max-width: 1060px) {
  html[dir="rtl"] body .site-header {
    direction: ltr !important;
    grid-template-columns: 180px 1fr 180px !important;
    grid-template-areas: "actions nav brand" !important;
  }

  html[dir="rtl"] body .brand {
    grid-area: brand !important;
    justify-self: end !important;
  }

  html[dir="rtl"] body .nav {
    grid-area: nav !important;
    justify-self: center !important;
    direction: rtl !important;
  }

  html[dir="rtl"] body .header-actions {
    grid-area: actions !important;
    justify-self: start !important;
    direction: ltr !important;
  }
}


/* =========================================================
   V12 — RTL HEADER FINAL SWAP
   Explicit positioning:
   - LOGO on the RIGHT
   - NAV centered
   - LANGUAGES + CONTACT on the LEFT
   ========================================================= */
@media (min-width: 1061px) {
  html[dir="rtl"] body .site-header {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: 320px 1fr 320px !important;
    align-items: center !important;
  }

  html[dir="rtl"] body .site-header > .brand {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  html[dir="rtl"] body .site-header > .nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    direction: rtl !important;
  }

  html[dir="rtl"] body .site-header > .header-actions {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    direction: ltr !important;
    margin: 0 !important;
  }
}

@media (min-width: 761px) and (max-width: 1060px) {
  html[dir="rtl"] body .site-header {
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: 200px 1fr 200px !important;
    align-items: center !important;
  }

  html[dir="rtl"] body .site-header > .brand {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html[dir="rtl"] body .site-header > .nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    direction: rtl !important;
  }

  html[dir="rtl"] body .site-header > .header-actions {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    direction: ltr !important;
  }
}


/* =========================================================
   V13 — DYNAMIC PROGRAMME CATALOGUE
   ========================================================= */
.catalogue-page,.programme-detail-page{background:#f6f8f8;color:#071b3f;min-height:70vh}
.catalogue-hero{min-height:260px;padding:58px 6.5vw 48px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;background:linear-gradient(135deg,#fff 0%,#f5f8f7 66%,#edf4f2 100%);border-bottom:1px solid #dfe7e6}
.catalogue-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(42px,5vw,68px);line-height:1.02;margin:16px 0;color:#071b3f}
.catalogue-hero p{max-width:720px;font-size:17px;line-height:1.7;color:#52606d;margin:0}
.catalogue-count{min-width:180px;text-align:right}.catalogue-count strong{display:block;font-family:Georgia,serif;font-size:58px;font-weight:500;color:#0c8f8a}.catalogue-count span{font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:#728086}
.catalogue-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:36px;padding:42px 6.5vw 72px;align-items:start}
.catalogue-sidebar{position:sticky;top:28px}
.catalogue-filter{background:#fff;border:1px solid #dfe7e6;padding:24px;box-shadow:0 12px 36px rgba(7,27,63,.045)}
.catalogue-filter>label:not(.check-row){display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin:0 0 8px;color:#46545d}
.catalogue-filter select,.catalogue-filter input[type=text],.catalogue-filter input:not([type]){width:100%;height:46px;border:1px solid #ccd8d6;background:#fff;padding:0 13px;font:inherit;color:#071b3f;margin-bottom:20px;outline:none}
.catalogue-filter select:focus,.search-field:focus-within{border-color:#0c8f8a}
.search-field{height:46px;border:1px solid #ccd8d6;display:flex;align-items:center;padding:0 12px;margin-bottom:20px;background:#fff}
.search-field span{font-size:24px;color:#0c8f8a;margin-right:7px}.search-field input{border:0!important;margin:0!important;padding:0!important;height:auto!important;min-width:0;outline:0}
.check-row{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;margin:2px 0 20px}.check-row input{margin-top:2px;accent-color:#0c8f8a}
.filter-submit{width:100%;justify-content:center}.filter-reset{display:block;text-align:center;margin-top:13px;color:#66757b;font-size:13px}
.catalogue-toolbar{min-height:48px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:17px;color:#68767c}.catalogue-toolbar strong{font-size:20px;color:#071b3f}.active-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.active-filters span{background:#e5f3f1;color:#087d78;padding:6px 10px;font-size:12px}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.course-card{background:#fff;border:1px solid #dfe7e6;min-height:330px;padding:22px;display:flex;flex-direction:column;transition:.2s ease;position:relative;overflow:hidden}
.course-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:#0c8f8a;transition:.25s}.course-card:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(7,27,63,.08);border-color:#c8d7d4}.course-card:hover:before{height:100%}
.course-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:20px}.course-category{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#0c8f8a;font-weight:700;line-height:1.4}.course-code{font-size:10px;color:#9aa6aa;white-space:nowrap}
.course-card h2{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.18;font-weight:500;margin:0 0 12px;color:#071b3f}
.course-subtitle{font-size:14px;line-height:1.55;color:#657278;margin:0 0 18px}
.course-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:10px}.course-meta span{border:1px solid #dce5e4;padding:6px 8px;font-size:11px;color:#617076}.course-meta .ai-pill{border-color:#f3c7b9;background:#fff6f2;color:#be654e}
.course-link{margin-top:18px;border-top:1px solid #eef1f1;padding-top:15px;text-decoration:none;color:#071b3f;font-size:13px;font-weight:700;display:flex;justify-content:space-between}.course-link span{color:#0c8f8a}
.catalogue-empty{background:#fff;border:1px solid #dfe7e6;padding:44px;text-align:center;color:#67757b}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:36px}.pagination a{min-width:38px;height:38px;padding:0 10px;border:1px solid #d8e2e0;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#52606d;background:#fff}.pagination a.current,.pagination a:hover{background:#071b3f;color:#fff;border-color:#071b3f}

/* Programme detail */
.programme-detail-hero{padding:42px 6.5vw 38px;background:#fff;border-bottom:1px solid #dfe7e6}.back-link{display:inline-block;color:#0c8f8a;text-decoration:none;font-size:13px;margin-bottom:30px}
.programme-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:52px;align-items:end}.programme-detail-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,4.6vw,66px);line-height:1.04;font-weight:500;margin:15px 0 15px}.programme-detail-heading p{font-size:17px;line-height:1.6;color:#657278;max-width:780px}
.programme-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe7e6;background:#f8faf9}.programme-facts>div{padding:17px;border-bottom:1px solid #dfe7e6;border-right:1px solid #dfe7e6}.programme-facts>div:nth-child(even){border-right:0}.programme-facts span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7a888d;margin-bottom:4px}.programme-facts strong{font-size:14px}.programme-facts .fact-ai{background:#fff4ef}.programme-facts .fact-ai strong{color:#b95f49}
.language-notice{margin-top:26px;padding:12px 16px;border-left:3px solid #e99272;background:#fff5f1;color:#865848;font-size:13px}
.programme-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;padding:46px 6.5vw 80px;align-items:start}.programme-main{min-width:0}
.detail-section{background:#fff;border:1px solid #dfe7e6;padding:30px;margin-bottom:20px}.detail-section h2,.side-panel h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:#071b3f}.detail-section h2{font-size:29px;margin:0 0 18px}.detail-section>p{color:#5d6b71;line-height:1.75;font-size:15px}
.objective-list{list-style:none;padding:0;margin:0;counter-reset:obj}.objective-list li{counter-increment:obj;position:relative;padding:14px 0 14px 48px;border-top:1px solid #edf1f0;line-height:1.55;color:#4f5e64}.objective-list li:first-child{border-top:0}.objective-list li:before{content:counter(obj,decimal-leading-zero);position:absolute;left:0;top:14px;font-size:11px;font-weight:700;color:#0c8f8a}
.programme-modules{background:transparent;border:0;padding:0}.programme-modules>h2{margin-bottom:18px}.module-card{background:#fff;border:1px solid #dfe7e6;display:grid;grid-template-columns:78px 1fr;margin-bottom:12px}.module-number{background:#071b3f;color:#fff;font-family:Georgia,serif;font-size:27px;display:flex;align-items:flex-start;justify-content:center;padding-top:24px}.module-body{padding:22px 26px}.module-label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#0c8f8a;font-weight:700}.module-body h3{font-family:Georgia,serif;font-size:22px;font-weight:500;margin:5px 0 13px}.module-body ul{margin:0;padding-left:19px;color:#5b696f}.module-body li{margin:6px 0;line-height:1.45}
.programme-side{position:sticky;top:28px}.side-panel{background:#fff;border:1px solid #dfe7e6;padding:23px;margin-bottom:14px}.side-panel h3{font-size:20px;margin:0 0 11px}.side-panel p{font-size:13px;line-height:1.65;color:#637177;margin:0}.detail-error{margin:60px 6.5vw}

/* RTL catalogue */
html[dir="rtl"] body .catalogue-count{text-align:left}
html[dir="rtl"] body .search-field span{margin-right:0;margin-left:7px}
html[dir="rtl"] body .course-card:before{left:auto;right:0}
html[dir="rtl"] body .objective-list li{padding-left:0;padding-right:48px}
html[dir="rtl"] body .objective-list li:before{left:auto;right:0}
html[dir="rtl"] body .module-body ul{padding-left:0;padding-right:19px}
html[dir="rtl"] body .language-notice{border-left:0;border-right:3px solid #e99272}

@media(max-width:1180px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-shell{grid-template-columns:270px 1fr}.programme-detail-heading{grid-template-columns:1fr 320px}}
@media(max-width:860px){.catalogue-hero{align-items:flex-start;flex-direction:column}.catalogue-count{text-align:left}.catalogue-shell{grid-template-columns:1fr}.catalogue-sidebar{position:static}.catalogue-filter{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.catalogue-filter .check-row,.catalogue-filter .filter-submit,.catalogue-filter .filter-reset{grid-column:1/-1}.programme-detail-heading,.programme-detail-grid{grid-template-columns:1fr}.programme-side{position:static}}
@media(max-width:620px){.catalogue-hero{padding:38px 20px}.catalogue-shell,.programme-detail-grid{padding:26px 20px 55px}.catalogue-filter{display:block}.course-grid{grid-template-columns:1fr}.catalogue-toolbar{flex-direction:column}.programme-detail-hero{padding:30px 20px}.programme-facts{grid-template-columns:1fr 1fr}.module-card{grid-template-columns:54px 1fr}.module-number{font-size:20px}.module-body{padding:18px}.detail-section{padding:22px}}


/* =========================================================
   V14 — PREMIUM PROGRAMME DETAIL
   ========================================================= */
.premium-programme-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f8faf9 58%,#edf4f1 100%);padding:0;border-bottom:1px solid #dbe5e3}
.programme-hero-inner{position:relative;z-index:2;padding:34px 6.5vw 46px}
.premium-programme-hero .back-link{margin-bottom:28px;color:#68787c;transition:.2s}.premium-programme-hero .back-link:hover{color:#0c8f8a}
.programme-breadcrumb-line{display:flex;align-items:center;gap:12px;margin-bottom:19px}.hero-separator{width:28px;height:1px;background:#cfdad8}.course-ref{font-size:11px;letter-spacing:.13em;color:#899699;text-transform:uppercase}
.programme-premium-heading{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:70px;align-items:end}
.programme-title-zone{max-width:880px}.programme-title-zone h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,5.25vw,76px);line-height:1.01;letter-spacing:-.025em;font-weight:500;color:#071b3f;margin:0 0 18px}
.programme-lead{font-size:18px!important;line-height:1.65!important;color:#607076!important;max-width:750px!important;margin:0!important}
.programme-hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}
.premium-cta{display:inline-flex;align-items:center;gap:18px;min-height:48px;background:#071b3f;color:#fff;text-decoration:none;padding:0 20px;font-size:12px;text-transform:uppercase;letter-spacing:.075em;font-weight:700;transition:.22s}.premium-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.premium-cta:hover{background:#0c8f8a;transform:translateY(-1px)}
.premium-ai-badge{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 15px;border:1px solid #edc5b7;background:#fff8f4;color:#b6634c;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.premium-ai-badge svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.programme-glance{background:rgba(255,255,255,.88);border:1px solid #d9e4e1;box-shadow:0 20px 55px rgba(7,27,63,.07);backdrop-filter:blur(10px);padding:20px}
.glance-title{font-family:Georgia,serif;font-size:18px;padding:0 2px 15px;border-bottom:1px solid #e4ebea}.glance-grid{display:grid;grid-template-columns:1fr 1fr}
.glance-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:16px 10px;border-bottom:1px solid #e7eceb}.glance-item:nth-child(odd){border-right:1px solid #e7eceb}.glance-item:nth-last-child(-n+2){border-bottom:0}
.glance-icon,.section-icon,.side-icon,.request-icon{display:flex;align-items:center;justify-content:center;color:#0c8f8a}.glance-icon{width:34px;height:34px;background:#eef7f5}.glance-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.glance-item small{display:block;color:#8a9699;text-transform:uppercase;letter-spacing:.09em;font-size:9px;margin-bottom:3px}.glance-item strong{display:block;color:#071b3f;font-size:13px;line-height:1.3}
.programme-hero-mark{position:absolute;right:-18px;bottom:-105px;font-family:Georgia,serif;font-size:330px;line-height:1;color:rgba(12,143,138,.035);font-weight:700;pointer-events:none}

.premium-detail-grid{grid-template-columns:minmax(0,1fr) 340px;gap:34px;padding-top:38px}
.premium-section{border:0;box-shadow:0 10px 35px rgba(7,27,63,.045);padding:34px 36px;margin-bottom:18px}
.section-heading-with-icon{display:flex;align-items:center;gap:15px;margin-bottom:22px}.section-icon{width:46px;height:46px;flex:0 0 46px;border:1px solid #d9e7e4;background:#f4f9f8}.section-icon svg,.side-icon svg,.request-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.section-kicker{display:block;color:#0c8f8a;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
.section-heading-with-icon h2{margin:0!important;font-size:29px!important}.overview-copy{font-size:16px!important;line-height:1.85!important;color:#53636a!important;margin:0}
.overview-section{position:relative}.overview-section:after{content:"";position:absolute;left:0;top:34px;bottom:34px;width:3px;background:linear-gradient(#0c8f8a,#7fc7bb)}

.objective-premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.objective-premium-item{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:15px;background:#f8faf9;border:1px solid #e4eae9}.objective-premium-item:last-child:nth-child(odd){grid-column:1/-1}
.objective-check{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e6f4f1;color:#0c8f8a}.objective-check svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.objective-premium-item p{margin:2px 0 0;color:#526168;font-size:13px;line-height:1.55}

.premium-modules{margin-top:38px}.programme-content-heading{margin-bottom:18px}.programme-content-heading h2{font-family:Georgia,serif;font-weight:500;font-size:32px;margin:0}
.module-timeline{position:relative}.module-timeline:before{content:"";position:absolute;left:34px;top:15px;bottom:15px;width:1px;background:#cfe0dc}
.premium-module-card{position:relative;grid-template-columns:70px minmax(0,1fr);border:0;margin-bottom:14px;box-shadow:0 10px 34px rgba(7,27,63,.045);overflow:visible}
.module-rail{position:relative;z-index:2;background:#071b3f;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:20px}.module-day{font-size:8px;text-transform:uppercase;letter-spacing:.14em;opacity:.58}.premium-module-card .module-number{background:transparent;padding:4px 0 0;font-size:29px}
.premium-module-card:nth-child(5n+2) .module-rail{background:#0a3154}.premium-module-card:nth-child(5n+3) .module-rail{background:#0b5362}.premium-module-card:nth-child(5n+4) .module-rail{background:#0c7778}.premium-module-card:nth-child(5n+5) .module-rail{background:#0c8f8a}
.premium-module-card .module-body{padding:25px 28px}.module-title-row{display:flex;align-items:center;gap:9px}.module-dot{width:4px;height:4px;border-radius:50%;background:#e99272}.premium-module-card h3{font-size:23px;line-height:1.25;margin:7px 0 17px}
.module-topics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.module-topic{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:start;border-top:1px solid #edf1f0;padding-top:9px}.module-topic span{color:#0c8f8a;padding-top:2px}.module-topic svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}.module-topic p{margin:0;color:#5c6a70;font-size:13px;line-height:1.45}

.premium-programme-side{top:20px}.premium-side-panel{position:relative;padding:23px 23px 23px 68px;box-shadow:0 10px 30px rgba(7,27,63,.04);border:1px solid #e0e8e6}.premium-side-panel .side-icon{position:absolute;left:20px;top:22px;width:34px;height:34px;background:#edf7f5}.premium-side-panel h3{font-size:19px;margin-bottom:8px}.premium-side-panel p{font-size:13px;line-height:1.7}
.programme-request-card{position:relative;overflow:hidden;background:#071b3f;color:#fff;padding:26px 24px 24px;margin-top:16px;box-shadow:0 16px 42px rgba(7,27,63,.14)}.request-accent{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#0c8f8a,#e99272)}.request-icon{width:40px;height:40px;background:rgba(255,255,255,.08);color:#8bd1c6;margin-bottom:18px}.programme-request-card h3{font-family:Georgia,serif;font-size:23px;font-weight:500;margin:0 0 8px}.programme-request-card p{font-size:12px;line-height:1.65;color:rgba(255,255,255,.68);margin:0 0 20px}.programme-request-card a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:#fff;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.programme-request-card a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}

/* RTL premium detail */
html[dir="rtl"] body .programme-breadcrumb-line{direction:rtl}
html[dir="rtl"] body .programme-hero-mark{right:auto;left:-18px}
html[dir="rtl"] body .glance-item:nth-child(odd){border-right:0;border-left:1px solid #e7eceb}
html[dir="rtl"] body .overview-section:after{left:auto;right:0}
html[dir="rtl"] body .module-timeline:before{left:auto;right:34px}
html[dir="rtl"] body .premium-side-panel{padding-left:23px;padding-right:68px}
html[dir="rtl"] body .premium-side-panel .side-icon{left:auto;right:20px}
html[dir="rtl"] body .request-accent{left:auto;right:0}
html[dir="rtl"] body .premium-cta svg,.programme-request-card a svg{transform:scaleX(-1)}

@media(max-width:1100px){.programme-premium-heading{grid-template-columns:1fr 340px;gap:38px}.premium-detail-grid{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:900px){.programme-premium-heading,.premium-detail-grid{grid-template-columns:1fr}.programme-glance{max-width:600px}.premium-programme-side{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px}.premium-programme-side .premium-side-panel,.premium-programme-side .programme-request-card{margin:0}.programme-request-card{grid-column:1/-1}}
@media(max-width:650px){.programme-hero-inner{padding:28px 20px 34px}.programme-title-zone h1{font-size:40px}.programme-lead{font-size:15px!important}.programme-glance{padding:14px}.glance-grid{grid-template-columns:1fr}.glance-item:nth-child(odd){border-right:0}.glance-item:nth-last-child(-n+2){border-bottom:1px solid #e7eceb}.glance-item:last-child{border-bottom:0}.premium-section{padding:24px 20px}.objective-premium-grid,.module-topics-grid{grid-template-columns:1fr}.objective-premium-item:last-child:nth-child(odd){grid-column:auto}.premium-module-card{grid-template-columns:54px 1fr}.module-timeline:before{left:26px}.premium-module-card .module-body{padding:20px}.premium-programme-side{grid-template-columns:1fr}html[dir="rtl"] body .module-timeline:before{right:26px}}


/* =========================================================
   V15 — PREMIUM EUROPEAN DESTINATIONS
   ========================================================= */
.programme-destinations-section{
    grid-column:1/-1;
    margin-top:18px;
    padding:40px;
    background:
        radial-gradient(circle at 92% 8%,rgba(12,143,138,.08),transparent 28%),
        linear-gradient(145deg,#071b3f 0%,#092c49 58%,#0b4555 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
    box-shadow:0 22px 58px rgba(7,27,63,.14)
}
.programme-destinations-section:before{
    content:"EUROPE";
    position:absolute;
    right:-25px;
    top:-42px;
    font:700 118px/1 Georgia,serif;
    letter-spacing:.02em;
    color:rgba(255,255,255,.025);
    pointer-events:none
}
.destinations-head{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:48px;
    align-items:end;
    padding-bottom:28px;
    border-bottom:1px solid rgba(255,255,255,.12)
}
.destinations-head .section-kicker{color:#70c6ba}
.destinations-head h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.15;
    font-weight:500;
    margin:5px 0 10px;
    color:#fff
}
.destinations-head p{
    max-width:780px;
    margin:0;
    color:rgba(255,255,255,.65);
    font-size:14px;
    line-height:1.7
}
.destinations-stats{display:flex;gap:10px}
.destinations-stats>div{
    min-width:94px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.045);
    backdrop-filter:blur(8px)
}
.destinations-stats strong{
    display:block;
    font-family:Georgia,serif;
    font-size:27px;
    font-weight:500;
    color:#fff
}
.destinations-stats span{
    display:block;
    margin-top:3px;
    font-size:9px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.5)
}
.destinations-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:22px
}
.destination-country-card{
    min-height:166px;
    padding:18px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    transition:.22s ease
}
.destination-country-card:hover{
    transform:translateY(-3px);
    border-color:rgba(112,198,186,.5);
    background:rgba(255,255,255,.075)
}
.destination-country-head{
    display:flex;
    gap:12px;
    align-items:center;
    padding-bottom:13px;
    margin-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.09)
}
.country-flag{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.1);
    font-size:24px;
    line-height:1
}
.destination-country-head h3{
    margin:0 0 3px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:500
}
.destination-country-head span:not(.country-flag){
    font-size:9px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:rgba(255,255,255,.42)
}
.destination-city-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px
}
.destination-city{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 8px;
    background:rgba(255,255,255,.055);
    color:rgba(255,255,255,.78);
    font-size:11px;
    line-height:1;
    border:1px solid rgba(255,255,255,.07)
}
.destination-city i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#70c6ba;
    box-shadow:0 0 0 3px rgba(112,198,186,.08)
}
.destinations-note{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.1)
}
.destinations-note-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.12);
    color:#70c6ba
}
.destinations-note-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6
}
.destinations-note p{
    margin:0;
    color:rgba(255,255,255,.52);
    font-size:11px;
    line-height:1.55
}

/* RTL */
html[dir="rtl"] body .programme-destinations-section:before{right:auto;left:-25px}
html[dir="rtl"] body .destination-country-head{direction:rtl}

@media(max-width:1180px){
    .destinations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
    .programme-destinations-section{padding:30px}
    .destinations-head{grid-template-columns:1fr}
    .destinations-stats{justify-content:flex-start}
    .destinations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
    .programme-destinations-section{padding:24px 18px}
    .destinations-grid{grid-template-columns:1fr}
    .destinations-head h2{font-size:28px}
    .destinations-stats{width:100%}
    .destinations-stats>div{flex:1}
}


/* =========================================================
   V17 — PREMIUM FLAG WATERMARK
   Flag is decorative only: bottom-right, faded/gradient,
   behind the country content.
   ========================================================= */
.destination-country-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    min-height:178px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.032));
}
.destination-country-card:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        linear-gradient(135deg,rgba(255,255,255,.02),transparent 48%),
        radial-gradient(circle at 100% 100%,rgba(112,198,186,.10),transparent 42%);
    pointer-events:none;
}
.country-flag-watermark{
    position:absolute;
    right:-15px;
    bottom:-18px;
    z-index:-1;
    font-size:104px;
    line-height:1;
    opacity:.14;
    filter:saturate(.78) contrast(.9);
    transform:rotate(-7deg);
    pointer-events:none;
    user-select:none;
    -webkit-mask-image:linear-gradient(145deg,transparent 3%,rgba(0,0,0,.35) 34%,#000 100%);
    mask-image:linear-gradient(145deg,transparent 3%,rgba(0,0,0,.35) 34%,#000 100%);
}
.destination-country-head{
    position:relative;
    z-index:2;
    gap:0;
}
.destination-country-head>div{
    width:100%;
}
.destination-city-list{
    position:relative;
    z-index:2;
    padding-right:18px;
}
.destination-country-card:hover .country-flag-watermark{
    opacity:.22;
    transform:rotate(-4deg) scale(1.04);
    transition:opacity .25s ease,transform .25s ease;
}
.destination-country-card:hover{
    background:
        linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.05));
}

/* Remove the old small flag box if cached CSS still targets it */
.country-flag{display:none!important}

/* RTL: keep the flag in the visual lower-right corner intentionally.
   It acts as artwork, not reading-order content. */
html[dir="rtl"] body .country-flag-watermark{
    right:-15px;
    left:auto;
}

/* Mobile: keep the effect elegant and less dominant */
@media(max-width:580px){
    .country-flag-watermark{
        font-size:92px;
        right:-12px;
        bottom:-16px;
        opacity:.12;
    }
    .destination-city-list{
        padding-right:12px;
    }
}


/* =========================================================
   V18 — REAL HTML/CSS FLAG WATERMARKS
   The flags are loaded as real country-flag images and rendered
   as a decorative faded ribbon in the lower-right of each card.
   ========================================================= */
.country-flag-watermark{
    display:block!important;
    position:absolute;
    right:-5%;
    bottom:-22%;
    width:58%;
    height:88%;
    z-index:-1;
    font-size:0!important;
    line-height:0;
    opacity:.34;
    transform:rotate(-8deg) skewX(-6deg);
    transform-origin:100% 100%;
    background-image:
        linear-gradient(90deg,rgba(7,27,63,1) 0%,rgba(7,27,63,.72) 18%,rgba(7,27,63,.15) 54%,rgba(7,27,63,0) 100%),
        linear-gradient(180deg,rgba(7,27,63,.4) 0%,rgba(7,27,63,0) 34%),
        var(--flag-image);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-radius:52% 0 0 0 / 32% 0 0 0;
    filter:saturate(.92) contrast(.98);
    box-shadow:-18px -8px 38px rgba(7,27,63,.24);
    pointer-events:none;
    user-select:none;
    -webkit-mask-image:linear-gradient(115deg,transparent 0%,rgba(0,0,0,.15) 18%,rgba(0,0,0,.75) 48%,#000 100%);
    mask-image:linear-gradient(115deg,transparent 0%,rgba(0,0,0,.15) 18%,rgba(0,0,0,.75) 48%,#000 100%);
}
.destination-country-card:hover .country-flag-watermark{
    opacity:.47;
    transform:rotate(-5deg) skewX(-4deg) scale(1.035);
}
.destination-country-card{
    min-height:178px;
}
.destination-country-head,
.destination-city-list{
    position:relative;
    z-index:2;
}
.destination-city{
    backdrop-filter:blur(3px);
    background:rgba(255,255,255,.07);
}
.destination-country-card:before{
    content:"";
    position:absolute;
    right:-9%;
    bottom:-26%;
    width:66%;
    height:98%;
    z-index:-2;
    border-radius:60% 0 0 0 / 40% 0 0 0;
    border-top:1px solid rgba(255,255,255,.07);
    background:linear-gradient(145deg,transparent 8%,rgba(255,255,255,.025) 100%);
    transform:rotate(-8deg);
    pointer-events:none;
}

/* Keep the artwork on the lower-right even in RTL — it is decorative. */
html[dir="rtl"] body .country-flag-watermark{
    right:-5%;
    left:auto;
}

@media(max-width:580px){
    .country-flag-watermark{
        width:62%;
        height:82%;
        right:-7%;
        bottom:-20%;
        opacity:.28;
    }
}


/* =========================================================
   V19 — COUNTRY EXPERIENCE MODAL
   ========================================================= */
.destination-country-card{
    width:100%;
    appearance:none;
    -webkit-appearance:none;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
}
.destination-country-card:focus-visible{
    outline:2px solid #70c6ba;
    outline-offset:2px;
}
.destination-country-card:hover h3{color:#8bd9cf}

.country-modal[hidden]{display:none}
.country-modal{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
}
.country-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,18,54,.78);
    backdrop-filter:blur(8px);
    opacity:0;
    transition:opacity .22s ease;
}
.country-modal-dialog{
    position:relative;
    z-index:2;
    width:min(980px,94vw);
    max-height:90vh;
    overflow:auto;
    display:grid;
    grid-template-columns:42% 58%;
    background:#fff;
    color:#071b3f;
    box-shadow:0 38px 100px rgba(0,0,0,.38);
    transform:translateY(18px) scale(.985);
    opacity:0;
    transition:transform .24s ease,opacity .24s ease;
}
.country-modal.is-open .country-modal-backdrop{opacity:1}
.country-modal.is-open .country-modal-dialog{transform:none;opacity:1}
.country-modal-open{overflow:hidden}

.country-modal-close{
    position:absolute;
    right:18px;
    top:18px;
    z-index:4;
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(7,27,63,.34);
    color:#fff;
    font-size:25px;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(6px);
}
.country-modal-close:hover{background:#0c8f8a}

.country-modal-visual{
    position:relative;
    min-height:540px;
    overflow:hidden;
    background:#071b3f;
}
.country-modal-flag{
    position:absolute;
    inset:-5%;
    background-size:cover;
    background-position:center;
    filter:saturate(.92) contrast(.98);
    transform:scale(1.04);
}
.country-modal-visual-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(7,27,63,.08),rgba(7,27,63,.28) 40%,rgba(7,27,63,.94) 100%),
        linear-gradient(90deg,rgba(7,27,63,.16),rgba(7,27,63,.04));
}
.country-modal-visual-content{
    position:absolute;
    left:30px;
    right:30px;
    bottom:30px;
    color:#fff;
}
.country-modal-kicker{
    display:block;
    margin-bottom:10px;
    font-size:9px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#8bd9cf;
    font-weight:700;
}
.country-modal-visual-content h2{
    margin:0 0 10px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    font-weight:500;
    line-height:1.05;
}
.country-modal-visual-content p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:13px;
    line-height:1.6;
}

.country-modal-content{
    padding:46px 44px 34px;
    display:flex;
    flex-direction:column;
}
.country-modal-intro-line{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
}
.country-modal-intro-line span{
    width:34px;
    height:2px;
    background:#0c8f8a;
}
.country-modal-intro-line strong{
    font-size:10px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#0c8f8a;
}
.country-modal-presentation{
    margin:0;
    color:#4f5f66;
    font-size:17px;
    line-height:1.82;
    font-family:Georgia,'Times New Roman',serif;
}
.country-modal-hotel-panel{
    display:grid;
    grid-template-columns:46px 1fr;
    gap:16px;
    margin-top:30px;
    padding:20px;
    background:#f4f8f7;
    border:1px solid #dfe8e6;
}
.country-modal-hotel-icon{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
    background:#fff;
    border:1px solid #d7e4e1;
}
.country-modal-hotel-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
}
.country-modal-hotel-panel strong{
    display:block;
    margin-bottom:6px;
    font-size:14px;
    color:#071b3f;
}
.country-modal-hotel-panel p{
    margin:0;
    color:#66747a;
    font-size:12px;
    line-height:1.65;
}
.country-modal-footer{
    margin-top:auto;
    padding-top:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.country-modal-footer>span{
    max-width:330px;
    color:#8a9699;
    font-size:10px;
    line-height:1.55;
}
.country-modal-footer a{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:13px 16px;
    background:#071b3f;
    color:#fff;
    text-decoration:none;
    font-size:10px;
    letter-spacing:.09em;
    text-transform:uppercase;
    font-weight:700;
}
.country-modal-footer a:hover{background:#0c8f8a}
.country-modal-footer svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
}

html[dir="rtl"] body .destination-country-card{text-align:right}
html[dir="rtl"] body .country-modal-close{right:auto;left:18px}
html[dir="rtl"] body .country-modal-visual-content{text-align:right}
html[dir="rtl"] body .country-modal-footer svg{transform:scaleX(-1)}

@media(max-width:780px){
    .country-modal{padding:14px}
    .country-modal-dialog{grid-template-columns:1fr;max-height:94vh}
    .country-modal-visual{min-height:280px}
    .country-modal-content{padding:30px 24px 24px}
    .country-modal-visual-content h2{font-size:34px}
    .country-modal-footer{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V20 — PREMIUM PROGRAMME CATALOGUE
   ========================================================= */
.catalogue-premium-hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) 370px;
    gap:72px;
    align-items:end;
    padding:68px 6.5vw 58px;
    background:
        radial-gradient(circle at 78% 20%,rgba(12,143,138,.10),transparent 29%),
        linear-gradient(135deg,#fff 0%,#f8faf9 62%,#edf4f1 100%);
    border-bottom:1px solid #dbe5e3
}
.catalogue-hero-mark{
    position:absolute;
    right:-28px;
    bottom:-132px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:390px;
    line-height:1;
    font-weight:700;
    color:rgba(12,143,138,.035);
    pointer-events:none
}
.catalogue-premium-copy{position:relative;z-index:2;max-width:900px}
.premium-eyebrow{color:#0c8f8a}
.catalogue-premium-copy h1{
    max-width:900px;
    margin:17px 0 18px;
    color:#071b3f;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(48px,5.4vw,78px);
    line-height:1.01;
    letter-spacing:-.025em;
    font-weight:500
}
.catalogue-premium-copy>p{
    max-width:760px;
    margin:0;
    color:#5b6b71;
    font-size:17px;
    line-height:1.72
}
.hero-programme-search{margin-top:30px;max-width:820px}
.hero-programme-search>label{
    display:block;
    margin-bottom:8px;
    color:#617176;
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:700
}
.hero-search-box{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    align-items:center;
    min-height:60px;
    padding:6px;
    background:#fff;
    border:1px solid #d8e3e0;
    box-shadow:0 18px 48px rgba(7,27,63,.075)
}
.hero-search-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a
}
.hero-search-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.hero-search-box input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#071b3f;
    font:inherit;
    font-size:15px;
    padding:0 12px
}
.hero-search-box input::placeholder{color:#9aa5a8}
.hero-search-box button{
    height:48px;
    border:0;
    background:#071b3f;
    color:#fff;
    padding:0 19px;
    display:flex;
    align-items:center;
    gap:14px;
    cursor:pointer;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:700;
    transition:.2s
}
.hero-search-box button:hover{background:#0c8f8a}
.hero-search-box button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}

.catalogue-premium-stats{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px
}
.catalogue-stat-primary{
    grid-column:1/-1;
    min-height:168px;
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:#071b3f;
    color:#fff;
    box-shadow:0 20px 50px rgba(7,27,63,.13)
}
.catalogue-stat-primary>span{
    font-size:9px;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#70c6ba
}
.catalogue-stat-primary strong{
    margin:5px 0 0;
    font-family:Georgia,serif;
    font-size:66px;
    line-height:.95;
    font-weight:500
}
.catalogue-stat-primary small{
    margin-top:12px;
    color:rgba(255,255,255,.4);
    font-size:8px;
    letter-spacing:.13em
}
.catalogue-stat-mini{
    min-height:105px;
    padding:18px;
    border:1px solid #dbe5e3;
    background:rgba(255,255,255,.84)
}
.catalogue-stat-mini strong{
    display:block;
    color:#0c8f8a;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:500
}
.catalogue-stat-mini span{
    display:block;
    margin-top:3px;
    color:#52636a;
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase
}
.catalogue-stat-mini small{
    display:block;
    margin-top:5px;
    color:#9aa5a8;
    font-size:9px
}

.catalogue-category-showcase{
    padding:34px 6.5vw 0;
    background:#f6f8f8
}
.category-showcase-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:15px
}
.category-showcase-head h2{
    margin:3px 0 0;
    color:#071b3f;
    font-family:Georgia,serif;
    font-size:28px;
    font-weight:500
}
.category-showcase-head>a{
    color:#637177;
    text-decoration:none;
    font-size:11px
}
.category-showcase-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px
}
.category-showcase-card{
    position:relative;
    min-height:105px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 20px;
    gap:12px;
    align-items:center;
    padding:16px;
    background:#fff;
    border:1px solid #dde6e4;
    color:#071b3f;
    text-decoration:none;
    transition:.2s ease;
    overflow:hidden
}
.category-showcase-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#0c8f8a;
    opacity:0;
    transition:.2s
}
.category-showcase-card:hover,
.category-showcase-card.active{
    transform:translateY(-2px);
    border-color:#c9d9d6;
    box-shadow:0 12px 32px rgba(7,27,63,.06)
}
.category-showcase-card:hover:before,
.category-showcase-card.active:before{opacity:1}
.category-index{
    color:#b3bfc1;
    font-family:Georgia,serif;
    font-size:20px
}
.category-showcase-card strong{
    display:block;
    font-family:Georgia,serif;
    font-size:15px;
    line-height:1.25;
    font-weight:500
}
.category-showcase-card small{
    display:block;
    margin-top:5px;
    color:#8a9699;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.category-arrow{color:#0c8f8a;font-size:16px}

.catalogue-shell{padding-top:34px}
.filter-panel-heading{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    color:#071b3f;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em
}
.filter-panel-heading span{width:24px;height:2px;background:#0c8f8a}
.catalogue-filter{
    border:0;
    box-shadow:0 14px 40px rgba(7,27,63,.055);
    border-top:3px solid #071b3f
}
.results-title span{
    display:block;
    color:#8a9699;
    font-size:9px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:3px
}
.results-title strong{
    display:block!important;
    font-family:Georgia,serif;
    font-size:21px!important;
    font-weight:500
}

.course-grid{gap:14px}
.premium-course-card{
    min-height:350px;
    padding:0;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #dde6e4;
    box-shadow:0 9px 28px rgba(7,27,63,.035)
}
.premium-course-card:before{display:none}
.premium-course-card:hover{
    transform:translateY(-4px);
    border-color:#c7d8d4;
    box-shadow:0 20px 48px rgba(7,27,63,.09)
}
.premium-course-card-head{
    min-height:58px;
    padding:16px 18px 13px;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    border-bottom:1px solid #edf1f0;
    background:linear-gradient(135deg,#fbfcfc,#f6f9f8)
}
.premium-course-card-body{
    flex:1;
    padding:21px 19px 17px
}
.course-type-label{
    display:block;
    margin-bottom:9px;
    color:#0c8f8a;
    font-size:8px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:700
}
.premium-course-card h2{
    font-size:22px;
    line-height:1.22;
    margin-bottom:12px
}
.premium-course-card .course-subtitle{
    font-size:13px;
    line-height:1.6;
    color:#69767b
}
.premium-course-footer{
    padding:14px 18px 16px;
    border-top:1px solid #edf1f0
}
.premium-course-meta{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:13px
}
.premium-course-meta>span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#69767b;
    font-size:10px
}
.premium-course-meta svg{
    width:14px;
    height:14px;
    fill:none;
    stroke:#0c8f8a;
    stroke-width:1.6
}
.premium-course-meta .premium-ai-mini{
    padding:4px 6px;
    border:1px solid #edc9bc;
    background:#fff6f2;
    color:#b66049;
    font-size:8px;
    font-weight:700;
    letter-spacing:.08em
}
.premium-course-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    color:#071b3f;
    text-decoration:none;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.09em;
    font-weight:700;
    transition:.2s
}
.premium-course-link svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:#0c8f8a;
    stroke-width:1.8;
    transition:.2s
}
.premium-course-card:hover .premium-course-link{color:#0c8f8a}
.premium-course-card:hover .premium-course-link svg{transform:translateX(3px)}

html[dir="rtl"] body .catalogue-hero-mark{right:auto;left:-28px}
html[dir="rtl"] body .category-showcase-card:before{left:auto;right:0}
html[dir="rtl"] body .premium-course-link svg{transform:scaleX(-1)}
html[dir="rtl"] body .premium-course-card:hover .premium-course-link svg{transform:scaleX(-1) translateX(3px)}

@media(max-width:1180px){
    .catalogue-premium-hero{grid-template-columns:minmax(0,1fr) 320px;gap:42px}
    .category-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
    .catalogue-premium-hero{grid-template-columns:1fr;padding:48px 24px 40px}
    .catalogue-premium-stats{max-width:540px}
    .catalogue-category-showcase{padding-left:24px;padding-right:24px}
}
@media(max-width:620px){
    .catalogue-premium-copy h1{font-size:42px}
    .hero-search-box{grid-template-columns:42px minmax(0,1fr) 48px}
    .hero-search-box button span{display:none}
    .hero-search-box button{padding:0;justify-content:center}
    .category-showcase-grid{grid-template-columns:1fr}
    .catalogue-premium-stats{grid-template-columns:1fr 1fr}
    .catalogue-stat-primary{min-height:140px}
}


/* =========================================================
   V21 — KAIZEN SYMBOL WATERMARK ON PROGRAMME CARDS
   Same premium visual idea as the country flags:
   large, faded, lower-right, behind the content.
   ========================================================= */
.premium-course-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}
.premium-course-card:after{
    content:"";
    position:absolute;
    right:-5%;
    bottom:-18%;
    width:52%;
    height:74%;
    z-index:-2;
    pointer-events:none;
    background:
        radial-gradient(circle at 78% 78%,rgba(12,143,138,.07),transparent 58%);
}
.course-logo-watermark{
    position:absolute;
    right:-22px;
    bottom:-30px;
    width:185px;
    height:185px;
    z-index:0;
    pointer-events:none;
    user-select:none;

    background-image:
        linear-gradient(125deg,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,.96) 18%,
            rgba(255,255,255,.48) 46%,
            rgba(255,255,255,0) 78%
        ),
        url('assets/img/logo-mark.png');
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover, contain;

    opacity:.085;
    filter:grayscale(.22) saturate(.75) contrast(.95);
    transform:rotate(-7deg);
    transform-origin:100% 100%;

    -webkit-mask-image:linear-gradient(
        135deg,
        transparent 0%,
        rgba(0,0,0,.16) 26%,
        rgba(0,0,0,.78) 58%,
        #000 100%
    );
    mask-image:linear-gradient(
        135deg,
        transparent 0%,
        rgba(0,0,0,.16) 26%,
        rgba(0,0,0,.78) 58%,
        #000 100%
    );

    transition:opacity .25s ease,transform .25s ease;
}

/* Keep all real card content above the watermark */
.premium-course-card-head,
.premium-course-card-body,
.premium-course-footer{
    position:relative;
    z-index:2;
}

/* Slight reveal on hover, still subtle */
.premium-course-card:hover .course-logo-watermark{
    opacity:.145;
    transform:rotate(-4deg) scale(1.035);
}

/* Give the lower-right area a little extra depth, like the country cards */
.premium-course-footer{
    background:linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.95) 67%,
        rgba(248,251,250,.86) 100%
    );
}

/* RTL: watermark remains visually bottom-right on purpose */
html[dir="rtl"] body .course-logo-watermark{
    right:-22px;
    left:auto;
}

/* Responsive */
@media(max-width:620px){
    .course-logo-watermark{
        width:155px;
        height:155px;
        right:-18px;
        bottom:-24px;
        opacity:.075;
    }
}


/* =========================================================
   V22 — KAIZEN WATERMARK VISIBILITY FIX
   Use the confirmed existing logo-full.png asset and crop it
   so only the symbol appears. Stronger but still elegant.
   ========================================================= */
.course-logo-watermark{
    right:-18px!important;
    bottom:14px!important;

    width:235px!important;
    height:128px!important;

    background-image:url('assets/img/logo-full.png')!important;
    background-repeat:no-repeat!important;
    background-size:235px auto!important;
    background-position:center top!important;

    opacity:.13!important;
    filter:grayscale(.12) saturate(.82) contrast(1.08)!important;
    transform:rotate(-6deg)!important;

    /* clip the KAIZEN wordmark and keep the upper symbol only */
    overflow:hidden!important;

    -webkit-mask-image:linear-gradient(
        125deg,
        transparent 0%,
        rgba(0,0,0,.35) 22%,
        rgba(0,0,0,.92) 58%,
        #000 100%
    )!important;
    mask-image:linear-gradient(
        125deg,
        transparent 0%,
        rgba(0,0,0,.35) 22%,
        rgba(0,0,0,.92) 58%,
        #000 100%
    )!important;
}

/* A navy/turquoise depth underneath the real symbol */
.premium-course-card:after{
    right:-2%!important;
    bottom:-4%!important;
    width:43%!important;
    height:56%!important;
    background:
        radial-gradient(circle at 82% 82%,rgba(12,143,138,.09),transparent 54%),
        radial-gradient(circle at 88% 88%,rgba(7,27,63,.045),transparent 68%)!important;
}

/* Keep the artwork visible through the card body/footer */
.premium-course-card-body{
    background:linear-gradient(
        120deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,.985) 58%,
        rgba(249,252,251,.91) 100%
    )!important;
}
.premium-course-footer{
    background:rgba(255,255,255,.91)!important;
}

/* Hover: slightly stronger, never intrusive */
.premium-course-card:hover .course-logo-watermark{
    opacity:.19!important;
    transform:rotate(-3deg) scale(1.025)!important;
}

@media(max-width:620px){
    .course-logo-watermark{
        width:195px!important;
        height:108px!important;
        background-size:195px auto!important;
        right:-16px!important;
        bottom:10px!important;
        opacity:.115!important;
    }
}


/* =========================================================
   V23 — DEFINITIVE KAIZEN WATERMARK FIX
   Root cause:
   1) CSS image path was wrong.
   2) watermark sat behind opaque card surfaces.
   ========================================================= */
.premium-course-card{
    position:relative!important;
    overflow:hidden!important;
    isolation:isolate!important;
}

/* Real Kaizen symbol, using the existing site asset */
.course-logo-watermark{
    display:block!important;
    position:absolute!important;

    /* place it clearly inside the programme body, lower-right */
    right:-18px!important;
    top:92px!important;
    bottom:auto!important;

    width:235px!important;
    height:177px!important;

    /* IMPORTANT: path is relative to /assets/css/app.css */
    background-image:url('../img/logo-mark.png')!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:contain!important;

    /* above card background, below all text */
    z-index:1!important;

    opacity:.115!important;
    filter:saturate(.82) contrast(1.05)!important;
    transform:rotate(-5deg)!important;
    transform-origin:center!important;

    pointer-events:none!important;
    user-select:none!important;

    /* gentle fade on the left, same visual logic as country flags */
    -webkit-mask-image:linear-gradient(
        105deg,
        transparent 0%,
        rgba(0,0,0,.18) 18%,
        rgba(0,0,0,.82) 48%,
        #000 72%
    )!important;
    mask-image:linear-gradient(
        105deg,
        transparent 0%,
        rgba(0,0,0,.18) 18%,
        rgba(0,0,0,.82) 48%,
        #000 72%
    )!important;

    transition:opacity .22s ease,transform .22s ease!important;
}

/* Real content always remains on top */
.premium-course-card-head,
.premium-course-card-body,
.premium-course-footer{
    position:relative!important;
    z-index:2!important;
}

/* Do not paint an opaque white layer over the watermark */
.premium-course-card-body{
    background:transparent!important;
}

/* footer stays readable while allowing a little depth */
.premium-course-footer{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(1.5px);
}

/* subtle teal atmosphere behind the symbol */
.premium-course-card:after{
    content:""!important;
    position:absolute!important;
    right:-35px!important;
    top:82px!important;
    width:270px!important;
    height:205px!important;
    z-index:0!important;
    background:
        radial-gradient(circle at 72% 58%,rgba(12,143,138,.075),transparent 62%)!important;
    pointer-events:none!important;
}

/* Reveal a little more on hover */
.premium-course-card:hover .course-logo-watermark{
    opacity:.18!important;
    transform:rotate(-2deg) scale(1.035)!important;
}

html[dir="rtl"] body .course-logo-watermark{
    right:-18px!important;
    left:auto!important;
}

@media(max-width:620px){
    .course-logo-watermark{
        right:-14px!important;
        top:94px!important;
        width:190px!important;
        height:143px!important;
        opacity:.10!important;
    }
}


/* =========================================================
   V24 — PREMIUM ACADEMIC CATEGORY ICON SYSTEM
   One visual language at the top and repeated in course cards.
   ========================================================= */

/* Featured academic areas */
.category-showcase-card{
    grid-template-columns:52px minmax(0,1fr) 20px!important;
    min-height:112px!important;
}
.category-icon-wrap{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
    background:linear-gradient(145deg,#f1f8f6,#fff);
    border:1px solid #d6e5e2;
    position:relative;
    overflow:hidden;
}
.category-icon-wrap:after{
    content:"";
    position:absolute;
    inset:auto -12px -16px auto;
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(12,143,138,.055);
}
.category-icon-wrap svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
    position:relative;
    z-index:2;
}
.category-showcase-copy{
    min-width:0;
}
.category-showcase-copy .category-index{
    display:block;
    margin-bottom:4px;
    font-size:10px;
    letter-spacing:.12em;
    color:#b0babc;
}
.category-showcase-card:hover .category-icon-wrap,
.category-showcase-card.active .category-icon-wrap{
    color:#fff;
    background:#0c8f8a;
    border-color:#0c8f8a;
}
.category-showcase-card:hover .category-icon-wrap:after,
.category-showcase-card.active .category-icon-wrap:after{
    background:rgba(255,255,255,.10);
}

/* Programme cards: small category signature */
.course-category-with-icon{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}
.course-category-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
    border:1px solid #d7e5e2;
    background:#f4f9f8;
}
.course-category-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.course-category-with-icon .course-category{
    line-height:1.35;
}

/* Large ultra-light category mark, complementary to Kaizen watermark */
.course-category-watermark{
    position:absolute;
    right:24px;
    top:168px;
    width:108px;
    height:108px;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
    opacity:.045;
    pointer-events:none;
    transform:rotate(-7deg);
    transition:opacity .22s ease,transform .22s ease;
}
.course-category-watermark svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.premium-course-card:hover .course-category-watermark{
    opacity:.085;
    transform:rotate(-3deg) scale(1.03);
}

/* Keep the Kaizen symbol lower/right and the academic icon slightly higher,
   so both are visible without competing. */
.course-logo-watermark{
    top:205px!important;
    width:160px!important;
    height:120px!important;
    opacity:.09!important;
}
.premium-course-card:hover .course-logo-watermark{
    opacity:.14!important;
}

/* Card header gets a little more premium breathing room */
.premium-course-card-head{
    min-height:66px!important;
    padding-top:14px!important;
    padding-bottom:14px!important;
}

/* RTL */
html[dir="rtl"] body .course-category-watermark{
    right:auto;
    left:24px;
}
html[dir="rtl"] body .course-category-with-icon{
    flex-direction:row;
}

/* Mobile */
@media(max-width:620px){
    .category-showcase-card{
        grid-template-columns:48px minmax(0,1fr) 18px!important;
    }
    .category-icon-wrap{
        width:42px;
        height:42px;
    }
    .course-category-watermark{
        width:88px;
        height:88px;
        right:18px;
        top:170px;
    }
}


/* =========================================================
   V25 — PREMIUM HOME PROGRAMME SEARCH
   Search bar directly below the existing hero.
   Functional with programmes.php: q / category / level / ai.
   ========================================================= */
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.home-programme-search-wrap{
    position:relative;
    z-index:8;
    padding:0 6.5vw;
    margin-top:-2px;
    background:linear-gradient(180deg,#f5f8f8 0%,#fff 100%);
}

.home-programme-search-shell{
    position:relative;
    max-width:1560px;
    margin:0 auto;
    padding:22px 24px 24px;
    background:rgba(255,255,255,.97);
    border:1px solid #dce6e4;
    border-top:3px solid #071b3f;
    box-shadow:0 20px 50px rgba(7,27,63,.09);
    overflow:hidden;
    transform:translateY(-26px);
}

.home-programme-search-shell:before{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:31%;
    height:2px;
    background:linear-gradient(90deg,#0c8f8a,rgba(12,143,138,0));
}

.home-search-signature{
    position:absolute;
    right:-20px;
    bottom:-72px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:190px;
    line-height:1;
    font-weight:700;
    color:rgba(12,143,138,.035);
    pointer-events:none;
}

.home-search-heading{
    position:relative;
    z-index:2;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    padding:0 2px 16px;
}

.home-search-kicker{
    display:block;
    margin-bottom:4px;
    color:#0c8f8a;
    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.home-search-heading h2{
    margin:0;
    color:#071b3f;
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
    line-height:1.15;
    font-weight:500;
}

.home-search-heading p{
    max-width:460px;
    margin:0;
    color:#7a878b;
    font-size:10px;
    line-height:1.55;
    text-align:right;
}

.home-programme-search{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(280px,1.6fr) minmax(190px,1fr) minmax(160px,.8fr) minmax(190px,.9fr) auto;
    gap:8px;
}

.home-search-field{
    min-height:54px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center;
    background:#f7faf9;
    border:1px solid #dce5e3;
    transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.home-search-field:focus-within{
    background:#fff;
    border-color:#9ecfc8;
    box-shadow:0 0 0 3px rgba(12,143,138,.055);
}

.home-field-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
}

.home-field-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.home-search-field input,
.home-search-field select{
    width:100%;
    min-width:0;
    height:52px;
    border:0;
    outline:0;
    background:transparent;
    color:#263c4d;
    font:inherit;
    font-size:12px;
    padding:0 13px 0 2px;
}

.home-search-field input::placeholder{
    color:#8c989c;
}

.home-search-field select{
    cursor:pointer;
}

.home-search-submit{
    min-width:160px;
    height:54px;
    padding:0 19px;
    border:0;
    background:#071b3f;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    cursor:pointer;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    transition:background .2s ease,transform .2s ease;
}

.home-search-submit:hover{
    background:#0c8f8a;
    transform:translateY(-1px);
}

.home-search-submit svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

/* Give the approach section room after the floating search */
.home-programme-search-wrap + .approach{
    padding-top:24px;
}

/* RTL */
html[dir="rtl"] body .home-search-heading p{
    text-align:left;
}
html[dir="rtl"] body .home-search-signature{
    right:auto;
    left:-20px;
}
html[dir="rtl"] body .home-programme-search-shell:before{
    left:auto;
    right:0;
    background:linear-gradient(270deg,#0c8f8a,rgba(12,143,138,0));
}
html[dir="rtl"] body .home-search-submit svg{
    transform:scaleX(-1);
}

/* Responsive */
@media(max-width:1180px){
    .home-programme-search{
        grid-template-columns:1.4fr 1fr 1fr;
    }
    .home-search-keyword{
        grid-column:span 2;
    }
    .home-search-submit{
        min-width:0;
    }
}
@media(max-width:820px){
    .home-programme-search-wrap{
        padding:0 24px;
    }
    .home-programme-search-shell{
        transform:translateY(-18px);
    }
    .home-search-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }
    .home-search-heading p{
        text-align:left;
    }
    html[dir="rtl"] body .home-search-heading p{
        text-align:right;
    }
    .home-programme-search{
        grid-template-columns:1fr 1fr;
    }
    .home-search-keyword{
        grid-column:1/-1;
    }
    .home-search-submit{
        grid-column:1/-1;
    }
}
@media(max-width:560px){
    .home-programme-search-wrap{
        padding:0 16px;
    }
    .home-programme-search-shell{
        padding:18px 14px;
        transform:translateY(-12px);
    }
    .home-search-heading h2{
        font-size:20px;
    }
    .home-programme-search{
        grid-template-columns:1fr;
    }
    .home-search-keyword,
    .home-search-submit{
        grid-column:auto;
    }
}

/* V26 — Sessions */
.session-card{position:relative;overflow:hidden;display:grid;grid-template-columns:84px 1fr;min-height:205px;background:#fff;border:1px solid #dce6e4;box-shadow:0 10px 32px rgba(7,27,63,.045);transition:.22s}.session-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(7,27,63,.10);border-color:#bcd5d0}.session-date-block{z-index:2;padding:20px 8px;display:flex;flex-direction:column;align-items:center;color:#fff;background:linear-gradient(180deg,#071b3f,#0a3953 65%,#0c7778)}.session-date-day{font-family:Georgia,serif;font-size:40px;line-height:1}.session-date-month{margin-top:5px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#80d3c8}.session-date-year{font-size:8px;color:rgba(255,255,255,.5)}.session-card-content{z-index:2;padding:19px;display:flex;flex-direction:column}.session-card-topline{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.session-category{color:#0c8f8a;font-size:7px;letter-spacing:.11em;text-transform:uppercase;font-weight:800}.session-status{padding:4px 6px;border:1px solid;font-size:7px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.session-status.is-open{color:#0b7e70;background:#eef9f6;border-color:#b9e0d9}.session-status.is-planned{color:#8b6b2c;background:#fffaf0;border-color:#ead7aa}.session-card h3{margin:0 0 12px;color:#071b3f;font-family:Georgia,serif;font-size:19px;line-height:1.2;font-weight:500}.session-meta-line{display:flex;gap:13px;flex-wrap:wrap;margin-top:auto;padding-top:11px;border-top:1px solid #edf1f0}.session-meta-line span{display:flex;align-items:center;gap:5px;color:#6b797e;font-size:9px}.session-meta-line svg{width:13px;height:13px;fill:none;stroke:#0c8f8a;stroke-width:1.6}.session-meta-line small{font-size:7px;color:#a2acae}.session-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#071b3f;text-decoration:none;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.session-card-link svg{width:14px;height:14px;fill:none;stroke:#0c8f8a;stroke-width:1.8}.session-card-mark{position:absolute;right:-18px;bottom:-54px;font-family:Georgia,serif;font-size:145px;color:rgba(12,143,138,.035);font-weight:700}
.home-upcoming-sessions{padding:30px 6.5vw 56px;background:#fff}.home-sessions-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:17px}.home-sessions-head span{display:block;color:#0c8f8a;font-size:8px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.home-sessions-head h2{margin:4px 0;color:#071b3f;font-family:Georgia,serif;font-size:30px;font-weight:500}.home-sessions-head p{margin:0;color:#78858a;font-size:11px}.home-sessions-actions{display:flex;gap:8px}.home-sessions-actions a{padding:10px 13px;border:1px solid #d8e3e0;text-decoration:none;color:#071b3f;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.home-sessions-actions .private-link{background:#071b3f;color:#fff}.home-sessions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.home-sessions-grid .session-card{grid-template-columns:66px 1fr;min-height:185px}.home-sessions-grid .session-date-day{font-size:32px}.home-sessions-grid .session-card h3{font-size:15px}.home-sessions-empty{padding:25px;border:1px solid #dce6e4;background:#f8faf9;display:flex;align-items:center;gap:20px}.home-sessions-empty strong{font-family:Georgia,serif;font-size:19px;color:#071b3f}.home-sessions-empty p{flex:1;margin:0;color:#718086;font-size:10px}.home-sessions-empty a{background:#071b3f;color:#fff;text-decoration:none;padding:11px 14px;font-size:8px;text-transform:uppercase}
.sessions-page{background:#f5f8f8}.sessions-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 390px;gap:65px;align-items:end;padding:70px 6.5vw 55px;background:linear-gradient(135deg,#071b3f,#0a3852 65%,#0b5863);color:#fff}.sessions-hero-copy{z-index:2}.sessions-hero h1{margin:15px 0;color:#fff;font-family:Georgia,serif;font-size:clamp(48px,5.2vw,75px);line-height:1;font-weight:500}.sessions-hero p{max-width:760px;color:rgba(255,255,255,.62);font-size:14px;line-height:1.7}.sessions-hero-mark{position:absolute;right:-20px;bottom:-130px;font-family:Georgia,serif;font-size:380px;color:rgba(255,255,255,.025);font-weight:700}.sessions-next-card{z-index:2;padding:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15)}.sessions-next-card>span{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#79d3c6}.sessions-next-date{display:flex;gap:9px;align-items:baseline;margin:8px 0}.sessions-next-date strong{font-family:Georgia,serif;font-size:48px}.sessions-next-date em{font-style:normal;font-size:10px;color:rgba(255,255,255,.58)}.sessions-next-card h2{margin:0;color:#fff;font-family:Georgia,serif;font-size:20px;font-weight:500}.sessions-next-card p{font-size:10px}.sessions-next-card a{display:inline-block;margin-top:14px;color:#fff;text-decoration:none;font-size:8px;text-transform:uppercase}.sessions-filter-shell{padding:0 6.5vw;transform:translateY(-19px);z-index:4;position:relative}.sessions-filter{display:grid;grid-template-columns:1.25fr 1fr .8fr .8fr auto;gap:8px;padding:15px;background:#fff;border:1px solid #dce6e4;box-shadow:0 18px 48px rgba(7,27,63,.09)}.sessions-filter input,.sessions-filter select{height:49px;padding:0 12px;border:1px solid #dce5e3;background:#f8faf9;font-size:10px}.sessions-filter button{height:49px;border:0;background:#071b3f;color:#fff;padding:0 17px;font-size:8px;text-transform:uppercase}.sessions-results{padding:18px 6.5vw 58px}.sessions-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.sessions-section-head span{color:#0c8f8a;font-size:8px;text-transform:uppercase;letter-spacing:.14em}.sessions-section-head h2{margin:4px 0;font-family:Georgia,serif;color:#071b3f;font-size:30px;font-weight:500}.sessions-section-head>strong{font-family:Georgia,serif;color:#0c8f8a;font-size:35px}.sessions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.session-empty{padding:32px;background:#fff;border:1px solid #dce6e4;color:#718086}.private-session-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:62px 6.5vw;background:#071b3f;color:#fff}.private-session-copy>span{color:#79d3c6;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.private-session-copy h2{margin:9px 0 15px;font-family:Georgia,serif;font-size:42px;font-weight:500}.private-session-copy>p{color:rgba(255,255,255,.62);font-size:12px;line-height:1.7}.private-session-points{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}.private-session-points span{padding:13px;border:1px solid rgba(255,255,255,.12);color:#79d3c6;font-family:Georgia,serif;font-size:18px}.private-session-points b{display:block;margin-top:6px;color:#fff;font-family:Arial;font-size:8px;text-transform:uppercase}.private-session-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:23px;background:#fff}.private-session-form input,.private-session-form textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #dce6e4;background:#f8faf9;font-size:10px}.private-session-form textarea,.private-session-form button,.session-form-success{grid-column:1/-1}.private-session-form button{height:49px;border:0;background:#0c8f8a;color:#fff;font-size:8px;text-transform:uppercase}.session-form-success{padding:10px;background:#eaf8f4;color:#0b7c6f;font-size:10px}
.programme-session-experience{margin-top:40px;padding:28px;background:linear-gradient(145deg,#071b3f,#0a4558);color:#fff}.programme-session-head{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}.programme-session-head span{color:#79d3c6;font-size:8px;text-transform:uppercase;letter-spacing:.14em}.programme-session-head h2{margin:5px 0;color:#fff;font-family:Georgia,serif;font-size:27px;font-weight:500}.programme-session-head p{max-width:680px;margin:0;color:rgba(255,255,255,.58);font-size:10px}.programme-session-head>a,.programme-private-dominant>a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.18);padding:10px 12px;font-size:8px;text-transform:uppercase}.programme-session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.programme-session-grid .session-card{grid-template-columns:60px 1fr;min-height:180px}.programme-session-grid .session-date-day{font-size:28px}.programme-session-grid .session-card h3{font-size:14px}.programme-private-dominant{display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;margin-top:17px;padding:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13)}.programme-private-index{color:#79d3c6;font-size:8px;letter-spacing:.15em}.programme-private-dominant h3{margin:0;color:#fff;font-family:Georgia,serif;font-size:21px}.programme-private-dominant p{margin:5px 0 0;color:rgba(255,255,255,.58);font-size:10px}
@media(max-width:1180px){.home-sessions-grid{grid-template-columns:repeat(2,1fr)}.sessions-grid{grid-template-columns:repeat(2,1fr)}.programme-session-grid{grid-template-columns:1fr}}@media(max-width:900px){.sessions-hero{grid-template-columns:1fr}.sessions-filter{grid-template-columns:1fr 1fr}.sessions-filter button{grid-column:1/-1}.private-session-section{grid-template-columns:1fr}.programme-session-head{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.home-sessions-head{align-items:flex-start;flex-direction:column}.home-sessions-grid,.sessions-grid{grid-template-columns:1fr}.sessions-filter{grid-template-columns:1fr}.sessions-filter button{grid-column:auto}.private-session-form{grid-template-columns:1fr}.private-session-form textarea,.private-session-form button,.session-form-success{grid-column:auto}.private-session-points{grid-template-columns:1fr}.programme-private-dominant{grid-template-columns:1fr}}


/* =========================================================
   V27 — SESSIONS UX/UI PREMIUM
   ========================================================= */

.sessions-hero-v27{
    grid-template-columns:minmax(0,1fr) 430px!important;
    min-height:430px;
    padding-top:76px!important;
    padding-bottom:68px!important;
    background:
        radial-gradient(circle at 82% 22%,rgba(112,211,198,.09),transparent 28%),
        linear-gradient(135deg,#061a3b 0%,#092e4a 58%,#0a5360 100%)!important;
}
.sessions-hero-v27:after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:1px;
    background:linear-gradient(90deg,transparent,#5ab9ad,transparent);
    opacity:.35;
}
.sessions-hero-v27 .sessions-hero-copy{max-width:940px}
.sessions-hero-v27 h1{max-width:900px}
.sessions-hero-v27 p{max-width:760px;font-size:14px!important}
.sessions-hero-stats{
    display:flex;
    gap:8px;
    margin-top:28px;
    flex-wrap:wrap;
}
.sessions-hero-stats>div{
    min-width:120px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.045);
    backdrop-filter:blur(6px);
}
.sessions-hero-stats strong{
    display:block;
    color:#fff;
    font-family:Georgia,serif;
    font-size:25px;
    font-weight:500;
}
.sessions-hero-stats span{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.48);
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.sessions-next-card-v27{
    padding:24px!important;
    border:1px solid rgba(255,255,255,.17)!important;
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04))!important;
    box-shadow:0 20px 55px rgba(0,0,0,.12);
}
.next-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.next-card-top>span:first-child{
    color:#7dd2c7;
    font-size:8px;
    letter-spacing:.15em;
    text-transform:uppercase;
    font-weight:800;
}
.next-card-status{
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.2);
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.next-card-status.is-open{color:#8ae0d3;background:rgba(12,143,138,.11)}
.next-card-status.is-planned{color:#e9cf9a;background:rgba(201,156,61,.08)}
.next-card-date{
    display:flex;
    align-items:end;
    justify-content:space-between;
    margin:14px 0 16px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(255,255,255,.10);
}
.next-card-date>div{display:flex;align-items:baseline;gap:9px}
.next-card-date strong{font-family:Georgia,serif;font-size:58px;line-height:.9;font-weight:500}
.next-card-date span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7dd2c7}
.next-card-date em{font-style:normal;color:rgba(255,255,255,.40);font-size:11px}
.next-card-category{color:#7dd2c7;font-size:7px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.sessions-next-card-v27 h2{font-size:23px!important;line-height:1.2!important;margin-top:7px!important}
.next-card-meta{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:14px;
}
.next-card-meta span{
    display:flex;
    align-items:center;
    gap:6px;
    color:rgba(255,255,255,.58);
    font-size:9px;
}
.next-card-meta svg{
    width:14px;height:14px;fill:none;stroke:#7dd2c7;stroke-width:1.6
}
.sessions-next-card-v27>a{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    margin-top:18px!important;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.10);
}
.sessions-next-card-v27>a svg{
    width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8
}

/* Premium filter */
.sessions-filter-shell-v27{
    transform:translateY(-28px)!important;
}
.sessions-filter-v27{
    grid-template-columns:minmax(300px,1.6fr) 1fr .8fr auto!important;
    padding:12px!important;
    gap:7px!important;
    border-top:3px solid #071b3f!important;
}
.session-filter-field{
    min-height:52px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    align-items:center;
    border:1px solid #dce5e3;
    background:#f8faf9;
    transition:.2s;
}
.session-filter-field:focus-within{
    background:#fff;
    border-color:#9ed1ca;
    box-shadow:0 0 0 3px rgba(12,143,138,.05);
}
.session-filter-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0c8f8a;
}
.session-filter-icon svg{
    width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6
}
.session-filter-field input,
.session-filter-field select{
    width:100%;
    min-width:0;
    height:50px;
    border:0!important;
    outline:0;
    background:transparent!important;
    padding:0 10px 0 0!important;
    font-size:10px!important;
}
.sessions-filter-submit{
    min-width:145px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
}
.sessions-filter-submit svg{
    width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8
}

/* Month timeline */
.session-month-timeline{
    display:grid;
    grid-template-columns:repeat(9,minmax(0,1fr));
    margin-top:9px;
    border:1px solid #dce6e4;
    background:#fff;
    box-shadow:0 12px 34px rgba(7,27,63,.045);
}
.session-month-timeline a{
    position:relative;
    min-height:60px;
    padding:11px 8px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    border-right:1px solid #e6eceb;
    color:#071b3f;
    transition:.2s;
}
.session-month-timeline a:last-child{border-right:0}
.session-month-timeline a:after{
    content:"";
    position:absolute;
    left:22%;
    right:22%;
    bottom:0;
    height:2px;
    background:#0c8f8a;
    opacity:0;
}
.session-month-timeline a span{
    font-family:Georgia,serif;
    font-size:17px;
}
.session-month-timeline a small{
    margin-top:2px;
    color:#95a0a3;
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.session-month-timeline a:hover,
.session-month-timeline a.active{
    background:#f3f8f7;
}
.session-month-timeline a.active:after{opacity:1}
.session-month-timeline a.active span{color:#0c8f8a}

/* Results */
.sessions-results-v27{padding-top:8px!important}
.sessions-section-head-v27{
    padding-bottom:16px;
    margin-bottom:18px!important;
    border-bottom:1px solid #dfe7e5;
}
.sessions-section-head-v27 p{
    margin:6px 0 0;
    color:#77858a;
    font-size:10px;
}
.sessions-results-count{
    min-width:92px;
    padding:11px 14px;
    text-align:right;
    border-left:2px solid #0c8f8a;
}
.sessions-results-count strong{
    display:block;
    color:#071b3f!important;
    font-family:Georgia,serif!important;
    font-size:30px!important;
    line-height:1;
}
.sessions-results-count small{
    display:block;
    margin-top:4px;
    color:#9aa4a7;
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.sessions-grid{
    gap:12px!important;
}
.sessions-grid .session-card{
    min-height:220px!important;
}

/* Private section */
.private-session-section-v27{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 20%,rgba(12,143,138,.10),transparent 30%),
        linear-gradient(135deg,#061a3b 0%,#082e49 60%,#0a4d58 100%)!important;
}
.private-session-section-v27:after{
    content:"K";
    position:absolute;
    left:-30px;
    bottom:-160px;
    font-family:Georgia,serif;
    font-size:430px;
    line-height:1;
    color:rgba(255,255,255,.018);
    font-weight:700;
    pointer-events:none;
}
.private-session-section-v27 .private-session-copy,
.private-session-section-v27 .private-session-form{position:relative;z-index:2}
.private-session-benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:30px;
}
.private-session-benefits>div{
    min-height:88px;
    padding:14px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.035);
}
.private-session-benefits strong{
    display:block;
    color:#7dd2c7;
    font-family:Georgia,serif;
    font-size:24px;
    font-weight:500;
}
.private-session-benefits span{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.private-session-note{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:28px;
}
.private-session-note span{
    width:34px;height:34px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.14);
    color:#7dd2c7;font-family:Georgia,serif;font-size:18px
}
.private-session-note p{
    margin:0!important;
    color:rgba(255,255,255,.38)!important;
    font-size:8px!important;
    letter-spacing:.13em!important;
}
.private-session-section-v27 .private-session-form{
    border-top:3px solid #0c8f8a;
    box-shadow:0 26px 70px rgba(0,0,0,.18);
}
.private-session-section-v27 .private-session-form input,
.private-session-section-v27 .private-session-form textarea{
    transition:border-color .2s,background .2s;
}
.private-session-section-v27 .private-session-form input:focus,
.private-session-section-v27 .private-session-form textarea:focus{
    outline:0;
    background:#fff;
    border-color:#a6d5cf;
}
.private-session-section-v27 .private-session-form button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 18px;
    cursor:pointer;
    transition:.2s;
}
.private-session-section-v27 .private-session-form button:hover{
    background:#086f70;
}

/* RTL */
html[dir="rtl"] body .session-month-timeline a{
    border-right:0;
    border-left:1px solid #e6eceb;
}
html[dir="rtl"] body .session-month-timeline a:last-child{border-left:0}
html[dir="rtl"] body .sessions-filter-submit svg,
html[dir="rtl"] body .sessions-next-card-v27>a svg{transform:scaleX(-1)}
html[dir="rtl"] body .sessions-results-count{
    text-align:left;
    border-left:0;
    border-right:2px solid #0c8f8a;
}
html[dir="rtl"] body .private-session-section-v27:after{
    left:auto;
    right:-30px;
}

/* Responsive */
@media(max-width:1180px){
    .sessions-hero-v27{grid-template-columns:1fr 380px!important;gap:40px!important}
    .session-month-timeline{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:900px){
    .sessions-hero-v27{grid-template-columns:1fr!important}
    .sessions-filter-v27{grid-template-columns:1fr 1fr!important}
    .session-filter-search{grid-column:1/-1}
    .sessions-filter-submit{grid-column:1/-1}
    .session-month-timeline{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
    .sessions-hero-v27{padding:48px 20px 52px!important}
    .sessions-filter-shell-v27{padding-left:16px!important;padding-right:16px!important}
    .sessions-filter-v27{grid-template-columns:1fr!important}
    .session-filter-search,.sessions-filter-submit{grid-column:auto}
    .session-month-timeline{grid-template-columns:repeat(2,1fr)}
    .private-session-benefits{grid-template-columns:1fr}
    .sessions-results-count{display:none}
}


/* =========================================================
   V28 — SESSION DATE RANGE + COUNTRY FLAG WATERMARK
   5 training days = Monday–Friday.
   10 training days = Monday–Friday across two weeks.
   ========================================================= */

.session-card{
    isolation:isolate;
}
.session-card-content,
.session-date-block{
    position:relative;
    z-index:3;
}

/* Premium country flag in lower-right, same visual language
   as the destination cards. */
.session-flag-watermark{
    position:absolute;
    right:-20px;
    bottom:-26px;
    width:190px;
    height:122px;
    z-index:1;
    opacity:.105;
    pointer-events:none;
    background-image:
        linear-gradient(105deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.78) 20%,rgba(255,255,255,.08) 62%,rgba(255,255,255,0) 100%),
        var(--session-flag);
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    transform:rotate(-7deg) skewX(-4deg);
    transform-origin:100% 100%;
    filter:saturate(.85) contrast(.96);
    -webkit-mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.2) 22%,rgba(0,0,0,.82) 58%,#000 100%);
    mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.2) 22%,rgba(0,0,0,.82) 58%,#000 100%);
    transition:opacity .22s ease,transform .22s ease;
}
.session-card:hover .session-flag-watermark{
    opacity:.18;
    transform:rotate(-4deg) skewX(-2deg) scale(1.035);
}

.session-date-range{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    gap:7px;
    margin:2px 0 12px;
    color:#53666d;
    font-size:10px;
}
.session-date-range svg{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:#0c8f8a;
    stroke-width:1.6;
}
.session-date-range strong{
    font-weight:600;
    color:#40555d;
}

.next-card-date-range{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.045);
    color:#fff;
}
.next-card-date-range svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:#7dd2c7;
    stroke-width:1.6;
}
.next-card-date-range strong{
    font-size:11px;
    font-weight:600;
    letter-spacing:.015em;
}

/* The K remains very subtle because the flag is now the main watermark. */
.session-card-mark{
    opacity:.45;
}

html[dir="rtl"] body .session-flag-watermark{
    right:auto;
    left:-20px;
    transform:rotate(7deg) skewX(4deg);
}
html[dir="rtl"] body .session-card:hover .session-flag-watermark{
    transform:rotate(4deg) skewX(2deg) scale(1.035);
}

@media(max-width:620px){
    .session-flag-watermark{
        width:155px;
        height:100px;
        right:-18px;
        bottom:-20px;
        opacity:.09;
    }
}


/* =========================================================
   V29 — SESSION CARD SCHEDULE ROW
   City | Start–End date | Duration on one clear line.
   ========================================================= */
.session-date-range,
.session-meta-line{
    display:none!important;
}

.session-schedule-row{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(105px,.8fr) minmax(150px,1.1fr) minmax(80px,.55fr);
    align-items:center;
    gap:0;
    margin-top:auto;
    margin-bottom:2px;
    padding:12px 0 11px;
    border-top:1px solid #edf1f0;
    border-bottom:1px solid #edf1f0;
}

.session-schedule-row>span{
    min-width:0;
    min-height:30px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 12px;
    color:#5d6e74;
    font-size:9px;
    white-space:nowrap;
}

.session-schedule-row>span:first-child{
    padding-left:0;
}

.session-schedule-row>span+span{
    border-left:1px solid #e3eae8;
}

.session-schedule-row svg{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:#0c8f8a;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.session-schedule-row strong{
    overflow:hidden;
    text-overflow:ellipsis;
    color:#42565e;
    font-weight:600;
}

.session-schedule-city strong{
    color:#2c444e;
}

.session-schedule-city small{
    flex:0 0 auto;
    color:#a0aaad;
    font-size:7px;
    letter-spacing:.05em;
}

.session-schedule-date strong{
    color:#071b3f;
}

.session-schedule-duration{
    justify-content:flex-start;
}

/* Home cards are narrower: keep the same reading order but more compact. */
.home-sessions-grid .session-schedule-row{
    grid-template-columns:1fr 1.22fr .72fr;
}
.home-sessions-grid .session-schedule-row>span{
    padding-left:7px;
    padding-right:7px;
    font-size:8px;
}
.home-sessions-grid .session-schedule-row>span:first-child{
    padding-left:0;
}

/* Programme page session cards */
.programme-session-grid .session-schedule-row{
    grid-template-columns:1fr;
    gap:5px;
    padding:9px 0;
}
.programme-session-grid .session-schedule-row>span{
    min-height:22px;
    padding:0;
    border-left:0!important;
    font-size:8px;
}

/* RTL keeps logical order mirrored naturally */
html[dir="rtl"] body .session-schedule-row>span:first-child{
    padding-left:12px;
    padding-right:0;
}
html[dir="rtl"] body .session-schedule-row>span+span{
    border-left:0;
    border-right:1px solid #e3eae8;
}

@media(max-width:760px){
    .session-schedule-row,
    .home-sessions-grid .session-schedule-row{
        grid-template-columns:1fr;
        gap:6px;
    }
    .session-schedule-row>span,
    .home-sessions-grid .session-schedule-row>span{
        min-height:24px;
        padding:0!important;
        border-left:0!important;
        border-right:0!important;
    }
}


/* =========================================================
   V30 — STRICT KAIZEN BRAND CHART
   Official palette:
   Navy      #021336
   Turquoise #00A7B5
   Coral     #FF4D3F
   Dark gray #333333
   Light     #F5F7FA
   ========================================================= */

:root{
    --kea-navy:#021336;
    --kea-turquoise:#00A7B5;
    --kea-coral:#FF4D3F;
    --kea-dark:#333333;
    --kea-light:#F5F7FA;
}

/* SESSIONS HERO */
.sessions-hero,
.sessions-hero-v27{
    background:var(--kea-navy)!important;
    background-image:none!important;
}
.sessions-hero:after,
.sessions-hero-v27:after{
    background:linear-gradient(90deg,transparent,var(--kea-turquoise),transparent)!important;
    opacity:.24!important;
}
.sessions-hero .eyebrow,
.sessions-hero-v27 .eyebrow,
.next-card-top>span:first-child,
.next-card-date span,
.next-card-category,
.next-card-meta svg,
.sessions-hero-stats span{
    color:var(--kea-turquoise)!important;
}
.sessions-hero-mark{
    color:rgba(255,255,255,.016)!important;
}
.sessions-hero-stats>div{
    background:rgba(255,255,255,.025)!important;
    border-color:rgba(255,255,255,.09)!important;
}
.sessions-next-card,
.sessions-next-card-v27{
    background:rgba(255,255,255,.035)!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:none!important;
}
.next-card-status.is-open{
    color:var(--kea-turquoise)!important;
    background:rgba(0,167,181,.07)!important;
    border-color:rgba(0,167,181,.32)!important;
}
.next-card-status.is-planned{
    color:#B8872A!important;
    background:rgba(184,135,42,.055)!important;
    border-color:rgba(184,135,42,.25)!important;
}
.next-card-date-range{
    background:rgba(255,255,255,.025)!important;
    border-color:rgba(255,255,255,.08)!important;
}
.next-card-date-range svg{
    stroke:var(--kea-turquoise)!important;
}

/* FILTER / TIMELINE */
.sessions-page{
    background:var(--kea-light)!important;
}
.sessions-filter,
.sessions-filter-v27{
    border-top-color:var(--kea-navy)!important;
}
.session-filter-icon{
    color:var(--kea-turquoise)!important;
}
.session-filter-field:focus-within{
    border-color:rgba(0,167,181,.42)!important;
    box-shadow:0 0 0 3px rgba(0,167,181,.05)!important;
}
.sessions-filter button,
.sessions-filter-submit{
    background:var(--kea-navy)!important;
}
.sessions-filter button:hover,
.sessions-filter-submit:hover{
    background:#031A47!important;
}
.session-month-timeline a.active span{
    color:var(--kea-turquoise)!important;
}
.session-month-timeline a:after{
    background:var(--kea-coral)!important;
}
.session-month-timeline a:hover,
.session-month-timeline a.active{
    background:#FAFCFC!important;
}

/* SESSION CARDS */
.session-card{
    border-color:#DDE4E7!important;
    box-shadow:0 8px 24px rgba(2,19,54,.04)!important;
}
.session-card:hover{
    border-color:rgba(0,167,181,.25)!important;
    box-shadow:0 16px 38px rgba(2,19,54,.08)!important;
}
.session-date-block{
    background:var(--kea-navy)!important;
    background-image:none!important;
}
.session-date-month,
.session-category{
    color:var(--kea-turquoise)!important;
}
.session-status.is-open{
    color:#007D88!important;
    background:#F2FBFC!important;
    border-color:#B7E2E6!important;
}
.session-status.is-planned{
    color:#946815!important;
    background:#FFF9EE!important;
    border-color:#E5D09E!important;
}
.session-schedule-row svg,
.session-card-link svg{
    stroke:var(--kea-turquoise)!important;
}
.session-schedule-date strong,
.session-card h3,
.session-card-link{
    color:var(--kea-navy)!important;
}
.session-card-mark{
    color:rgba(2,19,54,.022)!important;
}

/* Drapeau = filigrane décoratif seulement */
.session-flag-watermark{
    opacity:.075!important;
    filter:saturate(.75) contrast(.95)!important;
}
.session-card:hover .session-flag-watermark{
    opacity:.125!important;
}

/* RESULTS */
.sessions-section-head span,
.sessions-section-head-v27 span{
    color:var(--kea-turquoise)!important;
}
.sessions-section-head h2,
.sessions-section-head-v27 h2,
.sessions-results-count strong{
    color:var(--kea-navy)!important;
}
.sessions-results-count{
    border-left-color:var(--kea-coral)!important;
}
html[dir="rtl"] body .sessions-results-count{
    border-right-color:var(--kea-coral)!important;
}

/* HOME — UPCOMING SESSIONS */
.home-upcoming-sessions{
    background:#fff!important;
}
.home-sessions-head span{
    color:var(--kea-turquoise)!important;
}
.home-sessions-head h2{
    color:var(--kea-navy)!important;
}
.home-sessions-actions a{
    color:var(--kea-navy)!important;
    border-color:#DCE3E6!important;
}
.home-sessions-actions a.private-link{
    background:var(--kea-navy)!important;
    color:#fff!important;
    border-color:var(--kea-navy)!important;
}
.home-sessions-empty{
    background:var(--kea-light)!important;
}
.home-sessions-empty a{
    background:var(--kea-navy)!important;
}

/* PROGRAMME PAGE — SESSION EXPERIENCE */
.programme-session-experience{
    background:var(--kea-navy)!important;
    background-image:none!important;
    box-shadow:0 18px 45px rgba(2,19,54,.11)!important;
}
.programme-session-head span,
.programme-private-index{
    color:var(--kea-turquoise)!important;
}
.programme-session-head{
    border-bottom-color:rgba(255,255,255,.09)!important;
}
.programme-session-head>a,
.programme-private-dominant>a{
    border-color:rgba(255,255,255,.15)!important;
}
.programme-session-head>a:hover,
.programme-private-dominant>a:hover{
    border-color:var(--kea-turquoise)!important;
    color:var(--kea-turquoise)!important;
}
.programme-private-dominant{
    background:rgba(255,255,255,.03)!important;
}

/* PRIVATE SESSION */
.private-session-section,
.private-session-section-v27{
    background:var(--kea-navy)!important;
    background-image:none!important;
}
.private-session-section-v27:after{
    color:rgba(255,255,255,.010)!important;
}
.private-session-copy>span,
.private-session-benefits strong,
.private-session-note span{
    color:var(--kea-turquoise)!important;
}
.private-session-benefits>div{
    background:rgba(255,255,255,.022)!important;
    border-color:rgba(255,255,255,.09)!important;
}
.private-session-section-v27 .private-session-form{
    border-top-color:var(--kea-coral)!important;
    box-shadow:0 20px 55px rgba(2,19,54,.17)!important;
}
.private-session-section-v27 .private-session-form input:focus,
.private-session-section-v27 .private-session-form textarea:focus{
    border-color:rgba(0,167,181,.42)!important;
}
.private-session-form button,
.private-session-section-v27 .private-session-form button{
    background:var(--kea-navy)!important;
}
.private-session-form button:hover,
.private-session-section-v27 .private-session-form button:hover{
    background:#031A47!important;
}

/* TYPOGRAPHIC COLOR CLEANUP */
.sessions-page,
.sessions-page p,
.sessions-page input,
.sessions-page select{
    color:var(--kea-dark);
}
.sessions-page h1,
.sessions-page h2,
.sessions-page h3{
    color:var(--kea-navy);
}
.sessions-hero h1,
.sessions-next-card h2,
.private-session-section h2,
.private-session-section h3,
.programme-session-experience h2,
.programme-session-experience h3{
    color:#fff!important;
}


/* =========================================================
   V31 — FLAG WATERMARK VISIBILITY
   Slightly stronger while keeping the premium faded look.
   ========================================================= */
.session-flag-watermark{
    opacity:.13!important;
    filter:saturate(.88) contrast(1.02)!important;
}

.session-card:hover .session-flag-watermark{
    opacity:.19!important;
}

/* Keep flags clearer on the white cards without overpowering text */
.home-sessions-grid .session-flag-watermark,
.sessions-grid .session-flag-watermark{
    opacity:.14!important;
}

.home-sessions-grid .session-card:hover .session-flag-watermark,
.sessions-grid .session-card:hover .session-flag-watermark{
    opacity:.20!important;
}

@media(max-width:620px){
    .session-flag-watermark{
        opacity:.12!important;
    }
    .session-card:hover .session-flag-watermark{
        opacity:.17!important;
    }
}


/* =========================================================
   V32 — ACADEMIC LIGHT THEME
   Same Kaizen chart, softer and more institutional.
   ========================================================= */

/* Main sessions hero: academic light surface instead of full navy */
.sessions-hero,
.sessions-hero-v27{
    background:#F5F7FA!important;
    color:#021336!important;
    border-bottom:1px solid #DDE4E7!important;
    box-shadow:inset 0 -1px 0 rgba(2,19,54,.03)!important;
}

.sessions-hero:after,
.sessions-hero-v27:after{
    background:linear-gradient(90deg,transparent,#00A7B5,transparent)!important;
    opacity:.20!important;
}

.sessions-hero h1,
.sessions-hero-v27 h1{
    color:#021336!important;
}

.sessions-hero p,
.sessions-hero-v27 p{
    color:#5F6D74!important;
}

.sessions-hero .eyebrow,
.sessions-hero-v27 .eyebrow{
    color:#00A7B5!important;
}

.sessions-hero .eyebrow i,
.sessions-hero-v27 .eyebrow i{
    background:#00A7B5!important;
}

.sessions-hero-mark{
    color:rgba(2,19,54,.025)!important;
}

/* Academic stat boxes */
.sessions-hero-stats>div{
    background:#fff!important;
    border-color:#D9E2E5!important;
    box-shadow:0 6px 18px rgba(2,19,54,.035)!important;
}

.sessions-hero-stats strong{
    color:#021336!important;
}

.sessions-hero-stats span{
    color:#6F7D82!important;
}

/* Next session becomes an academic white card */
.sessions-next-card,
.sessions-next-card-v27{
    background:#fff!important;
    border:1px solid #D8E1E4!important;
    box-shadow:0 14px 34px rgba(2,19,54,.07)!important;
}

.sessions-next-card h2,
.sessions-next-card-v27 h2{
    color:#021336!important;
}

.next-card-top>span:first-child,
.next-card-category,
.next-card-date span{
    color:#00A7B5!important;
}

.next-card-date strong,
.next-card-date em{
    color:#021336!important;
}

.next-card-date{
    border-bottom-color:#E7ECEE!important;
}

.next-card-date em{
    opacity:.55;
}

.next-card-date-range{
    background:#F8FAFB!important;
    border-color:#E0E7E9!important;
    color:#021336!important;
}

.next-card-date-range strong{
    color:#021336!important;
}

.next-card-meta span{
    color:#68767C!important;
}

.sessions-next-card-v27>a{
    color:#021336!important;
    border-top-color:#E5EBED!important;
}

.sessions-next-card-v27>a svg{
    stroke:#00A7B5!important;
}

/* Statuses stay brand-coloured but quieter */
.next-card-status.is-open{
    color:#007E89!important;
    background:#F1FAFB!important;
    border-color:#B8E2E6!important;
}
.next-card-status.is-planned{
    color:#996A14!important;
    background:#FFF9EE!important;
    border-color:#E7D2A1!important;
}

/* Search zone: slightly more editorial */
.sessions-filter-shell-v27{
    background:transparent!important;
}

.sessions-filter,
.sessions-filter-v27{
    background:#fff!important;
    border-top-color:#00A7B5!important;
    box-shadow:0 12px 30px rgba(2,19,54,.055)!important;
}

.sessions-filter-submit{
    background:#021336!important;
}

.sessions-filter-submit:hover{
    background:#00A7B5!important;
}

/* Timeline more academic / journal-like */
.session-month-timeline{
    background:#fff!important;
    box-shadow:none!important;
    border-color:#DDE5E7!important;
}

.session-month-timeline a{
    color:#021336!important;
    background:#fff!important;
}

.session-month-timeline a:hover,
.session-month-timeline a.active{
    background:#F8FAFB!important;
}

.session-month-timeline a:after{
    background:#FF4D3F!important;
}

/* Results area */
.sessions-results,
.sessions-results-v27{
    background:#F5F7FA!important;
}

.sessions-section-head-v27{
    border-bottom-color:#DCE4E6!important;
}

.sessions-section-head-v27 p{
    color:#6D7A80!important;
}

/* Cards: slightly warmer / more academic */
.session-card{
    background:#fff!important;
    border-color:#DDE4E7!important;
    box-shadow:0 7px 20px rgba(2,19,54,.035)!important;
}

.session-card:hover{
    border-color:rgba(0,167,181,.28)!important;
    box-shadow:0 13px 30px rgba(2,19,54,.065)!important;
}

/* Date strip: keep brand navy, but lighter visual weight */
.session-date-block{
    background:#0A2147!important;
}

.session-date-day{
    color:#fff!important;
}

.session-date-month{
    color:#36BBC5!important;
}

/* Keep flag visible but refined */
.session-flag-watermark{
    opacity:.14!important;
    filter:saturate(.82) contrast(.98)!important;
}

.session-card:hover .session-flag-watermark{
    opacity:.19!important;
}

/* Private section: still premium but not an ocean of navy */
.private-session-section,
.private-session-section-v27{
    background:#EEF3F5!important;
    color:#021336!important;
    border-top:1px solid #D9E2E5!important;
}

.private-session-copy h2,
.private-session-copy h3,
.private-session-section h2,
.private-session-section h3{
    color:#021336!important;
}

.private-session-copy>p{
    color:#647177!important;
}

.private-session-copy>span,
.private-session-benefits strong,
.private-session-note span{
    color:#00A7B5!important;
}

.private-session-benefits>div{
    background:#fff!important;
    border-color:#D8E1E4!important;
}

.private-session-benefits span{
    color:#021336!important;
}

.private-session-note p{
    color:#7D898D!important;
}

.private-session-note span{
    border-color:#B9DDE0!important;
}

.private-session-section-v27:after{
    color:rgba(2,19,54,.018)!important;
}

/* Form keeps a white academic paper feel */
.private-session-section-v27 .private-session-form{
    background:#fff!important;
    box-shadow:0 14px 34px rgba(2,19,54,.075)!important;
    border-top-color:#FF4D3F!important;
}

.private-session-form button,
.private-session-section-v27 .private-session-form button{
    background:#021336!important;
}

.private-session-form button:hover,
.private-session-section-v27 .private-session-form button:hover{
    background:#00A7B5!important;
}

/* Programme page session block: softer academic panel */
.programme-session-experience{
    background:#F5F7FA!important;
    color:#021336!important;
    border:1px solid #DDE4E7!important;
    box-shadow:0 10px 28px rgba(2,19,54,.05)!important;
}

.programme-session-experience h2,
.programme-session-experience h3{
    color:#021336!important;
}

.programme-session-head{
    border-bottom-color:#DDE4E7!important;
}

.programme-session-head p{
    color:#6C797E!important;
}

.programme-session-head>a,
.programme-private-dominant>a{
    color:#021336!important;
    border-color:#C9D5D9!important;
    background:#fff!important;
}

.programme-session-head>a:hover,
.programme-private-dominant>a:hover{
    color:#00A7B5!important;
    border-color:#00A7B5!important;
}

.programme-private-dominant{
    background:#fff!important;
    border-color:#DDE4E7!important;
}

.programme-private-dominant p{
    color:#6C797E!important;
}

/* Home upcoming sessions: keep white background and academic rhythm */
.home-upcoming-sessions{
    background:#fff!important;
}


/* =========================================================
   V33 — ACADEMIC HERO DEPTH
   Keep the light academic theme, but give the banner more identity.
   No new images.
   ========================================================= */

.sessions-hero,
.sessions-hero-v27{
    position:relative!important;
    overflow:hidden!important;
    background:
        linear-gradient(115deg, rgba(2,19,54,.018) 0%, rgba(2,19,54,0) 38%),
        linear-gradient(180deg,#F7F9FB 0%,#F1F5F7 100%)!important;
}

/* very subtle institutional geometry */
.sessions-hero-v27:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(135deg, transparent 0 73%, rgba(2,19,54,.028) 73% 74%, transparent 74%),
        linear-gradient(45deg, transparent 0 82%, rgba(0,167,181,.035) 82% 83%, transparent 83%);
    opacity:.9;
}

/* restrained turquoise glow behind the next-session card */
.sessions-hero-v27 .sessions-next-card-v27:before{
    content:"";
    position:absolute;
    right:-70px;
    top:-70px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,167,181,.075),rgba(0,167,181,0) 68%);
    pointer-events:none;
}

/* more editorial title block */
.sessions-hero-copy{
    position:relative;
    z-index:2;
}

.sessions-hero-copy:before{
    content:"";
    position:absolute;
    left:0;
    top:-24px;
    width:52px;
    height:2px;
    background:#00A7B5;
}

html[dir="rtl"] body .sessions-hero-copy:before{
    left:auto;
    right:0;
}

/* micro coral accent under title: brand touch, not decorative noise */
.sessions-hero-copy h1{
    position:relative;
}

.sessions-hero-copy h1:after{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-top:16px;
    background:#FF4D3F;
}

/* stats become more refined */
.sessions-hero-stats>div{
    border-top:2px solid rgba(0,167,181,.45)!important;
    background:rgba(255,255,255,.82)!important;
}

.sessions-hero-stats>div:nth-child(2){
    border-top-color:rgba(2,19,54,.20)!important;
}

.sessions-hero-stats>div:nth-child(3){
    border-top-color:rgba(255,77,63,.35)!important;
}

/* next-session card: subtle academic framing */
.sessions-next-card-v27{
    position:relative;
    overflow:hidden;
}

.sessions-next-card-v27:after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:linear-gradient(180deg,#00A7B5,#021336);
}

html[dir="rtl"] body .sessions-next-card-v27:after{
    left:auto;
    right:0;
}

/* soften the large K watermark and keep it elegant */
.sessions-hero-mark{
    right:-34px!important;
    bottom:-150px!important;
    font-size:420px!important;
    color:rgba(2,19,54,.020)!important;
}

/* make hero slightly more compact but richer */
.sessions-hero-v27{
    min-height:400px!important;
    padding-top:68px!important;
    padding-bottom:64px!important;
}

@media(max-width:900px){
    .sessions-hero-copy:before{
        top:-18px;
    }
    .sessions-hero-mark{
        font-size:300px!important;
        bottom:-110px!important;
    }
}


/* =========================================================
   V34 — PREMIUM EDITORIAL HERO
   Kaizen academic / executive look.
   Balanced light + navy, no heavy full-blue banner.
   ========================================================= */

/* Split editorial background */
.sessions-hero,
.sessions-hero-v27{
    position:relative!important;
    overflow:hidden!important;
    background:
        linear-gradient(90deg,
            #F7F8F7 0%,
            #F7F8F7 68%,
            #021336 68%,
            #021336 100%
        )!important;
    border-bottom:0!important;
    box-shadow:none!important;
}

/* Remove previous geometric wash */
.sessions-hero-v27:before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
        linear-gradient(135deg,transparent 0 84%,rgba(0,167,181,.045) 84% 84.4%,transparent 84.4%),
        radial-gradient(circle at 63% 36%,rgba(0,167,181,.035),transparent 24%)!important;
    opacity:1!important;
}

/* Fine premium rules */
.sessions-hero-v27:after{
    content:""!important;
    position:absolute!important;
    left:6.5%!important;
    right:6.5%!important;
    bottom:0!important;
    height:1px!important;
    background:linear-gradient(90deg,#00A7B5 0%,#00A7B5 22%,rgba(0,167,181,.12) 56%,rgba(255,255,255,.14) 100%)!important;
    opacity:1!important;
}

/* Left editorial copy */
.sessions-hero-copy{
    position:relative!important;
    z-index:3!important;
    max-width:800px!important;
    padding-right:6vw!important;
}

.sessions-hero-copy:before{
    top:-18px!important;
    width:56px!important;
    height:2px!important;
    background:#00A7B5!important;
}

.sessions-hero-copy h1{
    max-width:690px!important;
    margin-top:12px!important;
    color:#021336!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(54px,5.7vw,82px)!important;
    line-height:.93!important;
    letter-spacing:-.025em!important;
}

.sessions-hero-copy h1:after{
    width:30px!important;
    height:2px!important;
    margin-top:20px!important;
    background:#FF4D3F!important;
}

.sessions-hero-copy p{
    max-width:670px!important;
    margin-top:18px!important;
    color:#56636A!important;
    font-size:13px!important;
    line-height:1.75!important;
}

.sessions-hero .eyebrow,
.sessions-hero-v27 .eyebrow{
    color:#008C98!important;
    font-weight:800!important;
    letter-spacing:.10em!important;
}

/* Stats: compact executive chips */
.sessions-hero-stats{
    gap:10px!important;
    margin-top:26px!important;
}

.sessions-hero-stats>div{
    position:relative!important;
    min-width:116px!important;
    padding:13px 15px 12px!important;
    background:#fff!important;
    border:1px solid #DDE4E7!important;
    border-top:0!important;
    box-shadow:0 9px 24px rgba(2,19,54,.045)!important;
}

.sessions-hero-stats>div:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:2px!important;
    background:#00A7B5!important;
}

.sessions-hero-stats>div:nth-child(2):before{
    background:#021336!important;
}

.sessions-hero-stats>div:nth-child(3):before{
    background:#FF4D3F!important;
}

.sessions-hero-stats strong{
    color:#021336!important;
    font-size:26px!important;
}

.sessions-hero-stats span{
    color:#7B878C!important;
    font-size:7px!important;
}

/* Right side: next session becomes a floating executive card */
.sessions-next-card,
.sessions-next-card-v27{
    position:relative!important;
    z-index:4!important;
    align-self:center!important;
    margin-left:18px!important;
    padding:25px 25px 22px!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.34)!important;
    box-shadow:0 24px 58px rgba(0,0,0,.18)!important;
}

.sessions-next-card-v27:after{
    width:3px!important;
    background:#00A7B5!important;
}

.sessions-next-card-v27:before{
    right:-55px!important;
    top:-55px!important;
    width:160px!important;
    height:160px!important;
    background:radial-gradient(circle,rgba(0,167,181,.07),rgba(0,167,181,0) 68%)!important;
}

.next-card-top>span:first-child{
    color:#008C98!important;
}

.next-card-date{
    margin-top:16px!important;
    padding-bottom:15px!important;
}

.next-card-date strong{
    color:#021336!important;
    font-size:56px!important;
}

.next-card-date span{
    color:#00A7B5!important;
}

.next-card-date em{
    color:#7E898E!important;
    opacity:1!important;
}

.next-card-category{
    color:#008C98!important;
}

.sessions-next-card-v27 h2{
    color:#021336!important;
    font-size:23px!important;
}

.next-card-date-range{
    background:#F7F9FA!important;
    border-color:#DCE4E7!important;
}

.next-card-meta span{
    color:#6B787D!important;
}

.sessions-next-card-v27>a{
    color:#021336!important;
}

.sessions-next-card-v27>a:hover{
    color:#00A7B5!important;
}

/* Large brand K becomes visible only inside navy side */
.sessions-hero-mark{
    z-index:1!important;
    right:-58px!important;
    bottom:-128px!important;
    font-size:420px!important;
    color:rgba(255,255,255,.026)!important;
}

/* Search bar slightly overlaps hero for premium layering */
.sessions-filter-shell-v27{
    position:relative!important;
    z-index:10!important;
    transform:translateY(-26px)!important;
}

.sessions-filter-v27{
    border-top:3px solid #00A7B5!important;
    box-shadow:0 18px 40px rgba(2,19,54,.085)!important;
}

/* Timeline sits visually attached to search */
.session-month-timeline{
    margin-top:8px!important;
    border-color:#D9E2E5!important;
    box-shadow:0 8px 20px rgba(2,19,54,.03)!important;
}

.session-month-timeline a.active{
    background:#F7FAFA!important;
}

.session-month-timeline a.active span{
    color:#021336!important;
}

.session-month-timeline a:after{
    height:2px!important;
    background:#FF4D3F!important;
}

/* Mobile/tablet: remove split background */
@media(max-width:1000px){
    .sessions-hero,
    .sessions-hero-v27{
        background:#F7F8F7!important;
    }

    .sessions-next-card,
    .sessions-next-card-v27{
        margin-left:0!important;
        border-color:#D8E1E4!important;
        box-shadow:0 16px 38px rgba(2,19,54,.10)!important;
    }

    .sessions-hero-mark{
        color:rgba(2,19,54,.022)!important;
    }
}

@media(max-width:620px){
    .sessions-hero-copy{
        padding-right:0!important;
    }

    .sessions-hero-copy h1{
        font-size:48px!important;
    }

    .sessions-hero-stats{
        display:grid!important;
        grid-template-columns:repeat(3,1fr)!important;
    }

    .sessions-hero-stats>div{
        min-width:0!important;
    }
}

/* RTL split direction */
html[dir="rtl"] body .sessions-hero,
html[dir="rtl"] body .sessions-hero-v27{
    background:
        linear-gradient(90deg,
            #021336 0%,
            #021336 32%,
            #F7F8F7 32%,
            #F7F8F7 100%
        )!important;
}

html[dir="rtl"] body .sessions-next-card,
html[dir="rtl"] body .sessions-next-card-v27{
    margin-left:0!important;
    margin-right:18px!important;
}


/* =========================================================
   V35 — PROGRAMME PAGE CSS RESTORE
   Restores the premium programme layout broken when the
   sessions stylesheet became the main app.css.
   This patch targets programme.php only.
   ========================================================= */

/* Main academic reading column */
.programme-detail-grid.premium-detail-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 290px!important;
    gap:32px!important;
    align-items:start!important;
    padding:46px 6.5vw 55px!important;
}

.programme-main{
    min-width:0!important;
}

/* Overview / objectives */
.premium-section{
    position:relative!important;
    background:#fff!important;
    border:0!important;
    box-shadow:0 10px 35px rgba(2,19,54,.045)!important;
    padding:34px 36px!important;
    margin-bottom:18px!important;
}

.premium-section:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:2px!important;
    background:#00A7B5!important;
}

.premium-section h2{
    color:#021336!important;
}

.objective-premium-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
}

.objective-premium-item{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    padding:15px!important;
    background:#F8FAFA!important;
    border:1px solid #E3E9EA!important;
}

.objective-premium-item:last-child:nth-child(odd){
    grid-column:1/-1!important;
}

.objective-check{
    width:30px!important;
    height:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#EAF8F8!important;
    color:#00A7B5!important;
}

.objective-check svg{
    width:16px!important;
    height:16px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
}

.objective-premium-item p{
    margin:2px 0 0!important;
    color:#526168!important;
    font-size:13px!important;
    line-height:1.55!important;
}

/* ---------------------------------------------------------
   Public cible / Prérequis / Méthodologie
   This is the section that lost its CSS and produced giant SVGs.
   --------------------------------------------------------- */
.programme-context-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    margin:20px 0 38px!important;
}

.programme-context-card{
    position:relative!important;
    min-height:225px!important;
    padding:24px 22px 22px!important;
    background:#fff!important;
    border:1px solid #DDE5E7!important;
    box-shadow:0 10px 30px rgba(2,19,54,.04)!important;
    overflow:hidden!important;
}

.programme-context-card:before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:2px!important;
    background:#00A7B5!important;
}

.programme-context-card:nth-child(2):before{
    background:#021336!important;
}

.programme-context-card:nth-child(3):before{
    background:#FF4D3F!important;
}

.programme-context-card:after{
    content:""!important;
    position:absolute!important;
    right:-34px!important;
    bottom:-42px!important;
    width:120px!important;
    height:120px!important;
    border-radius:50%!important;
    background:radial-gradient(circle,rgba(0,167,181,.055),transparent 68%)!important;
    pointer-events:none!important;
}

.context-card-icon{
    width:44px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-bottom:18px!important;
    color:#00A7B5!important;
    background:#F1F8F8!important;
    border:1px solid #D4E7E8!important;
    overflow:hidden!important;
}

/* Critical fix: never allow these SVGs to render at browser default/huge size */
.context-card-icon svg,
.programme-context-card svg{
    max-width:21px!important;
    max-height:21px!important;
}

.context-card-icon svg{
    width:21px!important;
    height:21px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.55!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.context-card-kicker{
    display:block!important;
    margin-bottom:5px!important;
    color:#9AA6AA!important;
    font-size:9px!important;
    letter-spacing:.15em!important;
}

.programme-context-card h3{
    margin:0 0 10px!important;
    color:#021336!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:21px!important;
    font-weight:500!important;
}

.programme-context-card p{
    margin:0!important;
    color:#637177!important;
    font-size:12px!important;
    line-height:1.72!important;
}

/* Programme content */
.premium-modules{
    margin-top:38px!important;
}

.programme-content-heading{
    margin-bottom:18px!important;
}

.programme-content-heading h2{
    font-family:Georgia,'Times New Roman',serif!important;
    font-weight:500!important;
    font-size:32px!important;
    color:#021336!important;
    margin:0!important;
}

.module-timeline{
    position:relative!important;
}

.module-timeline:before{
    content:""!important;
    position:absolute!important;
    left:34px!important;
    top:15px!important;
    bottom:15px!important;
    width:1px!important;
    background:#CFE0E1!important;
}

.premium-module-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:70px minmax(0,1fr)!important;
    background:#fff!important;
    border:0!important;
    margin-bottom:14px!important;
    box-shadow:0 10px 34px rgba(2,19,54,.045)!important;
    overflow:visible!important;
}

.module-rail{
    position:relative!important;
    z-index:2!important;
    background:#021336!important;
    color:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding-top:20px!important;
}

.premium-module-card:nth-child(5n+2) .module-rail{background:#08294A!important}
.premium-module-card:nth-child(5n+3) .module-rail{background:#0A3B58!important}
.premium-module-card:nth-child(5n+4) .module-rail{background:#075E69!important}
.premium-module-card:nth-child(5n+5) .module-rail{background:#008F9A!important}

.module-day{
    font-size:8px!important;
    text-transform:uppercase!important;
    letter-spacing:.14em!important;
    opacity:.58!important;
}

.premium-module-card .module-number{
    background:transparent!important;
    padding:4px 0 0!important;
    font-size:29px!important;
}

.premium-module-card .module-body{
    padding:25px 28px!important;
}

.module-title-row{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
}

.module-dot{
    width:4px!important;
    height:4px!important;
    flex:0 0 4px!important;
    border-radius:50%!important;
    background:#FF4D3F!important;
}

.premium-module-card h3{
    color:#021336!important;
    font-size:23px!important;
    line-height:1.25!important;
    margin:7px 0 17px!important;
}

.module-topics-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 24px!important;
}

.module-topic{
    display:flex!important;
    align-items:flex-start!important;
    gap:9px!important;
    padding:9px 0!important;
    border-top:1px solid #EDF1F1!important;
    color:#56666C!important;
    font-size:12px!important;
    line-height:1.5!important;
}

.module-topic svg{
    width:13px!important;
    height:13px!important;
    flex:0 0 13px!important;
    margin-top:2px!important;
    fill:none!important;
    stroke:#00A7B5!important;
    stroke-width:1.7!important;
}

/* Right CTA */
.premium-programme-side.programme-cta-side{
    position:sticky!important;
    top:20px!important;
    align-self:start!important;
}

.programme-cta-side .programme-request-card{
    position:relative!important;
    margin-top:0!important;
    background:#021336!important;
    color:#fff!important;
}

.programme-request-card h3{
    color:#fff!important;
}

.programme-request-card p{
    color:rgba(255,255,255,.68)!important;
}

/* Sessions section inside the programme: keep academic-light version */
.programme-session-experience{
    margin-top:42px!important;
    padding:28px!important;
    background:#F5F7FA!important;
    border:1px solid #DDE4E7!important;
    color:#021336!important;
    box-shadow:0 10px 28px rgba(2,19,54,.05)!important;
}

.programme-session-experience h2,
.programme-session-experience h3{
    color:#021336!important;
}

/* Destinations stay last and full width */
.programme-detail-grid + .programme-destinations-section{
    margin:0 6.5vw 46px!important;
    width:auto!important;
}

.programme-detail-grid + .programme-destinations-section .destinations-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

/* RTL */
html[dir="rtl"] body .premium-section:before{
    left:auto!important;
    right:0!important;
}

html[dir="rtl"] body .programme-context-card:before{
    left:auto!important;
    right:0!important;
}

html[dir="rtl"] body .programme-context-card:after{
    right:auto!important;
    left:-34px!important;
}

html[dir="rtl"] body .module-timeline:before{
    left:auto!important;
    right:34px!important;
}

/* Responsive */
@media(max-width:1100px){
    .programme-detail-grid.premium-detail-grid{
        grid-template-columns:minmax(0,1fr) 270px!important;
        gap:24px!important;
    }

    .programme-context-grid{
        grid-template-columns:1fr!important;
    }

    .programme-context-card{
        min-height:0!important;
        display:grid!important;
        grid-template-columns:48px minmax(0,1fr)!important;
        gap:16px!important;
        align-items:start!important;
    }

    .context-card-icon{
        margin-bottom:0!important;
    }
}

@media(max-width:900px){
    .programme-detail-grid.premium-detail-grid{
        grid-template-columns:1fr!important;
        padding-left:24px!important;
        padding-right:24px!important;
    }

    .premium-programme-side.programme-cta-side{
        position:static!important;
    }

    .programme-detail-grid + .programme-destinations-section{
        margin-left:24px!important;
        margin-right:24px!important;
    }
}

@media(max-width:650px){
    .premium-section{
        padding:24px 20px!important;
    }

    .objective-premium-grid,
    .module-topics-grid{
        grid-template-columns:1fr!important;
    }

    .objective-premium-item:last-child:nth-child(odd){
        grid-column:auto!important;
    }

    .premium-module-card{
        grid-template-columns:54px minmax(0,1fr)!important;
    }

    .module-timeline:before{
        left:26px!important;
    }

    html[dir="rtl"] body .module-timeline:before{
        left:auto!important;
        right:26px!important;
    }

    .premium-module-card .module-body{
        padding:20px!important;
    }

    .programme-context-card{
        grid-template-columns:1fr!important;
        padding:21px 18px!important;
    }

    .programme-detail-grid + .programme-destinations-section{
        margin-left:16px!important;
        margin-right:16px!important;
        margin-bottom:28px!important;
    }
}


/* =========================================================
   V37 — LAUNCH PRICING UI
   ========================================================= */

.session-price-row{
    position:relative;
    z-index:3;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:14px;
    margin-top:auto;
    margin-bottom:10px;
    padding:11px 12px;
    background:#F7F9FA;
    border:1px solid #E0E6E8;
}

.session-price-main{
    min-width:0;
}

.session-price-main>span{
    display:block;
    margin-bottom:2px;
    color:#00A7B5;
    font-size:7px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.session-price-main strong{
    display:inline-block;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    line-height:1;
    font-weight:500;
}

.session-price-main small{
    display:inline-block;
    margin-left:6px;
    color:#8A969A;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.session-group-rate{
    max-width:140px;
    text-align:right;
}

.session-group-rate span{
    display:block;
    color:#8A969A;
    font-size:6px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.session-group-rate strong{
    display:block;
    margin-top:3px;
    color:#FF4D3F;
    font-size:8px;
    line-height:1.25;
    font-weight:700;
}

/* Featured next-session price */
.next-card-price{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:12px 0 0;
    padding:11px 12px;
    background:#F7F9FA;
    border:1px solid #DFE6E8;
}

.next-card-price span{
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.10em;
    text-transform:uppercase;
    font-weight:800;
}

.next-card-price strong{
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
    font-weight:500;
    line-height:1;
}

.next-card-price small{
    color:#889499;
    font-size:7px;
    text-transform:uppercase;
}

/* Home cards are narrow: stack price information more elegantly */
.home-sessions-grid .session-price-row{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
}

.home-sessions-grid .session-group-rate{
    max-width:none;
    text-align:left;
}

.home-sessions-grid .session-price-main strong{
    font-size:22px;
}

/* Programme page session cards */
.programme-session-grid .session-price-row{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
}

.programme-session-grid .session-group-rate{
    max-width:none;
    text-align:left;
}

/* RTL */
html[dir="rtl"] body .session-group-rate{
    text-align:left;
}

html[dir="rtl"] body .session-price-main small{
    margin-left:0;
    margin-right:6px;
}

html[dir="rtl"] body .home-sessions-grid .session-group-rate,
html[dir="rtl"] body .programme-session-grid .session-group-rate{
    text-align:right;
}

@media(max-width:760px){
    .session-price-row{
        align-items:flex-start;
        flex-direction:column;
        gap:7px;
    }

    .session-group-rate{
        max-width:none;
        text-align:left;
    }

    html[dir="rtl"] body .session-group-rate{
        text-align:right;
    }
}


/* =========================================================
   V38 — PREMIUM SESSION PRICE
   Kaizen academic pricing treatment
   ========================================================= */

.session-price-row{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:22px;
    margin:16px 0 14px;
    padding:15px 18px;
    background:
        linear-gradient(
            105deg,
            rgba(0,167,181,.055) 0%,
            rgba(255,255,255,.96) 42%,
            rgba(2,19,54,.018) 100%
        )!important;
    border:0!important;
    border-top:1px solid rgba(0,167,181,.24)!important;
    border-bottom:1px solid #E5EAEB!important;
}

.session-price-row::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:48px;
    height:2px;
    background:#00A7B5;
}

.session-price-main{
    position:relative;
    min-width:145px;
    padding-right:22px;
    border-right:1px solid #DDE5E7;
}

.session-price-main>span{
    display:block;
    margin:0 0 5px;
    color:#00A7B5!important;
    font-size:7px;
    line-height:1;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.session-price-main strong{
    display:inline-block;
    color:#021336!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px!important;
    line-height:.95;
    font-weight:400!important;
    letter-spacing:-.025em;
}

.session-price-main small{
    display:inline-block;
    margin-left:7px!important;
    color:#879399!important;
    font-size:6px!important;
    line-height:1;
    font-weight:600;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.session-group-rate{
    position:relative;
    max-width:none!important;
    text-align:left!important;
}

.session-group-rate span{
    display:block;
    margin-bottom:5px;
    color:#7C898E!important;
    font-size:6px!important;
    line-height:1;
    font-weight:600;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.session-group-rate strong{
    display:block;
    margin:0!important;
    color:#021336!important;
    font-size:9px!important;
    line-height:1.35;
    font-weight:700!important;
}

.session-group-rate strong::before{
    content:"";
    display:inline-block;
    width:5px;
    height:5px;
    margin-right:7px;
    background:#FF4D3F;
    border-radius:50%;
    vertical-align:1px;
}

/* Home — keep price horizontal inside 4-column cards */
.home-sessions-grid .session-price-row{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:18px!important;
}

.home-sessions-grid .session-price-main{
    min-width:135px!important;
}

.home-sessions-grid .session-price-main strong{
    font-size:28px!important;
}

.home-sessions-grid .session-group-rate{
    max-width:none!important;
    text-align:left!important;
}

/* Programme page cards */
.programme-session-grid .session-price-row{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:16px!important;
}

.programme-session-grid .session-price-main{
    min-width:130px!important;
}

.programme-session-grid .session-group-rate{
    max-width:none!important;
    text-align:left!important;
}

/* subtle hover only */
.session-card:hover .session-price-row{
    background:
        linear-gradient(
            105deg,
            rgba(0,167,181,.075) 0%,
            rgba(255,255,255,.98) 44%,
            rgba(2,19,54,.025) 100%
        )!important;
}

/* Featured next-session price */
.next-card-price{
    position:relative;
    display:grid!important;
    grid-template-columns:auto 1fr;
    align-items:end!important;
    gap:10px!important;
    margin:14px 0 0!important;
    padding:13px 15px!important;
    background:linear-gradient(105deg,rgba(0,167,181,.05),#fff 58%)!important;
    border:0!important;
    border-top:1px solid rgba(0,167,181,.24)!important;
    border-bottom:1px solid #E5EAEB!important;
}

.next-card-price::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:42px;
    height:2px;
    background:#00A7B5;
}

.next-card-price span{
    grid-column:1/-1;
    color:#00A7B5!important;
    font-size:7px!important;
    letter-spacing:.14em!important;
    text-transform:uppercase;
    font-weight:700!important;
}

.next-card-price strong{
    color:#021336!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:30px!important;
    font-weight:400!important;
    line-height:1!important;
}

.next-card-price small{
    color:#879399!important;
    font-size:6px!important;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* RTL */
html[dir="rtl"] body .session-price-row::before,
html[dir="rtl"] body .next-card-price::before{
    left:auto;
    right:0;
}

html[dir="rtl"] body .session-price-main{
    padding-right:0;
    padding-left:22px;
    border-right:0;
    border-left:1px solid #DDE5E7;
}

html[dir="rtl"] body .session-price-main small{
    margin-left:0!important;
    margin-right:7px!important;
}

html[dir="rtl"] body .session-group-rate{
    text-align:right!important;
}

html[dir="rtl"] body .session-group-rate strong::before{
    margin-right:0;
    margin-left:7px;
}

html[dir="rtl"] body .home-sessions-grid .session-group-rate,
html[dir="rtl"] body .programme-session-grid .session-group-rate{
    text-align:right!important;
}

@media(max-width:650px){
    .session-price-row,
    .home-sessions-grid .session-price-row,
    .programme-session-grid .session-price-row{
        grid-template-columns:1fr!important;
        gap:11px!important;
        padding:14px 15px!important;
    }

    .session-price-main{
        padding-right:0!important;
        padding-bottom:11px!important;
        border-right:0!important;
        border-bottom:1px solid #E1E7E8!important;
    }

    html[dir="rtl"] body .session-price-main{
        padding-left:0!important;
        border-left:0!important;
        border-bottom:1px solid #E1E7E8!important;
    }
}


/* =========================================================
   V39 — HOMEPAGE SESSION CTA
   Two large centered actions below 8 upcoming sessions.
   ========================================================= */
.home-sessions-bottom-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    max-width:620px;
    margin:30px auto 0;
    padding-top:24px;
    border-top:1px solid #E2E8EA;
}

.home-sessions-bottom-btn{
    width:285px;
    min-height:60px;
    box-sizing:border-box;
    padding:0 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}

.home-sessions-bottom-btn svg{
    width:17px;
    height:17px;
    flex:0 0 17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .2s ease;
}

.home-sessions-bottom-btn:hover{
    transform:translateY(-2px);
}

.home-sessions-bottom-btn:hover svg{
    transform:translateX(3px);
}

.home-sessions-bottom-btn-primary{
    background:#021336;
    border:1px solid #021336;
    color:#fff;
    box-shadow:0 11px 28px rgba(2,19,54,.11);
}

.home-sessions-bottom-btn-primary:hover{
    background:#00A7B5;
    border-color:#00A7B5;
    box-shadow:0 14px 32px rgba(0,167,181,.15);
}

.home-sessions-bottom-btn-secondary{
    position:relative;
    background:#fff;
    border:1px solid #C9D5D9;
    color:#021336;
}

.home-sessions-bottom-btn-secondary:before{
    content:"";
    position:absolute;
    left:-1px;
    top:-1px;
    bottom:-1px;
    width:3px;
    background:#FF4D3F;
}

.home-sessions-bottom-btn-secondary:hover{
    color:#00A7B5;
    border-color:#00A7B5;
    box-shadow:0 12px 27px rgba(2,19,54,.065);
}

html[dir="rtl"] body .home-sessions-bottom-btn svg{
    transform:scaleX(-1);
}
html[dir="rtl"] body .home-sessions-bottom-btn:hover svg{
    transform:scaleX(-1) translateX(3px);
}
html[dir="rtl"] body .home-sessions-bottom-btn-secondary:before{
    left:auto;
    right:-1px;
}

@media(max-width:650px){
    .home-sessions-bottom-cta{
        max-width:none;
        flex-direction:column;
    }
    .home-sessions-bottom-btn{
        width:100%;
    }
}


/* =========================================================
   V40 — HOMEPAGE SESSION CTA TYPOGRAPHY
   Larger, clearer premium button labels.
   ========================================================= */

.home-sessions-bottom-btn{
    min-height:64px!important;
    padding:0 24px!important;
    font-size:12px!important;
    line-height:1.15!important;
    letter-spacing:.075em!important;
    font-weight:800!important;
}

.home-sessions-bottom-btn span{
    display:block;
    white-space:nowrap;
}

.home-sessions-bottom-btn svg{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
}

@media(max-width:650px){
    .home-sessions-bottom-btn{
        min-height:60px!important;
        font-size:11px!important;
    }

    .home-sessions-bottom-btn span{
        white-space:normal;
    }
}


/* =========================================================
   V41 — KAIZEN LEARNING EXPERIENCE + EUROPEAN DESTINATIONS
   ========================================================= */

.home-learning-experience{
    padding:72px 6.5vw 64px;
    background:#F5F7FA;
    border-top:1px solid #E0E7E9;
}
.home-experience-head{max-width:780px;margin-bottom:28px}
.home-experience-head>span,.home-destinations-head>div>span,.city-section-head>span{
    display:block;color:#00A7B5;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px
}
.home-experience-head h2,.home-destinations-head h2,.city-section-head h2{
    margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:500
}
.home-experience-head p,.home-destinations-head p,.city-section-head p{
    margin:9px 0 0;color:#68767C;font-size:12px;line-height:1.7
}
.home-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-experience-item{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:22px;background:#fff;border:1px solid #DDE5E7}
.home-experience-number{color:#00A7B5;font-family:Georgia,serif;font-size:21px}
.home-experience-item h3{margin:0 0 7px;color:#021336;font-family:Georgia,serif;font-size:18px;font-weight:500}
.home-experience-item p{margin:0;color:#68767C;font-size:10px;line-height:1.6}

.home-travel-concierge{
    margin-top:12px;padding:26px 28px;display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center;
    background:#021336;color:#fff;position:relative;overflow:hidden
}
.home-travel-concierge:after{content:"K";position:absolute;right:-20px;bottom:-95px;font-family:Georgia,serif;font-size:210px;color:rgba(255,255,255,.025)}
.home-travel-copy{position:relative;z-index:2}.home-travel-copy>span{color:#00A7B5;font-size:7px;letter-spacing:.14em;font-weight:800}
.home-travel-copy h3{margin:5px 0 8px;font-family:Georgia,serif;font-size:25px;font-weight:500}
.home-travel-copy p{margin:0;color:rgba(255,255,255,.62);font-size:10px;line-height:1.65}
.home-travel-points{position:relative;z-index:2;display:grid;gap:6px}.home-travel-points span{padding:10px 12px;border:1px solid rgba(255,255,255,.12);font-size:9px}

.home-destinations{padding:70px 6.5vw;background:#fff}
.home-destinations-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}
.home-destinations-head>div{max-width:760px}.home-destinations-head>a{color:#021336;text-decoration:none;border-bottom:1px solid #00A7B5;padding:0 0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.home-destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.home-destination-card{position:relative;min-height:270px;overflow:hidden;text-decoration:none;background:#021336}
.home-destination-photo{position:absolute;inset:0;background-image:var(--city-image);background-size:cover;background-position:center;transition:transform .45s ease}
.home-destination-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,19,54,.10),rgba(2,19,54,.88))}
.home-destination-content{position:absolute;inset:auto 0 0;padding:22px;color:#fff}
.home-destination-content>span{color:#72D4DC;font-size:7px;letter-spacing:.16em;font-weight:800}
.home-destination-content h3{margin:5px 0 6px;color:#fff;font-family:Georgia,serif;font-size:27px;font-weight:500}
.home-destination-content p{margin:0 0 16px;color:rgba(255,255,255,.70);font-size:10px}
.home-destination-content strong{font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.home-destination-card:hover .home-destination-photo{transform:scale(1.045)}

/* DESTINATIONS PAGE */
.destinations-page{background:#F5F7FA;min-height:100vh}
.destinations-page-hero{padding:70px 6.5vw 46px;background:#fff;border-bottom:1px solid #DDE5E7}
.destinations-page-hero>span{color:#00A7B5;font-size:8px;letter-spacing:.16em;font-weight:800}.destinations-page-hero h1{margin:10px 0;color:#021336;font-family:Georgia,serif;font-size:58px;font-weight:500}.destinations-page-hero p{max-width:720px;color:#68767C;font-size:13px}
.destinations-page-grid{padding:34px 6.5vw 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.destination-page-card{position:relative;min-height:340px;overflow:hidden;text-decoration:none;background:#021336}
.destination-page-photo,.destination-page-shade{position:absolute;inset:0}.destination-page-photo{background-image:var(--city-image);background-size:cover;background-position:center;transition:.45s}.destination-page-shade{background:linear-gradient(180deg,rgba(2,19,54,.04),rgba(2,19,54,.9))}
.destination-page-card>div{position:absolute;left:0;right:0;bottom:0;padding:25px;color:#fff}.destination-page-card span{color:#6FD0D8;font-size:7px;letter-spacing:.15em;font-weight:800}.destination-page-card h2{margin:6px 0;color:#fff;font-family:Georgia,serif;font-size:31px;font-weight:500}.destination-page-card p{color:rgba(255,255,255,.7);font-size:10px}.destination-page-card strong{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.destination-page-card:hover .destination-page-photo{transform:scale(1.04)}

/* CITY PAGE */
.city-page{background:#F5F7FA}
.city-hero{position:relative;min-height:610px;overflow:hidden;background:#021336}.city-hero-photo,.city-hero-shade{position:absolute;inset:0}.city-hero-photo{background-image:var(--city-hero);background-size:cover;background-position:center}.city-hero-shade{background:linear-gradient(90deg,rgba(2,19,54,.92) 0%,rgba(2,19,54,.68) 42%,rgba(2,19,54,.12) 78%)}
.city-hero-content{position:relative;z-index:2;max-width:720px;padding:110px 6.5vw;color:#fff}.city-hero-content>span{color:#72D4DC;font-size:8px;letter-spacing:.17em;font-weight:800}.city-hero-content h1{margin:10px 0 7px;font-family:Georgia,serif;font-size:76px;font-weight:500;line-height:.95}.city-tagline{font-family:Georgia,serif;font-size:24px;color:#fff}.city-intro{max-width:650px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.75}.city-hero-content>a{display:inline-flex;margin-top:20px;padding:14px 18px;background:#fff;color:#021336;text-decoration:none;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.city-why{display:grid;grid-template-columns:140px 1.2fr .8fr;gap:30px;padding:42px 6.5vw;background:#fff;border-bottom:1px solid #DEE5E7}.city-why-label{color:#00A7B5;font-size:8px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}.city-why h2{margin:0 0 8px;color:#021336;font-family:Georgia,serif;font-size:28px;font-weight:500}.city-why p{margin:0;color:#65747A;font-size:11px;line-height:1.7}.city-why-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.city-why-stats span{padding:13px;border:1px solid #DDE5E7;color:#021336;font-family:Georgia,serif;font-size:20px}.city-why-stats small{display:block;margin-top:4px;color:#8A969A;font-family:Arial,sans-serif;font-size:7px;text-transform:uppercase}
.city-included,.city-experiences,.city-sessions{padding:62px 6.5vw}.city-included{background:#F5F7FA}.city-included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.city-included-grid article{padding:22px;background:#fff;border:1px solid #DDE5E7}.city-included-grid strong{color:#00A7B5;font-family:Georgia,serif;font-size:20px}.city-included-grid h3{margin:8px 0 6px;color:#021336;font-family:Georgia,serif;font-size:18px;font-weight:500}.city-included-grid p{margin:0;color:#6A787D;font-size:10px;line-height:1.6}
.city-experiences{background:#021336}.city-experiences .city-section-head h2{color:#fff}.city-experiences .city-section-head p{color:rgba(255,255,255,.62);max-width:820px}.city-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.city-experience-card{background:#fff;overflow:hidden}.city-experience-photo{height:210px;background-size:cover;background-position:center}.city-experience-body{padding:20px}.city-experience-body>span{color:#00A7B5;font-size:7px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}.city-experience-body h3{margin:7px 0;color:#021336;font-family:Georgia,serif;font-size:22px;font-weight:500}.city-experience-body p{color:#68767C;font-size:10px;line-height:1.6;min-height:48px}.city-experience-body>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #E5EAEB}.city-experience-body small{color:#9AA5A8;font-size:7px}.city-experience-body a{color:#021336;text-decoration:none;font-size:8px;text-transform:uppercase;font-weight:800}
.city-sessions{background:#F5F7FA}.city-sessions .sessions-grid{margin-top:22px}.city-no-sessions{margin-top:20px;padding:24px;background:#fff;border:1px solid #DDE5E7}.city-no-sessions p{color:#68767C}.city-no-sessions a{color:#021336;text-decoration:none;font-size:9px;font-weight:800}
.city-travel{padding:44px 6.5vw;background:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;border-top:1px solid #DDE5E7}.city-travel>div:first-child>span{color:#00A7B5;font-size:8px;letter-spacing:.14em;font-weight:800}.city-travel h2{margin:7px 0;color:#021336;font-family:Georgia,serif;font-size:30px;font-weight:500}.city-travel p{color:#68767C;font-size:11px;line-height:1.7}.city-travel>div:last-child{display:grid;gap:8px}.city-travel strong{padding:12px 14px;background:#F5F7FA;border:1px solid #DDE5E7;color:#021336;font-size:9px}

@media(max-width:1000px){
.home-experience-grid,.city-included-grid{grid-template-columns:repeat(2,1fr)}
.home-destination-grid{grid-template-columns:repeat(2,1fr)}
.destinations-page-grid{grid-template-columns:repeat(2,1fr)}
.city-why{grid-template-columns:1fr}.city-experience-grid{grid-template-columns:1fr 1fr}.city-travel{grid-template-columns:1fr}
}
@media(max-width:650px){
.home-experience-grid,.home-destination-grid,.destinations-page-grid,.city-included-grid,.city-experience-grid{grid-template-columns:1fr}
.home-travel-concierge{grid-template-columns:1fr}.home-destinations-head{align-items:flex-start;flex-direction:column}
.city-hero{min-height:560px}.city-hero-content{padding:80px 22px}.city-hero-content h1{font-size:52px}
.city-why,.city-included,.city-experiences,.city-sessions,.city-travel{padding-left:22px;padding-right:22px}
.city-why-stats{grid-template-columns:1fr 1fr 1fr}
}


/* =========================================================
   V42 — KAIZEN LEARNING EXPERIENCE PREMIUM
   Clear distinction: INCLUDED vs OPTIONAL PREMIUM SERVICES
   ========================================================= */

.home-learning-experience{
    padding:78px 6.5vw 72px!important;
    background:
        linear-gradient(180deg,#F7F9FA 0%,#F2F6F7 100%)!important;
    border-top:1px solid #E1E7E9!important;
}

.premium-experience-head{
    max-width:none!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 390px!important;
    align-items:end!important;
    gap:48px!important;
    margin-bottom:28px!important;
}

.premium-experience-head>div:first-child{
    max-width:820px;
}

.included-programme-badge{
    position:relative;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:13px;
    align-items:center;
    padding:16px 17px;
    background:#fff;
    border:1px solid #DCE5E7;
    border-left:3px solid #00A7B5;
    box-shadow:0 9px 24px rgba(2,19,54,.04);
}

.included-check{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#ECF8F9;
    color:#00A7B5;
    font-size:17px;
    font-weight:800;
}

.included-programme-badge strong{
    display:block;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:16px;
    font-weight:500;
}

.included-programme-badge small{
    display:block;
    margin-top:4px;
    color:#7B888D;
    font-size:8px;
    line-height:1.45;
}

/* Included feature cards */
.premium-experience-grid{
    gap:11px!important;
}

.premium-experience-item{
    position:relative;
    min-height:176px;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:16px!important;
    padding:22px 22px 20px!important;
    overflow:hidden;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.premium-experience-item:hover{
    transform:translateY(-3px);
    border-color:rgba(0,167,181,.28)!important;
    box-shadow:0 14px 32px rgba(2,19,54,.065);
}

.experience-icon-wrap{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F0F8F9;
    border:1px solid #D8E9EA;
    color:#00A7B5;
}

.experience-icon-wrap svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.experience-item-copy{
    min-width:0;
}

.experience-item-copy .home-experience-number{
    display:block;
    margin-bottom:6px;
    color:#9AA6AA!important;
    font-family:Arial,sans-serif!important;
    font-size:7px!important;
    letter-spacing:.14em;
    font-weight:800;
}

.premium-experience-item h3{
    margin-bottom:8px!important;
    font-size:19px!important;
}

.premium-experience-item p{
    max-width:450px;
    font-size:10px!important;
    line-height:1.68!important;
}

.experience-included-label{
    position:absolute;
    right:12px;
    top:12px;
    color:#008A95;
    background:#F2FBFC;
    border:1px solid #C5E6E9;
    padding:4px 6px;
    font-size:6px;
    letter-spacing:.12em;
    font-weight:800;
}

.premium-experience-item:after{
    content:"";
    position:absolute;
    right:-26px;
    bottom:-36px;
    width:105px;
    height:105px;
    border-radius:50%;
    border:1px solid rgba(0,167,181,.055);
}

/* Premium travel services — clearly OPTIONAL */
.premium-travel-concierge{
    position:relative!important;
    display:block!important;
    margin-top:18px!important;
    padding:0!important;
    background:#021336!important;
    color:#fff!important;
    overflow:hidden!important;
}

.premium-travel-concierge:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 15% 20%,rgba(0,167,181,.11),transparent 27%),
        linear-gradient(135deg,transparent 0 72%,rgba(255,255,255,.025) 72% 72.5%,transparent 72.5%);
}

.premium-travel-concierge:after{
    content:"K"!important;
    right:-26px!important;
    bottom:-120px!important;
    font-size:300px!important;
    color:rgba(255,255,255,.018)!important;
}

.travel-service-heading{
    position:relative;
    z-index:2;
    max-width:850px;
    padding:34px 34px 26px;
}

.travel-service-heading>span{
    display:inline-block;
    margin-bottom:8px;
    padding:5px 8px;
    background:#FF4D3F;
    color:#fff;
    font-size:7px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:800;
}

.travel-service-heading h3{
    margin:0;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:31px;
    font-weight:500;
}

.travel-service-heading>p{
    max-width:760px;
    margin:9px 0 0;
    color:rgba(255,255,255,.67);
    font-size:11px;
    line-height:1.7;
}

.travel-not-included{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:15px;
    color:rgba(255,255,255,.52);
    font-size:8px;
}

.travel-not-included>span{
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    color:#FF4D3F;
    font-size:13px;
}

.premium-travel-services-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(255,255,255,.10);
}

.premium-travel-service{
    position:relative;
    min-height:235px;
    padding:27px 28px 24px;
    border-right:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.018);
    transition:background .22s ease;
}

.premium-travel-service:last-child{
    border-right:0;
}

.premium-travel-service:hover{
    background:rgba(255,255,255,.045);
}

.travel-service-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border:1px solid rgba(0,167,181,.38);
    color:#54D0D9;
    background:rgba(0,167,181,.055);
}

.travel-service-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.premium-travel-service>span{
    position:absolute;
    right:22px;
    top:22px;
    color:rgba(255,255,255,.18);
    font-family:Georgia,serif;
    font-size:27px;
}

.premium-travel-service h4{
    margin:0 0 9px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:20px;
    font-weight:500;
}

.premium-travel-service p{
    min-height:52px;
    margin:0 0 17px;
    color:rgba(255,255,255,.58);
    font-size:9px;
    line-height:1.65;
}

.premium-travel-service strong{
    display:inline-block;
    color:#64D0D8;
    font-size:8px;
    letter-spacing:.05em;
    font-weight:700;
}

/* RTL */
html[dir="rtl"] body .included-programme-badge{
    border-left:1px solid #DCE5E7;
    border-right:3px solid #00A7B5;
}

html[dir="rtl"] body .experience-included-label{
    right:auto;
    left:12px;
}

html[dir="rtl"] body .premium-travel-service{
    border-right:0;
    border-left:1px solid rgba(255,255,255,.10);
}

html[dir="rtl"] body .premium-travel-service:last-child{
    border-left:0;
}

html[dir="rtl"] body .premium-travel-service>span{
    right:auto;
    left:22px;
}

@media(max-width:1000px){
    .premium-experience-head{
        grid-template-columns:1fr!important;
        gap:20px!important;
    }

    .included-programme-badge{
        max-width:520px;
    }

    .premium-travel-services-grid{
        grid-template-columns:1fr;
    }

    .premium-travel-service{
        min-height:0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.10);
    }

    .premium-travel-service:last-child{
        border-bottom:0;
    }
}

@media(max-width:650px){
    .home-learning-experience{
        padding:56px 20px!important;
    }

    .premium-experience-item{
        min-height:0;
    }

    .travel-service-heading,
    .premium-travel-service{
        padding-left:22px;
        padding-right:22px;
    }
}


/* =========================================================
   V43 — VIP TRANSFER ICON + PREMIUM TRAVEL AD COPY
   ========================================================= */

/* Make the transfer icon feel unmistakably automotive / executive */
.premium-experience-item:first-child .experience-icon-wrap{
    background:linear-gradient(145deg,#EDF9FA,#FFFFFF)!important;
    border-color:#BFE3E6!important;
}

.premium-experience-item:first-child .experience-icon-wrap svg{
    width:29px!important;
    height:29px!important;
    stroke-width:1.55!important;
}

/* Turn Optional Premium Services into a strong commercial statement */
.travel-service-heading{
    max-width:980px!important;
    padding-top:38px!important;
    padding-bottom:30px!important;
}

.travel-service-heading>span{
    display:inline-flex!important;
    align-items:center;
    min-height:34px;
    padding:0 13px!important;
    margin-bottom:14px!important;
    background:#FF4D3F!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    box-shadow:0 7px 20px rgba(255,77,63,.15);
}

.travel-service-heading h3{
    max-width:800px;
    font-size:38px!important;
    line-height:1.08!important;
    letter-spacing:-.015em;
}

.travel-service-heading>p{
    max-width:900px!important;
    margin-top:13px!important;
    color:rgba(255,255,255,.76)!important;
    font-size:13px!important;
    line-height:1.72!important;
}

/* A subtle sales cue without looking like a discount banner */
.travel-service-heading>p:after{
    content:"";
    display:block;
    width:62px;
    height:2px;
    margin-top:18px;
    background:#00A7B5;
}

.travel-not-included{
    margin-top:18px!important;
    color:rgba(255,255,255,.58)!important;
    font-size:9px!important;
}

/* Services themselves should read like premium commercial cards */
.premium-travel-service{
    min-height:250px!important;
}

.premium-travel-service h4{
    font-size:22px!important;
    line-height:1.18!important;
}

.premium-travel-service p{
    color:rgba(255,255,255,.66)!important;
    font-size:10px!important;
    line-height:1.7!important;
}

.premium-travel-service strong{
    display:inline-flex!important;
    align-items:center;
    gap:7px;
    margin-top:4px;
    color:#70D4DB!important;
    font-size:9px!important;
}

.premium-travel-service strong:before{
    content:"✓";
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(112,212,219,.32);
    border-radius:50%;
    font-size:8px;
}

/* Add a refined highlight band to reinforce value proposition */
.premium-travel-concierge{
    border-top:3px solid #00A7B5!important;
}

.premium-travel-concierge:before{
    background:
        radial-gradient(circle at 18% 18%,rgba(0,167,181,.13),transparent 26%),
        linear-gradient(135deg,transparent 0 74%,rgba(255,255,255,.025) 74% 74.5%,transparent 74.5%)!important;
}

@media(max-width:650px){
    .travel-service-heading h3{
        font-size:30px!important;
    }

    .travel-service-heading>span{
        font-size:9px!important;
    }

    .travel-service-heading>p{
        font-size:11px!important;
    }
}


/* =========================================================
   V44 — ALL DESTINATIONS + FLAG WATERMARKS
   ========================================================= */

/* All cities now use a denser premium grid on the homepage. */
.home-destination-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.home-destination-card{
    min-height:245px!important;
    isolation:isolate;
}

/* Country flag watermark */
.home-destination-flag,
.destination-page-flag{
    position:absolute;
    z-index:2;
    right:-22px;
    bottom:-24px;
    width:190px;
    height:125px;
    pointer-events:none;
    opacity:.19;
    background-image:
        linear-gradient(120deg,rgba(2,19,54,0) 0%,rgba(2,19,54,.08) 36%,rgba(2,19,54,.25) 100%),
        var(--city-flag);
    background-size:cover;
    background-position:center;
    transform:rotate(-7deg) skewX(-4deg);
    filter:saturate(.88) contrast(.98);
    -webkit-mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.18) 18%,rgba(0,0,0,.82) 55%,#000 100%);
    mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.18) 18%,rgba(0,0,0,.82) 55%,#000 100%);
    transition:opacity .25s ease,transform .25s ease;
}

.home-destination-card:hover .home-destination-flag,
.destination-page-card:hover .destination-page-flag{
    opacity:.28;
    transform:rotate(-4deg) skewX(-2deg) scale(1.03);
}

/* Keep text above the flag */
.home-destination-content,
.destination-page-card>div{
    z-index:4!important;
}

.home-destination-overlay,
.destination-page-shade{
    z-index:1!important;
}

.home-destination-photo,
.destination-page-photo{
    z-index:0!important;
}

/* Longer all-city list: reduce visual repetition while preserving premium feel */
.home-destination-card:nth-child(8n+2),
.home-destination-card:nth-child(8n+5){
    min-height:270px!important;
}

.home-destination-card:nth-child(8n+3),
.home-destination-card:nth-child(8n+8){
    min-height:255px!important;
}

/* Destinations page flags a little larger */
.destination-page-flag{
    width:235px;
    height:150px;
    opacity:.17;
}

html[dir="rtl"] body .home-destination-flag,
html[dir="rtl"] body .destination-page-flag{
    right:auto;
    left:-22px;
    transform:rotate(7deg) skewX(4deg);
}

html[dir="rtl"] body .home-destination-card:hover .home-destination-flag,
html[dir="rtl"] body .destination-page-card:hover .destination-page-flag{
    transform:rotate(4deg) skewX(2deg) scale(1.03);
}

@media(max-width:1100px){
    .home-destination-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width:800px){
    .home-destination-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:520px){
    .home-destination-grid{
        grid-template-columns:1fr!important;
    }

    .home-destination-flag{
        width:170px;
        height:110px;
    }
}


/* =========================================================
   V46 — CITY PAGE ULTRA PREMIUM
   Flag hero + contextual included experience + curated activities
   ========================================================= */

/* Hero country flag */
.city-hero{
    isolation:isolate;
}
.city-hero-photo{z-index:0}
.city-hero-shade{z-index:1}
.city-hero-content{z-index:4!important}

.city-hero-flag{
    position:absolute;
    z-index:2;
    right:-7vw;
    bottom:-13%;
    width:44vw;
    min-width:520px;
    height:65%;
    pointer-events:none;
    background-image:var(--city-flag);
    background-size:cover;
    background-position:center;
    opacity:.115;
    transform:rotate(-7deg) skewX(-5deg);
    filter:saturate(.88) contrast(.96);
    -webkit-mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.12) 22%,rgba(0,0,0,.8) 58%,#000 100%);
    mask-image:linear-gradient(125deg,transparent 0%,rgba(0,0,0,.12) 22%,rgba(0,0,0,.8) 58%,#000 100%);
}

html[dir="rtl"] body .city-hero-flag{
    right:auto;
    left:-7vw;
    transform:rotate(7deg) skewX(5deg);
}

/* Contextual included block */
.city-included-premium{
    padding-top:68px!important;
    padding-bottom:72px!important;
    background:linear-gradient(180deg,#F6F8F9,#F1F5F6)!important;
}

.city-included-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
}

.city-included-fee{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 14px;
    background:#fff;
    border:1px solid #D9E3E5;
    border-left:3px solid #00A7B5;
}

.city-included-fee>span{
    width:25px;height:25px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#EAF8F9;color:#00A7B5;font-weight:800
}
.city-included-fee strong{
    color:#021336;font-size:8px;letter-spacing:.08em;text-transform:uppercase
}

.city-included-premium-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
    margin-top:26px!important;
}

.city-included-premium-card{
    position:relative;
    min-height:215px;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:16px;
    padding:23px!important;
    overflow:hidden;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.city-included-premium-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,167,181,.3)!important;
    box-shadow:0 15px 34px rgba(2,19,54,.065);
}

.city-included-icon{
    width:50px;height:50px;display:flex;align-items:center;justify-content:center;
    background:#EEF8F9;border:1px solid #D5E8E9;color:#00A7B5
}
.city-included-icon svg{
    width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.45;
    stroke-linecap:round;stroke-linejoin:round
}
.city-included-copy>span{
    color:#9BA6AA;font-size:7px;letter-spacing:.14em;font-weight:800
}
.city-included-copy h3{
    margin:6px 0 8px!important;color:#021336!important;font-family:Georgia,serif!important;
    font-size:19px!important;font-weight:500!important
}
.city-included-copy p{
    margin:0!important;color:#68767C!important;font-size:10px!important;line-height:1.7!important
}
.city-included-premium-card>small{
    position:absolute;right:12px;top:12px;padding:4px 6px;
    border:1px solid #C6E5E8;background:#F3FBFC;color:#008B96;
    font-size:6px;letter-spacing:.1em;font-weight:800
}

/* Experiences — no supplier branding */
.city-experiences-premium{
    padding-top:76px!important;
    padding-bottom:80px!important;
    background:#021336!important;
    position:relative;
    overflow:hidden;
}
.city-experiences-premium:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(circle at 12% 12%,rgba(0,167,181,.10),transparent 30%)
}
.city-experience-head{position:relative;z-index:2;max-width:900px}
.city-experience-head>span{color:#54D2DB!important}
.city-experience-head h2{font-size:38px!important}
.city-experience-selection-note{
    display:grid;
    grid-template-columns:34px auto 1fr;
    align-items:center;
    gap:10px;
    margin-top:18px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.025)
}
.city-experience-selection-note>span{
    width:30px;height:30px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(84,210,219,.3);color:#54D2DB
}
.city-experience-selection-note strong{
    color:#fff;font-size:8px;letter-spacing:.09em;text-transform:uppercase
}
.city-experience-selection-note small{
    color:rgba(255,255,255,.55);font-size:8px
}

.city-experience-premium-grid{
    position:relative;z-index:2;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:25px!important
}
.city-experience-premium-card{
    background:#fff!important;
    min-width:0;
    overflow:hidden
}
.city-experience-premium-card.is-featured{
    grid-column:span 2;
}
.city-experience-premium-card .city-experience-photo{
    position:relative;
    height:190px!important
}
.city-experience-premium-card.is-featured .city-experience-photo{
    height:270px!important
}
.experience-index{
    position:absolute;left:14px;top:14px;
    color:#fff;font-family:Georgia,serif;font-size:24px;
    text-shadow:0 2px 14px rgba(0,0,0,.35)
}
.experience-curated{
    position:absolute;right:12px;top:12px;padding:5px 7px;
    background:rgba(2,19,54,.84);color:#fff;font-size:6px;letter-spacing:.12em;font-weight:800
}
.city-experience-premium-card .city-experience-body{
    padding:21px!important
}
.city-experience-premium-card .city-experience-body>span{
    color:#00A7B5!important;font-size:7px!important
}
.city-experience-premium-card .city-experience-body h3{
    min-height:50px;
    font-size:21px!important;line-height:1.18!important
}
.city-experience-premium-card.is-featured .city-experience-body h3{
    font-size:25px!important
}
.city-experience-premium-card .city-experience-body p{
    min-height:65px!important;
    color:#68767C!important;
    font-size:10px!important;
    line-height:1.62!important;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden
}
.experience-inclusion-line{
    display:flex!important;
    justify-content:flex-start!important;
    gap:8px!important;
    border-top:1px solid #E4EAEB!important;
    padding-top:12px!important
}
.experience-inclusion-line>span{
    width:20px;height:20px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#ECF8F9;color:#00A7B5;font-size:8px
}
.experience-inclusion-line strong{
    color:#021336;font-size:7px;letter-spacing:.08em;text-transform:uppercase
}

@media(max-width:1100px){
    .city-experience-premium-grid{grid-template-columns:repeat(2,1fr)!important}
    .city-experience-premium-card.is-featured{grid-column:span 1}
    .city-experience-premium-card.is-featured .city-experience-photo{height:210px!important}
}
@media(max-width:760px){
    .city-included-head{align-items:flex-start;flex-direction:column}
    .city-included-premium-grid{grid-template-columns:1fr!important}
    .city-experience-premium-grid{grid-template-columns:1fr!important}
    .city-experience-selection-note{grid-template-columns:34px 1fr}
    .city-experience-selection-note small{grid-column:2}
    .city-hero-flag{width:80vw;min-width:0;opacity:.08}
}


/* =========================================================
   V51 — CITY DESTINATION PREMIUM EXPERIENCE
   Hero flag + contextual included services + curated experiences
   ========================================================= */

/* HERO FLAG — larger and more visible without overpowering the city */
.city-hero{
    isolation:isolate!important;
}
.city-hero-photo{z-index:0!important}
.city-hero-shade{z-index:1!important}
.city-hero-content{z-index:5!important}

.city-hero-flag{
    position:absolute!important;
    z-index:2!important;
    right:-5vw!important;
    bottom:-16%!important;
    width:46vw!important;
    min-width:560px!important;
    height:70%!important;
    pointer-events:none!important;
    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:center!important;
    opacity:.145!important;
    transform:rotate(-7deg) skewX(-5deg)!important;
    filter:saturate(.92) contrast(1.01)!important;
    -webkit-mask-image:linear-gradient(128deg,transparent 0%,rgba(0,0,0,.08) 18%,rgba(0,0,0,.72) 55%,#000 100%)!important;
    mask-image:linear-gradient(128deg,transparent 0%,rgba(0,0,0,.08) 18%,rgba(0,0,0,.72) 55%,#000 100%)!important;
}

.city-hero-country-signature{
    position:absolute;
    z-index:3;
    right:6.5vw;
    bottom:32px;
    display:flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.5);
}
.city-hero-country-signature span{
    font-size:8px;
    font-weight:800;
    letter-spacing:.18em;
}
.city-hero-country-signature:before{
    content:"";
    width:34px;
    height:1px;
    background:rgba(255,255,255,.32);
}

html[dir="rtl"] body .city-hero-flag{
    right:auto!important;
    left:-5vw!important;
    transform:rotate(7deg) skewX(5deg)!important;
}
html[dir="rtl"] body .city-hero-country-signature{
    right:auto;
    left:6.5vw;
}

/* WHY TRAIN HERE */
.city-why-premium{
    padding-top:44px!important;
    padding-bottom:44px!important;
}
.city-why-editorial{
    max-width:760px;
}
.city-why-eyebrow{
    display:block;
    margin-bottom:8px;
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.14em;
    font-weight:800;
}
.city-why-premium .city-why-stats span{
    background:#F8FAFB;
    box-shadow:0 8px 22px rgba(2,19,54,.035);
}

/* INCLUDED */
.city-included-v51{
    padding:72px 6.5vw 76px;
    background:
        linear-gradient(180deg,#F7F9FA 0%,#F1F5F6 100%);
}

.city-included-v51-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    align-items:end;
    gap:40px;
    margin-bottom:26px;
}

.city-included-v51-head>div:first-child>span{
    color:#00A7B5;
    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.city-included-v51-head h2{
    margin:7px 0 6px;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:37px;
    font-weight:500;
}
.city-included-v51-head p{
    margin:0;
    max-width:720px;
    color:#6C7A80;
    font-size:11px;
    line-height:1.7;
}

.city-included-v51-badge{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:12px;
    align-items:center;
    padding:15px 16px;
    background:#fff;
    border:1px solid #DCE5E7;
    border-left:3px solid #00A7B5;
    box-shadow:0 9px 24px rgba(2,19,54,.04);
}
.city-included-v51-badge>span{
    width:36px;height:36px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#EAF8F9;color:#00A7B5;font-weight:800
}
.city-included-v51-badge strong{
    display:block;color:#021336;font-size:8px;letter-spacing:.07em;text-transform:uppercase
}
.city-included-v51-badge small{
    display:block;margin-top:3px;color:#89969B;font-size:8px
}

.city-included-v51-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
}
.city-included-v51-card{
    position:relative;
    min-height:220px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:16px;
    padding:23px 22px 22px;
    background:#fff;
    border:1px solid #DDE5E7;
    overflow:hidden;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.city-included-v51-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,167,181,.30);
    box-shadow:0 15px 34px rgba(2,19,54,.065);
}
.city-included-v51-icon{
    width:50px;height:50px;display:flex;align-items:center;justify-content:center;
    background:#EEF8F9;border:1px solid #D6E8EA;color:#00A7B5
}
.city-included-v51-icon svg{
    width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.45;
    stroke-linecap:round;stroke-linejoin:round
}
.city-included-v51-copy>span{
    color:#98A5A9;font-size:7px;letter-spacing:.14em;font-weight:800
}
.city-included-v51-copy h3{
    margin:6px 0 8px;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:19px;
    line-height:1.22;
    font-weight:500
}
.city-included-v51-copy p{
    margin:0;
    color:#67767C;
    font-size:10px;
    line-height:1.72
}
.city-included-v51-card>small{
    position:absolute;
    top:12px;
    right:12px;
    padding:4px 6px;
    border:1px solid #C5E5E8;
    background:#F2FBFC;
    color:#008A95;
    font-size:6px;
    letter-spacing:.11em;
    font-weight:800
}

/* EXPERIENCES */
.city-experiences-v51{
    position:relative;
    overflow:hidden;
    padding:78px 6.5vw 82px;
    background:#021336;
}
.city-experiences-v51:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 12% 10%,rgba(0,167,181,.12),transparent 28%),
        linear-gradient(135deg,transparent 0 78%,rgba(255,255,255,.02) 78% 78.5%,transparent 78.5%);
}
.city-experiences-v51:after{
    content:"K";
    position:absolute;
    right:-25px;
    bottom:-150px;
    color:rgba(255,255,255,.018);
    font-family:Georgia,serif;
    font-size:360px;
    pointer-events:none
}
.city-experiences-v51-head{
    position:relative;
    z-index:2;
    max-width:900px;
}
.city-experiences-v51-head>span{
    color:#5DD1D9;
    font-size:8px;
    letter-spacing:.16em;
    font-weight:800;
    text-transform:uppercase
}
.city-experiences-v51-head h2{
    margin:7px 0 9px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:40px;
    font-weight:500
}
.city-experiences-v51-head>p{
    max-width:850px;
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:12px;
    line-height:1.75
}
.city-experience-v51-note{
    display:grid;
    grid-template-columns:36px 1fr;
    gap:11px;
    align-items:center;
    max-width:760px;
    margin-top:19px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.026)
}
.city-experience-v51-note>span{
    width:32px;height:32px;display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(93,209,217,.32);color:#5DD1D9
}
.city-experience-v51-note strong{
    display:block;
    color:#fff;
    font-size:8px;
    letter-spacing:.09em;
    text-transform:uppercase
}
.city-experience-v51-note small{
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,.52);
    font-size:8px;
    line-height:1.45
}

.city-experience-v51-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:27px
}
.city-experience-v51-card{
    background:#fff;
    overflow:hidden;
    min-width:0
}
.city-experience-v51-card.is-featured{
    grid-column:span 2
}
.city-experience-v51-photo{
    position:relative;
    height:195px;
    background-size:cover;
    background-position:center
}
.city-experience-v51-card.is-featured .city-experience-v51-photo{
    height:280px
}
.city-experience-v51-index{
    position:absolute;
    left:14px;
    top:14px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:25px;
    text-shadow:0 2px 15px rgba(0,0,0,.36)
}
.city-experience-v51-badge{
    position:absolute;
    right:12px;
    top:12px;
    padding:5px 7px;
    background:rgba(2,19,54,.84);
    color:#fff;
    font-size:6px;
    letter-spacing:.12em;
    font-weight:800
}
.city-experience-v51-body{
    padding:21px 21px 20px
}
.city-experience-v51-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:7px
}
.city-experience-v51-meta span{
    padding:4px 6px;
    background:#F3F8F9;
    border:1px solid #DDE9EA;
    color:#008D98;
    font-size:6px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800
}
.city-experience-v51-body h3{
    min-height:51px;
    margin:0 0 8px;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:21px;
    line-height:1.18;
    font-weight:500
}
.city-experience-v51-card.is-featured .city-experience-v51-body h3{
    font-size:26px
}
.city-experience-v51-body p{
    min-height:67px;
    margin:0;
    color:#68767C;
    font-size:10px;
    line-height:1.65;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden
}
.city-experience-v51-included{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:15px;
    padding-top:12px;
    border-top:1px solid #E5EAEB
}
.city-experience-v51-included>span{
    width:20px;height:20px;display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:#EAF8F9;color:#00A7B5;font-size:8px
}
.city-experience-v51-included strong{
    color:#021336;
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase
}

html[dir="rtl"] body .city-included-v51-badge{
    border-left:1px solid #DCE5E7;
    border-right:3px solid #00A7B5
}
html[dir="rtl"] body .city-included-v51-card>small{
    right:auto;
    left:12px
}
html[dir="rtl"] body .city-experience-v51-index{
    left:auto;
    right:14px
}
html[dir="rtl"] body .city-experience-v51-badge{
    right:auto;
    left:12px
}

@media(max-width:1100px){
    .city-included-v51-head{grid-template-columns:1fr;gap:18px}
    .city-included-v51-badge{max-width:520px}
    .city-experience-v51-grid{grid-template-columns:repeat(2,1fr)}
    .city-experience-v51-card.is-featured{grid-column:span 1}
    .city-experience-v51-card.is-featured .city-experience-v51-photo{height:215px}
}
@media(max-width:850px){
    .city-included-v51-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .city-included-v51,
    .city-experiences-v51{
        padding-left:20px;
        padding-right:20px
    }
    .city-included-v51-grid,
    .city-experience-v51-grid{
        grid-template-columns:1fr
    }
    .city-included-v51-card{
        min-height:0
    }
    .city-hero-flag{
        width:82vw!important;
        min-width:0!important;
        opacity:.09!important
    }
    .city-hero-country-signature{
        display:none
    }
}


/* =========================================================
   V52 — STRONGER CITY FLAG + PREMIUM TRAVEL + SHARED FOOTER
   ========================================================= */
.city-hero-flag{
    opacity:.245!important;
    right:-4vw!important;
    bottom:-13%!important;
    width:48vw!important;
    height:72%!important;
    filter:saturate(1.02) contrast(1.04)!important;
    -webkit-mask-image:linear-gradient(126deg,transparent 0%,rgba(0,0,0,.10) 14%,rgba(0,0,0,.78) 48%,#000 100%)!important;
    mask-image:linear-gradient(126deg,transparent 0%,rgba(0,0,0,.10) 14%,rgba(0,0,0,.78) 48%,#000 100%)!important;
}
.city-premium-travel-concierge{
    margin:0!important;
    border-top:3px solid #00A7B5!important;
}
.city-premium-travel-concierge .travel-service-heading{
    padding-top:40px!important;
}
.city-premium-travel-concierge .premium-travel-service{
    min-height:248px!important;
}

.kaizen-footer{
    position:relative;background:#010E28;color:#fff;overflow:hidden;
    border-top:1px solid rgba(255,255,255,.07)
}
.kaizen-footer:after{
    content:"K";position:absolute;right:-48px;bottom:-165px;
    font-family:Georgia,'Times New Roman',serif;font-size:390px;
    color:rgba(255,255,255,.018);pointer-events:none
}
.kaizen-footer-accent{height:3px;background:linear-gradient(90deg,#00A7B5 0 72%,#FF4D3F 72% 76%,transparent 76%)}
.kaizen-footer-cta{
    position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:center;gap:42px;padding:42px 6.5vw;
    background:radial-gradient(circle at 8% 10%,rgba(0,167,181,.11),transparent 28%),rgba(255,255,255,.018);
    border-bottom:1px solid rgba(255,255,255,.09)
}
.kaizen-footer-cta>div:first-child{max-width:760px}
.kaizen-footer-cta>div:first-child>span{display:block;margin-bottom:7px;color:#53D0D9;font-size:7px;font-weight:800;letter-spacing:.16em}
.kaizen-footer-cta h2{margin:0 0 8px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.15;font-weight:500}
.kaizen-footer-cta p{margin:0;color:rgba(255,255,255,.60);font-size:10px;line-height:1.7}
.kaizen-footer-cta-actions{display:flex;gap:8px}
.kaizen-footer-btn{
    min-width:205px;min-height:52px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;
    gap:18px;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:.09em;font-weight:800;transition:.2s ease
}
.kaizen-footer-btn-light{background:#fff;border:1px solid #fff;color:#021336}
.kaizen-footer-btn-outline{border:1px solid rgba(255,255,255,.25);color:#fff}
.kaizen-footer-btn:hover{transform:translateY(-2px);border-color:#00A7B5}
.kaizen-footer-btn-light:hover{background:#00A7B5;color:#fff}
.kaizen-footer-main{
    position:relative;z-index:2;display:grid;grid-template-columns:2fr 1fr 1fr .8fr;
    gap:48px;padding:48px 6.5vw 42px
}
.kaizen-footer-brand{max-width:470px}
.kaizen-footer-mark{display:inline-grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:end;gap:0 9px;color:#fff;text-decoration:none}
.kaizen-footer-k{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(83,208,217,.35);color:#fff;font-family:Georgia,serif;font-size:30px}
.kaizen-footer-name{font-size:18px;letter-spacing:.22em}
.kaizen-footer-mark small{color:#53D0D9;font-size:6px;letter-spacing:.22em}
.kaizen-footer-brand p{margin:20px 0 13px;color:rgba(255,255,255,.57);font-size:10px;line-height:1.75}
.kaizen-footer-brand>strong{color:rgba(255,255,255,.82);font-size:8px;letter-spacing:.05em;font-weight:600}
.kaizen-footer-column,.kaizen-footer-languages{display:flex;flex-direction:column;gap:10px}
.kaizen-footer-column>span,.kaizen-footer-languages>span{margin-bottom:5px;color:#53D0D9;font-size:7px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.kaizen-footer-column a{width:max-content;max-width:100%;color:rgba(255,255,255,.67);text-decoration:none;font-size:9px;transition:.18s ease}
.kaizen-footer-column a:hover{color:#fff;transform:translateX(3px)}
.kaizen-footer-languages>div{display:flex;gap:6px}
.kaizen-footer-languages a{width:34px;height:31px;display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.16);text-decoration:none;font-size:7px;font-weight:800}
.kaizen-footer-languages a:hover{border-color:#00A7B5;color:#53D0D9}
.kaizen-footer-bottom{
    position:relative;z-index:2;min-height:46px;padding:0 6.5vw;display:flex;align-items:center;justify-content:space-between;
    gap:20px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.38);font-size:7px;letter-spacing:.03em
}
html[dir="rtl"] body .kaizen-footer:after{right:auto;left:-48px}
html[dir="rtl"] body .kaizen-footer-column a:hover{transform:translateX(-3px)}
@media(max-width:950px){
    .kaizen-footer-cta{grid-template-columns:1fr}
    .kaizen-footer-main{grid-template-columns:2fr 1fr 1fr}
    .kaizen-footer-languages{grid-column:1/-1}
}
@media(max-width:650px){
    .city-hero-flag{opacity:.15!important;width:88vw!important}
    .kaizen-footer-cta{padding:34px 20px}
    .kaizen-footer-cta-actions{flex-direction:column}
    .kaizen-footer-btn{width:100%;box-sizing:border-box}
    .kaizen-footer-main{grid-template-columns:1fr;gap:28px;padding:38px 20px 34px}
    .kaizen-footer-languages{grid-column:auto}
    .kaizen-footer-bottom{padding:16px 20px;align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V60 — HOME DESTINATION CARDS
   Large centered city/country + stronger flag watermark
   ========================================================= */

.home-destination-card{
    position:relative!important;
    min-height:285px!important;
    overflow:hidden!important;
}

/* Give the photo a slightly deeper cinematic overlay so huge type remains readable */
.home-destination-overlay{
    background:
        linear-gradient(180deg,rgba(2,19,54,.18) 0%,rgba(2,19,54,.43) 55%,rgba(2,19,54,.66) 100%)!important;
}

/* Main content now sits exactly in the middle of the card */
.home-destination-content-v60{
    position:absolute!important;
    inset:0!important;
    z-index:5!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:34px 32px 42px!important;
    box-sizing:border-box!important;
}

/* Small academic country code over the city */
.home-destination-content-v60 .home-destination-country-code{
    display:block!important;
    margin:0 0 8px!important;
    color:#58D2DA!important;
    font-family:Arial,sans-serif!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.22em!important;
    font-weight:800!important;
}

/* CITY — deliberately large */
.home-destination-content-v60 h3{
    margin:0!important;
    max-width:96%!important;
    color:#fff!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(34px,2.65vw,58px)!important;
    line-height:.98!important;
    letter-spacing:-.025em!important;
    font-weight:500!important;
    text-shadow:0 3px 18px rgba(0,0,0,.28)!important;
}

/* COUNTRY — clear and premium below the city */
.home-destination-content-v60 .home-destination-country{
    margin:11px 0 0!important;
    color:rgba(255,255,255,.88)!important;
    font-family:Arial,sans-serif!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
    font-weight:700!important;
}

/* Keep Explore discreetly at the bottom so it doesn't fight the destination name */
.home-destination-content-v60 strong{
    position:absolute!important;
    left:22px!important;
    bottom:17px!important;
    margin:0!important;
    color:#fff!important;
    font-size:7px!important;
    letter-spacing:.11em!important;
    font-weight:800!important;
    text-transform:uppercase!important;
    opacity:.82!important;
}

/* FLAG — substantially larger and clearly visible, still a watermark */
.home-destination-flag{
    position:absolute!important;
    z-index:3!important;
    right:-34px!important;
    bottom:-34px!important;
    width:255px!important;
    height:170px!important;
    opacity:.36!important;
    background-image:
        linear-gradient(125deg,rgba(2,19,54,.02) 0%,rgba(2,19,54,.06) 30%,rgba(2,19,54,.16) 100%),
        var(--city-flag)!important;
    background-size:cover!important;
    background-position:center!important;
    transform:rotate(-7deg) skewX(-4deg)!important;
    filter:saturate(1.04) contrast(1.02)!important;
    -webkit-mask-image:linear-gradient(
        125deg,
        transparent 0%,
        rgba(0,0,0,.28) 14%,
        rgba(0,0,0,.88) 48%,
        #000 100%
    )!important;
    mask-image:linear-gradient(
        125deg,
        transparent 0%,
        rgba(0,0,0,.28) 14%,
        rgba(0,0,0,.88) 48%,
        #000 100%
    )!important;
    transition:opacity .22s ease,transform .22s ease!important;
}

.home-destination-card:hover .home-destination-flag{
    opacity:.48!important;
    transform:rotate(-4deg) skewX(-2deg) scale(1.04)!important;
}

.home-destination-card:hover .home-destination-photo{
    transform:scale(1.025)!important;
}

html[dir="rtl"] body .home-destination-content-v60 strong{
    left:auto!important;
    right:22px!important;
}

html[dir="rtl"] body .home-destination-flag{
    right:auto!important;
    left:-34px!important;
    transform:rotate(7deg) skewX(4deg)!important;
}

html[dir="rtl"] body .home-destination-card:hover .home-destination-flag{
    transform:rotate(4deg) skewX(2deg) scale(1.04)!important;
}

@media(max-width:1100px){
    .home-destination-card{
        min-height:260px!important;
    }
    .home-destination-content-v60 h3{
        font-size:clamp(32px,4vw,48px)!important;
    }
    .home-destination-flag{
        width:220px!important;
        height:145px!important;
    }
}

@media(max-width:620px){
    .home-destination-card{
        min-height:245px!important;
    }
    .home-destination-content-v60 h3{
        font-size:40px!important;
    }
    .home-destination-content-v60 .home-destination-country{
        font-size:9px!important;
    }
    .home-destination-flag{
        width:205px!important;
        height:135px!important;
        opacity:.32!important;
    }
}


/* =========================================================
   V67 — CITY HERO FLAG WATERMARK
   Right anchored, fades toward the left
   ========================================================= */
.city-hero-flag{
    position:absolute!important;
    z-index:2!important;
    right:-2vw!important;
    left:auto!important;
    bottom:-9%!important;

    width:42vw!important;
    min-width:520px!important;
    height:66%!important;

    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:center right!important;
    background-repeat:no-repeat!important;

    opacity:.22!important;
    filter:saturate(.95) contrast(1.02)!important;

    transform:rotate(-5deg) skewX(-3deg)!important;
    transform-origin:right bottom!important;

    /*
      Strong on the right, disappearing progressively to the left.
      This creates the watermark effect requested.
    */
    -webkit-mask-image:linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.04) 15%,
        rgba(0,0,0,.18) 30%,
        rgba(0,0,0,.48) 50%,
        rgba(0,0,0,.82) 72%,
        #000 100%
    )!important;
    mask-image:linear-gradient(
        90deg,
        transparent 0%,
        rgba(0,0,0,.04) 15%,
        rgba(0,0,0,.18) 30%,
        rgba(0,0,0,.48) 50%,
        rgba(0,0,0,.82) 72%,
        #000 100%
    )!important;

    pointer-events:none!important;
}

/* Keep RTL visually consistent: flag still remains on the right */
html[dir="rtl"] body .city-hero-flag{
    right:-2vw!important;
    left:auto!important;
    transform:rotate(-5deg) skewX(-3deg)!important;
}

/* The tiny country signature remains above the watermark */
.city-hero-country-signature{
    z-index:3!important;
}

@media(max-width:900px){
    .city-hero-flag{
        width:58vw!important;
        min-width:420px!important;
        height:58%!important;
        opacity:.18!important;
    }
}

@media(max-width:620px){
    .city-hero-flag{
        right:-16vw!important;
        width:86vw!important;
        min-width:340px!important;
        height:52%!important;
        opacity:.14!important;
    }
}


/* =========================================================
   V68 — CITY HERO FLAG WATERMARK
   LEFT anchored, fading progressively to transparent on the right.
   The previous right-side treatment is fully overridden.
   ========================================================= */

.city-hero-flag{
    position:absolute!important;
    z-index:2!important;

    left:-4vw!important;
    right:auto!important;
    bottom:-10%!important;

    width:58vw!important;
    min-width:720px!important;
    height:78%!important;

    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;

    opacity:.20!important;
    filter:saturate(.95) contrast(1.02)!important;

    transform:rotate(4deg) skewX(2deg)!important;
    transform-origin:left bottom!important;

    /* Strong on the left, progressively disappearing toward the right */
    -webkit-mask-image:linear-gradient(
        90deg,
        #000 0%,
        rgba(0,0,0,.92) 18%,
        rgba(0,0,0,.68) 38%,
        rgba(0,0,0,.36) 58%,
        rgba(0,0,0,.12) 76%,
        transparent 100%
    )!important;
    mask-image:linear-gradient(
        90deg,
        #000 0%,
        rgba(0,0,0,.92) 18%,
        rgba(0,0,0,.68) 38%,
        rgba(0,0,0,.36) 58%,
        rgba(0,0,0,.12) 76%,
        transparent 100%
    )!important;

    pointer-events:none!important;
}

/* Keep the text and hero content above the watermark */
.city-hero-shade{
    z-index:3!important;
}
.city-hero-content{
    z-index:5!important;
}
.city-hero-country-signature{
    z-index:5!important;
}

/* RTL: keep the visual flag on the left exactly as requested */
html[dir="rtl"] body .city-hero-flag{
    left:-4vw!important;
    right:auto!important;
    transform:rotate(4deg) skewX(2deg)!important;
}

/* Remove any remaining right-side visual impression from older rules */
.city-hero-flag::before,
.city-hero-flag::after{
    content:none!important;
    display:none!important;
}

@media(max-width:1100px){
    .city-hero-flag{
        left:-8vw!important;
        width:70vw!important;
        min-width:560px!important;
        height:70%!important;
        opacity:.18!important;
    }
}

@media(max-width:620px){
    .city-hero-flag{
        left:-22vw!important;
        width:105vw!important;
        min-width:420px!important;
        height:58%!important;
        opacity:.14!important;
    }
}


/* =========================================================
   V69 — CITY HERO FLAG: FULL-BANNER LEFT -> RIGHT FADE
   Full opacity on the far left, progressively fading to 0
   across the entire hero width.
   ========================================================= */

.city-hero-flag{
    position:absolute!important;
    z-index:2!important;

    inset:0!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;

    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;

    /* The watermark itself can be strong on the left */
    opacity:.34!important;
    filter:saturate(.95) contrast(1.02)!important;

    /* No tilt: it should flow naturally across the full banner */
    transform:none!important;
    transform-origin:center!important;

    /*
      100% visibility on the LEFT,
      progressively fading to 0 on the RIGHT.
      The flag now spans the whole hero.
    */
    -webkit-mask-image:linear-gradient(
        90deg,
        #000 0%,
        #000 8%,
        rgba(0,0,0,.92) 18%,
        rgba(0,0,0,.76) 32%,
        rgba(0,0,0,.56) 48%,
        rgba(0,0,0,.34) 64%,
        rgba(0,0,0,.16) 80%,
        rgba(0,0,0,.05) 92%,
        transparent 100%
    )!important;

    mask-image:linear-gradient(
        90deg,
        #000 0%,
        #000 8%,
        rgba(0,0,0,.92) 18%,
        rgba(0,0,0,.76) 32%,
        rgba(0,0,0,.56) 48%,
        rgba(0,0,0,.34) 64%,
        rgba(0,0,0,.16) 80%,
        rgba(0,0,0,.05) 92%,
        transparent 100%
    )!important;

    pointer-events:none!important;
}

/* Keep the content comfortably above the watermark */
.city-hero-shade{
    z-index:3!important;
}
.city-hero-content,
.city-hero-country-signature{
    z-index:5!important;
}

/* Same visual direction in RTL, as requested */
html[dir="rtl"] body .city-hero-flag{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
}

@media(max-width:900px){
    .city-hero-flag{
        opacity:.30!important;
    }
}

@media(max-width:620px){
    .city-hero-flag{
        opacity:.24!important;
    }
}


/* =========================================================
   V70 — FINAL CITY LAYOUT SHARED COMPONENTS
   ========================================================= */

/* NAVBAR shared across pages */
.kaizen-global-header .nav{
    display:flex;
    align-items:center;
    gap:34px;
}
.kaizen-global-header .nav a{
    position:relative;
}
.kaizen-global-header .nav a.active:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-10px;
    height:2px;
    background:#FF4D3F;
}
.kaizen-global-header .langs{
    display:flex;
    gap:7px;
    align-items:center;
}
.kaizen-global-header .langs a{
    text-decoration:none;
    font-size:8px;
    font-weight:700;
    color:#66727A;
}
.kaizen-global-header .langs a.current{
    color:#00A7B5;
}

/*
CITY HERO FLAG
Do NOT touch .city-hero-photo.
The city image stays exactly as it is.

The flag mirrors the left-side fade:
100% visible at the far left of its watermark layer,
then smoothly reaches 0 toward the right.
*/
.city-hero-flag{
    position:absolute!important;
    z-index:2!important;

    left:0!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;

    width:52%!important;
    min-width:0!important;
    height:100%!important;

    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;

    /* watermark strength; mask itself goes 100% -> 0% */
    opacity:.25!important;
    filter:saturate(.92) contrast(1.02)!important;
    transform:none!important;

    -webkit-mask-image:linear-gradient(
        90deg,
        #000 0%,
        #000 12%,
        rgba(0,0,0,.92) 24%,
        rgba(0,0,0,.72) 40%,
        rgba(0,0,0,.48) 56%,
        rgba(0,0,0,.25) 72%,
        rgba(0,0,0,.08) 88%,
        transparent 100%
    )!important;

    mask-image:linear-gradient(
        90deg,
        #000 0%,
        #000 12%,
        rgba(0,0,0,.92) 24%,
        rgba(0,0,0,.72) 40%,
        rgba(0,0,0,.48) 56%,
        rgba(0,0,0,.25) 72%,
        rgba(0,0,0,.08) 88%,
        transparent 100%
    )!important;

    pointer-events:none!important;
}

/* No old right-side flag treatment can survive */
html[dir="rtl"] body .city-hero-flag{
    left:0!important;
    right:auto!important;
    width:52%!important;
    transform:none!important;
}

/* Maintain text/shading above watermark without altering city photo */
.city-hero-shade{z-index:3!important}
.city-hero-content,
.city-hero-country-signature{z-index:5!important}

/* Shared Premium Travel: exact same component on Home + City */
.shared-premium-travel{
    width:100%;
    margin:0!important;
    box-sizing:border-box;
    border-top:3px solid #00A7B5!important;
}
.shared-premium-travel .travel-service-heading{
    padding-top:40px!important;
}
.shared-premium-travel .premium-travel-service{
    min-height:248px!important;
}

/* City can breathe around the shared module without changing its component */
.city-page .shared-premium-travel,
body.city-page .shared-premium-travel{
    margin-top:0!important;
}

@media(max-width:900px){
    .city-hero-flag{
        width:64%!important;
        opacity:.20!important;
    }
    .kaizen-global-header .nav{
        gap:20px;
    }
}

@media(max-width:620px){
    .city-hero-flag{
        width:78%!important;
        opacity:.16!important;
    }
}


/* =========================================================
   V71 — CITY HERO FLAG OPACITY GRADIENT
   100% visible on the LEFT -> 0% on the RIGHT
   ========================================================= */

.city-hero-flag{
    position:absolute!important;
    z-index:2!important;

    left:0!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;

    width:52%!important;
    min-width:0!important;
    height:100%!important;

    background-image:var(--city-flag)!important;
    background-size:cover!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;

    /* Full flag opacity; the fade is controlled ONLY by the mask */
    opacity:1!important;
    filter:saturate(.92) contrast(1.02)!important;
    transform:none!important;

    /* Pure opacity fade: left 100% -> right 0% */
    -webkit-mask-image:linear-gradient(
        90deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,1) 10%,
        rgba(0,0,0,.92) 20%,
        rgba(0,0,0,.80) 32%,
        rgba(0,0,0,.65) 45%,
        rgba(0,0,0,.48) 58%,
        rgba(0,0,0,.30) 72%,
        rgba(0,0,0,.14) 84%,
        rgba(0,0,0,.05) 93%,
        rgba(0,0,0,0) 100%
    )!important;

    mask-image:linear-gradient(
        90deg,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,1) 10%,
        rgba(0,0,0,.92) 20%,
        rgba(0,0,0,.80) 32%,
        rgba(0,0,0,.65) 45%,
        rgba(0,0,0,.48) 58%,
        rgba(0,0,0,.30) 72%,
        rgba(0,0,0,.14) 84%,
        rgba(0,0,0,.05) 93%,
        rgba(0,0,0,0) 100%
    )!important;

    pointer-events:none!important;
}

/* Keep exactly the same left-to-right fade in RTL */
html[dir="rtl"] body .city-hero-flag{
    left:0!important;
    right:auto!important;
    opacity:1!important;
    transform:none!important;
}

@media(max-width:900px){
    .city-hero-flag{
        width:62%!important;
    }
}

@media(max-width:620px){
    .city-hero-flag{
        width:78%!important;
    }
}


/* =========================================================
   V73 — EXPERIENCE INCLUDED + CHOICE AFTER BOOKING
   Keeps the existing city experience design unchanged.
   ========================================================= */

.city-experience-included-choice{
    max-width:820px!important;
    border-color:rgba(93,209,217,.34)!important;
    background:linear-gradient(90deg,rgba(0,167,181,.10),rgba(255,255,255,.025))!important;
}
.city-experience-included-choice>span{
    background:#00A7B5!important;
    border-color:#00A7B5!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800!important;
}
.city-experience-included-choice strong{
    color:#fff!important;
    font-size:9px!important;
    letter-spacing:.11em!important;
}
.city-experience-included-choice small{
    margin-top:5px!important;
    color:rgba(255,255,255,.72)!important;
    font-size:9px!important;
    line-height:1.55!important;
}

/* Visible but elegant "INCLUDED" pill over the photo */
.city-experience-v73-included-badge{
    position:absolute;
    left:14px;
    bottom:14px;
    z-index:3;
    padding:7px 10px;
    background:#fff;
    border-left:3px solid #00A7B5;
    box-shadow:0 6px 18px rgba(2,19,54,.16);
    color:#021336;
    font-size:7px;
    line-height:1;
    letter-spacing:.12em;
    font-weight:900;
}

/* Premium footer inside each activity card */
.city-experience-choice-footer{
    display:grid!important;
    grid-template-columns:24px 1fr!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:17px!important;
    padding:13px 14px!important;
    border-top:0!important;
    background:#F2FAFA!important;
    border-left:3px solid #00A7B5!important;
}
.city-experience-choice-footer>span{
    width:24px!important;
    height:24px!important;
    background:#00A7B5!important;
    color:#fff!important;
    font-size:10px!important;
}
.city-experience-choice-footer>div{
    min-width:0;
}
.city-experience-choice-footer strong{
    display:block;
    color:#021336!important;
    font-size:8px!important;
    letter-spacing:.09em!important;
    line-height:1.25!important;
    font-weight:900!important;
}
.city-experience-choice-footer small{
    display:block;
    margin-top:3px;
    color:#008A95;
    font-size:8px;
    line-height:1.25;
    font-weight:700;
}

/* RTL */
html[dir="rtl"] body .city-experience-v73-included-badge{
    left:auto;
    right:14px;
    border-left:1px solid #DDE9EA;
    border-right:3px solid #00A7B5;
}
html[dir="rtl"] body .city-experience-choice-footer{
    border-left:0!important;
    border-right:3px solid #00A7B5!important;
}


/* =========================================================
   V74 — PREMIUM TRAVEL × AGENTRIP PARTNERSHIP
   Shared component for Home + City.
   ========================================================= */

.premium-travel-v74{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 86% 10%,rgba(0,167,181,.08),transparent 24%),
        linear-gradient(135deg,#021A3E 0%,#011333 58%,#010E28 100%)!important;
}

.premium-travel-v74:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(135deg,transparent 0 72%,rgba(255,255,255,.018) 72% 72.4%,transparent 72.4%),
        linear-gradient(90deg,rgba(0,167,181,.045),transparent 34%);
}

.travel-v74-top{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);
    gap:34px;
    padding:40px 32px 30px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.travel-v74-top .travel-service-heading{
    padding:0!important;
    max-width:850px;
}

.travel-v74-partner{
    position:relative;
    align-self:stretch;
    padding:22px 23px 20px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
    border:1px solid rgba(93,209,217,.18);
    border-top:2px solid #00A7B5;
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.travel-v74-partner-label{
    margin-bottom:10px;
    color:#54D1DA;
    font-size:7px;
    line-height:1;
    letter-spacing:.18em;
    font-weight:900;
}

.travel-v74-partner-brand{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-bottom:13px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.travel-v74-partner-brand>span{
    color:rgba(255,255,255,.46);
    font-size:7px;
    line-height:1.35;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.travel-v74-partner-brand a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:136px;
    min-height:46px;
    padding:7px 10px;
    background:#fff;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(0,0,0,.10);
}

.travel-v74-partner-brand img{
    display:block;
    width:100%;
    max-width:118px;
    max-height:42px;
    object-fit:contain;
}

.travel-v74-partner h4{
    margin:17px 0 8px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:21px;
    line-height:1.15;
    font-weight:500;
}

.travel-v74-partner p{
    margin:0;
    color:rgba(255,255,255,.61);
    font-size:9px;
    line-height:1.7;
}

.travel-v74-partner-link{
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#64D9E0;
    text-decoration:none;
    font-size:7px;
    letter-spacing:.11em;
    text-transform:uppercase;
    font-weight:900;
}

.travel-v74-partner-link span{
    font-size:15px;
    transition:transform .18s ease;
}

.travel-v74-partner-link:hover span{
    transform:translateX(4px);
}

/* Existing three services remain visually familiar */
.premium-travel-v74 .premium-travel-services-grid{
    position:relative;
    z-index:2;
}

.premium-travel-v74 .premium-travel-service{
    min-height:245px!important;
    background:rgba(255,255,255,.012);
    transition:background .2s ease;
}

.premium-travel-v74 .premium-travel-service:hover{
    background:rgba(0,167,181,.035);
}

/* Strong commercial offer strip */
.travel-v74-offer{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    padding:18px 28px;
    background:#F7FAFB;
    border-top:3px solid #FF4D3F;
    color:#021336;
}

.travel-v74-offer-badge{
    padding:8px 10px;
    background:#FF4D3F;
    color:#fff;
    font-size:7px;
    line-height:1;
    letter-spacing:.11em;
    font-weight:900;
    white-space:nowrap;
}

.travel-v74-offer-copy strong{
    display:block;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:16px;
    line-height:1.1;
    font-weight:500;
}

.travel-v74-offer-copy span{
    display:block;
    margin-top:4px;
    color:#69777D;
    font-size:8px;
    line-height:1.45;
}

.travel-v74-offer>a{
    min-width:180px;
    min-height:40px;
    padding:0 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    background:#021336;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:7px;
    letter-spacing:.08em;
    font-weight:900;
}

.travel-v74-offer>a:hover{
    background:#00A7B5;
}

html[dir="rtl"] body .travel-v74-partner-link span{
    transform:rotate(180deg);
}

@media(max-width:1050px){
    .travel-v74-top{
        grid-template-columns:1fr;
    }

    .travel-v74-partner{
        max-width:680px;
    }
}

@media(max-width:700px){
    .travel-v74-top{
        padding:30px 20px 24px;
    }

    .travel-v74-offer{
        grid-template-columns:1fr;
        align-items:start;
        padding:18px 20px;
    }

    .travel-v74-offer-badge{
        width:max-content;
    }

    .travel-v74-offer>a{
        width:100%;
        box-sizing:border-box;
    }
}


/* =========================================================
   V76 — SUBTLE AGENTRIP PARTNERSHIP
   Transparent PNG, no white box, no large partner panel.
   ========================================================= */

.premium-travel-v74 .travel-v74-top{
    grid-template-columns:1fr!important;
    gap:16px!important;
}

.travel-v74-partner,
.travel-v74-offer{
    display:none!important;
}

/* Small signature below the main premium travel message */
.travel-v76-partner-signature{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.09);
    width:max-content;
    max-width:100%;
}

.travel-v76-partner-signature>span:first-child{
    color:rgba(255,255,255,.46);
    font-size:7px;
    line-height:1;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.travel-v76-partner-signature a{
    display:flex;
    align-items:center;
    text-decoration:none;
    padding:0;
    background:transparent;
    border:0;
}

.travel-v76-partner-signature img{
    display:block;
    width:auto;
    height:28px;
    max-width:150px;
    object-fit:contain;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
}

.travel-v76-partner-dot{
    color:rgba(255,255,255,.22)!important;
}

.travel-v76-partner-signature strong{
    color:#5BD4DC;
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800;
}

@media(max-width:700px){
    .travel-v76-partner-signature{
        width:100%;
        row-gap:8px;
    }
    .travel-v76-partner-signature img{
        height:24px;
        max-width:130px;
    }
}


/* =========================================================
   V77 — PREMIUM TRAVEL / WHITE ACADEMIC EDITION
   White section, premium white cards, structured Agentrip partnership.
   ========================================================= */

.premium-travel-v74,
.premium-travel-v76,
.shared-premium-travel{
    background:
        radial-gradient(circle at 84% 8%,rgba(0,167,181,.055),transparent 26%),
        linear-gradient(180deg,#FFFFFF 0%,#F7FAFB 100%)!important;
    color:#021336!important;
    border-top:1px solid #D9E3E6!important;
    border-bottom:1px solid #D9E3E6!important;
}

.premium-travel-v74:before,
.premium-travel-v74:after,
.shared-premium-travel:before,
.shared-premium-travel:after{
    opacity:.35!important;
}

.premium-travel-v74 .travel-v74-top{
    display:grid!important;
    grid-template-columns:minmax(0,1.25fr) minmax(430px,.75fr)!important;
    gap:46px!important;
    align-items:start!important;
    padding:52px 5.5vw 38px!important;
    border-bottom:1px solid #E2E8EA!important;
    background:transparent!important;
}

.premium-travel-v74 .travel-service-heading{
    max-width:800px!important;
}

.premium-travel-v74 .travel-service-heading>span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:31px!important;
    padding:0 12px!important;
    background:#FF4D3F!important;
    color:#fff!important;
    font-size:8px!important;
    letter-spacing:.10em!important;
    font-weight:900!important;
}

.premium-travel-v74 .travel-service-heading h3{
    margin:15px 0 11px!important;
    color:#021336!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:38px!important;
    line-height:1.08!important;
    font-weight:500!important;
}

.premium-travel-v74 .travel-service-heading>p{
    color:#596A72!important;
    font-size:11px!important;
    line-height:1.75!important;
}

.premium-travel-v74 .travel-not-included{
    width:max-content!important;
    max-width:100%!important;
    margin-top:20px!important;
    color:#78868C!important;
    font-size:8px!important;
}

.premium-travel-v74 .travel-not-included>span{
    border-color:#FFB9B3!important;
    color:#FF4D3F!important;
    background:#FFF7F6!important;
}

/* Partnership card */
.travel-v77-partner{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:24px;
    align-items:stretch;
    padding:24px;
    background:#fff;
    border:1px solid #D8E3E6;
    border-top:3px solid #00A7B5;
    box-shadow:0 18px 44px rgba(2,19,54,.07);
}

.travel-v77-partner-copy{
    min-width:0;
}

.travel-v77-partner-eyebrow{
    display:block;
    margin-bottom:8px;
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.16em;
    font-weight:900;
    text-transform:uppercase;
}

.travel-v77-partner-copy>strong{
    display:block;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:20px;
    line-height:1.2;
    font-weight:500;
}

.travel-v77-partner-copy>p{
    margin:8px 0 0;
    color:#687980;
    font-size:9px;
    line-height:1.6;
}

.travel-v77-offer{
    display:grid;
    grid-template-columns:28px 1fr;
    gap:9px;
    align-items:center;
    margin-top:16px;
    padding:11px 12px;
    background:#F4FAFA;
    border:1px solid #D8ECEE;
}

.travel-v77-offer>span{
    width:26px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#00A7B5;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.travel-v77-offer b{
    display:block;
    color:#021336;
    font-size:8px;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.travel-v77-offer small{
    display:block;
    margin-top:3px;
    color:#708087;
    font-size:7px;
    line-height:1.4;
}

.travel-v77-partner-brand{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding-left:20px;
    border-left:1px solid #E1E8EA;
}

.travel-v77-partner-brand>span{
    color:#8B989D;
    font-size:6px;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.travel-v77-partner-brand>a:first-of-type{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    margin:10px 0 14px;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    padding:0!important;
}

.travel-v77-partner-brand img{
    width:100%;
    max-width:152px;
    height:auto;
    max-height:54px;
    object-fit:contain;
    object-position:left center;
    background:transparent!important;
    box-shadow:none!important;
}

.travel-v77-partner-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding-top:10px;
    border-top:1px solid #E1E8EA;
    color:#021336;
    text-decoration:none;
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:900;
}

.travel-v77-partner-link:hover{
    color:#00A7B5;
}

/* Three service cards remain white, premium and separated */
.premium-travel-v74 .premium-travel-services-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
    padding:26px 5.5vw 54px!important;
    background:transparent!important;
}

.premium-travel-v74 .premium-travel-service{
    position:relative!important;
    min-height:230px!important;
    padding:25px 24px 22px!important;
    background:#fff!important;
    border:1px solid #DCE5E7!important;
    box-shadow:0 10px 28px rgba(2,19,54,.04)!important;
    color:#021336!important;
}

.premium-travel-v74 .premium-travel-service:hover{
    transform:translateY(-3px);
    border-color:rgba(0,167,181,.35)!important;
    box-shadow:0 16px 36px rgba(2,19,54,.07)!important;
}

.premium-travel-v74 .travel-service-icon{
    background:#EFF9FA!important;
    border:1px solid #D4ECEE!important;
    color:#00A7B5!important;
}

.premium-travel-v74 .premium-travel-service>span{
    color:#D4DDE0!important;
}

.premium-travel-v74 .premium-travel-service h4{
    color:#021336!important;
}

.premium-travel-v74 .premium-travel-service p{
    color:#697980!important;
}

.premium-travel-v74 .premium-travel-service strong{
    color:#008D98!important;
}

.premium-travel-v74 .premium-travel-service strong:before{
    border-color:#A9DADD!important;
    color:#00A7B5!important;
}

/* Kill previous navy-background assumptions */
.travel-v76-partner-signature{
    display:none!important;
}

@media(max-width:1100px){
    .premium-travel-v74 .travel-v74-top{
        grid-template-columns:1fr!important;
    }

    .travel-v77-partner{
        max-width:820px;
    }
}

@media(max-width:780px){
    .premium-travel-v74 .premium-travel-services-grid{
        grid-template-columns:1fr!important;
    }

    .travel-v77-partner{
        grid-template-columns:1fr;
    }

    .travel-v77-partner-brand{
        padding-left:0;
        padding-top:16px;
        border-left:0;
        border-top:1px solid #E1E8EA;
    }
}

html[dir="rtl"] body .travel-v77-partner-brand{
    padding-left:0;
    padding-right:20px;
    border-left:0;
    border-right:1px solid #E1E8EA;
}

@media(max-width:780px){
    html[dir="rtl"] body .travel-v77-partner-brand{
        padding-right:0;
        border-right:0;
        border-top:1px solid #E1E8EA;
    }
}


/* =========================================================
   V78 — PREMIUM TRAVEL COMPACT BOTTOM
   Remove the excessive white space below the 3 service cards.
   Keep only a small breathing space, roughly one <br>.
   ========================================================= */

.shared-premium-travel,
.premium-travel-v74{
    padding-bottom:0!important;
    margin-bottom:0!important;
}

.premium-travel-v74 .premium-travel-services-grid{
    padding-bottom:18px!important;
    margin-bottom:0!important;
}

.premium-travel-v74 .premium-travel-service{
    margin-bottom:0!important;
}

/* If the surrounding page section adds spacing after the include */
.shared-premium-travel + *,
.premium-travel-v74 + *{
    margin-top:0!important;
}



/* =========================================================
   V79 — REMOVE THE LARGE EMPTY AREA UNDER PREMIUM TRAVEL
   The remaining gap is caused by inherited section/min-height rules,
   not by simple bottom padding.
   ========================================================= */

/* The shared travel section must size itself ONLY to its content. */
.shared-premium-travel,
.premium-travel-v74,
.premium-travel-concierge,
.home-travel-concierge,
.city-premium-travel-concierge{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
}

/* Same for the internal wrappers. */
.premium-travel-v74 .travel-v74-top,
.premium-travel-v74 .premium-travel-services-grid,
.shared-premium-travel .travel-v74-top,
.shared-premium-travel .premium-travel-services-grid{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
}

/* Cards keep their visual height, but the grid itself must not stretch. */
.premium-travel-v74 .premium-travel-services-grid{
    align-items:stretch!important;
    padding-bottom:16px!important;
}

/*
Remove inherited large section spacing from the city/home container
immediately around the shared component.
*/
main > .shared-premium-travel,
main > .premium-travel-v74{
    margin-top:0!important;
    margin-bottom:0!important;
}

/* Footer should follow almost immediately after the component. */
.shared-premium-travel + .kaizen-footer,
.premium-travel-v74 + .kaizen-footer{
    margin-top:0!important;
}

/*
If the page layout gives main a large minimum height, don't let the last
travel section stretch to fill it.
*/
main:has(> .shared-premium-travel:last-child),
main:has(> .premium-travel-v74:last-child){
    min-height:0!important;
    height:auto!important;
}

/* Fallback for browsers/layouts using flex main. */
main{
    align-content:start;
}
main > .shared-premium-travel,
main > .premium-travel-v74{
    flex:0 0 auto!important;
}



/* =========================================================
   V80 — FIX THE REAL CAUSE: REMOVE ::AFTER DECORATION
   The large empty white area was created by the pseudo-element.
   ========================================================= */

.premium-travel-concierge::after,
.shared-premium-travel::after,
.premium-travel-v74::after,
.home-travel-concierge::after,
.city-premium-travel-concierge::after{
    content:none!important;
    display:none!important;
    position:static!important;
    width:0!important;
    height:0!important;
    inset:auto!important;
}

/* Also neutralize any matching ::before only if it can influence layout */
.premium-travel-concierge::before,
.shared-premium-travel::before,
.premium-travel-v74::before{
    pointer-events:none!important;
}

/* Keep only a small breathing space after the service grid */
.premium-travel-v74 .premium-travel-services-grid{
    padding-bottom:16px!important;
}



/* =========================================================
   V81 — PREMIUM TRAVEL SERVICE CARDS
   Distinct accents + clickable to Agentrip
   ========================================================= */

.premium-travel-v74 .premium-travel-service-link{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    text-decoration:none!important;
    color:inherit!important;
    overflow:hidden!important;
    cursor:pointer!important;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease!important;
}

/* Slim premium accent on top of each card */
.premium-travel-v74 .premium-travel-service-link::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:4px!important;
    z-index:3!important;
}

/* Hotel — Kaizen turquoise */
.premium-travel-v74 .premium-travel-service-hotel{
    background:
        linear-gradient(180deg,rgba(0,167,181,.055) 0%,#fff 38%)!important;
    border-color:#C7E8EA!important;
}
.premium-travel-v74 .premium-travel-service-hotel::before{
    background:#00A7B5!important;
}
.premium-travel-v74 .premium-travel-service-hotel .travel-service-icon{
    background:#EAF8F9!important;
    border-color:#C7E8EA!important;
}

/* Flight — academic navy */
.premium-travel-v74 .premium-travel-service-flight{
    background:
        linear-gradient(180deg,rgba(2,19,54,.045) 0%,#fff 38%)!important;
    border-color:#CFD9E4!important;
}
.premium-travel-v74 .premium-travel-service-flight::before{
    background:#173A73!important;
}
.premium-travel-v74 .premium-travel-service-flight .travel-service-icon{
    background:#F0F4F9!important;
    border-color:#D5DFEA!important;
}

/* Mobility — subtle coral accent */
.premium-travel-v74 .premium-travel-service-mobility{
    background:
        linear-gradient(180deg,rgba(255,77,63,.045) 0%,#fff 38%)!important;
    border-color:#ECD8D5!important;
}
.premium-travel-v74 .premium-travel-service-mobility::before{
    background:#FF4D3F!important;
}
.premium-travel-v74 .premium-travel-service-mobility .travel-service-icon{
    background:#FFF4F2!important;
    border-color:#F3D9D5!important;
}

/* CTA appears discreetly at the bottom-right */
.premium-travel-v74 .travel-service-cta{
    margin-top:auto!important;
    padding-top:16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:7px!important;
    color:#65777E!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    opacity:.72!important;
    transition:color .2s ease,opacity .2s ease!important;
}

.premium-travel-v74 .travel-service-cta b{
    font-size:12px!important;
    line-height:1!important;
    font-weight:500!important;
}

.premium-travel-v74 .premium-travel-service-link:hover{
    transform:translateY(-5px)!important;
    box-shadow:0 20px 44px rgba(2,19,54,.09)!important;
}

.premium-travel-v74 .premium-travel-service-link:hover .travel-service-cta{
    color:#00A7B5!important;
    opacity:1!important;
}

.premium-travel-v74 .premium-travel-service-link:focus-visible{
    outline:2px solid #00A7B5!important;
    outline-offset:3px!important;
}

/* Keep service copy fully readable as links */
.premium-travel-v74 .premium-travel-service-link h4,
.premium-travel-v74 .premium-travel-service-link p,
.premium-travel-v74 .premium-travel-service-link strong{
    text-decoration:none!important;
}

html[dir="rtl"] body .premium-travel-v74 .travel-service-cta{
    justify-content:flex-start!important;
}



/* =========================================================
   V82 — PREMIUM SHARED FOOTER
   Dark, structured, logo-led, academic.
   ========================================================= */

.kaizen-footer-v82{
    position:relative;
    overflow:hidden;
    margin:0!important;
    padding:0!important;
    background:
        radial-gradient(circle at 15% 15%,rgba(0,167,181,.10),transparent 28%),
        linear-gradient(135deg,#021A3E 0%,#011333 58%,#010E28 100%)!important;
    color:#fff!important;
    border-top:1px solid rgba(93,209,217,.18)!important;
}

.footer-v82-cta{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:42px;
    align-items:center;
    max-width:1760px;
    margin:0 auto;
    padding:42px 5.5vw 38px;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.footer-v82-cta-copy{
    max-width:760px;
}

.footer-v82-cta-copy>span{
    display:block;
    margin-bottom:8px;
    color:#55D1DA;
    font-size:8px;
    line-height:1;
    letter-spacing:.18em;
    font-weight:900;
}

.footer-v82-cta-copy h2{
    margin:0;
    max-width:720px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
    line-height:1.08;
    font-weight:500;
}

.footer-v82-cta-copy p{
    margin:12px 0 0;
    max-width:680px;
    color:rgba(255,255,255,.58);
    font-size:10px;
    line-height:1.65;
}

.footer-v82-cta-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.footer-v82-btn{
    min-width:190px;
    min-height:50px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    letter-spacing:.08em;
    font-weight:900;
    transition:all .2s ease;
}

.footer-v82-btn-light{
    background:#fff;
    color:#021336;
    border:1px solid #fff;
}

.footer-v82-btn-light:hover{
    background:#00A7B5;
    border-color:#00A7B5;
    color:#fff;
}

.footer-v82-btn-outline{
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.02);
}

.footer-v82-btn-outline:hover{
    border-color:#00A7B5;
    background:rgba(0,167,181,.08);
}

.footer-v82-main{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(360px,.95fr) minmax(0,1.35fr);
    gap:70px;
    max-width:1760px;
    margin:0 auto;
    padding:48px 5.5vw 46px;
}

.footer-v82-brand{
    max-width:430px;
}

.footer-v82-logo-link{
    display:inline-flex;
    align-items:center;
    margin-bottom:20px;
}

.footer-v82-logo-link img{
    display:block;
    width:auto;
    height:82px;
    max-width:250px;
    object-fit:contain;
    filter:brightness(0) invert(1);
    opacity:.96;
}

.footer-v82-brand-eyebrow{
    display:block;
    margin-bottom:10px;
    color:#55D1DA;
    font-size:8px;
    line-height:1;
    letter-spacing:.16em;
    font-weight:900;
}

.footer-v82-brand h3{
    margin:0;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:30px;
    line-height:1.08;
    font-weight:500;
}

.footer-v82-brand p{
    margin:14px 0 0;
    max-width:410px;
    color:rgba(255,255,255,.54);
    font-size:10px;
    line-height:1.72;
}

.footer-v82-brand>strong{
    display:block;
    margin-top:18px;
    color:rgba(255,255,255,.76);
    font-size:8px;
    letter-spacing:.05em;
}

.footer-v82-nav{
    display:grid;
    grid-template-columns:1.25fr .85fr .95fr .75fr;
    gap:32px;
    padding-top:8px;
}

.footer-v82-col{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.footer-v82-col>span{
    margin-bottom:14px;
    color:#55D1DA;
    font-size:8px;
    line-height:1;
    letter-spacing:.15em;
    font-weight:900;
}

.footer-v82-col>a{
    position:relative;
    margin:0 0 10px;
    color:rgba(255,255,255,.68);
    text-decoration:none;
    font-size:9px;
    line-height:1.4;
    transition:color .18s ease,transform .18s ease;
}

.footer-v82-col>a:hover{
    color:#fff;
    transform:translateX(3px);
}

.footer-v82-languages>div{
    display:flex;
    gap:7px;
}

.footer-v82-languages a{
    width:38px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    color:rgba(255,255,255,.65);
    text-decoration:none;
    font-size:8px;
    font-weight:800;
}

.footer-v82-languages a:hover,
.footer-v82-languages a.current{
    border-color:#00A7B5;
    background:#00A7B5;
    color:#fff;
}

.footer-v82-bottom{
    position:relative;
    z-index:2;
    max-width:1760px;
    margin:0 auto;
    padding:20px 5.5vw 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-v82-bottom>div:first-child{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    color:rgba(255,255,255,.34);
    font-size:7px;
    line-height:1.4;
}

.footer-v82-signature{
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
}

.footer-v82-signature>span{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(93,209,217,.45);
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:18px;
}

.footer-v82-signature strong{
    font-size:10px;
    letter-spacing:.20em;
    font-weight:500;
}

.footer-v82-signature small{
    color:#55D1DA;
    font-size:5px;
    letter-spacing:.14em;
}

.footer-v82-watermark{
    position:absolute;
    right:-30px;
    bottom:-110px;
    z-index:1;
    color:rgba(255,255,255,.018);
    font-family:Georgia,'Times New Roman',serif;
    font-size:360px;
    line-height:1;
    pointer-events:none;
}

@media(max-width:1100px){
    .footer-v82-cta{
        grid-template-columns:1fr;
    }

    .footer-v82-main{
        grid-template-columns:1fr;
        gap:40px;
    }

    .footer-v82-nav{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .footer-v82-cta-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .footer-v82-btn{
        width:100%;
        box-sizing:border-box;
    }

    .footer-v82-nav{
        grid-template-columns:1fr 1fr;
        gap:28px 18px;
    }

    .footer-v82-bottom{
        align-items:flex-start;
        flex-direction:column;
    }

    .footer-v82-logo-link img{
        height:68px;
    }
}

html[dir="rtl"] body .footer-v82-col>a:hover{
    transform:translateX(-3px);
}


/* =========================================================
   V83 — HOMEPAGE FINALIZATION
   Kaizen Learning Week + compact next opportunities
   ========================================================= */

.home-learning-week{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(320px,.78fr) minmax(0,1.55fr);
    gap:0;
    margin:0;
    padding:0;
    background:#021336;
    border-top:1px solid rgba(93,209,217,.20);
    color:#fff;
}

.home-learning-week::after{
    content:"K";
    position:absolute;
    right:-34px;
    bottom:-150px;
    color:rgba(255,255,255,.022);
    font-family:Georgia,'Times New Roman',serif;
    font-size:390px;
    line-height:1;
    pointer-events:none;
}

.home-learning-week-intro{
    position:relative;
    z-index:2;
    padding:58px 48px 54px 5.5vw;
    background:
        linear-gradient(135deg,rgba(0,167,181,.13),transparent 62%);
    border-right:1px solid rgba(255,255,255,.10);
}

.home-learning-week-intro>span,
.home-next-opportunities-head>div>span{
    display:block;
    margin-bottom:12px;
    color:#55D1DA;
    font-size:8px;
    line-height:1;
    letter-spacing:.18em;
    font-weight:900;
}

.home-learning-week-intro h2{
    margin:0;
    max-width:520px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:38px;
    line-height:1.07;
    font-weight:500;
}

.home-learning-week-intro p{
    margin:16px 0 0;
    max-width:520px;
    color:rgba(255,255,255,.62);
    font-size:10px;
    line-height:1.72;
}

.home-learning-week-intro>a{
    width:max-content;
    min-width:190px;
    min-height:48px;
    margin-top:26px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    background:#fff;
    color:#021336;
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    letter-spacing:.08em;
    font-weight:900;
    transition:background .18s ease,color .18s ease;
}

.home-learning-week-intro>a:hover{
    background:#00A7B5;
    color:#fff;
}

.home-learning-week-steps{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.home-learning-week-step{
    position:relative;
    min-height:250px;
    padding:34px 34px 32px;
    display:flex;
    flex-direction:column;
    color:#fff;
    text-decoration:none;
    border-right:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:background .2s ease;
}

.home-learning-week-step:hover{
    background:rgba(0,167,181,.065);
}

.home-learning-week-step-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.home-learning-week-step-top>span{
    color:rgba(255,255,255,.18);
    font-family:Georgia,'Times New Roman',serif;
    font-size:28px;
    font-weight:500;
}

.home-learning-week-step-top>div{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(85,209,218,.28);
    background:rgba(0,167,181,.055);
}

.home-learning-week-step-top svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:#55D1DA;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.home-learning-week-step h3{
    margin:28px 0 9px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:21px;
    line-height:1.17;
    font-weight:500;
}

.home-learning-week-step p{
    margin:0;
    max-width:430px;
    color:rgba(255,255,255,.52);
    font-size:9px;
    line-height:1.65;
}

.home-learning-week-step>strong{
    margin-top:auto;
    padding-top:20px;
    color:#55D1DA;
    font-size:16px;
    font-weight:400;
}

/* Compact commercial re-entry after the concept explanation */
.home-next-opportunities{
    padding:52px 5.5vw 58px;
    background:#F7FAFB;
    border-bottom:1px solid #DCE5E7;
}

.home-next-opportunities-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:24px;
}

.home-next-opportunities-head h2{
    margin:0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:32px;
    line-height:1.08;
    font-weight:500;
}

.home-next-opportunities-head p{
    margin:9px 0 0;
    color:#697980;
    font-size:9px;
    line-height:1.55;
}

.home-next-opportunities-head>a{
    flex:0 0 auto;
    padding-bottom:7px;
    border-bottom:2px solid #00A7B5;
    color:#021336;
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    letter-spacing:.07em;
    font-weight:900;
}

.home-next-opportunities-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

/* Existing session card component is reused, only constrained here */
.home-next-opportunities-grid .session-card{
    min-width:0;
    height:100%;
}

.home-contact-anchor{
    width:0;
    height:0;
    overflow:hidden;
}

@media(max-width:1100px){
    .home-learning-week{
        grid-template-columns:1fr;
    }

    .home-learning-week-intro{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.10);
        padding-right:5.5vw;
    }

    .home-next-opportunities-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:720px){
    .home-learning-week-steps{
        grid-template-columns:1fr;
    }

    .home-learning-week-step{
        min-height:220px;
    }

    .home-next-opportunities-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .home-next-opportunities-grid{
        grid-template-columns:1fr;
    }
}

html[dir="rtl"] body .home-learning-week-intro{
    padding-left:48px;
    padding-right:5.5vw;
    border-right:0;
    border-left:1px solid rgba(255,255,255,.10);
}


/* =========================================================
   V84 — TRUE HOMEPAGE LOWER-HALF REDESIGN
   Everything below Learn in Europe is rebuilt as one premium narrative.
   ========================================================= */

.home-difference-v84{
    background:#fff;
    padding:72px 5.5vw 0;
    border-top:1px solid #E4EAEC;
}

.home-difference-v84-head{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
    gap:70px;
    align-items:end;
    max-width:1540px;
    margin:0 auto 38px;
}

.home-difference-v84-head span,
.home-programmes-v84-head span,
.home-corporate-v84-copy>span,
.home-journey-v84-head>span,
.home-next-v84-head>div>span{
    display:block;
    margin-bottom:11px;
    color:#00A7B5;
    font-size:8px;
    line-height:1;
    letter-spacing:.18em;
    font-weight:900;
}

.home-difference-v84-head h2,
.home-programmes-v84-head h2,
.home-next-v84-head h2{
    margin:0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    line-height:1.05;
    font-weight:500;
}

.home-difference-v84-head p,
.home-programmes-v84-head p{
    margin:0;
    color:#63757C;
    font-size:10px;
    line-height:1.75;
}

.home-difference-v84-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    max-width:1540px;
    margin:0 auto;
    border:1px solid #DDE5E7;
}

.home-difference-v84-grid article{
    min-height:210px;
    padding:26px 24px;
    border-right:1px solid #E3E9EB;
    background:linear-gradient(180deg,#fff,#FBFCFC);
}

.home-difference-v84-grid article:last-child{border-right:0}

.home-difference-v84-grid article>span{
    color:#CBD5D9;
    font-family:Georgia,'Times New Roman',serif;
    font-size:24px;
}

.home-difference-v84-grid h3{
    margin:35px 0 9px;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:17px;
    font-weight:500;
}

.home-difference-v84-grid p{
    margin:0;
    color:#6A7B82;
    font-size:8px;
    line-height:1.65;
}

.home-difference-v84-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,.72fr)) minmax(360px,1.35fr);
    max-width:1540px;
    margin:28px auto 0;
    background:#021336;
    color:#fff;
}

.home-difference-v84-stats>div{
    min-height:100px;
    padding:20px 22px;
    display:flex;
    align-items:center;
    gap:12px;
    border-right:1px solid rgba(255,255,255,.12);
}

.home-difference-v84-stats strong{
    font-family:Georgia,'Times New Roman',serif;
    font-size:26px;
    font-weight:500;
}

.home-difference-v84-stats span{
    color:rgba(255,255,255,.62);
    font-size:8px;
    line-height:1.35;
}

.home-difference-v84-stats blockquote{
    margin:0;
    padding:20px 25px;
    display:flex;
    align-items:center;
    background:#00A7B5;
    color:#fff;
    font-size:9px;
    line-height:1.55;
}

/* Programmes */
.home-programmes-v84{
    padding:74px 5.5vw 78px;
    background:#F5F8F9;
}

.home-programmes-v84-head{
    max-width:1540px;
    margin:0 auto 32px;
    display:grid;
    grid-template-columns:1fr .72fr;
    gap:60px;
    align-items:end;
}

.home-programmes-v84-head>div:last-child{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
}

.home-programmes-v84-head a{
    color:#021336;
    text-decoration:none;
    border-bottom:2px solid #00A7B5;
    padding-bottom:5px;
    font-size:8px;
    text-transform:uppercase;
    font-weight:900;
    letter-spacing:.08em;
}

.home-programmes-v84-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    max-width:1540px;
    margin:0 auto;
}

.home-programmes-v84-grid>a{
    position:relative;
    min-height:320px;
    padding:28px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid #DCE5E7;
    text-decoration:none;
    color:#021336;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.home-programmes-v84-grid>a:nth-child(1){border-top:4px solid #00A7B5}
.home-programmes-v84-grid>a:nth-child(2){border-top:4px solid #FF4D3F}
.home-programmes-v84-grid>a:nth-child(3){border-top:4px solid #173A73}

.home-programmes-v84-grid>a:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 46px rgba(2,19,54,.08);
    border-color:#C7D6DA;
}

.home-programmes-v84-grid>a>span{
    color:#D1DBDE;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
}

.home-programmes-v84-symbol{
    position:absolute;
    right:20px;
    top:28px;
    color:rgba(2,19,54,.035);
    font-family:Georgia,'Times New Roman',serif;
    font-size:130px;
    line-height:1;
}

.home-programmes-v84-grid h3{
    margin:72px 0 11px;
    max-width:360px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:24px;
    line-height:1.12;
    font-weight:500;
}

.home-programmes-v84-grid p{
    margin:0;
    max-width:410px;
    color:#67787F;
    font-size:9px;
    line-height:1.65;
}

.home-programmes-v84-grid strong{
    margin-top:auto;
    padding-top:25px;
    color:#008F9A;
    font-size:8px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* Corporate */
.home-corporate-v84{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(460px,.95fr);
    gap:70px;
    margin:0;
    padding:72px 5.5vw;
    background:
        radial-gradient(circle at 88% 50%,rgba(255,77,63,.12),transparent 24%),
        linear-gradient(135deg,#021A3E,#010E28);
    color:#fff;
}

.home-corporate-v84-copy{
    position:relative;
    z-index:2;
    max-width:660px;
}

.home-corporate-v84-copy h2{
    margin:0;
    font-family:Georgia,'Times New Roman',serif;
    font-size:43px;
    line-height:1.06;
    font-weight:500;
}

.home-corporate-v84-copy p{
    margin:17px 0 0;
    max-width:610px;
    color:rgba(255,255,255,.62);
    font-size:10px;
    line-height:1.75;
}

.home-corporate-v84-copy a{
    width:max-content;
    min-width:235px;
    min-height:50px;
    margin-top:28px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#FF4D3F;
    color:#fff;
    text-decoration:none;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-weight:900;
}

.home-corporate-v84-features{
    position:relative;
    z-index:2;
    border-top:1px solid rgba(255,255,255,.12);
}

.home-corporate-v84-features article{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:18px;
    padding:23px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.home-corporate-v84-features article>span{
    color:#55D1DA;
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
}

.home-corporate-v84-features h3{
    margin:0 0 5px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:18px;
    font-weight:500;
}

.home-corporate-v84-features p{
    margin:0;
    color:rgba(255,255,255,.52);
    font-size:8px;
    line-height:1.6;
}

.home-corporate-v84-orb{
    position:absolute;
    right:-50px;
    bottom:-90px;
    width:260px;
    height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#FF806B,#FF4D3F);
    color:rgba(255,255,255,.20);
    font-family:Georgia,'Times New Roman',serif;
    font-size:120px;
    box-shadow:0 0 80px rgba(255,77,63,.16);
}

/* Learning week */
.home-journey-v84{
    padding:78px 5.5vw;
    background:#fff;
}

.home-journey-v84-head{
    max-width:950px;
    margin:0 auto 46px;
    text-align:center;
}

.home-journey-v84-head h2{
    margin:0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:43px;
    line-height:1.06;
    font-weight:500;
}

.home-journey-v84-head p{
    margin:15px auto 0;
    max-width:760px;
    color:#687980;
    font-size:10px;
    line-height:1.7;
}

.home-journey-v84-track{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:1540px;
    margin:0 auto;
    border-top:1px solid #DCE5E7;
    border-bottom:1px solid #DCE5E7;
}

.home-journey-v84-track>a{
    position:relative;
    min-height:235px;
    padding:30px 24px 28px;
    color:#021336;
    text-decoration:none;
    border-right:1px solid #E1E8EA;
}

.home-journey-v84-track>a:last-child{border-right:0}

.home-journey-v84-track>a>span{
    color:#C9D5D9;
    font-family:Georgia,'Times New Roman',serif;
    font-size:24px;
}

.home-journey-v84-track i{
    display:block;
    width:34px;
    height:3px;
    margin:21px 0 25px;
    background:#00A7B5;
}

.home-journey-v84-track>a:nth-child(3) i{background:#FF4D3F}

.home-journey-v84-track h3{
    margin:0 0 9px;
    font-family:Georgia,'Times New Roman',serif;
    font-size:19px;
    font-weight:500;
}

.home-journey-v84-track p{
    margin:0;
    color:#6C7C82;
    font-size:8px;
    line-height:1.65;
}

.home-journey-v84-track strong{
    position:absolute;
    right:24px;
    bottom:25px;
    color:#00A7B5;
    font-size:16px;
}

/* Next sessions */
.home-next-v84{
    padding:66px 5.5vw 70px;
    background:#F5F8F9;
    border-top:1px solid #E1E8EA;
}

.home-next-v84-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    max-width:1540px;
    margin:0 auto 28px;
}

.home-next-v84-head h2{
    font-size:38px;
}

.home-next-v84-head p{
    margin:10px 0 0;
    color:#6B7B82;
    font-size:9px;
}

.home-next-v84-head>a{
    padding-bottom:6px;
    border-bottom:2px solid #00A7B5;
    color:#021336;
    text-decoration:none;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.home-next-v84-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    max-width:1540px;
    margin:0 auto;
}

.home-next-v84-grid .session-card{
    min-width:0;
    height:100%;
}

@media(max-width:1120px){
    .home-difference-v84-grid{grid-template-columns:repeat(2,1fr)}
    .home-difference-v84-grid article{border-bottom:1px solid #E3E9EB}
    .home-difference-v84-stats{grid-template-columns:repeat(2,1fr)}
    .home-difference-v84-stats blockquote{grid-column:1/-1}
    .home-corporate-v84{grid-template-columns:1fr}
    .home-journey-v84-track{grid-template-columns:repeat(2,1fr)}
    .home-next-v84-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
    .home-difference-v84-head,
    .home-programmes-v84-head{grid-template-columns:1fr;gap:22px}
    .home-difference-v84-grid,
    .home-programmes-v84-grid,
    .home-journey-v84-track,
    .home-next-v84-grid{grid-template-columns:1fr}
    .home-difference-v84-stats{grid-template-columns:1fr}
    .home-corporate-v84{padding-top:55px;padding-bottom:55px}
    .home-next-v84-head{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   V87 — COMPACT "THE KAIZEN LEARNING EXPERIENCE" CARDS
   Reduce the unnecessary empty white space inside the 6 cards.
   ========================================================= */

.home-learning-experience .premium-experience-grid{
    align-items:stretch!important;
}

.home-learning-experience .premium-experience-card,
.home-learning-experience .home-experience-card{
    min-height:0!important;
    height:auto!important;
    padding-bottom:18px!important;
}

/* The cards in the current markup use divs inside the grid;
   force their content-driven height instead of inherited fixed height. */
.home-learning-experience .premium-experience-grid > *{
    min-height:118px!important;
    height:auto!important;
    padding-top:18px!important;
    padding-bottom:16px!important;
    box-sizing:border-box!important;
}

/* Keep the decorative circle, but stop it from visually requiring extra height. */
.home-learning-experience .premium-experience-grid > *::after{
    bottom:-34px!important;
}

/* Slightly tighter vertical rhythm inside each card. */
.home-learning-experience .premium-experience-grid h3{
    margin-top:6px!important;
    margin-bottom:5px!important;
}

.home-learning-experience .premium-experience-grid p{
    margin-bottom:0!important;
}

@media(max-width:900px){
    .home-learning-experience .premium-experience-grid > *{
        min-height:110px!important;
    }
}


/* =========================================================
   V88 — HOMEPAGE UPCOMING: 5 CARDS IN ONE DESKTOP ROW
   ========================================================= */

.home-upcoming-sessions .home-sessions-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:9px!important;
}

.home-upcoming-sessions .home-sessions-grid .session-card{
    min-width:0!important;
}

/* One clear CTA below the five cards */
.home-sessions-bottom-cta-v88{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    margin-top:34px!important;
    padding:0!important;
}

.home-sessions-explore-all{
    width:min(650px,92vw);
    min-height:76px;
    padding:0 24px 0 30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    background:#021336;
    border:1px solid #021336;
    color:#fff;
    text-decoration:none;
    box-shadow:0 18px 42px rgba(2,19,54,.12);
    transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.home-sessions-explore-all:hover{
    transform:translateY(-3px);
    background:#00A7B5;
    border-color:#00A7B5;
}

.home-sessions-explore-all>span{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.home-sessions-explore-all small{
    color:#62D7DF;
    font-size:7px;
    line-height:1;
    letter-spacing:.17em;
    font-weight:900;
}

.home-sessions-explore-all strong{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:21px;
    line-height:1.1;
    font-weight:500;
}

.home-sessions-explore-all svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:#fff;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* =========================================================
   V88 — ALL SESSIONS DIRECTORY
   Keeps the existing dynamic filters: q, city, month, category.
   ========================================================= */

.sessions-directory-intro-v88{
    padding:48px 4vw 18px;
    background:#F6F9FA;
}

.sessions-directory-intro-v88>span{
    display:block;
    margin-bottom:9px;
    color:#00A7B5;
    font-size:8px;
    line-height:1;
    letter-spacing:.17em;
    font-weight:900;
}

.sessions-directory-intro-v88 h2{
    margin:0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:32px;
    line-height:1.08;
    font-weight:500;
}

.sessions-directory-intro-v88 p{
    margin:9px 0 0;
    color:#697A81;
    font-size:9px;
    line-height:1.55;
}

.sessions-filter-shell-v27{
    background:#F6F9FA!important;
}

@media(max-width:1500px){
    .home-upcoming-sessions .home-sessions-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}
@media(max-width:950px){
    .home-upcoming-sessions .home-sessions-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:620px){
    .home-upcoming-sessions .home-sessions-grid{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V89 — LEARNING PORTFOLIO TYPOGRAPHY SCALE
   Keep the existing card design, only improve readability.
   ========================================================= */

.home-programmes-v84-grid>a{
    padding:32px 30px 28px!important;
}

/* 01 / 02 / 03 */
.home-programmes-v84-grid>a>span{
    font-size:32px!important;
    line-height:1!important;
}

/* Large decorative L / S / E remains subtle */
.home-programmes-v84-symbol{
    font-size:142px!important;
    opacity:.82!important;
}

/* Card titles */
.home-programmes-v84-grid h3{
    margin-top:76px!important;
    margin-bottom:14px!important;
    max-width:420px!important;
    font-size:29px!important;
    line-height:1.12!important;
}

/* Main descriptive copy */
.home-programmes-v84-grid p{
    max-width:440px!important;
    font-size:13px!important;
    line-height:1.65!important;
    color:#5F7179!important;
}

/* Bottom CTA */
.home-programmes-v84-grid strong{
    padding-top:28px!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.075em!important;
}

/* Keep enough card height for the larger type without adding dead space */
.home-programmes-v84-grid>a{
    min-height:340px!important;
}

@media(max-width:1100px){
    .home-programmes-v84-grid h3{
        font-size:25px!important;
    }
    .home-programmes-v84-grid p{
        font-size:12px!important;
    }
}

@media(max-width:760px){
    .home-programmes-v84-grid>a{
        min-height:310px!important;
    }
    .home-programmes-v84-grid h3{
        margin-top:58px!important;
        font-size:24px!important;
    }
    .home-programmes-v84-grid p{
        font-size:12px!important;
    }
    .home-programmes-v84-grid strong{
        font-size:10px!important;
    }
}


/* =========================================================
   V93 — PROGRAMME PAGE: ACADEMIC DETAIL + PDF BROCHURE CTA
   ========================================================= */

.programme-audience-method-v93{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin:18px 0 28px;
}

.programme-info-v93{
    position:relative;
    min-height:230px;
    display:grid;
    grid-template-columns:54px 1fr;
    gap:18px;
    padding:26px;
    background:#fff;
    border:1px solid #DCE5E7;
    border-top:3px solid #00A7B5;
}

.programme-info-v93:nth-child(2){border-top-color:#173A73}
.programme-info-v93:nth-child(3){border-top-color:#FF4D3F}
.programme-info-v93:nth-child(4){border-top-color:#AAB9BE}

.programme-info-v93-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F0FAFA;
    border:1px solid #D6ECEE;
}

.programme-info-v93-icon svg{
    width:23px;height:23px;fill:none;stroke:#00A7B5;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
}

.programme-info-v93>div:last-child>span{
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.14em;
    font-weight:900;
}

.programme-info-v93 h2{
    margin:8px 0 11px;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
    line-height:1.15;
    font-weight:500;
}

.programme-info-v93 p{
    margin:0;
    color:#61747C;
    font-size:10px;
    line-height:1.7;
}

.programme-outline-intro-v93{
    margin:7px 0 0!important;
    max-width:720px;
    color:#6A7B82;
    font-size:9px;
    line-height:1.55;
}

.programme-receive-v93{
    margin:28px 0;
    padding:30px;
    background:#F6F9FA;
    border:1px solid #DCE5E7;
}

.programme-receive-grid-v93{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:20px;
}

.programme-receive-grid-v93 article{
    position:relative;
    min-height:150px;
    padding:18px;
    background:#fff;
    border:1px solid #DDE6E8;
}

.programme-receive-index-v93{
    position:absolute;
    right:14px;
    top:13px;
    color:#D2DDE0;
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
}

.programme-receive-icon-v93{
    width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:#EEF9FA;border:1px solid #D5ECEE;margin-bottom:25px;
}
.programme-receive-icon-v93 svg{width:21px;height:21px;fill:none;stroke:#00A7B5;stroke-width:1.35}
.programme-receive-grid-v93 strong{
    display:block;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.3;font-weight:500;
}

.programme-pdf-download-v93{
    margin-top:10px!important;
    min-height:64px!important;
    padding:12px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    background:#fff!important;
    border:1px solid #DCE5E7!important;
    color:#021336!important;
    text-decoration:none!important;
}

.programme-pdf-download-v93 small{
    display:block;
    color:#00A7B5;
    font-size:6px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.programme-pdf-download-v93 strong{
    display:block;
    color:#021336;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.programme-pdf-download-v93 svg{width:20px!important;height:20px!important;stroke:#00A7B5!important}
.programme-pdf-download-v93:hover{border-color:#00A7B5!important;background:#F3FAFA!important}

@media(max-width:950px){
    .programme-audience-method-v93{grid-template-columns:1fr}
    .programme-receive-grid-v93{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
    .programme-info-v93{grid-template-columns:1fr}
    .programme-receive-grid-v93{grid-template-columns:1fr}
}


/* =========================================================
   V96 — PROGRAMME DESTINATIONS: CITY IMAGES + OPEN CITIES
   ========================================================= */

.programme-open-cities-v96{
    margin:0 0 20px;
    padding:18px;
    border:1px solid rgba(93,209,217,.26);
    background:rgba(255,255,255,.025);
}
.programme-open-cities-v96-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:14px;
}
.programme-open-cities-v96-head span{
    display:block;margin-bottom:6px;color:#55D1DA;font-size:7px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;
}
.programme-open-cities-v96-head h3{
    margin:0;max-width:800px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.25;font-weight:500;
}
.programme-open-cities-v96-head>strong{
    color:rgba(255,255,255,.18);font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:500;
}
.programme-open-cities-v96-grid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.programme-open-city-v96{
    position:relative;min-height:145px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;
    color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.12);background:#0B2A4B;
}
.programme-open-city-v96-photo,.programme-open-city-v96-shade{position:absolute;inset:0}
.programme-open-city-v96-photo{
    background-image:var(--open-city-image);background-size:cover;background-position:center;transition:transform .28s ease;
}
.programme-open-city-v96-shade{
    background:linear-gradient(180deg,rgba(2,19,54,.12),rgba(2,19,54,.92)),linear-gradient(90deg,rgba(0,167,181,.12),transparent 60%);
}
.programme-open-city-v96-status{
    position:absolute;z-index:3;top:11px;left:11px;padding:5px 7px;background:rgba(2,19,54,.78);
    border:1px solid rgba(85,209,218,.28);color:#65D8DF;font-size:6px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;
}
.programme-open-city-v96>div,.programme-open-city-v96>strong{position:relative;z-index:3}
.programme-open-city-v96 small{color:#65D8DF;font-size:6px;letter-spacing:.12em;font-weight:900}
.programme-open-city-v96 h4{margin:4px 0 3px;font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:500}
.programme-open-city-v96 p{margin:0;color:rgba(255,255,255,.66);font-size:7px}
.programme-open-city-v96>strong{margin-top:12px;color:#fff;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.programme-open-city-v96:hover .programme-open-city-v96-photo{transform:scale(1.04)}

.destination-city-list{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;position:relative;z-index:3;
}
.destination-city-v96{
    position:relative!important;min-height:46px!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;
    padding:0!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.045)!important;
}
.destination-city-v96-photo,.destination-city-v96-shade{position:absolute;inset:0;display:block}
.destination-city-v96-photo{
    background-image:var(--destination-city-image);background-size:cover;background-position:center;opacity:.74;
}
.destination-city-v96-shade{background:linear-gradient(90deg,rgba(2,19,54,.96),rgba(2,19,54,.42))}
.destination-city-v96-name{
    position:relative;z-index:3;width:100%;padding:10px 9px;display:flex;align-items:center;gap:6px;color:#fff;font-size:7px;line-height:1.1;font-weight:700;
}
.destination-city-v96-name i{
    width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#55D1DA;box-shadow:0 0 0 3px rgba(85,209,218,.12);
}
.destination-country-card{min-height:195px!important}

@media(max-width:1200px){
    .programme-open-cities-v96-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .programme-open-cities-v96-grid,.destination-city-list{grid-template-columns:1fr!important}
}


/* =========================================================
   V97 — PREMIUM SESSION REGISTRATION
   Central destination for all session cards.
   ========================================================= */

.session-card-register-link{
    background:#021336!important;
    color:#fff!important;
}
.session-card-register-link:hover{
    background:#00A7B5!important;
    color:#fff!important;
}

.registration-page-v97{background:#F4F7F8}
.registration-v97{min-height:70vh}

.registration-v97-head{
    padding:56px 5.5vw 34px;
    background:#fff;
    border-bottom:1px solid #DCE5E7;
}
.registration-v97-head>span,
.registration-summary-v97-kicker{
    display:block;margin-bottom:9px;color:#00A7B5;font-size:8px;line-height:1;letter-spacing:.17em;font-weight:900;
}
.registration-v97-head h1{
    margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:42px;line-height:1.06;font-weight:500;
}
.registration-v97-head p{
    max-width:760px;margin:12px 0 0;color:#63767E;font-size:10px;line-height:1.7;
}

.registration-v97-layout{
    display:grid;
    grid-template-columns:minmax(330px,.72fr) minmax(0,1.45fr);
    gap:24px;
    padding:32px 5.5vw 60px;
    max-width:1800px;
    margin:0 auto;
}

.registration-summary-v97{
    align-self:start;
    position:sticky;
    top:22px;
    background:#021336;
    color:#fff;
    border-top:3px solid #00A7B5;
    box-shadow:0 18px 45px rgba(2,19,54,.10);
}

.registration-summary-v97-photo{
    position:relative;
    min-height:245px;
    padding:24px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    background-size:cover;
    background-position:center;
    background-color:#0B2A4B;
}
.registration-summary-v97-photo>span{
    position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,19,54,.18),rgba(2,19,54,.96));
}
.registration-summary-v97-photo>div{position:relative;z-index:2}
.registration-summary-v97-photo small{
    display:block;margin-bottom:8px;color:#65D8DF;font-size:7px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;
}
.registration-summary-v97-photo h2{
    margin:0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.12;font-weight:500;
}

.registration-summary-v97-body{padding:25px}
.registration-summary-v97-body dl{margin:18px 0 0}
.registration-summary-v97-body dl>div{
    display:grid;grid-template-columns:110px 1fr;gap:15px;padding:13px 0;border-top:1px solid rgba(255,255,255,.10);
}
.registration-summary-v97-body dt{
    color:#65D8DF;font-size:7px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:900;
}
.registration-summary-v97-body dd{margin:0;color:#fff;font-size:10px;line-height:1.45}
.registration-summary-v97-body dd strong{font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:500}
.registration-summary-v97-body dd small{color:rgba(255,255,255,.55);font-size:7px}

.registration-group-note-v97{
    margin:15px 0;padding:11px 12px;background:rgba(0,167,181,.10);border-left:2px solid #00A7B5;
    color:rgba(255,255,255,.75);font-size:8px;line-height:1.5;
}

.registration-included-v97{
    margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);
}
.registration-included-v97>span,.registration-actions-v97>span{
    display:block;margin-bottom:11px;color:#65D8DF;font-size:7px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;
}
.registration-included-v97 ul{list-style:none;padding:0;margin:0}
.registration-included-v97 li{margin:8px 0;color:rgba(255,255,255,.70);font-size:8px;line-height:1.4}

.registration-actions-v97{
    margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);
}
.registration-actions-v97 a{
    display:flex;align-items:center;justify-content:space-between;padding:10px 0;
    color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08);
    font-size:8px;font-weight:800;letter-spacing:.04em;
}
.registration-actions-v97 a:hover{color:#65D8DF}

.registration-form-shell-v97{
    background:#fff;border:1px solid #DCE5E7;padding:30px;
}
.registration-errors-v97{
    margin-bottom:20px;padding:14px 16px;background:#FFF2F0;border-left:3px solid #FF4D3F;
}
.registration-errors-v97 p{margin:0;color:#8C2F28;font-size:9px}

.registration-form-section-v97{
    padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #E0E7E9;
}
.registration-form-section-v97-head{
    display:flex;align-items:flex-start;gap:15px;margin-bottom:20px;
}
.registration-form-section-v97-head>span{
    color:#CAD6DA;font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1;
}
.registration-form-section-v97-head h2{
    margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.15;font-weight:500;
}
.registration-form-section-v97-head p{margin:6px 0 0;color:#87959A;font-size:7px}

.registration-fields-v97{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;
}
.registration-field-v97{display:flex;flex-direction:column;gap:7px}
.registration-field-v97.wide{grid-column:1/-1}
.registration-field-v97.small{max-width:180px}
.registration-field-v97>span{
    color:#425860;font-size:8px;line-height:1.2;font-weight:800;
}
.registration-field-v97 input,
.registration-field-v97 select,
.registration-field-v97 textarea{
    width:100%;box-sizing:border-box;border:1px solid #CBD7DB;background:#FBFCFC;color:#021336;
    padding:12px 13px;min-height:44px;outline:none;font:inherit;font-size:10px;transition:border-color .18s ease,background .18s ease;
}
.registration-field-v97 textarea{resize:vertical;min-height:105px}
.registration-field-v97 input:focus,
.registration-field-v97 select:focus,
.registration-field-v97 textarea:focus{border-color:#00A7B5;background:#fff}

.registration-check-v97{
    display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;color:#52676F;font-size:9px;line-height:1.5;cursor:pointer;
}
.registration-check-v97 input{margin-top:2px;accent-color:#00A7B5}
.booking-contact-fields-v97.is-hidden{display:none!important}
.registration-terms-v97{padding:16px;background:#F5F9FA;border:1px solid #DCE5E7}

.registration-submit-v97{
    display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.registration-submit-v97 p{max-width:450px;margin:0;color:#819096;font-size:8px;line-height:1.5}
.registration-submit-v97 button{
    min-width:260px;min-height:58px;padding:0 18px;border:0;background:#021336;color:#fff;
    display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;
    text-transform:uppercase;font-size:8px;letter-spacing:.08em;font-weight:900;
}
.registration-submit-v97 button:hover{background:#00A7B5}
.registration-submit-v97 button b{font-size:18px;font-weight:400}

.registration-success-v97,
.registration-v97-unavailable{
    max-width:850px;margin:70px auto;padding:58px;background:#fff;border-top:3px solid #00A7B5;text-align:center;
    box-shadow:0 20px 50px rgba(2,19,54,.08);
}
.registration-success-v97-mark{
    width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:#E8F8F9;color:#00A7B5;font-size:28px;
}
.registration-success-v97>span,.registration-v97-unavailable>span{
    color:#00A7B5;font-size:8px;letter-spacing:.16em;font-weight:900;
}
.registration-success-v97 h1,.registration-v97-unavailable h1{
    margin:12px 0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:35px;font-weight:500;
}
.registration-success-v97 p{max-width:620px;margin:0 auto;color:#63767E;font-size:10px;line-height:1.7}
.registration-success-v97>div:not(.registration-success-v97-mark){
    width:max-content;margin:25px auto;padding:13px 20px;background:#F5F9FA;border:1px solid #DCE5E7;
}
.registration-success-v97>div small{display:block;color:#7A8D94;font-size:7px;text-transform:uppercase}
.registration-success-v97>div strong{display:block;margin-top:4px;color:#021336;font-family:Georgia,serif;font-size:19px}
.registration-success-v97>a,.registration-v97-unavailable>a{
    display:inline-block;margin-top:24px;color:#021336;text-decoration:none;border-bottom:2px solid #00A7B5;padding-bottom:5px;
    font-size:8px;text-transform:uppercase;font-weight:900;
}

html[dir="rtl"] body .registration-group-note-v97{border-left:0;border-right:2px solid #00A7B5}

@media(max-width:1050px){
    .registration-v97-layout{grid-template-columns:1fr}
    .registration-summary-v97{position:relative;top:auto}
}
@media(max-width:680px){
    .registration-v97-head{padding-top:40px}
    .registration-v97-layout{padding-left:18px;padding-right:18px}
    .registration-form-shell-v97{padding:20px}
    .registration-fields-v97{grid-template-columns:1fr}
    .registration-field-v97.wide{grid-column:auto}
    .registration-submit-v97{align-items:stretch;flex-direction:column}
    .registration-submit-v97 button{width:100%}
}


/* =========================================================
   V98 — SESSION CARD REGISTER CTA
   Make the registration action visually unmistakable.
   ========================================================= */

.session-card .session-card-register-link{
    position:relative!important;
    width:100%!important;
    min-height:54px!important;
    margin-top:16px!important;
    padding:0 18px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;

    background:#021336!important;
    border:1px solid #021336!important;
    border-left:4px solid #FF4D3F!important;

    color:#fff!important;
    text-decoration:none!important;
    text-transform:uppercase!important;

    font-size:11px!important;
    line-height:1!important;
    letter-spacing:.07em!important;
    font-weight:900!important;

    box-sizing:border-box!important;
    box-shadow:0 10px 24px rgba(2,19,54,.10)!important;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease!important;
}

.session-card .session-card-register-link svg{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
    fill:none!important;
    stroke:#55D1DA!important;
    stroke-width:1.6!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    transition:transform .2s ease,stroke .2s ease!important;
}

.session-card .session-card-register-link:hover{
    background:#00A7B5!important;
    border-color:#00A7B5!important;
    border-left-color:#FF4D3F!important;
    color:#fff!important;
    transform:translateY(-2px)!important;
    box-shadow:0 14px 30px rgba(0,167,181,.18)!important;
}

.session-card .session-card-register-link:hover svg{
    stroke:#fff!important;
    transform:translateX(3px)!important;
}

/* Keep enough room so the CTA doesn't look squeezed against the card edge */
.session-card .session-card-content{
    padding-bottom:16px!important;
}

/* Slightly taller CTA on large desktop cards */
@media(min-width:1200px){
    .session-card .session-card-register-link{
        min-height:58px!important;
        font-size:11.5px!important;
        padding-left:20px!important;
        padding-right:20px!important;
    }
}

/* Mobile stays clearly tappable */
@media(max-width:700px){
    .session-card .session-card-register-link{
        min-height:56px!important;
        font-size:10px!important;
    }
}


/* =========================================================
   V99 — REGISTRATION SUMMARY TYPOGRAPHY
   Make the left-side learning-week summary easier to read.
   ========================================================= */

.registration-summary-v97-kicker{
    font-size:10px!important;
    letter-spacing:.16em!important;
    margin-bottom:14px!important;
}

.registration-summary-v97-body{
    padding:30px!important;
}

/* Labels: Destination / Dates / Duration / Launch rate */
.registration-summary-v97-body dt{
    font-size:10px!important;
    line-height:1.25!important;
    letter-spacing:.09em!important;
}

/* Main values */
.registration-summary-v97-body dd{
    font-size:14px!important;
    line-height:1.45!important;
}

/* Price */
.registration-summary-v97-body dd strong{
    font-size:27px!important;
    line-height:1!important;
}

/* "per participant" */
.registration-summary-v97-body dd small{
    font-size:9px!important;
}

/* Give each summary row more breathing room */
.registration-summary-v97-body dl>div{
    grid-template-columns:125px 1fr!important;
    gap:18px!important;
    padding:17px 0!important;
}

/* Corporate advantage */
.registration-group-note-v97{
    margin:19px 0!important;
    padding:15px 16px!important;
    font-size:10px!important;
    line-height:1.55!important;
}

/* Included with the programme / Programme resources */
.registration-included-v97>span,
.registration-actions-v97>span{
    font-size:9px!important;
    letter-spacing:.14em!important;
    margin-bottom:14px!important;
}

/* Included list */
.registration-included-v97 li{
    margin:11px 0!important;
    font-size:11px!important;
    line-height:1.45!important;
}

/* Resource links */
.registration-actions-v97 a{
    min-height:44px!important;
    padding:12px 0!important;
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:800!important;
}

/* Stronger visual hierarchy between the two blocks */
.registration-included-v97,
.registration-actions-v97{
    margin-top:25px!important;
    padding-top:22px!important;
}

/* Slightly larger programme title in the image header too */
.registration-summary-v97-photo small{
    font-size:9px!important;
}
.registration-summary-v97-photo h2{
    font-size:31px!important;
    line-height:1.1!important;
}

@media(max-width:680px){
    .registration-summary-v97-body{
        padding:22px!important;
    }
    .registration-summary-v97-body dl>div{
        grid-template-columns:105px 1fr!important;
    }
    .registration-summary-v97-body dd{
        font-size:13px!important;
    }
    .registration-summary-v97-body dd strong{
        font-size:23px!important;
    }
}


/* =========================================================
   V100 — REGISTRATION LIVE QUOTE
   First participant 100%, each additional participant -15%.
   Displayed prices are VAT-inclusive.
   ========================================================= */

.registration-quote-v100{
    margin:22px 0 8px;
    border:1px solid rgba(85,209,218,.22);
    background:rgba(255,255,255,.035);
}

.registration-quote-v100-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:16px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.registration-quote-v100-head span{
    display:block;
    color:#65D8DF;
    font-size:9px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:900;
}

.registration-quote-v100-head p{
    margin:6px 0 0;
    max-width:300px;
    color:rgba(255,255,255,.58);
    font-size:9px;
    line-height:1.45;
}

.registration-quote-v100-head>strong{
    flex:0 0 auto;
    padding:5px 7px;
    border:1px solid rgba(85,209,218,.28);
    color:#65D8DF;
    font-size:7px;
    line-height:1;
    letter-spacing:.08em;
}

.registration-quote-v100-lines{
    padding:2px 16px;
}

.registration-quote-v100-lines>div{
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 16px;
    align-items:center;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.registration-quote-v100-lines span{
    color:#fff;
    font-size:11px;
    font-weight:700;
}

.registration-quote-v100-lines span em{
    display:inline-block;
    margin-left:6px;
    padding:3px 5px;
    background:#00A7B5;
    color:#fff;
    font-size:7px;
    font-style:normal;
}

.registration-quote-v100-lines small{
    grid-column:1;
    color:rgba(255,255,255,.50);
    font-size:8px;
}

.registration-quote-v100-lines>div>strong{
    grid-column:2;
    grid-row:1 / span 2;
    align-self:center;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:17px;
    font-weight:500;
}

.registration-quote-v100-saving{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:0 16px;
    padding:11px 0;
    color:#65D8DF;
    border-bottom:1px solid rgba(85,209,218,.18);
}

.registration-quote-v100-saving span{
    font-size:9px;
    font-weight:700;
}

.registration-quote-v100-saving strong{
    font-size:13px;
}

.registration-quote-v100-total{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    padding:16px;
    background:rgba(0,167,181,.10);
    border-top:1px solid rgba(85,209,218,.20);
}

.registration-quote-v100-total span{
    display:block;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:17px;
}

.registration-quote-v100-total small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.53);
    font-size:8px;
}

.registration-quote-v100-total>strong{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
    line-height:1;
    font-weight:500;
}

.registration-quote-v100 [hidden]{
    display:none!important;
}

@media(max-width:680px){
    .registration-quote-v100-total{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   V101 — PRIVATE LEARNING REQUEST
   No price. Tailored proposal workflow.
   ========================================================= */

.private-learning-route-v101{
    width:max-content;min-width:250px;min-height:54px;margin-top:24px;padding:0 18px;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
    background:#021336;color:#fff;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.08em;font-weight:900;
}
.private-learning-route-v101:hover{background:#00A7B5}

.private-learning-page-v101{background:#F4F7F8}
.private-learning-hero-v101{
    display:grid;grid-template-columns:1fr minmax(300px,.42fr);gap:50px;align-items:end;
    padding:58px 5.5vw 44px;background:#fff;border-bottom:1px solid #DCE5E7;
}
.private-learning-hero-v101>div>span{
    display:block;margin-bottom:10px;color:#00A7B5;font-size:8px;letter-spacing:.17em;font-weight:900;
}
.private-learning-hero-v101 h1{
    margin:0;max-width:820px;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:46px;line-height:1.04;font-weight:500;
}
.private-learning-hero-v101>div>p{
    max-width:780px;margin:15px 0 0;color:#61747C;font-size:10px;line-height:1.7;
}
.private-learning-hero-v101>aside{
    padding:20px 22px;border-top:3px solid #00A7B5;background:#021336;color:#fff;
}
.private-learning-hero-v101>aside span{display:block;color:#65D8DF;font-size:7px;letter-spacing:.13em;text-transform:uppercase;font-weight:900}
.private-learning-hero-v101>aside strong{display:block;margin:9px 0 6px;font-family:Georgia,serif;font-size:25px;font-weight:500}
.private-learning-hero-v101>aside p{margin:0;color:rgba(255,255,255,.62);font-size:8px;line-height:1.55}

.private-learning-layout-v101{
    display:grid;grid-template-columns:minmax(330px,.74fr) minmax(0,1.45fr);gap:24px;
    padding:32px 5.5vw 65px;max-width:1800px;margin:0 auto;
}
.private-learning-summary-v101{
    align-self:start;background:#021336;color:#fff;padding:28px;border-top:3px solid #00A7B5;
}
.private-learning-summary-kicker-v101,
.private-learning-included-v101>span,
.private-learning-resources-v101>span{
    display:block;margin-bottom:16px;color:#65D8DF;font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;
}
.private-learning-summary-v101>article{
    display:grid;grid-template-columns:44px 1fr;gap:13px;padding:16px 0;border-top:1px solid rgba(255,255,255,.10);
}
.private-learning-summary-v101>article>span{color:#65D8DF;font-family:Georgia,serif;font-size:19px}
.private-learning-summary-v101 h2{margin:0 0 5px;color:#fff;font-family:Georgia,serif;font-size:17px;font-weight:500}
.private-learning-summary-v101 p{margin:0;color:rgba(255,255,255,.58);font-size:9px;line-height:1.55}
.private-learning-included-v101,.private-learning-resources-v101{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10)}
.private-learning-included-v101 ul{list-style:none;margin:0;padding:0}
.private-learning-included-v101 li{margin:10px 0;color:rgba(255,255,255,.72);font-size:10px}
.private-learning-resources-v101 a{
    display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);
    color:#fff;text-decoration:none;font-size:10px;font-weight:800;
}
.private-learning-resources-v101 a:hover{color:#65D8DF}

.private-learning-form-shell-v101{background:#fff;border:1px solid #DCE5E7;padding:32px}
.private-learning-form-head-v101{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}
.private-learning-form-head-v101.second{margin-top:30px;padding-top:28px;border-top:1px solid #E0E7E9}
.private-learning-form-head-v101>span{color:#CAD6DA;font-family:Georgia,serif;font-size:27px}
.private-learning-form-head-v101 h2{margin:0;color:#021336;font-family:Georgia,serif;font-size:23px;font-weight:500}
.private-learning-form-head-v101 p{margin:6px 0 0;color:#87959A;font-size:8px}
.private-learning-fields-v101{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.private-learning-fields-v101 label{display:flex;flex-direction:column;gap:7px}
.private-learning-fields-v101 label.wide{grid-column:1/-1}
.private-learning-fields-v101 label>span{color:#425860;font-size:9px;font-weight:800}
.private-learning-fields-v101 input,
.private-learning-fields-v101 select,
.private-learning-fields-v101 textarea{
    width:100%;box-sizing:border-box;border:1px solid #CBD7DB;background:#FBFCFC;color:#021336;
    padding:12px 13px;min-height:45px;outline:none;font:inherit;font-size:10px;
}
.private-learning-fields-v101 textarea{resize:vertical}
.private-learning-fields-v101 input:focus,
.private-learning-fields-v101 select:focus,
.private-learning-fields-v101 textarea:focus{border-color:#00A7B5;background:#fff}

.private-learning-submit-v101{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px}
.private-learning-submit-v101 p{max-width:470px;margin:0;color:#819096;font-size:8px;line-height:1.5}
.private-learning-submit-v101 button{
    min-width:290px;min-height:60px;padding:0 20px;border:0;background:#021336;color:#fff;
    display:flex;align-items:center;justify-content:space-between;gap:28px;cursor:pointer;
    text-transform:uppercase;font-size:9px;letter-spacing:.08em;font-weight:900;
}
.private-learning-submit-v101 button:hover{background:#00A7B5}
.private-learning-submit-v101 button b{font-size:19px;font-weight:400}

.private-learning-success-v101{
    max-width:850px;margin:70px auto;padding:58px;background:#fff;border-top:3px solid #00A7B5;text-align:center;
    box-shadow:0 20px 50px rgba(2,19,54,.08);
}
.private-learning-success-v101>div{
    width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E8F8F9;color:#00A7B5;font-size:28px;
}
.private-learning-success-v101>span{color:#00A7B5;font-size:8px;letter-spacing:.16em;font-weight:900}
.private-learning-success-v101 h1{margin:12px 0;color:#021336;font-family:Georgia,serif;font-size:36px;font-weight:500}
.private-learning-success-v101 p{max-width:620px;margin:0 auto;color:#63767E;font-size:10px;line-height:1.7}
.private-learning-success-v101 aside{width:max-content;margin:24px auto;padding:13px 20px;background:#F5F9FA;border:1px solid #DCE5E7}
.private-learning-success-v101 aside small{display:block;color:#7A8D94;font-size:7px;text-transform:uppercase}
.private-learning-success-v101 aside strong{display:block;margin-top:4px;color:#021336;font-family:Georgia,serif;font-size:19px}
.private-learning-success-v101>a{display:inline-block;margin-top:22px;color:#021336;text-decoration:none;border-bottom:2px solid #00A7B5;padding-bottom:5px;font-size:8px;text-transform:uppercase;font-weight:900}

@media(max-width:1000px){
    .private-learning-hero-v101,.private-learning-layout-v101{grid-template-columns:1fr}
}
@media(max-width:680px){
    .private-learning-hero-v101{padding-left:18px;padding-right:18px}
    .private-learning-layout-v101{padding-left:18px;padding-right:18px}
    .private-learning-form-shell-v101{padding:20px}
    .private-learning-fields-v101{grid-template-columns:1fr}
    .private-learning-fields-v101 label.wide{grid-column:auto}
    .private-learning-submit-v101{align-items:stretch;flex-direction:column}
    .private-learning-submit-v101 button{width:100%}
}


/* =========================================================
   V102 — SHARED KAIZEN LEARNING EXPERIENCE
   One include used by Home + City.
   Stronger value communication + 9 included benefits.
   ========================================================= */

.shared-learning-experience-v102{
    padding:62px 5.5vw 68px;
    background:
        radial-gradient(circle at 92% 8%,rgba(0,167,181,.065),transparent 23%),
        #F3F7F8;
    border-top:1px solid #DEE7E9;
    border-bottom:1px solid #DEE7E9;
}

.shared-learning-experience-v102-top{
    max-width:1660px;
    margin:0 auto 24px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);
    gap:50px;
    align-items:end;
}

.shared-learning-experience-v102-heading>span{
    display:block;
    margin-bottom:9px;
    color:#00A7B5;
    font-size:9px;
    line-height:1;
    letter-spacing:.16em;
    font-weight:900;
}

.shared-learning-experience-v102-heading h2{
    margin:0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:38px;
    line-height:1.06;
    font-weight:500;
}

.shared-learning-experience-v102-heading p{
    max-width:780px;
    margin:11px 0 0;
    color:#62757D;
    font-size:11px;
    line-height:1.65;
}

.shared-learning-experience-v102-badge{
    min-height:82px;
    padding:14px 17px;
    display:flex;
    align-items:center;
    gap:14px;
    background:#fff;
    border:1px solid #D5E2E5;
    border-left:4px solid #00A7B5;
    box-shadow:0 14px 36px rgba(2,19,54,.055);
}

.shared-learning-experience-v102-badge>span{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#E8F8F9;
    color:#00A7B5;
    font-size:20px;
    font-weight:700;
}

.shared-learning-experience-v102-badge strong{
    display:block;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:15px;
    font-weight:500;
}

.shared-learning-experience-v102-badge small{
    display:block;
    margin-top:4px;
    color:#74868D;
    font-size:8px;
    line-height:1.45;
}

.shared-learning-experience-v102-value{
    max-width:1660px;
    margin:0 auto 14px;
    padding:23px 26px;
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:50px;
    align-items:center;
    background:#021336;
    border-top:3px solid #00A7B5;
    color:#fff;
}

.shared-learning-experience-v102-value span{
    display:block;
    margin-bottom:7px;
    color:#65D8DF;
    font-size:8px;
    line-height:1;
    letter-spacing:.16em;
    font-weight:900;
}

.shared-learning-experience-v102-value h3{
    margin:0;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:23px;
    line-height:1.15;
    font-weight:500;
}

.shared-learning-experience-v102-value p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:10px;
    line-height:1.65;
}

.shared-learning-experience-v102-grid{
    max-width:1660px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.shared-learning-experience-v102-card{
    position:relative;
    min-height:178px;
    padding:22px 20px 18px;
    display:grid;
    grid-template-columns:50px 1fr;
    column-gap:17px;
    align-items:start;
    overflow:hidden;
    background:#fff;
    border:1px solid #D8E3E6;
    border-top:2px solid #D8E3E6;
    box-shadow:0 8px 20px rgba(2,19,54,.025);
}

.shared-learning-experience-v102-card.is-highlight{
    border-top-color:#00A7B5;
    box-shadow:0 13px 30px rgba(0,167,181,.055);
}

.shared-learning-experience-v102-number{
    position:absolute;
    right:14px;
    top:13px;
    color:#D0DCDF;
    font-family:Georgia,'Times New Roman',serif;
    font-size:22px;
}

.shared-learning-experience-v102-icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#EDF8F9;
    border:1px solid #D5EBED;
}

.shared-learning-experience-v102-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:#00A7B5;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.shared-learning-experience-v102-card h3{
    margin:6px 32px 8px 0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:18px;
    line-height:1.18;
    font-weight:500;
}

.shared-learning-experience-v102-card p{
    margin:0;
    color:#65777E;
    font-size:9px;
    line-height:1.6;
}

.shared-learning-experience-v102-card>small{
    position:absolute;
    right:12px;
    bottom:11px;
    padding:4px 6px;
    background:#EAF8F9;
    border:1px solid #CDEBED;
    color:#008E99;
    font-size:6px;
    line-height:1;
    letter-spacing:.08em;
    font-weight:900;
}

.shared-learning-experience-v102-card.is-highlight:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:68px;
    height:3px;
    background:#FF4D3F;
}

@media(max-width:1100px){
    .shared-learning-experience-v102-top,
    .shared-learning-experience-v102-value{
        grid-template-columns:1fr;
        gap:20px;
    }
    .shared-learning-experience-v102-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:680px){
    .shared-learning-experience-v102{
        padding-left:18px;
        padding-right:18px;
    }
    .shared-learning-experience-v102-grid{
        grid-template-columns:1fr;
    }
    .shared-learning-experience-v102-heading h2{
        font-size:31px;
    }
}


/* =========================================================
   V103 — LEARNING EXPERIENCE PHOTO CARDS
   Replace the large icons with editorial photography.
   ========================================================= */

.shared-learning-experience-v103-card{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:hidden!important;
}

.shared-learning-experience-v103-photo{
    position:relative;
    height:150px;
    overflow:hidden;
    background-image:var(--experience-photo);
    background-size:cover;
    background-position:center;
    border-bottom:1px solid #D8E3E6;
}

.shared-learning-experience-v103-photo:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(2,19,54,.03),rgba(2,19,54,.20)),
        linear-gradient(90deg,rgba(2,19,54,.08),transparent 60%);
}

.shared-learning-experience-v103-shade{
    position:absolute;
    inset:auto 0 0 0;
    height:48%;
    background:linear-gradient(0deg,rgba(2,19,54,.50),transparent);
}

.shared-learning-experience-v103-photo .shared-learning-experience-v102-number{
    z-index:3;
    top:12px!important;
    right:13px!important;
    color:#fff!important;
    text-shadow:0 2px 8px rgba(0,0,0,.25);
    font-size:23px!important;
}

.shared-learning-experience-v103-photo>small{
    position:absolute;
    z-index:3;
    left:12px;
    bottom:11px;
    padding:5px 8px;
    background:rgba(2,19,54,.84);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-size:6px;
    line-height:1;
    letter-spacing:.10em;
    font-weight:900;
}

.shared-learning-experience-v103-copy{
    min-height:118px;
    padding:18px 18px 19px;
}

.shared-learning-experience-v103-copy h3{
    margin:0 0 8px!important;
    color:#021336!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:18px!important;
    line-height:1.16!important;
    font-weight:500!important;
}

.shared-learning-experience-v103-copy p{
    margin:0!important;
    color:#65777E!important;
    font-size:9px!important;
    line-height:1.58!important;
}

.shared-learning-experience-v103-card.is-highlight{
    border-top:0!important;
    box-shadow:0 14px 34px rgba(0,167,181,.06)!important;
}

.shared-learning-experience-v103-card.is-highlight:after{
    width:100%!important;
    height:3px!important;
    background:linear-gradient(90deg,#FF4D3F 0 17%,#00A7B5 17% 100%)!important;
}

.shared-learning-experience-v103-card:hover .shared-learning-experience-v103-photo{
    background-size:106%;
}

.shared-learning-experience-v103-photo{
    transition:background-size .28s ease;
}

@media(max-width:680px){
    .shared-learning-experience-v103-photo{
        height:185px;
    }
}


/* =========================================================
   V110 — FAQ / KAIZEN HELP CENTRE
   ========================================================= */

.faq-page-v110{background:#F3F7F8}

.faq-hero-v110{
    padding:62px 5.5vw 46px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    background:
        radial-gradient(circle at 88% 10%,rgba(0,167,181,.08),transparent 25%),
        #fff;
    border-bottom:1px solid #DCE5E7;
}
.faq-hero-v110>div>span{
    display:block;margin-bottom:10px;color:#00A7B5;font-size:8px;letter-spacing:.18em;font-weight:900;
}
.faq-hero-v110 h1{
    margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:48px;line-height:1.03;font-weight:500;
}
.faq-hero-v110 p{
    max-width:850px;margin:15px 0 0;color:#60747C;font-size:11px;line-height:1.7;
}
.faq-hero-v110>aside{
    min-width:130px;padding:19px 22px;background:#021336;color:#fff;border-top:3px solid #00A7B5;text-align:center;
}
.faq-hero-v110>aside strong{
    display:block;font-family:Georgia,serif;font-size:36px;font-weight:500;
}
.faq-hero-v110>aside span{
    display:block;margin-top:4px;color:#65D8DF;font-size:7px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;
}

.faq-shell-v110{
    max-width:1660px;margin:0 auto;padding:32px 5.5vw 62px;
}
.faq-search-v110{
    position:relative;margin-bottom:13px;
}
.faq-search-v110 input{
    width:100%;height:58px;padding:0 55px 0 18px;border:1px solid #C8D6DA;background:#fff;color:#021336;outline:none;font-size:12px;
}
.faq-search-v110 input:focus{border-color:#00A7B5}
.faq-search-v110>span{
    position:absolute;right:19px;top:50%;transform:translateY(-50%);color:#00A7B5;font-size:24px;
}
html[dir="rtl"] .faq-search-v110 input{padding-left:55px;padding-right:18px}
html[dir="rtl"] .faq-search-v110>span{right:auto;left:19px}

.faq-categories-v110{
    display:flex;gap:7px;overflow:auto;padding:0 0 18px;
}
.faq-categories-v110 button{
    flex:0 0 auto;min-height:37px;padding:0 12px;border:1px solid #D4E0E3;background:#fff;color:#455A63;
    cursor:pointer;font-size:8px;font-weight:800;letter-spacing:.03em;
}
.faq-categories-v110 button.active{
    background:#021336;border-color:#021336;color:#fff;box-shadow:inset 0 -3px 0 #00A7B5;
}

.faq-layout-v110{
    display:grid;grid-template-columns:minmax(270px,.35fr) minmax(0,1fr);gap:22px;align-items:start;
}
.faq-aside-v110{
    position:sticky;top:20px;padding:24px;background:#021336;color:#fff;border-top:3px solid #00A7B5;
}
.faq-aside-v110>span{
    display:block;color:#65D8DF;font-size:7px;letter-spacing:.16em;font-weight:900;
}
.faq-aside-v110>h2{
    margin:8px 0 17px;color:#fff;font-family:Georgia,serif;font-size:19px;line-height:1.25;font-weight:500;
}
.faq-aside-v110>a{
    display:block;padding:11px 0;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.78);text-decoration:none;font-size:8px;line-height:1.4;
}
.faq-aside-v110>a:hover{color:#65D8DF}

.faq-help-card-v110{
    margin-top:22px;padding:17px;background:rgba(255,255,255,.05);border-left:2px solid #FF4D3F;
}
.faq-help-card-v110>span{color:#fff;font-family:Georgia,serif;font-size:16px}
.faq-help-card-v110 p{margin:8px 0;color:rgba(255,255,255,.57);font-size:8px;line-height:1.55}
.faq-help-card-v110 a{color:#65D8DF;text-decoration:none;font-size:8px;font-weight:900}

.faq-list-v110{display:flex;flex-direction:column;gap:8px}
.faq-item-v110{
    background:#fff;border:1px solid #D5E1E4;scroll-margin-top:25px;
}
.faq-question-v110{
    width:100%;min-height:73px;padding:0 18px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:15px;
    border:0;background:#fff;color:#021336;text-align:left;cursor:pointer;
}
html[dir="rtl"] .faq-question-v110{text-align:right}
.faq-number-v110{
    color:#C8D5D9;font-family:Georgia,serif;font-size:19px;
}
.faq-question-v110 strong{
    font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.3;font-weight:500;
}
.faq-question-v110 i{
    width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #D4E4E6;color:#00A7B5;font-style:normal;font-size:15px;
}
.faq-item-v110.open{border-color:#A9DADF;box-shadow:0 12px 30px rgba(2,19,54,.04)}
.faq-item-v110.open .faq-question-v110{background:#FAFCFC}
.faq-answer-v110{
    display:none;padding:0 57px 22px 75px;border-top:1px solid #E4EAEC;
}
html[dir="rtl"] .faq-answer-v110{padding-left:75px;padding-right:75px}
.faq-item-v110.open .faq-answer-v110{display:block}
.faq-answer-v110 p{
    max-width:980px;margin:18px 0 0;color:#526970;font-size:10px;line-height:1.75;
}
.faq-empty-v110{
    padding:35px;background:#fff;border:1px dashed #B9CCD1;color:#70858D;text-align:center;font-size:10px;
}

.faq-bottom-v110{
    margin:0 5.5vw 60px;padding:28px 32px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
    background:#021336;color:#fff;border-top:3px solid #00A7B5;
}
.faq-bottom-v110 span{display:block;color:#65D8DF;font-size:8px;letter-spacing:.15em;font-weight:900}
.faq-bottom-v110 h2{max-width:800px;margin:8px 0 0;color:#fff;font-family:Georgia,serif;font-size:20px;line-height:1.3;font-weight:500}
.faq-bottom-v110>div:last-child{display:flex;gap:8px}
.faq-bottom-v110 a{
    min-height:45px;padding:0 15px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:8px;font-weight:900;
}
.faq-bottom-v110 a:first-child{background:#fff;color:#021336}
.faq-bottom-v110 a:hover{border-color:#00A7B5}

@media(max-width:980px){
    .faq-layout-v110{grid-template-columns:1fr}
    .faq-aside-v110{position:relative;top:auto}
    .faq-bottom-v110{grid-template-columns:1fr}
}
@media(max-width:680px){
    .faq-hero-v110{padding-left:18px;padding-right:18px;align-items:flex-start;flex-direction:column}
    .faq-hero-v110 h1{font-size:38px}
    .faq-shell-v110{padding-left:18px;padding-right:18px}
    .faq-question-v110{grid-template-columns:31px 1fr 24px;padding:0 12px;gap:9px}
    .faq-question-v110 strong{font-size:14px}
    .faq-answer-v110,html[dir="rtl"] .faq-answer-v110{padding:0 18px 20px}
    .faq-bottom-v110{margin-left:18px;margin-right:18px;padding:22px}
    .faq-bottom-v110>div:last-child{flex-direction:column}
}


/* =========================================================
   V111 — FAQ QUICK ANSWERS TYPOGRAPHY
   Only enlarge the left-side Quick Answers / Help panel.
   ========================================================= */

.faq-aside-v110{
    padding:28px!important;
}

.faq-aside-v110>span{
    font-size:9px!important;
    letter-spacing:.15em!important;
}

.faq-aside-v110>h2{
    margin:10px 0 20px!important;
    font-size:24px!important;
    line-height:1.24!important;
}

.faq-aside-v110>a{
    padding:14px 0!important;
    font-size:10px!important;
    line-height:1.5!important;
}

.faq-help-card-v110{
    margin-top:26px!important;
    padding:21px!important;
}

.faq-help-card-v110>span{
    font-size:20px!important;
    line-height:1.2!important;
}

.faq-help-card-v110 p{
    margin:10px 0!important;
    font-size:10px!important;
    line-height:1.6!important;
}

.faq-help-card-v110 a{
    font-size:10px!important;
    line-height:1.4!important;
}

@media(max-width:680px){
    .faq-aside-v110{
        padding:22px!important;
    }
    .faq-aside-v110>h2{
        font-size:21px!important;
    }
}


/* =========================================================
   V112 — FAQ BOTTOM HELP CTA TYPOGRAPHY
   Enlarge only the final dark FAQ call-to-action block.
   ========================================================= */

.faq-bottom-v110{
    padding:34px 36px!important;
}

.faq-bottom-v110 span{
    font-size:10px!important;
    letter-spacing:.15em!important;
}

.faq-bottom-v110 h2{
    max-width:900px!important;
    margin-top:10px!important;
    font-size:25px!important;
    line-height:1.28!important;
}

.faq-bottom-v110 a{
    min-height:52px!important;
    padding:0 18px!important;
    font-size:10px!important;
    line-height:1.2!important;
}

@media(max-width:680px){
    .faq-bottom-v110{
        padding:25px!important;
    }

    .faq-bottom-v110 h2{
        font-size:21px!important;
    }

    .faq-bottom-v110 a{
        min-height:50px!important;
        font-size:9px!important;
    }
}

/* =========================================================
   V113 — ASK KAIZEN / FULL-SCREEN LEARNING CONCIERGE
   ========================================================= */
.nav-ask-kaizen{position:relative}
.nav-ask-kaizen-dot{width:7px;height:7px;margin-right:6px;border-radius:50%;display:inline-block;background:#00A7B5;box-shadow:0 0 0 4px rgba(0,167,181,.10)}
html[dir="rtl"] .nav-ask-kaizen-dot{margin-right:0;margin-left:6px}

.ask-kaizen-page-v113{background:#EEF4F5}
.ask-kaizen-v113{min-height:calc(100vh - 80px)}

.ask-kaizen-intro-v113{
    padding:54px 5vw 32px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:60px;align-items:end;
    background:radial-gradient(circle at 85% 8%,rgba(0,167,181,.12),transparent 28%),linear-gradient(180deg,#FFFFFF 0%,#F7FAFA 100%);
    border-bottom:1px solid #D9E5E8
}
.ask-kaizen-intro-copy-v113>span{display:block;margin-bottom:11px;color:#00A7B5;font-size:9px;letter-spacing:.18em;font-weight:900}
.ask-kaizen-intro-copy-v113 h1{max-width:760px;margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:49px;line-height:1.02;font-weight:500}
.ask-kaizen-intro-copy-v113 p{max-width:760px;margin:15px 0 0;color:#5E747C;font-size:11px;line-height:1.7}

.ask-kaizen-input-shell-v113{padding:18px;background:#021336;border-top:3px solid #00A7B5;box-shadow:0 22px 55px rgba(2,19,54,.12)}
.ask-kaizen-input-v113{display:grid;grid-template-columns:1fr auto;gap:10px}
.ask-kaizen-input-v113 textarea{min-height:92px;resize:none;padding:17px 18px;border:1px solid rgba(255,255,255,.16);background:#0B2A4B;color:#fff;outline:none;font:inherit;font-size:13px;line-height:1.5}
.ask-kaizen-input-v113 textarea::placeholder{color:rgba(255,255,255,.48)}
.ask-kaizen-input-v113 textarea:focus{border-color:#00A7B5}
.ask-kaizen-input-v113 button{min-width:170px;padding:0 17px;border:0;background:#FF604F;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;cursor:pointer;text-transform:uppercase;font-size:8px;letter-spacing:.09em;font-weight:900}
.ask-kaizen-input-v113 button b{font-size:21px;font-weight:400}

.ask-kaizen-quick-v113{margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.09)}
.ask-kaizen-quick-v113>span{display:block;margin-bottom:8px;color:#65D8DF;font-size:7px;letter-spacing:.13em;text-transform:uppercase;font-weight:900}
.ask-kaizen-quick-v113>div{display:flex;gap:6px;flex-wrap:wrap}
.ask-kaizen-quick-v113 button{padding:8px 10px;border:1px solid rgba(255,255,255,.13);background:transparent;color:rgba(255,255,255,.72);cursor:pointer;font-size:7.5px;line-height:1.25}
.ask-kaizen-quick-v113 button:hover{border-color:#00A7B5;color:#fff;background:rgba(0,167,181,.10)}

.ask-kaizen-workspace-v113{min-height:720px;display:grid;grid-template-columns:minmax(390px,.74fr) minmax(0,1.26fr);gap:0;max-width:1900px;margin:0 auto;background:#fff;border-left:1px solid #D8E4E7;border-right:1px solid #D8E4E7}
.ask-kaizen-conversation-v113{min-width:0;display:grid;grid-template-rows:auto 1fr auto;background:#021336;color:#fff;border-right:1px solid rgba(255,255,255,.09)}
.ask-kaizen-conversation-head-v113{min-height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.10)}
.ask-kaizen-conversation-head-v113 span{color:#65D8DF;font-size:7px;letter-spacing:.15em;font-weight:900}
.ask-kaizen-conversation-head-v113 strong{font-family:Georgia,serif;font-size:19px;letter-spacing:.12em;font-weight:500}

.ask-kaizen-thread-v113{overflow:auto;padding:26px 24px 34px}
.ask-kaizen-thread-v113 article{margin-bottom:22px;display:flex;gap:12px;align-items:flex-start}
.ask-kaizen-thread-v113 article .avatar{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border:1px solid #00A7B5;color:#65D8DF;font-family:Georgia,serif;font-size:17px}
.ask-kaizen-thread-v113 article>div:last-child{max-width:82%}
.ask-kaizen-thread-v113 small{display:block;margin-bottom:6px;color:#65D8DF;font-size:7px;letter-spacing:.08em}
.ask-kaizen-thread-v113 p{margin:0;color:rgba(255,255,255,.82);font-size:11px;line-height:1.65}
.ask-kaizen-thread-v113 article.user{justify-content:flex-end}
.ask-kaizen-thread-v113 article.user>div{max-width:82%;padding:13px 15px;background:#0B2A4B;border-left:2px solid #FF604F}
.ask-kaizen-thread-v113 article.user small{color:#FF8D82}
.ask-kaizen-thread-v113 article.loading p{opacity:.58}

.ask-kaizen-inline-v113{padding:14px;border-top:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:1fr 48px;gap:8px}
.ask-kaizen-inline-v113 textarea{min-height:58px;resize:none;padding:12px;border:1px solid rgba(255,255,255,.13);background:#0B2A4B;color:#fff;outline:none;font-size:9px}
.ask-kaizen-inline-v113 button{border:0;background:#00A7B5;color:#fff;font-size:19px;cursor:pointer}

.ask-kaizen-shortlist-v113{min-width:0;background:#F5F8F9}
.ask-kaizen-shortlist-v113>header{min-height:72px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #D8E4E7}
.ask-kaizen-shortlist-v113>header span{display:block;color:#00A7B5;font-size:7px;letter-spacing:.14em;font-weight:900}
.ask-kaizen-shortlist-v113>header h2{margin:5px 0 0;color:#021336;font-family:Georgia,serif;font-size:20px;font-weight:500}
.ask-kaizen-shortlist-v113>header>strong{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#021336;color:#fff;font-family:Georgia,serif;font-size:21px;font-weight:500}

.ask-kaizen-empty-v113{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;color:#72858D}
.ask-kaizen-empty-v113>span{width:66px;height:66px;margin-bottom:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E6F7F8;color:#00A7B5;font-size:27px}
.ask-kaizen-empty-v113 p{max-width:430px;margin:0;font-family:Georgia,serif;font-size:19px;line-height:1.45}

#shortlistContent{padding:19px}
.ask-kaizen-result-group-v113{margin-bottom:18px}
.ask-kaizen-result-group-v113 .group-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ask-kaizen-result-group-v113 .group-title span{color:#405861;font-size:8px;letter-spacing:.11em;text-transform:uppercase;font-weight:900}
.ask-kaizen-result-group-v113 .group-title b{color:#00A7B5;font-family:Georgia,serif;font-size:18px;font-weight:500}

.ask-programme-card-v113{position:relative;margin-bottom:8px;padding:19px 145px 19px 66px;background:#fff;border:1px solid #D5E1E4;border-left:3px solid #00A7B5}
.ask-programme-card-v113 .rank{position:absolute;left:18px;top:17px;color:#C7D4D8;font-family:Georgia,serif;font-size:22px}
.ask-programme-card-v113 .copy>span{display:block;color:#00A7B5;font-size:6.5px;letter-spacing:.12em;font-weight:900}
.ask-programme-card-v113 h3{margin:6px 0;color:#021336;font-family:Georgia,serif;font-size:17px;line-height:1.2;font-weight:500}
.ask-programme-card-v113 p{max-width:800px;margin:0;color:#657980;font-size:8px;line-height:1.45}
.ask-programme-card-v113 .meta{display:flex;gap:6px;margin-top:10px}
.ask-programme-card-v113 .meta b{padding:5px 7px;background:#F0F6F7;color:#3F5961;font-size:6.5px;font-weight:800}
.ask-programme-card-v113>a{position:absolute;right:15px;bottom:17px;color:#021336;text-decoration:none;border-bottom:2px solid #00A7B5;padding-bottom:3px;font-size:7px;font-weight:900;text-transform:uppercase}

.ask-session-card-v113{position:relative;margin-bottom:8px;min-height:145px;display:grid;grid-template-columns:90px 1fr 125px;background:#fff;border:1px solid #D5E1E4}
.ask-session-card-v113 .date{padding:18px 8px;background:#021336;color:#fff;text-align:center}
.ask-session-card-v113 .date strong{display:block;font-family:Georgia,serif;font-size:29px;font-weight:500}
.ask-session-card-v113 .date span{display:block;color:#65D8DF;font-size:8px;letter-spacing:.12em;font-weight:900}
.ask-session-card-v113 .date small{display:block;margin-top:3px;color:rgba(255,255,255,.48);font-size:7px}
.ask-session-card-v113 .copy{padding:17px 18px}
.ask-session-card-v113 .copy>span{color:#00A7B5;font-size:6.5px;letter-spacing:.10em;font-weight:900}
.ask-session-card-v113 h3{margin:6px 0;color:#021336;font-family:Georgia,serif;font-size:17px;font-weight:500}
.ask-session-card-v113 .copy>p{margin:0;color:#657980;font-size:8px}
.ask-session-card-v113 .quote{margin-top:12px;padding-top:10px;border-top:1px solid #E1E8EA;display:flex;align-items:end;justify-content:space-between}
.ask-session-card-v113 .quote small{color:#7D9097;font-size:7px;text-transform:uppercase}
.ask-session-card-v113 .quote strong{color:#021336;font-family:Georgia,serif;font-size:20px;font-weight:500}
.ask-session-card-v113>a{margin:17px 14px 17px 0;display:flex;align-items:center;justify-content:center;background:#021336;color:#fff;text-decoration:none;text-transform:uppercase;font-size:7px;font-weight:900}
.ask-session-card-v113>a:hover{background:#00A7B5}

.ask-faq-card-v113{margin-bottom:7px;padding:15px 17px;background:#fff;border:1px solid #D5E1E4}
.ask-faq-card-v113>span{color:#00A7B5;font-size:6.5px;letter-spacing:.13em;font-weight:900}
.ask-faq-card-v113 h3{margin:5px 0;color:#021336;font-family:Georgia,serif;font-size:15px;font-weight:500}
.ask-faq-card-v113 p{margin:0;color:#62767E;font-size:8px;line-height:1.5}

.ask-kaizen-private-v113{margin-top:16px;padding:19px 20px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#021336;color:#fff;border-top:3px solid #FF604F}
.ask-kaizen-private-v113 span{display:block;color:#65D8DF;font-size:6.5px;letter-spacing:.14em;font-weight:900}
.ask-kaizen-private-v113 strong{display:block;max-width:650px;margin-top:5px;font-family:Georgia,serif;font-size:15px;line-height:1.35;font-weight:500}
.ask-kaizen-private-v113 a{flex:0 0 auto;min-height:45px;padding:0 14px;display:flex;align-items:center;background:#fff;color:#021336;text-decoration:none;text-transform:uppercase;font-size:7px;font-weight:900}

@media(max-width:1180px){
    .ask-kaizen-intro-v113{grid-template-columns:1fr}
    .ask-kaizen-workspace-v113{grid-template-columns:1fr}
    .ask-kaizen-conversation-v113{min-height:520px}
}
@media(max-width:720px){
    .ask-kaizen-intro-v113{padding-left:18px;padding-right:18px}
    .ask-kaizen-intro-copy-v113 h1{font-size:37px}
    .ask-kaizen-input-v113{grid-template-columns:1fr}
    .ask-kaizen-input-v113 button{min-height:54px}
    .ask-session-card-v113{grid-template-columns:72px 1fr}
    .ask-session-card-v113>a{grid-column:1/-1;margin:0;min-height:45px}
    .ask-programme-card-v113{padding-right:18px;padding-bottom:55px}
    .ask-programme-card-v113>a{left:66px;right:auto}
    .ask-kaizen-private-v113{align-items:stretch;flex-direction:column}
}


/* =========================================================
   V114 — ASK KAIZEN / USER-FRIENDLY CONCIERGE
   Replaces the dashboard-like split view with a guided,
   premium consumer experience.
   ========================================================= */

.ask-kaizen-experience-v114{
    max-width:1500px;
    margin:34px auto 70px;
    padding:0 5vw;
}

.ask-kaizen-guide-v114{
    padding:26px 28px;
    background:#fff;
    border:1px solid #D8E4E7;
    border-top:3px solid #00A7B5;
    box-shadow:0 18px 45px rgba(2,19,54,.045);
}

.ask-kaizen-guide-head-v114{
    display:flex;
    align-items:center;
    gap:17px;
}

.ask-kaizen-guide-mark-v114{
    width:54px;
    height:54px;
    flex:0 0 54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#021336;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:24px;
}

.ask-kaizen-guide-head-v114 span{
    display:block;
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.15em;
    font-weight:900;
}

.ask-kaizen-guide-head-v114 h2{
    margin:5px 0 0;
    color:#021336;
    font-family:Georgia,'Times New Roman',serif;
    font-size:24px;
    font-weight:500;
}

.ask-kaizen-guide-head-v114 p{
    margin:7px 0 0;
    max-width:950px;
    color:#657980;
    font-size:10px;
    line-height:1.6;
}

.ask-kaizen-journey-v114{
    margin-top:23px;
    padding-top:19px;
    display:grid;
    grid-template-columns:auto 1fr auto 1fr auto;
    align-items:center;
    border-top:1px solid #E2E9EB;
}

.ask-kaizen-journey-step-v114{
    display:flex;
    align-items:center;
    gap:9px;
    color:#84959B;
}

.ask-kaizen-journey-step-v114 span{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#EFF5F6;
    color:#789097;
    font-family:Georgia,serif;
    font-size:12px;
}

.ask-kaizen-journey-step-v114 strong{
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.ask-kaizen-journey-step-v114.active span{
    background:#E6F8F9;
    color:#00A7B5;
}

.ask-kaizen-journey-step-v114.active strong{color:#021336}
.ask-kaizen-journey-line-v114{height:1px;background:#DCE6E8;margin:0 14px}

.ask-kaizen-response-v114{
    margin-top:14px;
    background:#fff;
    border:1px solid #D8E4E7;
}

.ask-kaizen-empty-v114{
    min-height:310px;
    padding:45px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.ask-kaizen-empty-v114>span{
    width:66px;
    height:66px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#E9F8F9;
    color:#00A7B5;
    font-size:27px;
}

.ask-kaizen-empty-v114 h3{
    margin:18px 0 8px;
    color:#021336;
    font-family:Georgia,serif;
    font-size:24px;
    font-weight:500;
}

.ask-kaizen-empty-v114 p{
    max-width:520px;
    margin:0;
    color:#6B7F86;
    font-size:10px;
    line-height:1.65;
}

#shortlistContent{
    padding:26px!important;
}

.ask-kaizen-result-group-v114{
    margin-bottom:28px;
}

.ask-kaizen-result-group-v114 .group-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}

.ask-kaizen-result-group-v114 .group-title>div{
    display:flex;
    align-items:center;
    gap:11px;
}

.ask-kaizen-result-group-v114 .group-title span{
    color:#00A7B5;
    font-family:Georgia,serif;
    font-size:19px;
}

.ask-kaizen-result-group-v114 .group-title h3{
    margin:0;
    color:#021336;
    font-family:Georgia,serif;
    font-size:23px;
    font-weight:500;
}

.ask-kaizen-result-group-v114 .group-title b{
    min-width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#021336;
    color:#fff;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:500;
}

.ask-kaizen-programme-grid-v114{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.ask-programme-card-v114{
    position:relative;
    min-height:205px;
    padding:24px 22px 58px 62px;
    background:#F9FBFB;
    border:1px solid #D8E4E7;
    border-top:3px solid #00A7B5;
}

.ask-programme-card-v114 .rank{
    position:absolute;
    left:18px;
    top:20px;
    color:#C8D5D9;
    font-family:Georgia,serif;
    font-size:22px;
}

.ask-programme-card-v114 .copy>span{
    display:block;
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.11em;
    font-weight:900;
}

.ask-programme-card-v114 h3{
    margin:8px 0 9px;
    color:#021336;
    font-family:Georgia,serif;
    font-size:20px;
    line-height:1.2;
    font-weight:500;
}

.ask-programme-card-v114 p{
    margin:0;
    color:#61757D;
    font-size:9px;
    line-height:1.6;
}

.ask-programme-card-v114 .meta{
    display:flex;
    gap:6px;
    margin-top:12px;
}

.ask-programme-card-v114 .meta b{
    padding:5px 8px;
    background:#EEF5F6;
    color:#405861;
    font-size:7px;
}

.ask-programme-card-v114>a{
    position:absolute;
    left:62px;
    bottom:19px;
    color:#021336;
    text-decoration:none;
    border-bottom:2px solid #00A7B5;
    padding-bottom:3px;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.ask-kaizen-session-grid-v114{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.ask-session-card-v114{
    min-height:185px;
    display:grid;
    grid-template-columns:82px 1fr;
    background:#fff;
    border:1px solid #D8E4E7;
    overflow:hidden;
}

.ask-session-card-v114 .date{
    padding:18px 7px;
    background:#021336;
    color:#fff;
    text-align:center;
}

.ask-session-card-v114 .date strong{
    display:block;
    font-family:Georgia,serif;
    font-size:29px;
    font-weight:500;
}

.ask-session-card-v114 .date span{
    display:block;
    color:#65D8DF;
    font-size:8px;
    letter-spacing:.11em;
    font-weight:900;
}

.ask-session-card-v114 .date small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.48);
    font-size:7px;
}

.ask-session-card-v114 .copy{
    padding:18px 18px 12px;
}

.ask-session-card-v114 .copy>span{
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.10em;
    font-weight:900;
}

.ask-session-card-v114 h3{
    margin:7px 0;
    color:#021336;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:500;
}

.ask-session-card-v114 .copy>p{
    margin:0;
    color:#657980;
    font-size:8px;
}

.ask-session-card-v114 .quote{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid #E1E8EA;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
}

.ask-session-card-v114 .quote small{
    color:#7D9097;
    font-size:7px;
    text-transform:uppercase;
}

.ask-session-card-v114 .quote strong{
    color:#021336;
    font-family:Georgia,serif;
    font-size:19px;
    font-weight:500;
}

.ask-session-card-v114>a{
    grid-column:1/-1;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#F3F7F8;
    border-top:1px solid #D8E4E7;
    color:#021336;
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    font-weight:900;
}

.ask-session-card-v114>a:hover{
    background:#021336;
    color:#fff;
}

.ask-kaizen-faq-grid-v114{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.ask-faq-card-v114{
    padding:18px;
    background:#F9FBFB;
    border:1px solid #D8E4E7;
}

.ask-faq-card-v114>span{
    color:#00A7B5;
    font-size:7px;
    letter-spacing:.13em;
    font-weight:900;
}

.ask-faq-card-v114 h3{
    margin:7px 0;
    color:#021336;
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1.3;
    font-weight:500;
}

.ask-faq-card-v114 p{
    margin:0;
    color:#62767E;
    font-size:8.5px;
    line-height:1.55;
}

.ask-kaizen-private-v114{
    padding:22px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    background:#021336;
    color:#fff;
    border-top:3px solid #FF604F;
}

.ask-kaizen-private-v114 span{
    display:block;
    color:#65D8DF;
    font-size:7px;
    letter-spacing:.14em;
    font-weight:900;
}

.ask-kaizen-private-v114 strong{
    display:block;
    margin-top:6px;
    max-width:800px;
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1.35;
    font-weight:500;
}

.ask-kaizen-private-v114 a{
    min-height:48px;
    padding:0 16px;
    display:flex;
    align-items:center;
    background:#fff;
    color:#021336;
    text-decoration:none;
    text-transform:uppercase;
    font-size:8px;
    font-weight:900;
}

.ask-kaizen-refine-v114{
    margin-top:14px;
    padding:22px 24px;
    display:grid;
    grid-template-columns:minmax(220px,.45fr) 1fr;
    gap:25px;
    align-items:center;
    background:#021336;
    color:#fff;
}

.ask-kaizen-refine-v114>div:first-child>span{
    display:block;
    color:#65D8DF;
    font-size:8px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:900;
}

.ask-kaizen-refine-v114>div:first-child p{
    margin:7px 0 0;
    color:rgba(255,255,255,.58);
    font-size:8px;
    line-height:1.5;
}

.ask-kaizen-refine-input-v114{
    display:grid;
    grid-template-columns:1fr 54px;
    gap:8px;
}

.ask-kaizen-refine-input-v114 textarea{
    min-height:58px;
    resize:none;
    padding:13px;
    border:1px solid rgba(255,255,255,.15);
    background:#0B2A4B;
    color:#fff;
    outline:none;
    font-size:10px;
}

.ask-kaizen-refine-input-v114 button{
    border:0;
    background:#00A7B5;
    color:#fff;
    font-size:20px;
    cursor:pointer;
}

.ask-kaizen-history-v114{
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}

/* Hide the old dashboard layout if cached markup remains */
.ask-kaizen-workspace-v113{display:none!important}

@media(max-width:980px){
    .ask-kaizen-programme-grid-v114,
    .ask-kaizen-session-grid-v114,
    .ask-kaizen-faq-grid-v114{
        grid-template-columns:1fr;
    }

    .ask-kaizen-refine-v114{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    .ask-kaizen-experience-v114{
        padding:0 18px;
        margin-top:20px;
    }

    .ask-kaizen-guide-v114,
    #shortlistContent{
        padding:20px!important;
    }

    .ask-kaizen-journey-v114{
        grid-template-columns:1fr;
        gap:8px;
    }

    .ask-kaizen-journey-line-v114{display:none}

    .ask-kaizen-private-v114{
        align-items:stretch;
        flex-direction:column;
    }

    .ask-programme-card-v114{
        padding-left:54px;
    }

    .ask-programme-card-v114>a{
        left:54px;
    }
}


/* =========================================================
   V115 — RESTORE JOIN KAIZEN DESIGN
   V114 was built from a CSS branch that did not contain the
   dedicated V107 Join Kaizen styles. Restore them unchanged.
   ========================================================= */
/* =========================================================
   V107 — JOIN KAIZEN / TRAINER FACULTY APPLICATION
   ========================================================= */

.join-kaizen-page-v107{background:#F3F7F8}

.join-kaizen-hero-v107{
    padding:62px 5.5vw 48px;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(340px,.55fr);
    gap:70px;
    align-items:end;
    background:
      radial-gradient(circle at 88% 12%,rgba(0,167,181,.08),transparent 24%),
      #fff;
    border-bottom:1px solid #DCE5E7;
}
.join-kaizen-hero-v107>div>span{
    display:block;margin-bottom:12px;color:#00A7B5;font-size:8px;letter-spacing:.18em;font-weight:900;
}
.join-kaizen-hero-v107 h1{
    max-width:880px;margin:0;color:#021336;font-family:Georgia,'Times New Roman',serif;font-size:50px;line-height:1.02;font-weight:500;
}
.join-kaizen-hero-v107>div>p{
    max-width:830px;margin:17px 0 0;color:#5E727A;font-size:11px;line-height:1.75;
}
.join-kaizen-hero-v107>aside{
    padding:25px 26px;background:#021336;color:#fff;border-top:3px solid #00A7B5;box-shadow:0 18px 45px rgba(2,19,54,.10);
}
.join-kaizen-hero-v107>aside>span{color:#65D8DF;font-size:7px;letter-spacing:.16em;font-weight:900}
.join-kaizen-hero-v107>aside h2{margin:10px 0;color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:500}
.join-kaizen-hero-v107>aside p{margin:0;color:rgba(255,255,255,.66);font-size:9px;line-height:1.65}
.join-kaizen-hero-v107>aside small{display:block;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.42);font-size:7px;line-height:1.5}

.join-kaizen-review-v107{padding:34px 5.5vw;background:#021336;color:#fff}
.join-kaizen-review-v107>span{display:block;margin-bottom:15px;color:#65D8DF;font-size:8px;letter-spacing:.16em;font-weight:900}
.join-kaizen-review-v107>div{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.join-kaizen-review-v107 article{position:relative;padding:20px 25px 18px;border-left:1px solid rgba(255,255,255,.11)}
.join-kaizen-review-v107 article:first-child{border-left:0;padding-left:0}
.join-kaizen-review-v107 article b{display:block;color:#65D8DF;font-family:Georgia,serif;font-size:20px;font-weight:500}
.join-kaizen-review-v107 article h3{margin:7px 0;color:#fff;font-family:Georgia,serif;font-size:17px;font-weight:500}
.join-kaizen-review-v107 article p{margin:0;color:rgba(255,255,255,.55);font-size:8px;line-height:1.55}

.join-kaizen-form-shell-v107{
    max-width:1520px;margin:35px auto 70px;padding:38px;background:#fff;border:1px solid #D6E1E4;box-shadow:0 20px 55px rgba(2,19,54,.045);
}
.join-kaizen-form-head-v107{
    display:flex;align-items:flex-start;gap:16px;margin-bottom:22px;
}
.join-kaizen-form-head-v107.second{margin-top:36px;padding-top:32px;border-top:1px solid #DEE6E8}
.join-kaizen-form-head-v107>span{color:#C8D5D9;font-family:Georgia,serif;font-size:30px;line-height:1}
.join-kaizen-form-head-v107 h2{margin:0;color:#021336;font-family:Georgia,serif;font-size:25px;line-height:1.1;font-weight:500}
.join-kaizen-form-head-v107 p{max-width:820px;margin:7px 0 0;color:#778A91;font-size:9px;line-height:1.55}

.join-kaizen-fields-v107{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.join-kaizen-fields-v107 label,.join-kaizen-wide-field-v107{display:flex;flex-direction:column;gap:7px}
.join-kaizen-fields-v107 label.wide{grid-column:1/-1}
.join-kaizen-fields-v107 label>span,.join-kaizen-wide-field-v107>span{color:#40565E;font-size:9px;font-weight:800}
.join-kaizen-fields-v107 input,
.join-kaizen-fields-v107 textarea,
.join-kaizen-wide-field-v107 textarea,
.join-kaizen-fields-v107 select{
    width:100%;box-sizing:border-box;min-height:46px;padding:12px 13px;border:1px solid #C9D6DA;background:#FBFCFC;color:#021336;outline:none;font:inherit;font-size:10px;
}
.join-kaizen-fields-v107 textarea,.join-kaizen-wide-field-v107 textarea{resize:vertical}
.join-kaizen-fields-v107 input:focus,.join-kaizen-fields-v107 textarea:focus,.join-kaizen-wide-field-v107 textarea:focus{border-color:#00A7B5;background:#fff}

.join-kaizen-domain-grid-v107{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;
}
.join-kaizen-domain-grid-v107 label,
.join-kaizen-choice-grid-v107 label{
    position:relative;min-height:54px;display:flex;align-items:center;padding:0 14px;border:1px solid #D6E1E4;background:#F9FBFB;cursor:pointer;
}
.join-kaizen-domain-grid-v107 input,.join-kaizen-choice-grid-v107 input{position:absolute;opacity:0;pointer-events:none}
.join-kaizen-domain-grid-v107 label:has(input:checked),
.join-kaizen-choice-grid-v107 label:has(input:checked){
    border-color:#00A7B5;background:#EBF9FA;box-shadow:inset 3px 0 0 #00A7B5;
}
.join-kaizen-domain-grid-v107 label span,.join-kaizen-choice-grid-v107 label span{color:#263E48;font-size:9px;line-height:1.35;font-weight:700}
.join-kaizen-domain-grid-v107 label:has(input:checked) span:after,
.join-kaizen-choice-grid-v107 label:has(input:checked) span:after{content:" ✓";color:#00A7B5}

.join-kaizen-choice-grid-v107{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.join-kaizen-choice-grid-v107.formats{grid-template-columns:repeat(5,minmax(0,1fr))}
.join-kaizen-subtitle-v107{margin:22px 0 10px;color:#021336;font-family:Georgia,serif;font-size:17px;font-weight:500}

.join-kaizen-city-search-v107{margin-bottom:10px}
.join-kaizen-city-search-v107 input{
    width:100%;min-height:48px;padding:0 15px;border:1px solid #C9D6DA;background:#FBFCFC;color:#021336;outline:none;font-size:10px;
}
.join-kaizen-city-search-v107 input:focus{border-color:#00A7B5;background:#fff}
.join-kaizen-city-grid-v107{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;max-height:420px;overflow:auto;padding:2px;
}
.join-kaizen-city-grid-v107 label{
    position:relative;min-height:56px;padding:10px 12px;display:flex;align-items:center;border:1px solid #D6E1E4;background:#F9FBFB;cursor:pointer;
}
.join-kaizen-city-grid-v107 label[hidden]{display:none}
.join-kaizen-city-grid-v107 input{position:absolute;opacity:0}
.join-kaizen-city-grid-v107 label:has(input:checked){border-color:#00A7B5;background:#EBF9FA;box-shadow:inset 3px 0 0 #00A7B5}
.join-kaizen-city-grid-v107 label span{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px}
.join-kaizen-city-grid-v107 label b{color:#203B47;font-size:9px}
.join-kaizen-city-grid-v107 label small{color:#00A7B5;font-size:7px;font-weight:900}

.join-kaizen-cv-v107{
    min-height:125px;padding:22px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed #8ECED3;background:#F2FAFA;cursor:pointer;
}
.join-kaizen-cv-v107 input{position:absolute;opacity:0;pointer-events:none}
.join-kaizen-cv-v107 b{display:block;color:#021336;font-family:Georgia,serif;font-size:20px;font-weight:500}
.join-kaizen-cv-v107 small{display:block;margin-top:7px;color:#6E828A;font-size:9px}
.join-kaizen-cv-v107 em{display:inline-block;margin-top:13px;padding:6px 9px;background:#021336;color:#fff;font-size:7px;font-style:normal;letter-spacing:.08em;font-weight:800}

.join-kaizen-declaration-v107{margin-top:28px!important}
.join-kaizen-submit-v107{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px}
.join-kaizen-submit-v107 p{max-width:570px;margin:0;color:#7B8D94;font-size:9px;line-height:1.55}
.join-kaizen-submit-v107 button{
    min-width:320px;min-height:62px;padding:0 22px;border:0;background:#021336;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;text-transform:uppercase;font-size:9px;letter-spacing:.08em;font-weight:900
}
.join-kaizen-submit-v107 button:hover{background:#00A7B5}
.join-kaizen-submit-v107 button b{font-size:20px;font-weight:400}

.join-kaizen-result-v107{
    max-width:880px;margin:70px auto;padding:60px;background:#fff;border-top:3px solid #00A7B5;text-align:center;box-shadow:0 20px 55px rgba(2,19,54,.08)
}
.join-kaizen-result-v107.duplicate{border-top-color:#FF4D3F}
.join-kaizen-result-mark-v107{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#E8F8F9;color:#00A7B5;font-size:28px}
.join-kaizen-result-v107.duplicate .join-kaizen-result-mark-v107{background:#FFF0EE;color:#FF4D3F}
.join-kaizen-result-v107>span{color:#00A7B5;font-size:8px;letter-spacing:.16em;font-weight:900}
.join-kaizen-result-v107 h1{margin:12px 0;color:#021336;font-family:Georgia,serif;font-size:37px;font-weight:500}
.join-kaizen-result-v107 p{max-width:650px;margin:0 auto;color:#63767E;font-size:10px;line-height:1.7}
.join-kaizen-result-v107 aside{width:max-content;margin:25px auto;padding:13px 20px;background:#F5F9FA;border:1px solid #DCE5E7}
.join-kaizen-result-v107 aside small{display:block;color:#7A8D94;font-size:7px;text-transform:uppercase}
.join-kaizen-result-v107 aside strong{display:block;margin-top:4px;color:#021336;font-family:Georgia,serif;font-size:20px}
.join-kaizen-result-v107>a{display:inline-block;margin-top:24px;color:#021336;text-decoration:none;border-bottom:2px solid #00A7B5;padding-bottom:5px;font-size:8px;text-transform:uppercase;font-weight:900}

html[dir="rtl"] .join-kaizen-domain-grid-v107 label:has(input:checked),
html[dir="rtl"] .join-kaizen-choice-grid-v107 label:has(input:checked),
html[dir="rtl"] .join-kaizen-city-grid-v107 label:has(input:checked){box-shadow:inset -3px 0 0 #00A7B5}

@media(max-width:1100px){
    .join-kaizen-hero-v107{grid-template-columns:1fr;gap:25px}
    .join-kaizen-review-v107>div{grid-template-columns:repeat(2,1fr)}
    .join-kaizen-domain-grid-v107{grid-template-columns:repeat(2,1fr)}
    .join-kaizen-choice-grid-v107,.join-kaizen-choice-grid-v107.formats{grid-template-columns:repeat(3,1fr)}
    .join-kaizen-city-grid-v107{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
    .join-kaizen-hero-v107{padding-left:18px;padding-right:18px}
    .join-kaizen-hero-v107 h1{font-size:38px}
    .join-kaizen-review-v107{padding-left:18px;padding-right:18px}
    .join-kaizen-review-v107>div{grid-template-columns:1fr}
    .join-kaizen-review-v107 article{border-left:0;border-top:1px solid rgba(255,255,255,.11);padding-left:0}
    .join-kaizen-form-shell-v107{margin:20px 18px 50px;padding:20px}
    .join-kaizen-fields-v107,.join-kaizen-domain-grid-v107,.join-kaizen-choice-grid-v107,.join-kaizen-choice-grid-v107.formats,.join-kaizen-city-grid-v107{grid-template-columns:1fr}
    .join-kaizen-fields-v107 label.wide{grid-column:auto}
    .join-kaizen-submit-v107{align-items:stretch;flex-direction:column}
    .join-kaizen-submit-v107 button{width:100%;min-width:0}
}

/* KAIZEN V110 - Display bundled destination photos as native images. */
.home-destination-card > img.home-destination-photo,
.destination-page-card > img.destination-page-photo {
    position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
    display:block!important; object-fit:cover!important; object-position:center!important;
    opacity:1!important; visibility:visible!important; z-index:0!important;
    background:none!important; transform:none;
}
.home-destination-card:hover > img.home-destination-photo,
.destination-page-card:hover > img.destination-page-photo {transform:scale(1.035)!important;}
