:root {
 --gf-blue:#0f2f5b;
 --gf-blue-2:#0b1f3a;
 --gf-accent:#1bb7c9;
 --gf-accent-2:#0f91a2;
 --gf-light:#f7f9fb;
 --gf-soft:#eef5f8;
 --gf-ink:#1f2937;
 --gf-muted:#627084;
 --gf-border:#e3e9ef;
 --gf-card:#ffffff;
 --gf-shadow:0 18px 45px rgba(15,47,91,.08);
}
* { box-sizing:border-box; }
body { font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:16px; line-height:1.7; color:var(--gf-ink); background:#fff; }
a { color:var(--gf-blue); }
a:hover { color:var(--gf-accent-2); }
h1,h2,h3,h4,h5,h6 { font-family:'Space Grotesk',system-ui,sans-serif; letter-spacing:-.035em; color:var(--gf-blue); }
.lead { color:#405064; }
.text-muted { color:var(--gf-muted)!important; }
.navbar { background:rgba(255,255,255,.94); backdrop-filter:saturate(180%) blur(10px); border-bottom:1px solid rgba(227,233,239,.8); }
.navbar-logo { height:40px; width:auto; display:block; }
.nav-link { font-weight:600; color:#314158; font-size:.95rem; letter-spacing:.01em; }
.nav-link.active, .nav-link:hover { color:var(--gf-accent-2); }
.navbar .btn { font-weight:700; }
.btn { border-radius:999px; padding:.76rem 1.2rem; font-weight:700; }
.btn-lg { padding:.9rem 1.35rem; }
.btn-primary { background:var(--gf-accent); border-color:var(--gf-accent); color:#062131; }
.btn-primary:hover, .btn-primary:focus { background:var(--gf-accent-2); border-color:var(--gf-accent-2); color:#fff; }
.btn-outline-primary { border-color:rgba(15,47,91,.35); color:var(--gf-blue); }
.btn-outline-primary:hover { background:var(--gf-blue); border-color:var(--gf-blue); color:#fff; }
.btn-light { color:var(--gf-blue); }
.hero { position:relative; overflow:hidden; padding:92px 0 78px; background:radial-gradient(circle at 80% 20%, rgba(27,183,201,.13), transparent 32%), linear-gradient(180deg,#ffffff,#f7f9fb); }
.hero:after { content:""; position:absolute; inset:auto -120px -180px auto; width:420px; height:420px; border-radius:50%; background:rgba(27,183,201,.08); pointer-events:none; }
.hero h1 { font-size:clamp(2.45rem,4.8vw,4.35rem); font-weight:700; line-height:1.02; }
.hero .hero-kicker, .kicker { display:inline-flex; gap:.45rem; align-items:center; color:var(--gf-accent-2); background:rgba(27,183,201,.11); border:1px solid rgba(27,183,201,.22); padding:.34rem .72rem; border-radius:999px; font-size:.83rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.hero-copy { max-width:650px; }
.hero-note { color:var(--gf-muted); font-size:.94rem; }
.trust-row { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.55rem; }
.trust-pill { border:1px solid var(--gf-border); background:#fff; color:#405064; padding:.42rem .72rem; border-radius:999px; font-size:.88rem; font-weight:650; }
.hero-panel { position:relative; background:rgba(255,255,255,.82); border:1px solid rgba(227,233,239,.9); border-radius:28px; padding:28px; box-shadow:var(--gf-shadow); }
.signal-card { border:1px solid var(--gf-border); border-radius:18px; padding:18px; background:#fff; margin-bottom:14px; }
.signal-card:last-child { margin-bottom:0; }
.signal-label { color:var(--gf-muted); font-size:.78rem; text-transform:uppercase; font-weight:800; letter-spacing:.06em; }
.signal-title { color:var(--gf-blue); font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.1rem; }
.signal-line { height:8px; border-radius:999px; background:linear-gradient(90deg,var(--gf-accent),rgba(27,183,201,.18)); margin-top:12px; }
.section { padding:78px 0; }
.section-sm { padding:54px 0; }
.bg-soft { background:var(--gf-light); }
.bg-deep { background:linear-gradient(135deg,var(--gf-blue-2),var(--gf-blue)); color:#d8e3ef; }
.bg-deep h1,.bg-deep h2,.bg-deep h3,.bg-deep h4,.bg-deep h5,.bg-deep h6 { color:#fff; }
.bg-deep p,.bg-deep .text-muted { color:#d8e3ef!important; }
.section h2 { font-size:clamp(1.9rem,3vw,2.75rem); font-weight:700; }
.section-intro { max-width:800px; margin:0 auto 2.5rem; color:var(--gf-muted); }
.card { border:1px solid var(--gf-border); border-radius:18px; background:var(--gf-card); }
.lift-card { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.lift-card:hover { transform:translateY(-4px); box-shadow:var(--gf-shadow); border-color:rgba(27,183,201,.3); }
.card h3,.card h4,.card h5 { font-weight:700; }
.icon-box { width:54px; height:54px; border-radius:16px; background:rgba(27,183,201,.11); color:var(--gf-blue); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.icon-box svg { width:26px; height:26px; stroke-width:1.9; }
.check-list { list-style:none; padding-left:0; margin-bottom:0; }
.check-list li { position:relative; padding-left:1.8rem; margin-bottom:.65rem; color:#405064; }
.check-list li:before { content:""; position:absolute; left:0; top:.54rem; width:.72rem; height:.72rem; border-radius:50%; background:rgba(27,183,201,.18); border:3px solid var(--gf-accent); }
.number-card { position:relative; padding-left:84px!important; }
.number-card .num { position:absolute; left:24px; top:24px; width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(27,183,201,.13); color:var(--gf-blue); font-weight:900; font-family:'Space Grotesk',sans-serif; }
.page-hero { padding:72px 0 54px; background:linear-gradient(180deg,#ffffff,#f7f9fb); border-bottom:1px solid var(--gf-border); }
.page-hero h1 { font-size:clamp(2.25rem,4.2vw,3.75rem); font-weight:700; line-height:1.05; }
.content-narrow { max-width:850px; }
.cta { padding:72px 0; background:linear-gradient(135deg,var(--gf-blue-2),var(--gf-blue)); color:#e9f2fa; }
.cta h2 { color:#fff; }
.cta p { color:#d9e5f1; }
.footer { background:#081b32; color:#b8c2d3; padding:52px 0 34px; }
.footer-logo { height:44px; width:auto; display:block; }
.footer h6 { color:#fff; font-size:.95rem; letter-spacing:.02em; }
.footer a { color:#c8d4e2; text-decoration:none; }
.footer a:hover { color:#fff; }
.footer-small { color:#8ea0b4; font-size:.87rem; }
.modal-content { border:0; border-radius:22px; box-shadow:0 25px 80px rgba(15,47,91,.22); }
.form-control,.form-select { border-radius:12px; border-color:#dce4ec; padding:.72rem .85rem; }
.form-control:focus,.form-select:focus { border-color:var(--gf-accent); box-shadow:0 0 0 .22rem rgba(27,183,201,.14); }
.form-label { font-weight:700; color:#334155; font-size:.92rem; }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.disclaimer { font-size:.9rem; color:var(--gf-muted); }
.breadcrumb-lite { color:var(--gf-muted); font-weight:700; font-size:.88rem; text-transform:uppercase; letter-spacing:.06em; }
@media (max-width: 991.98px) {
 .hero { padding:72px 0 56px; }
 .hero-panel { margin-top:32px; }
 .section { padding:58px 0; }
 .navbar .btn { margin-top:.75rem; }
}

.cookie-banner { position:fixed; left:18px; right:18px; bottom:18px; z-index:1080; display:none; }
.cookie-banner.show { display:block; }
.cookie-banner-inner { max-width:980px; margin:0 auto; background:#fff; border:1px solid var(--gf-border); border-radius:18px; box-shadow:0 20px 60px rgba(8,27,50,.18); padding:18px; display:flex; gap:18px; align-items:center; justify-content:space-between; }
.cookie-banner p { margin:0; color:#405064; font-size:.92rem; line-height:1.55; }
.cookie-actions { display:flex; gap:10px; align-items:center; flex-shrink:0; }
.cookie-actions .btn { padding:.58rem .92rem; }
@media (max-width: 767.98px) { .cookie-banner-inner { align-items:flex-start; flex-direction:column; } .cookie-actions { width:100%; justify-content:flex-start; flex-wrap:wrap; } }


/* Animated guest-operation signal background for the homepage hero. */
.hero-orbit-bg { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; opacity:.82; }
.hero-orbit-bg:before { content:""; position:absolute; right:-90px; top:16px; width:min(58vw,760px); height:min(50vw,620px); border-radius:50%; background:radial-gradient(circle, rgba(27,183,201,.13), rgba(27,183,201,.04) 48%, transparent 70%); filter:blur(4px); }
.orbit-svg { position:absolute; right:clamp(-150px, -7vw, -40px); top:clamp(30px, 6vw, 74px); width:min(62vw,780px); height:auto; opacity:.64; transform-origin:center; animation:gfOrbitDrift 16s ease-in-out infinite alternate; }
.orbit-path { fill:none; stroke:url(#gfOrbitGradient); stroke-width:2.1; stroke-linecap:round; stroke-dasharray:7 10; }
.orbit-path-one { animation:gfDashFlow 24s linear infinite; }
.orbit-path-two { opacity:.2; stroke-dasharray:2 15; animation:gfDashFlowReverse 30s linear infinite; }
.orbit-node { transform-box:fill-box; transform-origin:center; }
.orbit-node circle { fill:#526985; }
.orbit-node.node-small circle { fill:var(--gf-accent); }
.node-a { animation:gfNodePulse 4.8s ease-in-out infinite; }
.node-b { animation:gfNodePulse 5.5s ease-in-out infinite .45s; }
.node-c { animation:gfNodePulse 4.2s ease-in-out infinite .9s; }
.node-d { animation:gfNodePulse 5.8s ease-in-out infinite .2s; }
.node-e { animation:gfNodePulse 4.9s ease-in-out infinite .65s; }
.node-f { animation:gfNodePulse 6.2s ease-in-out infinite 1.1s; }
.hero > .container { z-index:1; }
@keyframes gfDashFlow { from { stroke-dashoffset:0; } to { stroke-dashoffset:-220; } }
@keyframes gfDashFlowReverse { from { stroke-dashoffset:0; } to { stroke-dashoffset:220; } }
@keyframes gfOrbitDrift { from { transform:translate3d(0,0,0) rotate(-1.5deg) scale(1); } to { transform:translate3d(-18px,10px,0) rotate(2.5deg) scale(1.025); } }
@keyframes gfNodePulse { 0%,100% { transform:scale(.74); opacity:.58; } 45% { transform:scale(1.62); opacity:1; } 70% { transform:scale(1.08); opacity:.86; } }
@media (max-width: 991.98px) { .orbit-svg { right:-260px; top:42px; width:900px; opacity:.24; } .hero-orbit-bg:before { right:-260px; width:720px; height:520px; opacity:.65; } }
@media (max-width: 575.98px) { .orbit-svg { right:-360px; top:30px; width:820px; opacity:.18; } .hero-orbit-bg:before { display:none; } }
@media (prefers-reduced-motion: reduce) { .orbit-svg, .orbit-path-one, .orbit-path-two, .orbit-node { animation:none!important; } }
