/* Base */
html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; color: #0F2A5E; font-family: Manrope, "Segoe UI", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #0075CB; text-decoration: none; }
a:hover { color: #0F2A5E; text-decoration: underline; }
input, textarea, select, button { font-family: inherit; }
::selection { background: #CFE3F9; }

/* Components (used more than once) */
.legal-h2 { margin:0 0 14px; font-size:20px; font-weight:800 }
.legal-section { background:#fff; border:1px solid #E1EBF7; border-radius:3px; padding:clamp(20px,3vw,30px); margin-bottom:18px }
.text { margin:0; font-size:16px; line-height:1.7; color:#37516F }
.media { display:block }
.footer-link { color:#C7DAF0; text-decoration:none }
.text-sm { margin:0; font-size:15px; line-height:1.6; color:#4A648A }
.icon-inline { flex:0 0 auto; margin-top:2px }
.chip { background:#fff; border:1px solid #D5E5F8; border-radius:2px; padding:8px 15px; font-size:14.5px; font-weight:700; color:#0F2A5E }
.text-block { margin:0 0 12px; font-size:16px; line-height:1.7; color:#37516F }
.eyebrow { margin:0 0 10px; font-size:13px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#0075CB }
.card { background:#fff; border:1px solid #E1EBF7; border-radius:3px; padding:24px; overflow:hidden; box-shadow:none }
.card-media { margin:-24px -24px 18px }
.card-title { margin:0 0 8px; font-size:18px; font-weight:800; letter-spacing:-0.01em; color:#0F2A5E }
.container { max-width:1180px; margin:0 auto }
.feature-row { display:flex; gap:14px; align-items:flex-start; background:#F7FBFF; border:1px solid #E1EBF7; border-radius:3px; padding:20px }
.feature-title { margin:0 0 5px; font-size:16.5px; font-weight:800; color:#0F2A5E }
.text-xs { margin:0; font-size:14.5px; line-height:1.55; color:#4A648A }
.text-lead { margin:0; font-size:16px; line-height:1.75; color:#37516F }
.link-muted { color:#31496A; text-decoration:none }
.field { display:grid; gap:7px; min-width:0 }
.field-label { font-size:14px; font-weight:700; color:#0F2A5E }
.section-title { margin:0 0 14px; font-size:clamp(26px,3.2vw,38px); line-height:1.14; letter-spacing:-0.025em; font-weight:800; color:#0F2A5E }
.panel { background:#F7FBFF; border:1px solid #E1EBF7; border-radius:3px; padding:24px }
.panel-title { margin:0 0 8px; font-size:17.5px; font-weight:800; color:#0F2A5E }
.accent { color:#0075CB }
.relative { position:relative }
.section-intro { margin:0; font-size:16.5px; line-height:1.65; color:#37516F; text-wrap:pretty }
.check-item { display:flex; align-items:flex-start; gap:11px; font-size:16px; font-weight:600; color:#0F2A5E }
.step-badge { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:2px; background:#0075CB; color:#fff; font-weight:800; font-size:16px; margin-bottom:14px }
.input { width:100%; min-width:0; min-height:50px; padding:0 14px; border-radius:2px; border:1.5px solid #D5E5F8; background:#F9FCFF; font-size:16px; color:#0F2A5E; outline:none }
.footer-heading { margin:0 0 12px; font-size:12.5px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#8FB6E4 }
.list-plain { margin:0; padding:0; list-style:none; display:grid; gap:9px; font-size:15px }
.site-header { background:#fff; border-bottom:1px solid #E1EBF7 }
.legal-header-inner { max-width:820px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; gap:12px }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none }
.brand-logo { height:34px; width:auto; display:block }
.back-link { margin-left:auto; font-size:14.5px; font-weight:700; color:#0075CB; text-decoration:none }
.legal-main { max-width:820px; margin:0 auto; padding:clamp(32px,6vw,64px) 20px 80px }
.page-title { margin:0 0 10px; font-size:clamp(28px,4vw,40px); font-weight:800; letter-spacing:-0.025em }
.page-subtitle { margin:0 0 34px; font-size:15px; color:#5A7392 }
.notice { background:#FFF7E6; border:1px solid #F0DCA8; border-radius:3px; padding:16px 18px; margin-bottom:34px; font-size:14.5px; line-height:1.6; color:#5C4A15 }
.surface { background:#fff; border:1px solid #E1EBF7; border-radius:3px; padding:clamp(20px,3vw,30px) }
.page-footnote { margin:34px 0 0; font-size:15px }
.strong-link { font-weight:700 }
.container-split { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:clamp(28px,4vw,54px); align-items:center }
.dot { color:#9FB8D4 }
.card-img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:50% 55%; border-bottom:1px solid #E1EBF7 }
.section-white { scroll-margin-top:86px; background:#fff; padding:clamp(48px,7vw,88px) 20px }
.section-head { max-width:620px; margin-bottom:clamp(28px,4vw,44px) }
.meta-term { font-size:12.5px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#8FB6E4; margin-bottom:4px }
.meta-desc { margin:0; font-size:15.5px; line-height:1.5; color:#E5EFFA }

/* One-off element styles */
.header { position:sticky; top:0; z-index:60; background:rgba(255,255,255,0.94); backdrop-filter:blur(8px); border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.header-inner { max-width:1180px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:20px }

/* One-off element styles */
.header-brand { display:flex; align-items:center; gap:12px; text-decoration:none; flex:0 0 auto }

/* One-off element styles */
.header-mark { height:44px; width:44px; display:block }
.brand-text { display:flex; flex-direction:column; justify-content:center; line-height:1.12 }
.brand-name { font-size:19px; font-weight:800; letter-spacing:-0.02em; color:#0075CB }
.btn-icon { display:none; flex:0 0 auto }
.btn-label { display:inline }
.call-label { display:inline }
.brand-claim { font-size:11.5px; font-weight:700; letter-spacing:0.01em; color:#0075CB }

/* One-off element styles */
.site-nav { display:flex; margin-left:auto; gap:22px; align-items:center; font-size:14.5px; font-weight:600; white-space:nowrap; min-width:0; flex-shrink:1 }

/* One-off element styles */
.header-actions { margin-left:auto; display:flex; align-items:center; gap:10px; white-space:nowrap; flex:0 0 auto }

/* One-off element styles */
.header-btn-call { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; border-radius:2px; border:1.5px solid #C9DDF6; color:#0F2A5E; font-weight:700; font-size:14.5px; text-decoration:none }

/* One-off element styles */

/* One-off element styles */
.header-btn-quote { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:2px; background:#0075CB; color:#fff; font-weight:700; font-size:14.5px; text-decoration:none; box-shadow:none }

/* One-off element styles */
.hero { background:linear-gradient(180deg,#F7FBFF 0%,#EAF3FD 100%); padding:clamp(40px,7vw,86px) 20px clamp(30px,5vw,60px) }

/* One-off element styles */
.hero-title { margin:0 0 18px; font-size:clamp(30px,4.6vw,52px); line-height:1.08; letter-spacing:-0.03em; font-weight:800; color:#0F2A5E; text-wrap:pretty }

/* One-off element styles */
.hero-lead { margin:0 0 28px; font-size:clamp(16px,1.5vw,19px); line-height:1.6; color:#37516F; max-width:560px; text-wrap:pretty }

/* One-off element styles */
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:24px }

/* One-off element styles */
.btn-primary-lg { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:54px; padding:0 26px; border-radius:3px; background:#0075CB; color:#fff; font-weight:700; font-size:16.5px; text-decoration:none; box-shadow:none }

/* One-off element styles */
.btn-whatsapp-lg { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 24px; border-radius:3px; background:#fff; border:1.5px solid #2E9E5B; color:#1C6B3D; font-weight:700; font-size:16.5px; text-decoration:none }

/* One-off element styles */
.hero-trust { margin:0; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; font-weight:600; color:#4A648A }

/* One-off element styles */
.hero-image { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:50% 55%; border-radius:4px; border:1px solid #D5E5F8; box-shadow:0 10px 28px rgba(15,42,94,0.09) }

/* One-off element styles */
.hero-badge { position:absolute; left:-8px; bottom:-18px; background:#fff; border:1px solid #E1EBF7; border-radius:3px; padding:14px 18px; box-shadow:0 6px 18px rgba(15,42,94,0.09); display:flex; align-items:center; gap:12px }

/* One-off element styles */
.hero-badge-icon { width:34px; height:34px; border-radius:2px; background:#E9F7EF; display:flex; align-items:center; justify-content:center }

/* One-off element styles */
.hero-badge-text { display:flex; flex-direction:column; line-height:1.25 }

/* One-off element styles */
.hero-badge-title { font-weight:800; font-size:14.5px; color:#0F2A5E }

/* One-off element styles */
.hero-badge-sub { font-size:13px; color:#5A7392; font-weight:600 }

/* One-off element styles */
.wave-hero { display:block; width:100%; height:52px; background:#EAF3FD }

/* One-off element styles */
.services { scroll-margin-top:86px; background:#fff; padding:clamp(24px,4vw,44px) 20px clamp(48px,7vw,88px) }

/* One-off element styles */
.services-head { max-width:640px; margin-bottom:clamp(28px,4vw,44px) }

/* One-off element styles */
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:18px }

/* One-off element styles */
.card-img-building { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:55% 45%; border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.card-img-home { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:50% 65%; border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.card-img-stairs { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.card-img-windows { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:50% 50%; border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.card-img-special { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; object-position:50% 60%; border-bottom:1px solid #E1EBF7 }

/* One-off element styles */
.about { scroll-margin-top:86px; background:#EEF5FC; padding:clamp(48px,7vw,88px) 20px }

/* One-off element styles */
.about-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:clamp(28px,4vw,56px); align-items:center }

/* One-off element styles */
.about-image { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; border-radius:4px; border:1px solid #D5E5F8; box-shadow:0 10px 28px rgba(15,42,94,0.09) }

/* One-off element styles */
.about-title { margin:0 0 18px; font-size:clamp(26px,3.2vw,38px); line-height:1.14; letter-spacing:-0.025em; font-weight:800; color:#0F2A5E }

/* One-off element styles */
.about-text { margin:0 0 16px; font-size:17px; line-height:1.68; color:#37516F; text-wrap:pretty }

/* One-off element styles */
.about-text-last { margin:0 0 24px; font-size:17px; line-height:1.68; color:#37516F; text-wrap:pretty }

/* One-off element styles */
.about-list { margin:0; padding:0; list-style:none; display:grid; gap:12px }

/* One-off element styles */
.steps-intro { margin:0; font-size:16.5px; line-height:1.65; color:#37516F }

/* One-off element styles */
.steps-list { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:18px; counter-reset:step }

/* One-off element styles */
.step-badge-done { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:2px; background:#2E9E5B; color:#fff; font-weight:800; font-size:16px; margin-bottom:14px }

/* One-off element styles */
.compare { scroll-margin-top:86px; background:#F7FBFF; padding:clamp(48px,7vw,88px) 20px }

/* One-off element styles */
.compare-head { max-width:620px; margin-bottom:clamp(24px,3.5vw,36px) }

/* One-off element styles */
.compare-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px }

/* One-off element styles */
.compare-figure { margin:0; background:#fff; border:1px solid #E1EBF7; border-radius:4px; padding:14px }

/* One-off element styles */
.compare-img-before { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:3px; border:1px solid #DCE2EA }

/* One-off element styles */
.compare-tag-before { position:absolute; top:10px; left:10px; background:#4A648A; color:#fff; font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; padding:5px 10px; border-radius:2px }

/* One-off element styles */
.compare-caption-before { margin:12px 2px 2px; font-size:14.5px; line-height:1.55; color:#4A648A }

/* One-off element styles */
.compare-figure-after { margin:0; background:#fff; border:1px solid #D5E5F8; border-radius:4px; padding:14px; box-shadow:0 6px 18px rgba(15,42,94,0.08) }

/* One-off element styles */
.compare-img-after { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:3px; border:1px solid #C9DDF6 }

/* One-off element styles */
.compare-tag-after { position:absolute; top:10px; left:10px; background:#2E9E5B; color:#fff; font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; padding:5px 10px; border-radius:2px }

/* One-off element styles */
.compare-caption-after { margin:12px 2px 2px; font-size:14.5px; line-height:1.55; color:#37516F }

/* One-off element styles */
.wave-compare { display:block; width:100%; height:52px; background:#F7FBFF }

/* One-off element styles */
.area { scroll-margin-top:86px; background:#EEF5FC; padding:clamp(24px,4vw,44px) 20px clamp(48px,7vw,88px) }

/* One-off element styles */
.area-title { margin:0 0 16px; font-size:clamp(26px,3.2vw,38px); line-height:1.14; letter-spacing:-0.025em; font-weight:800; color:#0F2A5E }

/* One-off element styles */
.area-text { margin:0 0 22px; font-size:16.5px; line-height:1.65; color:#37516F; text-wrap:pretty }

/* One-off element styles */
.area-list { margin:0 0 22px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:9px }

/* One-off element styles */
.area-note { margin:0; display:inline-flex; align-items:flex-start; gap:10px; background:#fff; border:1px solid #D5E5F8; border-left:4px solid #0075CB; border-radius:2px; padding:14px 16px; font-size:15px; line-height:1.55; color:#31496A; max-width:520px }

/* One-off element styles */
.area-note-strong { color:#0F2A5E }

/* One-off element styles */
.area-map-card { background:#fff; border:1px solid #D5E5F8; border-radius:4px; padding:clamp(20px,3vw,32px); box-shadow:0 8px 24px rgba(15,42,94,0.08) }

/* One-off element styles */
.area-map { position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center }

/* One-off element styles */
.area-ring-outer { position:absolute; width:100%; height:100%; border-radius:50%; background:#F3F8FE; border:1.5px dashed #C9DDF6 }

/* One-off element styles */
.area-ring-mid { position:absolute; width:70%; height:70%; border-radius:50%; background:#E6F0FB; border:1.5px dashed #A9C9EE }

/* One-off element styles */
.area-ring-inner { position:absolute; width:40%; height:40%; border-radius:50%; background:#D3E5F8; border:1.5px solid #6F9EDC }

/* One-off element styles */
.area-map-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; gap:6px }

/* One-off element styles */
.area-map-dot { width:16px; height:16px; border-radius:50%; background:#0075CB; box-shadow:0 0 0 5px rgba(26,80,168,0.18) }

/* One-off element styles */
.area-map-label { background:#0F2A5E; color:#fff; font-size:12.5px; font-weight:700; padding:5px 10px; border-radius:2px; white-space:nowrap }

/* One-off element styles */
.area-pin-1 { position:absolute; left:16%; top:26%; font-size:12px; font-weight:700; color:#4A648A }

/* One-off element styles */
.area-pin-2 { position:absolute; right:9%; top:36%; font-size:12px; font-weight:700; color:#4A648A }

/* One-off element styles */
.area-pin-3 { position:absolute; left:9%; bottom:34%; font-size:12px; font-weight:700; color:#4A648A }

/* One-off element styles */
.area-pin-4 { position:absolute; right:16%; bottom:24%; font-size:12px; font-weight:700; color:#4A648A }

/* One-off element styles */
.area-pin-5 { position:absolute; left:44%; bottom:9%; font-size:12px; font-weight:700; color:#4A648A }

/* One-off element styles */
.area-map-caption { margin:18px 0 0; text-align:center; font-size:14px; font-weight:700; color:#0075CB; letter-spacing:0.02em }

/* One-off element styles */
.reasons-title { margin:0; font-size:clamp(26px,3.2vw,38px); line-height:1.14; letter-spacing:-0.025em; font-weight:800; color:#0F2A5E }

/* One-off element styles */
.reasons-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px }

/* One-off element styles */
.contact { scroll-margin-top:86px; background:linear-gradient(180deg,#EEF5FC 0%,#E4EFFB 100%); padding:clamp(48px,7vw,88px) 20px }

/* One-off element styles */
.contact-head { max-width:620px; margin-bottom:clamp(26px,4vw,40px) }

/* One-off element styles */
.contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:20px; align-items:start }

/* One-off element styles */
.contact-form { background:#fff; border:1px solid #D5E5F8; border-radius:4px; padding:clamp(20px,3vw,32px); box-shadow:0 8px 24px rgba(15,42,94,0.08); display:grid; gap:16px; min-width:0 }

/* One-off element styles */
.form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px }

/* One-off element styles */
.select { width:100%; min-width:0; min-height:50px; padding:0 12px; border-radius:2px; border:1.5px solid #D5E5F8; background:#F9FCFF; font-size:16px; color:#0F2A5E; outline:none }

/* One-off element styles */
.textarea { width:100%; min-width:0; padding:13px 14px; border-radius:2px; border:1.5px solid #D5E5F8; background:#F9FCFF; font-size:16px; line-height:1.5; color:#0F2A5E; outline:none; resize:vertical }

/* One-off element styles */
.checkbox-label { display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.55; color:#37516F; cursor:pointer }

/* One-off element styles */
.checkbox { width:22px; height:22px; margin:1px 0 0; accent-color:#0075CB; flex:0 0 auto }

/* One-off element styles */
.form-link { color:#0075CB; font-weight:700 }

/* One-off element styles */
.btn-submit { min-height:54px; border:none; border-radius:3px; background:#0075CB; color:#fff; font-size:16.5px; font-weight:700; cursor:pointer; box-shadow:none }

/* One-off element styles */
.form-hint { margin:0; font-size:13.5px; color:#5A7392; line-height:1.5 }

/* One-off element styles */
.contact-aside { display:grid; gap:16px; min-width:0 }

/* One-off element styles */
.contact-card { background:#0F2A5E; border-radius:4px; padding:clamp(22px,3vw,30px); color:#fff }

/* One-off element styles */
.contact-card-title { margin:0 0 20px; font-size:19px; font-weight:800; color:#fff }

/* One-off element styles */
.contact-btn-call { display:flex; align-items:center; gap:14px; min-height:56px; padding:0 18px; border-radius:3px; background:#0075CB; color:#fff; text-decoration:none; font-weight:700; font-size:16.5px; margin-bottom:12px }

/* One-off element styles */
.contact-btn-whatsapp { display:flex; align-items:center; gap:14px; min-height:56px; padding:0 18px; border-radius:3px; background:#2E9E5B; color:#fff; text-decoration:none; font-weight:700; font-size:16.5px; margin-bottom:12px }

/* One-off element styles */
.contact-btn-mail { min-width:0; overflow-wrap:anywhere; display:flex; align-items:center; gap:14px; min-height:56px; padding:0 18px; border-radius:3px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.25); color:#fff; text-decoration:none; font-weight:700; font-size:15px; word-break:break-all }

/* One-off element styles */
.icon-fixed { flex:0 0 auto }

/* One-off element styles */
.contact-meta { margin:22px 0 0; display:grid; gap:14px }

/* One-off element styles */
.contact-note { margin:0; display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #D5E5F8; border-radius:3px; padding:18px; font-size:15px; line-height:1.55; color:#37516F }

/* One-off element styles */
.site-footer { background:#0F2A5E; color:#C7DAF0; padding:clamp(40px,6vw,64px) 20px 24px }

/* One-off element styles */
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,0.14) }

/* One-off element styles */
.footer-logo { height:34px; width:auto; display:block; margin-bottom:16px }

/* One-off element styles */
.footer-text { margin:0 0 6px; font-size:15px; line-height:1.6 }

/* One-off element styles */
.footer-text-muted { margin:0; font-size:15px; line-height:1.6; color:#8FB6E4 }

/* One-off element styles */
.footer-item-break { word-break:break-all }

/* One-off element styles */
.footer-item-muted { color:#8FB6E4 }

/* One-off element styles */
.footer-copyright { margin:22px 0 0; font-size:13.5px; color:#7FA6D6 }

/* One-off element styles */

/* One-off element styles */

/* One-off element styles */

/* One-off element styles */

/* Preserve inline-style precedence over the base a:hover rule */
a.footer-link:hover { color:#fff; text-decoration:none }
a.link-muted:hover { color:#0075CB; text-decoration:none }
a.brand:hover { text-decoration:none }
a.back-link:hover { color:#0F2A5E; text-decoration:none }
a.header-brand:hover { text-decoration:none }
a.header-btn-call:hover { background:#EEF5FC; border-color:#0075CB; text-decoration:none }
a.header-btn-quote:hover { background:#005EA2; color:#fff; text-decoration:none }
a.btn-primary-lg:hover { background:#005EA2; color:#fff; text-decoration:none }
a.btn-whatsapp-lg:hover { background:#F1FAF4; color:#1C6B3D; text-decoration:none }
a.form-link:hover { color:#0075CB }
a.contact-btn-call:hover { background:#2764C6; color:#fff; text-decoration:none }
a.contact-btn-whatsapp:hover { background:#37B369; color:#fff; text-decoration:none }
a.contact-btn-mail:hover { background:rgba(255,255,255,0.18); color:#fff; text-decoration:none }


/* Compact header on small screens */
@media (max-width: 600px) {
  .header-inner { gap:12px; padding:10px 12px }
  .header-mark { height:38px; width:38px }
  .brand-name { font-size:14.5px }
  .brand-claim { display:none }
  .header-actions { gap:8px }
  .header-btn-call { min-height:40px; padding:0 11px }
  .header-btn-quote { min-height:40px; width:40px; padding:0; justify-content:center }
  .btn-label { display:none }
  .btn-icon { display:block }
}

@media (max-width: 380px) {
  .header-mark { height:34px; width:34px }
  .brand-name { font-size:13px }
  .header-btn-call { min-height:38px; padding:0 9px }
  .header-btn-quote { min-height:38px; width:38px }
}

/* Honeypot: off-screen rather than display:none, which some bots skip. */
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden }

/* Contact form result message */
.form-status { margin:0 0 4px; padding:12px 14px; border-radius:3px; font-size:15px; line-height:1.5 }
.form-status.is-ok { background:#E9F7EF; border:1px solid #B7E3C8; color:#1C6B3D }
.form-status.is-error { background:#FDECEC; border:1px solid #F3C0C0; color:#9B1C1C }

/* Hover and focus states (were style-hover/style-focus attributes) */
.input:focus { border-color:#0075CB; background:#fff }
.select:focus { border-color:#0075CB; background:#fff }
.textarea:focus { border-color:#0075CB; background:#fff }
.btn-submit:hover { background:#005EA2 }
.card:hover { box-shadow:0 6px 18px rgba(15,42,94,0.09); border-color:#C9DDF6 }

/* Header collapse at the old runtime breakpoint (was navDisplay /
   phoneLabelDisplay, toggled by JS on a 1000px matchMedia query) */
@media (max-width: 1000px) {
  .site-nav { display:none }
  .call-label { display:none }
}
