.pv-footer{color:#e5e7eb;background:rgba(15,23,42,0.96);padding-block:var(--space-8) var(--space-12);margin-top:var(--space-8)}
.pv-footer-inner{display:flex;flex-direction:column;gap:var(--space-8)}
.pv-footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);font-size:var(--text-sm)}
.pv-footer-col{min-width:0}
.pv-footer-brand{grid-column:1/-1}
.pv-footer-logo{display:flex;align-items:center;gap:0.75rem;margin-bottom:var(--space-3)}
.pv-footer-logo-mark{width:2.4rem;height:2.4rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 0% 0%,var(--color-primary),var(--color-accent-lavender));color:#0b1220;font-weight:700;box-shadow:0 14px 35px rgba(37,204,196,0.55)}
.pv-footer-logo-text{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase}
.pv-footer-tagline{max-width:26rem;color:#cbd5f5;font-size:0.9rem}
.pv-footer-badges{margin-top:var(--space-3)}
.pv-footer-heading{font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.18em;color:#f9fafb;margin-bottom:var(--space-2)}
.pv-footer-links{list-style:none;margin:0;padding:0}
.pv-footer-link{display:inline-flex;align-items:center;margin-bottom:0.35rem;color:#cbd5f5;font-size:0.9rem;transition:color var(--transition-base),transform var(--transition-base)}
.pv-footer-link:hover{color:#ffffff;transform:translateX(2px)}
.pv-footer-bottom{border-top:1px solid rgba(148,163,184,0.4);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);font-size:0.8rem;color:#9ca3c7}
.pv-footer-disclaimer{max-width:48rem;line-height:1.6}
.pv-footer-copy{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.pv-cookie-banner{position:fixed;inset-inline:0;bottom:0;z-index:50;display:flex;justify-content:center;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base)}
.pv-cookie-inner{pointer-events:auto;max-width:960px;width:100%;margin:0 var(--space-3) var(--space-3);padding:var(--space-3);border-radius:var(--radius-xl);background:rgba(15,23,42,0.96);box-shadow:0 18px 50px rgba(15,23,42,0.9);display:flex;flex-direction:column;gap:var(--space-3);color:#e5e7eb}
.pv-cookie-title{font-family:var(--font-serif);font-size:1.05rem;margin-bottom:var(--space-1)}
.pv-cookie-description{font-size:0.9rem;color:#d1d5db;margin-bottom:var(--space-2)}
.pv-cookie-link{font-size:0.85rem;color:var(--color-accent-blue);text-decoration:underline;text-underline-offset:3px}
.pv-cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start}
.pv-cookie-btn{font-size:0.8rem;padding-block:0.55rem;padding-inline:1.2rem}
.pv-cookie-btn-secondary{background:rgba(15,23,42,0.4);border:1px solid rgba(148,163,184,0.7);color:#e5e7eb}
.pv-cookie-btn-secondary:hover{background:rgba(31,41,55,0.9)}
.pv-cookie-hidden{opacity:0;transform:translateY(110%)}
.pv-cookie-visible{opacity:1;transform:translateY(0)}
.pv-age-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,0.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity var(--transition-base)}
.pv-age-overlay-visible{opacity:1;pointer-events:auto}
.pv-age-modal{max-width:540px;width:calc(100% - 2.5rem);border-radius:var(--radius-xl);background:var(--color-surface-glass)}
.pv-age-title{font-size:1.4rem;margin-bottom:var(--space-2)}
.pv-age-description{font-size:0.95rem;color:var(--color-text-soft);margin-bottom:var(--space-4)}
.pv-age-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
.pv-age-btn{min-width:0;font-size:0.9rem}
@media (min-width:640px){.pv-footer-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-6)}.pv-footer-brand{grid-column:1/2}}
@media (min-width:768px){.pv-cookie-inner{flex-direction:row;align-items:center;justify-content:space-between}.pv-cookie-text{max-width:520px}.pv-cookie-actions{justify-content:flex-end}}
@media (max-width:639.98px){.pv-footer{padding-block:var(--space-6) var(--space-10)}.pv-footer-grid{grid-template-columns:1fr}.pv-footer-bottom{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.pv-cookie-banner,.pv-age-overlay{transition:none}}