/* TFA Landing — scoped under .tfa-landing */
.tfa-landing {
  --page:#fcf9f7; --surface:#fff; --tile:#f3ece1; --line:#eeecea; --ink:#212832; --ink-deep:#1a1a18; --muted:#6f6e70;
  --accent:#ff7800; --accent-deep:#e66c00; --accent-soft:rgba(255,120,0,.12); --wa:#25d366; --wa-deep:#1ebe57;
  --radius:12px; --max:1080px; --header-h:68px; --ease:cubic-bezier(.22,1,.36,1);
  --font:"Tajawal",Tahoma,"Segoe UI",Arial,sans-serif;
  font-family:var(--font); font-size:1.05rem; line-height:1.75; color:var(--ink); background:var(--page); overflow-x:hidden;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
.tfa-landing,
.tfa-landing h1,.tfa-landing h2,.tfa-landing h3,.tfa-landing p,.tfa-landing a,.tfa-landing li,.tfa-landing span,
.tfa-landing strong,.tfa-landing button,.tfa-landing summary,.tfa-landing input,.tfa-landing textarea { font-family:var(--font) !important; }
.tfa-landing *, .tfa-landing *::before, .tfa-landing *::after { box-sizing:border-box; }
.tfa-landing img { max-width:100%; height:auto; display:block; border:0; }
.tfa-landing a { color:inherit; text-decoration:none; }
.tfa-landing ul { margin:0; padding:0; list-style:none; }
.tfa-landing h1,.tfa-landing h2,.tfa-landing h3 { margin:0; line-height:1.3; text-wrap:balance; }
.tfa-landing p { margin:0; text-wrap:pretty; }
.tfa-landing .wrap {
  width:min(92%, calc(100% - 1.5rem)); max-width:var(--max); margin-right:auto; margin-left:auto;
  padding-right:env(safe-area-inset-right,0); padding-left:env(safe-area-inset-left,0);
}
.tfa-landing #courses,.tfa-landing #announce,.tfa-landing #faq,.tfa-landing #contact {
  scroll-margin-top:calc(var(--header-h) + 12px);
}
.tfa-landing .site-header {
  position:-webkit-sticky; position:sticky; top:0; z-index:50; min-height:var(--header-h);
  background:#fff; border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0);
}
.tfa-landing .header-inner {
  min-height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:.75rem;
}
.tfa-landing .logo-link { flex-shrink:0; min-width:0; }
.tfa-landing .logo-link img { height:42px; width:auto; max-width:150px; object-fit:contain; }
.tfa-landing .header-actions { display:flex; align-items:center; gap:.65rem; flex-shrink:0; }
.tfa-landing .btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.5rem 1.15rem;
  border-radius:8px; font-weight:700; font-size:.95rem; border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .15s var(--ease);
}
.tfa-landing .btn:active { transform:scale(.98); }
.tfa-landing .btn-login,.tfa-landing .btn-primary { background:var(--accent); color:#fff; border-color:var(--accent); }
.tfa-landing .btn-login:hover,.tfa-landing .btn-primary:hover { background:var(--accent-deep); border-color:var(--accent-deep); color:#fff; }
.tfa-landing .btn-soft { background:transparent; color:var(--ink); border-color:var(--line); }
.tfa-landing .btn-soft:hover { border-color:var(--ink); background:var(--page); }
.tfa-landing .btn-wa { background:var(--wa); color:#fff; border-color:var(--wa); }
.tfa-landing .btn-wa:hover { background:var(--wa-deep); border-color:var(--wa-deep); color:#fff; }
.tfa-landing .hero { padding:clamp(2.75rem,6vw,4.5rem) 0 clamp(3.25rem,7vw,5rem); }
.tfa-landing .hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.5rem; align-items:center; }
.tfa-landing .hero-grid > * { min-width:0; }
.tfa-landing .hero-grid--solo,
.tfa-landing.has-no-announce .hero-grid { grid-template-columns:minmax(0,1fr); }
.tfa-landing .hero-grid--solo .hero-copy,
.tfa-landing.has-no-announce .hero-copy { max-width:40rem; }
.tfa-landing .hero h1 { font-size:clamp(1.85rem,4vw,2.75rem); font-weight:800; color:var(--ink-deep); margin-bottom:.9rem; }
.tfa-landing .hero-lead { color:var(--muted); font-size:1.08rem; max-width:32rem; margin-bottom:1.75rem; }
.tfa-landing .hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.tfa-landing .announce-shell { background:#152238; border-radius:16px; padding:clamp(1.35rem,3vw,1.85rem); color:#fff; box-shadow:0 18px 40px rgba(21,34,56,.18); }
.tfa-landing .announce-kicker { display:block; color:#c8b08a; font-size:.85rem; font-weight:700; margin-bottom:.45rem; }
.tfa-landing .announce-shell h2 { font-size:clamp(1.35rem,2.4vw,1.7rem); font-weight:800; margin-bottom:.55rem; color:#fff; }
.tfa-landing .announce-shell > p { color:rgba(255,255,255,.78); font-size:.95rem; margin-bottom:1.15rem; }
.tfa-landing .announce-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; margin-bottom:1rem; }
.tfa-landing .announce-stat { background:rgba(255,255,255,.06); border:1px solid rgba(200,176,138,.28); border-radius:10px; padding:.75rem .4rem; text-align:center; min-width:0; }
.tfa-landing .announce-stat strong { display:block; color:#c8b08a; font-size:1.45rem; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; }
.tfa-landing .announce-stat span { color:rgba(255,255,255,.8); font-size:.8rem; font-weight:500; }
.tfa-landing .announce-date { border:1px solid rgba(200,176,138,.35); border-radius:10px; padding:.75rem .9rem; margin-bottom:.65rem; text-align:center; }
.tfa-landing .announce-date strong { display:block; color:#fff; font-size:1rem; margin-bottom:.15rem; }
.tfa-landing .announce-date span { color:rgba(255,255,255,.65); font-size:.82rem; }
.tfa-landing .announce-offer { border:1px solid rgba(200,176,138,.35); border-radius:999px; padding:.55rem .9rem; text-align:center; color:#c8b08a; font-size:.85rem; font-weight:700; margin-bottom:1rem; }
.tfa-landing .announce-cta { width:100%; min-height:48px; font-size:1.05rem; direction:ltr; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
.tfa-landing .announce-hint { margin-top:.75rem; text-align:center; color:rgba(255,255,255,.55); font-size:.8rem; }
.tfa-landing .announce-note { margin-top:.85rem; color:rgba(255,255,255,.4); font-size:.7rem; line-height:1.55; text-align:center; }
.tfa-landing .section { padding:clamp(2.75rem,6vw,4.5rem) 0; }
.tfa-landing .section-alt { background:var(--surface); }
.tfa-landing .section-title { font-size:clamp(1.45rem,2.8vw,1.95rem); font-weight:800; color:var(--ink-deep); margin-bottom:.55rem; }
.tfa-landing .section-lead { color:var(--muted); margin-bottom:1.75rem; max-width:36rem; }
.tfa-landing .duo { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1rem; }
.tfa-landing .panel { background:var(--surface); border-radius:var(--radius); padding:1.35rem 1.4rem; box-shadow:0 10px 28px rgba(33,40,50,.05); }
.tfa-landing .panel h3 { font-size:1.1rem; font-weight:800; margin-bottom:.75rem; color:var(--ink-deep); }
.tfa-landing .panel li { color:var(--muted); padding:.35rem 0; padding-right:.9rem; position:relative; font-size:.95rem; }
.tfa-landing .panel li::before { content:""; position:absolute; right:0; top:.85rem; width:5px; height:5px; border-radius:50%; background:#9d9d9c; }
.tfa-landing .panel--ok li::before { background:var(--accent); }
.tfa-landing .course-list { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:1rem; }
.tfa-landing .course-list--solo { grid-template-columns:minmax(0,1fr); }
.tfa-landing .course { background:var(--page); border-radius:var(--radius); padding:1.35rem 1.4rem; box-shadow:0 10px 28px rgba(33,40,50,.05); min-width:0; }
.tfa-landing .course h3 { font-size:1.15rem; font-weight:800; color:var(--ink-deep); margin-bottom:.4rem; }
.tfa-landing .course p { color:var(--muted); font-size:.95rem; margin-bottom:.85rem; }
.tfa-landing .course p:last-child { margin-bottom:0; }
.tfa-landing .meta { color:var(--ink); font-size:.88rem; font-weight:700; }
.tfa-landing .course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.tfa-landing .proof { background:linear-gradient(180deg,#fff7ef 0%,#f9f6f2 100%); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:clamp(1.75rem,4vw,2.5rem) 0; }
.tfa-landing .proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; text-align:center; }
.tfa-landing .proof-stat {
  background:var(--surface); border:1px solid rgba(255,120,0,.18); border-radius:var(--radius);
  padding:1.15rem .85rem 1.05rem; box-shadow:0 8px 22px rgba(33,40,50,.04); min-width:0;
}
html.js .tfa-landing .proof-stat:not(.is-visible) { opacity:0; transform:translateY(12px); }
.tfa-landing .proof-stat.is-visible,
html:not(.js) .tfa-landing .proof-stat {
  opacity:1; transform:none; transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.tfa-landing .proof-stat:nth-child(2) { transition-delay:.08s; }
.tfa-landing .proof-stat:nth-child(3) { transition-delay:.16s; }
.tfa-landing .proof-stat strong {
  display:block; font-size:clamp(1.55rem,3.5vw,2.35rem); font-weight:800; color:var(--accent);
  margin-bottom:.3rem; font-variant-numeric:tabular-nums; letter-spacing:-.02em; line-height:1.15;
}
.tfa-landing .proof-stat span { color:var(--muted); font-size:clamp(.78rem,2.2vw,.92rem); font-weight:500; line-height:1.35; }
@media (prefers-reduced-motion: reduce) {
  html.js .tfa-landing .proof-stat:not(.is-visible),
  .tfa-landing .proof-stat { opacity:1; transform:none; transition:none; }
}
.tfa-landing details.faq { border-bottom:1px solid var(--line); padding:.95rem 0; }
.tfa-landing details.faq summary { list-style:none; cursor:pointer; font-weight:700; min-height:44px; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.tfa-landing details.faq summary::-webkit-details-marker { display:none; }
.tfa-landing details.faq summary::after { content:"+"; color:var(--muted); font-weight:400; font-size:1.25rem; }
.tfa-landing details.faq[open] summary::after { content:"−"; color:var(--accent); }
.tfa-landing details.faq p { color:var(--muted); padding-top:.55rem; max-width:54ch; font-size:.95rem; }
.tfa-landing .contact { background:var(--surface); border-radius:var(--radius); padding:clamp(1.5rem,4vw,2.25rem); box-shadow:0 10px 28px rgba(33,40,50,.05); }
.tfa-landing .contact h2 { font-size:1.45rem; font-weight:800; margin-bottom:.5rem; }
.tfa-landing .contact-actions { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:1rem; }
.tfa-landing .disclaimer { font-size:.78rem; color:var(--muted); line-height:1.6; margin-top:1rem; }
.tfa-landing .site-footer { border-top:1px solid var(--line); padding:1.35rem 0 2rem; color:var(--muted); font-size:.85rem; }
.tfa-landing .footer-row { display:flex; justify-content:space-between; gap:.75rem; flex-wrap:wrap; }
.tfa-landing :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

@media screen and (max-width:980px) {
  .tfa-landing .hero-grid { gap:1.75rem; }
  .tfa-landing .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:860px) {
  .tfa-landing .hero-grid,
  .tfa-landing .duo,
  .tfa-landing .course-list { grid-template-columns:1fr; }
  .tfa-landing .announce-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tfa-landing .logo-link img { height:36px; max-width:130px; }
  .tfa-landing .btn { min-height:44px; padding:.5rem 1rem; font-size:.9rem; }
  .tfa-landing .section { padding:clamp(2.25rem,5vw,3.25rem) 0; }
  .tfa-landing .hero { padding:clamp(2rem,5vw,3rem) 0; }
}
@media screen and (max-width:560px) {
  .tfa-landing { font-size:1rem; }
  .tfa-landing .hero-actions .btn,
  .tfa-landing .contact-actions .btn,
  .tfa-landing .announce-cta { width:100%; }
  .tfa-landing .course-grid { grid-template-columns:1fr; }
  .tfa-landing .proof-grid { gap:.55rem; }
  .tfa-landing .proof-stat { padding:.95rem .45rem .85rem; }
  .tfa-landing .announce-stats { gap:.4rem; }
  .tfa-landing .announce-stat { padding:.65rem .25rem; }
  .tfa-landing .announce-stat strong { font-size:1.15rem; }
  .tfa-landing .announce-stat span { font-size:.7rem; }
  .tfa-landing .site-footer { padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px)); }
}
@media screen and (max-width:380px) {
  .tfa-landing .proof-grid { grid-template-columns:1fr; gap:.65rem; }
  .tfa-landing .announce-stats { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .tfa-landing *, .tfa-landing *::before, .tfa-landing *::after {
    transition:none !important; animation:none !important;
  }
}
@media print {
  .tfa-landing .site-header { position:static; }
  .tfa-landing .announce-shell,.tfa-landing .proof-stat,.tfa-landing .course,.tfa-landing .contact { box-shadow:none; }
  .tfa-landing .btn-wa { display:none; }
}
