:root{
  --ink:#0E0B1A; --ink-soft:#2A2440; --muted:#6B6680;
  --line:rgba(14,11,26,0.08); --bg:#FFFFFF; --bg-soft:#FAF8FF;
  --violet-2:#A040E0; --pink:#FF8EE8;
  --grad-violet:linear-gradient(135deg,#A040E0 0%,#6A5AE0 50%,#4F46E5 100%);
  --grad-text:linear-gradient(90deg,#A040E0 0%,#EE4BE4 50%,#FF6F61 100%);
  --fs-h1:clamp(2.0rem,4vw + 0.5rem,3.6rem);
  --maxw:1240px; --gutter:clamp(20px,4vw,56px);
  --radius-lg:32px;
  --shadow-1:0 1px 2px rgba(14,11,26,0.04),0 8px 24px rgba(14,11,26,0.06);
  --shadow-2:0 4px 12px rgba(138,43,226,0.10),0 24px 56px rgba(14,11,26,0.10);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:"HelveticaNowDisplay","Helvetica Now Display","Helvetica Neue","Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:1.0625rem;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg,video{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-0.02em;line-height:1.05;}
p{margin:0 0 1em;}
sup{font-size:0.55em;vertical-align:super;line-height:0;letter-spacing:0;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.8125rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--violet-2);}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:0.6;}
.eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:0.6;}
.gradient-text{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:999px;font-weight:600;font-size:0.9375rem;letter-spacing:0.01em;border:none;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;white-space:nowrap;}
.btn--primary{background:linear-gradient(95deg,#A040E0 0%,#C855E8 40%,#80C8F8 100%);color:#fff;box-shadow:0 12px 30px rgba(140,60,220,0.28);z-index: 99;}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(140,60,220,0.38);}
.btn--dark{background:var(--ink);color:#fff;}
.btn--dark:hover{background:#000;transform:translateY(-2px);}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:18px 0;transition:background .35s ease,border-color .35s ease;border-bottom:1px solid transparent;}
.nav.is-scrolled{background:rgba(255,255,255,0.88);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);border-bottom-color:var(--line);}
.nav__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;}
.nav__brand{display:flex;align-items:center;}
.nav__links{display:flex;gap:40px;list-style:none;margin:0;padding:0;justify-content:center;}
.nav__links a{font-size:0.8125rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink);transition:color .2s ease;}
.nav__links a:hover{color:var(--violet-2);}
.nav__cta{display:flex;gap:10px;align-items:center;justify-content:flex-end;}
.nav__cta .btn{padding:12px 22px;font-size:0.875rem;}
.nav__burger{display:none;width:42px;height:42px;border-radius:999px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center;}
.nav__burger span{display:block;width:18px;height:2px;background:var(--ink);position:relative;}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);}
.nav__burger span::before{top:-6px;}.nav__burger span::after{top:6px;}
@media(max-width:940px){.nav__links{display:none;}.nav__burger{display:inline-flex;}}

.hero{position:relative;padding:130px 0 72px;background:#fff;overflow:hidden;}
.hero__eyebrow{display:block;font-size:0.8125rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);margin-bottom:28px;}
.hero__eyebrow::before{content:"";display:inline-block;width:28px;height:1px;background:var(--ink);vertical-align:middle;margin-right:12px;margin-bottom:4px;}
.hero__eyebrow::after{content:"";display:inline-block;width:28px;height:1px;background:var(--ink);vertical-align:middle;margin-left:12px;margin-bottom:4px;}
.hero__headline{font-size:var(--fs-h1);font-weight:700;letter-spacing:-0.03em;line-height:1.05;margin:0 0 32px;color:var(--ink);}
.hero__lede{font-size:1.125rem;color:var(--ink-soft);margin:0 0 36px;line-height:1.65;}
.hero__lede p:last-child{margin-bottom:0;}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:56px;}
.hero__trust{display:flex;align-items:center;gap:28px;flex-wrap:wrap;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:600;padding-top:28px;border-top:1px solid var(--line);}
.hero__trust img[alt="Grail"]{height:28px;}
.hero__trust img[alt="Galleri"]{height:40px;}
.hero__trust .divider{width:1px;height:30px;background:var(--line);}
.hero__trust-label{color:var(--ink);}
@media(max-width:720px){.hero{padding:110px 0 48px;}}

.stats{position:relative;padding:56px 0;background:#0E0B1A;color:#fff;overflow:hidden;}
.stats::before{content:"";position:absolute;inset:0;opacity:.18;background-image:url("assets/img/dots-white.png");background-size:220px;pointer-events:none;}
.stats__grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:40px;}
@media(max-width:1024px){.stats__grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.stats__grid{grid-template-columns:repeat(2,1fr);gap:32px;}}
.stat__num{display:inline;font-size:clamp(1.1rem,1.4vw,1.4rem);font-weight:700;letter-spacing:-0.01em;background:linear-gradient(90deg,#A040E0 0%,#EE4BE4 50%,#FF6F61 100%);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.3;}
.stat__label{font-size:0.9rem;color:rgba(255,255,255,0.72);line-height:1.6;}

section{position:relative;}
.section{padding:clamp(48px,6vw,80px) 0;}
.section__head{margin-bottom:56px;}
.section__head h2{font-size:var(--fs-h1);margin:14px 0 18px;letter-spacing:-0.03em;}
.section__head p{font-size:1.125rem;color:var(--ink-soft);margin-bottom:1em;}

.register{padding:clamp(64px,8vw,112px) 0;background:var(--bg-soft);position:relative;overflow:hidden;}
.register::before{content:"";position:absolute;right:-15%;top:-20%;width:60%;height:140%;background:radial-gradient(closest-side,rgba(238,75,228,0.18),transparent 70%);filter:blur(8px);pointer-events:none;}
.register__grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start;position:relative;}
@media(max-width:940px){.register__grid{grid-template-columns:1fr;}}
.register__copy h2{font-size:var(--fs-h1);margin:14px 0 18px;}


@media(min-width:641px){
	#mc_embed_signup{
		clear:left; 
		width: 600px;
	}
}

@media(max-width:640px){
	#mc_embed_signup{
		clear:left; 
		width: 90vw;
	}

	.mc-field-group input:not(.birthday), 
	.mc-field-group select {
		width: 100%;
	}

}

.form-card{background:#fff;border-radius:var(--radius-lg);padding:clamp(28px,4vw,44px);box-shadow:var(--shadow-2);border:1px solid var(--line);position:relative;overflow:hidden;}
.form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--grad-text);}
.form-card .form-sub{font-size:0.9375rem;color:var(--muted);margin-bottom:26px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}

.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:0.75rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:var(--muted);}
.field input {font:inherit;font-size:1rem;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#FAF8FF;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;color:var(--ink);}
.field input:focus{outline:none;background:#fff;border-color:rgba(160,64,224,0.5);box-shadow:0 0 0 4px rgba(160,64,224,0.12);}

.mc-field-group{display:flex;flex-direction:column;gap:6px;}
.mc-field-group label{font-size:0.75rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:var(--muted);}
.mc-field-group input, .mc-field-group select{font:inherit;font-size:1rem;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#FAF8FF;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;color:var(--ink);}
.mc-field-group select option{font:inherit;font-size:1rem;padding:14px 16px;}
.mc-field-group input:focus{outline:none;background:#fff;border-color:rgba(160,64,224,0.5);box-shadow:0 0 0 4px rgba(160,64,224,0.12);}


.form-card .legal{font-size:0.8125rem;color:var(--muted);margin:16px 0 0;}
.form-card .legal a{color:var(--violet-2);text-decoration:underline;}
.form-card button[type=submit], .form-card input[type=submit]{margin-top:18px;width:100%;padding:18px 28px;font-size:1rem;}
.form-success{display:none;padding:24px;border-radius:18px;background:linear-gradient(135deg,#ECFFF6 0%,#E0FFEC 100%);border:1px solid rgba(29,255,181,0.4);color:#054b2f;}
.form-success.show{display:block;}
@media(max-width:540px){.form-grid{grid-template-columns:1fr;}}

.about__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;}
@media(max-width:880px){.about__cards{grid-template-columns:1fr;}}
.card{position:relative;background:#fff;border-radius:var(--radius-lg);padding:32px 28px;box-shadow:var(--shadow-1);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease;}
.card::before{content:"";position:absolute;inset:0;border-radius:var(--radius-lg);padding:2px;background:var(--grad-text);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(160,64,224,0.18),0 32px 64px rgba(14,11,26,0.12);}
.card__icon{width:96px;height:96px;border-radius:22px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.card__icon img{width:80px;height:80px;object-fit:contain;}
.card h3{font-size:1.25rem;margin-bottom:10px;letter-spacing:-0.015em;}
.card p{color:var(--ink-soft);font-size:0.9875rem;margin:0;}
.card__tag{position:absolute;top:18px;right:18px;font-size:0.6875rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(160,64,224,0.10);color:var(--violet-2);}

.hiw{background:radial-gradient(50% 50% at 90% 10%,rgba(160,64,224,0.10),transparent 60%),radial-gradient(50% 50% at 10% 90%,rgba(238,75,228,0.10),transparent 60%),#FAF8FF;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cancers{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:880px){.cancers{grid-template-columns:repeat(2,1fr);}}
.chip{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:0.9375rem;font-weight:500;display:flex;align-items:center;gap:10px;transition:border-color .2s ease,transform .2s ease;}
.chip:hover{border-color:rgba(160,64,224,0.35);transform:translateY(-2px);}
.chip__dot{width:8px;height:8px;border-radius:50%;background:var(--grad-violet);}
.chip--more{background:var(--grad-violet);color:#fff;border:0;font-weight:600;}

.timeline{display:grid;grid-template-columns:1fr;gap:18px;margin-top:40px;}
.step{display:grid;grid-template-columns:96px 1fr auto;gap:28px;align-items:flex-start;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform .35s ease,box-shadow .35s ease;}
.step:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);}
.step__num{width:84px;height:84px;border-radius:24px;background:var(--grad-violet);color:#fff;font-weight:700;font-size:1.75rem;letter-spacing:-0.02em;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 16px 30px rgba(160,64,224,0.25);}
.step:nth-child(2) .step__num{background:linear-gradient(135deg,#EE4BE4,#A040E0);}
.step:nth-child(3) .step__num{background:linear-gradient(135deg,#FF8EE8,#EE4BE4);}
.step:nth-child(4) .step__num{background:linear-gradient(135deg,#FF6F61,#FF8EE8);}
.step:nth-child(5) .step__num{background:linear-gradient(135deg,#FBCD91,#FF6F61);}
.step h3{font-size:1.25rem;margin-bottom:8px;letter-spacing:-0.015em;}
.step p{color:var(--ink-soft);font-size:0.9875rem;margin:0 0 10px;}
.step p:last-child{margin-bottom:0;}
.step__note{font-size:0.875rem;color:var(--muted);font-style:italic;}
.step__meta{font-size:0.8125rem;color:var(--muted);background:var(--bg-soft);border:1px solid var(--line);padding:8px 14px;border-radius:999px;white-space:nowrap;align-self:flex-start;}
@media(max-width:720px){.step{grid-template-columns:64px 1fr;}.step__num{width:64px;height:64px;border-radius:18px;font-size:1.25rem;}.step__meta{grid-column:2;}}

.faq{background:#fff;}
.faq__grid{display:grid;grid-template-columns:0.7fr 1.3fr;gap:clamp(28px,5vw,72px);}
@media(max-width:880px){.faq__grid{grid-template-columns:1fr;}}
.faq__list{display:grid;gap:12px;}
details.qa{background:var(--bg-soft);border:1px solid var(--line);border-radius:18px;padding:20px 24px;transition:background .2s ease,border-color .2s ease;}
details.qa[open]{background:#fff;border-color:rgba(160,64,224,0.35);box-shadow:var(--shadow-1);}
details.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:600;font-size:1.0625rem;letter-spacing:-0.01em;}
details.qa summary::-webkit-details-marker{display:none;}
details.qa summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--grad-violet);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:400;font-size:1.25rem;line-height:1;transition:transform .25s ease;}
details.qa[open] summary::after{content:"–";transform:rotate(180deg);}
details.qa p{margin-top:12px;color:var(--ink-soft);}

.cta-pro{border-radius:var(--radius-lg);padding:clamp(36px,5vw,64px);background:radial-gradient(60% 80% at 100% 0%,rgba(238,75,228,0.4),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(106,90,224,0.5),transparent 60%),linear-gradient(135deg,#1a1530 0%,#2a1f4f 100%);color:#fff;display:grid;grid-template-columns:1.4fr 0.6fr;gap:32px;align-items:center;position:relative;overflow:hidden;}
.cta-pro::before{content:"";position:absolute;inset:0;opacity:.12;background-image:url("assets/img/dots-white.png");background-size:200px;}
.cta-pro h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-0.02em;margin-bottom:12px;}
.cta-pro p{color:rgba(255,255,255,0.78);margin:0;font-size:1.0625rem;}
.cta-pro__action{display:flex;justify-content:flex-end;}
@media(max-width:880px){.cta-pro{grid-template-columns:1fr;}.cta-pro__action{justify-content:flex-start;}}

.press{padding:64px 0;background:#fff;border-top:1px solid var(--line);}
.press__head{font-size:0.8125rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.press__list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:880px){.press__list{grid-template-columns:1fr;}}
.press__item{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:18px;border:1px solid var(--line);transition:border-color .25s ease,transform .25s ease;}
.press__item:hover{border-color:rgba(160,64,224,0.35);transform:translateY(-2px);}
.press__logo{display:block;margin-bottom:10px;height:28px;}
.press__logo img{height:28px;width:auto;object-fit:contain;max-width:140px;}
.press__title{font-weight:600;font-size:0.9875rem;margin-top:4px;color:var(--ink);}
.press__arrow{margin-left:auto;color:var(--violet-2);font-size:1.25rem;}

.footer{background:#0E0B1A;color:rgba(255,255,255,0.75);padding:80px 0 40px;position:relative;overflow:hidden;}
.footer::before{content:"";position:absolute;inset:0;opacity:.10;background-image:url("assets/img/dots-white.png");background-size:240px;pointer-events:none;}
.footer__grid{position:relative;display:grid;grid-template-columns:40% 30% 30%;gap:40px;margin-bottom:56px;align-items:start;}
@media(max-width:880px){.footer__grid{grid-template-columns:1fr;}}
.footer__tag{font-size:1.1rem;max-width:38ch;color:#fff;font-weight:700;letter-spacing:-0.01em;font-style:normal;margin-bottom:12px;}
.footer__col h4{font-size:0.8125rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--violet-2);font-weight:600;margin-bottom:18px;}
.footer__col a,.footer__col p{display:block;color:rgba(255,255,255,0.85);font-size:0.9375rem;margin-bottom:10px;transition:color .2s ease;}
.footer__col a:hover{color:#FF8EE8;}
.footer__bottom{position:relative;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,0.10);font-size:0.8125rem;color:rgba(255,255,255,0.55);}
.footer__bottom a{color:rgba(255,255,255,0.7);}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.sheet{position:fixed;inset:0;z-index:200;background:rgba(14,11,26,0.5);backdrop-filter:blur(8px);display:none;}
.sheet.open{display:block;}
.sheet__panel{position:absolute;right:0;top:0;bottom:0;width:min(360px,86vw);background:#fff;padding:32px;display:flex;flex-direction:column;gap:18px;}
.sheet__panel a{font-size:1.125rem;font-weight:600;padding:14px 0;border-bottom:1px solid var(--line);}
.sheet__panel a:last-of-type{border-bottom:0;}
.sheet__close{align-self:flex-end;width:42px;height:42px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
