:root {
  --brand: #e85d2a;
  --brand-dark: #c74619;
  --ink: #12384a;
  --muted: #637983;
  --cream: #fff7ef;
  --line: #eee7e1;
}

html { scroll-behavior: smooth; }
body { color: var(--ink); background: #fffaf6; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; }
.navbar-brand { color: var(--ink); font-size: 1.05rem; font-weight: 900; letter-spacing: -.02em; }
.navbar-brand img { object-fit: contain; }
.navbar .nav-link { color: #526b75; font-weight: 600; }
.navbar .nav-link:hover { color: var(--brand); }
.hero { background: linear-gradient(130deg, #fff0e3 0%, #fffaf6 54%, #e8f6f3 100%); }
.hero .row { min-height: 650px; }
.eyebrow, .section-kicker { color: #ad441e; font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.eyebrow { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; background: #ffffffb8; border: 1px solid #ffd1bd; border-radius: 2rem; letter-spacing: 0; }
.hero h1 { color: var(--ink); font-weight: 900; line-height: .98; letter-spacing: -.055em; }
.hero h1 span { color: var(--brand); }
.hero-copy { color: #56717c; max-width: 620px; line-height: 1.55; }
.search-box { max-width: 650px; padding: .5rem; background: #fff; border-radius: 1.1rem; box-shadow: 0 18px 45px #12384a1c; }
.search-box > i { color: var(--brand); font-size: 1.2rem; margin-left: .8rem; }
.search-box .form-control { min-height: 52px; }
.btn-brand { background: var(--brand); color: #fff; border: 0; padding: .8rem 1.5rem; font-weight: 700; }
.btn-brand:hover, .btn-brand:focus { background: var(--brand-dark); color: #fff; }
.trust-list span { color: #44636e; font-size: .9rem; font-weight: 600; }
.trust-list i { color: #188075; margin-right: .3rem; }
.hero-card { min-height: 410px; display: flex; flex-direction: column; padding: 2.2rem; color: #fff; background: var(--ink); border-radius: 2.25rem; box-shadow: 0 28px 55px #12384a33; }
.hero-card h2 { position: relative; z-index: 1; font-size: 2rem; font-weight: 800; letter-spacing: -.04em; }
.hero-watermark { position: absolute; top: -2.5rem; right: -2rem; color: #ffffff0c; font-size: 15rem; }
.service-mini { position: relative; z-index: 1; display: flex; align-items: center; padding: .85rem; color: #173b4b; background: #fff; border-radius: 1rem; }
.service-mini small { display: block; color: #75848a; font-size: .75rem; }
.mini-icon, .category-icon { display: grid; place-items: center; flex: 0 0 auto; margin-right: .8rem; border-radius: .9rem; }
.mini-icon { width: 44px; height: 44px; }
.section { padding: 6rem 0; }
.section-title { color: var(--ink); margin: .35rem 0; font-size: clamp(2rem, 4vw, 2.7rem); font-weight: 900; letter-spacing: -.045em; }
.category-card { display: flex; align-items: center; min-height: 104px; padding: 1.15rem; color: #193f50; background: #fffaf6; border: 1px solid var(--line); border-radius: 1.25rem; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.category-card:hover { color: var(--ink); transform: translateY(-3px); border-color: #ffd1bd; box-shadow: 0 16px 32px #12384a12; }
.category-icon { width: 54px; height: 54px; font-size: 1.35rem; }
.orange { color: #e85d2a; background: #fff0e9; }
.teal { color: #118e84; background: #e5f7f5; }
.purple { color: #a04b91; background: #f7eaf5; }
.blue { color: #5061cc; background: #eef0ff; }
.cyan { color: #15749b; background: #e7f4fa; }
.yellow { color: #b66c13; background: #fff4df; }
.green { color: #4d8d40; background: #edf7ea; }
.pink { color: #c74c6b; background: #fdebf0; }
.steps { background: var(--cream); }
.step-card { padding: 2rem; background: #fff; border: 1px solid #f0e2d7; border-radius: 1.4rem; }
.step-card > div > span { color: #ffd0ba; font-size: 1.8rem; font-weight: 900; }
.step-icon { color: var(--brand); font-size: 1.8rem; }
.step-card h3 { margin-top: 2rem; font-size: 1.15rem; font-weight: 800; }
.step-card p { margin: .7rem 0 0; color: var(--muted); line-height: 1.6; }
.pro-banner { padding: 3rem; color: #fff; background: var(--ink); border-radius: 2rem; }
.pro-banner h2 { margin: .45rem 0; font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 900; letter-spacing: -.04em; }
.pro-banner p { color: #b7cdd5; margin: 0; }
.pro-label { color: #ffb797; font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.start-section { background: linear-gradient(180deg, #fffaf6, #fff3e8); }
.footer { color: #fff; background: #0d2c39; }
.footer small { color: #abc0c8; }
.footer a { color: #fff; text-decoration: none; }

@media (max-width: 991.98px) {
  .hero .row { min-height: auto; padding-top: 2rem !important; }
  .hero h1 { font-size: clamp(3.25rem, 12vw, 5rem); }
  .hero-card { min-height: 370px; }
  .navbar-collapse { padding-bottom: .75rem; }
}
@media (max-width: 575.98px) {
  .section { padding: 4.25rem 0; }
  .search-box { flex-wrap: wrap; }
  .search-box .form-control { width: calc(100% - 2.5rem); }
  .search-box .btn { width: 100%; }
  .hero-card, .pro-banner { padding: 1.6rem; border-radius: 1.5rem; }
}
