/* English Space — базовые стили (токены, кнопки, шапка/подвал, внутренние страницы) */
:root{
  --ink:#141414;--white:#FFFFFF;
  --pink:#FFB8DC;--pink-soft:#FFE3F1;--pink-mid:#FF8CC6;--pink-hot:#FF5FA8;
  --blue:#BFE0FF;--blue-soft:#E2F0FF;--blue-mid:#7DB8FF;--blue-link:#2B55E6;
  --yellow:#FFE07A;--yellow-soft:#FFF6D6;--bookflix-red:#E5322D;
  --grey:#555555;
  --font-ui:'Jost',system-ui,sans-serif;--font-serif:'EB Garamond',Georgia,serif;
  --font-display:'Unbounded',sans-serif;--font-hand:'Caveat',cursive;
  --bp:980px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:var(--blue-link)}a:hover{color:var(--ink)}
button{font:inherit;color:inherit}
h1,h2,h3,p{margin:0}
.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 40px}
.hand{font-family:var(--font-hand);font-weight:700}
.serif{font-family:var(--font-serif)}
.c-hot{color:var(--pink-hot)}.c-mid{color:var(--pink-mid)}.c-link{color:var(--blue-link)}
.mark{background:linear-gradient(transparent 58%,var(--pink) 58%,var(--pink) 92%,transparent 92%);padding:0 .08em}
.mark-b{background:linear-gradient(transparent 58%,var(--blue) 58%,var(--blue) 92%,transparent 92%);padding:0 .08em}
.paper{background-color:#FFFFFF;background-image:radial-gradient(#C9DDF5 1.2px,transparent 1.2px);background-size:26px 26px}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;font-family:var(--font-ui);font-size:17px;font-weight:500;text-decoration:none;white-space:nowrap;border:2px solid var(--ink);transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s ease;cursor:pointer;background:var(--white);color:var(--ink)}
.btn:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink);color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--white)}.btn-ink:hover{color:var(--white);box-shadow:5px 5px 0 var(--pink-mid)}
.btn-pink{background:var(--pink)}
.btn-white{background:var(--white)}
.btn-red{background:var(--bookflix-red);color:var(--white);border-color:var(--bookflix-red)}.btn-red:hover{color:var(--white);box-shadow:5px 5px 0 var(--white)}
.btn-sm{min-height:46px;padding:0 20px;font-size:15px}
.btn[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none}

/* поля */
.input{width:100%;min-height:54px;border:2px solid var(--ink);border-radius:16px;padding:14px 16px;font:inherit;font-size:17px;background:var(--white);color:var(--ink)}
.input:focus{outline:4px solid var(--pink);outline-offset:0}
.input.is-invalid{outline:4px solid var(--pink-mid)}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:15px;font-weight:500}

/* анимации */
@keyframes jelly{0%,100%{transform:translateY(0) scale(1,1)}30%{transform:translateY(-18px) scale(.94,1.08)}50%{transform:translateY(0) scale(1.08,.92)}70%{transform:translateY(-4px) scale(.98,1.02)}}
.jl{display:inline-block;animation:jelly 3.6s cubic-bezier(.4,0,.2,1) infinite;transform-origin:50% 100%}
.jl:hover{color:var(--pink-hot)}
@keyframes morph{0%,100%{border-radius:58% 42% 61% 39%/45% 55% 45% 55%;transform:rotate(0)}33%{border-radius:40% 60% 38% 62%/60% 38% 62% 40%;transform:rotate(25deg)}66%{border-radius:63% 37% 52% 48%/38% 64% 36% 62%;transform:rotate(-15deg)}}
.blob{position:absolute;animation:morph 14s ease-in-out infinite;filter:blur(2px);pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin 24s linear infinite}.spin-slow{animation:spin 60s linear infinite}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(calc(var(--r,0deg) + 2deg))}}
.float{animation:floaty 6s ease-in-out infinite}.float-b{animation:floaty 7.4s ease-in-out infinite;animation-delay:-3s}
@keyframes mfloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-8px) rotate(var(--r,0deg))}}
.mfloat{animation:mfloat 5s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.3;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.star{position:absolute;animation:twinkle 3s ease-in-out infinite;pointer-events:none}
@keyframes wig{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
.wiggle:hover{animation:wig .5s ease-in-out}
@keyframes marL{to{transform:translateX(-50%)}}
@keyframes marR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.mar{display:flex;width:max-content;align-items:center;white-space:nowrap}
.mar-l{animation:marL 40s linear infinite}.mar-r{animation:marR 46s linear infinite}

/* наклейки-полароиды */
.sticker{background:var(--white);padding:12px 12px 0;border-radius:6px;box-shadow:0 2px 0 rgba(0,0,0,.06),0 24px 50px -24px rgba(20,20,20,.45);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.sticker:hover{transform:rotate(0deg) scale(1.05)!important;z-index:5}
.sticker img{display:block;width:100%;height:auto;object-fit:cover;border-radius:3px}
.sticker__cap{display:block;text-align:center;line-height:1.6}

/* видимость по ширине */
@media (min-width:981px){.show-sm{display:none!important}}
@media (max-width:980px){.hide-sm{display:none!important}.wrap{padding:0 20px}}

/* простая шапка внутренних страниц */
.s-head{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.s-head__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.s-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.s-logo__word{font-family:var(--font-display);font-weight:700;font-size:17px;white-space:nowrap}
.s-head__actions{display:flex;gap:8px;align-items:center}
@media (max-width:480px){.s-head__actions .btn-white{display:none}}

/* подвал */
.foot{background:var(--pink);border-top:2px solid var(--ink);padding:80px 0 36px;position:relative;overflow:hidden}
.foot__word{font-family:var(--font-display);font-weight:900;font-size:clamp(54px,10.4vw,164px);line-height:.86;letter-spacing:-.06em;white-space:nowrap}
.foot__dot{color:var(--white)}
.foot__cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;margin-top:56px;padding-top:30px;border-top:2px solid var(--ink)}
.foot__col{display:flex;flex-direction:column;gap:8px}
.foot__col a,.foot__col span{color:var(--ink)}
.foot__col--contacts{font-size:19px}.foot__col--contacts a{text-decoration:none;font-weight:500}
.foot__col--links{font-size:17px}.foot__col--legal{font-size:15px}
.foot__copy{margin-top:44px;font-size:14px}
@media (max-width:980px){
  .foot{padding:46px 0 30px}
  .foot__word{font-size:min(10.5vw,96px)}
  .foot__word .jl{animation:none}
  .foot__cols{flex-direction:column;gap:22px;margin-top:26px;padding-top:0;border-top:0;font-size:17px}
  .foot__col--contacts{font-size:17px}
  .foot__copy{margin-top:26px;font-size:13px}
}

/* правовые страницы */
.legal{padding:60px 0 100px;position:relative}
.legal__in{max-width:860px}
.legal__kicker{font-size:28px;color:var(--pink-hot)}
.legal__title{margin-top:6px;font-family:var(--font-display);font-weight:900;font-size:clamp(28px,5vw,56px);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere;hyphens:auto}
.legal__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.legal__tabs a{min-height:40px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-size:15px;background:var(--white)}
.legal__tabs a[aria-current]{background:var(--ink);color:var(--white)}
.legal__text{margin-top:40px;font-size:17px;line-height:1.6}
.legal__text h2{font-family:var(--font-serif);font-weight:500;font-size:30px;line-height:1.1;margin:44px 0 14px}
.legal__text p{margin:0 0 12px}
.legal__text ol,.legal__text ul{margin:0 0 14px;padding-left:24px}
.legal__text li{margin:0 0 8px}
.legal__text a{word-break:break-word}

/* заглушки (кабинет скоро, 404, 500) */
.soon{position:relative;overflow:hidden;min-height:70vh;display:flex;align-items:center;padding:80px 0}
.soon__in{position:relative;max-width:620px}
.soon__kicker{font-size:28px;color:var(--pink-hot)}
.soon__title{margin-top:20px;font-family:var(--font-display);font-weight:900;font-size:clamp(36px,6vw,64px);line-height:.95;letter-spacing:-.05em}
.soon__text{margin:20px 0 28px;font-size:18px;line-height:1.5}
.soon code{background:var(--blue-soft);padding:2px 6px;border-radius:6px;font-size:.9em}
.blob--pink{width:420px;height:380px;right:-140px;top:-80px;background:#FFC9E4}
.blob--blue{width:360px;height:320px;left:-140px;bottom:-80px;background:#CFE6FF;animation-delay:-5s}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
