/* ---------- School Companion: site-wide extras ---------- */

/* language switch (EN / AF) */
.lang{display:inline-flex;align-items:center;height:42px;padding:3px;border-radius:999px;background:rgba(255,255,255,.4);border:1.5px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lang button{height:34px;padding:0 12px;border-radius:999px;font-weight:700;font-size:.78rem;letter-spacing:.08em;color:var(--ink-soft);transition:background .25s,color .25s}
.lang button.is-on{background:var(--ink);color:#fff}
.lang button:not(.is-on):hover{color:var(--ink)}
.top__actions .lang{margin-right:2px}
.top__right{display:flex;align-items:center;gap:10px}
body.is-released .lang{background:rgba(255,255,255,.85)}

/* companion page: the school lockup under the dossier hero */
.school{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:10px 16px 10px 10px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid var(--line)}
.school__crest{height:52px;width:auto;border-radius:6px}
.school b{display:block;font-size:.86rem;letter-spacing:-.01em}
.school small{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}

/* trust: three principles */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust li{list-style:none;padding:26px 24px 28px;border-radius:26px;background:rgba(255,255,255,.55);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.trust__n{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,#fff);color:color-mix(in srgb,var(--accent) 80%,var(--ink));margin-bottom:6px}
.trust__n svg{width:20px;height:20px}
.trust h3{font-size:1.3rem;letter-spacing:-.03em}
.trust p{color:var(--ink-soft);font-size:.98rem;line-height:1.5}
.trust__note{margin-top:22px;padding:16px 20px;border-radius:18px;background:rgba(255,255,255,.4);border:1px dashed rgba(21,19,22,.2);color:var(--ink-soft);font-size:.9rem;line-height:1.5;max-width:70ch}

/* the film, in a phone, on the companion page */
.filmsec .grid2{align-items:center}
.fwrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding:18px 0 4px}
.fwrap__glow{position:absolute;left:50%;top:44%;width:min(520px,100%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 7%,transparent) 55%,transparent 72%);filter:blur(6px)}
.fphone{position:relative;z-index:2;width:min(300px,78vw);border-radius:46px;padding:11px;background:#141216;
  box-shadow:0 60px 110px -50px rgba(21,19,22,.85),0 0 0 1.5px #2b282c,inset 0 0 0 1px rgba(255,255,255,.08);
  transform:rotate(-3.5deg);transition:transform .8s var(--ease-out)}
.fphone:hover,.fphone.is-sound{transform:rotate(0deg)}
.fphone::before,.fphone::after{content:"";position:absolute;background:#2b282c;border-radius:2px}
.fphone::before{right:-3px;top:23%;width:3px;height:14%}
.fphone::after{left:-3px;top:19%;width:3px;height:9%;box-shadow:0 calc(9% + 14px) 0 #2b282c}
.fphone__screen{position:relative;width:100%;aspect-ratio:9/16;border-radius:36px;overflow:hidden;background:#000}
.fphone__screen video{width:100%;height:100%;object-fit:cover;display:block}
.fphone__island{position:absolute;left:50%;top:10px;width:84px;height:22px;border-radius:999px;background:#000;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(255,255,255,.06)}
.fphone__bar{position:absolute;left:18px;right:18px;bottom:12px;height:3px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.fphone__bar i{display:block;height:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0);transition:transform .25s linear}
.fphone__sound{position:absolute;right:14px;bottom:26px;width:40px;height:40px;border-radius:50%;background:rgba(21,19,22,.55);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;transition:background .25s,transform .25s}
.fphone__sound:hover{background:rgba(21,19,22,.8);transform:scale(1.06)}
.fphone__sound svg{width:18px;height:18px}
.fphone__sound .ico-on{display:none}
.fphone.is-sound .fphone__sound .ico-on{display:block}
.fphone.is-sound .fphone__sound .ico-off{display:none}
.fphone__tap{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 40%,rgba(21,19,22,.35));opacity:1;transition:opacity .4s}
.fphone__tap span{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;box-shadow:0 18px 40px -16px rgba(21,19,22,.8);transition:transform .3s var(--ease-spring)}
.fphone__tap span svg{width:26px;height:26px;margin-left:3px}
.fphone__tap:hover span{transform:scale(1.08)}
.fphone.is-sound .fphone__tap{opacity:0;pointer-events:none}
.fwrap__meta{position:relative;z-index:2;font-size:.82rem;color:var(--ink-soft);font-weight:600;letter-spacing:.02em}
.filmsec .btn svg{width:18px;height:18px}

/* concept badge for characters without a live bot */
.closeup__tag--concept i{background:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.25);animation:none}

/* responsive */
@media (max-width:1000px){
  .trust{grid-template-columns:1fr}
}
@media (max-width:860px){
  .lang button{padding:0 10px;font-size:.74rem}
  .lang{height:38px}
  .lang button{height:30px}
  .fphone{width:min(260px,78vw)}
}
@media (max-width:420px){
  .top__right{gap:6px}
  .school{gap:10px;padding:8px 12px 8px 8px}
}
@media (prefers-reduced-motion:reduce){
  .fphone__tap{opacity:1}
}

/* about page: three cast cards instead of six, Telegram app tile, two-card close */
.castgrid--2{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px}
.castcard--blank .castcard__fig{display:grid;place-items:center;background:linear-gradient(160deg,#3a353a,#151316)}
.castcard__q{font-weight:800;font-size:3.2rem;color:#fff;opacity:.9;letter-spacing:-.04em}
.app--tg{background:linear-gradient(#4FC3F7,#2AABEE)}
.about .aclose__cast{height:190px}
.about .aclose__cast img{width:30%;max-width:130px;margin:0 2%}
.about .aclose__cast img:nth-child(1){--r:-6deg;--y:8px}.about .aclose__cast img:nth-child(2){--r:5deg;--y:-4px}
@media (max-width:640px){
  .castgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* small phones: keep the header to brand + language switch */
@media (max-width:700px){
  .lobby-body .top .pill--ink{display:none}
  .lobby-body .brand__name{font-size:1rem}
}
@media (max-width:380px){
  .lobby-body .top .pill--quiet{display:none}
  .about .top .pill--ink,.build .top .pill--ink{display:none}
  .cta__btns .btn{white-space:normal;height:auto;min-height:54px;padding:12px 22px;text-align:center;line-height:1.2}
}
