.contact-page-top{background:linear-gradient(to bottom,transparent 28%,white 62%),url('assets/contact-page-hero.png') center top/100% auto no-repeat}
.contact-breadcrumbs{display:flex;gap:12px;padding-top:42px;color:#42b8f5;font-size:16px;font-weight:600}
.contact-page-hero{min-height:765px}
.contact-page-hero h1{font-size:60px;margin:120px 0 28px}
.contact-page-hero>p{font-size:19px}
.contact-benefits{margin-top:105px;gap:22px}
.contact-benefits>div{padding:20px 24px;min-width:275px}
.contact-benefits strong{font-size:24px;margin-bottom:8px}
.contact-benefits span{font-size:14px}
.contact-columns{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:85px;padding:20px 45px 110px}
.contact-detail{display:grid;grid-template-columns:60px minmax(0,1fr);gap:25px;margin-bottom:42px}
.contact-icon{width:58px;height:58px;border:2px solid #42b8f5;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:#42b8f5;flex-shrink:0}
.contact-icon svg{width:36px;height:36px}
.contact-detail h2,.form-title h2{font-size:26px;line-height:1.2;letter-spacing:0;margin-bottom:10px}
.contact-detail address{font-size:19px;line-height:1.2}
.contact-detail a:hover{text-decoration:underline}
.form-title{display:flex;align-items:center;gap:25px;margin-bottom:24px}
.contact-form-area form{padding-left:83px}
#contact-form label{display:block;font-size:19px;margin:14px 0 8px}
#contact-form input:not([type=hidden]),#contact-form select,#contact-form textarea{display:block;width:100%;border:1px solid #42b8f5;border-radius:0;padding:10px 12px;font:inherit;background:#ffffffd9;color:#222;min-height:44px}
#contact-form textarea{resize:vertical;min-height:210px}
#contact-form :is(input,select,textarea):focus-visible{outline:2px solid #06316d;outline-offset:2px}
.form-note{font-size:14px;font-style:italic;margin-top:10px}
#form-status{font-size:16px;line-height:1.4;margin:15px 0;color:#06316d}
#contact-form .button{margin-top:25px}
.contact-company{background:#f6f8fb;padding:38px 0;margin-bottom:45px}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding:0 80px}
.company-grid h2{font-size:26px;margin-bottom:28px;letter-spacing:0}
.company-grid p{font-size:19px;line-height:1.2;margin-bottom:22px}
.company-grid p:last-child{margin-bottom:0}
.company-map iframe{display:block;width:100%;height:360px;border:0;border-radius:30px}
.company-map>a{display:block;font-size:14px;text-decoration:underline;margin:10px 0}
.contact-footer{text-align:center;padding:60px 0 45px}
.contact-footer img{margin:auto;width:160px;height:auto}
.contact-footer p{margin-top:32px;font-size:18px}
@media(max-width:1100px){
.contact-page-hero{min-height:660px}.contact-page-hero h1{font-size:46px;margin-top:95px}.contact-benefits{margin-top:75px;gap:14px}.contact-benefits>div{min-width:0;padding:18px}.contact-benefits strong{font-size:21px}
.contact-columns{gap:35px;padding:20px 20px 70px}.contact-detail{gap:16px;grid-template-columns:48px minmax(0,1fr)}.contact-icon{width:46px;height:46px}.contact-icon svg{width:28px;height:28px}.contact-detail h2,.form-title h2{font-size:23px}.contact-detail address{font-size:16px}.contact-form-area form{padding-left:0}.company-grid{padding:0 35px;gap:40px}
}
@media(max-width:700px){
.contact-page-top{background-size:auto 650px;background-position:62% top}.contact-breadcrumbs{padding-top:25px;font-size:13px}.contact-page-hero{min-height:650px}.contact-page-hero h1{font-size:36px;margin-top:65px}.contact-page-hero>p{font-size:16px;line-height:1.4}.contact-page-hero>p br{display:none}.contact-benefits{flex-direction:column;gap:12px;margin-top:40px}.contact-benefits>div{flex:auto;padding:14px 18px}.contact-benefits strong{font-size:20px}.contact-benefits span{font-size:13px}
.contact-columns{grid-template-columns:1fr;padding:30px 0 55px;gap:25px}.contact-detail{margin-bottom:28px}.form-title{gap:16px}#contact-form label{font-size:16px}
.company-grid{grid-template-columns:1fr;padding:0;gap:30px}.company-grid p{font-size:16px;line-height:1.4}.company-map iframe{height:300px;border-radius:22px}.contact-footer{padding:45px 0}
}

.company-map iframe{background:#edf4fd url('assets/contact-map.png') center/cover no-repeat}
.contact-page-top{background:none;position:relative;isolation:isolate}
.contact-page-top::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:1000px;background:url('assets/contact-page-hero.png') center top/cover no-repeat;mask-image:linear-gradient(#000 65%,transparent);pointer-events:none}
@media(max-width:700px){.contact-page-top::before{height:750px;background-position:62% top}}

.form-note{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.form-note svg{width:17px;height:20px;flex-shrink:0;color:#42b8f5}

/* Revised contact layout. */
.contact-page-hero{min-height:580px}
.contact-page-hero .contact-kicker{margin-top:85px;margin-bottom:12px;font-size:18px}
.contact-page-hero h1{margin:0 0 30px}
.contact-columns{
  background:#fdfdfd;
  border-radius:32px;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:100px;
  padding:30px 65px 40px 24px;
  margin-bottom:45px;
}
.contact-addresses{background:#f0f8fd;border-radius:30px;padding:36px 32px}
.contact-detail{margin-bottom:42px;gap:24px}
.contact-detail:last-child{margin-bottom:0}
.contact-form-area{padding-top:34px}
.form-title{display:block;margin-bottom:32px}
.form-title h2{font-size:32px;margin-bottom:15px}
.form-title p{font-size:18px;line-height:1.35}
.contact-form-area form{padding-left:0}
#contact-form input:not([type=hidden]),#contact-form select,#contact-form textarea{border-radius:5px;font-size:18px}
#contact-form input:not([type=hidden]){margin-bottom:22px}
#contact-form select{margin-bottom:30px}
#contact-form textarea{min-height:205px}
#contact-form .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-page-top::before{height:1150px;mask-image:linear-gradient(#000 65%,transparent)}
@media(max-width:1100px){
.contact-columns{gap:45px;padding:25px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.contact-addresses{padding:28px 22px}.contact-detail{gap:15px}.form-title h2{font-size:28px}.form-title p{font-size:16px}
}
@media(max-width:700px){
.contact-page-hero{min-height:430px}
.contact-page-hero .contact-kicker{margin-top:55px;font-size:14px}
.contact-columns{grid-template-columns:1fr;padding:18px;gap:25px;border-radius:24px}
.contact-addresses{padding:25px 18px;border-radius:22px}
.contact-form-area{padding-top:5px}
.contact-detail{margin-bottom:28px}
.contact-page-top::before{height:750px}
#contact-form input:not([type=hidden]),#contact-form select,#contact-form textarea{font-size:16px}
}

#form-status:not(:empty){padding:16px 18px;border-radius:12px;line-height:1.45;background:#edf4fd;color:#06316d;margin:18px 0;}
#form-status[data-state="success"]{background:#eaf7ef;color:#225a3a;}
#form-status[data-state="error"]{background:#fff0f0;color:#8a2525;}
#contact-form button:disabled{opacity:.65;cursor:wait;}
