/* One contact experience, directly in the portfolio. */
.contact-section--form{scroll-margin-top:0;padding-top:62px;padding-bottom:66px}
.contact-section--form .section-top{gap:20px;margin-bottom:42px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(35px,6vw,88px);align-items:start}
.contact-intro{min-width:0;padding-top:17px}
.contact-intro h2{font-size:clamp(38px,3.6vw,56px);line-height:1.17;letter-spacing:-.04em;max-width:540px}
.contact-intro-body{font-size:17px;line-height:1.8;color:#c0cfe6;max-width:430px;margin-top:23px}
.contact-direct{margin-top:42px;padding-top:27px;border-top:1px solid #b9d0fa29}
.contact-direct-label{display:block;font-size:10px;letter-spacing:.08em;font-weight:600;color:#9cb7dc;margin-bottom:13px}
.contact-direct .email-wrap{gap:9px;align-items:center;max-width:100%}
.contact-direct .email-link{font-size:clamp(13px,1.27vw,18px);letter-spacing:-.015em;overflow-wrap:anywhere;min-width:0}
.contact-direct .copy-email{flex:none}
.contact-whatsapp{display:flex;align-items:center;gap:12px;color:#ccd9ee;font-size:13px;line-height:1.6;min-height:44px;margin-top:8px;flex-wrap:wrap}
.contact-whatsapp>span:first-child{font-weight:600;color:#fff}
.contact-whatsapp .icon{width:15px;height:15px;color:#a7bffa;transition:translate .25s}
.contact-whatsapp:hover .icon{translate:2px -2px}
.contact-location{display:flex;align-items:center;gap:13px;margin-top:38px;color:#c1d1e8}
.contact-location-mark{display:grid;place-items:center;width:43px;height:43px;flex:none;background:#203856;border:1px solid #b0c5eb26;border-radius:12px;color:#b8ccf2}
.contact-location-mark .icon{width:21px;height:21px}
.contact-location p{display:grid;gap:3px;font-size:12px;line-height:1.5}
.contact-location strong{font-weight:600;color:#e5edf9}
.contact-location p>span{color:#9cb2d1}
.contact-form{min-width:0;padding:clamp(23px,2.5vw,35px);border:1px solid #dfe7f3;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 24px 60px #08132226;scroll-margin-top:0}
.contact-form-heading{margin-bottom:25px}
.contact-form .contact-form-heading .eyebrow{color:#4b6fa8;font-size:10px;letter-spacing:.09em;margin-bottom:10px}
.contact-form-heading h3{font-size:clamp(23px,2vw,29px);line-height:1.3;letter-spacing:-.025em;color:#203756}
.contact-form-heading>p{font-size:12px;line-height:1.6;color:#71819a;margin-top:9px}
.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 16px}
.contact-field{display:grid;gap:8px;min-width:0}
.contact-field--wide{grid-column:1/-1}
.contact-field>span{font-size:13px;line-height:1.4;font-weight:600;color:#344d70}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;box-sizing:border-box;min-height:49px;padding:12px 14px;border:1px solid #cfd9e8;border-radius:9px;background:#f9fbfe;color:#203754;font:inherit;font-size:16px;line-height:1.5;box-shadow:0 2px 4px #20375603;transition:border-color .2s,box-shadow .2s,background .2s}
.contact-field textarea{resize:vertical;min-height:137px;max-height:450px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#7a8ba2;font-size:13px;opacity:1}
.contact-field input:hover,.contact-field textarea:hover{border-color:#a8bddc}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#6588f3;background:#fff;box-shadow:0 0 0 3px #315bf414}
.contact-field input:disabled,.contact-field textarea:disabled{opacity:.75}
.contact-verification{margin-top:20px;min-width:0}
.contact-turnstile{min-width:0;max-width:100%}
.contact-verification-status{font-size:11px;line-height:1.55;color:#6c7e96;margin-top:6px}
.contact-verification-error{font-size:12px;line-height:1.6;color:#a6363c;margin-top:8px}
.contact-verification-retry{display:inline-flex;align-items:center;min-height:36px;margin-top:5px;padding:6px 0;font-size:12px;font-weight:600;color:#315bf4;text-decoration:underline;text-underline-offset:4px}
.contact-submit{display:flex;justify-content:space-between;width:100%;margin-top:20px;min-height:52px;font-size:14px;letter-spacing:0}
.contact-submit:disabled{cursor:wait;opacity:.75;transform:none!important;box-shadow:none!important}
.contact-submit .icon{width:19px;height:19px}
.contact-spinner{width:17px;height:17px;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;animation:contact-spin .8s linear infinite;flex:none}
.contact-privacy{font-size:10px;line-height:1.7;color:#718098;margin-top:14px}
.contact-privacy a{color:#4a67a4;text-decoration:underline;text-underline-offset:3px}
.contact-form-state{padding:14px 16px;margin-bottom:21px;border:1px solid;border-radius:10px;font-size:13px;line-height:1.6}
.contact-form-state strong,.contact-form-state>span{display:block}
.contact-form-state strong{font-size:14px;margin-bottom:4px}
.contact-form-state--success{background:#edf8f2;border-color:#b6dcca;color:#276247}
.contact-form-state--error{background:#fff4f3;border-color:#edcbc7;color:#8e3d3b}
.contact-form-state:focus{outline:2px solid currentColor;outline-offset:3px}
.contact-noscript{font-size:13px;line-height:1.6;color:#8e3d3b;margin-top:15px}
.contact-noscript a{color:#315bf4;text-decoration:underline}
.contact-form [hidden]{display:none!important}
@keyframes contact-spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px}.contact-intro h2{font-size:40px}.contact-intro-body{font-size:16px}.contact-field-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){.contact-section--form{padding-top:44px;padding-bottom:48px;scroll-margin-top:0}.contact-section--form .section-top{margin-bottom:30px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}.contact-intro{padding-top:0}.contact-intro h2{font-size:clamp(34px,6vw,46px);max-width:640px}.contact-intro-body{max-width:620px;margin-top:16px}.contact-direct{margin-top:24px;padding-top:20px}.contact-direct .email-link{font-size:17px}.contact-location{margin-top:20px}.contact-form{padding:27px;scroll-margin-top:0}.contact-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.contact-section--form{padding-top:36px;padding-bottom:38px}.contact-section--form .section-top{gap:14px}.contact-section--form .section-top>.availability{font-size:10px}.contact-intro h2{font-size:35px}.contact-intro-body{font-size:15px}.contact-direct .email-link{font-size:14px}.contact-whatsapp{font-size:12px;gap:10px}.contact-form{padding:21px 18px;border-radius:17px}.contact-form-heading h3{font-size:24px}.contact-field-grid{grid-template-columns:minmax(0,1fr);gap:18px}.contact-field input,.contact-field textarea{padding:12px;min-height:49px}.contact-field textarea{min-height:140px}.contact-form-heading{margin-bottom:23px}.contact-submit{min-height:52px}.contact-privacy{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea,.contact-whatsapp .icon{transition:none}.contact-spinner{animation:none}}
