@font-face{font-family:Montserrat;src:url('/assets/montserrat-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-800.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/inter-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{color-scheme:dark;--gold:#ffc326;--text:#eeeaf5;--muted:#d1cddd;--purple:#d653ef}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#030204}
body{margin:0;color:var(--text);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.22;background:repeating-linear-gradient(135deg,transparent 0 105px,rgba(60,4,84,.09) 105px 153px,rgba(31,3,42,.09) 153px 190px,transparent 190px 314px);position:relative;isolation:isolate}
body::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 8%,#000 0,transparent 26%),radial-gradient(ellipse at 50% 47%,#000 0,transparent 28%)}
main{max-width:838px;margin:0 auto;padding-bottom:20px}
h1,h2,h3,p,ul{margin:0}
h1,h2,h3{font-family:Inter,Arial,sans-serif;color:#fafafa;font-weight:700}
h1 span,h2 span,h3 span{color:var(--gold)}
h2{font-size:26px;line-height:1.22;text-align:center}
h3{font-size:18px;line-height:1.13}
p{color:var(--muted)}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.stars{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.star{position:absolute;width:3px;height:3px;border-radius:50%;background:#ef80ff;box-shadow:0 0 4px 1px #bd25ff,0 0 10px 3px #8e00d5,0 0 22px 6px #60009b;transform:rotate(-35deg)}
.star:nth-child(3n){width:2px;height:2px;box-shadow:0 0 4px #de35ff,0 0 13px 4px #790094}
.hero{text-align:center;padding-top:12px}
.brand{height:104px;display:flex;align-items:center;justify-content:center}
.brand img{width:128px;height:115px;object-fit:contain;filter:drop-shadow(0 0 7px #8f00ce)}
.eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:31px;border:1px solid #a66bc0;border-radius:30px;padding:6px 21px;color:white;font-size:10px;font-weight:700;letter-spacing:1.25px;box-shadow:inset 0 0 2px #b780d7}
h1{font-size:39.5px;line-height:.972;letter-spacing:-.6px;margin:10px auto 5px}
.hero-description{font-size:15px;line-height:20px}
.cta{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;min-height:46px;padding:11px 36px;margin:12px auto 0;border:1.5px solid #ffb7fa;border-radius:999px;background:linear-gradient(105deg,#fa11b9 0%,#db00ed 44%,#8500ff 100%);box-shadow:0 0 6px #f553ee,inset 0 0 9px #ffffff42,0 0 25px #bd00ec80;color:white;text-decoration:none;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.4px;cursor:pointer;line-height:1.25;text-align:center}
.cta:hover{filter:brightness(1.1)}
.cta:disabled{cursor:wait;opacity:.75}
.hero-reassurance{margin:14px 15px 7px;line-height:17px}
.hero-reassurance p:first-child{font-weight:600;color:#fafafa;font-size:14px;margin-bottom:4px}
.hero-reassurance p:last-child{font-size:13px}
.wide-photo{display:block;width:calc(100% - 48px);height:auto;margin-left:auto;margin-right:auto;border:1px solid var(--purple);border-radius:16px;object-fit:cover}
.hero-photo{box-shadow:0 0 17px #8200af40}
.section-intro{margin:20px 24px 11px;text-align:center}
.section-intro h2{margin-bottom:6px}
.section-intro p{font-size:13px;line-height:19px}
.section-intro .emphasis{color:#f6f5f6;font-weight:600;margin-top:5px;line-height:17px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 37px}
.card{position:relative;background:linear-gradient(120deg,rgba(14,8,19,.91),rgba(8,5,12,.94));border:1px solid var(--purple);border-radius:13px;padding:10px 17px 8px;min-width:0}
.icon{height:43px;width:47px;display:flex;align-items:center;justify-content:center;border:1px solid #d658ff;border-radius:9px;background:linear-gradient(140deg,#35103e70,#07050f 70%,#4a13654a);box-shadow:inset 0 0 8px #9618de40,0 0 6px #8800bb20;margin-bottom:6px}
.icon svg{width:28px;height:28px;fill:none;stroke:#f4ddff;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px #dc80ff60)}
.number{font-family:Arial,sans-serif;position:absolute;right:16px;top:3px;font-size:47px;line-height:1.1;font-weight:400;letter-spacing:0;color:transparent;-webkit-text-stroke:1px #ffd122}
.card h3{margin-bottom:4px}
.card p{font-size:14px;line-height:16.5px}
.card p+p{margin-top:6px}
.service-grid>.card:nth-child(-n+4){min-height:210px}
.service-grid>.card:nth-child(n+5):not(.reporting){min-height:198px}
.reporting{grid-column:1/-1;min-height:215px;padding:12px 17px;display:flex;gap:22px}
.reporting .icon{flex-shrink:0}
.reporting .number{font-size:43px;top:5px}
.reporting-copy{padding-right:27px}
.reporting h3{font-size:16px;margin-bottom:4px}
.reporting p,.reporting li{font-size:12px;line-height:15px}
.reporting p:first-of-type{max-width:570px}
.reporting p+p{margin-top:3px}
.reporting ul{list-style:none;padding:2px 0 0}
.reporting li::before,.team li::before{content:'•';color:var(--gold);font-weight:800;margin-right:9px}
.reporting img{position:absolute;right:12px;bottom:8px;width:57.5%;height:auto;border:1px solid #765192;border-radius:11px}
.process{padding-top:22px;text-align:center}
.process>h2{font-size:33px;margin-bottom:17px}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:0 5.05%;text-align:left}
.process .card{min-height:clamp(210px,26.4vw,221px);padding:13px 20px}
.process .icon{height:46px;width:48px;margin-bottom:9px}
.process .number{font-size:50px;top:7px;right:18px}
.process h3{font-size:18px;line-height:1.23;margin-bottom:8px}
.process .card p{font-size:15px;line-height:20px}
.process .cta{margin-top:22px;min-height:55px;padding-left:51px;padding-right:51px;font-size:15px}
.process-reassurance{margin:14px 0 20px;font-size:14px}
.plans-photo{border-radius:11px}
.team{position:relative;min-height:290px;margin-top:13px;display:flex;align-items:center;isolation:isolate;border-bottom:1px solid #67217b}
.team::after{content:'';position:absolute;bottom:-1px;left:36%;width:28%;height:1px;background:#e595fa;box-shadow:0 0 6px 2px #b636d9}
.team-photo{position:absolute;right:0;top:0;bottom:0;width:49%;z-index:-1;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:right center}
.team-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#050308 0%,transparent 27%),linear-gradient(0deg,#05030835,transparent 20%)}
.team-copy{padding:15px 32px 24px;width:100%}
.team h2{text-align:left;font-size:22px;line-height:1.25;margin-bottom:9px;letter-spacing:-.5px}
.team h2 span{font-size:28px}
.team p{font-size:14px;line-height:22px;color:#f2eef4}
.team p+p{margin-top:10px}
.team ul{max-width:410px;display:flex;flex-wrap:wrap;gap:8px 13px;padding:11px 0 16px;list-style:none;font-size:14px;font-weight:600}
.team li::before{margin-right:8px}
.diagnostic{padding-top:15px;scroll-margin-top:16px}
.diagnostic h2{font-size:29px;line-height:1.15;letter-spacing:-.4px}
.diagnostic-intro{text-align:center;font-size:15px;line-height:20px;margin:7px 18px 14px;color:#f1eef3}
form{margin:0 5.05%;border:1px solid var(--purple);border-radius:16px;padding:20px 24px 17px;background:linear-gradient(120deg,#100a1594,#08050cee)}
.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label,legend{font-size:13px;font-weight:600;color:#f7f4f8}
.required{color:#ff644d}
.full-width{grid-column:1/-1}
input:not([type=radio]):not([type=checkbox]),textarea{width:100%;min-width:0;min-height:33px;border:1px solid #674681;border-radius:8px;background:#14111eab;color:white;padding:8px 14px;font-family:inherit;font-size:12px;line-height:1.3}
input::placeholder,textarea::placeholder{color:#bcb5cf;opacity:1}
textarea{resize:vertical;min-height:70px;max-height:400px}
fieldset{padding:0;border:0;min-width:0;margin:15px 0 0}
legend{padding:0;margin-bottom:8px}
.radio-options{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.radio-options label{display:flex;gap:10px;align-items:center;min-height:52px;padding:8px 9px;border:1px solid #674681;border-radius:9px;background:#15101c70;font-size:11px;font-weight:500;cursor:pointer}
input[type=radio],input[type=checkbox]{appearance:none;flex:0 0 auto;margin:0;width:20px;height:20px;border:1px solid #e877f4;background:#09060e;cursor:pointer;display:grid;place-content:center}
input[type=radio]{border-radius:50%}
input[type=radio]::before{content:'';width:10px;height:10px;border-radius:50%;background:#e977fa;transform:scale(0)}
input[type=radio]:checked::before{transform:scale(1)}
.radio-options label:has(:checked){border-color:#e977fa;background:#43145066}
.checkbox-options{display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;grid-template-columns:1fr 1fr;gap:5px 21px}
.checkbox-options label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:13px;line-height:20px}
input[type=checkbox]{border-radius:3px}
input[type=checkbox]:checked{background:#ad22ca}
input[type=checkbox]:checked::before{content:'';width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}
.needs{margin-bottom:18px}
form>.cta{min-height:54px;font-size:15px;margin-top:18px;padding-left:58px;padding-right:58px}
.form-reassurance{text-align:center;font-size:14px;line-height:18px;margin-top:11px}
:focus-visible{outline:2px solid #f4b5ff;outline-offset:4px}
#diagnostic-title:focus{outline:none}
[aria-invalid=true]{border-color:#ff8d9c!important}
.field-error{font-size:11px;color:#ff9aa9;line-height:1.3}
.field-error:empty{display:none}
#form-status{margin-top:14px;text-align:center;font-size:13px;line-height:1.5;color:#ffb6c0}
#form-status.success{color:#b6f4c9}
@media(min-width:839px){body{background-size:838px auto}}
@media(max-width:700px){
  main{padding-bottom:20px}
  .hero{padding-top:13px}
  .eyebrow{max-width:calc(100% - 36px);font-size:8px;padding:7px 12px;letter-spacing:.9px;line-height:1.5}
  h1{font-size:clamp(27px,5.3vw,37px);line-height:1.1;letter-spacing:-.7px;margin:17px 18px 13px}
  h1 br{display:none}
  .desktop-break{display:none}
  .hero-description{font-size:14px;line-height:21px;margin:0 23px}
  .cta{font-size:12px;min-height:50px;max-width:calc(100% - 40px);padding:12px 20px;line-height:1.5;gap:6px}
  .hero>.cta{margin-top:20px}
  .hero-reassurance{margin:18px 25px 20px;line-height:19px}
  .hero-reassurance p:first-child{font-size:13px;line-height:19px;margin-bottom:7px}
  .hero-reassurance p:last-child{font-size:12px;line-height:18px}
  .wide-photo{width:calc(100% - 32px);border-radius:12px}
  .hero-photo{min-height:180px;object-position:50% 50%;object-fit:cover}
  .section-intro{margin:27px 20px 18px}
  h2{font-size:23px;line-height:1.2}
  .section-intro h2 br{display:none}
  .section-intro p{font-size:13px;line-height:19px;margin-top:11px}
  .section-intro .emphasis{line-height:19px;margin-top:10px}
  .service-grid,.process-grid{grid-template-columns:1fr;margin:0 20px;gap:12px}
  .card{padding:15px 18px 17px}
  .service-grid>.card:nth-child(n){min-height:0}
  .icon{width:46px;height:44px;margin-bottom:10px}
  .number{top:8px;font-size:47px}
  h3{font-size:18px;line-height:1.2}
  .card p{font-size:14px;line-height:20px}
  .card p+p{margin-top:8px}
  .reporting{display:grid;grid-template-columns:47px 1fr;gap:10px 15px}
  .reporting-copy{display:contents}
  .reporting h3{grid-column:2;margin:7px 43px 0 0;align-self:start;line-height:1.3}
  .reporting p,.reporting ul{grid-column:1/-1}
  .reporting p,.reporting li{font-size:13px;line-height:19px}
  .reporting p+p{margin-top:0}
  .reporting ul{padding:0}
  .reporting img{position:static;grid-column:1/-1;width:100%;margin-top:2px}
  .process{padding-top:31px}
  .process>h2{font-size:27px;margin:0 15px 21px}
  .process .card{min-height:0;padding:16px 18px 20px}
  .process h3{font-size:18px}
  .process .card p{font-size:14px;line-height:21px}
  .process .cta{font-size:12px;padding:12px 18px;margin-top:23px;min-height:52px}
  .process-reassurance{font-size:12px;margin:14px 16px 22px}
  .plans-photo{min-height:150px;object-fit:cover;object-position:60% center}
  .team{margin:23px 0 0;display:flex;flex-direction:column;align-items:stretch}
  .team-copy{padding:0 22px 15px;order:0}
  .team h2{font-size:20px;letter-spacing:-.4px}
  .team h2 br{display:none}
  .team h2 span{display:block;font-size:27px;margin-top:2px}
  .team p{font-size:13px;line-height:20px}
  .team ul{font-size:13px;gap:9px 12px;padding:13px 0}
  .team-photo{position:relative;order:1;width:100%;height:245px;z-index:0}
  .team-photo img{object-fit:contain;object-position:right;background:#040306}
  .team-photo::after{background:linear-gradient(90deg,#040306 0%,transparent 27%)}
  .diagnostic{padding-top:24px}
  .diagnostic h2{font-size:24px;line-height:1.2;margin:0 18px;letter-spacing:-.5px}
  .diagnostic h2 br{display:none}
  .diagnostic-intro{font-size:13px;line-height:20px;margin:11px 23px 18px}
  form{margin:0 16px;padding:20px 16px;border-radius:14px}
  .fields-grid{grid-template-columns:1fr;gap:15px}
  .field label,legend{font-size:12px;line-height:18px}
  input:not([type=radio]):not([type=checkbox]),textarea{font-size:16px;min-height:44px;padding:11px 12px}
  input::placeholder,textarea::placeholder{font-size:13px}
  fieldset{margin-top:20px}
  .radio-options{grid-template-columns:repeat(2,1fr);gap:8px}
  .radio-options label{font-size:12px;min-height:52px;padding:9px 11px}
  .radio-options label:last-child{grid-column:1/-1}
  .radio-options br{display:none}
  .radio-options span{white-space:pre-line}
  .checkbox-options{display:flex;flex-direction:column;gap:4px}
  .checkbox-options label{min-height:36px;font-size:12px;gap:11px}
  input[type=checkbox],input[type=radio]{width:21px;height:21px}
  .needs{margin-bottom:18px}
  textarea{min-height:100px}
  form>.cta{max-width:100%;width:100%;font-size:11px;min-height:54px;padding:12px 13px;letter-spacing:.2px}
  .form-reassurance{font-size:12px;line-height:18px;margin-top:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
