/* KineCheck public visual refresh — CSS only. No navigation or commerce logic. */
:root{
  --kc-bg:#06171b;
  --kc-bg-deep:#031014;
  --kc-surface:rgba(16,52,60,.72);
  --kc-surface-strong:#0d3037;
  --kc-line:rgba(214,244,239,.13);
  --kc-text:#f7fbfb;
  --kc-muted:#a9c2c6;
  --kc-green:#62e0ad;
  --kc-green-soft:rgba(98,224,173,.14);
  --kc-blue:#79bfff;
  --kc-blue-soft:rgba(121,191,255,.14);
  --kc-gold:#ffd17d;
  --kc-gold-soft:rgba(255,209,125,.14);
  --kc-shadow:0 28px 80px rgba(0,0,0,.34);
  --kc-radius:28px;
}

html{background:var(--kc-bg-deep)}
body{
  min-height:100vh;
  background:
    radial-gradient(900px 520px at 8% -5%,rgba(98,224,173,.10),transparent 62%),
    radial-gradient(760px 520px at 95% 8%,rgba(121,191,255,.07),transparent 62%),
    linear-gradient(180deg,#071d22 0%,var(--kc-bg) 55%,var(--kc-bg-deep) 100%);
  color:var(--kc-text);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}

.site-header{
  min-height:74px;
  padding:.85rem clamp(1rem,5vw,5rem);
  background:rgba(4,20,24,.72);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 40px rgba(0,0,0,.12);
  backdrop-filter:blur(22px) saturate(130%);
}
.brand{gap:.8rem}
.brand img{width:44px;height:44px;filter:drop-shadow(0 8px 20px rgba(98,224,173,.18))}
.brand strong{font-size:1.08rem;letter-spacing:-.02em}
.brand small{font-size:.61rem;letter-spacing:.22em;color:#8ba9ae}
.site-header nav{gap:.5rem}
.site-header nav a:not(.nav-button){padding:.7rem .9rem;border-radius:999px}
.site-header nav a:not(.nav-button):hover{background:rgba(255,255,255,.055);text-decoration:none}
.nav-button,.primary,.secondary,.ghost{
  min-height:48px;
  border-radius:14px;
  padding:.82rem 1.2rem;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.primary,.nav-button{
  background:linear-gradient(135deg,#72e7b7,#4ed19c);
  color:#032119;
  box-shadow:0 12px 30px rgba(77,209,156,.18);
}
.primary:hover,.nav-button:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(77,209,156,.25)}
.secondary{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.14);color:#edf7f8}
.secondary:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.24);transform:translateY(-2px)}

.hero{
  position:relative;
  min-height:68vh;
  max-width:1440px;
  margin:0 auto;
  padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,5.5rem) clamp(3rem,7vw,6rem);
  gap:clamp(2rem,6vw,6rem);
}
.hero>div{position:relative;z-index:1}
.eyebrow{
  padding:.4rem .65rem;
  border:1px solid rgba(98,224,173,.2);
  border-radius:999px;
  background:rgba(98,224,173,.07);
  letter-spacing:.18em;
}
.hero h1,.page-hero h1{
  max-width:11.5ch;
  font-size:clamp(3rem,7vw,6.4rem);
  line-height:.94;
  letter-spacing:-.06em;
  text-wrap:balance;
}
.hero h1 em{
  color:transparent;
  background:linear-gradient(90deg,#76e8ba,#86d3ff);
  -webkit-background-clip:text;
  background-clip:text;
}
.hero p,.page-hero p{font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.72;color:var(--kc-muted)}
.hero .actions{margin-top:2rem}
.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(145deg,rgba(18,58,67,.88),rgba(8,31,37,.72));
  box-shadow:var(--kc-shadow);
  isolation:isolate;
}
.hero-card::before{
  content:"";
  position:absolute;
  width:280px;height:280px;
  right:-90px;top:-100px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(98,224,173,.32),rgba(98,224,173,0) 68%);
  z-index:-1;
}
.hero-card::after{
  content:"01  ·  02  ·  03";
  display:block;
  margin-top:2rem;
  padding-top:1.25rem;
  border-top:1px solid var(--kc-line);
  color:#78979d;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.24em;
}
.hero-card h2{max-width:10ch;font-size:clamp(2.1rem,4vw,3.8rem);letter-spacing:-.05em}

.section{position:relative;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem)}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));border-block:1px solid rgba(255,255,255,.07)}
.section-head{max-width:820px;margin-bottom:2.5rem}
.section-head h2{font-size:clamp(2.35rem,5vw,4.7rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.section-head p{max-width:62ch;color:var(--kc-muted)}

.audience-grid{gap:1.2rem;max-width:1440px;margin:0 auto}
.audience-card{
  position:relative;
  overflow:hidden;
  min-height:390px;
  padding:1.7rem;
  border-radius:var(--kc-radius);
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(155deg,rgba(16,54,62,.86),rgba(7,28,33,.92));
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
  isolation:isolate;
}
.audience-card::before{
  content:"";
  position:absolute;
  inset:auto -18% -38% 18%;
  height:72%;
  border-radius:50%;
  filter:blur(2px);
  opacity:.46;
  z-index:-1;
  transition:transform .3s ease,opacity .3s ease;
}
.audience-card.pro::before{background:radial-gradient(circle,var(--kc-green-soft),transparent 68%)}
.audience-card.est::before{background:radial-gradient(circle,var(--kc-blue-soft),transparent 68%)}
.audience-card.rec::before{background:radial-gradient(circle,var(--kc-gold-soft),transparent 68%)}
.audience-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.24);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.audience-card:hover::before{transform:scale(1.16);opacity:.75}
.audience-card .icon{
  display:grid;
  place-items:center;
  width:66px;height:66px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.055);
  font-size:2rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.audience-card h3{font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.05;letter-spacing:-.04em;margin:1.5rem 0 .7rem}
.audience-card p{font-size:1rem;line-height:1.7;color:var(--kc-muted)}
.audience-card b{display:flex;align-items:center;gap:.5rem;font-size:.93rem;letter-spacing:.01em}

.steps{gap:1.15rem;max-width:1280px}
.step{
  min-height:220px;
  border-radius:24px;
  padding:1.5rem;
  background:linear-gradient(150deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-color:rgba(255,255,255,.09);
}
.step strong{width:48px;height:48px;background:rgba(98,224,173,.11);border:1px solid rgba(98,224,173,.22);color:var(--kc-green)}
.step h3{font-size:1.35rem;margin:1.2rem 0 .45rem;letter-spacing:-.025em}

.page-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(4.5rem,9vw,8rem) clamp(1.25rem,7vw,7rem) clamp(4rem,8vw,7rem);
  background:
    radial-gradient(760px 460px at 82% 15%,rgba(98,224,173,.16),transparent 65%),
    linear-gradient(180deg,rgba(255,255,255,.012),transparent);
  border-bottom:1px solid rgba(255,255,255,.075);
}
.page-hero.est{background:radial-gradient(760px 460px at 82% 15%,rgba(121,191,255,.16),transparent 65%),linear-gradient(180deg,rgba(255,255,255,.012),transparent)}
.page-hero.rec{background:radial-gradient(760px 460px at 82% 15%,rgba(255,209,125,.16),transparent 65%),linear-gradient(180deg,rgba(255,255,255,.012),transparent)}
.page-hero::after{
  content:"";
  position:absolute;
  right:clamp(1rem,6vw,6rem);bottom:-120px;
  width:360px;height:360px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(255,255,255,.018),0 0 0 84px rgba(255,255,255,.012);
  pointer-events:none;
}
.page-hero h1{max-width:12ch}
.page-hero .actions{margin-top:2rem}

.product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  max-width:1400px;
}
.product{
  position:relative;
  overflow:hidden;
  min-height:470px;
  padding:1.55rem;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.105);
  background:linear-gradient(155deg,rgba(17,55,63,.78),rgba(7,27,32,.92));
  box-shadow:0 20px 55px rgba(0,0,0,.20);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.product::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;height:3px;
  background:linear-gradient(90deg,var(--kc-green),transparent 70%);
  opacity:.65;
}
.product:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.19);box-shadow:0 26px 68px rgba(0,0,0,.26)}
.product.featured{border-color:rgba(98,224,173,.34);box-shadow:0 22px 65px rgba(0,0,0,.24),inset 0 0 0 1px rgba(98,224,173,.05)}
.family-label{color:var(--kc-green);font-size:.66rem;letter-spacing:.16em}
.product .tag{margin-top:.25rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#dcebed}
.product h3{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.08;letter-spacing:-.035em;margin:1rem 0 .6rem}
.product>p{font-size:.98rem;line-height:1.68;min-height:3.2em}
.product .faq{margin-top:.6rem;display:block}
.product .faq details,.product details.faq{
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  overflow:hidden;
  padding:0;
}
.product details.faq summary,.product .faq summary{
  position:relative;
  min-height:52px;
  padding:.92rem 2.8rem .92rem 1rem;
  display:flex;
  align-items:center;
  cursor:pointer;
  list-style:none;
  font-size:.92rem;
  font-weight:850;
  color:#e9f4f5;
}
.product details.faq summary::-webkit-details-marker{display:none}
.product details.faq summary::after{
  content:"+";
  position:absolute;
  right:1rem;
  color:var(--kc-green);
  font-size:1.3rem;
  line-height:1;
  transition:transform .18s ease;
}
.product details.faq[open] summary::after{transform:rotate(45deg)}
.product details.faq[open] summary{background:rgba(98,224,173,.055);border-bottom:1px solid rgba(255,255,255,.08)}
.product details.faq p{padding:0 1rem;margin:.9rem 0;color:var(--kc-muted);line-height:1.62}
.product details.faq p:last-child{padding-bottom:.2rem}
.price{margin-top:auto;padding:1.15rem 0 .95rem;border-top:1px solid rgba(255,255,255,.09)}
.price small{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.price strong{font-size:clamp(1.8rem,3vw,2.25rem);line-height:1.05;color:#fff}
.price span{font-size:.88rem}
.product>.actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.3rem}
.product>.actions>a{width:100%;min-width:0}

footer{
  margin-top:2rem;
  padding:2.4rem clamp(1.25rem,6vw,6rem);
  background:rgba(2,13,16,.42);
  border-top:1px solid rgba(255,255,255,.08);
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:4rem}
  .hero-card{max-width:680px}
  .audience-grid{grid-template-columns:1fr 1fr}
  .audience-card.rec{grid-column:1/-1;min-height:300px}
  .product-grid{grid-template-columns:1fr 1fr}
  .product>.actions{grid-template-columns:1fr}
}

@media(max-width:620px){
  .site-header{min-height:68px;padding:.7rem 1rem}
  .brand img{width:39px;height:39px}
  .site-header nav{top:66px;background:rgba(5,24,29,.97);border-radius:18px;box-shadow:var(--kc-shadow)}
  .hero{padding:3.6rem 1.1rem 3.2rem;gap:1.7rem}
  .hero h1,.page-hero h1{font-size:clamp(2.65rem,13vw,4rem);line-height:.96}
  .hero p,.page-hero p{font-size:1rem}
  .hero-card{border-radius:24px;padding:1.35rem}
  .hero-card h2{font-size:2.25rem}
  .section{padding:3.6rem 1.1rem}
  .section-head{margin-bottom:1.6rem}
  .section-head h2{font-size:2.5rem}
  .audience-grid{grid-template-columns:1fr;gap:.9rem}
  .audience-card,.audience-card.rec{grid-column:auto;min-height:305px;border-radius:23px;padding:1.35rem}
  .audience-card .icon{width:58px;height:58px;border-radius:17px;font-size:1.75rem}
  .steps{grid-template-columns:1fr;gap:.8rem}
  .step{min-height:auto;border-radius:20px}
  .page-hero{padding:4rem 1.1rem 3.6rem}
  .page-hero::after{width:230px;height:230px;right:-100px;bottom:-100px}
  .product-grid{grid-template-columns:1fr;gap:.9rem}
  .product{min-height:0;border-radius:22px;padding:1.25rem}
  .product>p{min-height:0}
  .product>.actions{grid-template-columns:1fr}
  .product>.actions>a{width:100%}
  footer{margin-top:0;padding:2rem 1.1rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Global contrast hardening — 2026-09-26 */
body,main,.section,.section-evidence{color:#f7fbfb}
body :where(h1,h2,h3,h4,h5,h6,strong,b,summary,label){color:#f7fbfb}
body :where(p,li,small,.lead,.legal,.digest-summary,.section-head p,.archive p,.archive ul){color:#c9dde0}
body :where(a:not(.primary):not(.nav-button)){color:#8fe9e5}
.site-header .brand strong,.site-header nav a:not(.nav-button){color:#f7fbfb}
.site-header .brand small{color:#b9cdd1}
.site-header nav{background:rgba(4,24,29,.98)}
.site-header nav a:not(.nav-button):hover,.site-header nav a:not(.nav-button):focus-visible{color:#fff;background:rgba(255,255,255,.09)}
@media(max-width:820px){
  .site-header nav{background:#071d22!important;border-color:rgba(143,233,229,.28)!important}
  .site-header nav a:not(.nav-button){color:#f7fbfb!important}
  .site-header nav .nav-button{color:#032119!important}
}
