
  :root{
    --navy:#16213e;
    --navy-2:#1f2d52;
    --mango:#f5a425;
    --turquoise:#2aa8a6;
    --coral:#ef6f6c;
    --sky:#eff3f7;
    --paper:#f8f9fb;
    --ink:#16213e;
    --ink-soft:rgba(22,33,62,0.68);
    --line:rgba(22,33,62,0.12);
    --radius:18px;
    --display:'Fraunces', serif;
    --body:'Inter', system-ui, sans-serif;
    --mono:'IBM Plex Mono', monospace;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--body);
    color:var(--ink);
    background:var(--paper);
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block;max-width:100%;}
  a{color:inherit;}

  .wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

  /* ---------- NAV ---------- */
  header.site{
    position:sticky; top:0; z-index:50;
    background:rgba(248,249,251,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;max-width:1120px;margin:0 auto;}
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:1.15rem;letter-spacing:-0.01em;}
  .brand .mark{width:30px;height:30px;flex:none;}
  nav.links{display:flex;gap:32px;font-size:0.94rem;}
  nav.links a{text-decoration:none;color:var(--ink-soft);transition:color .2s;}
  nav.links a:hover{color:var(--ink);}
  .nav-cta{
    font-family:var(--body); font-weight:600; font-size:0.88rem;
    background:var(--navy); color:#fff; padding:10px 20px; border-radius:999px;
    text-decoration:none; white-space:nowrap;
  }
  .nav-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:radial-gradient(120% 140% at 50% -10%, var(--navy-2) 0%, var(--navy) 55%, #0f1730 100%);
    color:#fff;
    padding:96px 0 64px;
  }
  .hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center;}
  .eyebrow{
    font-family:var(--mono); font-size:0.75rem; letter-spacing:.14em; text-transform:uppercase;
    color:var(--mango); display:flex; align-items:center; gap:10px; margin-bottom:22px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--mango);display:inline-block;}
  h1{
    font-family:var(--display); font-weight:500; font-size:clamp(2.3rem, 4.4vw, 3.6rem);
    line-height:1.06; letter-spacing:-0.01em; margin:0 0 22px;
  }
  h1 em{font-style:italic; color:var(--mango); font-weight:500;}
  .hero p.lead{font-size:1.08rem; line-height:1.65; color:rgba(255,255,255,0.78); max-width:46ch; margin:0 0 34px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .btn{
    font-family:var(--body); font-weight:600; font-size:0.94rem;
    padding:14px 26px; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:8px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn-primary{background:var(--mango); color:var(--navy);}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(245,164,37,0.35);}
  .btn-ghost{border:1px solid rgba(255,255,255,0.35); color:#fff;}
  .btn-ghost:hover{background:rgba(255,255,255,0.08);}

  .stats{display:flex; gap:34px; margin-top:44px; flex-wrap:wrap;}
  .stat b{font-family:var(--display); font-size:1.5rem; display:block; font-weight:600;}
  .stat span{font-size:0.78rem; color:rgba(255,255,255,0.6); font-family:var(--mono); letter-spacing:.03em;}

  /* ---------- ORBIT SIGNATURE (grand dome) ---------- */
  .orbit-stage{
    position:relative; aspect-ratio:1/1; max-width:520px; margin:0 auto; width:100%;
  }
  .stage-glow{
    position:absolute; inset:-10%; border-radius:50%;
    background:radial-gradient(circle at 50% 50%, rgba(245,164,37,0.22), rgba(245,164,37,0) 62%);
    filter:blur(2px);
  }
  .dome-illustration{
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:58%; display:flex; flex-direction:column; align-items:center;
  }
  .floor-glow{
    width:120%; height:22px; margin-top:-6px;
    background:radial-gradient(ellipse at center, rgba(245,164,37,0.45), rgba(245,164,37,0) 72%);
    filter:blur(4px);
  }
  .finial{
    width:3px; height:28px; background:linear-gradient(#ffe3ab, var(--mango));
    box-shadow:0 0 14px rgba(245,164,37,0.7);
  }
  .finial-ball{
    width:12px; height:12px; border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #ffe9c2, var(--mango) 60%, #b97613 100%);
    box-shadow:0 0 18px rgba(245,164,37,0.8);
    margin-bottom:-2px;
  }
  .dome-cap{
    width:100%; aspect-ratio:2/1.15;
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    background:
      repeating-conic-gradient(from 180deg at 50% 100%,
        #ffcf6b 0deg 3.2deg, #f5a425 3.2deg 8deg, #d9891f 8deg 9.5deg,
        #f5a425 9.5deg 14.4deg, #ffcf6b 14.4deg 16deg
      );
    box-shadow:
      0 -18px 50px rgba(245,164,37,0.4),
      inset 0 18px 34px rgba(255,255,255,0.28),
      inset 0 -10px 24px rgba(90,54,4,0.35);
    position:relative;
  }
  .dome-cap::after{
    content:""; position:absolute; inset:0; border-radius:inherit;
    background:radial-gradient(ellipse at 50% 0%, rgba(255,255,255,0.35), rgba(255,255,255,0) 55%);
    mix-blend-mode:overlay;
  }
  .dome-drum{
    width:112%; aspect-ratio:5.5/1;
    background:linear-gradient(180deg, #24345f, #16213e);
    border-top:2px solid rgba(245,164,37,0.55);
    box-shadow:0 22px 40px rgba(0,0,0,0.4);
    display:flex; align-items:center; justify-content:space-evenly;
    padding:0 6%;
  }
  .drum-arch{
    width:13%; height:62%; border-radius:50% 50% 0 0;
    background:rgba(245,164,37,0.16); border:1px solid rgba(245,164,37,0.35); border-bottom:none;
  }
  .dome-base{
    width:128%; aspect-ratio:21/1;
    background:linear-gradient(180deg, #0f1730, #0a0f22);
    border-radius:3px; box-shadow:0 10px 24px rgba(0,0,0,0.5);
  }
  .ring{position:absolute; border:1px dashed rgba(245,164,37,0.22); border-radius:50%;}
  .ring.r1{inset:10%;}
  .ring.r2{inset:-2%;}
  .orbiter{
    position:absolute; width:100%; height:100%; top:0; left:0;
    animation:spin var(--dur,26s) linear infinite;
  }
  .orbiter.reverse{animation-direction:reverse;}
  @keyframes spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
  .letter{
    position:absolute; width:52px; height:52px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--display); font-weight:600; font-size:1.3rem;
    color:var(--navy); box-shadow:0 10px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.15);
  }
  .letter span{animation:counterspin var(--dur,26s) linear infinite; animation-direction:reverse;}
  .orbiter.reverse .letter span{animation-direction:normal;}
  @keyframes counterspin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
  .l1{background:var(--mango); top:-2%; left:50%; transform:translate(-50%,0);}
  .l2{background:var(--turquoise); color:#fff; top:50%; right:-2%; transform:translate(0,-50%);}
  .l3{background:var(--coral); color:#fff; bottom:-2%; left:22%;}
  .l4{background:#fff; top:18%; left:-4%;}
  .sparkle{position:absolute; border-radius:50%; background:#fff; opacity:.6; animation:twinkle 3.4s ease-in-out infinite;}
  @keyframes twinkle{0%,100%{opacity:.15; transform:scale(0.8);} 50%{opacity:.9; transform:scale(1.15);}}
  @media (prefers-reduced-motion: reduce){
    .orbiter, .letter span, .sparkle{animation:none;}
  }

  /* ---------- SECTION HEADERS ---------- */
  section{padding:96px 0;}
  .section-head{max-width:640px; margin:0 0 56px;}
  .section-head .eyebrow{color:var(--turquoise);}
  .section-head .eyebrow::before{background:var(--turquoise);}
  h2{font-family:var(--display); font-weight:500; font-size:clamp(1.8rem,3vw,2.5rem); letter-spacing:-0.01em; margin:0 0 14px; line-height:1.15;}
  .section-head p{color:var(--ink-soft); font-size:1.02rem; line-height:1.6; margin:0;}

  /* ---------- PROGRAMS ---------- */
  .programs{background:var(--sky);}
  .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .p-card{
    background:#fff; border-radius:var(--radius); padding:32px 28px; border:1px solid var(--line);
    display:flex; flex-direction:column; gap:16px;
  }
  .p-card .num{font-family:var(--mono); font-size:0.75rem; color:var(--ink-soft);}
  .p-card .icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;}
  .p-card:nth-child(1) .icon{background:rgba(245,164,37,0.15);}
  .p-card:nth-child(2) .icon{background:rgba(42,168,166,0.15);}
  .p-card:nth-child(3) .icon{background:rgba(239,111,108,0.15);}
  .p-card h3{font-family:var(--display); font-weight:600; font-size:1.28rem; margin:0;}
  .p-card p{margin:0; color:var(--ink-soft); line-height:1.6; font-size:0.96rem;}
  .p-card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px;}
  .p-card li{font-size:0.9rem; color:var(--ink); display:flex; gap:8px; align-items:baseline;}
  .p-card li::before{content:"—"; color:var(--ink-soft); flex:none;}

  /* ---------- BENEFITS / MARKETING ---------- */
  .benefits{background:#fff;}
  .benefit-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .b-card{
    border:1px solid var(--line); border-radius:16px; padding:26px 24px;
    display:flex; flex-direction:column; gap:12px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .b-card:hover{transform:translateY(-3px); box-shadow:0 16px 34px rgba(22,33,62,0.08); border-color:transparent;}
  .b-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;}
  .b-card h4{margin:0; font-family:var(--display); font-weight:600; font-size:1.06rem;}
  .b-card p{margin:0; color:var(--ink-soft); font-size:0.92rem; line-height:1.6;}

  /* ---------- FORMATS ---------- */
  .formats .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .format-list{display:flex; flex-direction:column;}
  .format-row{display:flex; gap:20px; padding:22px 0; border-top:1px solid var(--line);}
  .format-row:last-child{border-bottom:1px solid var(--line);}
  .format-row .tag{
    font-family:var(--mono); font-size:0.72rem; letter-spacing:.06em; text-transform:uppercase;
    color:var(--turquoise); flex:none; width:120px; padding-top:3px;
  }
  .format-row h4{margin:0 0 6px; font-family:var(--display); font-weight:600; font-size:1.08rem;}
  .format-row p{margin:0; color:var(--ink-soft); font-size:0.92rem; line-height:1.6;}
  .audience-card{
    background:var(--navy); color:#fff; border-radius:var(--radius); padding:40px;
  }
  .audience-card .eyebrow{color:var(--mango);}
  .audience-card .eyebrow::before{background:var(--mango);}
  .audience-card h3{font-family:var(--display); font-weight:600; font-size:1.5rem; margin:14px 0 18px;}
  .audience-card p{color:rgba(255,255,255,0.72); line-height:1.65; margin:0 0 22px; font-size:0.96rem;}
  .chip-row{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{
    font-family:var(--mono); font-size:0.76rem; padding:8px 14px; border-radius:999px;
    border:1px solid rgba(255,255,255,0.24); color:rgba(255,255,255,0.85);
  }

  /* ---------- CREDENTIALS ---------- */
  .credentials{background:var(--sky);}
  .cred-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .cred-item{background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 20px;}
  .cred-item .k{font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); margin-bottom:8px;}
  .cred-item .v{font-family:var(--display); font-weight:600; font-size:1.15rem;}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--navy); color:#fff;}
  .contact .wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .contact h2{color:#fff;}
  .contact .section-head p{color:rgba(255,255,255,0.7);}
  .contact-details{display:flex; flex-direction:column; gap:22px;}
  .cd-row{display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-top:1px solid rgba(255,255,255,0.14);}
  .cd-row .k{font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--mango); width:110px; flex:none; padding-top:3px;}
  .cd-row .v a{color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.3);}
  form.enroll{display:flex; flex-direction:column; gap:14px; background:rgba(255,255,255,0.05); padding:32px; border-radius:var(--radius); border:1px solid rgba(255,255,255,0.14);}
  form.enroll label{font-family:var(--mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,0.6);}
  form.enroll input, form.enroll select, form.enroll textarea{
    width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,0.2);
    background:rgba(255,255,255,0.06); color:#fff; font-family:var(--body); font-size:0.95rem;
  }
  form.enroll input::placeholder, form.enroll textarea::placeholder{color:rgba(255,255,255,0.35);}
  form.enroll button{margin-top:6px;}

  /* ---------- FOOTER ---------- */
  footer{padding:36px 0; background:#0f1730; color:rgba(255,255,255,0.55); font-size:0.85rem;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;}
    .orbit-stage{margin-top:20px; max-width:380px;}
    .card-grid{grid-template-columns:1fr;}
    .benefit-grid{grid-template-columns:repeat(2,1fr);}
    .formats .wrap{grid-template-columns:1fr;}
    .cred-grid{grid-template-columns:repeat(2,1fr);}
    .contact .wrap{grid-template-columns:1fr;}
    nav.links{display:none;}
  }

  @media (max-width:640px){
    .wrap{padding:0 18px;}
    .nav{padding:14px 18px;}
    .brand{font-size:1.02rem; gap:8px;}
    .brand .mark{width:26px; height:26px;}
    .nav-cta{padding:9px 15px; font-size:0.82rem;}
    section{padding:60px 0;}
    .hero{padding:52px 0 40px;}
    h1{font-size:clamp(1.9rem, 8vw, 2.3rem);}
    .hero p.lead{font-size:0.98rem;}
    .hero-ctas .btn{padding:12px 20px; font-size:0.88rem;}
    .stats{gap:20px 28px; margin-top:32px;}
    .stat b{font-size:1.2rem;}
    .orbit-stage{max-width:280px;}
    .letter{width:38px; height:38px; font-size:1rem;}
    .section-head{margin-bottom:38px;}
    .benefit-grid{grid-template-columns:1fr;}
    .format-row{flex-direction:column; gap:6px; padding:18px 0;}
    .format-row .tag{width:auto;}
    .audience-card{padding:28px 24px;}
    .cred-grid{grid-template-columns:1fr;}
    form.enroll{padding:22px;}
    .cd-row{flex-direction:column; gap:4px;}
    .cd-row .k{width:auto;}
    footer .wrap{flex-direction:column; text-align:center;}
  }

  section[id], [id="languages"], [id="about"]{scroll-margin-top:100px}
  .hero-purpose{font-size:1rem;line-height:1.65;color:#ffe0ac;margin:-12px 0 28px;max-width:48ch}
  .hero-photo,.skills-photo{margin:0;overflow:hidden;border-radius:22px}
  .hero-photo{position:relative;box-shadow:0 24px 60px #0004;transform:rotate(2deg)}
  .hero-photo img{width:100%;height:480px;object-fit:cover}
  .hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:56px 26px 28px;background:linear-gradient(transparent,#0f1730ed)}
  .hero-photo figcaption span{display:block;font:10px var(--mono);letter-spacing:.1em;color:#ffcf6b;margin-bottom:12px}
  .hero-photo figcaption strong{font:26px var(--display)}
  .offering-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .offering{display:block;text-decoration:none;background:var(--navy);color:white;padding:32px;border-radius:18px}
  .offering:nth-child(2){background:#166c6b}
  .offering .num{font:11px var(--mono);letter-spacing:.08em;color:#ffdfaa}
  .offering h3{font:500 28px var(--display);margin:18px 0 12px}
  .offering p{line-height:1.7;color:#ffffffe0}
  .text-link{font-weight:600;font-size:.88rem;text-underline-offset:4px}
  .course-heading{margin:72px 0 32px}.course-heading p,.skills-grid p{color:var(--ink-soft);line-height:1.7}
  .p-card .course-value{border-top:1px solid var(--line);padding-top:16px;font-size:.86rem;color:#166c6b;margin-top:auto}
  .skills-section{background:#fff}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .skills-photo img{width:100%;height:530px;object-fit:cover}.skills-grid h3{font:600 22px var(--display);margin:0}
  .form-note{font-size:.8rem;line-height:1.6;color:#ffffffb8;margin:0}
  select option,select optgroup{color:var(--navy);background:white}
  :focus-visible{outline:3px solid var(--mango);outline-offset:5px}
  @media(max-width:860px){.offering-grid,.skills-grid{grid-template-columns:1fr}.hero-photo{transform:none}.hero-photo img{height:380px}.skills-photo img{height:380px}.nav{flex-wrap:wrap;gap:14px}nav.links{display:flex;order:3;width:100%;justify-content:space-between;gap:12px;font-size:.82rem}.hero{padding-top:48px}}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.brand{text-decoration:none}
.course-menu{position:relative}
.course-menu summary{cursor:pointer;list-style:none;color:var(--ink-soft);display:flex;align-items:center;gap:9px}
.course-menu summary::-webkit-details-marker{display:none}
.course-menu summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.course-menu[open] summary{color:#166c6b}
.course-menu[open] summary::after{transform:rotate(225deg);margin-top:4px}
.course-dropdown{position:absolute;top:calc(100% + 20px);left:-22px;width:310px;background:white;border-top:3px solid var(--turquoise);box-shadow:0 14px 36px #16213e20;padding:10px 0;border-radius:0 0 12px 12px;z-index:60}
nav.links .course-dropdown a{display:block;padding:18px 22px;color:var(--navy);line-height:1.4}
nav.links .course-dropdown a:hover,nav.links .course-dropdown a[aria-current="page"]{background:var(--sky);color:#166c6b}
.breadcrumb{font-size:.86rem;color:#ffffffb8;margin-bottom:24px}
.breadcrumb a{text-underline-offset:4px}
.related-courses{background:var(--sky)}
@media(max-width:640px){.course-dropdown{left:0;width:min(290px,calc(100vw - 36px));top:calc(100% + 15px)}section[id],[id="languages"],[id="about"]{scroll-margin-top:145px}}

.brand-text{display:flex;flex-direction:column;gap:4px}
.brand-tagline{font-family:var(--body);font-size:0.65rem;font-weight:500;line-height:1.35;letter-spacing:0;color:var(--ink-soft)}
@media(max-width:640px){.brand-tagline{font-size:0.6rem}}

/* Separate learning photographs, with the full scene visible. */
.learning-photos{display:grid;gap:18px;min-width:0;width:100%;max-width:540px;margin-inline:auto}
.learning-photos figure{margin:0;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 32px rgba(15,23,48,.16)}
.learning-photos img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(min-width:641px) and (max-width:860px){.learning-photos{grid-template-columns:1fr 1fr;max-width:none;gap:16px}}

.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:9px;padding:14px 20px;border-radius:999px;background:#147d47;color:white;font-weight:600;text-decoration:none;box-shadow:0 5px 24px #0003;font-size:.9rem}
.whatsapp-float svg{width:24px;height:24px}.whatsapp-float:hover,.whatsapp-submit:hover{background:#10683b}
.enquiry-dialog{border:0;border-radius:22px;padding:32px;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--navy);background:var(--paper);box-shadow:0 24px 100px #0005}
.enquiry-dialog::backdrop{background:#0f1730b8;backdrop-filter:blur(4px)}
.enquiry-dialog h2{font-size:2rem;padding-right:18px}.enquiry-dialog>p{color:var(--ink-soft);line-height:1.6}
.dialog-close{position:absolute;right:12px;top:10px;min-width:44px;min-height:44px;border:0;background:transparent;font-size:30px;cursor:pointer;color:var(--navy)}
.popup-form{display:grid;gap:10px}.popup-form label{font-size:.82rem;font-weight:600;display:block}.popup-form input,.popup-form select,.popup-form textarea{width:100%;padding:11px 12px;border:1px solid #c7ced8;border-radius:9px;background:white;color:var(--navy);font:inherit;font-size:.94rem}.popup-form select:disabled{opacity:.5}
.enquiry-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.enquiry-columns label{margin-bottom:10px}
.enquiry-notice{font-size:.75rem;line-height:1.55;color:var(--ink-soft);margin:5px 0}
.whatsapp-submit{background:#147d47;color:white;border:0;justify-content:center;cursor:pointer}.enquiry-open{overflow:hidden}
footer{padding-bottom:100px}.photo-note{font-size:.68rem;line-height:1.5;opacity:.65;margin:4px 0}
@media(max-width:640px){.whatsapp-float{right:14px;bottom:14px;padding:12px 16px}.enquiry-dialog{padding:26px 20px}.enquiry-columns{grid-template-columns:1fr}.enquiry-dialog h2{font-size:1.65rem}}

.learning-photos .photo-note{grid-column:1 / -1}

.teaching-photo{margin:0;overflow:hidden;border-radius:20px;box-shadow:0 12px 32px #0f173026}.teaching-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.related-with-photo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}@media(max-width:860px){.related-with-photo{grid-template-columns:1fr;gap:28px}}

.legal-links{display:flex;flex-wrap:wrap;gap:18px;width:100%;margin-top:12px}.legal-links a{color:#ffffffce;text-underline-offset:4px}.consent-notice{font-size:.8rem;line-height:1.65;margin:8px 0}.consent-notice a{text-decoration:underline;text-underline-offset:3px;font-weight:600}.legal-page{max-width:850px;padding-top:60px;padding-bottom:80px}.legal-page h1{font-size:2.7rem;margin-top:25px}.legal-page h2{font-size:1.4rem;margin-top:32px}.legal-page p{line-height:1.8;color:var(--ink-soft)}

.language-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.language-jumps a{padding:10px 17px;border:1px solid var(--line);border-radius:999px;background:white;text-decoration:none;font-size:.9rem}.language-jumps a:hover{background:var(--navy);color:white}
.course-intro{max-width:760px;margin:32px 0 42px}.course-intro h3,.language-detail h3,.language-formats h3{font:600 1.2rem var(--display)}.course-intro p,.language-detail p,.language-formats p,.course-faq p{line-height:1.75;color:var(--ink-soft)}
.language-detail{background:white;border:1px solid var(--line);border-radius:22px;padding:40px;margin-top:30px;scroll-margin-top:150px}.course-subtitle{font:500 1.4rem var(--display);margin:0 0 18px}.course-description{max-width:76ch}.learning-topics{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.learning-topics>div{padding:22px;background:var(--paper);border-radius:14px}.learning-topics h4{font-size:1rem;margin:0 0 8px}.learning-topics p{margin:0}.course-context{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.language-detail .course-purpose{color:#166c6b;font-weight:600}.course-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:16px}.course-bottom p{font-size:.88rem}.course-faq{background:white}.course-faq details{border-bottom:1px solid var(--line);padding:22px 0}.course-faq summary{cursor:pointer;font-weight:600;line-height:1.6}.course-faq details p{max-width:80ch;margin-bottom:0}
@media(max-width:640px){.language-detail{padding:25px 20px}.learning-topics,.course-context{grid-template-columns:1fr;gap:14px}.course-bottom{align-items:flex-start;flex-direction:column;gap:8px}.language-jumps a{font-size:.82rem}}

/* Refined globe/profile identity. */
.brand{gap:13px;flex:none}.brand .mark{width:58px;height:58px}.brand-text{gap:7px}.brand-name{font-family:var(--display);font-weight:500;font-size:1.55rem;line-height:1;letter-spacing:-.055em;color:var(--navy)}.brand-tagline{display:flex;align-items:center;gap:7px;font-size:.59rem;letter-spacing:.015em;color:#526079;white-space:nowrap}.brand-tagline::before{content:"";display:block;width:17px;height:1.5px;background:#f5a425;flex:none}.nav{gap:24px}.nav.links{gap:24px}
@media(max-width:1000px) and (min-width:861px){nav.links{gap:18px;font-size:.86rem}.nav{gap:18px}.nav-cta{padding:10px 15px}}
@media(max-width:640px){.brand{gap:9px}.brand .mark{width:45px;height:45px}.brand-name{font-size:1.32rem}.brand-tagline{font-size:.51rem;gap:5px}.brand-tagline::before{width:12px}.brand-text{gap:6px}.nav{gap:14px}}

/* Wordmark without subtitle. */
.brand-text{justify-content:center;gap:0}
