/* Swell Active (sav2) — shared base: tokens, resets, nav, footer, links.
   Ported from the Claude Design source so rendering stays pixel-identical. */
:root{
  --ocean:#0E2A3A; --ocean-mid:#214A63; --teal:#2FA8A8; --teal-deep:#1B7878; --teal-soft:#BFE3E3;
  --sand:#F4ECDE; --sand-deep:#E5D5B7; --shell:#FAF6EE; --coral:#E8765A; --sun:#E8B341;
  --pebble:#C7CCD0; --mist:#E8ECEE; --stone:#8A9097; --wash:#EAF5F4;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --rule:rgba(14,42,58,0.14);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:#FAF6EE;color:#0E2A3A;font-family:'Hanken Grotesk',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
a{color:#1B7878;text-decoration:none;}
a:hover{color:#0E2A3A;}
::selection{background:#BFE3E3;color:#0E2A3A;}

/* Skip link (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:500;background:#0E2A3A;color:#FAF6EE;padding:12px 20px;font-family:'Outfit',sans-serif;font-size:13px;border-radius:0 0 6px 0;}
.skip-link:focus{left:0;color:#FAF6EE;}

/* Shared nav link underline */
.navlink{position:relative;color:inherit;font-family:'Outfit',sans-serif;font-size:12px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;display:inline-flex;align-items:flex-start;padding-bottom:5px;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;transition:background-size .4s var(--ease-out),color .3s,opacity .3s;}
.navlink:hover{background-size:100% 1.5px;}
.navlink.on{background-size:100% 1.5px;color:#2FA8A8;}
.navlink .nn{font-size:9px;letter-spacing:0.02em;opacity:0.45;margin-right:6px;line-height:1;transition:opacity .3s,color .3s;}
.navlink:hover .nn,.navlink.on .nn{opacity:1;}
.navlink.on .nn{color:#2FA8A8;}

/* Magnetic CTA hover fallback */
.btn-primary{transition:transform .35s var(--ease-out),background .3s,box-shadow .35s var(--ease-out);}
.btn-primary:hover{background:#1B7878 !important;color:#FAF6EE;}

/* Mobile menu + hamburger are hidden by default; shown only in the mobile
   media query (see home.css / journal responsive rules). */
.navtoggle{display:none;}
.mobilemenu{display:none;}

@keyframes jspin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .jseal>div,.spin-seal{animation:none !important;}
}
