:root{
  --cream:#FFFFFF;--cream-2:#FFFFFF;--paper:#FFFFFF;
  --ink:#0E2A36;--ink-2:#365763;--muted:#7B919A;
  --terra:#2A8B8E;       /* logo teal */
  --terra-deep:#143949;  /* logo navy */
  --ochre:#5FBFC2;       /* lighter teal accent */
  --sea:#143949;--sea-deep:#0B2330;--sea-glow:#2A8B8E;
  --rule:rgba(20,57,73,0.14);
  --navy:#0B2330;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:'Newsreader',Georgia,serif;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55}
.sans{font-family:'Inter',system-ui,sans-serif}
.mono{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--terra);color:var(--paper)}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.drift{display:flex;gap:48px;animation:drift 80s linear infinite;width:max-content}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.float{animation:float 5s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin 60s linear infinite}
@keyframes dash{to{stroke-dashoffset:-30}}
.dash{animation:dash 6s linear infinite}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes fade-in{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
.grain{display:none}
.underline{position:relative;display:inline-block}
.underline::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.underline:hover::after{transform:scaleX(1);transform-origin:left}
input,textarea,select{font-family:inherit;font-size:inherit}
input:focus,textarea:focus{outline:none}
.nav-link{position:relative;padding:6px 0}
.nav-link.active{color:var(--ink)}
.nav-link.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--terra)}
