/* Contact experience v5 — route-scoped refinement matching the About-page surface language. */
body[data-page="contact"] .contact-v4{--ct-line:rgba(59,159,189,.38);--ct-surface:radial-gradient(circle at 94% 10%,rgba(221,76,193,.1),transparent 25%),linear-gradient(135deg,rgba(255,255,255,.95),rgba(230,255,251,.82),rgba(245,242,255,.86));--ct-card:linear-gradient(145deg,rgba(255,255,255,.94),rgba(237,255,252,.82) 58%,rgba(250,242,255,.78))}
body[data-page="contact"] .contact-v4 h1,body[data-page="contact"] .contact-v4 h2,body[data-page="contact"] .contact-v4 h3{text-shadow:none!important}

body[data-page="contact"] .contact-v4-hero,body[data-page="contact"] .contact-v4-main>form,body[data-page="contact"] .contact-info,body[data-page="contact"] .contact-hours,body[data-page="contact"] .contact-v4-lower>article,body[data-page="contact"] .contact-v4-cta{border:1px solid var(--ct-line)!important;background:var(--ct-surface)!important;box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),0 15px 31px rgba(34,102,132,.09)!important}

body[data-page="contact"] .contact-v4-hero{min-height:420px!important;padding:35px 60px!important;background:radial-gradient(circle at 90% 11%,rgba(31,210,201,.17),transparent 26%),radial-gradient(circle at 6% 91%,rgba(224,82,196,.13),transparent 24%),linear-gradient(120deg,#fff,rgba(235,255,252,.94) 57%,rgba(255,241,251,.92))!important}
body[data-page="contact"] .contact-v4-hero h1{max-width:none!important;margin:17px 0 13px!important;font-size:25px!important;line-height:1.14!important;letter-spacing:0!important;white-space:nowrap!important;text-shadow:none!important}
body[data-page="contact"] .contact-v4-hero>picture{display:flex!important;align-items:center;justify-content:center;overflow:visible!important}
body[data-page="contact"] .contact-v4-hero>picture img{width:min(100%,610px)!important;max-height:390px!important;filter:drop-shadow(0 24px 27px rgba(20,123,156,.18))!important;animation:contactHeroFloat 5.4s ease-in-out infinite!important}
@keyframes contactHeroFloat{0%,100%{transform:translate3d(0,0,0) rotate(-.8deg)}50%{transform:translate3d(0,-13px,0) rotate(.8deg)}}

body[data-page="contact"] .contact-v4-hero ul{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px!important;margin-top:25px!important}
body[data-page="contact"] .contact-v4-hero li{position:relative;min-height:78px;padding:12px 13px;border:1px solid rgba(61,159,190,.31);border-radius:14px;background:var(--ct-card);box-shadow:inset 1px 1px 0 #fff,0 9px 19px rgba(35,103,135,.09);transition:transform .25s ease,border-color .25s ease;animation:contactTraitFloat 4.7s ease-in-out infinite}
body[data-page="contact"] .contact-v4-hero li:nth-child(2){animation-delay:-1.45s;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(249,238,253,.81),rgba(230,255,252,.82))}
body[data-page="contact"] .contact-v4-hero li:nth-child(3){animation-delay:-2.9s}
body[data-page="contact"] .contact-v4-hero li:hover{transform:translateY(-4px);border-color:rgba(50,151,213,.55)}
body[data-page="contact"] .contact-v4-hero li>i{flex:0 0 46px;width:46px;height:46px;border:5px solid #fff!important;background:linear-gradient(145deg,#dcfff9,#e6f1ff,#f9e1f5)!important;box-shadow:inset 0 1px #fff,0 8px 17px rgba(36,108,138,.15)!important;color:#315ee6!important}
body[data-page="contact"] .contact-v4-hero li:nth-child(2)>i{color:#00a7af!important}body[data-page="contact"] .contact-v4-hero li:nth-child(3)>i{color:#9139df!important}
body[data-page="contact"] .contact-v4-hero li svg{width:21px!important;height:21px!important}
@keyframes contactTraitFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}

body[data-page="contact"] .contact-fields label{border-color:rgba(69,160,188,.34)!important;background:rgba(255,255,255,.74)!important;box-shadow:inset 0 1px rgba(255,255,255,.92)!important;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body[data-page="contact"] .contact-fields label:focus-within{border-color:#28a9d3!important;box-shadow:0 0 0 3px rgba(38,169,211,.12),inset 0 1px #fff!important;transform:translateY(-1px)}
body[data-page="contact"] .contact-fields label.message{display:block!important;position:relative!important;padding:0!important}
body[data-page="contact"] .contact-fields label.message>i{position:absolute!important;z-index:2;top:17px!important;left:10px!important;width:24px!important;height:24px!important;margin:0!important;overflow:visible!important}
body[data-page="contact"] .contact-fields label.message textarea{width:100%!important;height:188px!important;min-height:188px!important;max-height:188px!important;padding:18px 42px 28px!important;line-height:21px!important}

body[data-page="contact"] .contact-info{position:relative;overflow:hidden;padding:28px!important}
body[data-page="contact"] .contact-info:after{position:absolute;top:-55px;right:-55px;width:160px;height:160px;border:1px solid rgba(51,171,198,.2);border-radius:50%;background:radial-gradient(circle at 34% 31%,rgba(255,255,255,.92),rgba(81,216,208,.12) 46%,rgba(211,77,196,.1));content:"";pointer-events:none}
body[data-page="contact"] .contact-info h2{position:relative;z-index:1;margin:14px 0 10px!important;font-size:25px!important;line-height:1.15!important;letter-spacing:0!important;white-space:nowrap!important;text-shadow:none!important}
body[data-page="contact"] .contact-methods{gap:10px!important}
body[data-page="contact"] .contact-methods>a{position:relative;z-index:1;grid-template-columns:58px 1fr 34px!important;min-height:76px;padding:9px 12px 9px 9px!important;border:1px solid rgba(59,155,187,.28);border-radius:16px!important;background:var(--ct-card)!important;box-shadow:inset 1px 1px #fff,0 8px 18px rgba(38,101,132,.08)!important;transition:transform .22s ease,border-color .22s ease!important}
body[data-page="contact"] .contact-methods>a:hover{transform:translateX(4px);border-color:rgba(39,145,213,.52)}
body[data-page="contact"] .contact-methods a>i{background:linear-gradient(145deg,#ddfff9,#e9efff,#f7e1f6)!important;box-shadow:inset 0 1px #fff,0 7px 15px rgba(35,104,136,.12)!important}
body[data-page="contact"] .contact-methods a>strong{display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(45,151,189,.28);border-radius:50%;background:linear-gradient(145deg,#e6fffb,#f5e7f7);color:#127fac}
body[data-page="contact"] .contact-methods a>strong svg{width:16px;height:16px}

body[data-page="contact"] .contact-hours time{display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(76,143,205,.32);border-radius:50%;background:linear-gradient(145deg,#dcfff8,#e7edff,#fae3f7);box-shadow:inset 0 1px #fff,0 8px 18px rgba(43,99,140,.13);font-size:0!important}body[data-page="contact"] .contact-hours time svg{width:31px;height:31px;color:#6040df}

body[data-page="contact"] .contact-v4-lower>article{background:var(--ct-surface)!important}
body[data-page="contact"] #office-location h2{display:flex;align-items:center;gap:9px;text-shadow:none!important}body[data-page="contact"] #office-location h2>svg{width:25px;height:25px;color:#079eb1}
body[data-page="contact"] .contact-mini-faq{padding:25px!important}
body[data-page="contact"] .contact-mini-faq h2{position:relative;z-index:1;max-width:none!important;margin:0 0 6px!important;font-size:25px!important;line-height:1.15!important;white-space:nowrap!important;text-shadow:none!important}
body[data-page="contact"] .contact-mini-faq picture{width:115px!important;filter:drop-shadow(0 12px 17px rgba(47,89,169,.14));animation:contactFaqFloat 4.5s ease-in-out infinite}
@keyframes contactFaqFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}
body[data-page="contact"] .contact-mini-faq details{overflow:hidden;margin-top:10px!important;border-color:rgba(68,156,187,.31)!important;border-radius:12px!important;background:var(--ct-card)!important;box-shadow:inset 0 1px #fff,0 6px 14px rgba(37,98,128,.06)}
body[data-page="contact"] .contact-mini-faq summary{position:relative;padding:13px 45px 13px 14px!important;list-style:none}body[data-page="contact"] .contact-mini-faq summary::-webkit-details-marker{display:none}body[data-page="contact"] .contact-mini-faq summary:after{position:absolute;top:50%;right:13px;width:24px;height:24px;translate:0 -50%;border:1px solid rgba(42,151,189,.3);border-radius:50%;background:linear-gradient(145deg,#dffff9,#f4e5f7);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a86ad' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 7v10M7 12h10'/%3E%3C/svg%3E");background-size:15px;background-repeat:no-repeat;background-position:center;content:""}body[data-page="contact"] .contact-mini-faq details[open] summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a86ad' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E")}

body[data-page="contact"] .contact-button,body[data-page="contact"] .contact-mini-faq>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:46px!important;height:auto!important;padding:12px 19px!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:12px!important;background:linear-gradient(105deg,#08c7ba 0%,#178fe7 52%,#d642ca 100%)!important;box-shadow:inset 0 1px rgba(255,255,255,.58),0 11px 22px rgba(48,91,173,.2)!important;color:#fff!important;font-weight:800!important;text-decoration:none!important;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease!important}
body[data-page="contact"] .contact-button:hover,body[data-page="contact"] .contact-mini-faq>a:hover{transform:translateY(-2px);filter:saturate(1.12);box-shadow:inset 0 1px rgba(255,255,255,.66),0 15px 28px rgba(48,91,173,.25)!important}
body[data-page="contact"] .contact-button svg,body[data-page="contact"] .contact-mini-faq>a svg{width:18px;height:18px}body[data-page="contact"] .contact-button .button-icon{display:grid;margin-left:auto}

body[data-page="contact"] .contact-v4-cta{background:radial-gradient(circle at 95% 90%,rgba(14,226,211,.23),transparent 27%),radial-gradient(circle at 5% 16%,rgba(224,86,194,.15),transparent 28%),linear-gradient(115deg,#f2fffd,#ebf9ff 58%,#faeefa)!important}
body[data-page="contact"] .contact-v4-cta picture img{filter:drop-shadow(0 16px 19px rgba(35,101,150,.15));animation:contactCtaFloat 5s ease-in-out infinite}
body[data-page="contact"] .contact-v4-cta h2{font-size:30px!important;text-shadow:none!important}
@keyframes contactCtaFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}

@media(prefers-reduced-motion:reduce){body[data-page="contact"] .contact-v4-hero>picture img,body[data-page="contact"] .contact-v4-hero li,body[data-page="contact"] .contact-mini-faq picture,body[data-page="contact"] .contact-v4-cta picture img{animation:none!important}}
@media(max-width:1120px){body[data-page="contact"] .contact-v4-hero h1,body[data-page="contact"] .contact-info h2,body[data-page="contact"] .contact-mini-faq h2{white-space:normal!important}body[data-page="contact"] .contact-v4-hero ul{grid-template-columns:1fr}}
@media(max-width:900px){body[data-page="contact"] .contact-v4-hero{padding:34px!important}body[data-page="contact"] .contact-v4-hero ul{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-page="contact"] .contact-v4-main{grid-template-columns:1fr!important}}
@media(max-width:620px){body[data-page="contact"] .contact-v4-hero{padding:26px 18px 8px!important}body[data-page="contact"] .contact-v4-hero h1,body[data-page="contact"] .contact-info h2,body[data-page="contact"] .contact-mini-faq h2{font-size:25px!important;white-space:normal!important}body[data-page="contact"] .contact-v4-hero ul{grid-template-columns:1fr!important}body[data-page="contact"] .contact-mini-faq picture{width:86px!important;opacity:.58}}
