/* ============================================================================
   CRYPTO LOMI · LANDING
   Load after tokens.css and brand.css. Only --pa-* tokens, no raw colours.
   Colour carries meaning: green = action/progress, violet = learning,
   crimson = urgency/loss, amber = money.
   ========================================================================= */

html{scroll-behavior:smooth; scroll-padding-top:84px}
body{overflow-x:hidden}
img{max-width:100%; height:auto; display:block}
[hidden]{display:none !important}
a{color:var(--pa-accent-text)}
b,strong{color:var(--pa-text-strong); font-weight:700}

.skip{position:absolute; left:-999px; top:8px; z-index:var(--pa-z-toast);
  background:var(--pa-accent); color:var(--pa-text-on-accent); padding:10px 16px; border-radius:var(--pa-radius-sm)}
.skip:focus{left:8px}

.wrap{width:100%; max-width:var(--pa-container); margin-inline:auto; padding-inline:var(--pa-gutter)}
.wrap--narrow{max-width:860px}
.center{text-align:center; margin-inline:auto}

/* ---- type ---------------------------------------------------------------- */
.display{font:var(--pa-display-lg); letter-spacing:var(--pa-track-display);
  color:var(--pa-text-strong); margin:0 0 var(--pa-space-6); text-wrap:balance}
.h2{font:var(--pa-display-md); letter-spacing:var(--pa-track-head); color:var(--pa-text-strong);
  margin:0 0 var(--pa-space-4); max-width:24ch; text-wrap:balance}
.h2.center{max-width:30ch; margin-inline:auto}
.h3{font:var(--pa-title-md); letter-spacing:var(--pa-track-ui); color:var(--pa-text-strong); margin:0 0 var(--pa-space-2)}
.lead{font:var(--pa-body-lg); max-width:var(--pa-measure); margin:0 0 var(--pa-space-6)}
.sub{font:var(--pa-body-lg); max-width:var(--pa-measure); margin:0 0 var(--pa-space-10)}
.sub.center{margin-inline:auto}
.micro{font:var(--pa-body-sm); color:var(--pa-text-muted); margin:var(--pa-space-3) 0 0; text-align:center}

.grad{background:var(--pa-gradient-signal); -webkit-background-clip:text; background-clip:text; color:transparent}
.grad-heat{background:var(--pa-gradient-heat); -webkit-background-clip:text; background-clip:text; color:transparent}

.eyebrow,.rail{font:var(--pa-mono-label); letter-spacing:var(--pa-track-mono); text-transform:uppercase;
  color:var(--pa-text-muted); margin:0 0 var(--pa-space-4); display:flex; align-items:center; gap:var(--pa-space-3)}
.rail span{color:var(--pa-accent-text)}
.rail::after{content:""; height:1px; width:48px; background:var(--pa-border-strong)}
.rail--center{justify-content:center}
.eyebrow{color:var(--pa-text-default)}

/* Georgian runs through tokens.css :lang(ka); keep inline Georgian words on the body face */
span:lang(ka){line-height:inherit}

/* placeholder to confirm before launch: visible on purpose */
.tbc{outline:1px dashed var(--pa-asset-border); outline-offset:2px; color:var(--pa-asset-text); border-radius:4px}

/* ---- buttons ------------------------------------------------------------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  min-height:var(--pa-tap-target); padding:12px 22px; border-radius:var(--pa-radius-full);
  font:var(--pa-label); font-size:15px; font-weight:700; letter-spacing:var(--pa-track-ui);
  text-decoration:none; border:1px solid transparent; cursor:pointer; position:relative;
  transition:transform var(--pa-duration) var(--pa-ease), box-shadow var(--pa-duration) var(--pa-ease), background var(--pa-duration) var(--pa-ease)}
.btn--sm{min-height:40px; padding:8px 16px; font-size:14px}
.btn--lg{min-height:56px; padding:16px 28px; font-size:16.5px}
.btn--block{width:100%}
.btn--primary{background:var(--pa-accent); color:var(--pa-text-on-accent)}
.btn--primary:hover{box-shadow:var(--pa-glow-accent); transform:translateY(-1px)}
.btn--secondary{background:var(--pa-text-strong); color:var(--pa-surface-base)}
.btn--secondary:hover{transform:translateY(-1px)}
.btn--ghost{background:transparent; color:var(--pa-text-strong); border-color:var(--pa-border-strong)}
.btn--ghost:hover{background:var(--pa-surface-overlay)}
.btn:active{transform:translateY(0)}
.btn .spinner{display:none; width:18px; height:18px; border-radius:50%;
  border:2px solid currentColor; border-right-color:transparent; animation:spin .7s linear infinite}
.btn.is-loading .spinner{display:inline-block}
.btn.is-loading{pointer-events:none; opacity:.85}
@keyframes spin{to{transform:rotate(360deg)}}

.cta-row{display:flex; flex-wrap:wrap; gap:var(--pa-space-3); margin-bottom:var(--pa-space-8)}
.cta-row--center{justify-content:center}
.inline-cta{margin-top:var(--pa-space-10)}

/* ---- top bar ------------------------------------------------------------- */
.topbar{position:sticky; top:0; z-index:var(--pa-z-topbar);
  background:color-mix(in srgb, var(--pa-surface-base) 82%, transparent);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--pa-border-subtle)}
.topbar__in{max-width:var(--pa-container); margin-inline:auto; padding:10px var(--pa-gutter);
  display:flex; align-items:center; gap:var(--pa-space-4)}
.topbar .pa-lockup{text-decoration:none}
.topbar__urgency{margin:0 0 0 auto; font:var(--pa-body-sm); color:var(--pa-text-default);
  display:flex; align-items:center; gap:8px}
.topbar__urgency .dot{width:8px; height:8px; border-radius:50%; background:var(--pa-alert);
  box-shadow:0 0 0 0 var(--pa-alert-soft); animation:pulse 2s var(--pa-ease) infinite}
.topbar__urgency .sep{color:var(--pa-text-muted)}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--pa-alert-border)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ---- sections ------------------------------------------------------------ */
.section{padding-block:var(--pa-section-y)}
.section--sunken{background:var(--pa-surface-sunken); border-block:1px solid var(--pa-border-subtle)}

/* ---- hero ---------------------------------------------------------------- */
.hero{position:relative; padding-block:clamp(32px,6vw,80px) clamp(40px,5vw,72px); background:var(--pa-aurora); overflow:hidden}
/* pixel grid, echoing the pixel lion */
.hero__pixels{position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(var(--pa-border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--pa-border-subtle) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(70% 60% at 50% 0%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 0%,#000 30%,transparent 80%)}
.hero__grid{position:relative; display:grid; gap:var(--pa-space-12); align-items:center}
@media (min-width:980px){.hero__grid{grid-template-columns:1.1fr .9fr}}
.hero__lion{height:26px; width:auto}
.hero__copy > *{animation:rise var(--pa-duration-slow) var(--pa-ease) both}
.hero__copy > :nth-child(2){animation-delay:calc(var(--pa-stagger)*1)}
.hero__copy > :nth-child(3){animation-delay:calc(var(--pa-stagger)*2)}
.hero__copy > :nth-child(4){animation-delay:calc(var(--pa-stagger)*3)}
.hero__copy > :nth-child(5){animation-delay:calc(var(--pa-stagger)*4)}
@keyframes rise{from{opacity:0; transform:translateY(12px)}to{opacity:1; transform:none}}

.hero__price{display:flex; flex-wrap:wrap; align-items:center; gap:var(--pa-space-3) var(--pa-space-5);
  padding:var(--pa-space-4) var(--pa-space-5); margin-bottom:var(--pa-space-6);
  border:1px solid var(--pa-asset-border); background:var(--pa-asset-soft); border-radius:var(--pa-radius-md); width:fit-content; max-width:100%}
.hero__price-big{font:900 34px/1 var(--pa-font-sans); letter-spacing:var(--pa-track-head); color:var(--pa-asset-text)}
.hero__price-big b{color:inherit; font-weight:900}
.hero__price-big small{font-size:16px; font-weight:500}
.hero__price-note{font:var(--pa-body-sm); color:var(--pa-text-default)}
.inline-logo{display:inline-block; vertical-align:middle; height:1.5em; width:auto; border-radius:4px}
.inline-logo--mere{background:#fff; padding:1px 4px}
.inline-logo--silk{background:#fff; padding:2px 6px; height:1.7em}

.trust{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:var(--pa-space-3) var(--pa-space-6);
  font:var(--pa-body-sm); color:var(--pa-text-muted)}
.trust li{display:flex; align-items:center; gap:8px}
.trust b{font-size:17px}

.hero__media{margin:0; position:relative}
.yt{display:block; width:100%; padding:0; border:1px solid var(--pa-border); border-radius:var(--pa-radius-xl);
  overflow:hidden; position:relative; cursor:pointer; background:var(--pa-surface-raised); aspect-ratio:1400/982}
.yt img{width:100%; height:100%; object-fit:cover; transition:transform var(--pa-duration-slow) var(--pa-ease)}
.yt:hover img{transform:scale(1.02)}
.yt iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.yt__play{position:absolute; left:50%; top:50%; translate:-50% -50%; width:72px; height:72px; border-radius:50%;
  display:grid; place-items:center; background:var(--pa-accent); color:var(--pa-text-on-accent); box-shadow:var(--pa-glow-accent)}
.yt__label{position:absolute; left:16px; bottom:16px; font:var(--pa-label); color:var(--pa-text-strong);
  background:rgba(8,9,12,.72); padding:6px 12px; border-radius:var(--pa-radius-full)}

/* seat meter: 10 pixels, filled = taken */
.seatbox{display:flex; align-items:center; flex-wrap:wrap; gap:var(--pa-space-3) var(--pa-space-4);
  margin-top:var(--pa-space-4); padding:var(--pa-space-4) var(--pa-space-5);
  background:var(--pa-surface-raised); border:1px solid var(--pa-alert-border); border-radius:var(--pa-radius-md);
  font:var(--pa-body-sm)}
.seatbox--inline{margin:0 0 var(--pa-space-5)}
.seatbox__count b{color:var(--pa-alert-text)}
.seats{display:inline-grid; grid-auto-flow:column; gap:4px}
.seats i{width:14px; height:14px; border-radius:3px; background:var(--pa-alert); display:block}
.seats i.free{background:transparent; box-shadow:inset 0 0 0 1.5px var(--pa-accent)}

/* ---- cards --------------------------------------------------------------- */
.cards{display:grid; gap:var(--pa-space-4)}
@media (min-width:720px){.cards--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.cards--4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-lg); padding:var(--pa-space-6)}
.card p{margin:0}
.card--alert{border-top:2px solid var(--pa-alert)}

.pull{margin:var(--pa-space-12) 0 0; padding-left:var(--pa-space-6); border-left:2px solid var(--pa-alert)}
.pull p{font:var(--pa-title-lg); letter-spacing:var(--pa-track-ui); color:var(--pa-text-strong); margin:0 0 var(--pa-space-2)}
.pull cite{font:var(--pa-body-sm); font-style:normal; color:var(--pa-text-muted)}

/* ---- why now ------------------------------------------------------------- */
.split{display:grid; gap:var(--pa-space-10)}
@media (min-width:980px){.split{grid-template-columns:1fr 1fr; align-items:start}}
.steps{list-style:none; margin:0; padding:0; counter-reset:s; display:grid; gap:var(--pa-space-4)}
.steps li{counter-increment:s; position:relative; padding:var(--pa-space-5) var(--pa-space-5) var(--pa-space-5) 64px;
  background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-md)}
.steps li::before{content:counter(s,decimal-leading-zero); position:absolute; left:20px; top:22px;
  font:var(--pa-mono-label); letter-spacing:var(--pa-track-mono); color:var(--pa-accent-text)}
.steps b{display:block; margin-bottom:4px; font-size:16.5px}

/* ---- stats --------------------------------------------------------------- */
.stats{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--pa-space-4)}
@media (min-width:900px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-md); padding:var(--pa-space-6)}
.stat--lead{border-image:var(--pa-gradient-signal) 1; border-width:0 0 0 3px; border-style:solid; border-radius:0}
.stat__n{display:block; font:var(--pa-metric); letter-spacing:var(--pa-track-display); color:var(--pa-text-strong)}
.stat__l{display:block; margin-top:var(--pa-space-2); font:var(--pa-body-sm)}

/* ---- modules ------------------------------------------------------------- */
.modules{display:grid; gap:var(--pa-space-4)}
@media (min-width:820px){.modules{grid-template-columns:repeat(2,1fr)}}
.module{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-lg); padding:var(--pa-space-6)}
.module p{margin:0}
.module__n{display:inline-block; font:var(--pa-mono-label); letter-spacing:var(--pa-track-mono);
  color:var(--pa-learn-text); background:var(--pa-learn-soft); border:1px solid var(--pa-learn-border);
  padding:4px 10px; border-radius:var(--pa-radius-full); margin-bottom:var(--pa-space-4)}
.qa-title{margin-top:var(--pa-space-16)}
.checklist{list-style:none; padding:0; margin:var(--pa-space-5) 0 0; display:grid; gap:var(--pa-space-3) var(--pa-space-8)}
@media (min-width:820px){.checklist{grid-template-columns:1fr 1fr}}
.checklist li{position:relative; padding-left:30px}
.checklist li::before{content:""; position:absolute; left:0; top:.3em; width:18px; height:18px;
  background:var(--pa-accent); -webkit-mask:url("../assets/img/pxl-x-light.svg") center/contain no-repeat; mask:url("../assets/img/pxl-x-light.svg") center/contain no-repeat}

/* ---- teacher ------------------------------------------------------------- */
.teacher{display:grid; gap:var(--pa-space-10); align-items:center}
@media (min-width:880px){.teacher{grid-template-columns:.8fr 1.2fr}}
.teacher__photo{margin:0; border-radius:var(--pa-radius-xl); overflow:hidden; border:1px solid var(--pa-border); max-width:440px}
.facts{list-style:none; padding:0; margin:0; display:grid; gap:var(--pa-space-3)}
.facts li{padding:var(--pa-space-3) var(--pa-space-4); border-left:2px solid var(--pa-accent); background:var(--pa-surface-raised); border-radius:0 var(--pa-radius-sm) var(--pa-radius-sm) 0}

/* ---- videos -------------------------------------------------------------- */
.videos{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(200px,62%); gap:var(--pa-space-4);
  overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:var(--pa-space-4); margin-inline:calc(var(--pa-gutter)*-1); padding-inline:var(--pa-gutter)}
@media (min-width:720px){.videos{grid-auto-columns:minmax(200px,32%)}}
@media (min-width:1100px){.videos{grid-auto-flow:row; grid-template-columns:repeat(6,1fr); overflow:visible; margin-inline:0; padding-inline:0}}
.vid{margin:0; scroll-snap-align:start}
.vid__btn{position:relative; display:block; width:100%; aspect-ratio:9/16; padding:0; border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-md); overflow:hidden; cursor:pointer; background:var(--pa-surface-raised)}
.vid__btn img{width:100%; height:100%; object-fit:cover}
.vid__btn::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(8,9,12,.75))}
.vid__play{position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:1; width:52px; height:52px; border-radius:50%;
  background:rgba(8,9,12,.6); border:1.5px solid var(--pa-grey-050); display:grid; place-items:center;
  transition:background var(--pa-duration) var(--pa-ease)}
.vid__play::before{content:""; margin-left:4px; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent var(--pa-grey-050)}
.vid__btn:hover .vid__play{background:var(--pa-accent)}
.vid figcaption{margin-top:var(--pa-space-3); font:var(--pa-body-sm)}
.vid q{display:block; color:var(--pa-text-strong); margin-bottom:4px}
.vid figcaption b{font-weight:500; color:var(--pa-text-muted)}
.grads{margin:var(--pa-space-12) 0 0}
.grads img{border-radius:var(--pa-radius-xl); border:1px solid var(--pa-border); width:100%; max-height:560px; object-fit:cover}
.grads figcaption{margin-top:var(--pa-space-3); font:var(--pa-body-sm); color:var(--pa-text-muted); text-align:center}

/* ---- silk ---------------------------------------------------------------- */
.partner-head{display:flex; align-items:center; justify-content:center; gap:var(--pa-space-5); margin-bottom:var(--pa-space-6); color:var(--pa-text-muted); font-size:22px}
.partner-logo{height:52px; width:auto}
.partner-logo--silk{background:#fff; border-radius:var(--pa-radius-sm); padding:6px 12px; height:56px}
.howto{list-style:none; margin:0; padding:0; display:grid; gap:var(--pa-space-4)}
@media (min-width:900px){.howto{grid-template-columns:repeat(3,1fr)}}
.howto li{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-lg); padding:var(--pa-space-6)}
.howto p{margin:0}
.howto__n{display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:var(--pa-asset-soft); border:1px solid var(--pa-asset-border); color:var(--pa-asset-text); font-weight:700; margin-bottom:var(--pa-space-4)}

/* ---- offer --------------------------------------------------------------- */
.section--offer{background:var(--pa-surface-sunken); border-block:1px solid var(--pa-border-subtle)}
.countdown{font:var(--pa-body); color:var(--pa-text-default); margin:0 0 var(--pa-space-10)}
.countdown b{color:var(--pa-alert-text); font-variant-numeric:tabular-nums}
.offer{display:grid; gap:var(--pa-space-6); margin-top:var(--pa-space-10)}
@media (min-width:960px){.offer{grid-template-columns:1.05fr .95fr; align-items:start}}
.buy,.callback{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-xl); padding:clamp(24px,3.4vw,40px)}
.buy{border-color:var(--pa-accent-border); position:relative}
.included{list-style:none; padding:0; margin:var(--pa-space-5) 0 var(--pa-space-6); display:grid; gap:var(--pa-space-3)}
.included li{position:relative; padding-left:28px}
.included li::before{content:"✓"; position:absolute; left:0; top:0; color:var(--pa-accent-text); font-weight:700}
.price{padding:var(--pa-space-5) 0; margin-bottom:var(--pa-space-5); border-block:1px solid var(--pa-border)}
.price__main{margin:0; font:900 clamp(40px,5vw,56px)/1 var(--pa-font-sans); letter-spacing:var(--pa-track-display); color:var(--pa-asset-text)}
.price__main b{color:inherit; font-weight:900}
.price__main span{font-size:18px; font-weight:500; letter-spacing:0}
.price__alt{margin:var(--pa-space-3) 0 0; font:var(--pa-body-sm)}
.qr{display:none}
@media (min-width:960px) and (hover:hover){
  .qr{display:flex; align-items:center; gap:var(--pa-space-4); margin-top:var(--pa-space-6); padding-top:var(--pa-space-5); border-top:1px solid var(--pa-border)}
  .qr img{background:#fff; border-radius:var(--pa-radius-sm); padding:4px; flex:none}
  .qr p{margin:0; font:var(--pa-body-sm)}
}
.callback__sub{margin:0 0 var(--pa-space-6)}

/* ---- form ---------------------------------------------------------------- */
.form{display:grid; gap:var(--pa-space-4)}
.form__row{display:grid; gap:var(--pa-space-4)}
@media (min-width:520px){.form__row{grid-template-columns:1fr 1fr}}
.field label{display:block; font:var(--pa-label); color:var(--pa-text-strong); margin-bottom:6px}
.field input{width:100%; min-height:48px; padding:12px 14px; font:var(--pa-body); font-size:16px; /* 16px stops iOS zoom */
  color:var(--pa-text-strong); background:var(--pa-surface-base); border:1px solid var(--pa-border-strong); border-radius:var(--pa-radius-sm);
  transition:border-color var(--pa-duration) var(--pa-ease)}
.field input::placeholder{color:var(--pa-text-muted)}
.field input:focus{outline:none; border-color:var(--pa-accent); box-shadow:0 0 0 3px var(--pa-accent-soft)}
.field__hint{margin:6px 0 0; font:var(--pa-body-sm); color:var(--pa-text-muted)}
.field__err{display:none; margin:6px 0 0; font:var(--pa-body-sm); color:var(--pa-alert-text)}
.field.is-invalid input{border-color:var(--pa-alert)}
.field.is-invalid .field__err{display:block}
.field.is-invalid .field__err::before{content:"! "; font-weight:700}
.phone{display:flex}
.phone__prefix{display:grid; place-items:center; padding:0 12px; border:1px solid var(--pa-border-strong); border-right:0;
  border-radius:var(--pa-radius-sm) 0 0 var(--pa-radius-sm); background:var(--pa-surface-overlay); color:var(--pa-text-strong); font-weight:500}
.phone input{border-radius:0 var(--pa-radius-sm) var(--pa-radius-sm) 0}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.form__status{margin:0; font:var(--pa-body-sm); color:var(--pa-alert-text); text-align:center}
.form__status:empty{display:none}
.form__ok{text-align:center; padding:var(--pa-space-8) 0}
.form__ok p{margin:0 0 var(--pa-space-5)}
.form__ok .h3{color:var(--pa-accent-text)}

/* ---- faq ----------------------------------------------------------------- */
.faq{display:grid; gap:var(--pa-space-3)}
.faq details{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-md)}
.faq summary{list-style:none; cursor:pointer; min-height:var(--pa-tap-target); padding:var(--pa-space-5) 56px var(--pa-space-5) var(--pa-space-5);
  font:var(--pa-title-sm); color:var(--pa-text-strong); position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:20px; top:50%; translate:0 -50%; font-size:24px; font-weight:400; color:var(--pa-accent-text);
  transition:transform var(--pa-duration) var(--pa-ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding:0 var(--pa-space-5) var(--pa-space-5)}
.faq p{margin:0}

/* ---- final --------------------------------------------------------------- */
.final{background:var(--pa-surface-sunken); border-top:1px solid var(--pa-border-subtle)}
.final .h2{max-width:26ch; margin-inline:auto}

/* ---- footer -------------------------------------------------------------- */
.footer{padding:var(--pa-space-12) 0 calc(var(--pa-space-12) + 72px); border-top:1px solid var(--pa-border-subtle)}
@media (min-width:880px){.footer{padding-bottom:var(--pa-space-12)}}
.footer__in{display:grid; gap:var(--pa-space-5)}
.footer__disc{font:var(--pa-body-sm); color:var(--pa-text-muted); max-width:80ch; margin:0}
.footer__links{display:flex; flex-wrap:wrap; gap:var(--pa-space-5)}
.footer__links a{font:var(--pa-body-sm); color:var(--pa-text-default); min-height:var(--pa-tap-target); display:inline-flex; align-items:center}
.footer__copy{font:var(--pa-body-sm); color:var(--pa-text-muted); margin:0}

/* ---- mobile action bar --------------------------------------------------- */
.mbar{position:fixed; left:0; right:0; bottom:0; z-index:var(--pa-z-sticky);
  display:grid; grid-template-columns:auto 1fr; gap:var(--pa-space-2);
  padding:10px var(--pa-gutter) calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--pa-surface-base) 92%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--pa-border); transform:translateY(110%); transition:transform var(--pa-duration-slow) var(--pa-ease)}
.mbar.is-on{transform:none}
@media (min-width:880px){.mbar{display:none}}

/* ---- modals -------------------------------------------------------------- */
.modal{border:0; padding:0; background:transparent; max-width:min(92vw,420px); width:100%; color:inherit}
.modal::backdrop{background:rgba(4,5,8,.82); backdrop-filter:blur(4px)}
.modal__body video,.modal__body iframe{width:100%; aspect-ratio:9/16; max-height:82vh; border-radius:var(--pa-radius-md); background:#000; display:block}
.modal__close{position:absolute; right:8px; top:8px; z-index:2; width:44px; height:44px; border-radius:50%; border:0;
  background:rgba(8,9,12,.7); color:var(--pa-grey-050); font-size:26px; line-height:1; cursor:pointer}
.modal--form{max-width:min(94vw,480px)}
.modal--form .modal__body{background:var(--pa-surface-raised); border:1px solid var(--pa-border); border-radius:var(--pa-radius-xl); padding:clamp(24px,5vw,36px)}
.modal--form .modal__close{background:transparent; color:var(--pa-text-muted)}

/* ---- small screens ------------------------------------------------------- */
@media (max-width:720px){
  .topbar .pa-lockup .name{display:none}
  .topbar__urgency{font-size:12.5px}
  .topbar .btn{display:none}
  .cta-row .btn{width:100%}
  .hero__price-big{font-size:30px}
}

/* ---- Georgian display face: Dachi The Lynx -------------------------------
   One weight only (Regular). Titles are pinned to 400 and synthesis is off,
   so the browser never fakes a bold. Contractica stays as the fallback. */
@font-face{
  font-family:'Dachi The Lynx'; font-style:normal; font-weight:400;
  src:url('fonts/DachiTheLynx-Regular.woff2') format('woff2'); font-display:swap;
}
:root{--pa-font-georgian-display:'Dachi The Lynx','TBC Contractica CAPS','Noto Sans Georgian',sans-serif}
/* Georgian body copy: Google Sans (OFL), the free match for Mersad. Latin stays
   on Satoshi; Georgian glyphs fall through to Google Sans, Noto is the fallback. */
:root{
  --pa-font-georgian:'Google Sans','Noto Sans Georgian','FiraGO',sans-serif;
  --pa-font-sans:'Satoshi','Google Sans','Noto Sans Georgian','FiraGO',system-ui,sans-serif;
}
h1:lang(ka),h2:lang(ka),h3:lang(ka),h4:lang(ka),.eyebrow:lang(ka),.rail:lang(ka){font-weight:400 !important; font-synthesis:none}

/* ---- Georgian ------------------------------------------------------------
   Titles run on Contractica CAPS via tokens.css (h1-h4:lang(ka)). Mtavruli sets
   about a quarter wider than Latin, so display sizes step down and measures
   widen. DM Mono has no Georgian: labels switch to Contractica Medium. */
.eyebrow:lang(ka),.rail:lang(ka){font-family:var(--pa-font-georgian-display); letter-spacing:.06em; font-size:12.5px}
.display:lang(ka){font-size:clamp(28px,3.5vw,46px); line-height:1.15}
.h2:lang(ka){font-size:clamp(22px,2.7vw,34px); line-height:1.18; max-width:30ch}
.h2.center:lang(ka){max-width:36ch}
.h3:lang(ka){font-size:17px; line-height:1.3}
.lead--sm{font:var(--pa-body); color:var(--pa-text-muted); margin-top:calc(var(--pa-space-2)*-1)}
.faq summary:lang(ka){font-weight:700}

/* compact top bar and action bar on phones */
.topbar__urgency .lbl-m{display:none}
.mbar{grid-template-columns:1fr 1.25fr}
.mbar .btn{padding:10px 12px; font-size:14px; white-space:nowrap}
@media (max-width:720px){
  .topbar__urgency{white-space:nowrap}
  .topbar__urgency .lbl{display:none}
  .topbar__urgency .lbl-m{display:inline}
}
/* tokens.css sets the body face on every :lang(ka) element, spans included:
   inline pieces of a title must take the title face instead */
:is(h1,h2,h3,h4,.eyebrow,.rail,.tlabel) :lang(ka){font-family:inherit; letter-spacing:inherit; line-height:inherit}
q:lang(ka){quotes:"„" "“"}

/* Crypto Lomi logo beside the solution heading; monochrome white per brand rule 9 */
.sol-head{display:grid; gap:var(--pa-space-6); align-items:center}
.sol-logo{width:min(220px,60vw); height:auto; order:-1; opacity:.95}
@media (min-width:980px){
  .sol-head{grid-template-columns:1fr auto; gap:var(--pa-space-12)}
  .sol-logo{order:0; width:clamp(260px,24vw,360px); margin-bottom:var(--pa-space-10)}
}

/* ---- testimonials: tilted polaroids drifting right to left --------------- */
#studenti .sub{margin-bottom:var(--pa-space-4)}
.mq-ctrl{display:inline-flex; align-items:center; gap:8px; min-height:var(--pa-tap-target); padding:0 16px;
  border:1px solid var(--pa-border-strong); border-radius:var(--pa-radius-full); background:transparent; color:var(--pa-text-default);
  font:var(--pa-label); cursor:pointer}
.mq-ctrl:hover{color:var(--pa-text-strong)}
.mq{position:relative; overflow:hidden; margin-top:var(--pa-space-6);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq__track{display:flex; align-items:flex-start; width:max-content; gap:36px; padding:40px 0 70px; animation:mq 90s linear infinite}
.mq:hover .mq__track, .mq:focus-within .mq__track, .mq.is-paused .mq__track, .mq.is-open .mq__track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

.tcard{position:relative; flex:none; width:clamp(220px,20vw,280px); margin:0; transition:transform var(--pa-duration-slow) var(--pa-ease)}
.tcard:nth-child(odd){transform:rotate(-3deg)}
.tcard:nth-child(even){transform:rotate(3deg) translateY(56px)}
.tcard:hover{transform:rotate(0) translateY(0) scale(1.03); z-index:2}
.tcard__btn{position:relative; display:block; width:100%; aspect-ratio:9/16; padding:0; border:1px solid var(--pa-border);
  border-radius:var(--pa-radius-md); overflow:hidden; background:var(--pa-surface-raised); cursor:pointer; box-shadow:0 20px 50px rgba(0,0,0,.45)}
.tcard__btn img{width:100%; height:100%; object-fit:cover}
.tcard__btn::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(8,9,12,.92))}
.tcard__play{position:absolute; left:50%; top:50%; translate:-50% -50%; z-index:1; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:rgba(8,9,12,.55); border:1.5px solid var(--pa-grey-050); transition:background var(--pa-duration) var(--pa-ease)}
.tcard__play::before{content:""; margin-left:4px; border-style:solid; border-width:9px 0 9px 15px; border-color:transparent transparent transparent var(--pa-grey-050)}
.tcard:hover .tcard__play{background:var(--pa-accent)}
.tcard__name{position:absolute; left:14px; bottom:12px; z-index:1; font:var(--pa-label); font-size:15px; color:var(--pa-grey-050)}
.tcard q{position:absolute; left:14px; right:14px; bottom:42px; z-index:1; pointer-events:none;
  font:var(--pa-body-sm); font-size:14px; line-height:1.45; color:var(--pa-grey-050); text-shadow:0 1px 8px rgba(0,0,0,.8)}
q:lang(ka){quotes:"„" "“"}

@media (prefers-reduced-motion:reduce){
  .mq{mask-image:none; -webkit-mask-image:none; overflow-x:auto; scroll-snap-type:x mandatory}
  .mq__track{animation:none; padding-inline:var(--pa-gutter)}
  .mq__track [aria-hidden=true]{display:none}
  .tcard{scroll-snap-align:start}
  .mq-ctrl{display:none}
}

/* ---- full-screen lightbox ------------------------------------------------ */
.lb{position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0;
  background:rgba(4,5,8,.96); color:var(--pa-text-strong)}
.lb::backdrop{background:rgba(4,5,8,.9)}
.lb[open]{display:grid; grid-template-columns:auto 1fr auto; align-items:center}
.lb__stage{display:grid; justify-items:center; gap:14px; padding:64px 8px 24px; min-width:0}
.lb video{height:min(78dvh,calc((100vw - 40px) * 16 / 9)); max-width:100%; aspect-ratio:9/16; border-radius:var(--pa-radius-lg); background:#000; display:block}
.lb__cap{max-width:min(92vw,560px); margin:0; text-align:center; font:var(--pa-body); color:var(--pa-text-default)}
.lb__cap q{display:block; color:var(--pa-text-strong); font-size:17px; margin-bottom:4px}
.lb__close{position:absolute; top:14px; right:14px; z-index:2; width:52px; height:52px; border-radius:50%; border:1px solid var(--pa-border-strong);
  background:rgba(18,21,28,.9); color:var(--pa-grey-050); font-size:30px; line-height:1; cursor:pointer}
.lb__nav{width:52px; height:52px; margin:0 12px; border-radius:50%; border:1px solid var(--pa-border-strong); background:rgba(18,21,28,.9);
  color:var(--pa-grey-050); font-size:22px; cursor:pointer}
.lb__close:hover,.lb__nav:hover{background:var(--pa-surface-overlay)}
.lb__count{position:absolute; top:28px; left:24px; font:var(--pa-mono-label); letter-spacing:.14em; color:var(--pa-text-muted)}
@media (max-width:640px){
  .lb[open]{grid-template-columns:1fr}
  .lb__nav{position:absolute; bottom:18px; margin:0}
  .lb__nav--prev{left:18px} .lb__nav--next{right:18px}
  .lb__stage{padding-bottom:84px}
}

/* ---- big countdown (final CTA) + sticky timer bar ------------------------
   Crimson carries urgency. Digits in Satoshi 900, tabular so nothing jumps. */
.digits{display:flex; justify-content:center; align-items:flex-start; gap:clamp(8px,2vw,20px); font-variant-numeric:tabular-nums}
.digits .u{display:grid; justify-items:center; gap:8px}
.digits b{font:900 clamp(56px,12vw,156px)/1 var(--pa-font-sans); letter-spacing:-.04em; color:var(--pa-text-strong)}
.digits small{font:var(--pa-label); font-size:13px; color:var(--pa-text-muted)}
.digits .colon{font:900 clamp(40px,9vw,120px)/1 var(--pa-font-sans); color:var(--pa-alert); opacity:.85}
.final .digits{margin:var(--pa-space-8) 0 var(--pa-space-6)}
.final{background:radial-gradient(70% 60% at 50% 100%, var(--pa-alert-soft), transparent 70%), var(--pa-surface-sunken)}
@media (max-width:520px){.final .digits .colon{display:none} .final .digits{gap:10px} .final .digits b{font-size:52px}}

.tbar{position:fixed; left:0; right:0; bottom:0; z-index:var(--pa-z-sticky); transform:translateY(110%);
  transition:transform var(--pa-duration-slow) var(--pa-ease); background:color-mix(in srgb, var(--pa-surface-base) 92%, transparent);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-top:1px solid var(--pa-alert-border)}
.tbar.is-on{transform:none}
.tbar__in{max-width:var(--pa-container); margin:auto; padding:10px var(--pa-gutter) calc(10px + env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:16px}
.tbar__txt{font:var(--pa-body-sm); color:var(--pa-text-default)}
.tbar .digits{justify-content:flex-start; gap:6px}
.tbar .digits b{font-size:26px; letter-spacing:-.02em}
.tbar .digits small{font-size:10.5px}
.tbar .digits .colon{font-size:22px}
.tbar__cta{margin-left:auto; display:flex; gap:8px}
.tbar__call svg{flex:none}
@media (max-width:720px){
  .tbar__txt,.tbar__calltxt,.tbar__long,.tbar .digits small{display:none}
  .tbar__in{gap:10px}
  .tbar .digits b{font-size:20px}
  .tbar .digits .colon{font-size:18px}
  .tbar__call{width:44px; padding:0}
  .tbar .btn{padding:10px 14px; font-size:14px; white-space:nowrap}
}
.footer{padding-bottom:calc(var(--pa-space-12) + 80px) !important}
.stat__n{font-variant-numeric:tabular-nums}

/* ---- hero C: booking card ------------------------------------------------
   Desktop: copy left (top + bottom), card right across both rows.
   Phones: title, card, then bullets/video/proof, so the offer is in the first scroll. */
.topbar__cta{margin-left:auto}
.hero__grid--c{grid-template-areas:"top" "card" "bottom"; gap:var(--pa-space-8); align-items:start}
.hero__top{grid-area:top} .bcard{grid-area:card} .hero__bottom{grid-area:bottom}
@media (min-width:1000px){
  .hero__grid--c{grid-template-columns:1.1fr .9fr; grid-template-rows:auto 1fr; grid-template-areas:"top card" "bottom card";
    column-gap:var(--pa-space-16); row-gap:var(--pa-space-6)}
}
.hero__top > *, .bcard, .hero__bottom{animation:rise var(--pa-duration-slow) var(--pa-ease) both}
.hero__top > :nth-child(2){animation-delay:calc(var(--pa-stagger)*1)}
.hero__top > :nth-child(3){animation-delay:calc(var(--pa-stagger)*2)}
.bcard{animation-delay:calc(var(--pa-stagger)*3)}
.hero__bottom{animation-delay:calc(var(--pa-stagger)*4)}
.hero__top .display{margin-bottom:var(--pa-space-4)}
.hero__brand{height:46px; width:auto; margin-bottom:var(--pa-space-5); display:block}
.hero__sub{font:var(--pa-body-lg); margin:0; max-width:54ch}
.hero__bottom .yt{aspect-ratio:16/9; margin:0 0 var(--pa-space-6)}

/* lead line: same face/size/color as the H1 it lives in, stacked flush with no gap */
.hero-lead{display:block; font-size:.4em; letter-spacing:.02em; color:var(--pa-text-default); margin-bottom:.5em}

.bullets{list-style:none; padding:0; margin:0 0 var(--pa-space-6); display:grid; gap:10px}
.bullets li{position:relative; padding-left:30px; color:var(--pa-text-strong)}
.bullets li::before{content:""; position:absolute; left:0; top:.28em; width:18px; height:18px; background:var(--pa-accent);
  -webkit-mask:url("../assets/img/pxl-x-light.svg") center/contain no-repeat; mask:url("../assets/img/pxl-x-light.svg") center/contain no-repeat}

.proof{display:flex; align-items:center; gap:14px; flex-wrap:wrap}
.avatars{display:flex}
.avatars img{width:40px; height:40px; border-radius:50%; object-fit:cover; border:2px solid var(--pa-surface-base); margin-left:-10px}
.avatars img:first-child{margin-left:0}
.proof__txt{font:var(--pa-body-sm); color:var(--pa-text-default); line-height:1.35}
.proof__txt b{display:block; font-size:16px; color:var(--pa-text-strong)}

.bcard{position:relative; background:var(--pa-surface-raised); border:1px solid var(--pa-accent-border); border-radius:var(--pa-radius-xl);
  padding:clamp(20px,3vw,32px); box-shadow:var(--pa-shadow-overlay)}
.bcard__head{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:var(--pa-space-4)}
.bcard__head h2{margin:0}
.bcard__meta{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 16px; padding:var(--pa-space-4);
  border-radius:var(--pa-radius-md); background:var(--pa-surface-base); border:1px solid var(--pa-alert-border); margin-bottom:var(--pa-space-5)}
.bcard__meta p{margin:0; font:var(--pa-body-sm)}
.bcard__meta b{color:var(--pa-alert-text)}
.bcard__meta [data-countdown] p{margin-bottom:6px; color:var(--pa-text-muted)}
.cd{display:flex; gap:8px}
.cd span{display:grid; justify-items:center; min-width:56px; padding:8px 6px; border-radius:var(--pa-radius-sm);
  background:var(--pa-surface-raised); border:1px solid var(--pa-border)}
.cd b{font:900 22px/1 var(--pa-font-sans); color:var(--pa-text-strong); font-variant-numeric:tabular-nums}
.cd small{font:var(--pa-body-sm); font-size:11.5px; color:var(--pa-text-muted); margin-top:4px}

.tabs{display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:var(--pa-radius-full); background:var(--pa-surface-base);
  border:1px solid var(--pa-border); margin-bottom:var(--pa-space-5)}
.tabs button{min-height:var(--pa-tap-target); border:0; border-radius:var(--pa-radius-full); background:transparent; color:var(--pa-text-default);
  font:var(--pa-label); font-size:14.5px; cursor:pointer; transition:background var(--pa-duration) var(--pa-ease)}
.tabs button:hover{color:var(--pa-text-strong)}
.tabs button[aria-selected=true]{background:var(--pa-accent); color:var(--pa-text-on-accent)}
.bprice{font:900 40px/1 var(--pa-font-sans); letter-spacing:var(--pa-track-head); color:var(--pa-asset-text)}
.bprice small{font-size:16px; font-weight:500}
.bprice__note{margin:6px 0 0; font:var(--pa-body-sm)}
.bcard .included{margin:var(--pa-space-4) 0 var(--pa-space-5)}
.bcard .btn{width:100%}
.bcard .form{gap:12px}
.bcard__lead{margin:0 0 var(--pa-space-4); font:var(--pa-body-sm)}
.bcard__logos{display:flex; justify-content:center; align-items:center; gap:10px; margin-top:12px; font:var(--pa-body-sm); color:var(--pa-text-muted)}
.bcard__logos img{height:24px; width:auto; background:#fff; border-radius:5px; padding:2px 6px}
.bcard .form__ok{padding:var(--pa-space-6) 0}
/* phones: tighter card so tabs and price reach the first screen */
@media (max-width:720px){
  .hero:has(.hero__grid--c){padding-top:var(--pa-space-6)}
  .hero__grid--c{gap:var(--pa-space-6)}
  .hero__sub{font:var(--pa-body)}
  .hero__brand{height:34px; margin-bottom:var(--pa-space-4)}
  .bcard{padding:18px}
  .bcard__head{margin-bottom:var(--pa-space-3)}
  .bcard__meta{padding:12px; margin-bottom:var(--pa-space-4); flex-wrap:nowrap}
  .bcard__meta [data-countdown] p{display:none}
  .cd{gap:4px}
  .cd span{min-width:44px; padding:6px 4px}
  .cd b{font-size:18px}
  .cd small{font-size:10.5px}
  .tabs{margin-bottom:var(--pa-space-4)}
  .bprice{font-size:34px}
}

/* ---- teacher: Forbes Georgia "30 Under 30" credential -------------------
   The real badge (assets/logos/forbes-under30.png, cropped from Forbes
   Georgia's own 2025 graphic), framed as a small stamped card. */
.teacher__photo{position:relative}
.forbes-badge{position:absolute; left:14px; bottom:14px; z-index:1; display:block; width:104px;
  border-radius:var(--pa-radius-md); overflow:hidden; box-shadow:var(--pa-shadow-overlay);
  border:1px solid rgba(255,255,255,.18); transition:transform var(--pa-duration) var(--pa-ease), border-color var(--pa-duration) var(--pa-ease)}
.forbes-badge:hover, .forbes-badge:focus-visible{transform:translateY(-2px); border-color:#fff}
.forbes-badge img{display:block; width:100%; height:auto}
@media (max-width:520px){.forbes-badge{width:80px; left:10px; bottom:10px}}

/* ---- Silk/მერე headline: the real მერე wordmark, sized to the heading text ---- */
.mere-logo{height:1.5em; width:auto; vertical-align:-.28em; display:inline-block; margin:0 -.1em 0 -.16em}

/* ---- partner trust strip: infinite logo ticker, after the hero -------- */
.partners{position:relative; padding-top:var(--pa-space-7); background:var(--pa-surface-sunken)}
.partners__label{margin:0 0 var(--pa-space-4); text-align:center; font:500 11.5px/1.4 var(--pa-font-mono); letter-spacing:.22em; padding-left:.22em; text-transform:uppercase; color:var(--pa-accent-text)}
.partners__label:lang(ka){font-family:var(--pa-font-georgian-display); font-weight:400 !important; font-synthesis:none; letter-spacing:.06em; padding-left:0; text-transform:none; font-size:13px}

.partners__ticker{
  position:relative; overflow:hidden; padding:var(--pa-space-6) 0;
  background-color:var(--pa-surface-sunken);
  background-image:linear-gradient(90deg, transparent 0%, var(--pa-border) 12%, var(--pa-accent) 50%, var(--pa-border) 88%, transparent 100%);
  background-repeat:no-repeat; background-size:100% 1px; background-position:0 0;
}
.partners__ticker::before, .partners__ticker::after{content:""; position:absolute; top:0; bottom:0; width:96px; z-index:2; pointer-events:none}
.partners__ticker::before{left:0; background:linear-gradient(90deg, var(--pa-surface-sunken), transparent)}
.partners__ticker::after{right:0; background:linear-gradient(270deg, var(--pa-surface-sunken), transparent)}

.partners__lane{display:flex; align-items:center; width:max-content; animation:pa-ticker 42s linear infinite}
.partners__ticker:hover .partners__lane{animation-play-state:paused}
@keyframes pa-ticker{to{transform:translateX(-50%)}}

.partners__item{flex-shrink:0; display:flex; align-items:center; justify-content:center; padding:0 1cm}
.partners__item img{display:block; width:127px; height:40px; object-fit:contain; object-position:center; filter:brightness(0) invert(.85)}
.partners__item--boxy img{width:auto; height:60px}

@media (max-width:760px){
  .partners__item{padding:0 .5cm}
  .partners__item img{width:96px; height:30px}
  .partners__item--boxy img{height:46px}
}
@media (prefers-reduced-motion:reduce){
  .partners__lane{animation:none}
  .partners__ticker{overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch}
  .partners__item{scroll-snap-align:start}
}
