/* FYNXT Library — shared tokens and page chrome. Owned by the integrator; section files must not redefine these. */
:root{
  --ink:#0B0D10; --ink-3:var(--ink); /* alias kept for section files; palette has no Ink tints */
  --teal:#10C8C2; --teal-mid:#1A979E; --teal-btn:#1A979E; --deep-teal:#196562;
  --white:#F7F8FA; --paper:#F5F6F6; --wash:#E5F4F5;
  --grey:#8C99A3; --grey-dark:#45535D; --line-dark:rgba(140,153,163,.18); --line-light:rgba(69,83,93,.16);
  --font:'Satoshi',system-ui,Arial,sans-serif;
  --r-btn:8px; --r-card:14px;
  --header-h:72px; --wrap:1200px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal-mid);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--grey-dark)}
.eyebrow::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--teal-mid);margin-right:10px;vertical-align:1px}
.dark .eyebrow{color:var(--teal)}
.dark .eyebrow::before{background:var(--teal)}
.h1{font-size:clamp(40px,6vw,64px);line-height:1.08;font-weight:500;letter-spacing:-.02em;margin:0;text-wrap:balance}
.h2{font-size:clamp(30px,4vw,43px);line-height:1.15;font-weight:700;letter-spacing:-.02em;margin:0;text-wrap:balance}
.lead{font-size:18px;color:var(--grey-dark);max-width:60ch}
.dark{background:var(--ink);color:var(--white)}
.dark .lead{color:var(--grey)}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--r-btn);background:var(--teal-btn);color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;border:0;cursor:pointer;transition:filter .2s,transform .2s var(--ease-out)}
.btn:hover{filter:brightness(.92);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor;opacity:.9}
.btn .arr{transition:transform .25s var(--ease-out)}
.btn:hover .arr{transform:translateX(3px)}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--white);padding:10px 16px;border-radius:var(--r-btn);font-size:14px;text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header (fynxt.com style: white bar, logo left, nav, teal CTA) */
#siteHeader{position:sticky;top:0;z-index:100;height:var(--header-h);background:rgba(247,248,250,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line-light);transition:box-shadow .3s}
#siteHeader.scrolled{box-shadow:0 6px 24px rgba(11,13,16,.06)}
#siteHeader .wrap{height:100%;display:flex;align-items:center;gap:32px}
#siteHeader .logo{display:block;width:150px;flex:none}
#siteHeader nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:500;color:var(--grey-dark)}
#siteHeader nav a{text-decoration:none;position:relative;padding:6px 0}
#siteHeader nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--teal-mid);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}
#siteHeader nav a:hover::after,#siteHeader nav a[aria-current="true"]::after{transform:scaleX(1)}
@media (max-width:860px){#siteHeader nav{display:none}#siteHeader .btn{margin-left:auto}}

@media (max-width:480px){#siteHeader .wrap{gap:12px}#siteHeader .logo{width:124px}#siteHeader .btn{padding:0 14px}#siteHeader .btn .arr{display:none}}

/* sections — each section's own file styles its interior only */
main > section{position:relative;scroll-margin-top:var(--header-h)}
.eyebrow+.h2{margin-top:14px}
.h2+.lead{margin-top:18px}
#hero{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));overflow:hidden}
#cta{padding:120px 0;text-align:center;background:radial-gradient(ellipse at 100% 100%,var(--deep-teal) 0%,transparent 45%),radial-gradient(ellipse at 0% 0%,var(--deep-teal) 0%,transparent 35%),var(--ink);color:var(--white);overflow:hidden}
#cta .h2{max-width:22ch;margin-left:auto;margin-right:auto}
#cta .lead{margin:18px auto 32px}
@media (max-width:640px){#cta{padding:80px 0}}

footer{background:var(--ink);color:var(--grey);font-size:14px;padding:40px 0;border-top:1px solid var(--line-dark)}
footer .wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
footer .logo{width:120px}
footer .right{margin-left:auto;display:flex;gap:20px}
footer a{text-decoration:none}
footer a:hover{color:var(--white)}
