:root {
  --bg: #f7f9fc;
  --surface: #ffffff;
  --surface-soft: #f1f5f9;
  --text: #152033;
  --muted: #5f6f86;
  --line: #d8e1ec;
  --primary: #1e63d5;
  --primary-dark: #174da8;
  --shadow: 0 16px 40px rgba(21, 32, 51, 0.08);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --container: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; display: block; }
.container { width: min(var(--container), calc(100% - 32px)); margin: 0 auto; }
.section { padding: 72px 0; }
.section-title { margin: 0 0 12px; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.15; }
.section-subtitle { margin: 0 0 28px; font-size: 1.05rem; color: var(--muted); max-width: 760px; }
.eyebrow { margin: 0 0 10px; color: var(--primary); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: .84rem; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:999px; border:1px solid transparent; font-weight:700; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; text-decoration:none; }
.btn:hover { transform: translateY(-1px); text-decoration:none; }
.btn-primary { background: var(--primary); color:#fff; box-shadow:0 10px 24px rgba(30,99,213,.24); }
.btn-primary:hover { background: var(--primary-dark); }
.btn-secondary { background: var(--surface); color: var(--text); border-color: var(--line); }
.site-header { position: sticky; top:0; z-index:20; background: rgba(247,249,252,.92); backdrop-filter: blur(10px); border-bottom:1px solid rgba(216,225,236,.9); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:82px; }
.logo-wrap { display:flex; align-items:center; gap:14px; color: var(--text); }
.logo-wrap:hover { text-decoration:none; }
.logo-image { width:72px; height:72px; object-fit:cover; border-radius:18px; box-shadow: var(--shadow); }
.logo-copy { display:flex; flex-direction:column; }
.site-title { font-size:1.1rem; font-weight:800; }
.site-tagline { font-size:.95rem; color: var(--muted); }
.header-cta { display:flex; align-items:center; gap:14px; }
.phone-link { font-weight:700; color: var(--text); }
.hero { padding-top: 44px; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start; }
.hero-copy,.hero-image-wrap,.hero-form-card,.service-card,.benefit-card,.step-card,.area-box,.gallery-card,.contact-card,.support-image-wrap { background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:var(--radius-lg); }
.hero-copy { padding:36px; }
.hero-copy h1 { margin:0 0 14px; font-size: clamp(2.4rem, 5vw, 4rem); line-height:1.03; }
.hero-subheadline,.hero-support-line,.hero-trust-line,.form-intro,.gallery-copy,.footer-note { color: var(--muted); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.hero-image-wrap { overflow:hidden; min-height:100%; }
.hero-image { width:100%; height:100%; min-height:320px; object-fit:cover; }
.hero-form-card { padding:28px; grid-column:1 / -1; }
.hero-form-card h2 { margin-top:0; margin-bottom:8px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.form-grid label,.checkbox-row { display:flex; flex-direction:column; gap:8px; font-weight:600; }
.full-width { grid-column:1 / -1; }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px 15px; font:inherit; color:var(--text); background:#fff; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { outline:2px solid rgba(30,99,213,.18); border-color:var(--primary); }
.checkbox-row { flex-direction:row; align-items:flex-start; font-weight:400; font-size:.94rem; color:var(--muted); margin-bottom:18px; }
.checkbox-row input { width:18px; height:18px; margin-top:2px; flex:0 0 auto; }
.btn-submit { min-width:180px; }
.form-message { margin-top:18px; padding:16px 18px; border-radius:var(--radius-md); font-size:.95rem; }
.success-box { background:#edf8f1; color:#1b5d36; border:1px solid #bfe2c9; }
.error-box { background:#fff1f1; color:#8b1f1f; border:1px solid #efc1c1; }
.services-grid,.benefits-grid,.steps-grid,.gallery-grid { display:grid; gap:20px; }
.services-grid,.benefits-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.steps-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.service-card,.benefit-card,.step-card { padding:24px; }
.service-card h3,.benefit-card h3,.step-card h3 { margin-top:0; margin-bottom:10px; font-size:1.1rem; }
.split-section,.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center; }
.support-image-wrap { overflow:hidden; }
.support-image { width:100%; height:100%; min-height:420px; object-fit:cover; }
.area-box { padding:30px; }
.area-box ul { margin:18px 0 0; padding-left:20px; }
.gallery-card { overflow:hidden; }
.gallery-card img { width:100%; height:320px; object-fit:cover; }
.gallery-caption { margin-top:18px; color:var(--muted); text-align:center; }
.contact-card { padding:30px; }
.contact-list p,.contact-list div { margin:0 0 18px; }
.hours-block { padding:18px; background:var(--surface-soft); border-radius:var(--radius-md); border:1px solid var(--line); }
.site-footer { background:#0f1727; color:#e9eef8; padding:42px 0 24px; margin-top:40px; }
.site-footer a { color:#dce8ff; }
.footer-inner { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:20px; }
.footer-inner h2 { margin-top:0; margin-bottom:10px; }
.footer-links { display:grid; gap:10px; }
.footer-note { margin:0; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); }
@media (max-width:1024px){ .hero-grid,.split-section,.contact-grid,.services-grid,.benefits-grid,.steps-grid,.gallery-grid { grid-template-columns:1fr 1fr; } .hero-form-card { grid-column:auto; } .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:768px){ .section{padding:56px 0;} .header-inner,.footer-inner,.header-cta,.hero-actions{flex-direction:column; align-items:stretch;} .hero-grid,.split-section,.contact-grid,.services-grid,.benefits-grid,.steps-grid,.gallery-grid,.form-grid{grid-template-columns:1fr;} .hero-copy,.hero-form-card,.contact-card,.area-box,.service-card,.benefit-card,.step-card{padding:22px;} .logo-wrap{justify-content:center;} .logo-copy{text-align:left;} .phone-link,.btn,.btn-submit{width:100%;} .support-image,.hero-image,.gallery-card img{min-height:240px; height:240px;} }
@media (max-width:480px){ .container{width:min(var(--container),calc(100% - 24px));} .site-title{font-size:1rem;} .site-tagline{font-size:.88rem;} .hero-copy h1{font-size:2rem;} }
