@charset "utf-8";
/* Contact only. Brand mark and SVG arrow follow the completed About page. */
.contact-page { --c-blue:#0064ff; --c-focus:#004fd6; background:#fff; color:#35415e; overflow-x:visible; overflow-wrap:normal; }
.contact-page .header { background:#fff; }
.contact-page .header__inner { max-width:1440px; min-height:88px; }
.contact-page .ct-brand { font-size:28px; letter-spacing:.16em; }
.contact-page .ct-brand::before { display:none; }
.contact-page .ct-brand-mark { display:inline-block; width:35px; height:36px; flex-shrink:0; background:linear-gradient(135deg,#99eaff 8%,#0878ff 45%,#001338 75%); clip-path:polygon(43% 4%,64% 0,100% 90%,71% 87%,55% 39%,29% 92%,0 100%); }
.contact-page .nav .btn { border-radius:7px; background:linear-gradient(115deg,#0874e0,#0050ed); gap:16px; }
.contact-page .nav__link { min-height:44px; display:flex; align-items:center; }
.contact-page :focus-visible { outline:3px solid #004fd6; outline-offset:5px; }
.contact-page #main:focus { outline:none; }
.contact-page .ct-wrap { width:100%; max-width:1440px; padding-inline:64px; margin-inline:auto; }
.contact-page main { font-weight:500; line-height:1.95; }
.contact-page main :is(h1,h2,h3) { color:#080b11; font-weight:800; letter-spacing:-.04em; line-height:1.45; word-break:normal; overflow-wrap:normal; }
.contact-page main h2 { font-size:clamp(28px,2.8vw,40px); }
.contact-page main h3 { font-size:21px; line-height:1.55; }
.contact-page main :is(h1,h2,h3) span,.contact-page .ct-lead span,.contact-page .ct-intro span,.contact-page .ct-final-inner>div>p span { display:inline-block; }
.contact-page main p { text-wrap:pretty; }
.contact-page .ct-eyebrow { color:#005bea; font-size:13px; font-weight:700; letter-spacing:.18em; margin:0 0 12px; line-height:1.5; }
.contact-page .ct-hero { position:relative; isolation:isolate; background:linear-gradient(105deg,#fff 35%,#f4faff 65%,#dcefff); }
.contact-page .ct-hero-inner { min-height:420px; padding-block:56px 64px; display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:24px; align-items:center; }
.contact-page main h1 { font-size:clamp(38px,4.05vw,59px); line-height:1.3; letter-spacing:-.065em; }
.contact-page h1 em { color:#0064ff; font-style:normal; }
.contact-page .ct-lead { font-size:18px; margin-top:24px; line-height:1.85; }
.contact-page .ct-actions { display:flex; align-items:center; gap:32px; flex-wrap:wrap; margin-top:26px; }
.contact-page .ct-button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:64px; padding:16px 30px; gap:20px; background:linear-gradient(115deg,#0874e0,#0050ff); color:#fff; border:1px solid #137bff; border-radius:7px; font:700 18px/1.5 var(--font-sans); text-decoration:none; white-space:nowrap; box-shadow:0 5px 16px #0074ff21,inset 0 1px 1px #fff6; cursor:pointer; transition:transform .18s,box-shadow .18s; }
.contact-page .ct-button:hover { transform:translateY(-2px); box-shadow:0 8px 22px #0064ff35; }
.contact-page .ct-button:disabled { cursor:not-allowed; }
.contact-page .ct-arrow { display:inline-grid; place-items:center; width:1em; height:1.2em; flex-shrink:0; }
.contact-page .ct-arrow svg { display:block; width:1em; height:1em; overflow:visible; }
.contact-page .ct-arrow path { vector-effect:non-scaling-stroke; }
.contact-page .ct-privacy { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:#0054d9; font-size:14px; font-weight:650; text-underline-offset:5px; }
.contact-page .ct-facets { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.contact-page .ct-facets i { position:absolute; left:62%; top:-55%; height:220%; width:160px; transform:rotate(28deg); border-right:1px solid #fffc; background:linear-gradient(90deg,#68bbff05,#4baeff36 70%,#fff9 71%,#b6dfff55); }
.contact-page .ct-facets i:nth-child(2) { left:77%; width:250px; background:linear-gradient(90deg,#008fff16,#7bcaff66,#ffffffbd); }
.contact-page .ct-facets i:nth-child(3) { left:98%; width:110px; }
.contact-page .ct-facets i:nth-child(4) { left:78%; top:-40%; width:80px; transform:rotate(-46deg); background:linear-gradient(90deg,transparent,#fffb,transparent); border:0; }
.contact-page .ct-facets i:nth-child(5) { left:88%; width:1px; background:#0875ff; }
.contact-page .ct-sign { color:#005bea; justify-self:center; padding:20px 0; }
.contact-page .ct-sign>p { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-style:italic; font-size:32px; letter-spacing:.13em; line-height:1.7; transform:rotate(-8deg); }
.contact-page .ct-sign>p span { display:block; margin-left:20px; border-bottom:1px solid currentColor; padding-bottom:8px; }
.contact-page .ct-sign small { display:block; margin-top:32px; text-align:right; font-size:10px; line-height:1.7; letter-spacing:.19em; }
.contact-page .ct-form-section { padding-block:72px; border-block:1px solid #e3effa; background:linear-gradient(110deg,#fff,#f9fcff); }
.contact-page .ct-form-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,2fr); gap:48px; align-items:start; }
.contact-page .ct-form-intro { padding-top:24px; }
.contact-page .ct-form-intro h2 { font-size:clamp(32px,3.5vw,48px); }
.contact-page .ct-intro { margin-top:20px; font-size:21px; line-height:1.7; }
.contact-page .ct-form-intro>p:not([class]) { margin-top:22px; font-size:16px; }
.contact-page .ct-margin-note { margin-top:64px; border-left:1px solid #a5c4e9; padding-left:20px; color:#55729d; font-size:11px; letter-spacing:.17em; line-height:1.7; }
.contact-page .ct-form { min-width:0; padding:36px; border:1px solid #dcecf9; border-radius:8px; background:#fff; box-shadow:0 12px 32px #318bf00a; scroll-margin-top:110px; }
.contact-page .ct-connection-note { background:#f1f7ff; border-left:3px solid #0064ff; padding:12px 16px; font-size:14px; line-height:1.8; margin:0 0 28px; }
.contact-page .ct-field { display:grid; grid-template-columns:178px minmax(0,1fr); gap:20px; margin-bottom:28px; }
.contact-page .ct-field label { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; padding-top:15px; color:#101827; font-size:15px; font-weight:700; }
.contact-page .ct-badge { display:inline-block; flex-shrink:0; font-size:12px; font-weight:650; line-height:1.7; padding:1px 6px; background:#edf1f7; color:#53637e; border-radius:3px; white-space:nowrap; }
.contact-page .ct-badge.is-required { color:#0053ce; background:#e0efff; }
.contact-page .ct-field :is(input,textarea) { width:100%; min-width:0; min-height:56px; border:1px solid #8caccd; border-radius:4px; background:#fdfefe; padding:13px 15px; color:#17243b; font:400 16px/1.8 var(--font-sans); }
.contact-page .ct-field textarea { min-height:190px; resize:vertical; vertical-align:top; }
.contact-page .ct-field textarea::placeholder { color:#64758d; opacity:1; }
.contact-page .ct-field [aria-invalid="true"] { border:2px solid #b3261e; }
.contact-page .ct-error { color:#a51e19; font-size:14px; line-height:1.7; margin-top:6px; }
.contact-page .ct-error:empty,.contact-page .ct-status:empty { display:none; }
.contact-page .ct-status { color:#7f241d; background:#fff5f3; border:1px solid #c6665f; padding:16px; margin-bottom:28px; font-size:15px; }
.contact-page .ct-turnstile { min-width:0; margin-top:28px; }
.contact-page #turnstile-widget { min-height:65px; }
.contact-page .ct-turnstile p { margin:6px 0 0; color:#53637e; font-size:13px; }
.contact-page .ct-button:disabled { cursor:wait; opacity:.7; }
.contact-page .ct-support { min-width:0; border:0; padding:0; margin:0; }
.contact-page .ct-support legend { padding:0; color:#101827; font-size:15px; font-weight:700; }
.contact-page .ct-support legend .ct-badge { margin-left:12px; }
.contact-page .ct-support-hint { margin:6px 0 12px; font-size:14px; }
.contact-page .ct-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 18px; }
.contact-page .ct-choices label { display:flex; align-items:center; gap:12px; min-height:48px; font-size:15px; cursor:pointer; }
.contact-page .ct-choices label span { word-break:keep-all; overflow-wrap:normal; }
.contact-page .ct-choices input { appearance:auto; width:22px; height:22px; accent-color:#005bea; flex-shrink:0; margin:0; }
.contact-page .ct-form-bottom { border-top:1px solid #dce9f7; margin-top:28px; padding-top:24px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.contact-page .ct-notes { flex:1 1 290px; font-size:13px; line-height:1.9; }
.contact-page .ct-notes p { margin:0 0 4px; }
.contact-page .ct-notes p::before { content:"✓"; color:#005bea; margin-right:8px; font-weight:800; }
.contact-page .ct-commitment { padding-block:64px 72px; }
.contact-page .ct-section-head { display:flex; align-items:center; gap:48px; margin-bottom:32px; }
.contact-page .ct-section-head>p { border-left:1px solid #0064ff; padding-left:28px; font-size:16px; }
.contact-page .ct-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; }
.contact-page .ct-card { display:grid; grid-template-columns:56px minmax(0,1fr); gap:24px; border:1px solid #dcecf9; border-radius:7px; padding:28px; background:linear-gradient(135deg,#fff,#fbfdff); }
.contact-page .ct-card-symbol { color:#0064ff; }
.contact-page .ct-card-symbol span { font-size:12px; font-weight:700; letter-spacing:.12em; display:block; margin-bottom:12px; }
.contact-page .ct-card-symbol svg { width:48px; height:48px; }
.contact-page .ct-card p { font-size:15px; line-height:1.85; margin-top:12px; }
.contact-page main .ct-card h3 span { display:block; }
.contact-page .ct-final { position:relative; isolation:isolate; padding-block:60px; color:white; background:linear-gradient(110deg,#168cf4,#0064ff 40%,#0064fa 70%,#1391f6); }
.contact-page .ct-final-inner { display:grid; grid-template-columns:180px minmax(0,1fr) 220px; align-items:center; gap:20px; }
.contact-page .ct-final-inner>div:not(.ct-sign) { text-align:center; }
.contact-page .ct-final h2 { color:#fff; font-size:30px; line-height:1.6; }
.contact-page .ct-final-inner>div>p { margin-top:16px; }
.contact-page .ct-final .ct-margin-note,.contact-page .ct-final .ct-sign { color:#fff; }
.contact-page .ct-final .ct-margin-note { margin:0; border-color:#fff9; }
.contact-page .ct-final .ct-sign>p { font-size:26px; }
.contact-page .ct-final .ct-facets i:first-child { left:6%; }
.contact-page .ct-final .ct-facets i:nth-child(4) { left:12%; }
.contact-page .ct-button--white { margin-top:26px; background:#fff; color:#0048c9; border-color:#fff; border-radius:40px; }
.contact-page .ct-final :focus-visible { outline-color:white; outline-offset:7px; }
@media (max-width:1199px) {
 .contact-page .ct-wrap { padding-inline:40px; }
 .contact-page .ct-hero-inner { grid-template-columns:minmax(0,1fr) 190px; }
 .contact-page .ct-sign>p { font-size:27px; }
 .contact-page .ct-form-layout { gap:32px; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); }
 .contact-page .ct-form { padding:28px; }
 .contact-page .ct-field { grid-template-columns:1fr; gap:8px; }
 .contact-page .ct-field label { justify-content:flex-start; gap:12px; padding:0; }
 .contact-page .ct-card { padding:24px; grid-template-columns:1fr; gap:12px; }
 .contact-page .ct-card-symbol { display:flex; gap:16px; align-items:center; }
 .contact-page .ct-card-symbol span { margin:0; }
 .contact-page .ct-final-inner { grid-template-columns:100px minmax(0,1fr) 150px; }
 .contact-page .ct-final .ct-sign>p { font-size:22px; }
}
@media (max-width:899px) {
 .contact-page .ct-hero-inner { grid-template-columns:1fr; }
 .contact-page .ct-hero .ct-sign { display:none; }
 .contact-page .ct-form-layout { grid-template-columns:1fr; gap:32px; }
 .contact-page .ct-form-intro { padding:0; }
 .contact-page .ct-form-intro .ct-margin-note { display:none; }
 .contact-page .ct-section-head { display:block; }
 .contact-page .ct-section-head>p { margin-top:24px; }
 .contact-page .ct-cards { grid-template-columns:1fr; gap:20px; }
 .contact-page .ct-card { grid-template-columns:56px minmax(0,1fr); gap:24px; }
 .contact-page .ct-card-symbol { display:block; }
 .contact-page .ct-card-symbol span { margin-bottom:12px; }
 .contact-page .ct-final-inner { grid-template-columns:1fr; }
 .contact-page .ct-final .ct-sign,.contact-page .ct-final .ct-margin-note { display:none; }
}
@media (max-width:599px) {
 .contact-page .ct-wrap { padding-inline:24px; }
 .contact-page .header__inner { min-height:76px; }
 .contact-page .ct-hero-inner { padding-block:40px 48px; min-height:0; }
 .contact-page main h1 { font-size:clamp(30px,8.5vw,46px); line-height:1.45; }
 .contact-page main h2 { font-size:29px; }
 .contact-page .ct-lead { font-size:16px; }
 .contact-page .ct-desktop-break { display:none; }
 .contact-page .ct-actions { gap:14px; }
 .contact-page .ct-actions .ct-button { width:100%; }
 .contact-page .ct-form-section,.contact-page .ct-commitment { padding-block:48px; }
 .contact-page .ct-form-intro h2 { font-size:36px; }
 .contact-page .ct-intro { font-size:19px; }
 .contact-page .ct-form { padding:24px 20px; }
 .contact-page .ct-field { margin-bottom:26px; }
 .contact-page .ct-choices { grid-template-columns:1fr; gap:8px; }
 .contact-page .ct-form-bottom .ct-button { width:100%; }
 .contact-page .ct-card { padding:24px 20px; gap:16px; grid-template-columns:42px minmax(0,1fr); }
 .contact-page main h3 { font-size:20px; }
 .contact-page .ct-final { padding-block:48px; }
 .contact-page .ct-final h2 { font-size:26px; }
 .contact-page .ct-button--white { width:100%; font-size:16px; padding-inline:16px; gap:12px; }
 .contact-page .mobile-nav .btn { font-size:16px; gap:12px; }
}
@media (max-width:359px) {
 .contact-page .ct-wrap { padding-inline:18px; }
 .contact-page .ct-form { padding-inline:16px; }
 .contact-page main h2 { font-size:26px; }
 .contact-page .ct-final h2 { font-size:24px; }
 .contact-page .ct-button--white { font-size:15px; padding-inline:10px; gap:8px; letter-spacing:0; }
 .contact-page .ct-card { padding-inline:16px; gap:12px; grid-template-columns:32px minmax(0,1fr); }
 .contact-page main h3 { font-size:19px; }
}
@media (prefers-reduced-motion:reduce) {
 html:has(.contact-page) { scroll-behavior:auto; }
 .contact-page *,.contact-page *::before,.contact-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
