:root {
  --navy: #0f4c81;
  --navy-dark: #0a3559;
  --gold: #d97706;
  --gold-hover: #b85f05;
  --green: #10b981;
  --ink: #1e293b;
  --muted: #64748b;
  --line: #dce4ec;
  --surface: #f8fafc;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(15, 76, 129, 0.12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--white); line-height: 1.55; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.section-pad { padding: 88px 0; }
.section-surface { background: var(--surface); }
.eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; font-weight: 800; color: var(--navy); margin-bottom: 12px; }
.eyebrow-light { color: #fbc36e; }
h1,h2,h3,h4,p { margin-top: 0; }
h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.02; letter-spacing: -.04em; margin-bottom: 24px; }
h2 { font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.08; letter-spacing: -.035em; margin-bottom: 18px; }
h3 { line-height: 1.2; }
p { color: var(--muted); }

.utility-bar { background: var(--navy-dark); color: #eaf4fb; font-size: .86rem; }
.utility-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.utility-left, .utility-right { display: flex; align-items: center; gap: 10px; }
.text-btn { border: 0; background: transparent; color: inherit; padding: 3px 0; }
.utility-bar a:hover, .utility-bar button:hover { color: #fff; }
.divider { width: 1px; height: 15px; background: rgba(255,255,255,.22); }
.muted { opacity: .45; }

.main-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(220,228,236,.8); }
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #fff; font-weight: 900; background: linear-gradient(145deg, var(--navy), #1768a8); box-shadow: 0 8px 22px rgba(15,76,129,.22); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { color: var(--muted); font-size: .72rem; margin-top: 4px; letter-spacing: .06em; text-transform: uppercase; }
.desktop-nav { display: flex; gap: 26px; margin-left: auto; font-size: .94rem; font-weight: 700; }
.desktop-nav a:hover { color: var(--navy); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.link-btn, .link-arrow { border: 0; background: transparent; color: var(--ink); font-weight: 750; padding: 8px 5px; }
.link-arrow { color: var(--navy); }
.btn { border: 1px solid transparent; border-radius: 12px; padding: 12px 18px; font-weight: 800; transition: .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--gold); box-shadow: 0 10px 22px rgba(217,119,6,.18); }
.btn-primary:hover { background: var(--gold-hover); }
.btn-secondary { color: var(--navy); background: #fff; border-color: #cbd5e1; }
.btn-block { width: 100%; }
.mobile-menu-button, .mobile-menu, .mobile-bottom-nav { display: none; }

.hero { overflow: hidden; background: radial-gradient(circle at 90% 0%, rgba(15,76,129,.11), transparent 34%), linear-gradient(180deg,#fff,#fbfdff); }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 56px; align-items: center; }
.hero-sub { font-size: 1.12rem; max-width: 650px; }
.service-search-wrap { position: relative; margin-top: 34px; }
.service-search-wrap > label { font-size: .82rem; font-weight: 800; color: var(--ink); display: block; margin-bottom: 8px; }
.service-search { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #cad7e2; padding: 7px; border-radius: 16px; box-shadow: 0 14px 40px rgba(15,76,129,.08); }
.search-icon { font-size: 1.5rem; color: var(--navy); padding-left: 8px; }
.service-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 12px 4px; font-size: 1rem; color: var(--ink); }
.suggestions { position: absolute; left: 0; right: 0; top: 86px; z-index: 5; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 8px; box-shadow: var(--shadow); }
.suggestion-item { width: 100%; border: 0; background: transparent; display: flex; align-items: center; justify-content: space-between; text-align: left; padding: 12px; border-radius: 10px; color: var(--ink); }
.suggestion-item:hover { background: var(--surface); }
.quick-services { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 24px; }
.quick-chip { border: 1px solid #dbe5ee; background: #fff; color: var(--navy); padding: 8px 11px; border-radius: 999px; font-weight: 750; font-size: .83rem; }
.quick-chip:hover { border-color: var(--navy); }
.trust-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 24px; }
.trust-row > div { display: grid; grid-template-columns: 24px 1fr; column-gap: 7px; align-items: center; font-size: .85rem; }
.trust-row small { grid-column: 2; color: var(--muted); }
.trust-check { color: var(--green); font-weight: 900; }
.hero-visual { min-height: 580px; position: relative; display: flex; align-items: flex-end; justify-content: flex-end; padding: 28px; }
.visual-backdrop { position: absolute; inset: 0 5% 6% 3%; border-radius: 38px; background: linear-gradient(150deg, #e8f2fa 0%, #b6d6ef 45%, #0f4c81 46%, #0a3559 100%); box-shadow: var(--shadow); }
.visual-backdrop::before { content: ""; position: absolute; width: 54%; height: 74%; left: 8%; bottom: 0; border-radius: 50% 50% 22px 22px; background: radial-gradient(circle at 50% 22%, #f1c9a7 0 13%, transparent 14%), radial-gradient(circle at 50% 22%, #27364b 0 19%, transparent 20%), linear-gradient(110deg, transparent 0 26%, #f5a623 27% 70%, transparent 71%); opacity: .96; }
.visual-backdrop::after { content: "HOME SERVICE"; position: absolute; right: 28px; top: 28px; color: rgba(255,255,255,.78); font-weight: 900; letter-spacing: .14em; font-size: .72rem; }
.diagnostic-card { position: relative; z-index: 2; width: min(340px, 85%); background: rgba(255,255,255,.98); border-radius: 20px; padding: 22px; box-shadow: 0 30px 60px rgba(8,38,64,.24); }
.diagnostic-card h3 { font-size: 1.45rem; margin-bottom: 16px; }
.diag-option { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid #edf2f7; font-size: .9rem; }
.diagnostic-card .btn { margin-top: 14px; }
.technician-card { position: absolute; z-index: 3; left: 0; top: 52px; display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 16px; padding: 13px 16px; box-shadow: 0 20px 50px rgba(8,38,64,.16); }
.tech-avatar { width: 42px; height: 42px; border-radius: 50%; background: var(--surface); display: grid; place-items: center; }
.technician-card strong, .technician-card small { display: block; }
.technician-card small { color: var(--muted); font-size: .77rem; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--green); margin-right: 5px; }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 30px; }
.section-heading h2 { max-width: 620px; margin-bottom: 0; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.service-card { border: 1px solid #e0e8ef; background: #fff; border-radius: 18px; padding: 22px; min-height: 178px; display: flex; flex-direction: column; transition: .2s ease; }
.service-card:hover { transform: translateY(-4px); border-color: #b9d1e3; box-shadow: 0 16px 34px rgba(15,76,129,.1); }
.service-icon { width: 45px; height: 45px; display: grid; place-items: center; background: #edf6fc; color: var(--navy); border-radius: 13px; font-size: 1.4rem; margin-bottom: 18px; }
.service-card h3 { font-size: 1rem; margin-bottom: 6px; }
.service-card p { font-size: .84rem; margin-bottom: 14px; }
.service-meta { margin-top: auto; color: var(--gold); font-size: .8rem; font-weight: 800; }

.guarantee-panel { color: #fff; background: linear-gradient(145deg, var(--navy), var(--navy-dark)); border-radius: 30px; padding: 52px; display: grid; grid-template-columns: .85fr 1.65fr; gap: 44px; box-shadow: var(--shadow); }
.guarantee-panel p { color: #cfe1ee; }
.guarantee-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.guarantee-grid article { padding: 22px; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); }
.guarantee-grid h3 { font-size: 1rem; }
.guarantee-grid p { font-size: .84rem; margin-bottom: 0; }
.guarantee-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(16,185,129,.16); color: #6ee7b7; font-weight: 900; margin-bottom: 16px; }
.center-heading { text-align: center; max-width: 720px; margin: 0 auto 38px; }
.steps-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.step-card { border: 1px solid var(--line); border-radius: 18px; padding: 28px; background: #fff; }
.step-number { display: inline-block; color: var(--gold); font-weight: 900; letter-spacing: .06em; margin-bottom: 26px; }
.step-card p { margin-bottom: 0; }

.offers-section { background: #fffaf3; }
.offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.pricing-demo { display: grid; gap: 10px; }
.pricing-demo > div { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; border: 1px solid #edd9bd; background: #fff; border-radius: 14px; padding: 16px; }
.pricing-demo strong { color: var(--navy); }
.pricing-demo small { grid-column: 1 / -1; color: var(--muted); }
.professional-panel { display: flex; justify-content: space-between; gap: 30px; align-items: center; border: 1px solid #cbdde9; border-radius: 24px; background: linear-gradient(120deg,#f8fcff,#edf6fc); padding: 42px; }
.professional-panel > div:first-child { max-width: 720px; }
.professional-actions { display: flex; gap: 10px; min-width: max-content; }

.site-footer { padding: 58px 0 100px; background: #091f32; color: #eef6fb; }
.site-footer p { color: #9fb5c7; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 34px; }
.brand-footer { color: #fff; margin-bottom: 18px; }
.site-footer h4 { margin-bottom: 16px; }
.site-footer a, .site-footer span { color: #b7c9d8; display: block; margin: 9px 0; font-size: .9rem; }
.site-footer a:hover { color: #fff; }
.verification-line { color: #6ee7b7 !important; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); margin-top: 38px; padding-top: 22px; color: #7891a4; font-size: .84rem; }

.app-dialog { border: 0; border-radius: 24px; padding: 0; color: var(--ink); box-shadow: 0 34px 110px rgba(7,31,50,.32); width: min(940px, calc(100% - 24px)); max-height: min(90vh, 860px); }
.app-dialog::backdrop { background: rgba(6,25,40,.62); backdrop-filter: blur(5px); }
.dialog-shell { padding: 26px; background: #fff; }
.dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e8eef3; padding-bottom: 18px; margin-bottom: 20px; }
.dialog-header h3 { margin-bottom: 0; font-size: 1.55rem; }
.dialog-close { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 1.5rem; }
.small-dialog { width: min(460px, calc(100% - 24px)); }
.city-options { display: grid; gap: 10px; }
.city-option { display: flex; justify-content: space-between; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 15px; font-weight: 750; }
.city-option.active { border-color: var(--navy); color: var(--navy); background: #f2f8fc; }

.booking-progress { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-bottom: 24px; }
.progress-pill { height: 5px; border-radius: 999px; background: #e6edf3; }
.progress-pill.active { background: var(--gold); }
.booking-content { min-height: 330px; }
.booking-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid #e8eef3; padding-top: 20px; margin-top: 20px; }
.booking-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.choice-card { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 16px; text-align: left; transition: .15s ease; }
.choice-card:hover, .choice-card.selected { border-color: var(--navy); background: #f3f8fc; }
.choice-card strong, .choice-card small { display: block; }
.choice-card small { color: var(--muted); margin-top: 4px; }
.field-stack { display: grid; gap: 14px; }
.field-stack label, .form-grid label { display: grid; gap: 7px; font-size: .84rem; font-weight: 800; }
.field-stack input, .field-stack select, .field-stack textarea, .form-grid input, .form-grid select { width: 100%; border: 1px solid #cbd7e2; border-radius: 12px; padding: 12px 13px; outline: 0; color: var(--ink); background: #fff; }
.field-stack input:focus, .field-stack select:focus, .field-stack textarea:focus, .form-grid input:focus, .form-grid select:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(15,76,129,.08); }
.booking-summary { display: grid; gap: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 18px; }
.summary-row { display: flex; justify-content: space-between; gap: 18px; }
.summary-row span { color: var(--muted); }
.summary-price { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 4px; font-size: 1.05rem; }
.otp-box { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.info-banner { padding: 13px 14px; border-radius: 12px; background: #edf7f3; color: #087657; font-size: .85rem; }
.warning-banner { padding: 13px 14px; border-radius: 12px; background: #fff7e9; color: #9a5806; font-size: .85rem; }

.order-tabs { display: flex; gap: 8px; margin-bottom: 18px; }
.order-tab { border: 1px solid var(--line); background: #fff; padding: 9px 13px; border-radius: 999px; font-weight: 800; }
.order-tab.active { background: var(--navy); border-color: var(--navy); color: #fff; }
.orders-list { display: grid; gap: 12px; }
.order-card { border: 1px solid var(--line); border-radius: 16px; padding: 18px; display: grid; grid-template-columns: 1fr auto; gap: 16px; }
.order-card h4 { margin-bottom: 5px; }
.order-card p { margin-bottom: 0; font-size: .88rem; }
.order-status { align-self: start; border-radius: 999px; padding: 6px 10px; background: #eef6fc; color: var(--navy); font-size: .75rem; font-weight: 900; }
.order-detail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 6px; padding-top: 14px; border-top: 1px solid #edf1f5; }
.order-detail div { font-size: .8rem; color: var(--muted); }
.order-detail strong { display: block; color: var(--ink); font-size: .86rem; margin-top: 3px; }
.empty-state { text-align: center; padding: 48px 20px; color: var(--muted); }

.form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.form-grid .full { grid-column: 1 / -1; }
.verification-status { display: grid; gap: 4px; padding: 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); font-size: .84rem; }
.verification-status span { color: var(--muted); }
.success-panel { text-align: center; padding: 30px 10px; }
.success-icon { width: 64px; height: 64px; border-radius: 50%; background: #e8f9f3; color: var(--green); display: grid; place-items: center; font-weight: 900; font-size: 1.8rem; margin: 0 auto 18px; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; background: #102f48; color: #fff; border-radius: 12px; padding: 11px 16px; box-shadow: 0 16px 36px rgba(0,0,0,.2); transition: .2s ease; font-size: .88rem; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }

@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .header-actions { margin-left: auto; }
  .service-grid { grid-template-columns: repeat(3,1fr); }
  .guarantee-panel { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .section-pad { padding: 64px 0; }
  .utility-right { display: none; }
  .utility-inner { justify-content: center; }
  .header-inner { min-height: 68px; }
  .header-actions { display: none; }
  .mobile-menu-button { display: block; margin-left: auto; border: 0; background: transparent; font-size: 1.5rem; }
  .mobile-menu { position: absolute; display: grid; left: 0; right: 0; top: 68px; background: #fff; padding: 18px 20px 24px; border-top: 1px solid var(--line); box-shadow: 0 16px 40px rgba(15,76,129,.12); gap: 12px; }
  .mobile-menu[hidden] { display: none; }
  .hero-grid, .offer-grid { grid-template-columns: 1fr; }
  .hero-visual { min-height: 480px; order: 2; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .guarantee-grid, .steps-grid { grid-template-columns: 1fr; }
  .professional-panel { align-items: flex-start; flex-direction: column; }
  .professional-actions { min-width: 0; flex-wrap: wrap; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .mobile-bottom-nav { position: fixed; z-index: 45; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(5,1fr); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -8px 30px rgba(15,76,129,.09); padding: 7px 6px calc(7px + env(safe-area-inset-bottom)); }
  .mobile-bottom-nav a, .mobile-bottom-nav button { min-width: 0; border: 0; background: transparent; display: grid; justify-items: center; gap: 2px; color: var(--muted); font-size: .68rem; }
  .mobile-bottom-nav span { color: var(--navy); font-size: 1rem; }
  .mobile-bottom-nav .mobile-book { color: var(--gold); font-weight: 900; }
  .mobile-bottom-nav .mobile-book span { color: var(--gold); }
  .site-footer { padding-bottom: 120px; }
  .order-detail { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .container { width: min(100% - 28px, 1180px); }
  .section-pad { padding: 52px 0; }
  h1 { font-size: 2.55rem; }
  h2 { font-size: 2rem; }
  .utility-left { font-size: .77rem; gap: 7px; }
  .service-search { display: grid; grid-template-columns: auto 1fr; }
  .service-search .btn { grid-column: 1 / -1; width: 100%; }
  .suggestions { top: 130px; }
  .trust-row { grid-template-columns: 1fr; }
  .hero-visual { min-height: 420px; padding: 18px; }
  .technician-card { top: 22px; left: 8px; transform: scale(.9); transform-origin: left top; }
  .diagnostic-card { width: 94%; }
  .service-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .service-card { padding: 16px; min-height: 165px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .guarantee-panel { padding: 30px 22px; border-radius: 22px; }
  .professional-panel { padding: 28px 22px; }
  .professional-actions { display: grid; width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .dialog-shell { padding: 18px; }
  .booking-grid, .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: 1; }
  .booking-content { min-height: 390px; }
  .order-card { grid-template-columns: 1fr; }
  .order-status { justify-self: start; }
  .order-detail { grid-template-columns: 1fr 1fr; }
}

/* Phase 2 marketplace additions */
.warranty-mini { display:block; margin-top:8px; color:var(--green); font-size:.72rem; font-weight:800; }
.coupon-row { display:grid; grid-template-columns:1fr auto; gap:10px; margin-top:14px; }
.coupon-row input, .login-tabs + .field-stack input { border:1px solid #cbd7e2; border-radius:12px; padding:12px 13px; }
.check-choice { display:flex; align-items:center; gap:10px; cursor:pointer; }
.check-choice input { width:auto; }
.order-actions { grid-column:1/-1; display:flex; gap:8px; flex-wrap:wrap; }
.btn-small { padding:8px 11px; font-size:.78rem; }
.review-chip { grid-column:1/-1; color:#8a5a00; background:#fff8e9; border-radius:10px; padding:9px 11px; font-size:.82rem; font-weight:800; }
.timeline { display:grid; gap:14px; }
.timeline > div { border-left:3px solid #cbdde9; padding-left:14px; display:grid; gap:3px; }
.timeline span { color:var(--muted); font-size:.8rem; }
.login-tabs { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:18px; }
.account-card { text-align:center; }
.account-avatar { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin:0 auto 12px; background:var(--navy); color:#fff; font-size:1.5rem; font-weight:900; }
.reward-card { text-align:left; display:grid; gap:5px; background:#fff8e9; border:1px solid #f2ddb6; border-radius:14px; padding:15px; margin:18px 0; }
.reward-card strong { font-size:1.35rem; color:#9a5806; }
.reward-card small { color:#725424; }
.btn-google { border:1px solid #d7dce2; background:#fff; color:#1f2937; padding:12px 16px; border-radius:12px; font-weight:800; }

/* Admin console */
.admin-body, .pro-body { background:#f5f8fb; min-height:100vh; }
.admin-topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 24px; background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.admin-topbar > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.admin-prototype-badge { background:#eef6fc; color:var(--navy); border-radius:999px; padding:7px 10px; font-size:.75rem; font-weight:900; }
.admin-layout { display:grid; grid-template-columns:230px minmax(0,1fr); min-height:calc(100vh - 72px); }
.admin-sidebar { padding:18px 12px; background:#0b2f4c; display:grid; align-content:start; gap:5px; position:sticky; top:72px; height:calc(100vh - 72px); overflow:auto; }
.admin-nav-btn { border:0; background:transparent; color:#c9d9e6; text-align:left; padding:11px 13px; border-radius:10px; font-weight:750; }
.admin-nav-btn:hover, .admin-nav-btn.active { background:rgba(255,255,255,.11); color:#fff; }
.admin-main { min-width:0; padding:28px; }
.admin-main h1 { font-size:2rem; margin-bottom:0; }
.admin-page-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:22px; }
.admin-page-head label { display:grid; gap:6px; font-size:.8rem; font-weight:800; }
.admin-page-head select { border:1px solid var(--line); border-radius:10px; padding:9px 12px; background:#fff; }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.stat-card, .admin-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; box-shadow:0 8px 25px rgba(15,76,129,.04); }
.stat-card { display:grid; gap:8px; }
.stat-card span { color:var(--muted); font-size:.82rem; font-weight:750; }
.stat-card strong { font-size:1.75rem; color:var(--navy); }
.admin-builder { display:grid; grid-template-columns:250px minmax(0,1fr); gap:16px; align-items:start; }
.admin-service-list, .admin-editor { background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px; }
.admin-service-list { display:grid; gap:6px; max-height:75vh; overflow:auto; position:sticky; top:92px; }
.admin-service-list button { text-align:left; border:1px solid transparent; background:transparent; border-radius:10px; padding:10px; font-weight:800; color:var(--ink); }
.admin-service-list button small { display:block; color:var(--muted); margin-top:3px; font-weight:500; }
.admin-service-list button.active { border-color:#bdd4e5; background:#f2f8fc; color:var(--navy); }
.admin-editor hr { border:0; border-top:1px solid var(--line); margin:22px 0; }
.toggle-label { align-content:center; grid-template-columns:auto 1fr !important; justify-content:start; }
.toggle-label input { width:auto !important; }
.admin-section-title { display:flex; justify-content:space-between; gap:12px; }
.question-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid #edf1f5; }
.question-row small { display:block; color:var(--muted); margin-top:3px; }
.remove-btn { border:0; background:#fff1f1; color:#b42318; border-radius:9px; padding:7px 9px; font-weight:800; }
.question-add { display:grid; grid-template-columns:1.2fr .8fr 1.4fr auto; gap:8px; margin-top:16px; }
.question-add input, .question-add select, .admin-table input, .admin-table select, .admin-card input, .admin-card select, .admin-card textarea, .cms-form input, .cms-form textarea { border:1px solid #cbd7e2; border-radius:10px; padding:9px 10px; min-width:0; background:#fff; }
.save-row { display:flex; justify-content:flex-end; margin-top:18px; }
.table-scroll { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
.admin-table { width:100%; border-collapse:collapse; min-width:850px; }
.admin-table th, .admin-table td { padding:12px 13px; border-bottom:1px solid #edf1f5; text-align:left; vertical-align:top; font-size:.82rem; }
.admin-table th { position:sticky; top:0; background:#f7fafc; color:#536575; font-size:.74rem; text-transform:uppercase; letter-spacing:.04em; }
.admin-table td small { display:block; color:var(--muted); margin-top:4px; }
.admin-table input, .admin-table select { width:100%; }
.cms-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cms-form { display:grid; gap:12px; }
.cms-form label { display:grid; gap:6px; font-size:.82rem; font-weight:800; }
.loading-state { padding:40px; text-align:center; color:var(--muted); }

/* Professional workspace */
.pro-main { padding-top:42px; padding-bottom:70px; }
.pro-login-card { max-width:620px; margin:40px auto; background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; box-shadow:var(--shadow); }
.pro-head { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:22px; }
.pro-head h1 { font-size:2.2rem; margin-bottom:6px; }
.pro-stat { min-width:260px; background:#eef6fc; border-radius:14px; padding:14px; display:grid; gap:4px; }
.pro-stat span { color:var(--muted); font-size:.78rem; }
.pro-jobs { display:grid; gap:15px; }
.pro-job { background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; }
.pro-job-top { display:flex; justify-content:space-between; gap:18px; }
.pro-controls { display:grid; grid-template-columns:1fr 1fr auto; gap:10px; margin-top:16px; align-items:end; }
.pro-controls label, .photo-upload-grid label { display:grid; gap:6px; font-size:.8rem; font-weight:800; }
.pro-controls input, .pro-controls select { border:1px solid #cbd7e2; border-radius:10px; padding:9px 10px; }
.photo-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.photo-upload-grid input { border:1px dashed #b7c8d7; border-radius:10px; padding:10px; background:#fafcfe; }
.photo-evidence { margin-top:12px; color:var(--muted); font-size:.82rem; }
.photo-evidence a { color:var(--navy); font-weight:800; }

@media (max-width: 980px){
  .admin-layout { grid-template-columns:1fr; }
  .admin-sidebar { position:static; height:auto; grid-template-columns:repeat(4,1fr); }
  .admin-main { padding:20px; }
  .admin-builder { grid-template-columns:1fr; }
  .admin-service-list { position:static; grid-template-columns:repeat(2,1fr); max-height:none; }
  .stat-grid { grid-template-columns:repeat(2,1fr); }
  .cms-grid { grid-template-columns:1fr; }
  .pro-head { align-items:flex-start; flex-direction:column; }
  .pro-stat { min-width:0; width:100%; }
}
@media (max-width: 680px){
  .admin-topbar { padding:10px 14px; align-items:flex-start; }
  .admin-topbar .brand-copy small { display:none; }
  .admin-layout { min-height:auto; }
  .admin-sidebar { grid-template-columns:repeat(2,1fr); padding:10px; }
  .admin-main { padding:14px; }
  .admin-page-head { align-items:flex-start; flex-direction:column; }
  .stat-grid { grid-template-columns:1fr; }
  .question-add { grid-template-columns:1fr; }
  .admin-service-list { grid-template-columns:1fr; }
  .pro-controls, .photo-upload-grid { grid-template-columns:1fr; }
  .coupon-row { grid-template-columns:1fr; }
  .order-actions { display:grid; }
}
.reward-redeem { display:flex; gap:9px; align-items:center; margin-top:12px; padding:12px 14px; border:1px solid #cfe3d9; border-radius:12px; background:#f2fbf7; color:#087657; font-size:.84rem; font-weight:800; }
.reward-redeem input { width:auto; }
.promo-admin-banner { display:flex; justify-content:space-between; align-items:center; gap:20px; background:#fff; border:1px solid #edd9bd; border-radius:18px; padding:18px 20px; margin-bottom:26px; }
.promo-admin-banner h3 { margin:3px 0 5px; }
.promo-admin-banner p { margin:0; }
.cms-public-content { line-height:1.75; color:var(--ink); }
@media (max-width:680px){ .promo-admin-banner { align-items:flex-start; flex-direction:column; } }


/* Phase 3: dedicated category journeys, marketing pages, SEO pages, and mobile account UX */
.experience-section { overflow:hidden; }
.experience-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:44px; align-items:center; }
.experience-grid.reverse .experience-card { order:-1; }
.experience-copy p { max-width:720px; }
.experience-card { min-height:300px; border-radius:28px; padding:36px; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:var(--shadow); border:1px solid var(--line); }
.tailoring-card { background:linear-gradient(145deg,#fff7ed,#ffffff); }
.beauty-card { background:linear-gradient(145deg,#fdf4ff,#ffffff); }
.experience-icon { font-size:4rem; margin-bottom:auto; color:var(--navy); }
.experience-card strong { font-size:1.45rem; margin-bottom:8px; }
.journey-steps { display:flex; gap:8px; flex-wrap:wrap; margin:22px 0; }
.journey-steps span, .journey-mini { background:#eef5fb; border:1px solid #d7e5f0; color:var(--navy); border-radius:999px; padding:8px 11px; font-size:.78rem; font-weight:800; }
.journey-mini { display:inline-block; margin-bottom:16px; }
.marketing-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.marketing-hero { padding:86px 0; background:radial-gradient(circle at 85% 10%,rgba(15,76,129,.12),transparent 34%),linear-gradient(180deg,#fff,#f8fbfe); border-bottom:1px solid var(--line); }
.marketing-hero .narrow { max-width:860px; }
.marketing-hero h1 { max-width:900px; }
.marketing-hero p { font-size:1.08rem; max-width:760px; }
.content-card { background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; box-shadow:0 16px 45px rgba(15,76,129,.07); }
.static-card { cursor:default; }
.static-service-meta { display:grid; gap:4px; margin:14px 0; }
.static-service-meta small { color:var(--muted); }
.seo-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:start; }
.seo-quote-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:28px; box-shadow:var(--shadow); }
.seo-price { display:block; color:var(--navy); font-size:1.45rem; margin:12px 0 6px; }
.seo-quote-card ol { margin:18px 0 0; padding-left:20px; color:var(--muted); }
.seo-trust-row { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0; }
.seo-trust-row span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 11px; font-size:.8rem; font-weight:750; }
.support-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:24px; }
.mobile-floating-book { display:none; }

@media (max-width: 900px) {
  .experience-grid, .seo-hero-grid { grid-template-columns:1fr; }
  .experience-grid.reverse .experience-card { order:0; }
}
@media (max-width: 760px) {
  .mobile-floating-book { position:fixed; display:block; z-index:46; right:16px; bottom:76px; border:0; border-radius:999px; padding:13px 18px; background:var(--gold); color:#fff; font-weight:900; box-shadow:0 14px 32px rgba(217,119,6,.32); }
  a.mobile-floating-book { text-decoration:none; }
  .experience-card { min-height:220px; padding:24px; }
  .marketing-hero { padding:58px 0; }
  .seo-trust-row { display:grid; }
}

/* Production portal + motion enhancements */
:root{--motion-fast:180ms;--motion-med:320ms;--card-shadow-hover:0 22px 52px rgba(15,76,129,.14)}
html{scroll-behavior:smooth}
.reveal{opacity:0;transform:translateY(18px);transition:opacity 620ms ease var(--reveal-delay,0ms),transform 620ms cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.service-card,.step-card,.experience-card,.guarantee-grid article,.pricing-demo>div,.stat-card,.admin-card,.order-card,.pro-job,.seo-quote-card{transition:transform var(--motion-med) cubic-bezier(.2,.75,.25,1),box-shadow var(--motion-med) ease,border-color var(--motion-fast) ease;background-clip:padding-box}
.service-card:hover,.step-card:hover,.experience-card:hover,.guarantee-grid article:hover,.pricing-demo>div:hover,.stat-card:hover,.admin-card:hover,.order-card:hover,.pro-job:hover,.seo-quote-card:hover{transform:perspective(900px) translateY(-6px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:var(--card-shadow-hover);border-color:rgba(15,76,129,.24)}
.service-card:hover .service-icon,.experience-card:hover .experience-icon{transform:scale(1.08) rotate(-3deg)}
.service-icon,.experience-icon{transition:transform var(--motion-med) ease}
.btn{transition:transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease,filter var(--motion-fast) ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,76,129,.16);filter:saturate(1.04)}
.btn:active{transform:translateY(0)}
.quick-chip{transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease}
.quick-chip:hover{transform:translateY(-2px)}
.main-header{backdrop-filter:saturate(150%) blur(12px)}

.portal-auth-body{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(15,76,129,.12),transparent 30%),radial-gradient(circle at 90% 20%,rgba(245,166,35,.12),transparent 28%),#f7fafc;color:#172235}
.portal-auth-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.portal-auth-wrap.wide{max-width:none}.portal-auth-card{width:min(520px,100%);background:#fff;border:1px solid #dce6ef;border-radius:24px;padding:32px;box-shadow:0 28px 75px rgba(15,42,70,.12)}.portal-auth-copy{margin:30px 0 20px}.portal-auth-copy h1{font-size:clamp(30px,5vw,44px);margin:.35rem 0}.portal-auth-copy p{color:#64748b;line-height:1.7}.portal-auth-card .field-stack{display:grid;gap:16px}.portal-auth-card label{display:grid;gap:7px;font-weight:700}.portal-auth-card input,.portal-auth-card select{width:100%;padding:13px 14px;border:1px solid #cad7e4;border-radius:11px;font:inherit}.auth-foot{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:14px}.text-link,.auth-foot a{color:#0f4c81;font-weight:700}.auth-form-pad{padding-top:18px}
.portal-body{background:#f7fafc;min-height:100vh}.portal-topbar{min-height:76px;background:#fff;border-bottom:1px solid #dfe8f0;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,52px);position:sticky;top:0;z-index:20}.portal-main{max-width:1480px;margin:0 auto;padding:30px clamp(16px,3vw,42px) 70px}.portal-hero{background:linear-gradient(135deg,#0a3f6b,#0f4c81 60%,#14649f);color:#fff;border-radius:24px;padding:clamp(24px,4vw,42px);display:flex;justify-content:space-between;gap:30px;align-items:center;box-shadow:0 20px 50px rgba(15,76,129,.18)}.portal-hero .eyebrow{color:#c9e7ff}.portal-hero h1{font-size:clamp(30px,4vw,48px);margin:.35rem 0}.portal-hero p{color:#d7eaf8}.portal-stat-row{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:12px}.portal-stat-row>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:15px;min-width:120px}.portal-stat-row span{display:block;font-size:12px;color:#cfe6f7}.portal-stat-row strong{display:block;margin-top:6px;font-size:19px}.portal-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;margin-top:26px}.portal-side{background:#fff;border:1px solid #dfe8f0;border-radius:18px;padding:10px;height:max-content;position:sticky;top:96px}.portal-nav{width:100%;text-align:left;border:0;background:transparent;padding:13px 14px;border-radius:11px;font:inherit;font-weight:750;color:#475569;cursor:pointer}.portal-nav:hover,.portal-nav.active{background:#eef6fc;color:#0f4c81}.portal-panel{min-width:0}.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.portal-section-head h2{margin:.25rem 0;font-size:30px}.status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eef6fc;color:#0f4c81;font-size:12px;font-weight:800}.document-list{display:grid;gap:10px}.document-row{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #dfe8f0;border-radius:14px;padding:16px}.document-row strong,.document-row small{display:block}.document-row small{color:#64748b;margin-top:4px}.admin-top-actions{display:flex;gap:8px;align-items:center}
.hover-lift{will-change:transform}.portal-panel .admin-card{background:#fff}.portal-panel textarea{resize:vertical}
@media(max-width:900px){.portal-hero{align-items:flex-start;flex-direction:column}.portal-stat-row{grid-template-columns:repeat(2,1fr);width:100%}.portal-grid{grid-template-columns:1fr}.portal-side{position:static;display:flex;overflow-x:auto}.portal-nav{min-width:max-content}.portal-topbar{position:relative}.admin-top-actions .btn:first-child{display:none}}
@media(max-width:560px){.portal-auth-wrap{padding:0}.portal-auth-card{border-radius:0;min-height:100vh;padding:24px}.portal-stat-row{grid-template-columns:1fr 1fr}.portal-main{padding-inline:12px}.portal-topbar .brand-copy small{display:none}.portal-section-head{align-items:flex-start;flex-direction:column}.document-row{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.service-card,.step-card,.experience-card,.guarantee-grid article,.pricing-demo>div,.stat-card,.admin-card,.order-card,.pro-job,.seo-quote-card,.btn,.quick-chip{transition:none!important}.service-card:hover,.step-card:hover,.experience-card:hover,.guarantee-grid article:hover,.pricing-demo>div:hover,.stat-card:hover,.admin-card:hover,.order-card:hover,.pro-job:hover,.seo-quote-card:hover,.btn:hover{transform:none!important}}

/* Production account security */
.security-card{max-width:720px}
.security-card form{max-width:560px}
@keyframes portalEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.portal-enter{animation:portalEnter .55s cubic-bezier(.2,.75,.25,1) both}
@media(prefers-reduced-motion:reduce){.portal-enter{animation:none!important}}

/* Dedicated Become a Professional onboarding page */
.professional-landing-hero{padding:38px 0 18px}.pro-page-hero{min-height:390px}.pro-page-hero h1{font-size:clamp(42px,6vw,72px);line-height:.98;max-width:650px;margin:.6rem 0 1.2rem}.pro-page-hero p{font-size:1.08rem;line-height:1.7;color:#5c7690;max-width:760px}.pro-trust-list{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}.pro-trust-list span{font-size:.9rem;font-weight:800;color:#0f4c81}.pro-benefits-section{padding-top:56px}.section-heading.centered{display:block;text-align:center;max-width:760px;margin:0 auto 34px}.section-heading.centered h2{max-width:none;margin:.4rem 0 .7rem}.section-heading.centered p{color:#64748b;line-height:1.65}.pro-benefit-grid{grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}.pro-benefit-grid .experience-card{padding:26px;min-height:230px}.experience-number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eef7fd;color:#0f4c81;font-weight:900;margin-bottom:22px}.pro-benefit-grid h3{margin-bottom:10px}.pro-benefit-grid p{color:#64748b;line-height:1.65}.pro-application-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.45fr);gap:38px;align-items:start}.pro-application-copy{position:sticky;top:120px}.pro-application-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.05;margin:.5rem 0 1rem}.pro-application-copy>p{color:#64748b;line-height:1.75}.pro-side-note{margin-top:18px;padding:18px;border:1px solid #d9e6f0;border-radius:16px;background:#fff}.pro-side-note p{margin:.5rem 0 0;color:#64748b;line-height:1.6}.pro-application-card{background:#fff;border:1px solid #dbe6ef;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(15,42,70,.08)}.pro-application-form{display:grid;gap:26px}.pro-form-section{display:grid;gap:17px;padding-bottom:25px;border-bottom:1px solid #e7edf3}.pro-form-section-head{display:flex;gap:12px;align-items:center}.pro-form-section-head>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#0f4c81;color:#fff;font-weight:900}.pro-form-section-head div{display:grid;gap:2px}.pro-form-section-head strong{font-size:1rem;color:#172235}.pro-form-section-head small,.field-help{color:#718096;font-weight:500}.pro-application-card .form-grid textarea,.pro-other-skill input{width:100%;border:1px solid #cbd7e2;border-radius:12px;padding:12px 13px;outline:0;color:var(--ink);background:#fff;resize:vertical}.pro-application-card .form-grid textarea:focus,.pro-other-skill input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,76,129,.08)}.pro-skill-list{display:grid;gap:16px}.pro-skill-group{display:grid;gap:9px}.pro-skill-group>strong{font-size:.84rem;color:#53687d;text-transform:uppercase;letter-spacing:.06em}.pro-skill-options{display:flex;flex-wrap:wrap;gap:8px}.pro-skill-chip{position:relative;cursor:pointer}.pro-skill-chip input{position:absolute;opacity:0;pointer-events:none}.pro-skill-chip span{display:block;border:1px solid #cedbe6;border-radius:999px;padding:8px 12px;background:#fff;font-size:.83rem;font-weight:750;color:#31465b;transition:.18s ease}.pro-skill-chip input:checked+span{background:#0f4c81;border-color:#0f4c81;color:#fff;box-shadow:0 8px 22px rgba(15,76,129,.16)}.pro-skill-chip:hover span{transform:translateY(-1px);border-color:#0f4c81}.pro-other-skill{display:grid;gap:7px;font-size:.84rem;font-weight:800}.pro-consent{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;line-height:1.5;color:#526679}.pro-consent input{margin-top:3px;accent-color:#0f4c81}.professional-apply-success{text-align:center;padding:30px 16px}.professional-apply-success .success-icon{margin:0 auto 16px}.professional-apply-success h2{margin:.5rem 0 .8rem}.professional-apply-success p{max-width:650px;margin:0 auto 18px;color:#64748b;line-height:1.7}.professional-apply-success .marketing-actions{justify-content:center}.pro-application-card select[multiple]{min-height:180px}
@media(max-width:1000px){.pro-benefit-grid{grid-template-columns:repeat(2,1fr)}.pro-application-layout{grid-template-columns:1fr}.pro-application-copy{position:static}.pro-page-hero{min-height:0}}
@media(max-width:620px){.professional-landing-hero{padding-top:18px}.pro-page-hero h1{font-size:42px}.pro-benefit-grid{grid-template-columns:1fr}.pro-application-card{padding:20px;border-radius:18px}.pro-form-section-head{align-items:flex-start}.pro-page-hero .professional-actions{width:100%;display:grid}.pro-trust-list{display:grid}.professional-apply-success .marketing-actions{display:grid}}

/* Home V4 — trust-first layout inspired by leading handyman service sites */
.home-mh-layout { overflow: hidden; }
.home-utility { background: #07385d; }
.home-utility strong { color: #fff; }
.home-header { box-shadow: 0 8px 28px rgba(8,41,67,.05); }
.home-primary-nav { gap: 22px; }
.home-primary-nav a { position: relative; padding: 28px 0; }
.home-primary-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:20px; height:2px; background:var(--gold); transition:right .2s ease; }
.home-primary-nav a:hover::after { right:0; }
.home-header-cta { padding-inline: 20px; }
.btn-large { padding: 14px 22px; font-size: .96rem; }
.btn-light-outline { color:#fff; border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.06); }
.btn-light-outline:hover { background:#fff; color:var(--navy-dark); border-color:#fff; }

.home-hero { position:relative; background:linear-gradient(120deg,#07385d 0%,#0f4c81 56%,#1769a7 100%); color:#fff; padding:74px 0 0; }
.home-hero::after { content:""; position:absolute; inset:auto 0 0; height:150px; background:linear-gradient(180deg,transparent,rgba(2,26,45,.16)); pointer-events:none; }
.home-hero-bg { position:absolute; inset:0; overflow:hidden; pointer-events:none; opacity:.42; }
.home-hero-bg::before { content:""; position:absolute; width:660px; height:660px; right:-220px; top:-260px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018); }
.home-hero-bg::after { content:""; position:absolute; left:-160px; bottom:-330px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle,rgba(217,119,6,.22),transparent 66%); }
.home-tool-shape { position:absolute; color:rgba(255,255,255,.08); font-weight:900; line-height:1; }
.home-tool-shape.tool-one { font-size:230px; right:8%; top:4%; transform:rotate(-12deg); }
.home-tool-shape.tool-two { font-size:150px; left:48%; bottom:8%; }
.home-tool-shape.tool-three { font-size:180px; left:4%; bottom:2%; }
.home-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(350px,.72fr); gap:64px; align-items:center; padding-bottom:58px; }
.home-hero-copy { max-width:720px; }
.home-kicker,.home-card-kicker { display:inline-block; letter-spacing:.13em; font-size:.75rem; font-weight:900; color:#ffd28f; margin-bottom:16px; }
.home-hero-copy h1 { font-size:clamp(3.2rem,6vw,5.8rem); line-height:.96; max-width:760px; margin-bottom:22px; }
.home-hero-copy>p { color:#dcebf5; font-size:1.08rem; line-height:1.75; max-width:680px; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 34px; }
.home-proof-row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:720px; }
.home-proof-row>div { display:grid; grid-template-columns:34px 1fr; column-gap:9px; align-items:center; padding:12px 0; border-top:1px solid rgba(255,255,255,.15); }
.home-proof-row>div>span { grid-row:1/3; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); color:#ffd28f; font-weight:900; }
.home-proof-row strong { font-size:.82rem; color:#fff; }
.home-proof-row small { color:#bcd4e5; font-size:.7rem; }
.home-lead-card { position:relative; background:#fff; color:var(--ink); border-radius:8px 8px 26px 8px; padding:32px; box-shadow:0 30px 80px rgba(0,20,37,.3); border-top:5px solid var(--gold); }
.home-lead-card::before { content:""; position:absolute; right:20px; top:22px; width:54px; height:54px; border-radius:50%; background:linear-gradient(145deg,#edf6fc,#dcecf7); }
.home-lead-card::after { content:"HP"; position:absolute; right:31px; top:38px; color:var(--navy); font-weight:950; font-size:.9rem; }
.home-card-kicker { color:var(--navy); margin-bottom:8px; }
.home-lead-card h2 { font-size:2rem; margin-bottom:8px; padding-right:65px; }
.home-lead-card>p { font-size:.87rem; line-height:1.6; margin-bottom:22px; }
.home-lead-card label { display:grid; gap:7px; font-size:.78rem; font-weight:850; color:#30465b; margin-bottom:13px; }
.home-lead-card select { width:100%; border:1px solid #cdd9e3; background:#fff; color:var(--ink); border-radius:10px; padding:12px 12px; outline:none; }
.home-lead-card select:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(15,76,129,.08); }
.home-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.home-lead-note { margin-top:12px; color:#5b7084; font-size:.76rem; text-align:center; }
.home-lead-note span { color:var(--green); font-weight:900; }
.home-search-panel { position:relative; z-index:3; transform:translateY(44px); display:grid; grid-template-columns:auto minmax(300px,1fr); gap:18px 26px; align-items:center; background:#fff; color:var(--ink); border-radius:18px; padding:20px 22px; box-shadow:0 22px 60px rgba(5,35,59,.2); border:1px solid rgba(210,225,236,.8); }
.home-search-copy { display:grid; min-width:185px; }
.home-search-copy strong { color:var(--navy-dark); }
.home-search-copy span { color:var(--muted); font-size:.78rem; }
.home-service-search { margin:0; }
.home-service-search .service-search { box-shadow:none; border-radius:11px; }
.home-search-panel .quick-services { grid-column:1/-1; margin:0; padding-top:2px; }
.home-search-panel .quick-chip { background:#f7fafc; }
.home-search-panel .suggestions { top:58px; }

.home-trust-strip { padding:82px 0 26px; background:#fff; }
.home-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-trust-card { display:flex; gap:12px; align-items:center; padding:22px 18px; border-right:1px solid var(--line); }
.home-trust-card:last-child { border-right:0; }
.home-trust-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:var(--navy); background:#eaf4fb; font-size:.8rem; font-weight:950; }
.home-trust-card strong,.home-trust-card small { display:block; }
.home-trust-card strong { font-size:.87rem; }
.home-trust-card small { color:var(--muted); font-size:.72rem; margin-top:3px; line-height:1.35; }

.home-services-section { padding-top:72px; }
.home-section-heading { align-items:flex-end; }
.home-section-heading p { max-width:690px; margin:12px 0 0; }
.home-text-link { color:var(--navy); font-weight:850; white-space:nowrap; padding-bottom:6px; }
.home-text-link span { display:inline-block; transition:transform .2s ease; }
.home-text-link:hover span { transform:translateX(5px); }
.home-service-grid .service-card { position:relative; min-height:210px; border-radius:12px; padding:24px; border-color:#dce6ed; overflow:hidden; text-align:left; }
.home-service-grid .service-card::after { content:"→"; position:absolute; right:20px; bottom:18px; width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:#f0f6fa; color:var(--navy); font-weight:900; opacity:0; transform:translateX(-5px); transition:.2s ease; }
.home-service-grid .service-card:hover::after { opacity:1; transform:translateX(0); }
.home-service-grid .service-card:hover { border-color:rgba(15,76,129,.42); box-shadow:0 20px 42px rgba(15,76,129,.11); }
.home-service-grid .service-icon { border-radius:50%; width:50px; height:50px; background:#eaf4fb; }
.home-service-grid .service-card h3 { font-size:1.03rem; }
.home-service-grid .service-card p { line-height:1.45; }

.home-why-section { background:#f5f8fb; border-top:1px solid #e7eef4; border-bottom:1px solid #e7eef4; }
.home-why-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:72px; align-items:center; }
.home-why-visual { min-height:590px; border-radius:28px 8px 28px 8px; background:linear-gradient(145deg,#dbeef9 0%,#eef7fc 44%,#0f4c81 44.3%,#0a3559 100%); position:relative; overflow:hidden; box-shadow:0 28px 70px rgba(15,76,129,.14); }
.home-why-visual::before { content:""; position:absolute; width:330px; height:330px; border-radius:50%; background:rgba(255,255,255,.09); right:-80px; bottom:-60px; }
.home-house-frame { position:absolute; width:290px; height:310px; left:50%; top:48%; transform:translate(-50%,-50%); }
.house-roof { position:absolute; left:22px; top:0; width:0; height:0; border-left:123px solid transparent; border-right:123px solid transparent; border-bottom:100px solid rgba(255,255,255,.94); }
.house-wall { position:absolute; left:45px; top:93px; width:200px; height:170px; background:rgba(255,255,255,.94); border-radius:2px 2px 10px 10px; }
.house-door { position:absolute; left:123px; top:170px; width:48px; height:93px; background:#d97706; border-radius:6px 6px 0 0; }
.house-window { position:absolute; top:133px; width:43px; height:43px; background:#b9dbef; border:5px solid #fff; box-shadow:inset 0 0 0 1px #90bdd9; }
.house-window::before,.house-window::after { content:""; position:absolute; background:#fff; }
.house-window::before { width:5px; top:0; bottom:0; left:14px; }
.house-window::after { height:5px; left:0; right:0; top:14px; }
.window-one { left:73px; }.window-two { right:73px; }
.home-pro-badge { position:absolute; display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #dce7ef; padding:13px 15px; border-radius:13px; box-shadow:0 17px 42px rgba(6,36,59,.18); }
.home-pro-badge>span { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; font-weight:900; }
.home-pro-badge strong,.home-pro-badge small { display:block; }
.home-pro-badge strong { font-size:.82rem; }
.home-pro-badge small { font-size:.68rem; color:var(--muted); margin-top:3px; }
.home-pro-badge.badge-main { left:24px; bottom:28px; }
.home-pro-badge.badge-side { right:18px; top:34px; }
.home-pro-badge.badge-side>span { background:#e6f8f2; color:#0a8f66; }
.home-why-copy h2 { max-width:620px; }
.home-why-copy>p { font-size:1rem; line-height:1.75; }
.home-promise-list { display:grid; gap:4px; margin:28px 0 30px; }
.home-promise-item { display:grid; grid-template-columns:52px 1fr; gap:16px; padding:18px 0; border-top:1px solid #dce7ef; }
.home-promise-item>span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--gold); border:1px solid #d8e3eb; font-size:.75rem; font-weight:950; }
.home-promise-item h3 { font-size:1rem; margin-bottom:6px; }
.home-promise-item p { font-size:.86rem; line-height:1.55; margin:0; }

.home-done-right-section { padding:0 0 0; background:#f5f8fb; }
.home-done-right { background:linear-gradient(125deg,#082f4e,#0f4c81 70%,#1768a8); color:#fff; display:grid; grid-template-columns:1.4fr .6fr; gap:40px; align-items:center; padding:52px; border-radius:8px 8px 28px 8px; transform:translateY(52px); position:relative; z-index:3; box-shadow:0 24px 65px rgba(7,42,70,.2); }
.home-done-right h2 { font-size:clamp(2rem,3.4vw,3.2rem); max-width:780px; }
.home-done-right p { color:#c9dfed; max-width:850px; margin-bottom:0; }
.home-done-actions { display:grid; gap:10px; justify-items:stretch; }

.home-how-section { padding-top:140px; }
.home-centered-heading p { max-width:640px; margin:0 auto; }
.home-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.home-how-card { position:relative; padding:32px; border:1px solid var(--line); background:#fff; border-radius:10px 10px 22px 10px; overflow:hidden; min-height:280px; transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.home-how-card::before { content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:linear-gradient(90deg,var(--navy),var(--gold)); transform:scaleX(0); transform-origin:left; transition:transform .28s ease; }
.home-how-card:hover::before { transform:scaleX(1); }
.home-how-icon { width:55px; height:55px; display:grid; place-items:center; background:#eaf4fb; color:var(--navy); border-radius:50%; font-size:1.3rem; margin:18px 0 24px; }
.home-step-number { position:absolute; right:22px; top:18px; color:#dce8f0; font-size:2.6rem; font-weight:950; line-height:1; }
.home-how-card h3 { font-size:1.12rem; }
.home-how-card p { font-size:.88rem; line-height:1.65; margin:0; }

.home-family-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:18px; }
.home-family-card { position:relative; overflow:hidden; min-height:330px; padding:30px; color:#fff; border-radius:10px 10px 24px 10px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(255,255,255,.08); transition:transform .28s ease,box-shadow .28s ease; }
.home-family-card::after { content:""; position:absolute; width:210px; height:210px; right:-65px; bottom:-65px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 35px rgba(255,255,255,.025); }
.home-family-card>div { position:relative; z-index:2; margin-top:auto; }
.home-family-card small { color:#d9eaf6; letter-spacing:.11em; font-weight:900; }
.home-family-card h3 { font-size:1.55rem; margin:10px 0; max-width:420px; }
.home-family-card p { color:#d7e7f1; line-height:1.6; font-size:.86rem; max-width:520px; }
.home-family-card a { color:#fff; font-weight:850; font-size:.87rem; }
.home-family-icon { position:relative; z-index:2; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); font-size:1.5rem; }
.family-maintenance { background:linear-gradient(145deg,#07385d,#0f4c81); }
.family-tailoring { background:linear-gradient(145deg,#74420c,#b36708); }
.family-beauty { background:linear-gradient(145deg,#5f3e72,#8f5a9f); }

.home-offer-section { background:#fff; }
.home-pricing-band { margin-top:20px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:42px; background:#fff8ed; border:1px solid #f0ddbf; border-radius:10px 10px 24px 10px; }
.home-pricing-band p { margin:0; }
.home-pricing-types { display:grid; gap:10px; }
.home-pricing-types article { display:grid; grid-template-columns:130px 1fr; align-items:center; gap:12px; background:#fff; border:1px solid #efdcc0; padding:15px 16px; border-radius:10px; }
.home-pricing-types span { color:var(--gold); font-size:.77rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.home-pricing-types strong { font-size:.88rem; }

.home-professional-section { padding-top:38px; }
.home-professional-panel { display:grid; grid-template-columns:1.35fr .65fr; gap:36px; align-items:center; background:linear-gradient(135deg,#edf6fc,#f9fcfe); border:1px solid #cfe0ec; border-left:6px solid var(--navy); padding:42px 46px; border-radius:8px 8px 24px 8px; }
.home-professional-copy h2 { max-width:700px; }
.home-professional-copy p { max-width:760px; }
.home-pro-mini-proof { display:flex; flex-wrap:wrap; gap:10px 18px; color:var(--navy); font-size:.78rem; font-weight:850; }
.home-professional-actions { display:grid; gap:10px; }

.home-footer { padding-top:0; }
.home-footer-top { display:flex; justify-content:space-between; gap:30px; align-items:center; padding:40px 0; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:48px; }
.home-footer-top h2 { color:#fff; font-size:clamp(1.8rem,3vw,2.7rem); margin:0; }
.home-footer-cta { display:flex; gap:10px; }
.home-footer .footer-grid { grid-template-columns:1.35fr repeat(4,1fr); }

@media (max-width: 1160px){
  .home-primary-nav { display:none; }
  .home-header-actions { margin-left:auto; }
  .home-hero-grid { grid-template-columns:1fr minmax(330px,.72fr); gap:36px; }
  .home-proof-row { grid-template-columns:1fr; max-width:460px; }
  .home-proof-row>div { padding:8px 0; }
  .home-trust-grid { grid-template-columns:repeat(2,1fr); }
  .home-trust-card:nth-child(2) { border-right:0; }
  .home-trust-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .home-family-grid { grid-template-columns:1fr 1fr; }
  .family-maintenance { grid-column:1/-1; min-height:280px; }
  .home-footer .footer-grid { grid-template-columns:1.35fr repeat(2,1fr); }
}
@media (max-width: 900px){
  .home-hero { padding-top:54px; }
  .home-hero-grid,.home-why-grid,.home-done-right,.home-pricing-band,.home-professional-panel { grid-template-columns:1fr; }
  .home-hero-copy { max-width:none; }
  .home-hero-copy h1 { font-size:clamp(3rem,9vw,5rem); }
  .home-proof-row { grid-template-columns:repeat(3,1fr); max-width:none; }
  .home-search-panel { grid-template-columns:1fr; transform:translateY(38px); }
  .home-search-panel .quick-services { grid-column:1; }
  .home-search-copy { grid-template-columns:auto 1fr; gap:8px; align-items:center; }
  .home-why-visual { min-height:490px; order:2; }
  .home-done-right { padding:38px; }
  .home-done-actions { grid-template-columns:1fr 1fr; }
  .home-how-grid { grid-template-columns:1fr; }
  .home-how-card { min-height:0; }
  .home-family-grid { grid-template-columns:1fr; }
  .family-maintenance { grid-column:auto; }
  .home-professional-actions { grid-template-columns:1fr 1fr; }
  .home-footer-top { align-items:flex-start; flex-direction:column; }
  .home-footer .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px){
  .home-utility .utility-left>span:not(.divider) { display:none; }
  .home-hero { padding-top:42px; }
  .home-hero-grid { padding-bottom:42px; gap:30px; }
  .home-hero-copy h1 { font-size:2.75rem; }
  .home-hero-copy>p { font-size:.96rem; }
  .home-hero-actions { display:grid; }
  .home-proof-row { grid-template-columns:1fr; }
  .home-lead-card { padding:24px 20px; border-radius:7px 7px 18px 7px; }
  .home-lead-card h2 { font-size:1.7rem; }
  .home-form-pair { grid-template-columns:1fr; gap:0; }
  .home-search-panel { width:calc(100% - 24px); padding:14px; gap:12px; border-radius:14px; }
  .home-search-panel .service-search { display:grid; grid-template-columns:auto 1fr; }
  .home-search-panel .service-search .btn { grid-column:1/-1; }
  .home-search-panel .suggestions { top:108px; }
  .home-trust-strip { padding-top:70px; }
  .home-trust-grid { grid-template-columns:1fr; }
  .home-trust-card { border-right:0; border-bottom:1px solid var(--line); }
  .home-trust-card:last-child { border-bottom:0; }
  .home-service-grid { grid-template-columns:1fr; }
  .home-service-grid .service-card { min-height:175px; }
  .home-why-grid { gap:36px; }
  .home-why-visual { min-height:410px; }
  .home-house-frame { transform:translate(-50%,-50%) scale(.8); }
  .home-pro-badge { transform:scale(.84); }
  .home-pro-badge.badge-main { left:3px; bottom:12px; transform-origin:left bottom; }
  .home-pro-badge.badge-side { right:0; top:16px; transform-origin:right top; }
  .home-promise-item { grid-template-columns:42px 1fr; gap:12px; }
  .home-done-right { padding:28px 22px; transform:translateY(36px); }
  .home-done-actions,.home-professional-actions { grid-template-columns:1fr; }
  .home-how-section { padding-top:100px; }
  .home-family-card { min-height:300px; padding:24px; }
  .home-pricing-band { padding:26px 20px; }
  .home-pricing-types article { grid-template-columns:1fr; gap:2px; }
  .home-professional-panel { padding:28px 22px; }
  .home-footer-top { padding:32px 0; }
  .home-footer-cta { display:grid; width:100%; }
  .home-footer .footer-grid { grid-template-columns:1fr; }
}
.home-trust-card,.home-family-card,.home-how-card,.home-promise-item,.home-professional-panel,.home-pricing-band{transition:transform .28s cubic-bezier(.2,.75,.25,1),box-shadow .28s ease,border-color .2s ease,background .2s ease}
.home-trust-card:hover{background:#f8fbfd;transform:perspective(900px) translateY(-3px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 12px 30px rgba(15,76,129,.07)}
.home-how-card:hover,.home-family-card:hover{transform:perspective(900px) translateY(-7px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 24px 52px rgba(15,76,129,.15);border-color:rgba(15,76,129,.25)}
.home-promise-item:hover{padding-left:8px;background:linear-gradient(90deg,rgba(255,255,255,.7),transparent)}
.home-professional-panel:hover,.home-pricing-band:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(15,76,129,.09)}
@media(prefers-reduced-motion:reduce){.home-trust-card,.home-family-card,.home-how-card,.home-promise-item,.home-professional-panel,.home-pricing-band{transition:none!important}.home-trust-card:hover,.home-family-card:hover,.home-how-card:hover,.home-professional-panel:hover,.home-pricing-band:hover{transform:none!important}}

/* ========================================================================
   HomePro V4 Visual Upgrade — local image assets + richer service cards
   ======================================================================== */
.home-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(230px,.48fr) minmax(340px,.68fr);
  gap:30px;
}
.home-hero-photo{
  position:relative;
  align-self:stretch;
  min-height:500px;
  margin:0;
  border-radius:24px 8px 24px 8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 70px rgba(0,20,37,.28);
  background:#0a3559;
}
.home-hero-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(2,23,39,.02) 20%,rgba(2,23,39,.12) 60%,rgba(2,23,39,.82) 100%);
  pointer-events:none;
}
.home-hero-photo img{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:68% center;
  display:block;
  transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .4s ease;
}
.home-hero-photo:hover img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
.home-hero-photo figcaption{
  position:absolute;
  z-index:2;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(4,38,63,.82);
  backdrop-filter:blur(10px);
  color:#fff;
}
.home-hero-photo figcaption>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8fff7;color:#09865f;font-weight:950;flex:0 0 34px}
.home-hero-photo figcaption strong,.home-hero-photo figcaption small{display:block}
.home-hero-photo figcaption strong{font-size:.82rem}
.home-hero-photo figcaption small{color:#c9dfed;font-size:.68rem;margin-top:2px;line-height:1.35}

.home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-service-grid .visual-service-card{
  padding:0;
  min-height:356px;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
  text-align:left;
  box-shadow:0 7px 22px rgba(15,76,129,.055);
}
.service-card-media{
  position:relative;
  display:block;
  height:168px;
  overflow:hidden;
  background:#eaf2f7;
}
.service-card-media::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgba(4,31,51,.24));
  pointer-events:none;
}
.service-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .35s ease;
}
.visual-service-card:hover .service-card-media img{transform:scale(1.075);filter:saturate(1.06) contrast(1.02)}
.service-card-badge{
  position:absolute;
  z-index:2;
  left:12px;
  bottom:11px;
  padding:6px 9px;
  border-radius:999px;
  color:#fff;
  background:rgba(7,56,93,.88);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(8px);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.02em;
}
.service-card-body{display:flex;flex-direction:column;flex:1;padding:17px 18px 19px}
.service-card-title-row{display:flex;align-items:center;gap:10px;color:var(--ink)}
.home-service-grid .service-card-title-row .service-icon{width:37px;height:37px;flex:0 0 37px;margin:0;border-radius:10px;font-size:1.05rem}
.service-card-title-row strong{font-size:.98rem;line-height:1.25}
.service-card-category{display:block;color:var(--muted);font-size:.76rem;line-height:1.45;margin-top:9px}
.service-card-price{display:block;color:var(--navy-dark);font-weight:950;font-size:.9rem;margin-top:auto;padding-top:13px}
.visual-service-card .warranty-mini{display:block;color:#14815e;font-size:.69rem;margin-top:5px;line-height:1.3}
.home-service-grid .visual-service-card::after{bottom:19px;right:16px;background:#eaf4fb}

.home-why-visual{background:#dfeef7}
.home-why-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.75,.25,1)}
.home-why-visual:hover .home-why-photo{transform:scale(1.035)}
.home-why-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,41,67,.03) 30%,rgba(5,41,67,.12) 57%,rgba(5,41,67,.55) 100%);pointer-events:none}

.home-family-card{padding:0;justify-content:flex-end;isolation:isolate}
.home-family-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-2;transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .35s ease}
.home-family-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,25,42,.04) 12%,rgba(4,28,47,.42) 48%,rgba(4,28,47,.92) 100%)}
.home-family-card:hover .home-family-media{transform:scale(1.06);filter:saturate(1.07)}
.home-family-card .home-family-icon{position:absolute;top:22px;left:22px;backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.home-family-card>div{padding:105px 28px 28px;margin:0;width:100%;background:linear-gradient(180deg,transparent,rgba(3,28,47,.05))}
.home-family-card p{color:#e8f2f8}
.home-family-card small{color:#f4d49e}
.family-maintenance,.family-tailoring,.family-beauty{background:#07385d}

.home-professional-panel{grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);overflow:hidden;padding-right:28px}
.home-professional-visual{display:grid;gap:12px;align-self:stretch}
.home-professional-visual>img{width:100%;height:230px;object-fit:cover;object-position:62% center;border-radius:15px;display:block;box-shadow:0 18px 40px rgba(15,76,129,.16);transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.home-professional-panel:hover .home-professional-visual>img{transform:scale(1.018)}
.home-professional-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Small polish: visuals feel interactive without slowing down navigation. */
.visual-service-card,.home-family-card,.home-hero-photo,.home-why-visual,.home-professional-visual>img{will-change:transform}
.visual-service-card:focus-visible,.home-family-card a:focus-visible{outline:3px solid rgba(245,166,35,.55);outline-offset:3px}

@media (max-width:1320px){
  .home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(205px,.43fr) minmax(330px,.66fr);gap:22px}
  .home-hero-copy h1{font-size:clamp(3rem,5.4vw,5.1rem)}
}
@media (max-width:1160px){
  .home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);gap:36px}
  .home-hero-photo{display:none}
  .home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .home-hero-grid{grid-template-columns:1fr}
  .home-hero-photo{display:block;min-height:390px;max-height:460px;order:2}
  .home-hero-photo img{min-height:390px;max-height:460px}
  .home-lead-card{order:3}
  .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-professional-panel{grid-template-columns:1fr;padding-right:38px}
  .home-professional-visual>img{height:310px}
}
@media (max-width:620px){
  .home-hero-photo{min-height:320px;max-height:350px;border-radius:18px 7px 18px 7px}
  .home-hero-photo img{min-height:320px;max-height:350px}
  .home-service-grid{grid-template-columns:1fr}
  .home-service-grid .visual-service-card{min-height:360px}
  .service-card-media{height:190px}
  .home-family-card>div{padding:110px 22px 24px}
  .home-professional-panel{padding-right:22px}
  .home-professional-visual>img{height:250px}
  .home-professional-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .home-hero-photo img,.service-card-media img,.home-family-media,.home-why-photo,.home-professional-visual>img{transition:none!important;transform:none!important}
}

/* Public service/category/SEO visual pages */
.visual-marketing-hero{padding:68px 0}
.marketing-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);gap:54px;align-items:center}
.marketing-hero-grid>div:first-child{max-width:760px}
.marketing-hero-photo{position:relative;overflow:hidden;border-radius:24px 8px 24px 8px;min-height:330px;box-shadow:0 26px 60px rgba(15,76,129,.14);background:#e9f2f8}
.marketing-hero-photo::after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(180deg,transparent,rgba(5,35,59,.28))}
.marketing-hero-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.marketing-hero-photo:hover img{transform:scale(1.04)}
.category-photo img{object-position:center}
.visual-public-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.visual-static-card{padding:0;min-height:390px;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(15,76,129,.055)}
.static-service-media{position:relative;height:170px;overflow:hidden;background:#eaf2f7}
.static-service-media::after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(180deg,transparent,rgba(4,31,51,.38))}
.static-service-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .35s ease}
.visual-static-card:hover .static-service-media img{transform:scale(1.07);filter:saturate(1.06)}
.static-service-media span{position:absolute;z-index:2;left:12px;bottom:11px;color:#fff;background:rgba(7,56,93,.86);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 9px;font-size:.65rem;font-weight:900;backdrop-filter:blur(8px)}
.static-service-body{display:flex;flex-direction:column;flex:1;padding:17px 18px 20px}
.static-service-title{display:flex;gap:10px;align-items:center}
.static-service-title .service-icon{margin:0;width:38px;height:38px;flex:0 0 38px;border-radius:10px;font-size:1.05rem}
.static-service-title h3{margin:0;font-size:1rem;line-height:1.25}
.static-service-body>p{font-size:.8rem;line-height:1.55;margin:12px 0 8px;color:var(--muted)}
.static-service-body .static-service-meta{margin-top:auto}
.static-service-body .link-arrow{margin-top:10px}
.visual-seo-card{padding:0;overflow:hidden}
.visual-seo-card>img{width:100%;height:220px;object-fit:cover;display:block}
.visual-seo-body{padding:24px 28px 28px}
.professional-hero-media{flex:0 0 270px;height:260px;border-radius:20px;overflow:hidden;box-shadow:0 22px 55px rgba(15,76,129,.15);background:#eaf2f7}
.professional-hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% center;display:block;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.pro-page-hero:hover .professional-hero-media img{transform:scale(1.035)}
.pro-page-hero{gap:24px}
.pro-page-hero .professional-actions{flex-direction:column}

@media(max-width:1160px){
  .visual-public-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pro-page-hero{flex-wrap:wrap}
  .professional-hero-media{order:2;flex:1 1 320px}
  .pro-page-hero .professional-actions{order:3;flex-direction:row;width:100%}
}
@media(max-width:900px){
  .marketing-hero-grid{grid-template-columns:1fr;gap:28px}
  .marketing-hero-photo{min-height:300px}
  .marketing-hero-photo img{min-height:300px;max-height:430px}
  .visual-public-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .professional-hero-media{width:100%;height:320px}
}
@media(max-width:620px){
  .visual-marketing-hero{padding:44px 0}
  .marketing-hero-photo{min-height:240px;border-radius:18px 7px 18px 7px}
  .marketing-hero-photo img{min-height:240px;max-height:300px}
  .visual-public-service-grid{grid-template-columns:1fr}
  .visual-static-card{min-height:370px}
  .static-service-media{height:190px}
  .professional-hero-media{height:250px}
  .pro-page-hero .professional-actions{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .marketing-hero-photo img,.static-service-media img,.professional-hero-media img{transition:none!important;transform:none!important}
}

/* ========================================================================
   HomePro V5 Trust Visual — richer hero + section photography
   ======================================================================== */
.home-hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(560px,1.12fr);
  gap:42px;
  align-items:center;
}
.home-hero-copy{max-width:650px}
.home-hero-copy h1{font-size:clamp(3.35rem,5.7vw,5.95rem);max-width:680px}
.home-hero-stage{
  position:relative;
  min-height:610px;
  border-radius:30px 10px 30px 10px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(0,18,33,.38);
  border:1px solid rgba(255,255,255,.18);
  isolation:isolate;
  background:#0a3559;
}
.home-hero-stage-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;transition:transform .8s cubic-bezier(.2,.75,.25,1),filter .45s ease;
}
.home-hero-stage:hover .home-hero-stage-image{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}
.home-hero-stage-shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(3,28,47,.78) 0%,rgba(3,28,47,.38) 41%,rgba(3,28,47,.04) 72%),linear-gradient(180deg,rgba(3,28,47,.02),rgba(3,28,47,.18));
}
.home-lead-card-overlay{
  position:absolute;z-index:3;left:28px;bottom:28px;width:min(390px,calc(100% - 56px));
  padding:27px 28px 24px;border-radius:15px 15px 24px 15px;border-top-width:4px;
  box-shadow:0 26px 70px rgba(2,22,38,.32);
}
.home-lead-card-overlay h2{font-size:1.72rem}
.home-lead-card-overlay>p{font-size:.8rem;margin-bottom:17px}
.home-lead-card-overlay label{margin-bottom:9px}
.home-lead-card-overlay select{padding:10px 11px}
.home-stage-trust-badge{
  position:absolute;z-index:3;right:18px;top:18px;display:flex;align-items:center;gap:10px;
  max-width:250px;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:13px;
  color:#fff;background:rgba(5,45,75,.76);backdrop-filter:blur(12px);box-shadow:0 15px 36px rgba(0,21,37,.18);
}
.home-stage-trust-badge>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#e8fff7;color:#0a8f66;font-weight:950}
.home-stage-trust-badge strong,.home-stage-trust-badge small{display:block}
.home-stage-trust-badge strong{font-size:.75rem}.home-stage-trust-badge small{font-size:.64rem;color:#d2e5f0;margin-top:2px;line-height:1.35}

.home-done-right-v5{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:46px;align-items:center}
.home-done-copy{max-width:760px}.home-done-proof{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 25px}
.home-done-proof span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);color:#d9eaf4;font-size:.72rem;font-weight:800}
.home-done-visual{position:relative;margin:0;overflow:hidden;min-height:310px;border-radius:20px 7px 20px 7px;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 54px rgba(0,17,31,.25)}
.home-done-visual::after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(180deg,transparent,rgba(2,27,45,.88));pointer-events:none}
.home-done-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.home-done-visual:hover img{transform:scale(1.045)}
.home-done-visual figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff}.home-done-visual figcaption strong,.home-done-visual figcaption small{display:block}.home-done-visual figcaption strong{font-size:.96rem}.home-done-visual figcaption small{color:#cfe0eb;font-size:.7rem;margin-top:4px}

.home-how-showcase{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:30px;align-items:stretch;margin-top:38px}
.home-how-photo{position:relative;margin:0;min-height:470px;border-radius:24px 8px 24px 8px;overflow:hidden;background:#eaf2f7;box-shadow:0 24px 56px rgba(15,76,129,.13)}
.home-how-photo::after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(180deg,transparent,rgba(4,31,51,.72));pointer-events:none}
.home-how-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.75,.25,1)}
.home-how-photo:hover img{transform:scale(1.035)}
.home-how-photo figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;display:flex;gap:11px;align-items:center;color:#fff}
.home-how-photo figcaption>span{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border-radius:50%;background:#e8fff7;color:#09865f;font-weight:950}.home-how-photo figcaption strong,.home-how-photo figcaption small{display:block}.home-how-photo figcaption small{font-size:.72rem;color:#d4e6f0;margin-top:3px}
.home-how-grid-v5{grid-template-columns:1fr;gap:14px}
.home-how-grid-v5 .home-how-card{min-height:0;display:grid;grid-template-columns:42px 54px 1fr;align-items:start;gap:14px;padding:25px 24px}
.home-how-grid-v5 .home-how-card .home-step-number{position:static;grid-column:1;grid-row:1}
.home-how-grid-v5 .home-how-card .home-how-icon{grid-column:2;grid-row:1;width:50px;height:50px;margin:0}
.home-how-grid-v5 .home-how-card>div:last-child{grid-column:3;grid-row:1}.home-how-grid-v5 .home-how-card h3{margin:1px 0 7px}.home-how-grid-v5 .home-how-card p{margin:0}

.home-support-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.56fr);gap:38px;align-items:center}
.home-support-copy p{color:#bcd3e2;max-width:680px;line-height:1.65;margin:10px 0 21px}.home-support-copy .home-footer-cta{justify-content:flex-start}
.home-support-photo{position:relative;margin:0;height:230px;overflow:hidden;border-radius:18px 7px 18px 7px;border:1px solid rgba(255,255,255,.13);box-shadow:0 20px 44px rgba(0,17,31,.22)}
.home-support-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.75,.25,1)}.home-support-photo:hover img{transform:scale(1.04)}
.home-support-photo::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(2,27,45,.78))}.home-support-photo figcaption{position:absolute;z-index:2;left:15px;bottom:13px;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

.home-family-card{min-height:455px}.home-family-card>div{padding-top:165px}
.home-professional-visual>img{height:285px;object-position:center}

@media(max-width:1260px){
  .home-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:30px}.home-hero-stage{min-height:585px}.home-lead-card-overlay{width:365px}
}
@media(max-width:1060px){
  .home-hero-grid{grid-template-columns:1fr}.home-hero-copy{max-width:760px}.home-hero-stage{min-height:570px}.home-lead-card-overlay{width:390px}
  .home-done-right-v5,.home-how-showcase,.home-support-top{grid-template-columns:1fr}.home-done-visual{min-height:360px}.home-how-photo{min-height:430px}.home-support-photo{height:300px}
}
@media(max-width:720px){
  .home-hero{padding-top:48px}.home-hero-copy h1{font-size:clamp(2.8rem,13vw,4.2rem)}.home-proof-row{grid-template-columns:1fr}.home-hero-stage{min-height:690px;overflow:visible;background:transparent;box-shadow:none;border:0}.home-hero-stage-image{height:330px;border-radius:20px 7px 20px 7px;box-shadow:0 22px 54px rgba(0,18,33,.3)}.home-hero-stage-shade{height:330px;border-radius:20px 7px 20px 7px}.home-stage-trust-badge{top:14px;right:14px;max-width:220px}.home-lead-card-overlay{left:0;right:0;bottom:0;width:100%;max-width:none}.home-search-panel{margin-top:10px}
  .home-done-visual{min-height:290px}.home-how-photo{min-height:340px}.home-how-grid-v5 .home-how-card{grid-template-columns:38px 46px 1fr;padding:20px 18px}.home-how-grid-v5 .home-how-card .home-how-icon{width:42px;height:42px}.home-family-card{min-height:420px}.home-support-photo{height:240px}
}
@media(max-width:480px){
  .home-stage-trust-badge{display:none}.home-hero-stage{min-height:700px}.home-hero-stage-image,.home-hero-stage-shade{height:300px}.home-lead-card-overlay{padding:23px 20px 20px}.home-form-pair{grid-template-columns:1fr}.home-how-grid-v5 .home-how-card{grid-template-columns:36px 1fr}.home-how-grid-v5 .home-how-card .home-how-icon{display:none}.home-how-grid-v5 .home-how-card>div:last-child{grid-column:2}.home-done-proof{display:grid}.home-support-photo{height:210px}
}
@media(prefers-reduced-motion:reduce){.home-hero-stage-image,.home-done-visual img,.home-how-photo img,.home-support-photo img{transition:none!important;transform:none!important}}


/* ========================================================================
   HomePro V5.3 — Hero visibility fix + premium motion layer
   ======================================================================== */
@keyframes homeHeroStageIn{0%{opacity:0;transform:translate3d(34px,14px,0) scale(.982)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes homeHeroImageBreath{0%{transform:scale(1.006) translate3d(0,0,0)}50%{transform:scale(1.025) translate3d(-.25%,0,0)}100%{transform:scale(1.012) translate3d(.18%,-.12%,0)}}
@keyframes homeHeroCardIn{0%{opacity:0;transform:translate3d(0,24px,0) scale(.985)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes homeHeroBadgeFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-6px,0)}}
@keyframes homeHeroGlowSweep{0%{transform:translateX(-140%) skewX(-18deg);opacity:0}18%{opacity:.2}48%{opacity:.05}100%{transform:translateX(240%) skewX(-18deg);opacity:0}}
.home-hero-stage.hero-stage-enter{opacity:1;transform:none;animation:homeHeroStageIn .9s cubic-bezier(.18,.82,.24,1) both}
.home-hero-stage.hero-stage-enter::after{content:"";position:absolute;z-index:2;top:-12%;bottom:-12%;left:-32%;width:22%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);filter:blur(8px);animation:homeHeroGlowSweep 7s ease-in-out 1.3s infinite}
.home-hero-stage.hero-stage-enter .home-hero-stage-image{animation:homeHeroImageBreath 16s ease-in-out 1s infinite alternate;transform-origin:68% 50%;will-change:transform}
.home-hero-stage.hero-stage-enter:hover .home-hero-stage-image{animation-play-state:paused;transform:scale(1.035);filter:saturate(1.05) contrast(1.025)}
.home-hero-stage.hero-stage-enter .home-lead-card-overlay{animation:homeHeroCardIn .72s cubic-bezier(.18,.82,.24,1) .28s both}
.home-hero-stage.hero-stage-enter .home-stage-trust-badge{animation:homeHeroCardIn .7s cubic-bezier(.18,.82,.24,1) .42s both,homeHeroBadgeFloat 4.8s ease-in-out 1.3s infinite}
.home-service-grid .visual-service-card .service-card-media img,.home-family-card .home-family-media,.home-done-visual img,.home-how-photo img,.home-professional-visual>img,.home-support-photo img{transition:transform .62s cubic-bezier(.18,.82,.24,1),filter .42s ease}
.home-service-grid .visual-service-card:hover .service-card-media img,.home-family-card:hover .home-family-media{transform:scale(1.055);filter:saturate(1.045) contrast(1.02)}
.home-hero-actions .btn-primary,.home-lead-card .btn-primary,.home-header-cta{position:relative;overflow:hidden}
.home-hero-actions .btn-primary::after,.home-lead-card .btn-primary::after,.home-header-cta::after{content:"";position:absolute;inset:-40% auto -40% -45%;width:28%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transition:transform .58s ease}
.home-hero-actions .btn-primary:hover::after,.home-lead-card .btn-primary:hover::after,.home-header-cta:hover::after{transform:translateX(520%) skewX(-18deg)}
@media(max-width:720px){.home-hero-stage.hero-stage-enter::after{display:none}.home-hero-stage.hero-stage-enter .home-hero-stage-image{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.home-hero-stage.hero-stage-enter,.home-hero-stage.hero-stage-enter .home-hero-stage-image,.home-hero-stage.hero-stage-enter .home-lead-card-overlay,.home-hero-stage.hero-stage-enter .home-stage-trust-badge,.home-hero-stage.hero-stage-enter::after{animation:none!important;opacity:1!important;transform:none!important}}
