/* EBOX Contact page — consistent with V3 Premium Motion system */
.contact-page .contact-hero{padding-bottom:62px}
.contact-page .contact-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:465px;gap:42px}
.contact-page .contact-hero h1{max-width:690px}
.contact-page .contact-hero-visual{min-width:0;perspective:1000px}
.contact-visual-card{position:relative;isolation:isolate;overflow:hidden;min-height:380px;padding:27px 29px 31px;border:1px solid #1e5f91;border-radius:26px;background:linear-gradient(145deg,#092c55 0%,#0b3d6a 58%,#087eae 100%);box-shadow:0 28px 65px #06365b24;color:#fff}
.contact-visual-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 83% 30%,#17c2f526,transparent 32%),linear-gradient(135deg,transparent 50%,#ffffff05)}
.contact-visual-orb{position:absolute;right:-62px;top:48px;width:240px;height:240px;border:1px solid #8ce8ff35;border-radius:50%;box-shadow:0 0 0 24px #a2edff0d,0 0 0 52px #a2edff08}
.contact-visual-top{display:flex;align-items:center;gap:6px;height:25px;position:relative;z-index:2}
.contact-visual-dot{width:7px;height:7px;border-radius:50%;background:#65d2f4}.contact-visual-dot:nth-child(2){background:#8be0f8}.contact-visual-dot:nth-child(3){background:#beeefa}
.contact-visual-top b{margin-left:9px;color:#c5eaff;font-size:10px;letter-spacing:.15em;font-weight:700}
.contact-visual-label{margin:28px 0 8px;color:#81dcfa;font-size:11px;letter-spacing:.16em;font-weight:800}
.contact-visual-card>strong{display:block;max-width:300px;color:#fff;font:800 clamp(23px,2.4vw,32px)/1.15 Manrope,"DM Sans",sans-serif;letter-spacing:-.035em}
.contact-visual-line{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin-top:18px;max-width:78%}
.contact-visual-icon{display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffffff2b;border-radius:12px;background:#ffffff12;color:#92e6ff;font-size:18px;flex:0 0 37px}
.contact-visual-line>span:last-child{display:flex;min-width:0;flex-direction:column;gap:4px}.contact-visual-line small{color:#b7d8ed;font-size:11px}.contact-visual-line b{color:#fff;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.contact-hero-mascot{position:absolute;right:-4px;bottom:-12px;z-index:3;width:clamp(130px,17vw,190px);height:auto;max-height:210px;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 14px 18px #00182d35)}
.contact-page .service-benefit-row{margin-top:25px}
.contact-offices{background:#fff;padding-top:76px;padding-bottom:70px}
.contact-office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-office-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:30px;border:1px solid #dcecf6;border-radius:22px;background:linear-gradient(150deg,#fff 0%,#f7fcff 100%);box-shadow:0 12px 34px #0a477308;transition:transform .28s,border-color .28s,box-shadow .28s}
.contact-office-card:hover{transform:translateY(-4px);border-color:#a8dcf2;box-shadow:0 20px 46px #0a477312}
/* Office building illustrations: edge-to-edge cards with responsive crop and subtle hover motion. */
.contact-office-image-wrap{display:block;margin:-30px -30px 24px;overflow:hidden;border-radius:21px 21px 0 0;background:#eef7fb;line-height:0}
.contact-office-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.contact-office-card:hover .contact-office-image{transform:scale(1.035)}

.contact-office-top{display:flex;align-items:center;gap:11px;margin-bottom:21px}
.contact-location-pin{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:13px;background:#e8f8ff;color:#058ec9;font-size:25px}
.contact-office-tag{color:#0782b9;font-size:10px;font-weight:800;letter-spacing:.12em}
.contact-office-card h3{margin:0 0 15px;color:#092b56;font:800 clamp(24px,2.4vw,31px)/1.2 Manrope,"DM Sans",sans-serif;letter-spacing:-.035em}
.contact-office-card h3 a{color:inherit;text-decoration:none}.contact-office-card h3 a span{color:#069fdb;font-size:.72em;white-space:nowrap}.contact-office-card address{min-height:102px;color:#45627f;font-style:normal;font-size:17px;line-height:1.75;overflow-wrap:anywhere}
.contact-office-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:21px}
.contact-page .contact-office-card .button{min-height:43px;padding-inline:15px;font-size:13px}
.contact-text-link{color:#087eaf;font-size:15px;font-weight:700;text-decoration:none}.contact-text-link:hover{text-decoration:underline;text-underline-offset:3px}
.contact-office-hours{display:flex;align-items:center;gap:8px;margin:20px 0 0;padding-top:18px;border-top:1px solid #e0edf5;color:#617d96;font-size:14px;line-height:1.5}.contact-office-hours span{color:#058fc9;font-size:17px}
.contact-direct{background:#f4faff;padding-top:69px;padding-bottom:74px}
.contact-direct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.contact-direct-card{display:flex;min-width:0;flex-direction:column;align-items:flex-start;min-height:194px;padding:22px 19px;border:1px solid #dcecf6;border-radius:17px;background:#fff;color:inherit;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s}
.contact-direct-card:hover{transform:translateY(-3px);border-color:#a5dcf4;box-shadow:0 15px 32px #0d4b7010}
.contact-direct-icon{display:grid;place-items:center;width:39px;height:39px;margin-bottom:15px;border-radius:12px;background:#e7f7ff;color:#078bc2;font-size:19px}
.contact-direct-label{display:block;color:#6d8499;font-size:12px;font-weight:700;margin-bottom:5px}
.contact-direct-card strong{color:#0b315b;font-size:clamp(15px,1.35vw,18px);line-height:1.4;overflow-wrap:anywhere}
.contact-direct-card small{margin-top:10px;color:#5d7690;font-size:13px;line-height:1.55}
.contact-form-section{background:#fff;padding-top:80px;padding-bottom:85px}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:start;gap:clamp(30px,6vw,85px)}
.contact-form-copy{position:relative;min-width:0;padding-bottom:35px}
.contact-form-copy h2{max-width:470px;margin:0;color:#092b56;font:800 clamp(32px,3.5vw,47px)/1.12 Manrope,"DM Sans",sans-serif;letter-spacing:-.045em;text-wrap:balance}
.contact-form-copy>p:not(.eyebrow){max-width:480px;margin:18px 0 0;color:#536e89;font-size:17px;line-height:1.8}
.contact-form-hours{display:flex;align-items:center;gap:13px;margin-top:26px}.contact-form-hours .contact-direct-icon{margin:0}.contact-form-hours>div{display:flex;flex-direction:column;gap:4px}.contact-form-hours strong{color:#143a62;font-size:15px}.contact-form-hours span:not(.contact-direct-icon){color:#6a8399;font-size:14px}
.contact-form-mascot{height:165px;position:relative;margin-top:20px}.contact-form-mascot img{position:absolute;bottom:0;left:6px;width:165px;height:165px;object-fit:contain;object-position:bottom}
.contact-enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;padding:29px;border:1px solid #d9eaf5;border-radius:23px;background:linear-gradient(145deg,#fff 0%,#f6fbff 100%);box-shadow:0 18px 55px #0a47730a}
.contact-enquiry-form label{display:flex;min-width:0;flex-direction:column;gap:8px;color:#1d4368;font-size:14px;font-weight:700;line-height:1.45}
.contact-enquiry-form input,.contact-enquiry-form select,.contact-enquiry-form textarea{display:block;width:100%;min-width:0;border:1px solid #cddfea;border-radius:10px;background:#fff;padding:12px 13px;color:#183b5e;font:400 16px/1.55 "DM Sans","Noto Sans SC",sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-enquiry-form input,.contact-enquiry-form select{min-height:49px}.contact-enquiry-form textarea{min-height:120px;resize:vertical}.contact-enquiry-form input:focus,.contact-enquiry-form select:focus,.contact-enquiry-form textarea:focus{border-color:#159bd0;box-shadow:0 0 0 3px #16a9e51b}
.contact-enquiry-form .contact-message-label,.contact-enquiry-form>button,.contact-enquiry-form .contact-form-note,.contact-enquiry-form .contact-form-status{grid-column:1/-1}
.contact-enquiry-form>button{justify-content:center;min-height:52px;font-size:15px;cursor:pointer}
.contact-form-note,.contact-form-status{margin:0;color:#678098;font-size:12px;line-height:1.65}.contact-form-status:empty{display:none}
.contact-page .contact-faq{background:#f6fbff;padding-top:68px;padding-bottom:73px}
.contact-page .faq-layout{align-items:start}
.contact-final-cta .service-final-inner{min-height:280px}
@media(max-width:1000px){.contact-office-image-wrap{margin:-25px -25px 22px}.contact-page .contact-hero-grid{gap:22px;min-height:0}.contact-visual-card{min-height:365px;padding:23px}.contact-hero-mascot{width:145px}.contact-office-card{padding:25px}.contact-office-card address{font-size:16px}.contact-direct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form-layout{gap:30px}.contact-enquiry-form{padding:23px}}
@media(max-width:760px){.contact-office-image-wrap{margin:-23px -23px 21px}.contact-page .contact-hero{padding-bottom:37px}.contact-page .contact-hero-grid{grid-template-columns:1fr;gap:15px}.contact-page .contact-hero-copy{padding-bottom:0}.contact-page .contact-hero h1{font-size:clamp(36px,8vw,51px)}.contact-page .contact-hero-visual{max-width:560px;width:100%;margin:0 auto}.contact-visual-card{min-height:350px}.contact-hero-mascot{width:165px;max-height:185px}.contact-offices{padding-top:47px;padding-bottom:47px}.contact-office-grid{grid-template-columns:1fr;gap:15px}.contact-office-card{padding:23px}.contact-office-card address{min-height:0}.contact-office-actions{margin-top:17px}.contact-direct{padding-top:46px;padding-bottom:48px}.contact-direct-grid{gap:10px}.contact-direct-card{min-height:180px;padding:17px}.contact-form-section{padding-top:51px;padding-bottom:52px}.contact-form-layout{grid-template-columns:1fr;gap:23px}.contact-form-copy{padding-bottom:0}.contact-form-copy h2{font-size:clamp(31px,7vw,42px)}.contact-form-copy>p:not(.eyebrow){font-size:16px}.contact-form-mascot{display:none}.contact-enquiry-form{padding:20px;gap:15px 12px}.contact-page .contact-faq{padding-top:46px;padding-bottom:49px}}
@media(max-width:480px){.contact-office-image-wrap{margin:-20px -20px 19px;border-radius:19px 19px 0 0}.contact-page .contact-hero h1{font-size:35px;letter-spacing:-.035em}.contact-page .service-hero-intro{font-size:16px;line-height:1.72}.contact-page .service-hero-actions{align-items:stretch;flex-direction:column}.contact-page .service-hero-actions .button{width:100%}.contact-page .service-benefit-row{display:grid;grid-template-columns:1fr;gap:8px}.contact-visual-card{min-height:324px;padding:19px;border-radius:20px}.contact-visual-label{margin-top:21px}.contact-visual-card>strong{max-width:255px;font-size:25px}.contact-visual-line{max-width:77%;gap:9px;margin-top:13px}.contact-visual-icon{width:31px;height:31px;flex-basis:31px;border-radius:9px;font-size:15px}.contact-visual-line small{font-size:10px}.contact-visual-line b{font-size:12px}.contact-hero-mascot{right:-7px;width:120px;max-height:150px}.contact-office-card{padding:20px}.contact-office-card h3{font-size:25px}.contact-office-actions{align-items:flex-start;flex-direction:column}.contact-office-hours{font-size:13px}.contact-direct-grid{grid-template-columns:1fr 1fr}.contact-direct-card{min-height:170px;padding:14px 12px}.contact-direct-card strong{font-size:14px}.contact-direct-card small{font-size:12px}.contact-enquiry-form{grid-template-columns:1fr;padding:17px}.contact-enquiry-form label,.contact-enquiry-form input,.contact-enquiry-form select,.contact-enquiry-form textarea{font-size:16px}.contact-enquiry-form .contact-message-label,.contact-enquiry-form>button,.contact-enquiry-form .contact-form-note,.contact-enquiry-form .contact-form-status{grid-column:1}.contact-final-cta .service-final-inner{grid-template-columns:minmax(0,1fr) 110px}}
@media(prefers-reduced-motion:reduce){.contact-page *, .contact-page *::before,.contact-page *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.contact-page .reveal{opacity:1;transform:none}}
