/* L · «وسّع» (/l) — the landing page designed from zero for launch. A light page (the dark first draft was declined), with
   colour only where there is something to see: the course tiles, the app, teams and contact sit on the user's supplied textures.
   Scenes are I5's; the teams dashboard is I6's. */
body[data-page='l'] { --l-bg:#ffffff; --l-text:var(--ink); --l-muted:#6d6d67; --l-faint:#e9e7e3; background:var(--l-bg); color:var(--l-text); }
body[data-page='l'] #app { color:var(--l-text); }
body[data-page='l'] ::selection { background:var(--orange); color:var(--white); }
body[data-page='l'] #app .button { color:var(--white); font-weight:600; }
body[data-page='l'] [data-tone='flame'] { --t-surface:#f08a4b; --t-texture:url('/media/textures/g-flame.jpg'); --t-muted:#5a3520; }
body[data-page='l'] [data-tone='cream'] { --t-surface:#e6dccb; --t-texture:url('/media/textures/g-cream.jpg'); --t-muted:#6d665c; }
body[data-page='l'] [data-tone='sea'] { --t-surface:#8fdcbf; --t-texture:url('/media/textures/g-sea.jpg'); --t-muted:#2f5c4c; }
body[data-page='l'] [data-tone='apricot'] { --t-surface:#fbc49a; --t-texture:url('/media/textures/g-apricot.jpg'); --t-muted:#6b5445; }
body[data-page='l'] :is(h1,h2,h3,p) { margin:0; }

/* ——— Header: dark glass ——— */
.l-header { position:sticky; top:0; z-index:40; background:rgb(255 255 255 / .82); -webkit-backdrop-filter:blur(20px) saturate(1.4); backdrop-filter:blur(20px) saturate(1.4); }
.l-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; height:76px; }
.l-logo { width:120px; height:auto; }
.l-header nav { display:flex; align-items:center; gap:32px; font-size:13.5px; }
.l-header nav a { color:var(--l-muted); transition:color .2s; }
.l-header nav a:hover { color:var(--l-text); }
/* The organisations link reads as a destination, not one more nav word: a soft pill in the header. */
.l-header nav a.l-nav-teams { padding:8px 16px; border-radius:999px; background:#f3f2ef; color:var(--l-text); font-weight:600; transition:background .2s, color .2s; }
.l-header nav a.l-nav-teams:hover { background:var(--orange); color:var(--white); }
.l-login { font-size:13px; }
.l-menu { display:none; font-size:22px; color:var(--l-text); }

/* ——— Hero: the tagline is the message; the kashida in «وسّــــــع» stretches as the brand's own mark ——— */
.l-hero { display:flex; flex-direction:column; align-items:center; padding-block:120px 64px; text-align:center; }
.l-hero h1 { font:400 clamp(52px,8.4vw,124px)/1.25 var(--display); font-feature-settings:'ss01'; }
.l-hero h1>span { display:flex; flex-direction:column; align-items:center; }
.l-title-a { color:var(--l-text); }
.l-title-b { font-size:.52em; line-height:1.5; color:var(--orange); }
html[dir='ltr'] .l-hero h1 { line-height:1.02; letter-spacing:-.045em; }
html[dir='ltr'] .l-title-b { margin-top:.14em; line-height:1.1; letter-spacing:-.02em; }
.l-lead { max-width:560px; margin-top:28px !important; font-size:18px; line-height:1.9; color:var(--l-muted); text-wrap:pretty; }
.l-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px 32px; margin-top:40px; }
.l-watch { display:inline-flex; align-items:center; gap:12px; font-size:15px; font-weight:500; }
.l-watch-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#f3f2ef; transition:background .2s, color .2s; }
.l-watch-icon svg { width:15px; height:15px; }
.l-watch:hover .l-watch-icon { background:var(--orange); color:var(--white); }
.l-seals { display:flex; align-items:center; gap:44px; margin:56px 0 0; padding:0; list-style:none; }
.l-seals img { width:auto; filter:grayscale(1); opacity:.6; }
.l-seals li:first-child img { height:44px; }
.l-seals li:last-child img { height:36px; }

/* ——— The film: the introduction, wide, with a soft orange glow beneath it ——— */
.l-film { position:relative; padding-block:0 96px; }
.l-glow { position:absolute; inset:22% 12% 70px; z-index:0; border-radius:50%; background:radial-gradient(closest-side, rgb(255 129 44 / .22), transparent); filter:blur(60px); }
.l-video { position:relative; z-index:1; display:block; width:100%; aspect-ratio:16 / 9; padding:0; overflow:hidden; border:0; border-radius:28px; background:#eeeae4; }
.l-video img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.l-video:hover img { transform:scale(1.015); }
.l-play { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:88px; height:88px; border-radius:50%; translate:-50% -50%; background:rgb(20 20 22 / .3); color:var(--white); -webkit-backdrop-filter:blur(14px) saturate(1.6); backdrop-filter:blur(14px) saturate(1.6); transition:background .25s, scale .25s; }
body[data-page='l'] #app .l-play { box-shadow:inset 0 0 0 1px rgb(255 255 255 / .45), inset 0 1px 0 rgb(255 255 255 / .3) !important; }
.l-play svg { width:30px; height:30px; }
.l-video:hover .l-play { background:var(--orange); scale:1.05; }
body[data-page='l'] #app .l-video:hover .l-play { box-shadow:none !important; }

/* ——— Trusted by: white marks on black ——— */
.l-trust { display:flex; flex-direction:column; align-items:center; gap:28px; padding-block:0 120px; text-align:center; }
.l-trust p { font-size:13px; color:var(--l-muted); }
.l-trust div { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:26px 60px; }
.l-trust img { width:124px; height:42px; object-fit:contain; filter:grayscale(1); opacity:.58; }
.l-trust img.l-mono { filter:brightness(0); opacity:.42; }
.l-trust img.l-elm { width:48px; height:48px; }
.l-trust img.l-chamber { width:112px; height:40px; }
.l-trust img.l-tania { width:46px; height:52px; }

/* ——— Sections ——— */
.l-section { padding-block:0 120px; }
.l-head { margin-bottom:44px; }
.l-head-row { display:flex; align-items:flex-end; justify-content:space-between; gap:24px 40px; }
body[data-page='l'] .l-section h2 { font:400 clamp(36px,3.8vw,52px)/1.45 var(--display); font-feature-settings:'ss01'; }
html[dir='ltr'] body[data-page='l'] .l-section h2 { line-height:1.12; letter-spacing:-.035em; }
.l-sub { margin-top:8px !important; font-size:16px; line-height:1.9; color:var(--l-muted); }

/* ——— Where do you start: an intent on the start side, the course's work on a textured tile on the end side ——— */
.l-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px 72px; align-items:center; padding-block:40px; background:linear-gradient(var(--l-faint),var(--l-faint)) top/100% 1px no-repeat; }
.l-row:first-of-type { padding-top:0; background:none; }
body[data-page='l'] .l-row h3 { font:400 clamp(30px,3vw,42px)/1.5 var(--display); font-feature-settings:'ss01'; text-wrap:balance; }
html[dir='ltr'] body[data-page='l'] .l-row h3 { line-height:1.14; letter-spacing:-.03em; }
.l-course { display:flex; align-items:center; gap:12px; margin-top:22px !important; }
.l-course .i-course-faces { display:flex; flex:none; }
.l-course .i-course-faces img { width:36px; height:36px; border-radius:50%; object-fit:cover; object-position:center 20%; }
body[data-page='l'] #app .l-course .i-course-faces img { box-shadow:0 0 0 2px var(--l-bg) !important; }
.l-course .i-course-faces img + img { margin-inline-start:-10px; }
.l-course>span:last-child { display:flex; flex-direction:column; line-height:1.5; }
.l-course>span:last-child { font-size:14.5px; font-weight:500; }
.l-desc { max-width:460px; margin-top:16px !important; font-size:15.5px; line-height:1.9; color:var(--l-muted); }
.l-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 28px; margin-top:28px; }
.l-enroll { font-size:15px; font-weight:600; }
.l-enroll span { color:var(--orange); }
.l-enroll:hover { text-decoration:underline; text-underline-offset:5px; }
/* The scene: I5's set, cut by the tile's bottom edge at 20.1em — a row gap in all three scenes. */
.l-row-visual { container-type:inline-size; min-width:0; overflow:hidden; border-radius:28px; background:var(--t-surface) var(--t-texture) center/cover; }
body[data-page='l'] .l-row-visual .s-stage { height:auto; margin:40px 0 0; }
body[data-page='l'] .l-row-visual .s-stage>.c-set { width:min(100cqw, 560px); height:20.1em; font-size:calc(min(100cqw, 560px) / 34); }
body[data-page='l'] .l-row-visual .s-set-teach .s-analysis { top:4.75em; }

/* ——— What we believe: three lines under a hairline, set as type ——— */
.l-believe h2 { margin-bottom:36px !important; }
.l-believe ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 48px; margin:0; padding:0; list-style:none; }
.l-believe li { padding-top:28px; background:linear-gradient(var(--orange),var(--orange)) top/40px 2px no-repeat; }
html[dir='rtl'] .l-believe li { background-position:top right; }
body[data-page='l'] .l-believe h3 { font:400 clamp(24px,2.2vw,30px)/1.55 var(--display); font-feature-settings:'ss01'; }
html[dir='ltr'] body[data-page='l'] .l-believe h3 { line-height:1.2; letter-spacing:-.02em; }
.l-believe p { margin-top:12px !important; font-size:15px; line-height:1.9; color:var(--l-muted); }

/* ——— Numbers: plain type on white — the headline on the start side, four figures in a 2 × 2 grid under hairlines ——— */
.l-stats { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px 72px; align-items:center; padding-top:48px; background:linear-gradient(var(--l-faint),var(--l-faint)) top/100% 1px no-repeat; }
body[data-page='l'] .l-stats h2 { font-size:clamp(32px,3.2vw,44px); text-wrap:balance; }
.l-stats-head p { max-width:320px; margin-top:10px !important; font-size:15.5px; line-height:1.9; color:var(--l-muted); }
.l-stats ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:0; padding:0; list-style:none; }
.l-stats li { display:flex; flex-direction:column; gap:6px; padding:26px 0 28px; background:linear-gradient(var(--l-faint),var(--l-faint)) top/100% 1px no-repeat; }
.l-stats li:nth-child(-n+2) { padding-top:4px; background:none; }
.l-fig { display:flex; align-items:baseline; gap:10px; margin:0; }
.l-fig b { font:400 clamp(44px,4.4vw,60px)/1.1 var(--display); font-variant-numeric:tabular-nums; white-space:nowrap; }
.l-fig span { font-size:17px; font-weight:600; }
.l-fig-line { font-size:14.5px; line-height:1.7; color:var(--l-muted); }
.l-stars { position:relative; display:inline-flex; align-self:center; width:max-content; direction:ltr; }
.l-stars>span { display:flex; gap:3px; }
.l-stars svg { width:22px; height:22px; flex:none; }
.l-stars>span:first-child { color:#e4e1dc; }
.l-stars-on { position:absolute; inset:0; overflow:hidden; width:var(--v); color:var(--green); }
@media (max-width:1050px) { .l-stats { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:40px; } }
@media (max-width:760px) { .l-stats { padding-top:32px; } .l-fig span { font-size:15px; } }
@media (max-width:440px) { .l-stats ul { grid-template-columns:minmax(0,1fr); } .l-stats li:nth-child(2) { padding-top:26px; background:linear-gradient(var(--l-faint),var(--l-faint)) top/100% 1px no-repeat; } }

/* ——— Stories: three and a half films, arrows beside the heading; nothing moves unless asked ——— */
body[data-page='l'] .l-stories { background:none; }
.l-arrows { display:flex; flex:none; gap:8px; padding-bottom:8px; }
.l-arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; border-radius:50%; background:#f3f2ef; color:var(--l-text); transition:background .2s, color .2s, opacity .2s; }
.l-arrow svg { width:18px; height:18px; }
.l-arrow:hover:not(:disabled) { background:var(--orange); color:var(--white); }
.l-arrow:disabled { opacity:.3; cursor:default; }
body[data-page='l'] .l-films { display:grid; --show:3.5; --gaps:3; --gap:20px; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:calc((100% - var(--gaps) * var(--gap)) / var(--show)); gap:var(--gap); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
body[data-page='l'] .l-films::-webkit-scrollbar { display:none; }
body[data-page='l'] .l-films .learner-film { scroll-snap-align:start; }
body[data-page='l'] .l-films button.story-film { border-radius:20px; background:#eeeae4; }
body[data-page='l'] .l-films .story-film-play { width:52px; height:52px; inset-inline-end:16px; bottom:16px; background:rgb(20 20 22 / .26); color:var(--white); -webkit-backdrop-filter:blur(12px) saturate(1.6); backdrop-filter:blur(12px) saturate(1.6); }
body[data-page='l'] #app .l-films .story-film-play { box-shadow:inset 0 0 0 1px rgb(255 255 255 / .45) !important; }
body[data-page='l'] .l-films .story-film-play svg { width:18px; height:18px; }
body[data-page='l'] .l-films .story-film:hover .story-film-play { background:var(--orange); }
body[data-page='l'] .l-films .story-film-caption h3 { font-size:17px; color:var(--l-text); }
body[data-page='l'] .l-films .story-film-caption h3 button:hover { color:var(--orange); }
body[data-page='l'] .l-films :is(.story-film-role,.story-film-program) { font-size:12px; color:var(--l-muted); }
body[data-page='l'] .l-films .story-film-program>span { color:var(--l-muted); }

/* ——— Tiles on texture: app and contact ——— */
.l-tile { overflow:hidden; border-radius:32px; background:var(--t-surface) var(--t-texture) center/cover; color:var(--ink); }
body[data-page='l'] .l-tile h2 { color:var(--ink); }
.l-app { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; min-height:480px; }
.l-app-copy { align-self:center; padding:56px; }
.l-app-copy>p:not(.l-account) { max-width:400px; margin-top:14px !important; font-size:16px; line-height:1.9; color:var(--t-muted); }
.l-stores { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.l-store { display:inline-flex; align-items:center; gap:10px; height:54px; padding-inline:16px 20px; border-radius:14px; background:var(--ink); color:var(--white); font-size:16px; font-weight:500; direction:ltr; transition:background .2s; }
.l-store:hover { background:#2a2a2d; }
.l-store svg { width:22px; height:22px; }
.l-store span { display:flex; flex-direction:column; line-height:1.25; text-align:left; }
.l-store small { font-size:10.5px; opacity:.72; }
.l-account { margin-top:14px !important; font-size:12.5px; color:var(--t-muted); }
/* The phone: the real capture, upright, cut by the tile's bottom edge. */
.l-app-visual { align-self:end; display:flex; justify-content:center; height:440px; overflow:hidden; }
.l-phone { width:250px; height:max-content; margin-top:44px; padding:9px; border-radius:46px; background:#1d1d1f; }
body[data-page='l'] #app .l-phone { box-shadow:0 30px 60px -20px rgb(90 40 10 / .5) !important; }
.l-phone img { display:block; width:100%; height:auto; border-radius:38px; }

/* ——— For teams: I6's dashboard chapter on the mint-sand texture ——— */
body[data-page='l'] .i6-chapter[data-texture='mint-sand'] { --c-surface:#e3d3b3; --c-texture:url('/media/textures/g-mint-sand.jpg'); --c-muted:#6d665c; --c-arrow:var(--ink); color:var(--ink); }
body[data-page='l'] #teams .i6-chapter h3 { max-width:820px; color:var(--ink); text-wrap:balance; }
body[data-page='l'] #teams .i6-chapter .d-course-description { max-width:620px; }

/* ——— Team ——— */
.l-team ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.l-team img { width:100%; aspect-ratio:1; object-fit:cover; object-position:center 20%; border-radius:24px; }
body[data-page='l'] .l-team h3 { margin-top:18px; font-size:20px; font-weight:600; }
.l-team p { margin-top:2px !important; font-size:14px; color:var(--l-muted); }

/* ——— Contact ——— */
.l-contact { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:32px 64px; align-items:start; padding:56px; }
.l-contact-copy>p:not(.l-direct) { max-width:360px; margin-top:10px !important; font-size:15.5px; line-height:1.9; color:var(--t-muted); }
.l-direct { display:flex; flex-direction:column; gap:2px; margin-top:32px !important; }
.l-direct small { font-size:12px; color:var(--t-muted); }
.l-direct span { align-self:flex-start; font-size:16px; font-weight:500; user-select:all; }
.l-form { display:flex; flex-direction:column; gap:14px; }
.l-field { display:flex; flex-direction:column; gap:7px; }
.l-field label { font-size:13px; font-weight:500; }
.l-field :is(input,textarea) { width:100%; padding:13px 16px; border-radius:14px; background:rgb(255 255 255 / .82); color:var(--ink); font:inherit; font-size:15px; line-height:1.5; resize:vertical; }
.l-field :is(input,textarea)::placeholder { color:#a19c95; }
.l-field :is(input,textarea):focus { outline:2px solid var(--orange); outline-offset:1px; background:var(--white); }
.l-form .button { align-self:flex-start; margin-top:8px; padding-inline:34px; }
.l-done { grid-column:2; grid-row:1; align-self:center; display:flex; flex-direction:column; gap:4px; padding:30px 32px; border-radius:20px; background:rgb(255 255 255 / .82); }
.l-done b { font-size:18px; }
.l-done small { margin-top:10px; font-size:12px; color:#8a837a; }
body[data-page='l'] :is(.l-form,.l-done)[hidden] { display:none; }

/* ——— Footer ——— */
.l-footer { padding-block:56px 32px; }
.l-footer-main { display:flex; align-items:flex-start; gap:64px; padding-bottom:40px; }
.l-footer-main p { max-width:560px; font-size:14px; line-height:1.9; color:var(--l-muted); }
.l-footer-bottom { display:flex; align-items:center; gap:28px; padding-top:22px; font-size:12px; color:var(--l-muted); background:linear-gradient(var(--l-faint),var(--l-faint)) top/100% 1px no-repeat; }
.l-footer-bottom span { flex:1; }
.l-footer-bottom a:hover { color:var(--l-text); }

/* Video modal on the dark page */
body[data-page='l'] .modal { color:var(--ink); }

/* ——— Responsive ——— */
@media (max-width:1050px) {
  .l-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px 40px; }
  body[data-page='l'] .l-films { --show:2.5; --gaps:2; --gap:16px; }
  .l-app-copy { padding:44px; }
  .l-contact { padding:44px; gap:32px 40px; }
}
@media (max-width:900px) {
  .l-header nav { display:none; position:absolute; top:76px; inset-inline:0; flex-direction:column; align-items:center; gap:18px; padding:24px; background:var(--l-bg); }
  .l-header nav.open { display:flex; }
  .l-menu { display:block; }
  .l-login { margin-inline-start:auto; }
  .l-row { grid-template-columns:minmax(0,1fr); }
  .l-believe ul { grid-template-columns:minmax(0,1fr); gap:28px; }
  .l-app { grid-template-columns:minmax(0,1fr); min-height:0; }
  .l-contact { grid-template-columns:minmax(0,1fr); }
  .l-done { grid-column:auto; grid-row:auto; }
  .l-team ul { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:min(62vw,280px); overflow-x:auto; scrollbar-width:none; }
}
@media (max-width:760px) {
  .l-header-inner { height:64px; }
  .l-header nav { top:64px; }
  .l-logo { width:104px; }
  .l-hero { padding-block:72px 48px; }
  .l-lead { font-size:16px; }
  .l-seals { gap:28px; margin-top:44px; }
  .l-seals li:first-child img { height:36px; }
  .l-seals li:last-child img { height:30px; }
  .l-film { padding-bottom:72px; }
  .l-video { border-radius:18px; }
  .l-play { width:64px; height:64px; }
  .l-play svg { width:24px; height:24px; }
  .l-trust { padding-bottom:88px; }
  .l-trust div { gap:22px 34px; max-width:360px; }
  .l-trust img { width:104px; height:36px; }
  .l-section { padding-bottom:88px; }
  .l-head { margin-bottom:28px; }
  .l-head-row .l-arrows { display:none; }
  .l-row { padding-block:32px; }
  .l-row-visual { border-radius:22px; }
  body[data-page='l'] .l-row-visual .s-stage { margin-top:28px; }
  body[data-page='l'] .l-films { grid-auto-columns:min(62vw,238px); }
  .l-tile { border-radius:24px; }
  .l-app-copy { padding:34px 26px 8px; }
  .l-app-visual { height:360px; }
  .l-phone { width:210px; margin-top:30px; border-radius:40px; }
  .l-phone img { border-radius:32px; }
  .l-contact { padding:32px 22px; }
  .l-form .button { align-self:stretch; }
  body[data-page='l'] #teams .i6-chapter h3 { font-size:clamp(30px,8.6vw,36px); }
  .l-stores { flex-wrap:nowrap; }
  .l-store { flex:1 1 0; min-width:0; justify-content:center; padding-inline:12px; font-size:15px; }
  .l-footer-main { flex-direction:column; gap:20px; }
  .l-footer-bottom { flex-wrap:wrap; gap:14px 22px; }
  .l-footer-bottom span { flex-basis:100%; }
}
body.motion-off #app * { transition:none !important; }
@media (prefers-reduced-motion:reduce) { body[data-page='l'] #app * { transition:none !important; } }
