:root{
      --itcga-navy:      #16233f;
      --itcga-navy-deep: #0c1730;
      --itcga-navy-soft: #1e2f52;
      --itcga-gold:      #d8b36a;
      --itcga-gold-dark: #c39a4e;
      --itcga-cream:     #e9e2d4;
      --itcga-light:     #f5f6fa;
      --itcga-blue:      #1668b4;
    }

    html{ scroll-behavior:smooth; }
    body{
      font-family:'Jost', sans-serif;
      color:#3c4257;
      background:#fff;
      overflow-x:hidden;
    }
    h1,h2,h3,.font-serif{ font-family:'Cormorant Garamond', serif; }

    /* ---------- Fixed transparent header over video ---------- */
    .site-header{
      position:fixed;
      top:0; left:0; right:0;
      z-index:1030;
      background:linear-gradient(180deg, rgba(2,19,61,.72) 0%, rgba(2,19,61,.28) 55%, rgba(2,19,61,0) 100%);
      transition:background .35s ease, box-shadow .35s ease;
    }
    .site-header.scrolled{
      background:var(--itcga-navy-deep);
      box-shadow:0 10px 30px rgba(2,19,61,.45);
    }

    /* Big logo spanning topbar + navbar */
    .logo-holder{
      position:absolute;
      left:max(12px, calc((100vw - 1320px) / 2));
      top:20px; bottom:0;
      display:flex;
      align-items:center;
      z-index:1045;
    }
    .logo-holder .big-logo{
      height:clamp(110px, 10vw, 150px);
      width:auto;
      filter:drop-shadow(0 8px 20px rgba(2,19,61,.55));
      transition:height .35s ease;
    }
    .site-header.scrolled .big-logo{ height:74px; }
    .site-header.scrolled .logo-holder{ top:0; }

    /* Inner pages: solid header band covering the logo */
    .site-header{ background:var(--itcga-navy-deep); padding-bottom:36px; }
    .site-header.scrolled{ padding-bottom:0; }
    .logo-holder{ top:20px; bottom:36px; }
    .site-header.scrolled .logo-holder{ bottom:0; }
    .logo-holder .big-logo{ height:clamp(110px, 10vw, 150px); }


    /* ---------- Top bar ---------- */
    .topbar{
      background:transparent;
      padding:.6rem 0;
      max-height:90px;
      overflow:hidden;
      transition:max-height .35s ease, opacity .3s ease, padding .35s ease, border-color .35s ease;
    }
    .site-header.scrolled .topbar{
      max-height:0;
      opacity:0;
      padding:0;
      border-color:transparent;
    }
    .topbar .container{ position:relative; display:grid; grid-template-columns:1fr auto; align-items:center; padding-left:.75rem !important; padding-right:.75rem !important; }
    .topbar-contact{ grid-column:2; justify-self:end; flex-wrap:nowrap; white-space:nowrap; }
    .topbar .site-title{ grid-column:1; text-align:left; justify-self:start; min-width:0; }
    @media (min-width: 1200px){
      .topbar .container{ padding-left:208px !important; }
    }
    @media (min-width: 1400px){
      .topbar .container{ padding-left:278px !important; }
    }
    @media (max-width: 1399.98px){
      .topbar .site-title{ font-size:1.02rem; }
      .topbar-contact a{ font-size:.85rem; }
    }
    @media (max-width: 1199.98px){
      .topbar .container{ grid-template-columns:1fr; justify-items:center; padding-left:.75rem !important; row-gap:.15rem; }
      .topbar .site-title{ grid-column:1; font-size:1rem; white-space:normal; justify-self:center; text-align:center; }
      .topbar-contact{ grid-column:1; justify-self:center; }
    }
    .topbar .site-title{
      color:var(--itcga-gold);
      font-family:'Cormorant Garamond', serif;
      font-weight:600;
      font-size:1.375rem;
      margin:0;
      white-space:nowrap;
    }
    .topbar-contact a{
      color:var(--itcga-gold);
      text-decoration:none;
      font-weight:500;
      font-size:.95rem;
    }
    .topbar-contact a:hover{ color:#fff; }
    .topbar-contact i{ margin-right:.4rem; }

    /* ---------- Navbar ---------- */
    .navbar-itcga{
      background:transparent;
      padding:.35rem 0;
    }
    .navbar-itcga .nav-link{
      color:#fff;
      text-transform:uppercase;
      font-weight:500;
      font-size:.86rem;
      letter-spacing:.04em;
      padding:1rem .8rem;
    }
    .navbar-itcga .nav-link:hover,
    .navbar-itcga .nav-link:focus{ color:var(--itcga-gold); }
    .navbar-itcga .dropdown-menu{
      background:var(--itcga-navy);
      border:1px solid rgba(255,255,255,.08);
      border-radius:.5rem;
    }
    .navbar-itcga .dropdown-item{
      color:#e8e8ee;
      font-size:.88rem;
      padding:.5rem 1.1rem;
    }
    .navbar-itcga .dropdown-item:hover{
      background:rgba(216,179,106,.12);
      color:var(--itcga-gold);
    }
    /* Open dropdowns on hover (desktop) */
    @media (min-width: 1200px){
      .navbar-itcga .dropdown:hover > .dropdown-menu{ display:block; margin-top:0; }
      .navbar-itcga .dropdown > .dropdown-toggle::after{ transition:transform .2s; }
      .navbar-itcga .dropdown:hover > .dropdown-toggle::after{ transform:rotate(180deg); }
    }
    /* Mobile collapse needs a solid panel */
    @media (max-width: 1199.98px){
      .navbar-itcga .navbar-collapse{
        background:var(--itcga-navy-deep);
        padding:1rem 1.2rem;
        border-radius:0 0 .8rem .8rem;
      }
    }
    .btn-login{
      color:var(--itcga-gold);
      border:1px solid var(--itcga-gold);
      border-radius:50rem;
      padding:.45rem 1.4rem;
      font-weight:500;
      font-size:.9rem;
      transition:.25s;
    }
    .btn-login:hover{ background:var(--itcga-gold); color:var(--itcga-navy-deep); }
    .navbar-toggler{ border-color:rgba(255,255,255,.3); }
    .navbar-toggler:focus{ box-shadow:0 0 0 .15rem rgba(216,179,106,.4); }
    .lang-flag{ width:20px; height:auto; border-radius:2px; }

    /* ---------- Video hero (top slider) ---------- */
    .video-hero{
      position:relative;
      height:750px;
      overflow:hidden;
      background:#02133d;
    }
    .video-hero iframe{
      position:absolute;
      top:50%;
      left:50%;
      width:120vw;
      height:67.5vw;
      min-width:100%;
      min-height:100%;
      transform:translate(-50%,-50%);
      pointer-events:none;
      border:0;
    }
    .video-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(2,19,61,.92) 0%, rgba(2,19,61,.75) 40%, rgba(2,19,61,.20) 100%);
      z-index:1;
    }
    @media (max-width:768px){
      .video-hero{ height:600px; }
    }

    /* ---------- Intro hero (light) ---------- */
    .hero{
      position:relative;
      overflow:hidden;
      padding:66px 0;
      color:#54606e;
      background:
        radial-gradient(680px 380px at 6% -10%, rgba(201,169,110,.16), transparent 60%),
        radial-gradient(720px 460px at 104% 8%, rgba(11,29,58,.07), transparent 58%),
        linear-gradient(168deg,#fbf7f0 0%, #f0f2f7 56%, #f7f3ec 100%);
    }
    .hero .kicker{
      font-size:12px;
      font-weight:700;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:#a8834a;
      margin:0 0 18px;
    }
    .hero h1{
      font-family:'Cormorant Garamond', Georgia, serif;
      font-weight:600;
      color:#0b1d3a;
      font-size:clamp(33px, 4vw, 52px);
      line-height:1.05;
      letter-spacing:.006em;
      margin:0 0 20px;
    }
    .hero h1 .g{ color:#a8834a; font-style:italic; }
    .hero .rule{ width:60px; height:2px; background:#c9a96e; border:0; margin:0 0 24px; opacity:1; }
    .hero .lead{
      font-family:'Cormorant Garamond', Georgia, serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(18px, 1.9vw, 22px);
      color:#0b1d3a;
      line-height:1.4;
      margin:0 0 18px;
    }
    .hero p{ font-size:15.5px; line-height:1.72; margin:0 0 14px; }
    .hero p b{ color:#0b1d3a; font-weight:600; }
    .btn-navy-hero{
      display:inline-flex; align-items:center; gap:10px;
      background:#0b1d3a; color:#fff;
      font-weight:600; font-size:15px;
      padding:15px 30px; border-radius:3px;
      box-shadow:0 16px 36px -16px rgba(11,29,58,.55);
      text-decoration:none; transition:.2s ease; border:none;
    }
    .btn-navy-hero:hover{ background:#16294d; color:#fff; }
    .btn-ghost-hero{
      display:inline-flex; align-items:center; gap:10px;
      background:transparent; color:#0b1d3a;
      border:1px solid #e7e3da;
      font-weight:600; font-size:15px;
      padding:15px 30px; border-radius:3px;
      text-decoration:none; transition:.2s ease;
    }
    .btn-ghost-hero:hover{ border-color:#c9a96e; color:#a8834a; }
    .hero-img-wrap{ position:relative; }
    .hero-frame{
      position:relative;
      border-radius:10px;
      overflow:hidden;
      box-shadow:0 60px 120px -50px rgba(11,29,58,.55), 0 12px 30px -16px rgba(11,29,58,.28);
    }
    .hero-frame::before{
      content:""; position:absolute; inset:12px; z-index:2; pointer-events:none;
      border:1px solid rgba(230,211,162,.6); border-radius:5px;
    }
    .hero-frame::after{
      content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
      background:linear-gradient(180deg, rgba(11,29,58,.10) 0%, transparent 26%, transparent 68%, rgba(11,29,58,.5) 100%);
    }
    .hero-img{ width:100%; height:auto; display:block; }
    .hero-cap{ position:absolute; left:24px; bottom:22px; z-index:3; color:#fff; }
    .hero-cap .l1{ font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#e6d3a2; }
    .hero-cap .l2{ font-family:'Cormorant Garamond', Georgia, serif; font-size:21px; font-weight:600; line-height:1.1; margin-top:2px; }
    .hero-badge{
      position:absolute; top:-16px; right:-16px; z-index:4;
      background:linear-gradient(180deg,#e6d3a2,#c9a96e); color:#0b1d3a;
      font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
      padding:12px 16px; border-radius:6px; text-align:center; line-height:1.2;
      box-shadow:0 14px 30px -12px rgba(201,169,110,.7);
    }
    .hero-badge b{ display:block; font-family:'Cormorant Garamond', Georgia, serif; font-size:17px; letter-spacing:.02em; }

    /* ---------- Section headings ---------- */
    .section-title{
      color:var(--itcga-navy);
      font-weight:700;
      font-size:clamp(1.7rem, 3vw, 2.4rem);
    }
    .section{ padding:1.4rem 0 2.5rem; }
    .bg-itcga-light{ background:var(--itcga-light); }

    /* ---------- Course banner cards ---------- */
    .course-card{
      border:none;
      border-radius:1.1rem;
      overflow:hidden;
      box-shadow:0 14px 34px rgba(16,28,54,.13);
      transition:transform .3s, box-shadow .3s;
      background:#fff;
      height:100%;
    }
    .course-card:hover{ transform:translateY(-7px); box-shadow:0 24px 48px rgba(16,28,54,.22); }
    .course-card img{ width:100%; display:block; }
    .course-card .card-actions{
      display:flex;
      gap:.7rem;
      justify-content:center;
      padding:1.1rem 1rem 1.35rem;
    }
    .btn-learn{
      border:1.5px solid var(--itcga-navy);
      color:var(--itcga-navy);
      border-radius:50rem;
      padding:.5rem 1.5rem;
      font-weight:600;
      font-size:.9rem;
      transition:.25s;
    }
    .btn-learn:hover{ background:var(--itcga-navy); color:#fff; }
    .btn-register{
      background:var(--itcga-blue);
      color:#fff;
      border:none;
      border-radius:50rem;
      padding:.5rem 1.7rem;
      font-weight:600;
      font-size:.9rem;
      transition:.25s;
    }
    .btn-register:hover{ background:#0f4f8c; color:#fff; }

    /* ---------- Gallery marquee ---------- */
    .marquee{
      overflow:hidden;
      padding:2.2rem 0;
      background:#fff;
      -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
              mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    }
    .marquee-track{
      display:flex;
      gap:1.4rem;
      width:max-content;
      animation:marquee 55s linear infinite;
    }
    .marquee:hover .marquee-track{ animation-play-state:paused; }
    .marquee-track img{
      height:230px;
      width:auto;
      border-radius:1rem;
      box-shadow:0 10px 24px rgba(16,28,54,.14);
    }
    @keyframes marquee{
      from{ transform:translateX(0); }
      to  { transform:translateX(-50%); }
    }

    /* ---------- Past course ---------- */
    .past-card{
      background:linear-gradient(165deg, var(--itcga-navy-soft), var(--itcga-navy-deep));
      color:#fff;
      border-radius:1.2rem;
      overflow:hidden;
      box-shadow:0 18px 44px rgba(12,23,48,.35);
    }
    .past-card img{ width:100%; height:270px; object-fit:cover; }
    .past-card .past-body{ padding:1.6rem 1.7rem 1.8rem; }
    .past-card h3{ font-size:1.12rem; text-transform:uppercase; letter-spacing:.03em; font-family:'Jost',sans-serif; font-weight:600; }
    .past-card .past-date{ color:var(--itcga-gold); font-weight:500; letter-spacing:.06em; font-size:.9rem; }
    .btn-past{
      background:#fff;
      color:var(--itcga-navy);
      border-radius:50rem;
      padding:.5rem 1.6rem;
      font-weight:600;
      font-size:.82rem;
      letter-spacing:.06em;
      text-transform:uppercase;
      transition:.25s;
    }
    .btn-past:hover{ background:var(--itcga-gold); color:var(--itcga-navy-deep); }
    .slider-arrow{
      width:52px; height:52px;
      border-radius:50%;
      border:1.5px solid var(--itcga-navy);
      color:var(--itcga-navy);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      font-size:1.2rem;
      background:transparent;
      transition:.25s;
      text-decoration:none;
    }
    .slider-arrow:hover{ background:var(--itcga-navy); color:#fff; }

    /* ---------- Videos ---------- */
    .video-card{
      position:relative;
      border-radius:1.1rem;
      overflow:hidden;
      box-shadow:0 14px 32px rgba(16,28,54,.16);
      display:block;
      transition:transform .3s;
    }
    .video-card:hover{ transform:translateY(-6px); }
    .video-card img{ width:100%; height:240px; object-fit:cover; display:block; }
    .video-card::after{
      content:"";
      position:absolute; inset:0;
      background:linear-gradient(180deg, rgba(12,23,48,.05), rgba(12,23,48,.45));
    }
    .play-btn{
      position:absolute;
      top:50%; left:50%;
      transform:translate(-50%,-50%);
      width:76px; height:76px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,.9);
      background:rgba(12,23,48,.35);
      backdrop-filter:blur(3px);
      display:flex; align-items:center; justify-content:center;
      color:#fff; font-size:1.7rem;
      z-index:2;
      transition:.25s;
    }
    .video-card:hover .play-btn{ background:var(--itcga-gold); border-color:var(--itcga-gold); color:var(--itcga-navy-deep); }
    .play-btn i{ margin-left:4px; }

    /* ---------- Blog ---------- */
    .blog-section{ background:var(--itcga-cream); }
    .blog-card{ height:100%; }
    .blog-card img{
      width:100%;
      height:250px;
      object-fit:cover;
      border-radius:1.1rem;
      box-shadow:0 12px 26px rgba(16,28,54,.16);
    }
    .blog-card .blog-meta{ color:#8a8578; font-size:.85rem; letter-spacing:.05em; }
    .blog-card h3{
      color:var(--itcga-navy);
      font-family:'Jost',sans-serif;
      font-weight:700;
      text-transform:uppercase;
      font-size:1.05rem;
      letter-spacing:.02em;
      margin:.8rem 0 .7rem;
    }
    .blog-card p{ color:#5c5f6b; font-size:.95rem; }
    .blog-card .read-more{
      color:var(--itcga-navy);
      font-weight:600;
      text-transform:uppercase;
      font-size:.82rem;
      letter-spacing:.08em;
      text-decoration:none;
      border-bottom:2px solid var(--itcga-navy);
      padding-bottom:.45rem;
      display:inline-block;
      transition:.25s;
    }
    .blog-card .read-more:hover{ color:var(--itcga-gold-dark); border-color:var(--itcga-gold-dark); }

    /* ---------- Footer ---------- */
    .footer{
      background:var(--itcga-navy-deep);
      color:#cfd4e2;
      padding:1.5rem 0 1.1rem;
    }
    .footer a{ color:var(--itcga-gold); text-decoration:none; transition:.2s; }
    .footer a:hover{ color:#fff; }
    .footer .footer-links a{
      display:block;
      margin-bottom:.83rem;
      font-size:1rem;
    }
    .ukrlp-badge{
      border:2px solid rgba(216,179,106,.65);
      background:rgba(216,179,106,.08);
      border-radius:.9rem;
      padding:1.4rem 1.5rem;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      gap:1.4rem;
      max-width:420px;
      margin:0 auto;
    }
    .ukrlp-badge .ukrlp-title{
      color:var(--itcga-gold);
      font-weight:700;
      font-size:2.6rem;
      letter-spacing:.04em;
      line-height:1;
    }
    .ukrlp-badge small{ color:#e2e6f0; font-size:1.02rem; display:block; }
    .ukrlp-badge img{ height:58px; border-radius:4px; }
    .ukrlp-badge .ukrlp-no{ color:#fff; font-weight:700; font-size:1.3rem; }
    .footer .social a{
      display:inline-flex;
      width:32px; height:32px;
      border:none;
      border-radius:.35rem;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-size:.9rem;
      margin:0 .3rem;
    }
    .footer .social a:hover{ background:var(--itcga-gold); color:var(--itcga-navy-deep); }
    .footer .footer-logo{ height:80px; margin-bottom:.5rem !important; }
    @media (min-width: 992px) and (max-width: 1199.98px){
      .footer .footer-logo{ height:201px; }
    }
    @media (min-width: 1200px){
      .footer .footer-logo{ height:175px; }
    }
    .footer address{ font-style:normal; line-height:1.7; margin-bottom:.6rem !important; }
    .footer .contact-line i{
      color:var(--itcga-navy-deep);
      background:var(--itcga-gold);
      border-radius:.35rem;
      padding:.25rem .35rem;
      margin-right:.6rem;
      font-size:.85rem;
    }
    .footer hr{ border-color:rgba(255,255,255,.12); }

    /* Content clearance for the big logo */
    @media (min-width: 1200px){
      .site-header .container{ padding-left:200px; }
    }
    @media (max-width: 1199.98px){
      .logo-holder .big-logo{ height:88px; }
      .site-header .container{ padding-left:116px; }
      .site-header.scrolled .big-logo{ height:62px; }
    }
    @media (max-width: 767.98px){
      .logo-holder .big-logo{ height:64px; }
      .site-header .container{ padding-left:86px; }
      .topbar-contact a{ font-size:.82rem; }
    }

    @media (max-width: 991.98px){
      .topbar .site-title{ font-size:.85rem; }
      .hero{ padding:48px 0; }
      .hero-img-wrap{ margin-top:1.5rem; }
      .hero-badge{ right:0; }
    }
  
    /* ---------- Floating contact buttons ---------- */
    .float-btn{ position:fixed; bottom:22px; z-index:1040; width:54px; height:54px; border-radius:50%;
      display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:#fff;
      box-shadow:0 10px 26px rgba(12,23,48,.35); transition:transform .25s, box-shadow .25s; }
    .float-btn:hover{ transform:translateY(-4px); color:#fff; box-shadow:0 16px 34px rgba(12,23,48,.45); }
    .float-mail{ left:22px; background:var(--itcga-navy); }
    .float-wa{ right:22px; background:#25D366; }

    /* ---------- Social brand colours ---------- */
    .footer .social a[aria-label="Facebook"]{ background:#1877F2; border-color:#1877F2; color:#fff; }
    .footer .social a[aria-label="Instagram"]{ background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); border-color:transparent; color:#fff; }
    .footer .social a[aria-label="YouTube"]{ background:#FF0000; border-color:#FF0000; color:#fff; }
    .footer .social a:hover{ filter:brightness(1.12); background-color:inherit; }

    /* ---------- Footer contact stack (aligned icons) ---------- */
    .footer .contact-stack{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:.55rem; }
    .footer .contact-line{ margin-bottom:0 !important; }
    .footer .contact-line a{ display:inline-flex; align-items:center; gap:.6rem; }
    .footer .contact-line i{ width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; padding:0; margin-right:0; }

    /* ---------- UKRLP registered line ---------- */
    .ukrlp-badge{ flex-wrap:wrap; }
    .ukrlp-reg{ width:100%; text-align:center; font-size:.82rem; color:#b9c0d2;
      border-top:1px solid rgba(216,179,106,.25); padding-top:.55rem; margin-top:.35rem; }

    /* ---------- Cookie consent banner ---------- */
.itcga-cc { position:fixed; left:0; right:0; bottom:0; z-index:99999;
    background:#0B1D3A; color:#e8ebf2; font-family: Arial, Helvetica, sans-serif;
    box-shadow:0 -6px 24px rgba(0,0,0,.25); display:none; }
    .itcga-cc.is-open { display:block; }
    .itcga-cc-inner { max-width:1000px; margin:0 auto; padding:1.2rem 1rem; }
    .itcga-cc h2 { margin:0 0 .4rem; font-size:1.02rem; color:#fff; }
    .itcga-cc h2::before { content:""; display:inline-block; width:.6rem; height:.6rem;
    background:#C9A96E; border-radius:50%; margin-right:.5rem; }
    .itcga-cc p { margin:0 0 .9rem; font-size:.85rem; line-height:1.6; color:#c4cbdb; }
    .itcga-cc a { color:#C9A96E; }
    .itcga-cc-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
    .itcga-cc button { font:inherit; font-size:.85rem; padding:.55rem 1.1rem; border-radius:4px;
    cursor:pointer; border:1px solid #C9A96E; }
    .itcga-cc .cc-accept { background:#C9A96E; color:#0B1D3A; font-weight:bold; }
    .itcga-cc .cc-reject { background:transparent; color:#fff; }
    .itcga-cc .cc-manage { background:transparent; color:#C9A96E; border-color:transparent; text-decoration:underline; }
    .itcga-cc-panel { display:none; border-top:1px solid rgba(201,169,110,.35); margin-top:1rem; padding-top:1rem; }
    .itcga-cc-panel.is-open { display:block; }
    .itcga-cc-row { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start;
    padding:.55rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
    .itcga-cc-row b { color:#fff; font-size:.87rem; display:block; margin-bottom:.15rem; }
    .itcga-cc-row span { font-size:.78rem; color:#aeb7c9; line-height:1.5; }
    .itcga-cc-row input { width:1.15rem; height:1.15rem; accent-color:#C9A96E; flex:none; margin-top:.2rem; }
    .itcga-cc-save { margin-top: .9rem; }

/* ---------- Inner pages ---------- */
  .site-header{ background:var(--itcga-navy-deep); box-shadow:0 10px 30px rgba(2,19,61,.35); }
  .form-section .form-check-input{ float:none; margin-left:0; margin-right:.45rem; margin-top:.1rem; }
  .page-hero{
    padding:170px 0 45px;
    text-align:center;
    background:
      radial-gradient(680px 380px at 6% -10%, rgba(201,169,110,.18), transparent 60%),
      radial-gradient(720px 460px at 104% 8%, rgba(11,29,58,.06), transparent 58%),
      linear-gradient(168deg,#fbf7f0 0%, #f0f2f7 56%, #f7f3ec 100%);
  }
  .page-hero .hero-logo{ width:230px; max-width:64%; margin:0 auto 4px; display:block; }
  .page-hero .hero-logo-line{ width:38px; height:1.5px; background:var(--itcga-gold); margin:18px auto 26px; }
  .page-hero .kicker-label{
    color:#a8834a; font-weight:700; font-size:.8rem;
    letter-spacing:.22em; text-transform:uppercase;
  }
  .page-hero h1{
    color:var(--itcga-navy); font-weight:700;
    font-size:clamp(1.9rem, 4.2vw, 3.4rem);
    line-height:1.15; margin:1rem auto 1.1rem; max-width:900px;
  }
  .page-hero .sub{ color:#54606e; max-width:640px; margin:0 auto 1.6rem; font-size:1.08rem; }
  .pill-badges{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-bottom:1.8rem; }
  .pill-badges span{
    border:1px solid #e7e3da; background:#fff; color:#3c4257;
    border-radius:50rem; padding:.4rem 1.2rem; font-size:.85rem; font-weight:500;
  }
  .btn-navy{
    background:var(--itcga-navy); color:#fff; border:none;
    border-radius:4px; padding:.85rem 2rem; font-weight:600; transition:.25s;
  }
  .btn-navy:hover{ background:#23355c; color:#fff; }
  .btn-ghost-navy{
    background:transparent; color:var(--itcga-navy);
    border:1px solid #d8d2c4; border-radius:4px;
    padding:.85rem 2rem; font-weight:600; transition:.25s;
  }
  .btn-ghost-navy:hover{ border-color:var(--itcga-gold); color:#a8834a; }
  .kicker-label{
    color:#a8834a; font-weight:700; font-size:.78rem;
    letter-spacing:.22em; text-transform:uppercase;
  }
  .inner-h2{
    font-family:'Cormorant Garamond', serif; color:var(--itcga-navy);
    font-weight:600; font-size:clamp(1.6rem, 3vw, 2.2rem); margin:.4rem 0 0;
  }
  .gold-bar{ width:60px; height:2px; background:var(--itcga-gold); border:0; margin:1rem 0 1.8rem; opacity:1; }
  .text-center .gold-bar{ margin-left:auto; margin-right:auto; }
  .nav-link.active-p{ color:var(--itcga-gold) !important; }

  .inner-section{ padding:1.6rem 0 2.6rem; }
  .img-rounded{ border-radius:1.1rem; box-shadow:0 18px 44px rgba(16,28,54,.14); width:100%; }

  .bordered-panel{ border-left:2px solid var(--itcga-gold); padding-left:1.6rem; }
  .bordered-panel h3{ font-family:'Cormorant Garamond', serif; color:var(--itcga-navy); font-size:1.35rem; }

  .approach-num{
    font-family:'Cormorant Garamond', serif; color:var(--itcga-gold);
    font-size:1.6rem; font-weight:600; min-width:56px;
  }
  .approach-item{ display:flex; gap:1.2rem; padding:1.6rem 0; border-bottom:1px solid #eee7d8; }
  .approach-item h3{ font-family:'Cormorant Garamond', serif; color:var(--itcga-navy); font-weight:600; font-size:1.45rem; }

  .expertise-card{ border-top:2px solid var(--itcga-gold); padding-top:1.4rem; height:100%; }
  .expertise-card h3{ font-family:'Cormorant Garamond', serif; color:var(--itcga-navy); font-size:1.4rem; font-weight:600; }

  .check-list{ list-style:none; padding:0; margin:0; }
  .check-list li{ padding:.55rem 0 .55rem 2.1rem; position:relative; }
  .check-list li::before{
    content:"\F26A"; font-family:"bootstrap-icons"; color:#a8834a;
    position:absolute; left:0; top:.5rem; font-size:1.05rem;
  }

  .cta-band{
    background:
      radial-gradient(900px 400px at 85% -20%, rgba(216,179,106,.16), transparent 60%),
      linear-gradient(160deg, #101c36 0%, var(--itcga-navy-deep) 60%, #091226 100%);
    color:#eef0f7; border-radius:1.4rem; padding:3.5rem;
  }
  .cta-band h2{ font-family:'Cormorant Garamond', serif; color:#fff; font-weight:600; }
  .contact-mini a{ color:var(--itcga-gold); text-decoration:none; }
  .contact-mini a:hover{ color:#fff; }
  .contact-mini i{ margin-right:.45rem; }

  .uc-card{
    border:none; border-radius:1.1rem; overflow:hidden; height:100%;
    box-shadow:0 14px 34px rgba(16,28,54,.12); background:#fff; transition:transform .3s, box-shadow .3s;
  }
  .uc-card:hover{ transform:translateY(-6px); box-shadow:0 22px 46px rgba(16,28,54,.2); }
  .uc-card .uc-img{ position:relative; }
  .uc-card .uc-img img{ width:100%; display:block; }
  .uc-date{
    position:absolute; top:1rem; left:1rem;
    background:var(--itcga-navy-deep); color:#fff; text-align:center;
    border-radius:.7rem; padding:.55rem .9rem; line-height:1.1;
    font-weight:600; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;
  }
  .uc-date b{ display:block; color:var(--itcga-gold); font-size:1.05rem; }
  .uc-done{
    position:absolute; top:1rem; right:1rem;
    background:rgba(12,23,48,.85); color:#8be0a4;
    border:1px solid rgba(139,224,164,.4);
    border-radius:50rem; padding:.3rem .9rem; font-size:.75rem; font-weight:600;
  }
  .uc-body{ padding:1.5rem 1.5rem 1.7rem; }
  .uc-type{ color:#a8834a; font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
  .uc-body h3{ color:var(--itcga-navy); font-family:'Jost',sans-serif; font-weight:700; font-size:1.08rem; margin:.5rem 0 .6rem; }
  .uc-meta{ color:#6b7280; font-size:.88rem; }
  .uc-meta i{ color:var(--itcga-gold-dark); margin-right:.35rem; }
  .uc-tags span{
    display:inline-block; background:#f4f0e6; color:#7a6a45;
    border-radius:50rem; padding:.2rem .8rem; font-size:.75rem; font-weight:600; margin:.15rem .15rem 0 0;
  }

  .testi-card{
    background:#fff; border-radius:1.1rem; height:100%;
    box-shadow:0 12px 30px rgba(16,28,54,.09); padding:2rem;
    border-top:3px solid var(--itcga-gold);
  }
  .testi-card .stars{ color:var(--itcga-gold); letter-spacing:.15em; margin-bottom:.9rem; }
  .testi-card blockquote{ color:#454b5e; font-size:.96rem; line-height:1.75; }
  .testi-card .who{ display:flex; align-items:center; gap:.9rem; margin-top:1.3rem; }
  .testi-card .who img{ width:52px; height:52px; border-radius:50%; object-fit:cover; border:2px solid var(--itcga-gold); }
  .testi-card .who b{ color:var(--itcga-navy); display:block; font-size:.95rem; }
  .testi-card .who small{ color:#8a8578; }
  .testi-featured{
    background:linear-gradient(165deg, var(--itcga-navy-soft), var(--itcga-navy-deep));
    color:#eef0f7; border-radius:1.4rem; padding:3rem;
  }
  .testi-featured .quote-mark{ font-family:'Cormorant Garamond',serif; font-size:5rem; color:var(--itcga-gold); line-height:.6; }
  .testi-featured img{ width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid var(--itcga-gold); }

  .badge-row{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
  .badge-row .acc{
    background:#fff; border:1px solid #eee7d8; border-radius:1rem;
    padding:1.1rem 1.6rem; text-align:center; min-width:200px;
  }
  .badge-row .acc b{ color:var(--itcga-navy); display:block; }
  .badge-row .acc small{ color:#8a8578; }
  .badge-row .acc i{ color:var(--itcga-gold-dark); font-size:1.5rem; }

  .verify-card{
    background:#fff; border-radius:1.2rem; box-shadow:0 18px 44px rgba(16,28,54,.12);
    padding:2.6rem; max-width:640px; margin:0 auto;
  }
  .verify-card .form-control{ padding:.9rem 1.1rem; border-radius:.5rem; }
  .feature-ico{
    width:56px; height:56px; border-radius:50%;
    background:#f4ecdc; color:#a8834a; font-size:1.4rem;
    display:flex; align-items:center; justify-content:center; margin:0 auto .8rem;
  }

  .blog-feature img{ border-radius:1.1rem; width:100%; height:100%; object-fit:cover; box-shadow:0 16px 38px rgba(16,28,54,.15); }
  .filter-btn{
    border:1px solid #d8d2c4; background:#fff; color:var(--itcga-navy);
    border-radius:50rem; padding:.4rem 1.4rem; font-weight:600; font-size:.88rem;
  }
  .filter-btn.active, .filter-btn:hover{ background:var(--itcga-navy); color:#fff; border-color:var(--itcga-navy); }

  .contact-info-card{
    background:#fff; border-radius:1.2rem; box-shadow:0 16px 40px rgba(16,28,54,.1);
    padding:2.4rem; height:100%;
  }
  .contact-info-card .ci{ display:flex; gap:1rem; padding:.9rem 0; border-bottom:1px solid #f0ebdf; }
  .contact-info-card .ci:last-child{ border-bottom:0; }
  .contact-info-card .ci i{
    color:var(--itcga-navy-deep); background:var(--itcga-gold);
    width:42px; height:42px; border-radius:.6rem; flex:none;
    display:flex; align-items:center; justify-content:center;
  }
  .map-frame{ border:0; width:100%; height:420px; border-radius:1.2rem; box-shadow:0 16px 40px rgba(16,28,54,.12); }

  .form-section{ background:#fff; border-radius:1.1rem; box-shadow:0 12px 30px rgba(16,28,54,.08); padding:2.2rem; margin-bottom:1.8rem; }
  .form-section h3{ color:var(--itcga-navy); font-family:'Jost',sans-serif; font-weight:700; font-size:1.15rem; margin-bottom:1.2rem; }
  .scale-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; }
  .scale-row .form-check{
    border:1px solid #e7e3da; border-radius:.6rem; padding:.7rem .9rem; margin:0;
    font-size:.85rem; transition:.2s;
  }
  .scale-row .form-check:hover{ border-color:var(--itcga-gold); background:#fbf8f1; }
  .scale-head{ display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; font-size:.78rem; color:#8a8578; text-align:center; margin-bottom:.4rem; }

  .login-card{
    background:#fff; border-radius:1.2rem; box-shadow:0 20px 50px rgba(16,28,54,.14);
    padding:2.8rem; max-width:460px; margin:0 auto;
  }
  .login-card .form-control{ padding:.8rem 1.1rem; }

  @media (max-width: 991.98px){
    .page-hero{ padding:140px 0 35px; }
    .cta-band{ padding:2.2rem; }
    .scale-row{ grid-template-columns:repeat(2,1fr); }
    .scale-head{ display:none; }
  }
