
  :root {
    /* ── Brand palette — fixed across both modes ── */
    --brand-navy:    #1A4B89;
    --brand-blue:    #3772B2;
    --gold:          #C8A84B;
    --gold-light:    #E8C96A;
    --grey:          #6F7072;
    --light-grey:    #ABABAB;
    --white:         #FFFFFF;
    --navy-deep:     #071328;
    --navy:          #0D1F3C;

    /* ── DARK MODE tokens (default) ── */
    --page-bg:           #071328;
    --page-bg-alt:       #0D1F3C;
    --page-bg-deep:      #071328;
    --card-bg:           #0D1F3C;
    --card-bg-alt:       #071328;
    --card-hover:        rgba(26,75,137,0.28);

    --text-primary:      #FFFFFF;
    --text-secondary:    rgba(255,255,255,0.65);
    --text-muted:        rgba(255,255,255,0.45);
    --text-subtle:       rgba(255,255,255,0.32);

    --border:            rgba(255,255,255,0.1);
    --border-strong:     rgba(255,255,255,0.18);
    --glass:             rgba(255,255,255,0.04);
    --glass-bg:          rgba(255,255,255,0.04);
    --glass-border:      rgba(255,255,255,0.1);

    --input-bg:          rgba(255,255,255,0.04);
    --input-bg-focus:    rgba(55,114,178,0.08);
    --input-text:        #FFFFFF;
    --select-option-bg:  #071328;

    --nav-scrolled:      rgba(7,19,40,0.96);
    --nav-link-color:    rgba(255,255,255,0.7);
    --nav-dropdown-bg:   rgba(7,19,40,0.97);
    --nav-logo-text:     #FFFFFF;

    --hero-bg-grad:      linear-gradient(160deg,#071328 0%,#0D1F3C 50%,#071328 100%);
    --stat-label-color:  rgba(255,255,255,0.45);
    --strip-icon-stroke: rgba(255,255,255,0.8);
    --section-lead-color:rgba(255,255,255,0.6);
    --service-desc-color:rgba(255,255,255,0.55);
    --service-icon-stroke:rgba(255,255,255,0.85);

    --why-item-border:   rgba(255,255,255,0.1);
    --why-quote-bg:      linear-gradient(135deg,rgba(26,75,137,0.55),rgba(26,75,137,0.3));
    --why-desc-color:    rgba(255,255,255,0.55);
    --about-text-color:  rgba(255,255,255,0.65);

    --jur-bg:            #0D1F3C;
    --jur-sub-color:     #ABABAB;
    --jur-icon-stroke:   rgba(255,255,255,0.7);

    --insight-bg:        #071328;
    --testimonial-bg:    rgba(7,19,40,0.6);
    --testimonial-hover: rgba(7,19,40,0.8);

    --partner-name-color:rgba(255,255,255,0.4);

    --footer-bg:         #071328;
    --footer-tagline:    rgba(255,255,255,0.45);
    --footer-contact:    rgba(255,255,255,0.5);
    --footer-link:       rgba(255,255,255,0.5);
    --footer-copy:       rgba(255,255,255,0.3);
    --social-color:      rgba(255,255,255,0.4);

    --course-bg:         #071328;
    --course-topic:      rgba(255,255,255,0.5);
    --course-outline-title:rgba(255,255,255,0.4);
    --onsite-step-desc:  rgba(255,255,255,0.5);
    --onsite-step-num:   rgba(26,75,137,0.4);
    --training-offer-desc:rgba(255,255,255,0.6);
    --value-bg:          #071328;
    --team-bg:           #0D1F3C;
    --page-hero-bg:      linear-gradient(160deg,#071328 0%,#0D1F3C 100%);
    --scrollbar-track:   #071328;
    --scrollbar-thumb:   #1A4B89;
  }

  /* ══════════════════════════════════════════════════
     LIGHT MODE — html.light {}
  ══════════════════════════════════════════════════ */
  html.light {
    --page-bg:           #F4F6FA;
    --page-bg-alt:       #FFFFFF;
    --page-bg-deep:      #EBF0F8;
    --card-bg:           #FFFFFF;
    --card-bg-alt:       #F4F6FA;
    --card-hover:        rgba(26,75,137,0.07);

    --text-primary:      #0D1F3C;
    --text-secondary:    rgba(13,31,60,0.7);
    --text-muted:        rgba(13,31,60,0.5);
    --text-subtle:       rgba(13,31,60,0.35);

    --border:            rgba(13,31,60,0.1);
    --border-strong:     rgba(13,31,60,0.16);
    --glass:             rgba(13,31,60,0.03);
    --glass-bg:          rgba(13,31,60,0.03);
    --glass-border:      rgba(13,31,60,0.1);

    --input-bg:          rgba(13,31,60,0.04);
    --input-bg-focus:    rgba(55,114,178,0.06);
    --input-text:        #0D1F3C;
    --select-option-bg:  #FFFFFF;

    --nav-scrolled:      rgba(255,255,255,0.97);
    --nav-link-color:    rgba(13,31,60,0.65);
    --nav-dropdown-bg:   rgba(255,255,255,0.99);
    --nav-logo-text:     #0D1F3C;

    --hero-bg-grad:      linear-gradient(160deg,#EBF0F8 0%,#F4F6FA 50%,#EBF0F8 100%);
    --stat-label-color:  rgba(13,31,60,0.5);
    --strip-icon-stroke: rgba(255,255,255,0.9);
    --section-lead-color:rgba(13,31,60,0.6);
    --service-desc-color:rgba(13,31,60,0.6);
    --service-icon-stroke:rgba(13,31,60,0.65);

    --why-item-border:   rgba(13,31,60,0.1);
    --why-quote-bg:      linear-gradient(135deg,rgba(26,75,137,0.1),rgba(55,114,178,0.05));
    --why-desc-color:    rgba(13,31,60,0.6);
    --about-text-color:  rgba(13,31,60,0.65);

    --jur-bg:            #FFFFFF;
    --jur-sub-color:     rgba(13,31,60,0.5);
    --jur-icon-stroke:   rgba(13,31,60,0.55);

    --insight-bg:        #F4F6FA;
    --testimonial-bg:    rgba(26,75,137,0.06);
    --testimonial-hover: rgba(26,75,137,0.1);

    --partner-name-color:rgba(13,31,60,0.45);

    /* Footer keeps dark in light mode — brand anchor */
    --footer-bg:         #0D1F3C;
    --footer-tagline:    rgba(255,255,255,0.55);
    --footer-contact:    rgba(255,255,255,0.6);
    --footer-link:       rgba(255,255,255,0.55);
    --footer-copy:       rgba(255,255,255,0.4);
    --social-color:      rgba(255,255,255,0.5);

    --course-bg:         #FFFFFF;
    --course-topic:      rgba(13,31,60,0.55);
    --course-outline-title:rgba(13,31,60,0.45);
    --onsite-step-desc:  rgba(13,31,60,0.55);
    --onsite-step-num:   rgba(26,75,137,0.25);
    --training-offer-desc:rgba(13,31,60,0.65);
    --value-bg:          #F4F6FA;
    --team-bg:           #FFFFFF;
    --page-hero-bg:      linear-gradient(160deg,#EBF0F8 0%,#F4F6FA 100%);
    --scrollbar-track:   #EBF0F8;
    --scrollbar-thumb:   #3772B2;
  }

  /* Global smooth theme transition — applies only after page loads */
  html.theme-ready * { transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important; }
  html.theme-ready .hero-eyebrow,
  html.theme-ready .hero-title,
  html.theme-ready .hero-subtitle,
  html.theme-ready .hero-actions,
  html.theme-ready .hero-visual,
  html.theme-ready .reveal { transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease !important; }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: 'DM Sans', sans-serif; background: var(--page-bg); color: var(--text-primary); overflow-x: hidden; cursor: none; }

  /* CURSOR */
  .cursor { width: 10px; height: 10px; background: var(--gold); border-radius: 50%; position: fixed; top:0; left:0; pointer-events:none; z-index:99999; transition: transform 0.1s ease; }
  .cursor-ring { width:36px; height:36px; border:1px solid rgba(200,168,75,0.4); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:99998; transition:transform 0.15s ease, width 0.2s, height 0.2s; }

  /* NAV */
  nav { position:fixed; top:0; left:0; right:0; z-index:1000; padding:0 4rem; height:80px; display:flex; align-items:center; justify-content:space-between; transition:all 0.4s; }
  nav.scrolled { background:var(--nav-scrolled); backdrop-filter:blur(20px); border-bottom:1px solid var(--glass-border); }
  .nav-logo { display:flex; align-items:center; gap:0.75rem; text-decoration:none; }
  .nav-logo-mark { width:36px; height:36px; background:linear-gradient(135deg,var(--brand-blue),var(--brand-navy)); border-radius:8px; display:flex; align-items:center; justify-content:center; font-family:'Unbounded',sans-serif; font-weight:800; font-size:16px; color:white; flex-shrink:0; }
  .nav-logo-text { font-family:'Unbounded',sans-serif; font-weight:600; font-size:13px; color:white; line-height:1.2; }
  .nav-logo-text span { color:var(--brand-blue); }
  .nav-logo-sub { font-family:'Unbounded',sans-serif; font-size:7px; font-weight:300; letter-spacing:0.25em; color:var(--light-grey); text-transform:uppercase; }
  .nav-links { display:flex; align-items:center; gap:2.2rem; list-style:none; }
  .nav-links > li { position:relative; }
  .nav-links a { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--nav-link-color); text-decoration:none; transition:color 0.3s; position:relative; display:block; padding:4px 0; }
  .nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--gold); transition:width 0.3s; }
  .nav-links a:hover, .nav-links a.active { color:var(--text-primary); }
  .nav-links a:hover::after, .nav-links a.active::after { width:100%; }
  /* Dropdown */
  .has-dropdown:hover .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
  .dropdown { position:absolute; top:calc(100% + 16px); left:-1rem; min-width:180px; background:var(--nav-dropdown-bg); backdrop-filter:blur(20px); border:1px solid var(--border); opacity:0; visibility:hidden; transform:translateY(-8px); transition:all 0.25s; z-index:100; }
  .dropdown a { padding:10px 16px; font-size:8px; letter-spacing:0.15em; border-bottom:1px solid var(--border); display:block; color:var(--text-secondary); }
  .dropdown a:last-child { border-bottom:none; }
  .dropdown a:hover { color:var(--gold); background:rgba(26,75,137,0.1); }
  .nav-cta { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; padding:10px 22px; background:var(--gold); color:var(--navy-deep) !important; text-decoration:none; transition:all 0.3s; clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); }
  .nav-cta:hover { background:var(--gold-light); transform:translateY(-1px); }
  .nav-cta::after { display:none !important; }

  /* PAGES (multi-page) */

  /* ===== HERO ===== */
  .hero {
    min-height: calc(100vh - 80px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding: 120px 5rem 60px 8rem;
    gap: 4rem;
  }
  .hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 55% 65% at 60% 50%,rgba(26,75,137,0.2) 0%,transparent 65%), radial-gradient(ellipse 30% 40% at 10% 80%,rgba(55,114,178,0.1) 0%,transparent 60%), var(--hero-bg-grad); }
  .hero-grid { position:absolute; inset:0; opacity:0.04; background-image:linear-gradient(var(--brand-blue) 1px,transparent 1px),linear-gradient(90deg,var(--brand-blue) 1px,transparent 1px); background-size:60px 60px; }
  .hero-content { position:relative; z-index:2; }
  .hero-eyebrow { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:500; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:12px; margin-bottom:2rem; opacity:0; animation:fadeUp 0.8s 0.2s forwards; }
  .hero-eyebrow::before { content:''; width:32px; height:1px; background:var(--gold); }
  .hero-title { font-family:'Unbounded',sans-serif; font-size:clamp(2.4rem,3.8vw,4rem); font-weight:700; line-height:1.1; letter-spacing:-0.02em; margin-bottom:1.5rem; opacity:0; animation:fadeUp 0.8s 0.35s forwards; }
  .hero-title em { font-style:normal; background:linear-gradient(135deg,var(--brand-blue),var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
  .hero-subtitle { font-size:0.95rem; font-weight:300; line-height:1.75; color:var(--text-secondary); margin-bottom:2.5rem; opacity:0; animation:fadeUp 0.8s 0.5s forwards; }
  .hero-actions { display:flex; gap:1rem; flex-wrap:wrap; opacity:0; animation:fadeUp 0.8s 0.65s forwards; }

  /* HERO STATS BAND — full width below hero */
  .hero-stats-band {
    position: relative; z-index: 2;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: var(--nav-scrolled);
    border-top: 1px solid var(--border);
    backdrop-filter: blur(10px);
  }
  .hero-stat-item {
    padding: 2rem 2.5rem;
    border-right: 1px solid var(--border);
    display: flex; align-items: center; gap: 1.2rem;
    transition: background 0.3s;
  }
  .hero-stat-item:last-child { border-right: none; }
  .hero-stat-item:hover { background: rgba(26,75,137,0.12); }
  .stat-num { font-family:'Unbounded',sans-serif; font-size:2.2rem; font-weight:700; color:var(--gold); display:block; line-height:1; }
  .stat-label { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:300; letter-spacing:0.08em; color:var(--stat-label-color); text-transform:uppercase; line-height:1.5; margin-top:4px; display:block; }
  .stat-divider { width:1px; height:36px; background:linear-gradient(to bottom,transparent,var(--gold),transparent); flex-shrink:0; }

  /* HERO INNOVATION VISUAL */
  .hero-visual {
    position: relative; z-index: 2;
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; animation: fadeUp 0.8s 0.6s forwards;
  }
  .hero-visual-svg-wrap {
    position: relative; width: 100%; max-width: 520px;
    aspect-ratio: 1;
    display: flex; align-items: center; justify-content: center;
  }

  /* SVG Node Animations */
  @keyframes nodePulse {
    0%,100%{ opacity:0.5; r:4; }
    50%{ opacity:1; r:6; }
  }
  @keyframes lineDraw {
    from{ stroke-dashoffset:300; opacity:0; }
    to{ stroke-dashoffset:0; opacity:1; }
  }
  @keyframes orbitSpin {
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
  }
  @keyframes corePulse {
    0%,100%{ opacity:0.15; transform:scale(1); }
    50%{ opacity:0.3; transform:scale(1.08); }
  }
  @keyframes floatLabel {
    0%,100%{ transform:translateY(0); opacity:0.7; }
    50%{ transform:translateY(-4px); opacity:1; }
  }
  @keyframes ringExpand {
    0%{ transform:scale(0.95); opacity:0.2; }
    50%{ transform:scale(1.02); opacity:0.08; }
    100%{ transform:scale(0.95); opacity:0.2; }
  }

  @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
  @keyframes pulse { 0%,100%{transform:scale(1);opacity:0.7} 50%{transform:scale(1.04);opacity:1} }

  /* SERVICES STRIP */
  .services-strip { background:var(--brand-navy); padding:0 4rem; display:flex; align-items:stretch; border-top:1px solid rgba(255,255,255,0.1); }
  .strip-item { flex:1; padding:1.6rem 1.5rem; display:flex; align-items:center; gap:1rem; border-right:1px solid rgba(255,255,255,0.1); transition:background 0.3s; cursor:pointer; }
  .strip-item:last-child { border-right:none; }
  .strip-item:hover { background:rgba(255,255,255,0.06); }
  .strip-icon { width:40px; height:40px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
  .strip-icon svg { width:24px; height:24px; stroke:var(--strip-icon-stroke); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
  .strip-title { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:3px; }
  .strip-desc { font-size:0.72rem; color:rgba(255,255,255,0.55); }

  /* COMMON */
  section { padding:100px 4rem; }
  .section-tag { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:10px; margin-bottom:1.2rem; }
  .section-tag::before { content:''; width:24px; height:1px; background:var(--gold); }
  .section-title { font-family:'Unbounded',sans-serif; font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; line-height:1.15; letter-spacing:-0.02em; margin-bottom:1rem; }
  .section-lead { font-size:1rem; font-weight:300; line-height:1.75; color:var(--section-lead-color); max-width:600px; }

  /* BTN */
  .btn-primary { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; padding:16px 32px; background:var(--gold); color:var(--navy-deep); text-decoration:none; border:none; cursor:pointer; clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%); transition:all 0.3s; display:inline-block; }
  .btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
  .btn-secondary { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; padding:15px 32px; background:transparent; color:var(--text-primary); text-decoration:none; cursor:pointer; border:1px solid var(--border-strong); clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%); transition:all 0.3s; display:inline-block; }
  .btn-secondary:hover { border-color:var(--brand-blue); color:var(--brand-blue); }
  .btn-dark { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; padding:16px 32px; background:var(--navy-deep); color:var(--gold); text-decoration:none; border:none; cursor:pointer; clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%); transition:all 0.3s; display:inline-block; white-space:nowrap; }
  .btn-dark:hover { background:var(--navy); color:var(--gold-light); }

  /* ABOUT SECTION */
  .about-section { background:var(--page-bg-alt); }
  .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
  .about-regions { display:flex; gap:0.75rem; flex-wrap:wrap; margin-top:1.5rem; }
  .region-badge { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; padding:5px 12px; border:1px solid var(--brand-blue); color:var(--brand-blue); }
  .about-card { background:var(--glass-bg); border:1px solid var(--border); padding:2rem; position:relative; overflow:hidden; }
  .about-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:linear-gradient(to bottom,var(--gold),var(--brand-blue)); }
  .about-map-visual { margin-top:1rem; padding:1.5rem; background:rgba(26,75,137,0.08); border:1px solid rgba(26,75,137,0.15); text-align:center; }

  /* SERVICES GRID */
  .services-section { background:var(--page-bg-deep); }
  .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--border); margin-top:3rem; }
  .service-card { background:var(--card-bg); padding:2.5rem; position:relative; overflow:hidden; transition:all 0.4s; cursor:pointer; }
  .service-card:hover { background:var(--card-hover); }
  .service-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:linear-gradient(90deg,var(--gold),var(--brand-blue)); transition:width 0.4s; }
  .service-card:hover::after { width:100%; }
  .service-num { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:300; color:var(--gold); letter-spacing:0.1em; margin-bottom:1.2rem; display:block; }
  .service-icon-wrap { margin-bottom:1.2rem; width:48px; height:48px; }
  .service-icon-wrap svg { width:40px; height:40px; stroke:var(--service-icon-stroke); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; transition:stroke 0.3s; }
  .service-card:hover .service-icon-wrap svg { stroke:var(--gold); }
  .service-name { font-family:'Unbounded',sans-serif; font-size:0.82rem; font-weight:600; letter-spacing:-0.01em; margin-bottom:0.8rem; line-height:1.3; }
  .service-desc { font-size:0.82rem; line-height:1.65; color:var(--service-desc-color); }
  .service-arrow { position:absolute; bottom:1.5rem; right:1.5rem; width:30px; height:30px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--gold); transition:all 0.3s; font-size:0.75rem; }
  .service-card:hover .service-arrow { background:var(--gold); color:var(--navy-deep); border-color:var(--gold); }

  /* WHY US */
  .why-section { background:linear-gradient(160deg,var(--page-bg-alt) 0%,rgba(26,75,137,0.08) 50%,var(--page-bg-alt) 100%); }
  .why-item { display:flex; gap:1.5rem; padding:2rem 0; border-bottom:1px solid var(--why-item-border); transition:padding-left 0.3s; }
  .why-item:first-child { padding-top:0; }
  .why-item:hover { padding-left:0.5rem; }
  .why-num { font-family:'Unbounded',sans-serif; font-size:0.65rem; font-weight:300; color:var(--gold); flex-shrink:0; margin-top:4px; }
  .why-title { font-family:'Unbounded',sans-serif; font-size:0.8rem; font-weight:600; margin-bottom:0.5rem; color:var(--text-primary); }
  .why-desc { font-size:0.83rem; line-height:1.65; color:var(--why-desc-color); }
  .why-visual-card { background:var(--why-quote-bg); border:1px solid rgba(55,114,178,0.3); padding:3rem; position:relative; overflow:hidden; }
  .why-visual-card::before { content:'"'; position:absolute; top:-20px; right:20px; font-size:11rem; font-weight:900; font-family:'Unbounded',sans-serif; color:rgba(55,114,178,0.1); line-height:1; }
  .why-quote { font-size:1rem; font-weight:300; line-height:1.75; font-style:italic; color:var(--text-secondary); margin-bottom:1.5rem; }
  .why-attr-name { font-family:'Unbounded',sans-serif; font-size:0.72rem; font-weight:600; display:block; margin-bottom:3px; }
  .why-attr-role { font-size:0.78rem; color:rgba(255,255,255,0.5); }

  /* JURISDICTIONS */
  .jurisdictions-section { background:var(--page-bg-deep); }
  .jur-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); margin-top:3rem; }
  .jur-item { background:var(--jur-bg); padding:2rem 1.5rem; text-align:center; transition:background 0.3s; }
  .jur-item:hover { background:var(--card-hover); }
  .jur-icon-wrap { width:48px; height:48px; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; }
  .jur-icon-wrap svg { width:36px; height:36px; stroke:var(--jur-icon-stroke); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; transition:stroke 0.3s; }
  .jur-item:hover .jur-icon-wrap svg { stroke:var(--gold); }
  .jur-name { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-primary); margin-bottom:4px; }
  .jur-sub { font-size:0.7rem; color:var(--jur-sub-color); }

  /* INSIGHTS */
  .insights-section { background:var(--page-bg-alt); }
  .insights-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1.5px; background:var(--border); margin-top:3rem; }
  .insight-card { background:var(--insight-bg); padding:2.5rem; position:relative; overflow:hidden; transition:background 0.3s; cursor:pointer; }
  .insight-card:hover { background:var(--card-hover); }
  .insight-card.featured { padding:3rem; }
  .insight-tag { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; display:inline-block; padding:4px 10px; border:1px solid rgba(200,168,75,0.3); }
  .insight-title { font-family:'Unbounded',sans-serif; font-size:0.92rem; font-weight:600; line-height:1.4; letter-spacing:-0.01em; margin-bottom:1rem; }
  .insight-card.featured .insight-title { font-size:1.2rem; }
  .insight-excerpt { font-size:0.82rem; line-height:1.65; color:var(--text-muted); margin-bottom:1.5rem; }
  .insight-meta { display:flex; align-items:center; gap:1rem; font-family:'Unbounded',sans-serif; font-size:7px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-subtle); }

  /* TESTIMONIALS */
  .testimonials-section { background:var(--brand-navy); }
  .testimonials-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5px; background:rgba(255,255,255,0.05); margin-top:3rem; }
  .testimonial-card { background:var(--testimonial-bg); padding:2.5rem; transition:background 0.3s; }
  .testimonial-card:hover { background:var(--testimonial-hover); }
  .testimonial-card::before { content:'\201C'; font-size:5rem; font-family:'Unbounded',sans-serif; color:var(--gold); opacity:0.3; line-height:0.8; display:block; margin-bottom:0.5rem; }
  .testimonial-text { font-size:0.88rem; line-height:1.75; font-weight:300; font-style:italic; color:rgba(255,255,255,0.8); margin-bottom:1.5rem; }
  .testimonial-author { display:flex; align-items:center; gap:0.75rem; }
  .author-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--brand-blue),var(--brand-navy)); display:flex; align-items:center; justify-content:center; font-family:'Unbounded',sans-serif; font-size:12px; font-weight:600; flex-shrink:0; }
  .author-name { font-family:'Unbounded',sans-serif; font-size:0.72rem; font-weight:600; display:block; margin-bottom:2px; }
  .author-role { font-size:0.72rem; color:rgba(255,255,255,0.45); }

  /* PARTNERS */
  .partners-section { background:var(--page-bg-deep); padding:60px 4rem; }
  .partners-logos { display:flex; align-items:center; flex-wrap:wrap; border:1px solid var(--glass-border); }
  .partner-item { flex:1; min-width:140px; padding:1.4rem 1.8rem; border-right:1px solid var(--glass-border); display:flex; align-items:center; justify-content:center; transition:background 0.3s; }
  .partner-item:last-child { border-right:none; }
  .partner-item:hover { background:var(--glass); }
  .partner-name { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--partner-name-color); text-align:center; }

  /* CTA BANNER */
  .cta-section { background:linear-gradient(135deg,var(--gold) 0%,#A8862A 100%); padding:80px 4rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
  .cta-title { font-family:'Unbounded',sans-serif; font-size:clamp(1.5rem,3vw,2.4rem); font-weight:700; color:var(--navy-deep); line-height:1.2; letter-spacing:-0.02em; margin-bottom:0.75rem; }
  .cta-sub { font-size:0.95rem; color:rgba(7,19,40,0.7); font-weight:300; }

  /* FOOTER */
  footer { background:var(--footer-bg); border-top:1px solid var(--border); padding:70px 4rem 30px; }
  .footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; margin-bottom:4rem; }
  .footer-logo-text { font-family:'Unbounded',sans-serif; font-size:1rem; font-weight:700; margin-bottom:1rem; }
  .footer-logo-text span { color:var(--brand-blue); }
  .footer-tagline { font-size:0.82rem; line-height:1.6; color:var(--footer-tagline); margin-bottom:1.5rem; }
  .footer-contact-item { display:flex; align-items:center; gap:0.6rem; font-size:0.8rem; color:var(--footer-contact); margin-bottom:0.5rem; }
  .footer-contact-item span:first-child { color:var(--gold); width:14px; }
  .footer-col-title { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; display:flex; align-items:center; gap:8px; }
  .footer-col-title::after { content:''; flex:1; height:1px; background:var(--border); }
  .footer-links { list-style:none; }
  .footer-links li { margin-bottom:0.6rem; }
  .footer-links a { font-size:0.82rem; color:var(--footer-link); text-decoration:none; transition:color 0.3s; font-weight:300; }
  .footer-links a:hover { color:white; }
  .footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:2rem; border-top:1px solid var(--border); flex-wrap:wrap; gap:1rem; }
  .footer-copy { font-family:'Unbounded',sans-serif; font-size:7px; letter-spacing:0.1em; color:var(--footer-copy); }
  .footer-social { display:flex; gap:0.75rem; }
  .social-icon { width:34px; height:34px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--social-color); transition:all 0.3s; cursor:pointer; text-decoration:none; }
  .social-icon:hover { border-color:var(--gold); color:var(--gold); }
  .social-icon svg { width:16px; height:16px; stroke:currentColor; stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }

  /* REVEAL */
  .reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease,transform 0.7s ease; }
  .reveal.visible { opacity:1; transform:translateY(0); }
  .reveal-delay-1 { transition-delay:0.1s; }
  .reveal-delay-2 { transition-delay:0.2s; }
  .reveal-delay-3 { transition-delay:0.3s; }
  .reveal-delay-4 { transition-delay:0.4s; }

  /* PAGE HERO */
  .page-hero { padding:140px 4rem 80px; background:var(--page-hero-bg); position:relative; overflow:hidden; }
  .page-hero::after { content:''; position:absolute; top:0; right:0; width:40%; height:100%; background:radial-gradient(ellipse at right,rgba(55,114,178,0.1) 0%,transparent 70%); }
  .page-hero-content { position:relative; z-index:2; }
  .breadcrumb { font-family:'Unbounded',sans-serif; font-size:8px; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-subtle); margin-bottom:1rem; display:flex; align-items:center; gap:0.5rem; }
  .breadcrumb a { color:var(--text-subtle); text-decoration:none; }
  .breadcrumb a:hover { color:var(--gold); }
  .page-title { font-family:'Unbounded',sans-serif; font-size:clamp(2.2rem,4vw,4rem); font-weight:700; line-height:1.1; letter-spacing:-0.02em; }
  .page-lead { font-size:1rem; font-weight:300; line-height:1.75; color:var(--text-secondary); max-width:600px; margin-top:1rem; }

  /* ABOUT PAGE */
  .about-page-section { padding:80px 4rem; background:var(--page-bg-alt); }
  .about-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
  .about-text h3 { font-family:'Unbounded',sans-serif; font-size:1.1rem; font-weight:600; margin-bottom:1rem; margin-top:2rem; }
  .about-text h3:first-child { margin-top:0; }
  .about-text p { font-size:0.88rem; line-height:1.75; color:var(--about-text-color); margin-bottom:1rem; }
  .values-list { list-style:none; display:flex; flex-direction:column; gap:0.5rem; margin-top:1rem; }
  .values-list li { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.85rem; color:var(--about-text-color); line-height:1.5; }
  .values-list li::before { content:'→'; color:var(--gold); flex-shrink:0; margin-top:1px; }

  /* VALUES IN ABOUT */
  .values-section-about { padding:80px 4rem; background:var(--page-bg-deep); }
  .values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--border); margin-top:3rem; }
  .value-card { background:var(--card-bg); padding:2.5rem; transition:all 0.3s; position:relative; overflow:hidden; }
  .value-card:hover { background:var(--card-hover); }
  .value-card::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:linear-gradient(90deg,var(--gold),var(--brand-blue)); transition:width 0.4s; }
  .value-card:hover::after { width:100%; }
  .value-icon-wrap { width:48px; height:48px; margin-bottom:1.2rem; }
  .value-icon-wrap svg { width:40px; height:40px; stroke:var(--strip-icon-stroke); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; transition:stroke 0.3s; }
  .value-card:hover .value-icon-wrap svg { stroke:var(--gold); }
  .value-title { font-family:'Unbounded',sans-serif; font-size:0.85rem; font-weight:600; margin-bottom:0.75rem; }
  .value-desc { font-size:0.83rem; line-height:1.7; color:var(--service-desc-color); }

  /* TEAM */
  .team-section { padding:80px 4rem; background:var(--page-bg-deep); }
  .team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5px; background:var(--border); margin-top:3rem; }
  .team-card { background:var(--team-bg); padding:2rem 1.5rem; text-align:center; transition:background 0.3s; }
  .team-card:hover { background:var(--card-hover); }
  .team-avatar { width:80px; height:80px; border-radius:50%; margin:0 auto 1rem; background:linear-gradient(135deg,var(--brand-navy),var(--brand-blue)); display:flex; align-items:center; justify-content:center; font-family:'Unbounded',sans-serif; font-size:1.2rem; font-weight:700; border:2px solid rgba(55,114,178,0.3); }
  .team-name { font-family:'Unbounded',sans-serif; font-size:0.78rem; font-weight:600; margin-bottom:0.4rem; }
  .team-role { font-size:0.72rem; color:var(--text-muted); line-height:1.4; }
  .team-gold { color:var(--gold); }

  /* SERVICES PAGE */
  .services-page { padding:80px 4rem; background:var(--page-bg-alt); }
  .service-detail { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; padding:4rem 0; border-bottom:1px solid var(--border); }
  .service-detail:last-child { border-bottom:none; }
  .service-detail:nth-child(even) .service-detail-text { order:2; }
  .service-detail:nth-child(even) .service-detail-visual { order:1; }
  .service-detail-tag { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
  .service-detail-title { font-family:'Unbounded',sans-serif; font-size:1.6rem; font-weight:700; line-height:1.2; letter-spacing:-0.02em; margin-bottom:1rem; }
  .service-detail-text p { font-size:0.88rem; line-height:1.75; color:var(--text-secondary); margin-bottom:1rem; }
  .service-features { list-style:none; margin-top:1.5rem; display:flex; flex-direction:column; gap:0.6rem; }
  .service-features li { display:flex; align-items:center; gap:0.75rem; font-size:0.84rem; color:var(--text-secondary); }
  .service-features li::before { content:''; width:6px; height:6px; border:1px solid var(--gold); border-radius:50%; flex-shrink:0; }
  .service-detail-visual { background:linear-gradient(135deg,rgba(26,75,137,0.18),rgba(55,114,178,0.08)); border:1px solid rgba(55,114,178,0.2); padding:3rem; display:flex; align-items:center; justify-content:center; min-height:280px; position:relative; overflow:hidden; }
  .service-visual-bg { position:absolute; inset:0; background:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(55,114,178,0.04) 20px,rgba(55,114,178,0.04) 21px); }
  .service-visual-icon-wrap { position:relative; z-index:1; text-align:center; }
  .service-visual-icon-wrap svg { width:80px; height:80px; stroke:rgba(255,255,255,0.25); stroke-width:1; fill:none; stroke-linecap:round; stroke-linejoin:round; }
  .service-visual-label { font-family:'Unbounded',sans-serif; font-size:8px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.3); margin-top:1rem; }

  /* IP TRAINING PAGE */
  .training-page { padding:80px 4rem; background:var(--page-bg-alt); }
  .training-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; margin-bottom:5rem; }
  .training-badge-list { display:flex; flex-direction:column; gap:0.75rem; margin-top:1.5rem; }
  .training-badge { display:flex; align-items:center; gap:0.75rem; padding:0.9rem 1.2rem; background:rgba(26,75,137,0.07); border:1px solid rgba(55,114,178,0.15); font-size:0.84rem; color:var(--text-secondary); }
  .training-badge svg { width:18px; height:18px; stroke:var(--gold); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
  /* Delivery methods */
  .delivery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--glass-border); margin-top:1rem; }
  .delivery-item { background:var(--page-bg-deep); padding:1.5rem; text-align:center; }
  .delivery-icon { margin-bottom:0.75rem; }
  .delivery-icon svg { width:32px; height:32px; stroke:var(--brand-blue); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
  .delivery-title { font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:4px; color:var(--text-primary); }
  .delivery-desc { font-size:0.75rem; color:var(--text-muted); }
  /* Courses */
  .courses-header { margin-bottom:3rem; }
  .courses-tabs { display:flex; gap:0; border:1px solid var(--glass-border); width:fit-content; margin-bottom:3rem; }
  .course-tab { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; padding:12px 24px; background:transparent; color:rgba(255,255,255,0.5); border:none; cursor:pointer; transition:all 0.3s; border-right:1px solid var(--glass-border); }
  .course-tab:last-child { border-right:none; }
  .course-tab.active, .course-tab:hover { background:var(--brand-navy); color:white; }
  .courses-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5px; background:var(--border); }
  .course-card { background:var(--course-bg); padding:2.5rem; position:relative; transition:background 0.3s; }
  .course-card:hover { background:var(--card-hover); }
  .course-num { font-family:'Unbounded',sans-serif; font-size:0.65rem; font-weight:300; color:var(--gold); letter-spacing:0.15em; display:block; margin-bottom:0.75rem; }
  .course-title { font-family:'Unbounded',sans-serif; font-size:0.88rem; font-weight:600; line-height:1.3; letter-spacing:-0.01em; margin-bottom:1rem; }
  .course-desc { font-size:0.82rem; line-height:1.65; color:var(--service-desc-color); margin-bottom:1.5rem; }
  .course-outline { margin-bottom:1.5rem; }
  .course-outline-title { font-family:'Unbounded',sans-serif; font-size:8px; letter-spacing:0.15em; text-transform:uppercase; color:var(--course-outline-title); margin-bottom:0.6rem; }
  .course-topics { list-style:none; display:flex; flex-direction:column; gap:0.35rem; }
  .course-topics li { font-size:0.78rem; color:var(--course-topic); display:flex; align-items:center; gap:0.5rem; }
  .course-topics li::before { content:''; width:4px; height:4px; background:var(--gold); border-radius:50%; flex-shrink:0; }
  .course-actions { display:flex; gap:0.75rem; flex-wrap:wrap; }
  .btn-course { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:10px 18px; background:var(--gold); color:var(--navy-deep); text-decoration:none; border:none; cursor:pointer; transition:all 0.3s; display:inline-block; }
  .btn-course:hover { background:var(--gold-light); }
  .btn-course-outline { background:transparent; color:var(--text-secondary); border:1px solid var(--border); }
  .btn-course-outline:hover { border-color:var(--brand-blue); color:white; background:transparent; }
  .course-badge { position:absolute; top:1.5rem; right:1.5rem; font-family:'Unbounded',sans-serif; font-size:7px; letter-spacing:0.1em; text-transform:uppercase; padding:4px 10px; }
  .badge-khda { background:rgba(200,168,75,0.15); border:1px solid rgba(200,168,75,0.3); color:var(--gold); }
  /* On-site section */
  .onsite-section { padding:80px 4rem; background:var(--page-bg-deep); }
  .onsite-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
  .onsite-steps { display:flex; flex-direction:column; gap:0; margin-top:2rem; }
  .onsite-step { display:flex; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--border); }
  .onsite-step:last-child { border-bottom:none; }
  .onsite-step-num { font-family:'Unbounded',sans-serif; font-size:1.5rem; font-weight:700; color:var(--onsite-step-num); flex-shrink:0; line-height:1; margin-top:2px; }
  .onsite-step-title { font-family:'Unbounded',sans-serif; font-size:0.78rem; font-weight:600; margin-bottom:0.4rem; color:var(--text-primary); }
  .onsite-step-desc { font-size:0.82rem; color:var(--onsite-step-desc); line-height:1.55; }
  .onsite-visual { background:linear-gradient(135deg,rgba(26,75,137,0.2),rgba(55,114,178,0.1)); border:1px solid rgba(55,114,178,0.2); padding:3rem; }
  .onsite-form-title { font-family:'Unbounded',sans-serif; font-size:0.9rem; font-weight:600; margin-bottom:1.5rem; }
  /* Training offer */
  .training-offer { background:linear-gradient(135deg,rgba(200,168,75,0.12),rgba(200,168,75,0.05)); border:1px solid rgba(200,168,75,0.25); padding:2rem; margin-top:1rem; }
  .training-offer-title { font-family:'Unbounded',sans-serif; font-size:0.8rem; font-weight:600; color:var(--gold); margin-bottom:0.5rem; }
  .training-offer-desc { font-size:0.82rem; color:var(--training-offer-desc); line-height:1.6; }

  /* CONTACT PAGE */
  .contact-page { padding:80px 4rem; background:var(--page-bg-alt); }
  .contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:4rem; }
  .contact-detail { display:flex; gap:1rem; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
  .contact-detail:last-of-type { border-bottom:none; }
  .contact-icon { width:44px; height:44px; flex-shrink:0; background:rgba(26,75,137,0.2); border:1px solid rgba(55,114,178,0.2); display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
  .contact-detail-title { font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
  .contact-detail-info { font-size:0.85rem; color:var(--text-secondary); line-height:1.5; }
  .form-title { font-family:'Unbounded',sans-serif; font-size:1rem; font-weight:600; margin-bottom:2rem; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
  .form-group { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1rem; }
  .form-label { font-family:'Unbounded',sans-serif; font-size:7px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-muted); }
  .form-input, .form-select, .form-textarea { background:var(--input-bg); border:1px solid var(--border); padding:12px 16px; color:var(--input-text); font-family:'DM Sans',sans-serif; font-size:0.88rem; outline:none; transition:border-color 0.3s; -webkit-appearance:none; }
  .form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--brand-blue); background:var(--input-bg-focus); }
  .form-textarea { resize:vertical; min-height:120px; }
  .form-select option { background:var(--select-option-bg); color:var(--input-text); }

  /* NEWS PAGE */
  .news-page { padding:80px 4rem; background:var(--page-bg-alt); }
  .news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--border); margin-top:3rem; }
  .news-card { background:var(--card-bg-alt); padding:2rem; transition:background 0.3s; cursor:pointer; }
  .news-card:hover { background:var(--card-hover); }
  .news-date { font-family:'Unbounded',sans-serif; font-size:7px; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; margin-bottom:0.75rem; }
  .news-title { font-family:'Unbounded',sans-serif; font-size:0.82rem; font-weight:600; line-height:1.45; letter-spacing:-0.01em; margin-bottom:0.75rem; }
  .news-excerpt { font-size:0.8rem; line-height:1.65; color:var(--text-muted); }

  /* MOBILE */
  .mobile-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:5px; }
  .mobile-toggle span { display:block; width:24px; height:2px; background:var(--text-primary); transition:all 0.3s; }
  ::-webkit-scrollbar { width:6px; }
  ::-webkit-scrollbar-track { background:var(--scrollbar-track); }
  ::-webkit-scrollbar-thumb { background:var(--scrollbar-thumb); }
  .nav-links a.active { color:var(--gold); }

  @media (max-width:1200px) { .hero { grid-template-columns:1fr 1fr; padding-left:4rem; } }
    .hero { grid-template-columns:1.1fr 0.9fr; }
  }
  @media (max-width:1024px) {
    nav { padding:0 2rem; }
    section, .about-page-section,.team-section,.services-page,.contact-page,.news-page,.values-section-about,.training-page,.onsite-section { padding:60px 2rem; }
    .hero,.page-hero,.cta-section,.partners-section { padding-left:2rem; padding-right:2rem; }
    .hero { grid-template-columns:1fr; padding-top:120px; padding-bottom:60px; }
    .hero-visual { display:none; }
    .about-grid,.about-intro-grid,.why-grid,.contact-grid,.training-intro-grid,.onsite-grid { grid-template-columns:1fr; gap:2.5rem; }
    .services-grid,.jur-grid { grid-template-columns:repeat(2,1fr); }
    .team-grid { grid-template-columns:repeat(2,1fr); }
    .insights-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
    footer { padding:50px 2rem 30px; }
    .cta-section { flex-direction:column; align-items:flex-start; }
    .service-detail { grid-template-columns:1fr; gap:2rem; }
    .service-detail:nth-child(even) .service-detail-text { order:1; }
    .service-detail:nth-child(even) .service-detail-visual { order:2; }
    .form-row { grid-template-columns:1fr; }
    .services-strip { flex-wrap:wrap; padding:0 2rem; }
    .courses-grid { grid-template-columns:1fr; }
  }
  @media (max-width:768px) {
    .nav-links { display:none; }
    .nav-cta { display:none; }
    .mobile-toggle { display:flex; }
    .hero-title { font-size:2.2rem; }
    .services-grid { grid-template-columns:1fr; }
    .jur-grid { grid-template-columns:repeat(2,1fr); }
    .testimonials-grid { grid-template-columns:1fr; }
    .team-grid { grid-template-columns:repeat(2,1fr); }
    .news-grid,.values-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .partners-logos { flex-wrap:wrap; }
    .partner-item { min-width:120px; border-right:none; border-bottom:1px solid var(--glass-border); }
  }

  /* ══════════════════════════════════════════════════
     THEME TOGGLE BUTTON
  ══════════════════════════════════════════════════ */
  .theme-toggle {
    background: none; border: none; cursor: pointer;
    padding: 0; margin-right: 0.75rem;
    display: flex; align-items: center;
    position: relative;
  }
  .theme-toggle-track {
    width: 52px; height: 28px;
    border-radius: 14px;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    position: relative;
    display: flex; align-items: center;
    transition: background 0.35s ease, border-color 0.35s ease;
    overflow: hidden;
  }
  html.light .theme-toggle-track {
    background: rgba(26,75,137,0.1);
    border-color: rgba(26,75,137,0.2);
  }
  .theme-toggle-thumb {
    position: absolute;
    left: 3px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--gold);
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), background 0.35s ease;
    z-index: 2;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
  }
  html.light .theme-toggle-thumb {
    transform: translateX(24px);
    background: var(--brand-blue);
  }
  .theme-icon {
    position: absolute;
    width: 13px; height: 13px;
    fill: none; stroke: rgba(255,255,255,0.7);
    stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
    transition: opacity 0.25s ease, transform 0.35s ease;
  }
  .theme-icon-dark {
    right: 5px; opacity: 1;
    fill: rgba(255,255,255,0.6); stroke: none;
  }
  .theme-icon-light {
    left: 5px; opacity: 0.3;
  }
  html.light .theme-icon-dark { opacity: 0.25; fill: rgba(13,31,60,0.4); }
  html.light .theme-icon-light { opacity: 1; stroke: var(--brand-blue); }

  /* Tooltip */
  .theme-toggle::after {
    content: attr(title);
    position: absolute; bottom: calc(100% + 8px); left: 50%;
    transform: translateX(-50%);
    background: rgba(7,19,40,0.95);
    color: rgba(255,255,255,0.8);
    font-family: 'Unbounded', sans-serif;
    font-size: 7px; letter-spacing: 0.12em;
    text-transform: uppercase; white-space: nowrap;
    padding: 5px 10px;
    opacity: 0; pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .theme-toggle:hover::after { opacity: 1; }

  /* ══════════════════════════════════════════════════
     LIGHT MODE — ELEMENT OVERRIDES
     (for things that can't be reached by token alone)
  ══════════════════════════════════════════════════ */

  /* nav logo text colour */
  html.light .nav-logo-text { color: #0D1F3C; }
  html.light .nav-logo-sub  { color: #6F7072; }

  /* nav scrolled state */
  html.light nav.scrolled { box-shadow: 0 1px 24px rgba(13,31,60,0.08); }

  /* hero overrides */
  html.light .hero-bg {
    background: radial-gradient(ellipse 55% 65% at 60% 50%,rgba(26,75,137,0.1) 0%,transparent 65%),
                radial-gradient(ellipse 30% 40% at 10% 80%,rgba(55,114,178,0.06) 0%,transparent 60%),
                var(--hero-bg-grad);
  }
  html.light .hero-grid { opacity: 0.04; }
  html.light .hero-title { color: #0D1F3C; }
  html.light .hero-title em { background: linear-gradient(135deg, var(--brand-blue), var(--gold)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
  html.light .hero-eyebrow { color: var(--gold); }
  html.light .stat-num { color: var(--gold); }

  /* services strip — keep dark (brand background) */
  html.light .services-strip { background: var(--brand-navy); }
  html.light .strip-desc { color: rgba(255,255,255,0.65); }
  html.light .strip-title { color: white; }

  /* section titles always use text-primary */
  html.light .section-title { color: var(--text-primary); }
  html.light .section-tag { color: var(--gold); }
  html.light .section-tag::before { background: var(--gold); }

  /* about card left bar */
  html.light .about-card::before { background: linear-gradient(to bottom, var(--gold), var(--brand-blue)); }
  html.light .about-card { background: #FFFFFF; border-color: rgba(13,31,60,0.1); }
  html.light .about-map-visual { color: rgba(13,31,60,0.4); }

  /* region badge */
  html.light .region-badge { border-color: var(--brand-blue); color: var(--brand-blue); }

  /* service card — bottom line stays gold/blue */
  html.light .service-card::after { background: linear-gradient(90deg, var(--gold), var(--brand-blue)); }
  html.light .service-num { color: var(--gold); }
  html.light .service-name { color: var(--text-primary); }
  html.light .service-card:hover .service-icon-wrap svg { stroke: var(--gold); }

  /* service arrow */
  html.light .service-card:hover .service-arrow { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }

  /* why section quote card */
  html.light .why-visual-card { border: 1px solid rgba(26,75,137,0.2); }
  html.light .why-visual-card::before { color: rgba(26,75,137,0.08); }
  html.light .why-attr-name { color: var(--text-primary); }
  html.light .why-attr-role { color: var(--text-muted); }
  html.light .why-num { color: var(--gold); }

  /* jur hover */
  html.light .jur-item::after { background: linear-gradient(90deg, var(--gold), var(--brand-blue)); }
  html.light .jur-item:hover .jur-name { color: var(--gold); }
  html.light .jur-item { box-shadow: none; }
  html.light .jur-item:hover { box-shadow: 0 4px 20px rgba(13,31,60,0.08); }

  /* insight title */
  html.light .insight-title { color: var(--text-primary); }
  html.light .insight-tag { color: var(--gold); border-color: rgba(200,168,75,0.35); }

  /* testimonials — stays brand navy, keep white text */
  html.light .testimonials-section { background: var(--brand-navy); }
  html.light .testimonial-text { color: rgba(255,255,255,0.85); }
  html.light .author-name { color: white; }
  html.light .author-role { color: rgba(255,255,255,0.55); }
  html.light .testimonial-card::before { color: rgba(200,168,75,0.35); }

  /* partner item border */
  html.light .partner-item { border-right-color: rgba(13,31,60,0.1); }
  html.light .partner-item:hover { background: rgba(26,75,137,0.05); }

  /* CTA section stays gold — keep dark text */
  html.light .cta-section { background: linear-gradient(135deg, var(--gold) 0%, #A8862A 100%); }
  html.light .cta-title { color: #071328; }
  html.light .cta-sub { color: rgba(7,19,40,0.7); }

  /* Footer always dark */
  html.light footer { background: var(--footer-bg); }
  html.light .footer-logo-text { color: white; }
  html.light .footer-col-title { color: var(--gold); }
  html.light .footer-links a:hover { color: white; }
  html.light .social-icon:hover { border-color: var(--gold); color: var(--gold); }

  /* Page heroes */
  html.light .page-hero::after { background: radial-gradient(ellipse at right, rgba(55,114,178,0.08) 0%, transparent 70%); }

  /* breadcrumb link hover */
  html.light .breadcrumb a:hover { color: var(--gold); }

  /* btn-secondary in light */
  html.light .btn-secondary:hover { border-color: var(--brand-blue); color: var(--brand-blue); }

  /* forms */
  html.light .form-input::placeholder,
  html.light .form-textarea::placeholder { color: rgba(13,31,60,0.35); }
  html.light .contact-icon { background: rgba(26,75,137,0.1); border-color: rgba(26,75,137,0.2); }
  html.light .contact-detail-title { color: var(--gold); }

  /* course tab */
  html.light .course-tab { color: rgba(13,31,60,0.5); }
  html.light .course-tab.active, html.light .course-tab:hover { background: var(--brand-navy); color: white; }
  html.light .course-num { color: var(--gold); }
  html.light .course-title { color: var(--text-primary); }
  html.light .badge-khda { background: rgba(200,168,75,0.1); border-color: rgba(200,168,75,0.3); color: var(--gold); }
  html.light .btn-course-outline:hover { border-color: var(--brand-blue); color: var(--brand-navy); }

  /* onsite visual */
  html.light .onsite-visual { background: linear-gradient(135deg,rgba(26,75,137,0.08),rgba(55,114,178,0.05)); border-color: rgba(55,114,178,0.15); }
  html.light .onsite-form-title { color: var(--text-primary); }

  /* training offer */
  html.light .training-offer { background: linear-gradient(135deg,rgba(200,168,75,0.08),rgba(200,168,75,0.03)); border-color: rgba(200,168,75,0.2); }
  html.light .training-offer-title { color: var(--gold); }

  /* delivery icons */
  html.light .delivery-icon svg { stroke: var(--brand-blue); }
  html.light .delivery-grid { background: var(--border); }

  /* news title */
  html.light .news-title { color: var(--text-primary); }
  html.light .news-date { color: var(--gold); }

  /* about page text */
  html.light .about-text h3 { color: var(--text-primary); }
  html.light .team-name { color: var(--text-primary); }
  html.light .team-gold { color: var(--gold); }
  html.light .team-avatar { background: linear-gradient(135deg, var(--brand-navy), var(--brand-blue)); border-color: rgba(55,114,178,0.3); }

  /* value title */
  html.light .value-title { color: var(--text-primary); }

  /* service detail visual */
  html.light .service-detail-visual { background: linear-gradient(135deg,rgba(26,75,137,0.06),rgba(55,114,178,0.03)); border-color: rgba(55,114,178,0.15); }
  html.light .service-visual-icon-wrap svg { stroke: rgba(13,31,60,0.2); }
  html.light .service-visual-label { color: rgba(13,31,60,0.3); }
  html.light .service-detail-tag { color: var(--gold); }
  html.light .service-detail-title { color: var(--text-primary); }
  html.light .service-features li::before { border-color: var(--gold); }

  /* why section sub-grid */
  html.light [style*="background:var(--glass-border)"] { background: var(--border); }

  /* hero stats band in light */
  html.light .hero-stats-band { background: rgba(255,255,255,0.92); backdrop-filter: blur(10px); }
  html.light .hero-stat-item:hover { background: rgba(26,75,137,0.06); }

  /* nav links active underline */
  html.light .nav-links a::after { background: var(--gold); }

  /* mobile menu */
  html.light .mobile-toggle span { background: var(--text-primary); }

  /* footer links in partners inside About page */
  html.light [style*="background:var(--navy)"] { background: var(--page-bg-alt); }

  /* service grid wrapper background (the gap colour) */
  html.light .services-grid,
  html.light .jur-grid,
  html.light .values-grid,
  html.light .team-grid,
  html.light .news-grid,
  html.light .courses-grid,
  html.light .insights-grid,
  html.light .testimonials-grid { background: var(--border); }

  /* hero SVG nodes — keep subtle */
  html.light .hero-visual-svg-wrap rect { fill: rgba(255,255,255,0.9); stroke: rgba(26,75,137,0.3); }
  html.light .hero-visual-svg-wrap text { fill: rgba(13,31,60,0.8); }


  /* MULTI-PAGE EXTRAS */
  html.theme-ready * { transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important; }
  html.theme-ready .hero-eyebrow,html.theme-ready .hero-title,html.theme-ready .hero-subtitle,
  html.theme-ready .hero-actions,html.theme-ready .hero-visual,html.theme-ready .reveal {
    transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease !important; }

/* =====================================================
   ADDITIONS — Article view, cookie banner, reading bar,
   page-hero typography, skip link (extended for theme)
   ===================================================== */

/* =====================================================
   COOKIE CONSENT BANNER
   ===================================================== */
.cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9000;
  background: rgba(7,19,40,0.98);
  border-top: 1px solid rgba(200,168,75,0.25);
  backdrop-filter: blur(20px);
  padding: 1.5rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  transform: translateY(100%);
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.cookie-banner.visible { transform: translateY(0); }
.cookie-banner-left { display: flex; align-items: flex-start; gap: 1.2rem; flex: 1; }
.cookie-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: rgba(200,168,75,0.1);
  border: 1px solid rgba(200,168,75,0.3);
  display: flex; align-items: center; justify-content: center;
  margin-top: 2px;
}
.cookie-icon svg { width:20px; height:20px; stroke:var(--gold); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.cookie-text {}
.cookie-title { font-family:'Unbounded',sans-serif; font-size:10px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:0.4rem; }
.cookie-desc { font-size:0.8rem; line-height:1.6; color:rgba(255,255,255,0.55); max-width:680px; }
.cookie-desc a { color:var(--brand-blue); text-decoration:none; }
.cookie-desc a:hover { color:var(--gold); }
.cookie-actions { display:flex; gap:0.75rem; flex-wrap:wrap; align-items:center; flex-shrink:0; }
.btn-cookie-accept {
  font-family:'Unbounded',sans-serif; font-size:8px; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase;
  padding:12px 24px; background:var(--gold); color:var(--navy-deep);
  border:none; cursor:pointer; transition:all 0.3s;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.btn-cookie-accept:hover { background:var(--gold-light); }
.btn-cookie-decline {
  font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500;
  letter-spacing:0.15em; text-transform:uppercase;
  padding:11px 24px; background:transparent; color:rgba(255,255,255,0.5);
  border:1px solid rgba(255,255,255,0.15); cursor:pointer; transition:all 0.3s;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
}
.btn-cookie-decline:hover { border-color:rgba(255,255,255,0.35); color:rgba(255,255,255,0.75); }
.btn-cookie-manage {
  font-family:'Unbounded',sans-serif; font-size:7px; font-weight:400;
  letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.35); background:none; border:none;
  cursor:pointer; transition:color 0.3s; text-decoration:underline;
  text-underline-offset:3px;
}
.btn-cookie-manage:hover { color:rgba(255,255,255,0.6); }

/* Cookie preferences modal */
.cookie-modal-overlay {
  position:fixed; inset:0; z-index:9100;
  background:rgba(7,19,40,0.85); backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:all 0.3s;
}
.cookie-modal-overlay.open { opacity:1; visibility:visible; }
.cookie-modal {
  background:var(--navy); border:1px solid var(--glass-border);
  max-width:580px; width:90%; max-height:85vh; overflow-y:auto;
  position:relative;
}
.cookie-modal-header {
  padding:2rem 2rem 1.5rem;
  border-bottom:1px solid var(--glass-border);
  display:flex; align-items:center; justify-content:space-between;
}
.cookie-modal-title {
  font-family:'Unbounded',sans-serif; font-size:0.9rem; font-weight:600;
  letter-spacing:-0.01em;
}
.cookie-modal-close {
  width:32px; height:32px; background:none; border:1px solid var(--glass-border);
  color:rgba(255,255,255,0.5); cursor:pointer; font-size:1rem;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.3s;
}
.cookie-modal-close:hover { border-color:var(--gold); color:var(--gold); }
.cookie-modal-body { padding:1.5rem 2rem 2rem; }
.cookie-category {
  padding:1.2rem 0; border-bottom:1px solid var(--glass-border);
}
.cookie-category:last-child { border-bottom:none; }
.cookie-cat-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:0.5rem;
}
.cookie-cat-name {
  font-family:'Unbounded',sans-serif; font-size:9px; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
}
.cookie-cat-desc { font-size:0.78rem; color:rgba(255,255,255,0.5); line-height:1.55; }
/* Toggle switch */
.cookie-toggle { position:relative; width:42px; height:24px; flex-shrink:0; }
.cookie-toggle input { opacity:0; width:0; height:0; }
.cookie-slider {
  position:absolute; inset:0; cursor:pointer;
  background:rgba(255,255,255,0.1); border:1px solid var(--glass-border);
  border-radius:24px; transition:0.3s;
}
.cookie-slider::before {
  content:''; position:absolute;
  width:16px; height:16px; left:3px; top:50%;
  transform:translateY(-50%);
  background:rgba(255,255,255,0.4);
  border-radius:50%; transition:0.3s;
}
.cookie-toggle input:checked + .cookie-slider { background:var(--gold); border-color:var(--gold); }
.cookie-toggle input:checked + .cookie-slider::before { transform:translate(18px,-50%); background:var(--navy-deep); }
.cookie-toggle input:disabled + .cookie-slider { opacity:0.5; cursor:not-allowed; }
.cookie-modal-footer {
  padding:1.5rem 2rem;
  border-top:1px solid var(--glass-border);
  display:flex; gap:0.75rem; justify-content:flex-end;
}

/* =====================================================
   ARTICLE / INSIGHT READING VIEW STYLES
   ===================================================== */
.article-hero {
  padding: 140px 4rem 70px;
  background: linear-gradient(160deg, #071328 0%, #0D1F3C 100%);
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--glass-border);
}
.article-hero::after {
  content: ''; position:absolute; top:0; right:0;
  width:40%; height:100%;
  background: radial-gradient(ellipse at right, rgba(55,114,178,0.1) 0%, transparent 70%);
}
.article-hero-content { position:relative; z-index:2; max-width:860px; }
.article-category {
  font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--gold);
  display:inline-flex; align-items:center; gap:10px;
  padding:6px 14px; border:1px solid rgba(200,168,75,0.3);
  margin-bottom:1.5rem;
}
.article-title {
  font-family:'Unbounded',sans-serif;
  font-size:clamp(1.8rem,3.5vw,3rem);
  font-weight:700; line-height:1.15; letter-spacing:-0.02em;
  margin-bottom:1.2rem;
}
.article-meta {
  display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap;
  font-family:'Unbounded',sans-serif; font-size:7px;
  letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
  margin-bottom:1.5rem;
}
.article-meta-item { display:flex; align-items:center; gap:0.5rem; }
.article-meta-dot { width:3px; height:3px; border-radius:50%; background:var(--glass-border); }
.article-excerpt {
  font-size:1.1rem; font-weight:300; line-height:1.75;
  color:rgba(255,255,255,0.65);
  border-left:3px solid var(--gold);
  padding-left:1.5rem;
  max-width:700px;
}

.article-body {
  max-width:860px; margin:0 auto;
  padding:80px 4rem;
}
.article-body h2 {
  font-family:'Unbounded',sans-serif;
  font-size:1.4rem; font-weight:700; line-height:1.25;
  letter-spacing:-0.02em; margin:3rem 0 1rem;
  color:white;
}
.article-body h2:first-child { margin-top:0; }
.article-body h3 {
  font-family:'Unbounded',sans-serif;
  font-size:1rem; font-weight:600; line-height:1.3;
  letter-spacing:-0.01em; margin:2rem 0 0.75rem;
  color:white;
}
.article-body p {
  font-size:0.95rem; line-height:1.85; font-weight:300;
  color:rgba(255,255,255,0.7); margin-bottom:1.3rem;
}
.article-body strong { font-weight:600; color:rgba(255,255,255,0.9); }
.article-body em { font-style:italic; color:rgba(255,255,255,0.75); }
.article-callout {
  background:rgba(26,75,137,0.15);
  border:1px solid rgba(55,114,178,0.25);
  border-left:3px solid var(--brand-blue);
  padding:1.5rem 2rem; margin:2.5rem 0;
}
.article-callout p { margin-bottom:0; color:rgba(255,255,255,0.75); }
.article-gold-callout {
  background:rgba(200,168,75,0.08);
  border:1px solid rgba(200,168,75,0.2);
  border-left:3px solid var(--gold);
  padding:1.5rem 2rem; margin:2.5rem 0;
}
.article-gold-callout p { margin-bottom:0; color:rgba(255,255,255,0.75); }
.article-table {
  width:100%; border-collapse:collapse; margin:2rem 0;
  font-size:0.85rem;
}
.article-table th {
  font-family:'Unbounded',sans-serif; font-size:8px;
  letter-spacing:0.15em; text-transform:uppercase;
  color:var(--gold); padding:12px 16px;
  border-bottom:2px solid rgba(200,168,75,0.3);
  text-align:left; white-space:nowrap;
}
.article-table td {
  padding:12px 16px; border-bottom:1px solid var(--glass-border);
  color:rgba(255,255,255,0.65); vertical-align:top; line-height:1.6;
}
.article-table tr:last-child td { border-bottom:none; }
.article-table tr:hover td { background:rgba(26,75,137,0.08); }
.article-list {
  list-style:none; margin:1rem 0 1.5rem; padding:0;
  display:flex; flex-direction:column; gap:0.6rem;
}
.article-list li {
  display:flex; align-items:flex-start; gap:0.75rem;
  font-size:0.92rem; line-height:1.65; color:rgba(255,255,255,0.7);
  font-weight:300;
}
.article-list li::before {
  content:''; width:6px; height:6px; flex-shrink:0;
  border:1px solid var(--gold); border-radius:50%;
  margin-top:7px;
}
.article-numbered { counter-reset:item; }
.article-numbered li::before {
  content:counter(item); counter-increment:item;
  width:22px; height:22px; flex-shrink:0;
  background:rgba(200,168,75,0.1);
  border:1px solid rgba(200,168,75,0.3);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Unbounded',sans-serif; font-size:8px;
  font-weight:600; color:var(--gold);
  margin-top:2px;
}
.article-divider {
  width:60px; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:3rem 0;
}
.article-author-card {
  background:var(--glass); border:1px solid var(--glass-border);
  padding:2rem; margin-top:3rem;
  display:flex; align-items:center; gap:1.5rem;
}
.article-author-avatar {
  width:60px; height:60px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--brand-navy),var(--brand-blue));
  display:flex; align-items:center; justify-content:center;
  font-family:'Unbounded',sans-serif; font-size:1rem; font-weight:700;
  border:2px solid rgba(55,114,178,0.3);
}
.article-author-name {
  font-family:'Unbounded',sans-serif; font-size:0.82rem; font-weight:600;
  display:block; margin-bottom:3px;
}
.article-author-role { font-size:0.78rem; color:rgba(255,255,255,0.45); margin-bottom:0.5rem; }
.article-author-bio { font-size:0.8rem; color:rgba(255,255,255,0.55); line-height:1.55; }
.article-share {
  display:flex; align-items:center; gap:1rem; margin-top:2.5rem;
  padding-top:2rem; border-top:1px solid var(--glass-border);
}
.article-share-label {
  font-family:'Unbounded',sans-serif; font-size:8px;
  letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(255,255,255,0.35);
}
.article-share-btn {
  font-family:'Unbounded',sans-serif; font-size:7px; font-weight:500;
  letter-spacing:0.1em; text-transform:uppercase;
  padding:8px 16px; background:var(--glass);
  border:1px solid var(--glass-border); color:rgba(255,255,255,0.5);
  cursor:pointer; transition:all 0.3s; text-decoration:none;
  display:inline-block;
}
.article-share-btn:hover { border-color:var(--gold); color:var(--gold); }

/* Related articles */
.article-related {
  background:var(--navy-deep); padding:70px 4rem;
  border-top:1px solid var(--glass-border);
}
.related-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5px; background:var(--glass-border); margin-top:2.5rem;
}
.related-card {
  background:var(--navy); padding:2rem;
  transition:background 0.3s; cursor:pointer;
  text-decoration:none; display:block; color:inherit;
}
.related-card:hover { background:rgba(26,75,137,0.2); }
.related-tag { font-family:'Unbounded',sans-serif; font-size:7px; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:0.75rem; display:block; }
.related-title { font-family:'Unbounded',sans-serif; font-size:0.82rem; font-weight:600; line-height:1.4; color:white; }

/* Progress bar */
.reading-progress {
  position:fixed; top:80px; left:0; right:0; z-index:999;
  height:2px; background:transparent;
}
.reading-progress-bar {
  height:100%; width:0%;
  background:linear-gradient(90deg,var(--brand-blue),var(--gold));
  transition:width 0.1s linear;
}

/* Article back button */
.article-back {
  font-family:'Unbounded',sans-serif; font-size:8px; font-weight:500;
  letter-spacing:0.15em; text-transform:uppercase;
  color:rgba(255,255,255,0.5); text-decoration:none;
  display:inline-flex; align-items:center; gap:0.6rem;
  padding:10px 0; transition:color 0.3s;
  margin-bottom:1.5rem; cursor:pointer; background:none; border:none;
}
.article-back:hover { color:var(--gold); }
.article-back::before { content:'←'; font-size:1rem; }

@media (max-width:768px) {
  .cookie-banner { padding:1.2rem 1.5rem; }
  .article-body { padding:50px 1.5rem; }
  .article-hero { padding:120px 1.5rem 50px; }
  .article-related { padding:50px 1.5rem; }
  .related-grid { grid-template-columns:1fr; }
  .cookie-actions { width:100%; }
  .article-meta { gap:0.75rem; }
}

/* Page hero typography (used by palladiumip_page_hero()) */
.page-hero-inner { max-width: 1200px; margin: 0 auto; }
.page-hero-title {
  font-family: 'Unbounded', sans-serif;
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 700; line-height: 1.1; letter-spacing: -0.02em;
  margin: 0.5rem 0 1.2rem;
}
.page-hero-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--brand-blue), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.page-hero-sub {
  font-size: 1rem; line-height: 1.7;
  color: rgba(255,255,255,0.6);
  max-width: 720px;
}
html.light .page-hero-sub { color: rgba(13,31,60,0.65); }

/* Skip link (a11y) */
.skip-link.screen-reader-text {
  position: absolute; left: -9999px; top: auto;
  width: 1px; height: 1px; overflow: hidden;
}
.skip-link.screen-reader-text:focus {
  position: fixed; top: 1rem; left: 1rem;
  width: auto; height: auto; padding: 0.75rem 1.25rem;
  background: var(--gold); color: var(--navy-deep);
  font-family: 'Unbounded', sans-serif; font-size: 0.75rem;
  font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  text-decoration: none; z-index: 100000;
}

/* Light-mode adjustments for article view (theme.css uses .light on <html>) */
html.light .article-hero { background: linear-gradient(160deg, #F4F6FA 0%, #E5EAF2 100%); }
html.light .article-body p,
html.light .article-list li,
html.light .article-callout p,
html.light .article-gold-callout p,
html.light .article-author-bio { color: rgba(13,31,60,0.75); }
html.light .article-body h2,
html.light .article-body h3,
html.light .article-author-name,
html.light .related-title { color: var(--navy-deep); }
html.light .article-body strong { color: var(--navy-deep); }
html.light .article-table td { color: rgba(13,31,60,0.75); }
html.light .article-related { background: #E9ECF2; }
html.light .related-card { background: #F4F6FA; }
html.light .cookie-banner { background: rgba(244,246,250,0.98); border-top-color: rgba(200,168,75,0.4); }
html.light .cookie-desc { color: rgba(13,31,60,0.65); }

/* Comments (if used) */
.comments-area { max-width: 860px; margin: 0 auto; padding: 0 4rem 80px; }
.comments-area .comments-title {
  font-family: 'Unbounded', sans-serif; font-size: 1rem; font-weight: 600;
  letter-spacing: -0.01em; margin-bottom: 1.5rem;
}
.comment-list { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.comment-list .comment { padding: 1.5rem 0; border-bottom: 1px solid var(--glass-border); }
.comment-list .children { list-style: none; padding-left: 1.5rem; margin-top: 1rem; border-left: 1px solid var(--glass-border); }
.comment-author { font-weight: 600; }
.comment-meta a { color: rgba(255,255,255,0.4); font-size: 0.78rem; text-decoration: none; }
.comment-respond .comment-form { display: grid; gap: 1rem; }
.comment-respond .comment-form input,
.comment-respond .comment-form textarea {
  background: var(--glass); border: 1px solid var(--glass-border);
  padding: 0.75rem 1rem; color: inherit; font-family: inherit;
}
@media (max-width: 768px) { .comments-area { padding: 0 1.5rem 50px; } }

/* =====================================================
   wp_nav_menu compatibility — map WP-generated classes
   to the same dropdown / active treatment used by the
   theme's fallback nav (.has-dropdown / .dropdown).
   ===================================================== */
.nav-links { list-style: none; padding: 0; margin: 0; }
.nav-links li { list-style: none; }
.nav-links .sub-menu {
  list-style: none; padding: 0; margin: 0;
  position: absolute; top: calc(100% + 16px); left: -1rem;
  min-width: 200px;
  background: var(--nav-dropdown-bg);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border);
  opacity: 0; visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.25s;
  z-index: 100;
}
.nav-links .menu-item-has-children { position: relative; }
.nav-links .menu-item-has-children:hover > .sub-menu,
.nav-links .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-links .sub-menu li { display: block; }
.nav-links .sub-menu a {
  padding: 10px 16px;
  font-family: 'Unbounded', sans-serif;
  font-size: 8px; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  display: block;
  transition: color 0.3s, background 0.3s;
}
.nav-links .sub-menu a::after { display: none; }
.nav-links .sub-menu li:last-child a { border-bottom: none; }
.nav-links .sub-menu a:hover {
  color: var(--gold);
  background: rgba(26,75,137,0.1);
}

/* WP "current" states map to .active styling */
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a,
.nav-links .current-menu-ancestor > a,
.nav-links .current-menu-parent > a { color: var(--text-primary); }
.nav-links .current-menu-item > a::after,
.nav-links .current_page_item > a::after,
.nav-links .current-menu-ancestor > a::after,
.nav-links .current-menu-parent > a::after { width: 100%; }

/* Visual chevron on parent items so users know there's a dropdown */
.nav-links .menu-item-has-children > a::before {
  content: '';
}
.nav-links .menu-item-has-children > a::after {
  /* keep underline behaviour, dropdown indicator below is separate */
}
.nav-links .menu-item-has-children > a {
  padding-right: 0.9rem;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 4px) calc(50% + 1px), calc(100% - 1px) calc(50% + 1px);
  background-size: 4px 4px, 4px 4px;
  background-repeat: no-repeat;
}

/* Light-mode parity for sub-menu */
html.light .nav-links .sub-menu { background: rgba(255,255,255,0.98); border-color: rgba(13,31,60,0.1); }
html.light .nav-links .sub-menu a { color: rgba(13,31,60,0.65); border-bottom-color: rgba(13,31,60,0.08); }
html.light .nav-links .sub-menu a:hover { color: var(--navy-deep); background: rgba(200,168,75,0.12); }

/* =====================================================
   v1.0.1 patch — strip-item link normalisation +
   submenu hover bridge so dropdown stays open while
   moving the cursor from the parent to the submenu.
   ===================================================== */

/* Strip items are now <a> tags — normalise link styles inherited from defaults */
a.strip-item,
.strip-item { color: inherit; text-decoration: none; }
a.strip-item:hover,
.strip-item:hover { color: inherit; text-decoration: none; }
.strip-item .strip-title { color: var(--text-primary); }
.strip-item .strip-desc  { color: var(--text-subtle); }
html.light .strip-item .strip-title { color: var(--navy-deep); }
html.light .strip-item .strip-desc  { color: rgba(13,31,60,0.55); }

/* Hover bridge — fills the visual gap between the parent menu item and its
   submenu so :hover doesn't drop while the cursor is travelling. The strip
   sits inside the parent <li>'s bounding box, so it keeps :hover alive. */
.nav-links .has-dropdown::before,
.nav-links .menu-item-has-children::before {
  content: '';
  position: absolute;
  top: 100%;
  left: -1.2rem;
  right: -1.2rem;
  height: 22px;
  background: transparent;
  pointer-events: auto;
  z-index: 99;
}
/* Submenu sits 8px below the bridge, but the bridge keeps hover continuous */
.nav-links .sub-menu,
.nav-links .dropdown { top: calc(100% + 22px); }

/* =====================================================
   v1.0.2 patch — light-mode contrast fixes for single
   post (article-meta, article-back, article-excerpt).
   The article-hero gradient is light, but the meta line
   and back link inherit white-on-light from the dark
   palette and become invisible. Patch with explicit navy.
   ===================================================== */
html.light .article-meta,
html.light .article-meta-item { color: rgba(13,31,60,0.55); }
html.light .article-meta-dot  { background: rgba(13,31,60,0.2); }
html.light .article-back      { color: rgba(13,31,60,0.6); }
html.light .article-back:hover{ color: var(--gold); }
html.light .article-excerpt   { color: rgba(13,31,60,0.75); }
html.light .article-category  { background: rgba(255,255,255,0.6); border-color: rgba(200,168,75,0.5); }
html.light .article-author-card { background: rgba(255,255,255,0.6); border-color: rgba(13,31,60,0.1); }
html.light .article-author-name { color: var(--navy-deep); }
html.light .article-author-role { color: rgba(13,31,60,0.55); }
html.light .article-author-bio  { color: rgba(13,31,60,0.7); }
html.light .article-share-label { color: rgba(13,31,60,0.55); }
html.light .article-share-btn   { background: rgba(255,255,255,0.7); border-color: rgba(13,31,60,0.15); color: rgba(13,31,60,0.7); }
html.light .article-share-btn:hover { border-color: var(--gold); color: var(--gold); }
html.light .reading-progress    { background: rgba(13,31,60,0.05); }

/* =====================================================
   v1.0.4 patch — WooCommerce theming
   Maps WC default classes to the PalladiumIP visual
   language: gold buttons, navy text, white cards in
   light mode, dark cards in dark mode.
   ===================================================== */

/* --- Layout wrapper --- */
.woocommerce-wrapper { padding: 60px 4rem 80px; }
.woocommerce-wrapper .woocommerce-notices-wrapper { margin-bottom: 1.5rem; }
.palladium-wc-main { min-height: 60vh; }

/* --- Shop / archive product loop --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5px;
	background: var(--border);
	margin: 0 0 2.5rem !important;
	padding: 0 !important;
	list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--card-bg);
	padding: 2rem !important;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	transition: background 0.3s;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product:hover { background: var(--card-hover); }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
	color: var(--text-primary);
	padding: 0.75rem 0 0.5rem !important;
	line-height: 1.35;
}
.woocommerce ul.products li.product .price {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: var(--gold) !important;
	margin-bottom: 0.75rem !important;
}
.woocommerce ul.products li.product .price del { color: var(--text-subtle); font-weight: 400; }
.woocommerce ul.products li.product .price ins { background: transparent; color: var(--gold); }
.woocommerce ul.products li.product img {
	margin: 0 0 1rem !important;
	display: block;
	width: 100%;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin-top: auto !important;
}

/* --- Buttons --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-page a.button,
.woocommerce-page button.button {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	padding: 14px 28px !important;
	background: var(--gold) !important;
	color: var(--navy-deep) !important;
	border: none !important;
	cursor: pointer;
	text-decoration: none !important;
	clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	transition: all 0.3s;
	border-radius: 0 !important;
	line-height: 1.2 !important;
	display: inline-block;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce-page a.button:hover {
	background: var(--gold-light, #DEBD61) !important;
	color: var(--navy-deep) !important;
}

/* "Added to cart" inline link */
.woocommerce a.added_to_cart {
	display: inline-block;
	margin-left: 0.75rem;
	font-family: 'Unbounded', sans-serif;
	font-size: 8px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--text-subtle);
	text-decoration: none;
}
.woocommerce a.added_to_cart:hover { color: var(--gold); }

/* --- Notices --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--card-bg) !important;
	border-top: 3px solid var(--gold) !important;
	color: var(--text-primary) !important;
	font-family: 'DM Sans', sans-serif;
	padding: 1rem 1.5rem !important;
}
.woocommerce-error { border-top-color: #c00; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--gold) !important; }

/* --- Single product --- */
.woocommerce div.product {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
}
.woocommerce div.product .product_title {
	font-family: 'Unbounded', sans-serif !important;
	font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 1rem;
	color: var(--text-primary);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: 'Unbounded', sans-serif;
	font-size: 1.6rem !important;
	font-weight: 700;
	color: var(--gold) !important;
	margin-bottom: 1.5rem !important;
}
.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--text-subtle);
	margin-bottom: 2rem;
}
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 3rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--border) !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 1rem 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
	padding: 14px 0 !important;
	color: var(--text-subtle) !important;
	border-bottom: 2px solid transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--gold) !important;
	border-bottom-color: var(--gold) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
	padding-top: 2rem !important;
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--text-subtle);
}
.woocommerce div.product form.cart {
	background: transparent;
	margin-bottom: 2rem;
}
.woocommerce div.product form.cart .quantity input.qty {
	width: 80px;
	padding: 12px;
	background: var(--glass);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-family: 'DM Sans', sans-serif;
	margin-right: 0.75rem;
}

/* Related / upsells */
.woocommerce .related,
.woocommerce .upsells.products {
	margin-top: 4rem;
}
.woocommerce .related > h2,
.woocommerce .upsells > h2 {
	font-family: 'Unbounded', sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 1.5rem;
}

/* --- Cart --- */
.woocommerce-cart table.cart,
.woocommerce-checkout table.shop_table {
	border: 1px solid var(--border) !important;
	border-collapse: collapse !important;
	font-family: 'DM Sans', sans-serif;
}
.woocommerce-cart table.cart th,
.woocommerce-checkout table.shop_table th {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 8px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
	color: var(--text-subtle) !important;
	background: var(--card-bg-alt) !important;
	padding: 14px 16px !important;
	border: 1px solid var(--border) !important;
}
.woocommerce-cart table.cart td,
.woocommerce-checkout table.shop_table td {
	padding: 14px 16px !important;
	border: 1px solid var(--border) !important;
	color: var(--text-primary);
}
.woocommerce table.shop_table {
	border-radius: 0 !important;
	border-collapse: collapse !important;
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells {
	background: var(--card-bg);
	padding: 2rem;
	border: 1px solid var(--border);
}
.woocommerce-cart .cart-collaterals h2 {
	font-family: 'Unbounded', sans-serif;
	font-size: 1rem !important;
	font-weight: 600;
	letter-spacing: -0.01em;
	margin-bottom: 1rem;
}

/* --- Checkout --- */
.woocommerce-checkout #payment {
	background: var(--card-bg) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	padding: 1.5rem !important;
}
.woocommerce-checkout form .form-row label {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 8px !important;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--text-subtle);
	margin-bottom: 0.4rem;
	display: block;
}
.woocommerce-checkout form .form-row input,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	background: var(--glass) !important;
	border: 1px solid var(--border) !important;
	color: var(--text-primary) !important;
	padding: 0.75rem 1rem !important;
	border-radius: 0 !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 0.92rem !important;
	width: 100% !important;
	box-sizing: border-box;
}

/* --- My Account --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border-right: 1px solid var(--border);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	font-family: 'Unbounded', sans-serif;
	font-size: 9px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--text-subtle);
	padding: 0.85rem 1.25rem;
	text-decoration: none;
	border-bottom: 1px solid var(--border);
	transition: color 0.3s, background 0.3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--gold);
	background: rgba(200,168,75,0.06);
}

/* --- Onsale badge --- */
.woocommerce span.onsale {
	background: var(--gold) !important;
	color: var(--navy-deep) !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 8px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 6px 12px !important;
	border-radius: 0 !important;
	min-height: auto !important;
	min-width: auto !important;
	line-height: 1.3 !important;
	top: 1rem !important;
	left: 1rem !important;
}

/* --- Mini-cart / cart count in header (if shown) --- */
.cart-customlocation a { color: var(--text-primary); text-decoration: none; }

/* --- Star ratings --- */
.woocommerce .star-rating::before { color: var(--text-subtle); }
.woocommerce .star-rating span::before { color: var(--gold) !important; }

/* --- Responsive --- */
@media (max-width: 900px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce-wrapper { padding: 40px 1.5rem 60px; }
}
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}

/* v1.0.5 — hide WC's default page-title / page-description on shop archive
   since our page-hero already provides the title + lead. */
.woocommerce-wrapper .woocommerce-products-header,
.woocommerce-wrapper > .palladium-wc-main > .page-title,
.woocommerce-wrapper > .palladium-wc-main > .page-description,
.woocommerce-wrapper .woocommerce-products-header__title,
.palladium-wc-main > h1.page-title,
.palladium-wc-main > .term-description,
.palladium-wc-main > .page-description { display: none !important; }

/* =====================================================
   v1.0.7 — Modern IP Training course list
   Full-width course rows with native <details> accordions
   for Outline / What's Included / Delivery Methods, plus
   prominent Register / Add-to-Cart / Enquire CTAs.
   ===================================================== */
.courses-list { display: flex; flex-direction: column; gap: 1.5px; background: var(--border); margin: 2.5rem 0 0; }
.course-row {
	background: var(--card-bg);
	padding: 2.5rem 2.5rem 2rem;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) auto;
	gap: 2.5rem;
	align-items: start;
	transition: background 0.3s;
	position: relative;
}
.course-row:hover { background: var(--card-hover); }
.course-row::after {
	content: '';
	position: absolute; bottom: 0; left: 0;
	width: 0; height: 2px;
	background: linear-gradient(90deg, var(--gold), var(--brand-blue));
	transition: width 0.5s;
}
.course-row:hover::after { width: 100%; }

.course-row-head { min-width: 0; }
.course-row-num {
	display: flex; align-items: center; gap: 0.75rem;
	margin-bottom: 1rem; flex-wrap: wrap;
}
.course-row-num-mark {
	font-family: 'Unbounded', sans-serif;
	font-size: 1.25rem; font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--gold);
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid rgba(200,168,75,0.35);
	background: rgba(200,168,75,0.06);
}
.course-row-title {
	font-family: 'Unbounded', sans-serif;
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	font-weight: 700; line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--text-primary);
	margin: 0 0 0.85rem;
}
.course-row-overview {
	font-size: 0.92rem; line-height: 1.7;
	color: var(--text-subtle);
	margin: 0;
}

/* Accordions */
.course-row-accordions {
	min-width: 0;
	display: flex; flex-direction: column;
	gap: 1px; background: var(--border);
}
.course-acc {
	background: var(--card-bg-alt);
	border-left: 2px solid transparent;
	transition: border-color 0.3s;
}
.course-acc[open] { border-left-color: var(--gold); }
.course-acc summary {
	list-style: none;
	cursor: pointer;
	padding: 0.95rem 1.1rem;
	display: flex; align-items: center; justify-content: space-between;
	font-family: 'Unbounded', sans-serif;
	font-size: 9px; font-weight: 600;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--text-primary);
	transition: color 0.2s;
}
.course-acc summary::-webkit-details-marker,
.course-acc summary::marker { display: none; content: ''; }
.course-acc summary:hover { color: var(--gold); }
.course-acc-icon {
	width: 12px; height: 12px;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
	                  linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: 0 60%, 8px 60%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	transform-origin: 50% 60%;
	transition: transform 0.25s;
}
.course-acc[open] .course-acc-icon { transform: rotate(180deg); }
.course-acc-list {
	list-style: none; padding: 0 1.1rem 1rem; margin: 0;
	display: flex; flex-direction: column; gap: 0.45rem;
}
.course-acc-list li {
	display: flex; align-items: flex-start; gap: 0.6rem;
	font-size: 0.88rem; line-height: 1.6; font-weight: 300;
	color: var(--text-subtle);
}
.course-acc-list li::before {
	content: ''; flex-shrink: 0;
	width: 5px; height: 5px;
	background: var(--gold); border-radius: 50%;
	margin-top: 9px;
}

/* Action column */
.course-row-actions {
	display: flex; flex-direction: column;
	gap: 0.6rem;
	min-width: 200px;
	align-self: stretch;
}
.btn-course-primary {
	background: var(--gold) !important;
	color: var(--navy-deep) !important;
	border: none;
	padding: 14px 20px;
	clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
	font-family: 'Unbounded', sans-serif;
	font-size: 9px; font-weight: 600;
	letter-spacing: 0.2em; text-transform: uppercase;
	text-align: center; text-decoration: none;
	transition: background 0.3s;
}
.btn-course-primary:hover { background: var(--gold-light, #DEBD61) !important; }
.btn-course-outline {
	background: transparent;
	color: var(--text-primary) !important;
	border: 1px solid var(--border-strong);
	padding: 13px 20px;
	font-family: 'Unbounded', sans-serif;
	font-size: 9px; font-weight: 500;
	letter-spacing: 0.18em; text-transform: uppercase;
	text-align: center; text-decoration: none;
	transition: all 0.3s;
	display: flex; align-items: center; justify-content: center; gap: 0.5rem;
}
.btn-course-outline:hover {
	border-color: var(--gold);
	color: var(--gold) !important;
}
.btn-course-outline .course-arrow { transition: transform 0.25s; }
.btn-course-outline:hover .course-arrow { transform: translateX(4px); }
.btn-course-ghost {
	background: transparent;
	color: var(--text-subtle) !important;
	border: none;
	padding: 6px 0;
	font-family: 'Unbounded', sans-serif;
	font-size: 8px; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase;
	text-align: center; text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: rgba(13,31,60,0.15);
	transition: color 0.3s, text-decoration-color 0.3s;
}
html:not(.light) .btn-course-ghost { text-decoration-color: rgba(255,255,255,0.15); }
.btn-course-ghost:hover {
	color: var(--gold) !important;
	text-decoration-color: var(--gold);
}

/* KHDA badge re-style for the new course-row layout */
.course-row .badge-khda {
	background: rgba(200,168,75,0.12);
	color: var(--gold);
	border: 1px solid rgba(200,168,75,0.4);
	padding: 4px 10px;
	font-family: 'Unbounded', sans-serif;
	font-size: 7.5px; font-weight: 600;
	letter-spacing: 0.2em; text-transform: uppercase;
	border-radius: 0;
	clip-path: polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}

/* Responsive course-row layout */
@media (max-width: 1100px) {
	.course-row { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 1.75rem; }
	.course-row-actions { min-width: 0; flex-direction: row; flex-wrap: wrap; }
	.course-row-actions .btn-course-primary,
	.course-row-actions .btn-course-outline { flex: 1; min-width: 200px; }
	.course-row-actions .btn-course-ghost { width: 100%; }
}
@media (max-width: 600px) {
	.course-row { padding: 1.5rem 1rem; }
	.course-row-actions { flex-direction: column; }
	.course-row-actions .btn-course-primary,
	.course-row-actions .btn-course-outline { width: 100%; }
}

/* =====================================================
   v1.0.7 — Modern WooCommerce single-product tabs
   ===================================================== */
.woocommerce div.product .woocommerce-tabs {
	background: var(--card-bg-alt);
	padding: 2rem;
	margin-top: 2.5rem;
	border-top: 1px solid var(--border);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: 1.5rem;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
	border-bottom: 1px solid var(--border) !important;
	overflow-x: auto;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	white-space: nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block !important;
	padding: 14px 0 !important;
	color: var(--text-subtle) !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	border-bottom: 2px solid transparent !important;
	transition: color 0.3s, border-color 0.3s !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--text-primary) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--gold) !important;
	border-bottom-color: var(--gold) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
	padding: 0.5rem 0 !important;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--text-subtle);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: 'Unbounded', sans-serif;
	font-size: 1.05rem; font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--text-primary);
	margin: 1.5rem 0 0.8rem;
}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { margin-top: 0; }
.woocommerce div.product .woocommerce-tabs .panel h3 {
	font-family: 'Unbounded', sans-serif;
	font-size: 0.85rem; font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--text-primary);
	margin: 1.2rem 0 0.6rem;
}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol { padding-left: 1.2rem; margin: 0 0 1rem; }
.woocommerce div.product .woocommerce-tabs .panel li { margin-bottom: 0.35rem; line-height: 1.65; }

/* Single-product summary lift */
.woocommerce div.product div.summary {
	padding: 1rem 0;
}
.woocommerce div.product .product_meta {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--border);
	font-family: 'Unbounded', sans-serif;
	font-size: 8px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--text-subtle);
}
.woocommerce div.product .product_meta a { color: var(--gold); text-decoration: none; }

/* v1.0.9 — form submission notices */
.pip-notice {
	font-family: 'DM Sans', sans-serif;
	font-size: 0.92rem;
	line-height: 1.6;
	padding: 0.95rem 1.2rem;
	margin: 0 0 1.25rem;
	border-left: 3px solid var(--gold);
	background: rgba(200,168,75,0.08);
	color: var(--text-primary);
}
.pip-notice-error {
	border-left-color: #c0392b;
	background: rgba(192,57,43,0.08);
	color: var(--text-primary);
}
html.light .pip-notice { background: rgba(200,168,75,0.12); }
html.light .pip-notice-error { background: rgba(192,57,43,0.1); }

/* =====================================================
   v1.0.9 — Checkout / Cart layout fixes
   - Two-column checkout: form on the left, sticky order
     summary + payment on the right.
   - Single-product layout: image gallery left, summary
     right, full-width tabs below (already styled, here
     we tighten spacing).
   - Cart table/totals: full width table + side totals.
   ===================================================== */

/* --- Checkout: 2-column shell --- */
.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
}
.woocommerce-checkout form.checkout .col2-set {
	grid-column: 1;
	display: block !important;
}
.woocommerce-checkout form.checkout .col2-set > .col-1,
.woocommerce-checkout form.checkout .col2-set > .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
	margin: 0 0 1.75rem !important;
	background: var(--card-bg);
	padding: 1.5rem 1.75rem;
	border: 1px solid var(--border);
}
.woocommerce-checkout form.checkout > #order_review_heading,
.woocommerce-checkout form.checkout > h3 {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 1rem !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.05em !important;
	color: var(--text-primary) !important;
}
.woocommerce-checkout form.checkout > #order_review,
.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order {
	grid-column: 2;
	grid-row: 2;
	background: var(--card-bg);
	border: 1px solid var(--border);
	border-top: 3px solid var(--gold);
	padding: 1.75rem;
	position: sticky;
	top: 100px;
}

/* Section headings inside form */
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3 {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	margin: 0 0 1.25rem !important;
	color: var(--text-primary);
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
}

/* --- Checkout form rows: proper label-above-input layout --- */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
}
.woocommerce form .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	display: block !important;
}
.woocommerce form .form-row.form-row-first { grid-column: 1; }
.woocommerce form .form-row.form-row-last  { grid-column: 2; }
.woocommerce form .form-row.form-row-wide,
.woocommerce form .form-row#order_comments_field { grid-column: 1 / -1; }

.woocommerce form .form-row label {
	display: block !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 8.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--text-subtle) !important;
	margin: 0 0 0.4rem !important;
	line-height: 1.3 !important;
}
.woocommerce form .form-row label .required,
.woocommerce form .form-row label abbr.required { color: var(--gold); border: none; text-decoration: none; }
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-selection {
	width: 100% !important;
	box-sizing: border-box !important;
	background: var(--glass) !important;
	border: 1px solid var(--border) !important;
	color: var(--text-primary) !important;
	padding: 0.75rem 0.95rem !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 0.92rem !important;
	border-radius: 0 !important;
	min-height: auto;
}
.woocommerce form .form-row textarea { min-height: 90px; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	outline: none !important;
	border-color: var(--gold) !important;
}
/* Select2 (country) */
.select2-container--default .select2-selection--single {
	background: var(--glass) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	height: auto !important;
	padding: 0.5rem 0.7rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text-primary) !important; line-height: 1.4 !important; padding-left: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 8px; }

/* --- Order review (right column) --- */
.woocommerce-checkout-review-order .shop_table {
	width: 100% !important;
	border: none !important;
	margin: 0 0 1rem !important;
	font-family: 'DM Sans', sans-serif;
}
.woocommerce-checkout-review-order .shop_table th,
.woocommerce-checkout-review-order .shop_table td {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--border) !important;
	padding: 0.7rem 0 !important;
	font-size: 0.88rem !important;
	color: var(--text-primary) !important;
}
.woocommerce-checkout-review-order .shop_table th {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 8px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--text-subtle) !important;
}
.woocommerce-checkout-review-order .shop_table .order-total td,
.woocommerce-checkout-review-order .shop_table .order-total th {
	border-bottom: none !important;
	padding-top: 1rem !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var(--gold) !important;
	letter-spacing: -0.01em;
	text-transform: none;
}
.woocommerce-checkout-review-order .shop_table .product-name { font-weight: 500; line-height: 1.45; }

#payment {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--border) !important;
	border-radius: 0 !important;
	padding: 1.25rem 0 0 !important;
	margin-top: 0.5rem;
}
#payment ul.payment_methods {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	list-style: none;
}
#payment ul.payment_methods li {
	border-bottom: 1px solid var(--border);
	padding: 0.75rem 0;
}
#payment ul.payment_methods li:last-child { border-bottom: none; }
#payment ul.payment_methods li label {
	font-family: 'Unbounded', sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em !important;
	color: var(--text-primary) !important;
	margin-left: 0.5rem;
	text-transform: none;
}
#payment .payment_box {
	background: var(--card-bg-alt) !important;
	border: 1px solid var(--border) !important;
	color: var(--text-subtle) !important;
	border-radius: 0 !important;
	margin: 0.6rem 0 0 !important;
	padding: 0.9rem 1rem !important;
	font-size: 0.85rem;
}
#payment .payment_box::before {
	border-bottom-color: var(--card-bg-alt) !important;
	border-left-color: transparent;
	border-right-color: transparent;
	border-top-color: transparent;
	display: none;
}
#payment .form-row.place-order { padding-top: 1rem !important; margin-top: 0.5rem !important; border-top: 1px solid var(--border); }
#place_order {
	width: 100% !important;
	padding: 16px 24px !important;
	font-family: 'Unbounded', sans-serif !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	background: var(--gold) !important;
	color: var(--navy-deep) !important;
	border: none !important;
	clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	border-radius: 0 !important;
}

/* Privacy / terms */
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	font-size: 0.78rem;
	line-height: 1.6;
	color: var(--text-subtle);
	margin: 0.75rem 0;
}

/* Responsive */
@media (max-width: 900px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 1.5rem; }
	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order { grid-column: 1; position: static; }
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* --- Cart page --- */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 2rem; }
.woocommerce-cart table.cart {
	background: var(--card-bg);
	width: 100% !important;
}
.woocommerce-cart table.cart .product-thumbnail img {
	max-width: 80px; height: auto;
}
.woocommerce-cart .cart_totals {
	background: var(--card-bg);
	padding: 1.75rem;
	border: 1px solid var(--border);
	border-top: 3px solid var(--gold);
}
.woocommerce-cart .cart_totals h2 {
	font-family: 'Unbounded', sans-serif;
	font-size: 0.95rem !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 1.25rem;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	margin-top: 1rem;
}
.woocommerce-cart .cart-collaterals {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	max-width: 460px;
	margin-left: auto;
}

/* --- Single-product image / gallery polish --- */
.woocommerce div.product div.images img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--border);
}
.woocommerce div.product .quantity {
	margin-right: 0.75rem;
}
.woocommerce div.product form.cart .quantity input.qty {
	background: var(--glass) !important;
	border: 1px solid var(--border) !important;
	color: var(--text-primary) !important;
	width: 70px !important;
	padding: 0.6rem !important;
	border-radius: 0 !important;
}
.woocommerce div.product form.cart .button {
	padding: 0.85rem 1.6rem !important;
}
.woocommerce-product-details__short-description {
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--text-subtle);
	margin-bottom: 1.5rem;
}
.woocommerce-product-details__short-description p:first-child { margin-top: 0; }
.woocommerce-product-details__short-description ol,
.woocommerce-product-details__short-description ul { padding-left: 1.2rem; margin: 0 0 1rem; }
.woocommerce-product-details__short-description h2,
.woocommerce-product-details__short-description h3,
.woocommerce-product-details__short-description strong span {
	font-family: 'Unbounded', sans-serif;
	font-weight: 600;
	color: var(--text-primary);
}
.woocommerce-product-details__short-description h2 { font-size: 1rem; margin: 1.2rem 0 0.6rem; letter-spacing: -0.01em; }
.woocommerce-product-details__short-description h3 { font-size: 0.85rem; margin: 1rem 0 0.5rem; letter-spacing: 0.02em; }

@media (max-width: 900px) {
	.woocommerce-cart .cart-collaterals { max-width: none; }
}
