/* affaiinvas.store · .aff- · v5.4 */
/* L01 Y09 H20 F13 */
:root{--aff-bg:#eef3f6;--aff-surf:#e2eaef;--aff-ink:#1a2830;--aff-muted:#5a6d78;--aff-accent:#2d5a6b;--aff-band:#c5d4dc;--aff-inv:#152028;--aff-invt:#eef3f6;--aff-on-accent:#ffffff}
*,*::before,*::after{box-sizing:border-box}
.aff-body{margin:0;background:var(--aff-bg);color:var(--aff-ink);font-family:"Nunito",Georgia,serif;line-height:1.65;font-size:1.05rem}
.aff-skip{position:absolute;left:-9999px}.aff-skip:focus{left:1rem;top:1rem;z-index:99;background:var(--aff-surf);padding:.5rem 1rem}
h1,h2,h3{font-family:"Pacifico",Georgia,serif;line-height:1.15;font-weight:600;margin:0 0 .75rem}
a{color:var(--aff-accent)}
.aff-brand{font-family:"Pacifico",Georgia,serif;font-size:clamp(1.05rem,2.4vw,1.45rem);text-decoration:none;color:inherit;font-weight:600}
.aff-cta{display:inline-block;background:var(--aff-accent);color:var(--aff-on-accent);padding:.65rem 1.25rem;text-decoration:none;border:none;font:inherit;cursor:pointer;width:auto;max-width:max-content}
.aff-nav a{color:inherit;text-decoration:none;font-size:.95rem}
.aff-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.aff-nav-toggle{display:none;background:transparent;border:1px solid currentColor;color:inherit;padding:.35rem .75rem;font:inherit;cursor:pointer}
.aff-editorial p,.aff-text-essay p,.aff-story-open p,.aff-short-about p,.aff-deep-feature p{margin:0 0 1.05rem}
.aff-contact-form label{display:block;margin-bottom:1rem}
.aff-contact-form input,.aff-contact-form textarea{width:100%;padding:.5rem;border:1px solid var(--aff-band);background:var(--aff-surf);color:var(--aff-ink);font:inherit}
.aff-form-success{display:none;margin-top:1rem;padding:1rem;background:var(--aff-band)}
.aff-form-success.is-visible{display:block}
.aff-footer-contact{margin-bottom:.75rem;font-size:.95rem}
.aff-footer-contact a{color:inherit}
.aff-footer-legal a{margin-right:.75rem;color:var(--aff-muted);font-size:.9rem}
.aff-cookie{position:fixed;z-index:100;background:var(--aff-surf);border:1px solid var(--aff-band);padding:1rem;box-shadow:0 4px 24px rgba(0,0,0,.12);display:none;left:1rem;bottom:1rem;max-width:22rem;color:var(--aff-ink)}
.aff-cookie.is-visible{display:block}
.aff-cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.aff-cookie button{font:inherit;cursor:pointer;padding:.45rem .85rem;border:1px solid var(--aff-band);background:var(--aff-bg);color:var(--aff-ink)}
.aff-cookie .aff-btn-accept{background:var(--aff-accent);color:var(--aff-on-accent);border-color:var(--aff-accent)}
.aff-cookie .aff-btn-decline,.aff-cookie .aff-btn-settings,.aff-cookie .aff-btn-save-settings{background:var(--aff-bg);color:var(--aff-ink);border-color:var(--aff-band)}
.aff-btn-accept{background:var(--aff-accent);color:var(--aff-on-accent);border-color:var(--aff-accent)}
.aff-page-hero{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--aff-band)}
.aff-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--aff-muted);margin:0}
.aff-inner{padding:clamp(1rem,4vw,2.5rem);max-width:min(54rem,94vw);margin:0 auto}
.aff-inner .aff-editorial{max-width:42rem}
@media (prefers-reduced-motion:reduce){.aff-body *{animation:none!important;transition:none!important}}
.aff-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--aff-surf);border-bottom:1px solid var(--aff-band);flex-wrap:wrap;gap:1rem}.aff-nav{display:flex;gap:1rem;flex-wrap:wrap}@media(max-width:820px){.aff-nav-toggle{display:inline-block}.aff-nav{display:none;width:100%;flex-direction:column}.aff-nav.is-open{display:flex}.aff-dock-row,.aff-nav-left{display:none}}.aff-home{padding:0;max-width:none}.aff-hero-tall{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:1rem;min-height:0;padding:clamp(2.25rem,7vh,4rem) clamp(1.25rem,5vw,4rem);background:linear-gradient(160deg,var(--aff-band),var(--aff-surf))}.aff-hero-tall h1{max-width:22ch;font-size:clamp(1.7rem,4.2vw,2.7rem);margin:0}.aff-hero-tall .aff-lede{max-width:38rem;margin:0;color:var(--aff-muted)}.aff-hero-tall .aff-cta{align-self:flex-start;width:auto;margin-top:.35rem}.aff-editorial.long,.aff-editorial{max-width:40rem;margin:0 auto;padding:2rem 1.25rem}.aff-bleed-band{background:var(--aff-band);color:var(--aff-ink);padding:.7rem 1.25rem;text-align:center;font-size:.92rem;border-top:1px solid var(--aff-ink);border-bottom:1px solid var(--aff-ink);letter-spacing:.03em}.aff-compact-visit{max-width:40rem;margin:0 auto 3rem;padding:1.35rem 1.5rem;border:1px solid var(--aff-band);background:var(--aff-surf)}.aff-compact-visit a{display:inline-block;margin-top:.5rem}.aff-hero-default,.aff-hero-short,.aff-hero-center,.aff-hero-editorial,.aff-hero-stack,.aff-hero-caption,.aff-hero-manifesto,.aff-hero-hours,.aff-hero-address,.aff-hero-quote,.aff-hero-two-line,.aff-hero-letter-strip{padding:2rem 1.5rem;background:var(--aff-surf);border-bottom:1px solid var(--aff-band)}.aff-footer{padding:2rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--aff-band);background:var(--aff-surf);margin-top:3rem}.aff-f-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;font-size:.9rem}