.contact-hero{position:relative;overflow:hidden;padding:70px 0 64px;background:linear-gradient(115deg,#eef2ed 0%,#e4eee8 63%,#cdded6 100%)}
.contact-hero:after{position:absolute;top:-150px;right:-90px;width:460px;height:460px;border:1px solid #ffffffaa;border-radius:50%;box-shadow:0 0 0 32px #ffffff30,0 0 0 72px #ffffff20;content:""}
.contact-hero-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.contact-hero h1{max-width:760px;font-size:clamp(46px,5.2vw,68px)}
.contact-hero-intro{max-width:660px;margin:19px 0 0;color:#53676a;font-size:16px;line-height:1.75}
.contact-hero-call{display:flex;flex:none;align-items:center;gap:14px;margin-bottom:7px;padding:15px 20px;border:1px solid #b8cbc1;background:#ffffffb8;color:var(--ink)}
.contact-call-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:white;font-size:18px}
.contact-hero-call small,.contact-info-card .contact-card-label,.contact-map-address>span{display:block;color:var(--teal);font-size:9px;font-weight:750;letter-spacing:.14em}
.contact-hero-call strong{display:block;margin-top:3px;font-size:17px}
.contact-info-section{padding:36px 0 46px;background:#f8f8f5}
.contact-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.contact-info-card{position:relative;min-height:220px;padding:23px 25px 21px;border:1px solid #e1e6e1;background:#fff;box-shadow:0 7px 20px #203a3510}
.contact-card-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border-radius:50%;background:#edf4ef;color:var(--teal)}
.contact-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}
.contact-info-card .contact-card-label{margin:0 0 4px}
.contact-info-card h2{margin:0 0 8px;color:var(--ink);font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.2}
.contact-info-card>p:not(.contact-card-label){margin:0;color:#647477;font-size:13px;line-height:1.7}
.contact-info-card>p a{color:inherit}
.contact-card-link{display:inline-flex;gap:8px;align-items:center;margin-top:13px;color:var(--teal-dark);font-size:11px;font-weight:700}
.contact-main-section{padding:22px 0 90px;background:#f8f8f5}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start;gap:32px}
.contact-form-panel{padding:38px 40px 34px;border:1px solid #e1e6e1;background:#fff;box-shadow:0 12px 32px #203a350c;scroll-margin-top:24px}
.contact-form-panel>.eyebrow{margin-bottom:9px}
.contact-form-panel>h2,.contact-map-heading h2{margin:0;color:var(--ink);font-family:var(--serif);font-size:clamp(30px,3vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.7px}
.contact-form-intro{max-width:570px;margin:12px 0 25px;color:#68797b;font-size:13px;line-height:1.7}
.contact-page .texotec-contact-form{display:grid;gap:17px}
.contact-page .texotec-contact-form label{display:grid;gap:7px;color:#324c50;font-size:11px;font-weight:650}
.contact-page .texotec-contact-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-page .texotec-contact-form input:not([type=checkbox]),.contact-page .texotec-contact-form select,.contact-page .texotec-contact-form textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d5dfd9;border-radius:0;background:#fff;color:#203b40;font:400 13px var(--sans);outline:none}
.contact-page .texotec-contact-form textarea{min-height:130px;resize:vertical}
.contact-page .texotec-contact-form input:focus,.contact-page .texotec-contact-form select:focus,.contact-page .texotec-contact-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d77741a}
.contact-page .texotec-contact-form .consent-check{display:flex;align-items:flex-start;gap:9px;color:#667779;font-size:11px;font-weight:450;line-height:1.55}
.contact-page .consent-check input{flex:none;margin:2px 0 0;accent-color:var(--teal)}
.contact-page .texotec-contact-form .button{justify-self:start;min-width:190px;border:0;cursor:pointer}
.contact-page .form-privacy{margin:-5px 0 0;color:#7c8989;font-size:10px;line-height:1.55}
.contact-map-panel{overflow:hidden;border:1px solid #e1e6e1;background:#fff;box-shadow:0 12px 32px #203a350c}
.contact-map-heading{display:flex;align-items:center;justify-content:space-between;padding:27px 28px 20px}
.contact-map-heading .eyebrow{margin-bottom:8px}
.contact-map-heading h2{font-size:28px}
.contact-map-pin{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d5e1da;border-radius:50%;color:var(--teal);font-size:23px}
.contact-map-frame{height:350px;background:#e8eee9}
.contact-map-frame iframe{display:block;width:100%;height:100%;border:0}
.contact-map-address{padding:20px 28px 23px}
.contact-map-address p{margin:5px 0 7px;color:#53676a;font-size:13px}
.contact-page :target{scroll-margin-top:25px}
@media(max-width:900px){.contact-hero-inner{align-items:flex-start;flex-direction:column}.contact-hero-call{margin:0}.contact-main-grid{grid-template-columns:1fr}.contact-map-panel{display:grid;grid-template-columns:1fr 1fr}.contact-map-heading{grid-column:1/-1}.contact-map-frame{height:290px}.contact-map-address{align-self:center}}
@media(max-width:640px){.contact-hero{padding:48px 0 42px}.contact-hero h1{font-size:43px;letter-spacing:-1.5px}.contact-hero-intro{font-size:14px}.contact-info-section{padding:23px 0 28px}.contact-info-grid{grid-template-columns:1fr;gap:11px}.contact-info-card{min-height:0;padding:19px 20px}.contact-card-icon{margin-bottom:11px}.contact-info-card h2{font-size:21px}.contact-main-section{padding:8px 0 55px}.contact-main-grid{gap:18px}.contact-form-panel{padding:27px 20px}.contact-page .texotec-contact-form .form-row{grid-template-columns:1fr;gap:16px}.contact-map-panel{display:block}.contact-map-heading{padding:23px 20px 16px}.contact-map-frame{height:260px}.contact-map-address{padding:18px 20px 21px}}
