@layer gcx-base, gcx-components, gcx-responsive;
@layer gcx-base {.gcx-page { --gcx-bg: #f6f8fb; --gcx-card: rgba(255, 255, 255, 0.88); --gcx-card-solid: #ffffff; --gcx-border: #d8e1e8; --gcx-text: #111827; --gcx-muted: #536270; --gcx-primary: #0f6b5b; --gcx-primary-dark: #0a4d43; --gcx-blue: #275d8c; --gcx-soft: #edf7f4; --gcx-alert: #b42318; --gcx-alert-bg: #fff0ee; background: rgb(255, 255, 255); color: var(--gcx-text); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; overflow: hidden; }
.gcx-page *, .gcx-page ::before, .gcx-page ::after { box-sizing: border-box; }
.gcx-page h1, .gcx-page h2, .gcx-page h3, .gcx-page p, .gcx-page ul { margin: 0px; padding: 0px; }
.gcx-page a { color: inherit; }
.gcx-shell { margin: 0px auto; max-width: 1120px; padding-inline: clamp(16px, 3vw, 28px); width: 100%; }
.gcx-eyebrow, .gcx-kicker { color: var(--gcx-blue); font-size: 0.82rem; font-weight: 850; letter-spacing: 0px; line-height: 1.25; text-transform: uppercase; }
.gcx-page h1 { color: var(--gcx-text); font-size: clamp(2.25rem, 5vw, 4.15rem); font-weight: 850; letter-spacing: 0px; line-height: 1.03; margin-top: 8px; }
.gcx-page h2 { color: var(--gcx-text); font-size: clamp(1.55rem, 3vw, 2.35rem); font-weight: 850; letter-spacing: 0px; line-height: 1.12; }
.gcx-page h3 { color: var(--gcx-text); font-size: 1.08rem; font-weight: 820; line-height: 1.25; }
.gcx-page p { color: var(--gcx-muted); font-size: 1rem; line-height: 1.68; }}
@layer gcx-components {.gcx-hero { background: linear-gradient(180deg, #ffffff 0%, var(--gcx-bg) 100%); padding: clamp(28px, 5vw, 56px) 0px clamp(34px, 5vw, 64px); }
.gcx-hero .gcx-shell { background: rgba(255, 255, 255, 0.74); border: 1px solid var(--gcx-border); border-radius: 18px; box-shadow: rgba(17, 24, 39, 0.08) 0px 24px 80px; display: grid; gap: 24px; padding: clamp(22px, 4vw, 48px); }
.gcx-hero-grid { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(0px, 1.2fr) minmax(280px, 0.8fr); }
.gcx-lead { color: rgb(47, 59, 73); font-size: clamp(1.04rem, 1.8vw, 1.18rem); margin-top: 16px; max-width: 68ch; }
.gcx-facts { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin-top: 20px; }
.gcx-facts li { align-items: center; background: var(--gcx-soft); border: 1px solid rgb(204, 226, 220); border-radius: 999px; color: var(--gcx-primary-dark); display: inline-flex; font-size: 0.92rem; font-weight: 760; min-height: 36px; padding: 7px 12px; }
.gcx-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.gcx-button { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-weight: 850; justify-content: center; min-height: 46px; padding: 12px 18px; text-decoration: none; transition: background-color 160ms, border-color 160ms, color 160ms, box-shadow 160ms; }
.gcx-button-primary { background: var(--gcx-primary); box-shadow: rgba(15, 107, 91, 0.22) 0px 10px 24px; color: rgb(255, 255, 255); }
.gcx-button-primary:hover, .gcx-button-primary:focus-visible { background: var(--gcx-primary-dark); color: rgb(255, 255, 255); }
.gcx-button-secondary { background: rgba(255, 255, 255, 0.84); border-color: var(--gcx-border); color: var(--gcx-primary-dark); }
.gcx-button-secondary:hover, .gcx-button-secondary:focus-visible { background: rgb(255, 255, 255); border-color: rgb(168, 203, 194); }
.gcx-hero-media { margin: 0px; }
.gcx-hero-media img, .gcx-section-image, .gcx-process-image { border-radius: 18px; box-shadow: rgba(17, 24, 39, 0.14) 0px 18px 48px; display: block; height: auto; object-fit: cover; width: 100%; }
.gcx-hero-media img { aspect-ratio: 4 / 3; }
.gcx-decision-grid { align-items: stretch; display: grid; gap: 24px; grid-template-columns: minmax(0px, 1fr) 320px; }
.gcx-panel, .gcx-side, .gcx-card, .gcx-step, .gcx-contact, .gcx-highlight { background: var(--gcx-card); border: 1px solid var(--gcx-border); border-radius: 18px; }
.gcx-panel { padding: clamp(20px, 3vw, 30px); }
.gcx-panel h2, .gcx-side h2, .gcx-side h3 { margin-top: 8px; }
.gcx-panel p, .gcx-side p { margin-top: 12px; }
.gcx-mini-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0px, 1fr)); margin-top: 22px; }
.gcx-mini-grid div { background: rgb(251, 253, 252); border: 1px solid var(--gcx-border); border-radius: 14px; padding: 14px; }
.gcx-mini-grid strong, .gcx-highlight strong, .gcx-contact strong { color: var(--gcx-text); display: block; font-weight: 850; }
.gcx-mini-grid span, .gcx-highlight span { color: var(--gcx-muted); display: block; font-size: 0.92rem; line-height: 1.5; margin-top: 6px; }
.gcx-side { display: grid; gap: 18px; padding: 22px; }
.gcx-alert { background: var(--gcx-alert-bg); border-top: 1px solid rgb(255, 208, 203); border-right: 1px solid rgb(255, 208, 203); border-bottom: 1px solid rgb(255, 208, 203); border-image: none; border-left: 5px solid var(--gcx-alert); border-radius: 12px; padding: 14px 16px; }
.gcx-alert strong { color: var(--gcx-alert); display: block; font-weight: 850; margin-bottom: 4px; }
.gcx-link-list { display: grid; gap: 9px; list-style: none; margin-top: 10px; }
.gcx-link-list a { color: var(--gcx-primary-dark); font-weight: 820; text-decoration-thickness: 2px; }
.gcx-section { padding: clamp(46px, 6vw, 76px) 0px; }
.gct-section { background: rgb(255, 255, 255); padding: clamp(46px, 6vw, 76px) 0px; }
.gct-heading { max-width: 760px; margin: 0px auto 28px; text-align: center; }
.gct-heading p { margin-top: 12px; }
.gct-launch { margin: 0px auto; max-width: 620px; text-align: center; }
.gct-launch p { margin: 0px 0px 18px; }
.gct-modal[hidden] { display: none !important; }
.gct-modal { inset: 0px; position: fixed; z-index: 100000; }
.gct-modal__backdrop { background: rgba(4, 20, 51, 0.58); inset: 0px; position: absolute; }
.gct-modal__frame { background: rgb(255, 255, 255); border-radius: 20px; box-shadow: rgba(2, 17, 45, 0.32) 0px 28px 80px; left: 50%; max-height: min(920px, -28px + 100vh); overflow: auto; padding: 28px; position: absolute; top: 50%; transform: translate(-50%, -50%); width: min(1120px, -32px + 100vw); }
.gct-modal__close { background: rgb(255, 255, 255); border: 1px solid rgb(185, 201, 223); border-radius: 50%; color: rgb(6, 29, 77); cursor: pointer; font-size: 1.6rem; height: 38px; line-height: 1; position: absolute; right: 12px; top: 12px; width: 38px; z-index: 2; }
.gct-layout { align-items: stretch; display: grid; gap: 24px; grid-template-columns: minmax(0px, 1fr) minmax(290px, 0.36fr); }
.gct-tool, .gct-clinical { border: 1px solid rgb(217, 225, 236); border-radius: 18px; background: rgb(255, 255, 255); box-shadow: rgba(6, 29, 77, 0.08) 0px 18px 48px; }
.gct-tool { overflow: hidden; }
.gct-progress-row, .gct-question, .gct-actions { padding-inline: clamp(20px, 4vw, 44px); }
.gct-progress-row { padding-top: clamp(22px, 4vw, 38px); }
.gct-progress-label { font-weight: 800; color: rgb(25, 93, 214) !important; font-size: 0.94rem !important; }
.gct-progress { display: grid; gap: 8px; grid-template-columns: repeat(6, 1fr); list-style: none; margin: 18px 0px 0px; }
.gct-progress li { align-items: center; border: 1px solid rgb(217, 225, 236); border-radius: 50%; color: rgb(107, 122, 144); display: inline-flex; font-size: 0.82rem; font-weight: 800; height: 30px; justify-content: center; position: relative; width: 30px; }
.gct-progress li:not(:last-child)::after { background: rgb(217, 225, 236); content: ""; height: 1px; left: calc(100% + 4px); position: absolute; top: 50%; width: calc(100% - 8px); }
.gct-progress li.is-current, .gct-progress li.is-complete { background: rgb(25, 93, 214); border-color: rgb(25, 93, 214); color: rgb(255, 255, 255); }
.gct-question { border-top: 1px solid rgb(230, 237, 244); margin-top: 20px; min-height: 310px; padding-top: clamp(22px, 4vw, 34px); }
.gct-question-title { color: rgb(6, 29, 77) !important; font-size: clamp(1.35rem, 2.7vw, 2rem) !important; letter-spacing: -0.025em !important; line-height: 1.25 !important; }
.gct-choices { display: grid; gap: 10px; margin-top: 22px; }
.gct-choice { align-items: center; appearance: none; background: rgb(255, 255, 255); border: 1px solid rgb(203, 217, 237); border-radius: 10px; color: rgb(15, 45, 95); cursor: pointer; display: flex; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 1rem; font-weight: 700; min-height: 58px; padding: 14px 18px 14px 54px; position: relative; text-align: left; }
.gct-choice::before { border: 2px solid rgb(29, 79, 158); border-radius: 50%; content: ""; height: 22px; left: 18px; position: absolute; width: 22px; }
.gct-choice:hover, .gct-choice:focus-visible, .gct-choice.is-selected { border-color: rgb(25, 93, 214); box-shadow: rgba(25, 93, 214, 0.12) 0px 0px 0px 3px; outline: 0px; }
.gct-actions { display: flex; gap: 12px; justify-content: space-between; padding-bottom: 24px; padding-top: 14px; }
.gct-button { align-items: center; border: 1px solid transparent; border-radius: 8px; cursor: pointer; display: inline-flex; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 800; justify-content: center; min-height: 48px; padding: 11px 20px; text-decoration: none; }
.gct-button[hidden] { display: none !important; }
.gct-button-primary { background: rgb(6, 29, 77); color: rgb(255, 255, 255); min-width: 176px; }
.gct-button-primary:hover, .gct-button-primary:focus-visible { background: rgb(18, 61, 139); color: rgb(255, 255, 255); outline: rgb(147, 185, 251) solid 3px; outline-offset: 2px; }
.gct-button-primary:disabled { background: rgb(167, 180, 199); cursor: not-allowed; }
.gct-button-secondary { background: rgb(255, 255, 255); border-color: rgb(15, 58, 128); color: rgb(15, 58, 128); }
.gct-notice { align-items: flex-start; background: rgb(241, 246, 252); border-top: 1px solid rgb(217, 229, 242); color: rgb(20, 55, 101); display: grid; gap: 3px; padding: 16px clamp(20px, 4vw, 44px); }
.gct-notice strong { color: rgb(6, 29, 77); font-size: 0.94rem; }
.gct-notice span { font-size: 0.9rem; line-height: 1.5; }
.gct-contact { background: rgb(247, 251, 255); border-top: 1px solid rgb(217, 229, 242); padding: 22px clamp(20px, 4vw, 44px); }
.gct-contact h3 { color: rgb(6, 29, 77); font-size: 1.2rem; }
.gct-contact p { margin-top: 8px; }
.gct-contact__grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0px, 1fr)); margin: 18px 0px; }
.gct-contact label { color: rgb(6, 29, 77); display: grid; font-size: 0.92rem; font-weight: 750; gap: 7px; }
.gct-contact input[type="text"], .gct-contact input[type="email"] { background: rgb(255, 255, 255); border: 1px solid rgb(188, 208, 226); border-radius: 9px; font: inherit; min-height: 46px; padding: 10px 12px; }
.gct-contact__consent { align-items: start; background: rgb(255, 255, 255); border: 1px solid rgb(217, 229, 242); border-radius: 10px; gap: 10px; line-height: 1.5; padding: 14px; display: flex !important; }
.gct-contact__consent input { accent-color: rgb(25, 93, 214); margin-top: 3px; }
.gct-contact__consent a { color: rgb(15, 58, 128); }
.gct-contact__honeypot { display: none !important; }
.gct-contact__status { color: rgb(15, 58, 128); font-weight: 750; }
.gct-clinical { background: linear-gradient(155deg, rgb(248, 251, 255) 0%, rgb(238, 244, 251) 100%); padding: clamp(22px, 3vw, 30px); }
.gct-clinical h3 { color: rgb(6, 29, 77) !important; font-size: 1.2rem !important; }
.gct-clinical ol { display: grid; list-style: none; margin-top: 18px; }
.gct-clinical li { border-top: 1px solid rgb(214, 224, 236); padding: 17px 0px; }
.gct-clinical li:first-child { border-top: 0px; padding-top: 0px; }
.gct-clinical strong, .gct-clinical span { display: block; }
.gct-clinical strong { color: rgb(11, 45, 100); font-size: 0.98rem; }
.gct-clinical span { color: rgb(80, 103, 133); font-size: 0.9rem; line-height: 1.48; margin-top: 4px; }
.gcx-section-muted { background: linear-gradient(rgb(247, 251, 250) 0%, rgb(238, 246, 244) 100%); }
.gcx-section-head { display: grid; gap: 10px; margin: 0px auto clamp(22px, 4vw, 34px); max-width: 760px; text-align: center; }
.gcx-card-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.gcx-card { padding: 22px; transition: border-color 160ms, box-shadow 160ms; }
.gcx-card:hover { border-color: rgb(168, 203, 194); box-shadow: rgba(17, 24, 39, 0.08) 0px 14px 36px; }
.gcx-card p { margin-top: 10px; }
.gcx-two-col { align-items: center; display: grid; gap: 36px; grid-template-columns: minmax(0px, 1fr) minmax(280px, 0.86fr); }
.gcx-two-col h2, .gcx-cost-grid h2, .gcx-cta h2 { margin-top: 8px; }
.gcx-two-col p, .gcx-cost-grid p, .gcx-cta p { margin-top: 16px; }
.gcx-highlight { background: rgb(251, 253, 252); margin-top: 22px; padding: 18px; }
.gcx-highlight-strong { align-self: center; background: var(--gcx-soft); border-color: rgb(204, 226, 220); margin: 0px; }
.gcx-section-image { aspect-ratio: 4 / 3; }
.gcx-process { align-items: start; display: grid; gap: 34px; grid-template-columns: minmax(260px, 0.72fr) minmax(0px, 1fr); }
.gcx-process-image { aspect-ratio: 4 / 5; max-height: 640px; }
.gcx-steps { display: grid; gap: 14px; }
.gcx-step { align-items: flex-start; display: flex; gap: 16px; padding: 18px; }
.gcx-step span { align-items: center; border: 1px solid rgb(168, 203, 194); border-radius: 999px; color: var(--gcx-primary-dark); display: inline-flex; flex: 0 0 42px; font-weight: 850; height: 42px; justify-content: center; width: 42px; }
.gcx-step p { margin-top: 8px; }
.gcx-cost-grid { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(0px, 1fr) 340px; }
.gcx-cta { background: rgb(15, 47, 58); color: rgb(255, 255, 255); padding: clamp(46px, 6vw, 76px) 0px; }
.gcx-cta .gcx-kicker, .gcx-cta h2, .gcx-cta p, .gcx-cta a, .gcx-cta span, .gcx-cta strong { color: rgb(255, 255, 255); }
.gcx-cta p, .gcx-contact span { opacity: 0.86; }
.gcx-cta-grid { align-items: stretch; display: grid; gap: 28px; grid-template-columns: minmax(0px, 1fr) 360px; }
.gcx-cta .gcx-button-secondary { background: transparent; border-color: rgba(255, 255, 255, 0.28); color: rgb(255, 255, 255); }
.gcx-contact { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.18); display: grid; font-style: normal; gap: 12px; padding: 24px; }
.gcx-contact a { text-decoration-thickness: 2px; }}
@layer gcx-responsive {@media (max-width: 980px) {.gcx-hero-grid, .gcx-decision-grid, .gct-layout, .gcx-two-col, .gcx-process, .gcx-cost-grid, .gcx-cta-grid { grid-template-columns: 1fr; }
.gcx-card-grid, .gcx-mini-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.gcx-process-image { max-height: 420px; }}
@media (max-width: 700px) {.gct-modal__frame { border-radius: 16px; padding: 52px 14px 14px; width: calc(-16px + 100vw); }
.gct-contact__grid { grid-template-columns: 1fr; }}
@media (max-width: 640px) {.gcx-hero .gcx-shell { border-left: 0px; border-right: 0px; border-radius: 0px; padding: 28px 14px 34px; }
.gcx-card-grid, .gcx-mini-grid { grid-template-columns: 1fr; }
.gcx-actions, .gcx-button, .gct-actions, .gct-button { width: 100%; }
.gcx-button { min-height: 48px; }
.gct-actions { align-items: stretch; flex-direction: column-reverse; }
.gct-question { min-height: 330px; }
.gcx-step { padding: 16px; }}}