/* /contact — routes, reach details, the HubSpot form restyled */
.ct{position:relative;z-index:1;padding-top:40px;padding-bottom:72px}
@media(min-width:980px){.ct{padding-top:60px;padding-bottom:112px}}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media(min-width:980px){.ct-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}.ct-side{position:sticky;top:32px}}

/* routes */
.site .ct-k{font-family:var(--f-m);font-size:12.5px;color:var(--muted)}
.routes{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.route{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;align-items:start;padding:18px;border-radius:var(--r2);background:#fff;border:1px solid var(--line-2);transition:border-color .25s,box-shadow .25s}
.route:hover{border-color:var(--p100);box-shadow:var(--sh)}
.route-i{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:var(--pale);color:var(--p600);display:grid;place-items:center}
.route-i svg{width:22px;height:22px}
.route-t{display:flex;flex-direction:column;gap:3px}
.route-t b{font-size:17.5px;font-weight:500;letter-spacing:-.015em}
.route-t span{font-size:14.5px;line-height:1.45;color:var(--body)}
.route .btn{grid-column:2;justify-self:start;margin-top:10px}
.site .btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.site .btn-ghost:hover{background:var(--cloud)}
@media(min-width:560px){.route{grid-template-columns:44px minmax(0,1fr) auto;align-items:center}.route-i{grid-row:auto}.route .btn{grid-column:3;margin-top:0}}
@media(min-width:980px) and (max-width:1179px){.route{grid-template-columns:44px minmax(0,1fr);align-items:start}.route-i{grid-row:span 2}.route .btn{grid-column:2;margin-top:10px}}

/* reach */
.reach{display:flex;flex-direction:column;gap:2px;margin-top:22px;padding-top:12px;border-top:1px solid var(--line-2)}
.reach-l{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;padding:10px 0;font-size:15px;line-height:1.45;text-decoration:none;color:var(--body)}
.site .reach-l{color:var(--body)}
.reach-l svg{width:20px;height:20px;margin-top:1px;color:var(--purple)}
.reach-l:hover span{color:var(--ink)}
.reach-l u{text-underline-offset:3px;color:var(--ink)}

/* form card */
.form-card{position:relative;padding:24px 20px 22px;border-radius:var(--r3);background:#fff;border:1px solid var(--line-2);box-shadow:0 34px 60px -40px rgba(32,30,78,.5)}
@media(min-width:720px){.form-card{padding:36px 34px 30px}}
.form-h{font-weight:500;font-size:clamp(28px,6.4vw,36px);line-height:1.05;letter-spacing:-0.04em}
.site .form-sub{margin-top:8px;font-size:15.5px;color:var(--body)}
.hs-wrap{margin-top:22px;min-height:380px}

/* loading skeleton (removed when the form is ready) */
.sk{display:flex;flex-direction:column;gap:14px}
.sk i{display:block;height:48px;border-radius:12px;background:linear-gradient(90deg,var(--cloud) 0%,#EDEBF2 50%,var(--cloud) 100%);background-size:200% 100%;animation:skm 1.4s ease-in-out infinite}
.sk i.tall{height:120px}
.sk i.btn-sk{height:54px;width:160px;border-radius:999px}
@keyframes skm{to{background-position:-200% 0}}

/* HubSpot form (v2 embed, css:'' so only these styles apply) */
.hs-wrap form{display:flex;flex-direction:column;gap:14px;font-family:var(--f-d)}
.hs-wrap fieldset{max-width:none!important;margin:0;padding:0;border:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media(min-width:560px){.hs-wrap fieldset.form-columns-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hs-wrap fieldset .hs-form-field{width:auto!important;float:none!important}
.hs-wrap .input{margin:0!important}
.hs-wrap label{display:block;margin-bottom:7px;font-size:14px;font-weight:500;color:var(--ink)}
.hs-wrap .hs-form-required{margin-left:3px;color:var(--purple)}
.hs-wrap .hs-field-desc{margin:-2px 0 8px;font-size:13px;color:var(--muted)}
.hs-wrap input.hs-input:not([type=checkbox]):not([type=radio]),.hs-wrap select.hs-input,.hs-wrap textarea.hs-input{width:100%!important;max-width:none;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--page);font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.hs-wrap select.hs-input{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23615F7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.hs-wrap textarea.hs-input{height:auto;min-height:120px;padding:12px 14px;resize:vertical;line-height:1.5}
.hs-wrap .hs-input:hover{border-color:#C9C7D6}
.hs-wrap .hs-input:focus{outline:0;border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px rgba(155,82,250,.14)}
.hs-wrap .hs-input.invalid.error{border-color:#D14343}
.hs-wrap .inputs-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.hs-wrap .inputs-list label{display:flex;gap:10px;align-items:flex-start;margin:0;font-weight:400;font-size:14.5px;color:var(--body)}
.hs-wrap input[type=checkbox],.hs-wrap input[type=radio]{width:18px;height:18px;margin:1px 0 0;accent-color:var(--purple);flex:none}
.hs-wrap .hs-error-msgs{margin:6px 0 0;padding:0;list-style:none}
.hs-wrap .hs-error-msg,.hs-wrap .hs-main-font-element{font-size:13px;color:#C23434}
.hs-wrap .legal-consent-container,.hs-wrap .legal-consent-container p{font-size:12.5px;line-height:1.5;color:var(--muted)}
.hs-wrap .legal-consent-container a{color:var(--ink)}
.hs-wrap .hs-richtext{font-size:14px;color:var(--body)}
.hs-wrap .hs_submit{margin-top:6px}
.hs-wrap .actions{margin:0;padding:0}
.hs-wrap input[type=submit],.hs-wrap .hs-button{display:inline-flex;align-items:center;height:54px;padding:0 64px 0 24px;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:500;color:#F4F3F6;cursor:pointer;-webkit-appearance:none;appearance:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 42'%3E%3Ccircle cx='21' cy='21' r='21' fill='%239B52FA'/%3E%3Cpath d='M16 26l10-10M17 16h9v9' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 6px center/42px 42px,var(--ink);transition:background-color .3s}
.hs-wrap input[type=submit]:hover{background-color:var(--royal-2)}
.hs-wrap .submitted-message{padding:28px 0;font-size:18px;line-height:1.5;color:var(--ink)}
.hs-wrap .hs-form-field>label:empty{display:none}

/* phone: country picker folded into the number field */
.hs-wrap .hs-fieldtype-phonenumber .input{position:relative}
.hs-wrap .hs-fieldtype-intl-phone{display:flex;align-items:center;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--page);transition:border-color .2s,background .2s,box-shadow .2s}
.hs-wrap .hs-fieldtype-intl-phone:hover{border-color:#C9C7D6}
.hs-wrap .hs-fieldtype-intl-phone:focus-within{border-color:var(--purple);background:#fff;box-shadow:0 0 0 4px rgba(155,82,250,.14)}
.hs-wrap .hs-fieldtype-intl-phone select.hs-input{position:absolute;left:0;top:0;z-index:2;width:76px!important;height:48px;padding:0;opacity:0;cursor:pointer;border:0}
.hs-wrap .hs-fieldtype-intl-phone input.hs-input[type=tel]{flex:1;min-width:0;height:46px;margin-left:76px;padding:0 14px 0 12px;border:0!important;background:transparent!important;box-shadow:none!important}
.cc{position:absolute;left:1px;top:1px;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;width:75px;height:46px;border-right:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);pointer-events:none}
.cc i{font-style:normal;font-size:19px;line-height:1}
.cc svg{width:14px;height:14px;color:var(--muted)}
.hs-wrap .hs-fieldtype-intl-phone select.hs-input:focus-visible~*{outline:0}

/* fallback if the form can't load */
.form-fail{margin-top:18px;padding:16px;border-radius:12px;background:var(--pale);font-size:15px;line-height:1.5;color:var(--body)}
.form-fail a{color:var(--ink)}
