/* KSPR Labs × NDIS Community — Get found (SEO / AEO / GEO) */
.gf-hero{position:relative;background:var(--night);color:#fff;padding:84px 0 110px;overflow:hidden}
.gf-bg{position:absolute;inset:0;pointer-events:none}
.gf-bg .fg1{position:absolute;width:900px;height:700px;left:-320px;top:-320px;border-radius:50%;background:radial-gradient(closest-side,rgba(161,95,174,.42),transparent)}
.gf-bg .fg2{position:absolute;width:800px;height:700px;right:-260px;bottom:-320px;border-radius:50%;background:radial-gradient(closest-side,rgba(138,197,63,.16),transparent)}
.gf-bg .fgrid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 70% 50%,#000,transparent);mask-image:radial-gradient(ellipse 60% 60% at 70% 50%,#000,transparent)}
.gf-hero-in{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.crumb{display:flex;gap:8px;font-size:14px;color:#bfaac4;margin-bottom:22px}
.crumb a{color:#e7d6ea;text-decoration:none}.crumb a:hover{text-decoration:underline}
.gf-h1{margin-top:16px;font-size:clamp(44px,6vw,86px);line-height:.98;letter-spacing:-.047em;font-weight:720}
.gf-h1 em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:420;letter-spacing:-.03em;color:var(--p-on-dark)}
.gf-hero .lede{margin:24px 0 0;color:#e0d2e3;max-width:560px}
.gf-hero .cta-row{justify-content:flex-start}
.gf-jump{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:34px;max-width:560px}
.gf-jump a{display:grid;gap:2px;padding:12px 14px;border-radius:16px;text-decoration:none;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff17;transition:background .25s,transform .3s var(--spring)}
.gf-jump a:hover{background:#ffffff14;transform:translateY(-2px)}
.gf-jump b{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.gf-jump span{font-size:13.5px;color:#e7d6ea}
/* orbit */
.orbit{position:relative;width:560px;height:560px;justify-self:center;--r1:175px;--r2:262px}
.o-ring{position:absolute;left:50%;top:50%;border-radius:50%;translate:-50% -50%;box-shadow:inset 0 0 0 1px #ffffff1c}
.o1{width:210px;height:210px;background:radial-gradient(closest-side,rgba(161,95,174,.28),transparent)}
.o2{width:350px;height:350px}
.o3{width:524px;height:524px;box-shadow:inset 0 0 0 1px #ffffff12}
.o-pulse{position:absolute;left:50%;top:50%;width:210px;height:210px;border-radius:50%;translate:-50% -50%;box-shadow:inset 0 0 0 2px rgba(138,197,63,.5);opacity:0}
.motion-ok .o-pulse{animation:opulse 4s ease-out infinite}
.motion-ok .o-pulse.p2{animation-delay:2s}
@keyframes opulse{0%{opacity:.8;transform:scale(.9)}100%{opacity:0;transform:scale(2.6)}}
.o-core{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:3;display:grid;justify-items:center;gap:4px;width:196px;padding:18px 14px;border-radius:22px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 30px 60px -20px rgba(0,0,0,.6),0 0 0 8px #ffffff10}
.o-core .fav{width:40px;height:40px;font-size:18px;margin-bottom:6px}
.o-core b{font-size:16px;letter-spacing:-.02em}
.o-core span{font-size:12px;color:var(--mut)}
.o-spin{position:absolute;inset:0;z-index:2}
.motion-ok .o-spin.s-in{animation:ospin 70s linear infinite}
.motion-ok .o-spin.s-out{animation:ospin 70s linear infinite}
@keyframes ospin{to{transform:rotate(360deg)}}
.sat{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--a)) translateX(var(--r1)) rotate(calc(-1 * var(--a)))}
.s-out .sat{transform:rotate(var(--a)) translateX(var(--r2)) rotate(calc(-1 * var(--a)))}
.chip{position:absolute;left:0;top:0;translate:-50% -50%;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 14px;border-radius:999px;background:rgba(40,20,46,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffff26,0 10px 24px -10px rgba(0,0,0,.6);font-size:14px;font-weight:600;color:#fff}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,#fff);box-shadow:0 0 12px var(--c,#fff)}
.c-seo{--c:#c58bd0}.c-loc{--c:var(--lime)}.c-aeo{--c:var(--yel)}.c-geo{--c:#ff9fb6}
.motion-ok .s-in .chip{animation:ospin 70s linear infinite reverse}
.motion-ok .s-out .chip{animation:ospin 70s linear infinite reverse}
.motion-ok .orbit{animation:eIn 1.2s var(--ease) .3s backwards}
/* shift */
.gf-shift{background:var(--paper)}
.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;counter-reset:j}
.journey li{position:relative;display:grid;gap:8px;padding:28px 24px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 24px 40px -34px rgba(28,15,33,.35)}
.journey .ic{width:46px;height:46px;padding:12px;border-radius:14px;background:var(--p-50);color:var(--p);margin-bottom:8px}
.journey b{font-size:19px;letter-spacing:-.02em}
.journey p{font-size:15px;color:var(--ink-2);font-style:italic;font-family:Newsreader,Georgia,serif;font-size:17px}
.j-n{position:absolute;right:20px;top:20px;font-size:13px;font-weight:700;color:var(--mut)}
/* deep dives */
.dd-sec{background:var(--paper)}
.dd-sec.alt{background:#fff}
.dd{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.dd.flip .dd-copy{order:2}
.acr{display:inline-flex;align-items:center;gap:10px;margin-bottom:6px}
.acr b{font-size:13px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--p);padding:6px 11px;border-radius:999px}
.acr span{font-size:14.5px;font-weight:600;color:var(--mut)}
.plain{margin-top:22px;padding:18px 20px;border-radius:18px;background:var(--p-50);box-shadow:inset 0 0 0 1px var(--p-100);font-size:16.5px;line-height:1.6;color:var(--ink-2)}
.dd-sec.alt .plain{background:var(--paper)}
.plain b{color:var(--p)}
.dd-copy .ticks{margin-top:24px}
.dd .screen{box-shadow:0 0 0 1px var(--line),0 60px 100px -50px rgba(28,15,33,.45);cursor:pointer}
.scr-body.solo-body{height:auto;min-height:430px}
.ep.solo{position:static;inset:auto}
/* foundations + cta */
.gf-found{background:var(--paper)}
.gf-cta{background:var(--paper);padding-top:0}
.gf-cta-in{position:relative;overflow:hidden;text-align:center;display:grid;justify-items:center;padding:80px 32px;border-radius:36px;color:#fff;background:radial-gradient(60% 90% at 0% 0%,rgba(161,95,174,.5),transparent 60%),radial-gradient(60% 90% at 100% 100%,rgba(138,197,63,.2),transparent 60%),var(--night)}
.gf-cta-in .h2{color:#fff;max-width:760px}
.gf-cta-in .h2 em{color:var(--p-on-dark)}
.gf-cta-in .sub{color:#e0d2e3;margin-left:auto;margin-right:auto}
.gf-cta-in .btn{margin-top:32px}
@media (max-width:1100px){
  .gf-hero-in{grid-template-columns:1fr}
  .orbit{margin-top:10px}
  .journey{grid-template-columns:1fr 1fr}
  .dd{grid-template-columns:1fr;gap:40px}
  .dd.flip .dd-copy{order:0}
}
@media (max-width:640px){
  .gf-hero{padding:48px 0 70px}
  .gf-jump{grid-template-columns:1fr 1fr}
  .orbit{width:340px;height:340px;--r1:112px;--r2:162px}
  .o1{width:150px;height:150px}.o2{width:224px;height:224px}.o3{width:324px;height:324px}.o-pulse{width:150px;height:150px}
  .o-core{width:150px;padding:12px 10px;border-radius:18px}
  .o-core .fav{width:30px;height:30px;font-size:14px;margin-bottom:2px}
  .o-core b{font-size:13.5px}.o-core span{font-size:10.5px}
  .chip{font-size:11.5px;padding:6px 10px;gap:6px}
  .chip::before{width:6px;height:6px}
  .journey{grid-template-columns:1fr}
  .scr-body.solo-body{min-height:0;padding:16px}
  .gf-cta-in{padding:56px 22px;border-radius:28px}
}
@media (max-width:760px){
  .gf-hero{padding:36px 0 56px}
  .crumb{font-size:12px;margin-bottom:14px}
  .gf-h1{font-size:34px}
  .gf-hero .lede{font-size:14px;margin-top:14px}
  .gf-hero .cta-row{margin-top:22px}
  .gf-hero .btn-lg{padding:11px 20px;font-size:14px}
  .gf-jump{gap:6px;margin-top:22px}
  .gf-jump a{padding:9px 11px;border-radius:12px}
  .gf-jump b{font-size:10.5px}.gf-jump span{font-size:12px}
  .journey li{padding:18px;border-radius:18px}
  .journey .ic{width:38px;height:38px;padding:10px}
  .journey b{font-size:16px}.journey p{font-size:14.5px}
  .acr b{font-size:10.5px}.acr span{font-size:12.5px}
  .plain{font-size:13.5px;padding:14px 16px;margin-top:16px}
  .gf-cta-in{padding:44px 20px}
}
/* calm palette */
.gf-bg .fg2{display:none}
.o-pulse{box-shadow:inset 0 0 0 2px rgba(205,189,227,.55)}
.c-seo,.c-loc,.c-aeo,.c-geo{--c:#cdbde3}
.chip::before{box-shadow:none}
.gf-cta-in{background:radial-gradient(60% 90% at 0% 0%,rgba(161,95,174,.45),transparent 60%),var(--night)}
.gf-jump b{color:#cdbde3}
