/* FineHosting corporate contact form. Scoped to avoid changing the rest of the homepage. */
.contact-layout:has(.fh-contact-card) { align-items:start; }
.fh-contact-card { min-width:0; position:relative; }
.fh-contact-card [hidden] { display:none!important; }
.fh-contact-card .contact-kicker { margin-bottom:17px; }
.fh-contact-form { margin:0; scroll-margin-top:24px; outline-offset:9px; }
.fh-contact-form h3,.fh-contact-success h3 { font-size:24px; line-height:1.2; letter-spacing:-.045em; font-weight:650; margin:0 0 11px; color:var(--ink,#1c2825); }
.fh-form-intro { font-size:13px; line-height:1.7; color:var(--muted,#59655e); margin:0 0 24px; max-width:365px; }
.fh-contact-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:17px 15px; }
.fh-contact-field { min-width:0; }
.fh-field-wide { grid-column:1/-1; }
.fh-contact-field label { display:block; color:var(--ink,#1c2825); font-size:12px; font-weight:600; line-height:1.6; margin-bottom:7px; }
.fh-contact-field label span { color:var(--muted,#59655e); font-size:10px; font-weight:400; padding-left:5px; }
.fh-contact-field input,.fh-contact-field select,.fh-contact-field textarea { display:block; width:100%; box-sizing:border-box; margin:0; min-height:47px; border:1px solid #cbd4c4; background:#fff; border-radius:8px; padding:11px 12px; font:inherit; font-size:16px; line-height:1.5; color:var(--ink,#1c2825); transition:border-color .16s,box-shadow .16s; }
.fh-contact-field select { padding-right:25px; }
.fh-contact-field textarea { resize:vertical; min-height:124px; }
.fh-contact-field input:focus,.fh-contact-field select:focus,.fh-contact-field textarea:focus { outline:2px solid var(--blue,#3553ed); outline-offset:2px; border-color:var(--blue,#3553ed); box-shadow:0 0 0 4px #3553ed0b; }
.fh-contact-field ::placeholder { color:#6d776f; opacity:1; font-size:13px; }
.fh-contact-field [aria-invalid="true"] { border-color:#a63431; }
.fh-contact-card .fh-field-error { margin:6px 0 0; font-size:12px; line-height:1.5; color:#922b25; }
.fh-contact-card .fh-form-status { background:#fff4eb; color:#7a351b; border:1px solid #e3bea6; border-radius:8px; font-size:13px; line-height:1.65; padding:12px 14px; margin:0 0 19px; overflow-wrap:anywhere; }
.fh-contact-card .fh-contact-submit { margin-top:21px; width:100%; justify-content:space-between; }
.fh-contact-submit:disabled { opacity:.63; cursor:wait; transform:none; }
.fh-contact-form[aria-busy="true"] .fh-contact-submit .icon { visibility:hidden; }
.fh-contact-card .fh-contact-note { font-size:11px; line-height:1.8; margin:13px 0 0; color:#586453; }
.fh-contact-card .fh-contact-fallback { font-size:12px; line-height:1.7; margin:13px 0 0; }
.fh-contact-fallback a { color:var(--blue,#3553ed); text-decoration:underline; text-underline-offset:3px; }
.fh-contact-hp { position:absolute!important; width:1px!important; height:1px!important; margin:0!important; padding:0!important; overflow:hidden!important; clip-path:inset(50%); pointer-events:none; white-space:nowrap; }
.fh-contact-card [data-contact-challenge]:not(:empty) { margin-top:19px; }
.fh-contact-success { padding:6px 0 10px; outline-offset:7px; }
.fh-success-icon { display:grid; place-items:center; width:47px; height:47px; font-size:23px; font-weight:600; color:#294c36; background:#d9e8b8; border-radius:50%; margin:0 0 21px; }
.fh-contact-success p { font-size:14px; line-height:1.85; margin:0; }
.fh-contact-success .fh-receipt { margin-top:18px; font-size:11px; letter-spacing:.03em; overflow-wrap:anywhere; }
.fh-contact-card.fh-contact-highlight { box-shadow:0 0 0 4px #3553ed20,0 16px 45px -18px #3553ed35; transition:box-shadow .3s ease; }
.fh-contact-standalone { --ink:#1c2825; --blue:#3553ed; --muted:#59655e; --dark:#1c2b26; --lime:#e1efb0; background:#f8f9f5; color:var(--ink); margin:0; font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.fh-contact-standalone *, .fh-contact-standalone *::before, .fh-contact-standalone *::after { box-sizing:border-box; }
.fh-contact-standalone h1,.fh-contact-standalone h3,.fh-contact-standalone p { margin:0; }
.fh-contact-standalone a { color:inherit; text-decoration:none; }
.fh-contact-standalone .icon { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.fh-svg-defs { position:absolute; width:0; height:0; overflow:hidden; }
.fh-standalone-header { max-width:1184px; margin:auto; padding:26px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #dce2d9; }
.fh-brand { font-size:22px; font-weight:750; letter-spacing:-.05em; display:flex; align-items:center; gap:10px; }
.fh-brand span { display:grid; place-items:center; width:35px; height:35px; color:#fff; background:#3553ed; border-radius:10px; font-size:13px; letter-spacing:-.03em; }
.fh-back-link { font-size:12px; font-weight:600; }
.fh-standalone-main { max-width:1140px; margin:72px auto 84px; padding:0 32px; display:grid; grid-template-columns:1fr 1.1fr; gap:65px; align-items:start; }
.fh-standalone-intro .fh-eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.13em; color:#59655e; font-weight:700; margin-bottom:20px; }
.fh-standalone-intro h1 { font-size:42px; letter-spacing:-.055em; font-weight:650; line-height:1.12; margin-bottom:22px; }
.fh-standalone-intro>p:not(.fh-eyebrow) { font-size:14px; color:#59655e; line-height:1.85; max-width:380px; margin-bottom:24px; }
.fh-contact-standalone .contact-box { padding:33px; background:#eef1e7; border:1px solid #e0e5d6; border-radius:16px; }
.fh-contact-standalone .contact-kicker { color:#5a6950; display:flex; align-items:center; gap:8px; font-size:10px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; margin:0 0 19px; }
.fh-contact-standalone .contact-kicker .icon { width:17px; height:17px; }
.fh-contact-standalone .button { display:flex; gap:20px; align-items:center; min-height:53px; padding:14px 20px; border:0; border-radius:8px; font:600 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; cursor:pointer; }
.fh-contact-standalone .button-blue { background:var(--blue); color:#fff; }
.fh-contact-standalone .button-blue:hover { background:#253ec6; }
.fh-contact-standalone .text-link { display:inline-flex; align-items:center; gap:15px; font-size:13px; margin-top:24px; font-weight:600; }
.fh-contact-standalone :focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.fh-standalone-footer { text-align:center; padding:24px; color:#59655e; font-size:12px; border-top:1px solid #dce2d9; }
@media (max-width:1000px) and (min-width:801px) { .fh-contact-fields { grid-template-columns:1fr; } }
@media (max-width:800px) { .fh-standalone-main { grid-template-columns:1fr; margin:40px auto; max-width:650px; gap:30px; } .fh-standalone-intro h1 { font-size:36px; } }
@media (max-width:500px) { .fh-contact-fields { grid-template-columns:1fr; gap:16px; } .fh-contact-form h3,.fh-contact-success h3 { font-size:23px; } .fh-form-intro { margin-bottom:20px; } .fh-standalone-header { padding:20px; } .fh-standalone-header .fh-back-link { font-size:11px; max-width:105px; text-align:right; } .fh-standalone-main { padding:0 20px; } .fh-contact-standalone .contact-box { padding:24px 20px; } .fh-standalone-intro h1 { font-size:32px; } }
@media (prefers-reduced-motion:reduce) { .fh-contact-card *, .fh-contact-card.fh-contact-highlight { transition:none!important; scroll-behavior:auto!important; } }
@media (forced-colors:active) { .fh-contact-card,.fh-contact-submit,.fh-form-status { border:1px solid ButtonText; } }
