/* Clean footer: newsletter band, four tidy columns, quiet bottom bar. */
.site-footer{position:relative;margin-top:0;padding:56px 0 28px;background:linear-gradient(180deg,color-mix(in srgb,var(--rose-soft) 55%,var(--bg)),var(--bg-2));border-top:1px solid var(--border)}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:linear-gradient(90deg,transparent,var(--gold-deco),var(--rose),var(--gold-deco),transparent);opacity:.7}
.foot-news{display:grid;gap:18px;align-items:center;padding:clamp(20px,3vw,30px) clamp(20px,3.5vw,36px);border-radius:var(--r-xl);background:var(--card);box-shadow:var(--clay);border:1px solid color-mix(in srgb,var(--border) 45%,transparent)}
@media(min-width:860px){.foot-news{grid-template-columns:1.1fr 1fr}}
.foot-news h3{margin:0 0 4px;font-size:1.25rem}.foot-news p{margin:0}
.news-row{display:flex;gap:10px}.news-row input{flex:1;min-width:0}.news-row .btn{flex:none}
.foot-news .form-message{margin:6px 0 0;min-height:0}
.foot-grid{display:grid;gap:34px 28px;padding:46px 0 10px}
@media(min-width:900px){.foot-grid{grid-template-columns:1.5fr .8fr .8fr 1.3fr}}
@media(min-width:560px) and (max-width:899px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
.foot-brand .brand{display:inline-flex;padding:0 0 8px;font-size:2.3rem}
.foot-brand p{max-width:340px;font-size:.95rem}
.social-row{display:flex;gap:12px;margin-top:14px}
.social-row a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--card);box-shadow:var(--clay-sm);color:var(--rose-strong);transition:transform .4s var(--spring),box-shadow .3s,color .3s}
.social-row a .ic{width:22px;height:22px}
.social-row a:hover{transform:translateY(-5px) rotate(-8deg);box-shadow:var(--clay);color:var(--btn-b)}
.foot-col h3{margin:0 0 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-family:var(--font-heading)}
.foot-col{display:flex;flex-direction:column;align-items:flex-start}
.foot-col>a{display:inline-flex;align-items:center;min-height:36px;font-weight:700;font-size:.95rem;color:var(--text);position:relative;transition:transform .3s var(--ease),color .25s}
.foot-col>a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.foot-col>a:hover{color:var(--rose-strong);transform:translateX(4px)}.foot-col>a:hover::after{transform:scaleX(1)}
.foot-info{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.foot-info li{display:flex;gap:12px;align-items:flex-start;font-size:.93rem;font-weight:600;color:var(--text);line-height:1.45}
.foot-info .ic{width:20px;height:20px;margin-top:2px;color:var(--rose-strong)}
.foot-info a{color:var(--text);font-weight:700}.foot-info a:hover{color:var(--rose-strong);text-decoration:underline}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px;padding-top:20px;border-top:1px solid var(--border);font-size:.88rem;font-weight:600;color:var(--muted)}
.back-top{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:var(--card);color:var(--rose-strong);box-shadow:var(--clay-sm);transition:transform .4s var(--spring),box-shadow .3s}
.back-top .ic{width:22px;height:22px}.back-top:hover{transform:translateY(-5px);box-shadow:var(--clay)}
@media(max-width:480px){.news-row{flex-direction:column}.news-row .btn{width:100%}}
.academic-note{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:99px;background:var(--card);box-shadow:var(--clay-in);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-strong)}.academic-note .ic{width:17px;height:17px}
@media(max-width:700px){.foot-bottom{flex-wrap:wrap}.academic-note{order:3;width:100%;justify-content:center}}

.academic-note-strip{margin:18px auto 0;width:max-content;max-width:100%;padding:8px 20px;border-radius:99px;background:var(--card);box-shadow:var(--clay-in);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-strong);text-align:center}

/* Academic notice lives with the brand block, inside the page */
.academic-badge{display:grid;gap:6px;justify-items:start;margin-top:14px}
.academic-badge .academic-note{order:0;width:auto;padding:7px 16px}
.academic-badge small{font-size:.8rem;font-weight:600;color:var(--muted);max-width:340px;line-height:1.4}
