/* Cup of English — About me */
.about-p .nav{position:sticky}
.ab{padding:clamp(30px,6vw,70px) 0 clamp(50px,7vw,90px)}
.ab-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,70px);align-items:start}
.ab-photo{position:sticky;top:110px;margin:0;justify-self:center;width:min(100%,430px)}
.ab-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:900/1101;object-fit:cover;border-radius:220px 220px 32px 32px;box-shadow:0 40px 70px -36px rgba(31,43,71,.6);animation:abIn 1s cubic-bezier(.16,1,.3,1) both}
.ab-ring{position:absolute;inset:-10px;z-index:0;border-radius:230px 230px 40px 40px;border:2px solid rgba(176,71,61,.32);pointer-events:none;animation:abGlow 5s ease-in-out infinite}
@keyframes abGlow{0%,100%{border-color:rgba(176,71,61,.22);transform:scale(1)}50%{border-color:rgba(176,71,61,.5);transform:scale(1.012)}}
.ab-photo figcaption{position:absolute;z-index:2;left:12px;bottom:34px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff;box-shadow:0 14px 30px -14px rgba(31,43,71,.5);font:700 .9rem 'DM Sans',sans-serif;color:var(--navy);animation:abFloat 6s ease-in-out infinite reverse}
.ab-photo figcaption .ic{width:20px;height:20px;color:var(--red)}
.ab-photo figcaption .wisp{animation:abW 2.6s ease-in-out infinite}.ab-photo figcaption .w2{animation-delay:.9s}
.ab-body p{margin:0 0 18px;font-size:1.08rem;line-height:1.78;color:var(--ink);animation:abUp .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0)*70ms)}
.ab-body p.ab-hi{font:600 clamp(2rem,4.2vw,3rem)/1.12 'Fraunces',Georgia,serif;color:var(--navy);margin:6px 0 22px}
.ab-body strong{font-weight:700;color:var(--navy);background:linear-gradient(transparent 62%,rgba(224,138,95,.32) 62%);padding:0 2px}
.ab-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ab-news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,50px);align-items:center;margin-top:clamp(50px,7vw,90px);padding:clamp(26px,4vw,44px)}
.ab-news h2{margin:6px 0 10px;font-size:clamp(1.6rem,3vw,2.2rem)}.ab-news p{color:var(--mut);margin:0}
.ab-nf{display:flex;flex-direction:column;gap:14px}.ab-nf .btn{align-self:flex-start}
.nl-done{display:flex;align-items:center;gap:8px;margin:0;color:var(--ok);font-weight:700}.nl-done .ic{width:20px;height:20px}
@keyframes abIn{from{opacity:0;transform:translateY(24px) scale(.97)}}@keyframes abUp{from{opacity:0;transform:translateY(14px)}}
@keyframes abFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes abW{0%,100%{opacity:.3}50%{opacity:1}}
@media (max-width:900px){.ab-hero,.ab-news{grid-template-columns:1fr}.ab-photo{position:relative;top:0;width:min(78%,360px)}}
@media (prefers-reduced-motion:reduce){.ab-photo img,.ab-ring,.ab-photo figcaption,.ab-body p,.ab-photo figcaption .wisp{animation:none}}
/* social links in the footer (shared with the home page) */
.socials{display:flex;flex-wrap:wrap;gap:10px}
.soc{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--line);transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s,box-shadow .3s;animation:abUp .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*70ms)}
.soc svg{width:19px;height:19px;fill:var(--c);transition:fill .3s}
.soc:hover,.soc:focus-visible{transform:translateY(-3px) scale(1.08);background:var(--c);box-shadow:0 12px 22px -12px var(--c)}.soc:hover svg,.soc:focus-visible svg{fill:#fff}
.soc-instagram:hover{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}

/* subscribed: the form turns into an animated thank-you (same style as the free-resource download) */
.nl-ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 8px;animation:abUp .5s cubic-bezier(.16,1,.3,1)}
.nl-ok b{font:600 1.35rem 'Fraunces',Georgia,serif;color:var(--navy)}.nl-ok p{margin:0;color:var(--mut)}
.nl-okic{position:relative;display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e2efe6;animation:nlPop .65s cubic-bezier(.34,1.56,.64,1)}
.nl-okic svg{width:34px;height:34px;fill:none;stroke:#3d7a57;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:nlChk .5s .3s forwards}
.nl-okic i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--c);opacity:0;animation:nlBurst .9s .35s cubic-bezier(.16,1,.3,1) forwards}
@keyframes nlPop{from{transform:scale(.3);opacity:0}}@keyframes nlChk{to{stroke-dashoffset:0}}
@keyframes nlBurst{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.4)}}
@media (prefers-reduced-motion:reduce){.nl-okic,.nl-okic svg,.nl-okic i,.nl-ok{animation:none;stroke-dashoffset:0}}
