/* Minimal reset */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html, body { height: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
img, picture, svg, video { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

/* ===== EXPERIMENT: bottom parallax waves (Peter). To UNDO: delete this block
   + the .bg-waves injection at the end of v8/js/v7.js and v8/js/v5-app.js.
   3 blues from the splash, drifting at different speeds; cresting ~halfway up
   the CTA. .cta-area is made transparent so the waves show around the button. */
.bg-waves { position: fixed; left: 0; right: 0; bottom: 0; height: 64px; z-index: 1; pointer-events: none; overflow: hidden; }
.bg-waves__layer { position: absolute; left: 0; bottom: 0; width: 200%; background-repeat: repeat-x; background-position: left bottom; background-size: 50% 100%; will-change: transform; }
.bg-waves__layer--1 { height: 60px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q 25 0 50 6 T 100 6 V12 H0 Z' fill='%23AECDE9'/%3E%3C/svg%3E"); animation: bgWave 23s linear infinite; }
.bg-waves__layer--2 { height: 48px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q 25 0 50 6 T 100 6 V12 H0 Z' fill='%237BA8D6'/%3E%3C/svg%3E"); animation: bgWave 15s linear infinite; }
.bg-waves__layer--3 { height: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q 25 0 50 6 T 100 6 V12 H0 Z' fill='%234E80B0'/%3E%3C/svg%3E"); animation: bgWave 10s linear infinite; }
@keyframes bgWave { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.cta-area { background: transparent !important; }
/* No waves on the merged splash/welcome page (Peter). */
body.is-welcome .bg-waves { display: none; }
