.contact-hero{position:relative;isolation:isolate;overflow:hidden;padding-block:72px 64px;background:linear-gradient(105deg,#f2f9fb 0%,#fff 55%,#eef8fa 100%);border-bottom:1px solid #eaf2f6}
.ts-map-placeholder{height:100%;min-height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:35px 25px;text-align:center;background:radial-gradient(circle at 20% 30%,#d9eef2,transparent 55%),linear-gradient(120deg,#edf7fa,#f7fafc);color:#173f54}.ts-map-placeholder>.icon{width:42px;height:42px;color:#008391}.ts-map-placeholder h3{font-size:24px}.ts-map-placeholder p{font-size:15px;max-width:300px;color:#486779}.ts-map-placeholder>a{display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-underline-offset:4px;font-size:13px;min-height:44px}.ts-map-placeholder>a .icon{width:16px;height:16px}
.contact-hero::after{content:'';position:absolute;z-index:-1;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#13b8c61f,transparent 70%)}
.contact-hero h1{font-size:clamp(32px,4.4vw,56px);letter-spacing:-1px;max-width:760px}
.contact-lead{margin-top:16px;max-width:620px;font-size:18px;line-height:1.7;color:#3d5266}
.contact-cards-section{margin-top:-34px;position:relative;z-index:2}
.contact-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:26px 24px 20px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px #08263f12;transition:transform .3s,box-shadow .3s}
.contact-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px #08263f1c}
.contact-card-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:6px;border-radius:14px;background:linear-gradient(135deg,#e5f6f8,#d3eff3);color:#007d8d}
.contact-card-icon .icon{width:26px;height:26px}
.contact-card h2{font-family:var(--serif);font-size:20px;letter-spacing:0}
.contact-card-value{font-style:normal;font-size:17px;font-weight:650;line-height:1.45;color:var(--navy);overflow-wrap:anywhere}
a.contact-card-value:hover{color:#007d8d}
.contact-card-note{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.55;color:#53677a}
.contact-card-note .icon{width:17px;height:17px;margin-top:3px;color:#007d8d}
.contact-card .text-link{margin-top:auto;padding-top:6px}
.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:stretch;padding-block:56px 72px}
.contact-form-card{padding:32px 32px 28px}
.contact-form-card .quote-heading{margin-bottom:22px}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.contact-form .message-field{margin-bottom:16px}
.contact-submit{margin-top:16px;min-width:220px}
.contact-map-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px #08263f12}
.contact-map{flex:1;min-height:340px;background:#e8f1f4}
.contact-map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}
.contact-map-info{padding:24px 26px 26px}
.contact-map-info h2{font-family:var(--serif);font-size:22px;margin-bottom:12px}
.contact-map-address{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;font-size:15px;line-height:1.55;color:#2f4558}
.contact-map-address .icon{width:20px;height:20px;margin-top:2px;color:#007d8d}
.contact-map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:16px}
.contact-social{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.contact-social p{font-size:13px;font-weight:600;color:#53677a;margin-bottom:8px}
.contact-social .social-links a{background:#e5f6f8;color:#007d8d}.contact-social .social-links a:hover{background:#007d8d;color:#fff}
.contact-extra{padding-bottom:64px;max-width:820px}
@media(max-width:1100px){.contact-cards{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr}.contact-map{min-height:300px}}
@media(max-width:600px){.contact-hero{padding-block:44px 56px}.contact-lead{font-size:16px}.contact-cards{grid-template-columns:1fr;gap:14px}.contact-card{padding:22px 20px 16px}.contact-layout{padding-block:36px 44px;gap:24px}.contact-form-card{padding:24px 20px}.contact-form-grid{grid-template-columns:1fr;gap:16px}.contact-submit{width:100%}.contact-map,.contact-map iframe{min-height:260px}.contact-map-info{padding:20px}.contact-map-actions .button{width:100%}}
.company-section{padding-bottom:72px}.company-heading{margin-bottom:28px}.company-heading h2{font-family:var(--serif)}
.company-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0}
.company-item{display:flex;align-items:flex-start;gap:16px;padding:22px 24px;background:linear-gradient(120deg,#f2f9fb,#fff);border:1px solid var(--border);border-radius:14px}
.company-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:12px;background:#e1f4f6;color:#007d8d}.company-icon .icon{width:23px;height:23px}
.company-item dt{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#007e90;margin-bottom:5px}
.company-item dd{margin:0;font-size:16px;line-height:1.55;color:var(--navy);overflow-wrap:anywhere}
@media(max-width:700px){.company-grid{grid-template-columns:1fr;gap:14px}.company-section{padding-bottom:48px}.company-item{padding:18px 16px}}
