:root {
  --orange: #f46b0b;
  --orange-dark: #d95300;
  --charcoal: #171a1d;
  --charcoal-2: #22272b;
  --text: #202428;
  --muted: #667079;
  --line: #e7e8e9;
  --warm: #f7f4f0;
  --white: #ffffff;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(20, 24, 28, .12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Manrope, Arial, sans-serif; color: var(--text); background: #fff; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 76px; display: flex; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; white-space: nowrap; }
.brand img { width: 34px; height: 34px; object-fit: contain; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 600; }
.main-nav a:hover { color: var(--orange); }
.menu-toggle { display:none; border:0; background:none; font-size:28px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 22px; border-radius: 8px; font-weight: 800; border: 0; cursor:pointer; transition: .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--orange); color: #fff; box-shadow: 0 10px 24px rgba(244,107,11,.25); }
.btn-primary:hover { background: var(--orange-dark); }
.hero { position: relative; min-height: 640px; background: url('https://images.unsplash.com/photo-1556912167-f556f1f39fdf?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.82) 45%, rgba(255,255,255,.08) 100%); }
.hero-content { position: relative; z-index: 1; padding-top: 92px; padding-bottom: 54px; }
.hero-copy { max-width: 660px; }
.eyebrow { margin:0 0 8px; text-transform: uppercase; letter-spacing:.14em; font-size:12px; font-weight:800; color: var(--orange); }
h1,h2,h3,p { margin-top:0; }
h1 { font-size: clamp(44px, 6vw, 76px); line-height:1.02; letter-spacing:-.04em; margin-bottom:24px; }
h2 { font-size: clamp(30px,4vw,48px); line-height:1.08; letter-spacing:-.03em; margin-bottom:18px; }
.hero-copy > p:last-child { font-size:19px; max-width:590px; color:#3f474e; }
.audience-grid { margin-top:54px; display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:950px; }
.audience-card { display:grid; grid-template-columns:64px 1fr; gap:20px; padding:28px; background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid rgba(0,0,0,.05); }
.audience-card h2 { font-size:24px; margin-bottom:8px; }
.audience-card p { color:var(--muted); }
.icon-circle { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--orange); color:#fff; font-size:28px; font-weight:800; }
.trust-strip { background: var(--charcoal); color:#fff; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid div { padding:24px 20px; text-align:center; font-weight:700; border-right:1px solid rgba(255,255,255,.14); }
.trust-grid div:last-child { border-right:0; }
.trust-grid span { color:var(--orange); font-size:24px; margin-right:9px; }
.section { padding:88px 0; }
.alt { background: var(--warm); }
.split-grid { display:grid; grid-template-columns:.92fr 1.4fr; gap:52px; align-items:center; }
.split-grid.reverse { grid-template-columns:1.35fr .95fr; }
.media-card { min-height:470px; border-radius:var(--radius); background-size:cover; background-position:center; box-shadow:var(--shadow); }
.apartment-photo { background-image:url('https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?auto=format&fit=crop&w=1200&q=85'); }
.bathroom-photo { background-image:url('https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=1200&q=85'); }
.lead { font-size:18px; color:var(--muted); max-width:760px; }
.service-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:30px 0; }
.mini-card { min-height:116px; padding:18px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid #f0c4a7; border-radius:12px; background:#fff; }
.mini-card span { font-size:28px; color:var(--orange); margin-bottom:8px; }
.mini-card strong { font-size:14px; line-height:1.3; }
.section-heading { margin-bottom:36px; }
.centered { text-align:center; }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.services-grid article { padding:28px 24px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:.2s ease; }
.services-grid article:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:#efb48d; }
.services-grid span { font-size:34px; color:var(--orange); }
.services-grid h3 { margin:12px 0 8px; }
.services-grid p { color:var(--muted); font-size:14px; }
.projects-section { background:var(--charcoal); color:#fff; }
.light h2 { color:#fff; }
.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.project-card { overflow:hidden; border-radius:14px; background:#fff; color:var(--text); }
.project-image { height:250px; background-size:cover; background-position:center; display:flex; justify-content:space-between; align-items:flex-start; padding:12px; }
.project-image span { background:rgba(23,26,29,.88); color:#fff; padding:6px 10px; border-radius:6px; font-size:12px; font-weight:800; }
.project-one { background-image:url('https://images.unsplash.com/photo-1556911220-bff31c812dba?auto=format&fit=crop&w=900&q=85'); }
.project-two { background-image:url('https://images.unsplash.com/photo-1556912172-45b7abe8b7e1?auto=format&fit=crop&w=900&q=85'); }
.project-three { background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=85'); }
.project-body { padding:20px; }
.project-body h3 { margin-bottom:6px; }
.project-body p { margin-bottom:0; color:var(--muted); font-size:14px; }
.centered-button { text-align:center; margin-top:28px; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.info-card { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; }
.info-card > div:last-child { padding:30px; }
.map-visual { min-height:250px; background:linear-gradient(rgba(244,107,11,.12),rgba(244,107,11,.12)), url('https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1000&q=70') center/cover; display:grid; place-items:center; }
.map-visual span { width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:26px;box-shadow:0 0 0 28px rgba(244,107,11,.18); }
.team-photo { min-height:250px; background:url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=1000&q=80') center/cover; }
.area-list { columns:2; padding-left:20px; }
.area-list li { margin-bottom:6px; }
.about-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.about-points span { background:#fff4eb; color:#b84e00; padding:8px 12px; border-radius:999px; font-size:12px; font-weight:800; }
.contact-section { background:var(--warm); }
.contact-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:24px; }
.contact-panel,.estimate-panel { border-radius:var(--radius); padding:34px; }
.contact-panel { background:var(--charcoal); color:#fff; }
.contact-panel h2 { color:#fff; }
.contact-list { display:grid; gap:14px; }
.contact-list > a,.contact-list > div { display:flex; gap:14px; align-items:flex-start; background:rgba(255,255,255,.06); padding:16px; border-radius:12px; }
.contact-list span { color:var(--orange); font-size:23px; }
.contact-list small { display:block; color:#b9c0c5; }
.contact-list strong { font-size:14px; }
.estimate-panel { background:#fff; border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:block; font-size:13px; font-weight:800; margin-bottom:15px; }
input,select,textarea { width:100%; margin-top:7px; border:1px solid #dcdfe2; border-radius:8px; padding:13px 14px; font:inherit; background:#fff; }
input:focus,select:focus,textarea:focus { outline:2px solid rgba(244,107,11,.22); border-color:var(--orange); }
.btn-wide { width:100%; }
.form-note { margin:12px 0 0; text-align:center; color:var(--muted); font-size:12px; }
.site-footer { background:#111416; color:#fff; padding-top:54px; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:40px; }
.footer-brand { color:#fff; margin-bottom:16px; }
.footer-grid p,.footer-grid a,.footer-grid span { color:#afb7bd; font-size:14px; }
.footer-grid h3 { margin-bottom:14px; }
.footer-grid > div:not(:first-child) { display:flex; flex-direction:column; gap:8px; }
.footer-grid a:hover { color:var(--orange); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:34px; padding:20px 0; display:flex; justify-content:space-between; color:#899198; font-size:12px; }
@media (max-width: 980px) {
  .menu-toggle { display:block; margin-left:auto; }
  .main-nav { position:absolute; top:76px; left:0; right:0; padding:20px; background:#fff; display:none; flex-direction:column; align-items:flex-start; border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; }
  .header-cta { display:none; }
  .audience-grid,.split-grid,.split-grid.reverse,.contact-grid,.info-grid { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .projects-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .container { width:min(100% - 24px, 1180px); }
  .brand span { font-size:14px; }
  .hero { min-height:auto; }
  .hero-overlay { background:rgba(255,255,255,.9); }
  .hero-content { padding-top:64px; }
  h1 { font-size:42px; }
  .audience-grid,.service-mini-grid,.services-grid,.form-grid,.trust-grid,.footer-grid { grid-template-columns:1fr; }
  .audience-card { grid-template-columns:1fr; }
  .trust-grid div { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .section { padding:62px 0; }
  .media-card { min-height:340px; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
