@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500.woff2) format("woff2")}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
picture{display:block}
.ct-legal{max-width:720px;margin:0 auto;padding:clamp(64px,8vw,112px) 24px;font-size:17px;line-height:1.65}
.ct-legal h1{font-weight:400;font-size:clamp(40px,5vw,64px);letter-spacing:-.04em;line-height:1.05;margin:0 0 32px}
.ct-btn-full{display:flex;width:100%}
body{margin:0}
a{color:#15275C}a:hover{color:#C2500A}
.ct-page{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#15275C;background-color:#FFF9F6;background-image:linear-gradient(to right,rgba(21,39,92,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(21,39,92,.045) 1px,transparent 1px);background-size:72px 72px;-webkit-font-smoothing:antialiased}
.ct-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.ct-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;background:#FE7D1F;color:#15275C;font-size:16px;font-weight:500;text-decoration:none;transition:background-color .15s ease}
.ct-btn:hover{background:#FF9340;color:#15275C}
.ct-btn-lg{min-height:56px;padding:0 36px;font-size:17px}
.ct-btn-navy{background:#15275C;color:#FFF9F6}
.ct-btn-navy:hover{background:#22398A;color:#FFF9F6}
.ct-link{font-size:16px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ct-nav a{text-decoration:none;font-size:16px}
.ct-nav-links{display:flex;gap:36px;align-items:center}
.ct-h1{margin:0;font-weight:400;font-size:clamp(44px,7.2vw,100px);line-height:1.02;letter-spacing:-.05em}
.ct-h2{margin:0;font-weight:400;font-size:clamp(34px,4.4vw,60px);line-height:1.04;letter-spacing:-.035em}
.ct-or{color:#DB5A05;display:block}
.ct-sub{margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:#55607A}
.ct-sec{padding:clamp(72px,9vw,132px) 0}
.ct-card{background:#FFFFFF;border-radius:clamp(28px,3.4vw,48px);padding:clamp(8px,1vw,14px);box-shadow:0 1px 2px rgba(21,39,92,.05),0 18px 44px -24px rgba(21,39,92,.22)}
.ct-inner{border-radius:clamp(20px,2.5vw,36px);background-color:#F3F4F8;background-image:linear-gradient(to right,rgba(21,39,92,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(21,39,92,.04) 1px,transparent 1px);background-size:36px 36px;height:100%;box-sizing:border-box}
.ct-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ct-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ct-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-shot{display:block;width:100%;height:auto;border-radius:14px;border:1px solid rgba(21,39,92,.1)}
.ct-faq details{border-bottom:1px solid rgba(21,39,92,.14)}
.ct-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:clamp(18px,1.6vw,21px);font-weight:500}
.ct-faq summary::-webkit-details-marker{display:none}
.ct-faq summary svg{flex:none;transition:transform .2s ease}
.ct-faq details[open] summary svg{transform:rotate(180deg)}
.ct-faq p{margin:0;padding:0 48px 28px 0;font-size:17px;line-height:1.6;color:#55607A;max-width:68ch}
.ct-foot a{color:#15275C;text-decoration:none;font-size:16px}
.ct-foot a:hover{text-decoration:underline;color:#15275C}
.ct-foot a.ct-btn-navy,.ct-foot a.ct-btn-navy:hover{color:#FFF9F6;text-decoration:none}
.ct-page a:focus-visible,.ct-page summary:focus-visible{outline:3px solid #2F56D9;outline-offset:3px;border-radius:8px}
.ct-feat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:center}
.ct-flip{grid-template-columns:minmax(0,8fr) minmax(0,5fr)}
.ct-flip>.ct-feat-text{order:2}
.ct-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;background:#E4EAFB;font-size:14px;font-weight:500;color:#15275C}
.ct-field{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:500}
.ct-field input,.ct-field select,.ct-field textarea{font:inherit;font-weight:400;font-size:17px;color:#15275C;background:#FFFFFF;border:1px solid rgba(21,39,92,.28);border-radius:16px;padding:0 18px;min-height:56px;box-sizing:border-box;width:100%}
.ct-field textarea{padding:16px 18px;min-height:160px;resize:vertical}
.ct-field input:focus-visible,.ct-field select:focus-visible,.ct-field textarea:focus-visible,.ct-page button:focus-visible{outline:3px solid #2F56D9;outline-offset:2px}
.ct-page button.ct-btn{border:0;cursor:pointer;font-family:inherit}
.ct-table{width:100%;border-collapse:collapse;min-width:680px;font-size:16px}
.ct-table th,.ct-table td{text-align:left;padding:18px 16px;border-bottom:1px solid rgba(21,39,92,.12);font-weight:400}
.ct-table thead th{font-weight:500;font-size:17px}
.ct-table tbody th{color:#55607A}
.ct-table .ct-hl{background:#E4EAFB}
.ct-tog{display:inline-flex;padding:4px;border-radius:999px;background:#ECEEF4;gap:4px}
.ct-tog button{font:inherit;font-size:16px;min-height:44px;padding:0 22px;border-radius:999px;border:0;background:transparent;color:#55607A;cursor:pointer}
.ct-tog button[aria-pressed="true"]{background:#FFFFFF;color:#15275C;font-weight:500;box-shadow:0 1px 3px rgba(21,39,92,.18)}
.ct-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:16px}
.ct-list li{display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.ct-list svg{flex:none;margin-top:2px}
@media (max-width:900px){.ct-feat,.ct-flip{grid-template-columns:minmax(0,1fr)}.ct-flip>.ct-feat-text{order:0}}
.ct-menu{display:none;position:relative}
.ct-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;color:#15275C}
.ct-menu summary::-webkit-details-marker{display:none}
.ct-nav .ct-menu-panel{position:absolute;right:-12px;top:58px;min-width:230px;background:#FFFFFF;border-radius:24px;padding:10px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(21,39,92,.06),0 18px 40px -16px rgba(21,39,92,.35)}
.ct-nav .ct-menu-panel a{padding:14px 16px;font-size:18px;border-radius:14px}
.ct-nav .ct-menu-panel a:hover{background:#F3F4F8}
@media (max-width:900px){.ct-menu{display:block}}
@media (max-width:600px){.ct-g4.ct-plans{grid-template-columns:minmax(0,1fr)}}
.ct-h1,.ct-h2{text-wrap:balance}
@media (max-width:520px){.ct-header{padding:12px 12px 0 !important}.ct-nav{padding:8px 8px 8px 18px !important;gap:12px !important}.ct-nav img{height:28px !important}.ct-nav-right{gap:8px !important}.ct-nav .ct-btn{min-height:44px;padding:0 14px;font-size:14px}}
@keyframes ct-rise{from{opacity:0;filter:blur(10px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}
.ct-in{animation:ct-rise .9s cubic-bezier(.2,.7,.2,1) both}
.ct-in2{animation:ct-rise .9s .14s cubic-bezier(.2,.7,.2,1) both}
.ct-in3{animation:ct-rise .9s .3s cubic-bezier(.2,.7,.2,1) both}
@media (prefers-reduced-motion:reduce){.ct-in,.ct-in2,.ct-in3{animation:none}.ct-faq summary svg,.ct-btn{transition:none}}
@media (max-width:900px){.ct-g2,.ct-g3{grid-template-columns:minmax(0,1fr)}.ct-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.ct-nav-links{display:none}.ct-faq p{padding-right:0}}
@media (max-width:520px){.ct-signin{display:none}}

/* HubSpot forms */
.ct-hubspot{min-height:120px}

/* Layout: fields stacked, 20px apart; first and last name side by side */
.ct-hubspot .hs-form { display: flex; flex-direction: column; gap: 20px; }
.ct-hubspot .hs-form fieldset { max-width: none; border: 0; margin: 0; padding: 0; display: flex; gap: 20px; }
.ct-hubspot .hs-form fieldset .hs-form-field { flex: 1 1 0; min-width: 0; width: auto; float: none; }
.ct-hubspot .hs-form .input { margin: 0; }

/* Labels */
.ct-hubspot .hs-form-field > label { display: block; margin: 0 0 8px; font-size: 15px; font-weight: 500; color: #15275C; }
.ct-hubspot .hs-form-required { color: #DB5A05; margin-left: 2px; }
.ct-hubspot .hs-field-desc { font-size: 14px; color: #55607A; margin: 0 0 8px; }

/* Inputs */
.ct-hubspot .hs-input:not([type="checkbox"]):not([type="radio"]) {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 56px;
  padding: 0 18px;
  font: inherit;
  font-size: 17px;
  color: #15275C;
  background: #FFFFFF;
  border: 1px solid rgba(21, 39, 92, .28);
  border-radius: 16px;
}
.ct-hubspot textarea.hs-input { padding: 16px 18px; min-height: 160px; resize: vertical; }
.ct-hubspot .hs-input:focus-visible { outline: 3px solid #2F56D9; outline-offset: 2px; }
.ct-hubspot .hs-input.invalid, .ct-hubspot .hs-input.error { border-color: #B42318; }

/* Error messages */
.ct-hubspot .hs-error-msgs { list-style: none; margin: 8px 0 0; padding: 0; }
.ct-hubspot .hs-error-msg, .ct-hubspot .hs-error-msgs label { font-size: 14px; font-weight: 400; color: #B42318; }

/* Consent text and checkboxes */
.ct-hubspot .legal-consent-container, .ct-hubspot .hs-richtext { font-size: 14px; line-height: 1.5; color: #55607A; }
.ct-hubspot .legal-consent-container a, .ct-hubspot .hs-richtext a { color: #15275C; }
.ct-hubspot .inputs-list { list-style: none; margin: 0; padding: 0; }
.ct-hubspot .hs-form-booleancheckbox-display { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; font-weight: 400; }
.ct-hubspot input[type="checkbox"].hs-input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #15275C; }

/* Button: orange pill with navy text */
.ct-hubspot .hs-submit .actions { margin: 0; padding: 0; }
.ct-hubspot .hs-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 36px;
  border: 0;
  border-radius: 999px;
  background: #FE7D1F;
  color: #15275C;
  font: inherit;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .15s ease;
}
.ct-hubspot .hs-button:hover { background: #FF9340; }
.ct-hubspot .hs-button:focus-visible { outline: 3px solid #2F56D9; outline-offset: 3px; }

/* Confirmation after sending */
.ct-hubspot .submitted-message { font-size: clamp(26px, 3vw, 40px); line-height: 1.1; letter-spacing: -.03em; color: #15275C; }

@media (max-width: 600px) {
  .ct-hubspot .hs-form fieldset { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .ct-hubspot .hs-button { transition: none; }
}
.ct-waitlist .hs-button{display:flex;width:100%}
.ct-waitlist .submitted-message{text-align:center}
