: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; --error:#B3261E;
  --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;}

.section.anchor {
  scroll-margin-top: 104px; 
}
.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);}
.Xeyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:0.6;}
.Xeyebrow::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__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);}

/* --- Inline validation messages for the registration form ---------------
   Rendered by the small script at the foot of index.html, which reads the
   browser's own Constraint Validation API. The native tooltip is inconsistent
   across browsers and is suppressed when the browser scrolls to the field, so
   the message is drawn as real markup instead.

   Delete this block and that script together. */
.mc-field-group input.is-invalid,
.mc-field-group select.is-invalid{border-color:var(--error);background:#FFF7F6;}
.mc-field-group input.is-invalid:focus{border-color:var(--error);box-shadow:0 0 0 4px rgba(179,38,30,0.12);}
.field-error{font-size:0.8125rem;font-weight:600;color:var(--error);line-height:1.4;scroll-margin-top:120px;}

/* --- Fixed-nav clearance -------------------------------------------------
   The nav is fixed and 105px tall. Without this, anything the browser or an
   anchor link scrolls into view lands underneath it — including the field the
   browser focuses when validation fails, which is why no error was visible. */
.register{scroll-margin-top:104px;}
.mc-field-group input,
.mc-field-group select,
.mc-field-group .datefield{scroll-margin-top:130px;}


.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 !important;min-width:8px !important;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;}

@media(max-width:880px) {
	.safety-info {grid-template-columns:1fr !important;}
	.hero__eyebrow, .eyebrow {
		text-align: center;
	}
	
	.eyebrow-container {
		justify-content: center;
	}	
	
	.section {
			padding: clamp(120px, 6vw, 140px) 0;
	}	
}

.eyebrow-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}


.eyebrow-left::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 1px;
    vertical-align: middle;
    margin-right: 12px;
    margin-bottom: 4px;
}

.eyebrow-right::after {
    content: "";
    display: inline-block;
    width: 28px;
    height: 1px;
    vertical-align: middle;
    margin-left: 12px;
    margin-bottom: 4px;
}

.eyebrow-left.ink::before, 
.eyebrow-right.ink::after {
	background: var(--ink);
}

.eyebrow-left.violet::before, 
.eyebrow-right.violet::after {
	background: var(--violet-2);
}

.eyebrow-left.brightviolet::before, 
.eyebrow-right.brightviolet::after {
	background: #FF8EE8;
}


/* --- Cookie consent banner -------------------------------------------------
   Styles the self-hosted CookieConsent library (css/cookieconsent.css,
   vanilla-cookieconsent v3, MIT). The library declares its own variables on
   #cc-main, so overriding the same selector here is enough — this stylesheet
   loads after it.

   Accept and Reject are deliberately given equal visual weight: the ICO's
   guidance is that refusing consent must be as easy as giving it. */
#cc-main{
  --cc-font-family:inherit;
  --cc-bg:#fff;
  --cc-primary-color:var(--ink);
  --cc-secondary-color:var(--muted);
  --cc-link-color:var(--violet-2);
  --cc-separator-border-color:var(--line);
  --cc-modal-border-radius:var(--radius-lg);
  /* This variable drives the content blocks as well as the buttons, so it
     stays modest here and the buttons are rounded to a pill separately below.
     At 999px the blocks become stadium-shaped and their rounded corners clip
     the description text. */
  --cc-btn-border-radius:14px;

  /* Accept all */
  --cc-btn-primary-bg:var(--violet-2);
  --cc-btn-primary-color:#fff;
  --cc-btn-primary-border-color:var(--violet-2);
  --cc-btn-primary-hover-bg:#8A2FC7;
  --cc-btn-primary-hover-color:#fff;
  --cc-btn-primary-hover-border-color:#8A2FC7;

  /* Reject all — same size and weight, outlined rather than filled */
  --cc-btn-secondary-bg:#fff;
  --cc-btn-secondary-color:var(--ink);
  --cc-btn-secondary-border-color:rgba(14,11,26,0.30);
  --cc-btn-secondary-hover-bg:var(--bg-soft);
  --cc-btn-secondary-hover-color:var(--ink);
  --cc-btn-secondary-hover-border-color:var(--ink);

  --cc-toggle-on-bg:var(--violet-2);
  --cc-cookie-category-block-bg:var(--bg-soft);
  --cc-cookie-category-block-border:var(--line);
  /* Keep the expanded state visually identical so toggling has no effect
     (see the flattened accordion note below). */
  --cc-cookie-category-expanded-block-bg:var(--bg-soft);
  --cc-cookie-category-expanded-block-hover-bg:var(--bg-soft);
}

/* Buttons keep the brand's pill shape; content blocks do not. */
#cc-main .cm__btn,
#cc-main .pm__btn{border-radius:999px;}

/* Flatten the preferences accordion. Each category shows its heading, its
   description and its toggle together, with no expand/collapse step. The
   library still toggles an `is-expanded` class on click, but every property
   that class changes is pinned here, so it has no visible effect. */
#cc-main .pm__section--expandable .pm__section-arrow{display:none;}
#cc-main .pm__section--expandable .pm__section-title{padding-left:1em;cursor:default;}
#cc-main .pm__section--expandable .pm__section-title:hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border);}
#cc-main .pm__section--toggle .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0;}
#cc-main .pm__section--toggle .pm__section-desc-wrapper{display:flex;}

/* Reserve the consent bar's height at the foot of the page while it is on
   screen, so the bar can never sit on top of content the visitor needs. The
   height is measured by js/consent-config.js and set as --consent-bar-height;
   the class is toggled by the same script. */
html.has-consent-bar body{padding-bottom:var(--consent-bar-height, 0px);}

/* On mobile the consent library zeroes the bar's outer padding, and the 16px
   under the last button isn't enough once the browser's own bottom bar and a
   device's home-indicator area are accounted for — the button ends up flush
   with, or under, the bottom of the viewport. Add breathing room, plus the
   device's safe-area inset where one exists. */
@media screen and (max-width:640px){
  #cc-main .cm--bar .cm__btns{
    padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));
  }
}
