/* Shared foundation for Verbal's public website. No framework runtime required. */
:root { --paper:#faf8ef; --ink:#252521; --muted:#65655f; --coral:#f46e60; --line:#deddd3; --footer-height:76px; }
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; scroll-padding-bottom:calc(var(--footer-height) + 24px); }
.site-page { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; font-size:16px; line-height:1.6; padding-bottom:var(--footer-height); padding-bottom:calc(var(--footer-height) + env(safe-area-inset-bottom, 0px)); -webkit-font-smoothing:antialiased; }
.site-page h1,.site-page h2,.site-page h3,.site-page p,.site-page figure { margin:0; }
.site-page a { color:inherit; text-decoration:none; }
.site-page img { display:block; max-width:100%; height:auto; }
.site-page svg { display:block; }
.site-page a:focus-visible { outline:3px solid #8d3cba; outline-offset:5px; border-radius:4px; }
.site-page ::selection { background:#f7b3a9; color:var(--ink); }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:12px 20px; background:var(--ink); color:white!important; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
