.contact-dialog { position: fixed; inset: 0; margin: auto; width: min(540px,calc(100vw - 28px)); height: fit-content; max-height: calc(100dvh - 28px); overflow: auto; padding: 32px; border: 1px solid #ffffff24; border-radius: 22px; color: #f5f6ee; background: radial-gradient(ellipse at top right,#f3b54412,transparent 60%),#202622; box-shadow: 0 30px 100px #0008; }
.contact-dialog::backdrop { background: #070b09d9; backdrop-filter: blur(5px); }
.contact-close { position: absolute; right: 12px; top: 12px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ffffff25; border-radius: 50%; background: #ffffff09; color: #fff; font: 26px/1 sans-serif; cursor: pointer; }
.contact-close:hover { background: #ffffff20; }
.contact-eyebrow { display: block; margin: 0 24px 14px 0; font-size: 10px; font-weight: 700; letter-spacing: 1.6px; color: #f3b544; }
.contact-heading h2 { margin: 0 0 12px; font-size: 38px; line-height: 1.1; letter-spacing: -.7px; }
.contact-heading h2 span { color: #f3b544; }
.contact-heading > p { margin: 0; color: #bbc4bc; font-size: 14px; line-height: 1.7; }
.contact-details { display: grid; gap: 20px; margin: 24px 0; padding: 22px 0; border-block: 1px solid #ffffff16; }
.contact-row { display: flex; align-items: flex-start; gap: 14px; }
.contact-icon { flex: 0 0 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #f3b54410; color: #f3b544; font: 23px/1 sans-serif; }
.contact-row h3 { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #9daa9e; }
.contact-row p, .contact-row address { margin: 0; font-size: 14px; line-height: 1.6; font-style: normal; }
.contact-row small { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; color: #9daa9e; }
.contact-phone { color: #fff; font-size: 22px; font-weight: 700; text-decoration: none; }
.contact-services { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.contact-services span { padding: 7px 10px; border-radius: 6px; background: #ffffff08; border: 1px solid #ffffff13; font-size: 11px; color: #dbe1d9; }
.contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.contact-actions a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px; border-radius: 9px; font-size: 13px; font-weight: 700; text-decoration: none; }
.contact-call { background: #f3b544; color: #202622; }
.contact-map { border: 1px solid #ffffff35; color: #f5f6ee; }
.contact-dialog a:focus-visible, .contact-close:focus-visible { outline: 2px solid #f3b544; outline-offset: 4px; }
@media(max-width:480px) { .contact-dialog { padding: 28px 20px 20px; border-radius: 16px; } .contact-heading h2 { font-size: 32px; } .contact-actions { grid-template-columns: 1fr; } }
