/* =========================================================================
   THE LINE LANGUAGE ACADEMY — design system
   Concept: "Your passport to a global career."
   Course cards, stats and tags borrow the language of travel documents —
   boarding passes, visa stamps, perforated ticket stubs — because every
   course on this site exists to get someone through a door abroad
   (a hospital ward, a job interview, a new country).
   ========================================================================= */

:root{
  /* ---- color ---- */
  --tla-navy:        #1F2160;
  --tla-navy-deep:   #14163F;
  --tla-cream:       #F7F2E8;
  --tla-paper:       #FFFDF8;
  --tla-ink:         #1B1B23;
  --tla-ink-soft:    #5B5A6E;
  --tla-amber:       #E2A23B;
  --tla-amber-deep:  #C7831C;
  --tla-teal:        #2F8F84;
  --tla-rose:        #C65F4E;
  --tla-line:        rgba(31,33,96,0.14);
  --tla-white:       #FFFFFF;

  /* ---- type ---- */
  --tla-font-display: "Quicksand", "Century Gothic", sans-serif;
  --tla-font-body:     "Quicksand", -apple-system, BlinkMacSystemFont, sans-serif;
  --tla-font-mono:     "JetBrains Mono", "SFMono-Regular", monospace;

  /* ---- shape / rhythm ---- */
  --tla-radius:      18px;
  --tla-radius-sm:   10px;
  --tla-section-y:   clamp(64px, 9vw, 120px);
  --tla-container:   1240px;
}

/* =========================================================================
   RESET / BASE
   ========================================================================= */
.tla *{ box-sizing:border-box; }
.tla{
  font-family:var(--tla-font-body);
  color:var(--tla-ink);
  background:var(--tla-cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.tla img{ max-width:100%; display:block; }
.tla a{ color:inherit; text-decoration:none; }
.tla ul{ margin:0; padding:0; list-style:none; }
.tla button{ font-family:inherit; cursor:pointer; }
.tla h1,.tla h2,.tla h3,.tla h4{
  font-family:var(--tla-font-display);
  font-weight:600;
  line-height:1.12;
  margin:0;
  color:var(--tla-navy);
  letter-spacing:0;
}
.tla :focus-visible{
  outline:3px solid var(--tla-amber);
  outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  .tla *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}

.tla__container{
  width:100%;
  max-width:var(--tla-container);
  margin:0 auto;
  padding:0 24px;
}
.tla__section{ padding:var(--tla-section-y) 0; position:relative; }

.tla__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--tla-font-mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--tla-amber-deep);
  font-weight:600;
  margin-bottom:14px;
}
.tla__eyebrow::before{
  content:"";
  width:18px; height:1px;
  background:var(--tla-amber-deep);
  display:inline-block;
}
.tla__head{ max-width:680px; margin-bottom:48px; }
.tla__head--center{ margin-inline:auto; text-align:center; }
.tla__head h2{ font-size:clamp(28px,3.4vw,42px); }
.tla__head p{ color:var(--tla-ink-soft); font-size:17px; margin-top:14px; }

/* perforated divider used between sections, like a ticket tear-line */
.tla__perf{
  height:0;
  border-top:2px dotted var(--tla-line);
  position:relative;
}
.tla__perf::before,.tla__perf::after{
  content:"";
  position:absolute; top:-9px;
  width:18px; height:18px;
  border-radius:50%;
  background:var(--tla-cream);
  box-shadow:0 0 0 2px var(--tla-line) inset;
}
.tla__perf::before{ left:-9px; }
.tla__perf::after{ right:-9px; }

/* =========================================================================
   BUTTONS
   ========================================================================= */
.tla__btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:15px;
  padding:14px 26px;
  border-radius:999px;
  border:1.5px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
  white-space:nowrap;
}
.tla__btn--amber{
  background:var(--tla-amber);
  color:var(--tla-navy-deep);
  box-shadow:0 10px 24px -10px rgba(226,162,59,0.65);
}
.tla__btn--amber:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(226,162,59,0.8); }
.tla__btn--ghost{
  border-color:rgba(255,255,255,0.5);
  color:var(--tla-white);
}
.tla__btn--ghost:hover{ background:rgba(255,255,255,0.12); }
.tla__btn--outline{
  border-color:var(--tla-navy);
  color:var(--tla-navy);
}
.tla__btn--outline:hover{ background:var(--tla-navy); color:var(--tla-white); }
.tla__btn--block{ width:100%; justify-content:center; }
.tla__btn svg{ width:16px; height:16px; flex:none; }

/* =========================================================================
   HEADER
   ========================================================================= */
.tla__header{
  position:sticky; top:0; z-index:60;
  background:rgba(247,242,232,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--tla-line);
  transition:background .3s ease;
}
.tla__header-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:24px;
}
.tla__logo{ display:flex; align-items:center; gap:10px; flex:none; }
.tla__logo img{ height:38px; width:auto; }

.tla__nav{ display:flex; align-items:center; gap:6px; }
.tla__nav-link{
  position:relative;
  padding:10px 16px;
  font-size:14.5px;
  font-weight:600;
  color:var(--tla-navy);
  border-radius:999px;
  transition:background .2s ease;
}
.tla__nav-link:hover{ background:rgba(31,33,96,0.08); }

.tla__nav-cta{ display:flex; align-items:center; gap:14px; flex:none; }
.tla__nav-phone{
  display:flex; flex-direction:column; line-height:1.25; font-size:13px;
}
.tla__nav-phone span{ color:var(--tla-ink-soft); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.tla__nav-phone a{ font-weight:700; color:var(--tla-navy); font-family:var(--tla-font-mono); }

.tla__burger{
  display:none;
  width:42px; height:42px;
  border-radius:50%;
  border:1.5px solid var(--tla-navy);
  background:transparent;
  align-items:center; justify-content:center;
  flex:none;
}
.tla__burger span{ display:block; width:18px; height:2px; background:var(--tla-navy); position:relative; }
.tla__burger span::before,.tla__burger span::after{
  content:""; position:absolute; left:0; width:18px; height:2px; background:var(--tla-navy);
}
.tla__burger span::before{ top:-6px; }
.tla__burger span::after{ top:6px; }

/* =========================================================================
   HERO
   ========================================================================= */
.tla__hero{
  position:relative;
  background:var(--tla-navy);
  color:var(--tla-white);
  overflow:hidden;
  padding:clamp(56px,8vw,110px) 0 0;
}
.tla__hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(680px 480px at 14% 18%, rgba(226,162,59,0.20), transparent 60%),
    radial-gradient(620px 540px at 92% 78%, rgba(47,143,132,0.28), transparent 60%);
  pointer-events:none;
}
.tla__hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.95fr;
  gap:48px;
  align-items:center;
  position:relative; z-index:1;
}
.tla__hero-copy h1{
  color:var(--tla-white);
  font-size:clamp(36px,5.2vw,60px);
  max-width:14ch;
}
.tla__hero-copy h1 em{
  font-style:normal;
  color:var(--tla-amber);
  position:relative;
}
.tla__hero-script{
  display:inline-block;
  min-width:1ch;
  font-family:var(--tla-font-display);
  font-style:italic;
  color:var(--tla-amber);
}
.tla__hero-copy p{
  margin-top:20px;
  font-size:17.5px;
  color:rgba(255,255,255,0.78);
  max-width:46ch;
}
.tla__hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

.tla__hero-stats{
  display:flex; gap:28px; margin-top:48px; flex-wrap:wrap;
  border-top:1px dashed rgba(255,255,255,0.25);
  padding-top:24px;
}
.tla__hero-stat b{
  font-family:var(--tla-font-display);
  font-size:26px; color:var(--tla-white); display:block;
}
.tla__hero-stat span{ font-size:12.5px; color:rgba(255,255,255,0.62); text-transform:uppercase; letter-spacing:.06em; }

/* ---- boarding pass mock (signature element) ---- */
.tla__pass{
  position:relative;
  background:var(--tla-paper);
  color:var(--tla-ink);
  border-radius:16px;
  box-shadow:0 40px 70px -30px rgba(0,0,0,0.55);
  display:grid;
  grid-template-columns:1fr 96px;
  transform:rotate(2deg);
  font-family:var(--tla-font-mono);
}
.tla__pass-main{ padding:26px 22px; }
.tla__pass-route{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.tla__pass-city{ font-family:var(--tla-font-display); font-size:22px; font-weight:600; color:var(--tla-navy); }
.tla__pass-sub{ font-size:10.5px; color:var(--tla-ink-soft); letter-spacing:.08em; text-transform:uppercase; }
.tla__pass-plane{
  width:30px; height:30px; border-radius:50%;
  background:var(--tla-cream); display:grid; place-content:center; color:var(--tla-amber-deep);
  flex:none;
}
.tla__pass-row{ display:flex; justify-content:space-between; font-size:11px; margin-top:12px; }
.tla__pass-row b{ display:block; font-size:13.5px; color:var(--tla-navy); font-weight:700; }
.tla__pass-row span{ color:var(--tla-ink-soft); text-transform:uppercase; letter-spacing:.06em; font-size:10px; }
.tla__pass-stub{
  border-left:2px dotted var(--tla-line);
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  padding:18px 0;
  position:relative;
}
.tla__pass-stub::before,.tla__pass-stub::after{
  content:""; position:absolute; width:16px; height:16px; border-radius:50%; background:var(--tla-cream);
  left:-8px;
}
.tla__pass-stub::before{ top:-8px; }
.tla__pass-stub::after{ bottom:-8px; }
.tla__pass-stamp{
  width:54px; height:54px; border-radius:50%;
  border:2px solid var(--tla-rose);
  color:var(--tla-rose);
  display:grid; place-content:center;
  font-size:9px; font-weight:700; text-align:center; line-height:1.2;
  transform:rotate(-14deg);
  letter-spacing:.04em;
}
.tla__pass-seat{ writing-mode:vertical-rl; font-size:11px; color:var(--tla-ink-soft); letter-spacing:.1em; }
.tla__pass-float{
  position:absolute;
  background:var(--tla-white);
  border-radius:14px;
  box-shadow:0 24px 40px -20px rgba(0,0,0,0.35);
  padding:12px 16px;
  display:flex; align-items:center; gap:10px;
  font-size:12.5px; font-weight:700; color:var(--tla-navy);
}
.tla__hero-visual{ position:relative; z-index:1; }

/* =========================================================================
   MARQUEE / TICKER (languages strip)
   ========================================================================= */
.tla__ticker{
  background:var(--tla-navy-deep);
  color:rgba(255,255,255,0.7);
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.tla__ticker-track{
  display:flex; gap:48px;
  white-space:nowrap;
  padding:13px 0;
  animation:tla-scroll 32s linear infinite;
  width:max-content;
}
.tla__ticker span{
  font-family:var(--tla-font-mono);
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px;
}
.tla__ticker span::after{ content:"✦"; color:var(--tla-amber); }
@keyframes tla-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* =========================================================================
   STATS / STAMP BAND
   ========================================================================= */
.tla__stamps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.tla__stamp{
  background:var(--tla-paper);
  border:1.5px dashed var(--tla-line);
  border-radius:var(--tla-radius);
  padding:26px 18px;
  text-align:center;
  position:relative;
}
.tla__stamp b{
  font-family:var(--tla-font-display);
  font-size:34px;
  color:var(--tla-navy);
  display:block;
}
.tla__stamp span{
  font-size:12.5px;
  color:var(--tla-ink-soft);
  letter-spacing:.03em;
}

/* =========================================================================
   WHY US / FEATURES
   ========================================================================= */
.tla__why{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:56px;
  align-items:start;
}
.tla__why-list{ display:grid; gap:18px; }
.tla__why-item{
  display:flex; gap:18px;
  background:var(--tla-paper);
  border:1px solid var(--tla-line);
  border-radius:var(--tla-radius);
  padding:22px;
}
.tla__why-icon{
  flex:none; width:48px; height:48px; border-radius:12px;
  display:grid; place-content:center;
  background:rgba(47,143,132,0.12); color:var(--tla-teal);
}
.tla__why-item:nth-child(2) .tla__why-icon{ background:rgba(226,162,59,0.16); color:var(--tla-amber-deep); }
.tla__why-item:nth-child(3) .tla__why-icon{ background:rgba(198,95,78,0.12); color:var(--tla-rose); }
.tla__why-item:nth-child(4) .tla__why-icon{ background:rgba(31,33,96,0.10); color:var(--tla-navy); }
.tla__why-item h3{ font-size:18px; margin-bottom:4px; }
.tla__why-item p{ color:var(--tla-ink-soft); font-size:14.5px; margin:0; }

/* =========================================================================
   COURSES — boarding-pass cards
   ========================================================================= */
.tla__courses{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.tla__course{
  background:var(--tla-paper);
  border-radius:var(--tla-radius);
  overflow:hidden;
  box-shadow:0 18px 38px -28px rgba(20,22,63,0.35);
  border:1px solid var(--tla-line);
  display:flex; flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}
.tla__course:hover{ transform:translateY(-6px); box-shadow:0 26px 46px -24px rgba(20,22,63,0.42); }
.tla__course-top{
  padding:20px 22px;
  color:var(--tla-white);
}
.tla__course-top-row{
  display:flex; align-items:flex-start; justify-content:space-between;
}
.tla__course-tag{
  font-family:var(--tla-font-mono);
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  background:rgba(255,255,255,0.18);
  padding:4px 10px; border-radius:999px;
}
.tla__course-code{ font-family:var(--tla-font-mono); font-size:12px; opacity:.85; }
.tla__course-name{ font-family:var(--tla-font-display); font-size:21px; color:var(--tla-white); margin-top:14px; }
.tla__course[data-track="medical"] .tla__course-top{ background:linear-gradient(135deg,var(--tla-teal),#256e65); }
.tla__course[data-track="english"] .tla__course-top{ background:linear-gradient(135deg,var(--tla-navy),var(--tla-navy-deep)); }
.tla__course[data-track="diploma"] .tla__course-top{ background:linear-gradient(135deg,var(--tla-rose),#9c4a3c); }
.tla__course[data-track="turkish"] .tla__course-top{ background:linear-gradient(135deg,#5b4ea1,#3c3173); }
.tla__course[data-track="arabic"] .tla__course-top{ background:linear-gradient(135deg,var(--tla-amber-deep),#a5670f); }
.tla__course[data-track="gcc"] .tla__course-top{ background:linear-gradient(135deg,#2c6f8f,#1d4a5f); }

.tla__course-perf{
  border-top:2px dotted var(--tla-line);
  position:relative; height:0;
}
.tla__course-perf::before,.tla__course-perf::after{
  content:""; position:absolute; top:-7px; width:14px; height:14px; border-radius:50%; background:var(--tla-cream);
}
.tla__course-perf::before{ left:-7px; } .tla__course-perf::after{ right:-7px; }

.tla__course-body{ padding:20px 22px 22px; flex:1; display:flex; flex-direction:column; }
.tla__course-body p{ color:var(--tla-ink-soft); font-size:14px; margin:0 0 16px; }
.tla__course-meta{ display:flex; gap:18px; margin-bottom:18px; flex-wrap:wrap; }
.tla__course-meta div{ font-size:11.5px; color:var(--tla-ink-soft); }
.tla__course-meta b{ display:block; font-family:var(--tla-font-mono); font-size:13.5px; color:var(--tla-navy); }
.tla__course-link{
  margin-top:auto;
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:13.5px; color:var(--tla-navy);
}
.tla__course-link svg{ width:14px; height:14px; transition:transform .2s ease; }
.tla__course-link:hover svg{ transform:translateX(4px); }

/* =========================================================================
   PROCESS / LEARNING PATH
   ========================================================================= */
.tla__path{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;
}
.tla__path::before{
  content:"";
  position:absolute; top:26px; left:6%; right:6%; height:2px;
  background:repeating-linear-gradient(90deg,var(--tla-line) 0 10px,transparent 10px 18px);
  z-index:0;
}
.tla__path-step{ position:relative; padding:0 18px; text-align:left; z-index:1; }
.tla__path-num{
  width:52px; height:52px; border-radius:50%;
  background:var(--tla-navy); color:var(--tla-white);
  display:grid; place-content:center;
  font-family:var(--tla-font-display); font-size:19px;
  margin-bottom:18px;
  box-shadow:0 10px 18px -8px rgba(31,33,96,0.5);
}
.tla__path-step:nth-child(2) .tla__path-num{ background:var(--tla-teal); }
.tla__path-step:nth-child(3) .tla__path-num{ background:var(--tla-amber-deep); }
.tla__path-step:nth-child(4) .tla__path-num{ background:var(--tla-rose); }
.tla__path-step h3{ font-size:17.5px; margin-bottom:6px; }
.tla__path-step p{ font-size:13.5px; color:var(--tla-ink-soft); margin:0; }

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.tla__testi{
  background:var(--tla-navy);
  color:var(--tla-white);
  border-radius:28px;
  padding:clamp(36px,5vw,64px);
  position:relative;
  overflow:hidden;
}
.tla__testi::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(560px 360px at 90% 0%, rgba(226,162,59,0.18), transparent 60%);
}
.tla__testi-grid{ display:grid; grid-template-columns:0.7fr 1.3fr; gap:40px; position:relative; z-index:1; }
.tla__testi-head h2{ color:var(--tla-white); font-size:clamp(26px,3vw,36px); }
.tla__testi-head p{ color:rgba(255,255,255,0.7); margin-top:12px; font-size:15px; }
.tla__testi-track-wrap{ overflow:hidden; }
.tla__testi-track{ display:flex; gap:24px; transition:transform .5s ease; }
.tla__testi-card{
  flex:0 0 100%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:18px;
  padding:28px;
}
.tla__testi-quote{ font-family:var(--tla-font-display); font-size:18px; line-height:1.5; }
.tla__testi-person{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.tla__testi-avatar{
  width:44px; height:44px; border-radius:50%;
  background:var(--tla-amber); color:var(--tla-navy-deep);
  display:grid; place-content:center; font-weight:700; font-family:var(--tla-font-display);
  flex:none;
}
.tla__testi-person b{ display:block; font-size:14px; }
.tla__testi-person span{ font-size:12px; color:rgba(255,255,255,0.62); }
.tla__testi-nav{ display:flex; gap:10px; margin-top:22px; }
.tla__testi-dot{
  width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.3); border:none; padding:0;
}
.tla__testi-dot.is-active{ background:var(--tla-amber); width:24px; border-radius:5px; transition:width .2s ease; }

/* =========================================================================
   CTA BANNER
   ========================================================================= */
.tla__cta{
  background:linear-gradient(135deg,var(--tla-amber) 0%, var(--tla-amber-deep) 100%);
  border-radius:28px;
  padding:clamp(34px,5vw,56px);
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  color:var(--tla-navy-deep);
  flex-wrap:wrap;
}
.tla__cta h2{ color:var(--tla-navy-deep); font-size:clamp(24px,3vw,32px); max-width:22ch; }
.tla__cta p{ margin-top:8px; color:rgba(20,22,63,0.75); max-width:40ch; }
.tla__cta .tla__btn--outline{ border-color:var(--tla-navy-deep); color:var(--tla-navy-deep); }
.tla__cta .tla__btn--outline:hover{ background:var(--tla-navy-deep); color:var(--tla-white); }

/* =========================================================================
   FAQ
   ========================================================================= */
.tla__faq{ max-width:780px; margin:0 auto; display:grid; gap:14px; }
.tla__faq-item{
  background:var(--tla-paper);
  border:1px solid var(--tla-line);
  border-radius:14px;
  overflow:hidden;
}
.tla__faq-q{
  width:100%; text-align:left;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 22px; background:none; border:none;
  font-weight:700; font-size:15.5px; color:var(--tla-navy);
}
.tla__faq-q svg{ width:18px; height:18px; flex:none; transition:transform .25s ease; color:var(--tla-amber-deep); }
.tla__faq-item.is-open .tla__faq-q svg{ transform:rotate(45deg); }
.tla__faq-a{
  max-height:0; overflow:hidden; transition:max-height .3s ease;
  padding:0 22px;
}
.tla__faq-a p{ color:var(--tla-ink-soft); font-size:14.5px; padding-bottom:18px; margin:0; }
.tla__faq-item.is-open .tla__faq-a{ max-height:240px; }

/* =========================================================================
   CONTACT
   ========================================================================= */
.tla__contact{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:0;
  background:var(--tla-paper);
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--tla-line);
}
.tla__contact-info{
  background:var(--tla-navy);
  color:var(--tla-white);
  padding:clamp(28px,4vw,48px);
}
.tla__contact-info h2{ color:var(--tla-white); font-size:clamp(24px,3vw,30px); }
.tla__contact-info p{ color:rgba(255,255,255,0.72); margin-top:10px; font-size:14.5px; }
.tla__contact-list{ margin-top:28px; display:grid; gap:18px; }
.tla__contact-list li{ display:flex; gap:14px; align-items:flex-start; font-size:14px; }
.tla__contact-list svg{ width:18px; height:18px; flex:none; color:var(--tla-amber); margin-top:2px; }
.tla__contact-list b{ display:block; font-size:13px; color:rgba(255,255,255,0.6); font-weight:600; }
.tla__contact-social{ display:flex; gap:10px; margin-top:28px; }
.tla__contact-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.3);
  display:grid; place-content:center; transition:background .2s ease;
}
.tla__contact-social a:hover{ background:rgba(255,255,255,0.14); }
.tla__contact-social svg{ width:16px; height:16px; }

.tla__form{ padding:clamp(28px,4vw,48px); }
.tla__form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.tla__field{ display:flex; flex-direction:column; gap:6px; }
.tla__field label{ font-size:12.5px; font-weight:700; color:var(--tla-navy); }
.tla__field input,.tla__field select,.tla__field textarea{
  border:1.5px solid var(--tla-line);
  border-radius:10px;
  padding:12px 14px;
  font-family:inherit; font-size:14.5px;
  background:var(--tla-cream);
  color:var(--tla-ink);
}
.tla__field input:focus,.tla__field select:focus,.tla__field textarea:focus{
  outline:none; border-color:var(--tla-amber-deep); background:var(--tla-white);
}
.tla__field--full{ grid-column:1 / -1; }

/* =========================================================================
   FOOTER
   ========================================================================= */
.tla__footer{ background:var(--tla-navy-deep); color:rgba(255,255,255,0.72); margin-top:var(--tla-section-y); }
.tla__footer-top{ padding:56px 0 36px; display:grid; grid-template-columns:1.3fr 0.8fr 0.8fr 1.1fr; gap:36px; }
.tla__footer-brand img{ height:34px; }
.tla__footer-brand p{ margin-top:16px; font-size:13.5px; max-width:30ch; color:rgba(255,255,255,0.55); }
.tla__footer h4{ color:var(--tla-white); font-size:14.5px; margin-bottom:16px; font-family:var(--tla-font-body); }
.tla__footer ul{ display:grid; gap:10px; }
.tla__footer ul a{ font-size:13.5px; color:rgba(255,255,255,0.6); transition:color .2s ease; }
.tla__footer ul a:hover{ color:var(--tla-amber); }
.tla__footer-news{ display:flex; gap:0; margin-top:14px; border-radius:999px; overflow:hidden; border:1px solid rgba(255,255,255,0.2); }
.tla__footer-news input{ flex:1; background:transparent; border:none; padding:11px 16px; color:var(--tla-white); font-size:13px; }
.tla__footer-news input:focus{ outline:none; }
.tla__footer-news button{ background:var(--tla-amber); border:none; padding:0 18px; color:var(--tla-navy-deep); font-weight:700; font-size:13px; }
.tla__footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding:20px 0;
  display:flex; align-items:center; justify-content:space-between;
  font-size:12.5px; color:rgba(255,255,255,0.45);
  flex-wrap:wrap; gap:10px;
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 1100px){
  .tla__hero-grid{ grid-template-columns:1fr; }
  .tla__hero-visual{ max-width:380px; margin:0 auto; }
  .tla__why{ grid-template-columns:1fr; }
  .tla__courses{ grid-template-columns:repeat(2,1fr); }
  .tla__footer-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 860px){
  .tla__nav, .tla__nav-phone{ display:none; }
  .tla__burger{ display:flex; }
  .tla__hero-stats{ gap:20px; }
  .tla__stamps{ grid-template-columns:repeat(2,1fr); }
  .tla__path{ grid-template-columns:1fr; gap:28px; }
  .tla__path::before{ display:none; }
  .tla__testi-grid{ grid-template-columns:1fr; }
  .tla__contact{ grid-template-columns:1fr; }
  .tla__cta{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 640px){
  .tla__courses{ grid-template-columns:1fr; }
  .tla__form-row{ grid-template-columns:1fr; }
  .tla__footer-top{ grid-template-columns:1fr; }
  .tla__hero-stats{ justify-content:space-between; }
  .tla__pass{ transform:rotate(0); }
}

/* mobile nav drawer */
.tla__mobile-nav{
  position:fixed; inset:0; z-index:90;
  background:var(--tla-navy);
  color:var(--tla-white);
  transform:translateX(100%);
  transition:transform .35s ease;
  padding:24px;
  display:flex; flex-direction:column;
}
.tla__mobile-nav.is-open{ transform:translateX(0); }
.tla__mobile-nav-head{ display:flex; justify-content:space-between; align-items:center; }
.tla__mobile-nav-close{ width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.3); background:none; color:var(--tla-white); }
.tla__mobile-nav ul{ margin-top:36px; display:grid; gap:6px; }
.tla__mobile-nav a{ display:block; padding:14px 4px; font-size:20px; font-family:var(--tla-font-display); border-bottom:1px solid rgba(255,255,255,0.1); }
.tla__mobile-nav .tla__btn{ margin-top:24px; }

/* =====================================================================
   HOME PAGE — Courses / Services / Testimonials / Blog
   Visual refresh to match the TLA design system (colour + design only,
   no content changes). Cards get the warm paper background, soft navy
   borders, display-serif headings and amber/teal hover accents used
   across the rest of the homepage.
   ===================================================================== */

/* ---- shared section rhythm ---- */
.tla__home-head{ margin-bottom:8px; }
.tla__home-head h2{ font-family:var(--tla-font-display); }

/* ---- swiper nav arrows (Services slider) ---- */
.tla__swiper-nav{
  background:var(--tla-paper) !important;
  border:1.5px solid var(--tla-line) !important;
  color:var(--tla-navy) !important;
  transition:all .3s ease !important;
}
.tla__swiper-nav:hover{
  background:var(--tla-amber) !important;
  border-color:var(--tla-amber) !important;
  color:var(--tla-navy-deep) !important;
  transform:translateY(-2px);
}

/* ---- pagination dots, used by sliders site-wide ---- */
.swiper-pagination-bullet{ background:var(--tla-navy) !important; opacity:.22 !important; }
.swiper-pagination-bullet-active{ background:var(--tla-amber) !important; opacity:1 !important; }

/* ---- Courses cards ---- */
.tla__course-card{
  position:relative;
  background:var(--tla-paper) !important;
  border:1px solid var(--tla-line) !important;
  border-radius:18px !important;
  overflow:hidden;
  box-shadow:0 1px 0 rgba(31,33,96,0.04);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.tla__course-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 48px -22px rgba(31,33,96,0.30);
  border-color:var(--tla-amber) !important;
}
.tla__course-card img{
  border-radius:14px !important;
  aspect-ratio:4/3; object-fit:cover;
  transition:transform .5s ease;
}
.tla__course-card:hover img{ transform:scale(1.06); }
.tla__course-card .h6{
  font-family:var(--tla-font-display) !important;
  color:var(--tla-navy) !important;
  font-weight:700 !important;
  transition:color .3s ease;
}
.tla__course-card:hover .h6{ color:var(--tla-amber-deep) !important; }
.tla__course-card::after{
  content:""; position:absolute; left:24px; bottom:0; height:3px; width:0;
  background:var(--tla-amber); transition:width .35s ease;
}
.tla__course-card:hover::after{ width:calc(100% - 48px); }

/* ---- Services cards ---- */
.tla__service-card{
  background:var(--tla-paper) !important;
  border:1px solid var(--tla-line) !important;
  border-radius:18px !important;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.tla__service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 48px -22px rgba(47,143,132,0.28);
  border-color:var(--tla-teal) !important;
}
.tla__service-card img{
  border-radius:14px !important;
  aspect-ratio:4/3; object-fit:cover;
  transition:transform .5s ease;
}
.tla__service-card:hover img{ transform:scale(1.06); }
.tla__service-card .h6{
  font-family:var(--tla-font-display) !important;
  color:var(--tla-navy) !important;
  font-weight:700 !important;
  transition:color .3s ease;
}
.tla__service-card:hover .h6{ color:var(--tla-teal) !important; }
.tla__service-card hr.hr{
  border:none; height:2px; opacity:1; margin-top:14px;
  background:linear-gradient(90deg,var(--tla-teal),transparent);
}

/* ---- Testimonial cards ---- */
.tla__testimonial-card{
  background:var(--tla-paper) !important;
  border:1px solid var(--tla-line) !important;
  border-radius:20px !important;
  box-shadow:0 1px 0 rgba(31,33,96,0.04) !important;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.tla__testimonial-card:hover{
  border-color:var(--tla-amber) !important;
  box-shadow:0 28px 48px -22px rgba(226,162,59,0.28) !important;
  transform:translateY(-4px);
}
.tla__testimonial-card iconify-icon{ color:var(--tla-amber) !important; opacity:1 !important; }
.tla__testimonial-card .h6{ font-family:var(--tla-font-display) !important; color:var(--tla-navy) !important; }
.tla__testimonial-card span.fs-14{ color:var(--tla-ink-soft) !important; text-transform:uppercase; letter-spacing:.06em; font-size:11.5px !important; }
.tla__testimonial-card p.fw-semibold{ color:var(--tla-ink) !important; font-style:italic; line-height:1.75 !important; }
.tla__testimonial-card .rounded-circle{ box-shadow:0 0 0 4px var(--tla-cream), 0 0 0 5px var(--tla-line); }

/* ---- Blog cards ---- */
.tla__blog-card{
  background:var(--tla-paper) !important;
  border:1px solid var(--tla-line) !important;
  border-radius:18px !important;
  box-shadow:0 1px 0 rgba(31,33,96,0.04) !important;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.tla__blog-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 48px -22px rgba(31,33,96,0.28) !important;
  border-color:var(--tla-teal) !important;
}
.tla__blog-card img{
  border-radius:12px !important;
  aspect-ratio:4/3; object-fit:cover;
  transition:transform .5s ease;
}
.tla__blog-card:hover img{ transform:scale(1.06); }
.tla__blog-card a.h6{
  font-family:var(--tla-font-display) !important;
  color:var(--tla-navy) !important;
  font-weight:700 !important;
}
.tla__blog-card:hover a.h6{ color:var(--tla-teal) !important; }
.tla__blog-date{
  background:var(--tla-cream);
  border-radius:999px;
  padding:4px 12px !important;
  font-family:var(--tla-font-mono);
  font-size:11px !important;
  letter-spacing:.04em;
  color:var(--tla-amber-deep) !important;
}
.tla__blog-date iconify-icon{ color:var(--tla-amber-deep) !important; }
.tla__blog-card .d-inline-flex.hover\:text-primary{ color:var(--tla-navy) !important; font-weight:700; }
.tla__blog-card .d-inline-flex.hover\:text-primary:hover{ color:var(--tla-teal) !important; }
