/* This stylesheet is loaded only on the Contact page. */
body { background:#fff; overflow-x:clip; }
.premium-contact .pc-cta { position:relative; isolation:isolate; }
.premium-contact .pc-cta::before { content:""; position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; background:inherit; z-index:-1; pointer-events:none; }
/* The page uses the same outer container as the homepage. */
.premium-contact { width:min(1331px, calc(100% - 32px)); max-width:none; margin-inline:auto; }
.premium-contact .pc-wrap { max-width:none; padding-inline:6%; }
.contact-reference { position:relative; border:1px solid #eceef1; background:#fff; padding:76px 6%; color:#0c0d19; }
.contact-reference::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:#eceef1; box-shadow:0 0 0 100vmax #eceef1; clip-path:inset(0 -100vmax); pointer-events:none; }
.contact-reference-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:8%; align-items:stretch; }
.contact-reference-copy { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.contact-reference-label { display:inline-flex; gap:5px; align-items:center; background:linear-gradient(90deg,#f2f6ff,#fbfcff); color:#003edf; border-radius:20px; padding:5px 11px; font-size:10px; font-weight:500; line-height:1.2; }
.contact-reference svg { width:18px; height:18px; flex-shrink:0; color:#1461ee; }
.contact-reference-label svg { width:12px; height:12px; }
.contact-reference h1 { margin:18px 0 18px; font-size:clamp(38px,3.6vw,57px); font-weight:500; line-height:1.19; letter-spacing:-2px; color:#0c0d19; }
.contact-reference h1 span { color:#073ef0; }
.contact-reference-copy>p { margin:0 0 64px; color:#25252b; font-size:16px; font-weight:400; line-height:1.7; }
.contact-reference-cards { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:20px; margin-top:auto; }
.contact-reference-cards>div { padding:20px 18px; border:1px solid #ececef; border-radius:13px; box-shadow:0 1px 3px #10182804; }
.contact-reference-cards h2 { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:500; line-height:1.4; margin:0 0 13px; letter-spacing:-.3px; }
.contact-reference-cards p { margin:0; font-size:12px; line-height:1.6; color:#555d66; }
.contact-reference-form-shell { padding-top:16px; background:linear-gradient(110deg,#2464f7,#579aff); border-radius:17px; border:1px solid #dce5f5; overflow:hidden; min-width:0; }
.contact-reference-form { height:100%; border-radius:16px 16px 0 0; padding:28px 25px 25px; background:linear-gradient(120deg,#fff 35%,#f0f5ff); }
.contact-reference-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px 14px; }
.contact-reference-fields label { display:block; min-width:0; font-size:14px; font-weight:400; color:#090a13; line-height:1.4; }
.contact-reference-fields input,.contact-reference-fields textarea,.contact-phone { width:100%; margin:6px 0 0; padding:11px 12px; border:1px solid #e8e9ed; border-radius:6px; box-shadow:inset 0 1px 2px #121a2b03; background:#fff; font:inherit; font-size:14px; color:#242933; }
.contact-reference-fields input::placeholder,.contact-reference-fields textarea::placeholder { color:#939aa5; opacity:1; }
.contact-reference-fields textarea { min-height:125px; resize:vertical; display:block; }
.contact-reference-message { grid-column:1/-1; }
.contact-phone { display:flex; align-items:center; gap:3px; padding:0 7px; }
.contact-phone select { padding:0; border:0; font:inherit; font-size:14px; width:46px; background:transparent; color:#242933; }
.contact-phone input { min-width:0; flex:1; border:0; box-shadow:none; margin:0; padding:11px 0; font-size:13px; }
.contact-reference-form>button { display:block; width:100%; margin-top:26px; padding:10px 18px; border:1px solid #1b62f5; border-radius:24px; background:linear-gradient(#6ca5ff,#2f72fd 45%,#003af0); box-shadow:inset 0 1px 1px #ffffff80; color:#fff; font:inherit; font-size:16px; font-weight:400; cursor:pointer; }
.contact-reference-form>button:hover { filter:brightness(.96); }
.contact-reference :focus-visible { outline:2px solid #2865f4; outline-offset:3px; }
@media(max-width:1100px) { .contact-reference { padding:64px 6%; } .contact-reference-grid { gap:7%; } .contact-reference h1 { font-size:40px; letter-spacing:-1.5px; } .contact-reference-copy>p { font-size:13px; } .contact-reference-cards { gap:16px; } .contact-reference-cards>div { padding:17px 14px; } .contact-reference-cards h2 { font-size:12px; } .contact-reference-cards p { font-size:10px; } .contact-reference-form { padding:24px 20px 22px; } .contact-reference-fields { gap:13px 12px; } .contact-reference-fields label { font-size:12px; } .contact-reference-fields input,.contact-reference-fields textarea { font-size:12px; padding:10px; } .contact-phone input { padding:10px 0; font-size:11px; } .contact-reference-fields textarea { min-height:97px; } .contact-reference-form>button { padding:8px 16px; font-size:14px; } }
@media(max-width:760px) { .contact-reference { padding:40px 22px; } .contact-reference-grid { grid-template-columns:1fr; gap:32px; } .contact-reference-copy>p { margin-bottom:30px; font-size:14px; } .contact-reference h1 { font-size:clamp(32px,7vw,44px); } .contact-line-break { display:none; } .contact-reference-fields label { font-size:15px; } .contact-reference-fields input,.contact-reference-fields textarea,.contact-phone input { font-size:15px; } .contact-reference-cards h2 { font-size:13px; } .contact-reference-cards p { font-size:11px; } .contact-reference-fields textarea { min-height:120px; } }
@media(max-width:400px) { .contact-reference-fields { grid-template-columns:1fr; } .contact-reference-cards { gap:10px; } .contact-reference-cards>div { padding:13px 10px; } }

/* Contact reference testimonial layout. */
.contact-testimonials { position:relative; isolation:isolate; padding:38px 6% 28px; background:linear-gradient(180deg,#fff 28%,#f5f9ff); color:#10111e; }
.contact-testimonials::before { content:""; position:absolute; top:0; bottom:0; left:calc(50% - 50vw); width:100vw; background:inherit; z-index:-1; pointer-events:none; }
.contact-testimonials-heading { text-align:center; margin-bottom:66px; }
.contact-testimonials-heading>span { color:#0644da; font-size:12px; font-weight:500; }
.contact-testimonials-heading h2 { margin:17px 0 0; font-size:clamp(28px,3vw,43px); line-height:1.24; font-weight:500; letter-spacing:-1.5px; color:#10111e; }
.contact-testimonials-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.contact-testimonials-column { display:flex; flex-direction:column; gap:24px; min-width:0; }
.contact-testimonial { display:flex; flex-direction:column; padding:28px; border:1px solid #e7e8eb; border-radius:22px; background:rgba(255,255,255,.86); min-width:0; }
.contact-testimonial blockquote { margin:0 0 22px; padding:0; border:0; font-size:14px; line-height:1.58; font-weight:400; color:inherit; }
.contact-testimonial-author { display:flex; align-items:center; gap:13px; margin-top:auto; }
.contact-testimonial-author img { display:block; width:42px; height:42px; border-radius:7px; object-fit:cover; flex-shrink:0; }
.contact-testimonial-author>div { min-width:0; }
.contact-testimonial-author span { display:block; font-size:13px; line-height:1.4; }
.contact-testimonial-author p { margin:5px 0 0; font-size:11px; line-height:1.5; color:#747b85; }
.contact-testimonial-author b { font-weight:500; color:#282c35; }
.contact-testimonial-brand { line-height:1.2; margin-bottom:130px; }
.forter-wordmark { display:flex; align-items:center; color:#0061dc; font-size:32px; font-weight:900; font-style:italic; letter-spacing:-1.3px; }
.forter-fingerprint { display:inline-grid; place-items:center; width:25px; height:28px; font-size:22px; background:repeating-radial-gradient(ellipse at center,transparent 0 2px,#0061dc 2px 3px,transparent 3px 4px); border-radius:50%; color:transparent; transform:rotate(20deg); margin-right:1px; }
.contact-testimonial-forter { background:linear-gradient(180deg,#fff 12%,#e5eeff 77%); box-shadow:0 5px 14px #142d5310; flex:1; }
.contact-testimonial-forter blockquote,.contact-testimonial-hubspot blockquote { font-size:18px; line-height:1.55; margin-top:auto; }
.contact-testimonial-hubspot { background:linear-gradient(155deg,#203775,#0b122b); color:#fff; flex:1; box-shadow:0 5px 12px #10264c0c; }
.contact-testimonial-hubspot .contact-testimonial-author p { color:#aeb6cd; }
.contact-testimonial-hubspot .contact-testimonial-author b { color:#d6dced; }
.hubspot-wordmark { font-size:29px; font-weight:500; letter-spacing:-1px; margin-bottom:88px; }
.hubspot-hub { display:inline-block; position:relative; }
.hubspot-hub svg { width:30px; height:30px; position:absolute; top:-10px; left:-9px; stroke:#fff; stroke-width:2; fill:none; }
.contact-testimonials-demo { margin:22px 0 0; color:#737e91; font-size:10px; text-align:center; }
@media(max-width:1100px) { .contact-testimonials { padding:30px 5% 22px; } .contact-testimonials-grid,.contact-testimonials-column { gap:18px; } .contact-testimonial { padding:22px; border-radius:18px; } .contact-testimonials-heading { margin-bottom:56px; } .contact-testimonial blockquote { font-size:12px; margin-bottom:18px; } .contact-testimonial-forter blockquote,.contact-testimonial-hubspot blockquote { font-size:15px; } .contact-testimonial-author { gap:10px; } .contact-testimonial-author img { width:34px; height:34px; } .contact-testimonial-author span { font-size:11px; } .contact-testimonial-author p { font-size:10px; } .forter-wordmark { font-size:27px; } .contact-testimonial-brand { margin-bottom:112px; } .hubspot-wordmark { font-size:24px; margin-bottom:74px; } }
@media(max-width:760px) { .contact-testimonials-grid { grid-template-columns:1fr; max-width:480px; margin:auto; } .contact-testimonial-brand { margin-bottom:45px; } .contact-testimonial blockquote { font-size:14px; } .contact-testimonials-heading { margin-bottom:32px; } .contact-testimonials-heading h2 { letter-spacing:-.7px; } .contact-testimonial-author span { font-size:13px; } .contact-testimonial-author p { font-size:11px; } }

/* Contact social reference strip. */
.contact-social { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:#fff; border:1px solid #eceef1; }
.contact-social::before,.contact-social::after { content:""; position:absolute; left:0; right:0; height:1px; background:#eceef1; box-shadow:0 0 0 100vmax #eceef1; clip-path:inset(0 -100vmax); pointer-events:none; }
.contact-social::before { top:-1px; }
.contact-social::after { bottom:-1px; }
.contact-social-item { display:flex; flex-direction:column; align-items:center; padding:46px 28px 44px; text-align:center; min-width:0; }
.contact-social-item + .contact-social-item { border-left:1px solid #eceef1; }
.contact-social-icon { display:block; width:32px; height:32px; margin-bottom:20px; }
.contact-social-icon svg { display:block; width:100%; height:100%; }
.contact-social-item h2 { font-size:17px; line-height:1.3; font-weight:500; letter-spacing:-.5px; color:#111; margin:0 0 8px; }
.contact-social-item p { font-size:12px; line-height:1.6; font-weight:400; color:#414141; margin:0 0 24px; }
.contact-social-item a { display:flex; justify-content:center; align-items:center; width:100%; max-width:250px; min-height:35px; padding:8px 12px; margin-top:auto; border:1px solid #e7e7e9; border-radius:24px; box-shadow:0 1px 3px #00000012; background:#fff; color:#11151b; font-size:11px; line-height:1.3; font-weight:500; text-decoration:none; }
.contact-social-item a:hover { background:#f6f9ff; border-color:#c7d8f5; }
.contact-social-item a:focus-visible { outline:2px solid #2467ed; outline-offset:3px; }
@media(max-width:760px) { .contact-social { grid-template-columns:repeat(2,minmax(0,1fr)); } .contact-social-item { padding:32px 20px; } .contact-social-item:nth-child(3) { border-left:0; } .contact-social-item:nth-child(n+3) { border-top:1px solid #eceef1; } }
@media(max-width:400px) { .contact-social { grid-template-columns:1fr; } .contact-social-item + .contact-social-item { border-left:0; border-top:1px solid #eceef1; } }

/* Contact FAQ reference layout. */
.contact-faq { padding:70px 6% 64px; background:#fff; color:#121421; }
.contact-faq-header { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:76px; }
.contact-faq-eyebrow { display:block; color:#0643ed; font-size:19px; font-weight:500; margin-bottom:20px; }
.contact-faq-header h2 { margin:0; font-size:clamp(36px,4vw,57px); font-weight:500; letter-spacing:-2px; line-height:1.22; color:#121421; }
.contact-faq-tabs { display:flex; flex-shrink:0; padding:4px; border:1px solid #e4e5e8; border-radius:40px; gap:5px; }
.contact-faq-tabs button { border:0; border-radius:30px; padding:12px 21px; background:transparent; color:#515a69; font:inherit; font-size:17px; font-weight:400; cursor:pointer; }
.contact-faq-tabs button[aria-selected="true"] { background:linear-gradient(#6ba5ff,#3173fc 50%,#073cf0); color:white; box-shadow:inset 0 1px 1px #ffffff80,0 1px 2px #134bea33; }
.contact-faq-panel { border:1px solid #e3e4e7; border-radius:28px; padding:8px; }
.contact-faq-panel[hidden] { display:none; }
.contact-faq-panel details { border:1px solid transparent; border-radius:15px; }
.contact-faq-panel summary { display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; padding:30px 28px; font-size:20px; line-height:1.5; font-weight:500; letter-spacing:-.45px; }
.contact-faq-panel summary::-webkit-details-marker { display:none; }
.contact-faq-panel summary svg { width:22px; height:22px; flex-shrink:0; color:#98a1af; }
.contact-faq-panel details[open] { background:linear-gradient(#fff 12%,#edf2ff); border-color:#e5e7ed; box-shadow:0 14px 20px #17294c0b; }
.contact-faq-panel details[open] summary { padding-bottom:12px; }
.contact-faq-panel details[open] summary svg { transform:rotate(180deg); color:#555d69; }
.contact-faq-panel p { color:#747d8c; font-size:18px; line-height:1.6; margin:0; padding:0 28px 28px; }
.contact-faq button:focus-visible,.contact-faq summary:focus-visible { outline:2px solid #2869ff; outline-offset:3px; }
@media(max-width:900px) { .contact-faq { padding:52px 5%; } .contact-faq-header { margin-bottom:42px; } .contact-faq-tabs button { padding:10px 14px; font-size:14px; } .contact-faq-panel summary { font-size:17px; padding:23px 20px; } .contact-faq-panel p { font-size:15px; padding:0 20px 24px; } }
@media(max-width:650px) { .contact-faq-header { flex-direction:column; align-items:flex-start; gap:24px; } .contact-faq-header h2 { font-size:36px; letter-spacing:-1px; } .contact-faq-eyebrow { font-size:15px; margin-bottom:12px; } .contact-faq-panel { border-radius:20px; padding:5px; } .contact-faq-panel summary { padding:20px 14px; gap:12px; font-size:16px; } .contact-faq-panel p { padding:0 14px 20px; font-size:14px; } }
