:root{
  --p:#246bfd;
  --d:#002f34;
  --m:#5f6f72;
  --bg:#f7f8f9;
  --card:#ffffff;
  --b:#dfe5e7;
  --chip:#f1f4f5;
}

*{box-sizing:border-box}

body{
  margin:0;
  color:var(--d);
  background:var(--bg);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:14px;
}

.hf-home{padding-bottom:4.5rem}

.hf-navbar{
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid var(--b);
}

.hf-brand img{
  display:block;
  height:auto;
  width:122px;
}

.hf-nav-search{
  flex:1;
  max-width:700px;
  align-items:center;
  gap:.55rem;
}

.hf-nav-chip{
  min-width:120px;
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.62rem .85rem;
  border:1px solid var(--b);
  border-radius:999px;
  background:#fff;
  font-weight:600;
  font-size:.95rem;
}

.hf-nav-searchbar{
  flex:1;
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid var(--b);
  border-radius:999px;
  overflow:hidden;
}

.hf-nav-searchbar input{
  width:100%;
  border:0;
  outline:0;
  padding:.68rem .9rem;
  background:transparent;
  font-size:.95rem;
}

.hf-nav-searchbar button{
  width:42px;
  height:42px;
  border:0;
  background:var(--p);
  color:#fff;
  border-radius:50%;
  margin-right:4px;
}

.hf-title{
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--d);
}

.hf-card{
  background:var(--card);
  border:1px solid var(--b);
  border-radius:12px;
}

.hf-btn{
  border-radius:9px;
  font-weight:600;
  padding:.58rem .9rem;
  font-size:.94rem;
}

.hf-btn-primary{
  background:var(--p);
  border-color:var(--p);
  color:#fff;
}

.hf-btn-primary:hover{color:#fff;background:#175be0;border-color:#175be0}

.hf-muted{color:var(--m)}

.hf-book-summary{
  border-style:dashed;
}

.hf-payment-choice{
  display:grid;
  gap:.75rem;
}

.hf-payment-card{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.8rem .9rem;
  border:1px solid var(--b);
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}

.hf-payment-card input{
  margin-top:.25rem;
}

.hf-detail-token{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.32rem .6rem;
  border-radius:999px;
  background:#eef7ee;
  color:#166534;
  font-size:.85rem;
  font-weight:700;
}

.hf-hero{
  position:relative;
  overflow:hidden;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:1.3rem max(1rem, calc((100vw - min(1320px, 100vw)) / 2 + 1rem));
  background:linear-gradient(135deg,#1b2748 0%, #243863 48%, #1c2950 100%);
  border:1px solid rgba(195,211,255,.24);
  border-radius:0;
  box-shadow:0 28px 60px rgba(8,15,35,.2);
  animation:hfRise .55s ease;
}

.hf-hero-stage{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1.4rem;
  align-items:center;
}

.hf-hero-copy{
  min-width:0;
  color:#fff;
  order:2;
}

.hf-hero-title{
  font-size:2.7rem;
  line-height:1.02;
  letter-spacing:-.04em;
  max-width:700px;
  color:#fff;
}

.hf-kicker{
  display:inline-block;
  padding:.42rem .96rem;
  background:rgba(255,103,71,.12);
  color:#ff7058;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hf-hero-subcopy{
  max-width:640px;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.5;
}

.hf-hero-actions{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  align-items:center;
}

.hf-btn-hero-primary{
  min-width:220px;
  color:#fff;
  background:linear-gradient(135deg,#ff5b43,#ff7748);
  border:0;
  box-shadow:0 18px 32px rgba(255,91,67,.24);
}

.hf-btn-hero-primary:hover{
  color:#fff;
  background:linear-gradient(135deg,#ff4e34,#ff6a38);
}

.hf-btn-hero-secondary{
  min-width:190px;
  background:#fff;
  color:#1b2748;
  border:1px solid rgba(255,255,255,.75);
}

.hf-btn-hero-secondary:hover{
  color:#1b2748;
  background:#f7f8fb;
}

.hf-hero-mini{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.hf-hero-mini span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.7rem 1rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.84rem;
  font-weight:700;
}

.hf-hero-visual{
  position:relative;
  min-height:400px;
  order:1;
}

.hf-hero-shape{
  position:absolute;
  pointer-events:none;
}

.hf-hero-shape-sun{
  width:108px;
  height:108px;
  top:18px;
  left:24px;
  border-radius:50%;
  background:#f7d768;
}

.hf-hero-shape-panel{
  width:72%;
  height:64%;
  top:64px;
  left:92px;
  background:#c8c8c8;
}

.hf-hero-image-frame{
  position:absolute;
  inset:64px 42px 92px 92px;
  overflow:hidden;
  background:#c8c8c8;
}

.hf-hero-image-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.44;
  mix-blend-mode:multiply;
}

.hf-hero-floating-card{
  position:absolute;
  z-index:2;
  width:274px;
  display:flex;
  gap:1rem;
  padding:1.15rem;
  background:rgba(255,255,255,.97);
  border-radius:0;
  box-shadow:0 20px 38px rgba(17,24,39,.18);
}

.hf-hero-floating-card strong{
  display:block;
  color:#24324f;
  font-size:.98rem;
  line-height:1.2;
}

.hf-hero-floating-card span{
  display:block;
  margin-top:.35rem;
  color:#65738f;
  font-size:.82rem;
  line-height:1.55;
}

.hf-hero-card-top{top:124px;left:20px}
.hf-hero-card-middle{top:176px;right:6px}
.hf-hero-card-bottom{left:42px;bottom:38px}

.hf-hero-card-icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(180deg,#fff8ef,#edf3ff);
  color:#ff5b43;
  font-size:1.2rem;
}

.hf-hero-dot-grid{
  position:absolute;
  right:54px;
  bottom:44px;
  width:118px;
  height:78px;
  background-image:radial-gradient(circle, #f7d768 2px, transparent 2px);
  background-size:22px 22px;
  opacity:.9;
}

.hf-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}

.hf-hero-stat-tile{
  padding:.82rem .92rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
}

.hf-hero-stat-tile strong{
  display:block;
  font-size:1.42rem;
  line-height:1;
  color:#f7d768;
}

.hf-hero-stat-tile span{
  display:block;
  margin-top:.32rem;
  color:rgba(255,255,255,.78);
  font-size:.82rem;
  font-weight:600;
}

.hf-search-panel{
  padding:.68rem;
  background:var(--chip);
  border:1px solid var(--b);
  border-radius:12px;
}

.hf-search-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.75rem;
}

.hf-search-field{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:0 .72rem;
  background:#fff;
  border:1px solid var(--b);
  border-radius:10px;
}

.hf-search-field i{color:#6d7a7d}

.hf-search-field .form-control{
  border:0;
  box-shadow:none;
  min-height:40px;
  padding-left:0;
  background:transparent;
  font-size:.95rem;
}

.hf-chip-row{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

.hf-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .72rem;
  border-radius:999px;
  background:var(--chip);
  color:var(--d);
  font-size:.82rem;
  border:1px solid var(--b);
}

.hf-chip-link{
  text-decoration:none;
  color:var(--d);
}

.hf-pill-strip{
  display:flex;
  gap:.7rem;
  overflow:auto;
  padding-bottom:.2rem;
}

.hf-pill-shell{
  padding:.25rem 0;
}

.hf-pill{
  white-space:nowrap;
  text-decoration:none;
  color:var(--d);
  background:linear-gradient(180deg,#fff,#f9fbff);
  border:1px solid var(--b);
  border-radius:999px;
  padding:.5rem .85rem;
  font-weight:500;
  font-size:.92rem;
  transition:all .2s ease;
}

.hf-pill:hover{
  color:var(--p);
  border-color:#bfd3ff;
  transform:translateY(-1px);
}

.hf-category-scroll{
  display:flex;
  gap:.7rem;
  overflow-x:auto;
  padding-bottom:.35rem;
}

.hf-category-card{
  flex:0 0 auto;
}

.hf-category-inline{
  min-width:205px;
  gap:.8rem;
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.07), transparent 32%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  border-radius:16px;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.hf-category-inline:hover{
  transform:translateY(-3px);
  border-color:#bfd3ff;
  box-shadow:0 16px 24px rgba(36,107,253,.08);
}

.hf-category-icon{
  width:52px;
  height:52px;
  background:linear-gradient(180deg,#ffffff,#eef4ff);
  border:1px solid #dbe7ff;
  flex:0 0 52px;
  box-shadow:0 8px 18px rgba(36,107,253,.08);
}

.hf-service-card{
  overflow:hidden;
  border-radius:12px;
}

.hf-service-media{
  position:relative;
  padding:.5rem .5rem 0;
}

.hf-service-card img{
  height:165px;
  object-fit:cover;
  border-radius:10px;
}

.hf-media-link{
  display:block;
}

.hf-badge{
  position:absolute;
  left:.9rem;
  bottom:.7rem;
  padding:.18rem .45rem;
  background:#ffd54f;
  color:#002f34;
  font-size:.66rem;
  font-weight:700;
  border-radius:4px;
}

.hf-fav-btn{
  position:absolute;
  top:.9rem;
  right:.9rem;
  width:34px;
  height:34px;
  border:1px solid var(--b);
  border-radius:999px;
  background:#fff;
  color:var(--d);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.05rem;
  box-shadow:0 2px 8px rgba(0,47,52,.08);
}

.hf-fav-btn.is-saved{
  color:#ff3b5c;
}

.hf-service-name{
  font-size:.96rem;
  line-height:1.35;
}

.hf-service-title-link{
  color:var(--d);
  text-decoration:none;
}

.hf-service-title-link:hover{
  color:var(--p);
}

.hf-service-body{
  position:relative;
  padding-left:1rem !important;
}

.hf-service-body::before{
  content:"";
  position:absolute;
  left:0;
  top:1rem;
  bottom:1rem;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, #ffd54f, #ff9f1a);
}

.hf-service-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  margin-bottom:.45rem;
}

.hf-service-category{
  font-size:.72rem;
  font-weight:700;
  color:#7a5a00;
  background:#fff8df;
  border:1px solid #f3dd97;
  border-radius:999px;
  padding:.2rem .5rem;
}

.hf-service-rating{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  font-size:.75rem;
  font-weight:700;
  color:var(--d);
}

.hf-service-rating i{
  color:#ffb400;
}

.hf-service-feature{
  font-size:.82rem;
  color:var(--m);
  margin-bottom:.35rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hf-service-metrics{
  font-size:.82rem;
  color:var(--m);
}

.hf-price{
  font-size:1.22rem;
  font-weight:700;
  color:var(--d);
}

.hf-icon-btn{
  width:40px;
  height:40px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
}

.hf-info-card,
.hf-testimonial-card{
  height:100%;
}

.hf-info-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(180deg,#edf3ff,#dfeaff);
  color:var(--p);
  box-shadow:0 10px 16px rgba(36,107,253,.09);
}

.hf-process-card{
  position:relative;
  border-style:dashed;
  border-radius:18px;
  padding-top:1.1rem !important;
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.07), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hf-process-card:hover{
  transform:translateY(-4px);
  border-color:#bfd3ff;
  box-shadow:0 18px 28px rgba(36,107,253,.08);
}

.hf-process-step{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eef4ff;
  color:var(--p);
  font-weight:800;
}

.hf-process-icon{
  position:absolute;
  right:1rem;
  top:1rem;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff;
  border:1px solid #dbe7ff;
  color:#1d4ed8;
}

.hf-testimonial-card{
  padding:1rem;
  border-radius:18px;
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.06), transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  transition:transform .2s ease, box-shadow .2s ease;
}

.hf-testimonial-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 24px rgba(0,47,52,.06);
}

.hf-testimonial-meta{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
}

.hf-testimonial-meta span{
  display:inline-flex;
  align-items:center;
  padding:.28rem .56rem;
  border-radius:999px;
  background:#eef4ff;
  color:#2c4b8f;
  font-size:.74rem;
  font-weight:700;
}

.hf-google-review-shell{
  animation:hfRise .55s ease;
}

.hf-google-reviews-bottom{
  padding:1.1rem 0 0;
}

.hf-google-summary{
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  padding:.72rem 1rem;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbe4f3;
  color:#5e6c84;
  font-weight:700;
}

.hf-google-summary-score{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#2563eb;
}

.hf-google-summary-score strong{
  color:#111827;
  font-size:1.05rem;
}

.hf-google-review-card{
  padding:1rem;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbe4f3;
  box-shadow:0 16px 28px rgba(15,23,42,.05);
}

.hf-google-review-head{
  display:flex;
  align-items:center;
  gap:.85rem;
}

.hf-google-review-user{
  width:54px;
  height:54px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef4ff;
  color:#1d4ed8;
  font-weight:800;
  flex:0 0 54px;
}

.hf-google-review-user img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hf-google-review-head strong{
  display:block;
  color:#172033;
  line-height:1.2;
}

.hf-google-review-time{
  color:#70809a;
  font-size:.8rem;
  margin-top:.18rem;
}

.hf-google-review-band{
  display:grid;
  grid-template-columns:1.45fr .8fr 1fr;
  gap:1rem;
  align-items:center;
  padding:1.2rem;
  border:1px solid #d8e3f7;
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(250,204,21,.18), transparent 28%),
    radial-gradient(circle at bottom left, rgba(37,99,235,.1), transparent 24%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 46%,#fffaf0 100%);
  box-shadow:0 18px 34px rgba(15,23,42,.06);
}

.hf-google-review-score{
  text-align:center;
  padding:1rem;
  border-radius:20px;
  background:#fff;
  border:1px solid #dfe8f6;
}

.hf-google-mark{
  width:52px;
  height:52px;
  margin:0 auto .7rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg,#eff6ff,#fff7ed);
  color:#2563eb;
  font-size:1.3rem;
}

.hf-google-review-score strong{
  display:block;
  font-size:2rem;
  line-height:1;
  color:#111827;
}

.hf-google-review-score span{
  display:block;
  margin-top:.3rem;
  color:#66778a;
  font-size:.84rem;
  font-weight:600;
}

.hf-google-stars{
  margin-top:.65rem;
  color:#f59e0b;
  display:flex;
  justify-content:center;
  gap:.2rem;
}

.hf-google-stars-left{
  justify-content:flex-start;
  margin-top:.95rem;
}

.hf-star-muted{
  color:#d6deec;
}

.hf-google-review-text{
  margin:.95rem 0 0;
  color:#4f5f78;
  line-height:1.65;
  font-size:.92rem;
}

.hf-google-review-link{
  display:inline-flex;
  margin-top:1rem;
  color:#2563eb;
  font-weight:700;
  text-decoration:none;
}

.hf-google-review-actions{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  align-items:flex-start;
}

.hf-home-cta{
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.12), transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f6f9ff 50%,#eef6ff 100%);
  border-radius:20px;
  border-color:#dbe7ff;
  box-shadow:0 18px 30px rgba(36,107,253,.07);
}

.hf-section-shell{
  animation:hfRise .55s ease;
}

.hf-section-categories .hf-title,
.hf-section-highlights .hf-title,
.hf-section-process .hf-title,
.hf-section-testimonials .hf-title{
  letter-spacing:-.03em;
}

.hf-section-highlights .hf-info-card{
  border-radius:18px;
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.06), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hf-section-highlights .hf-info-card:hover{
  transform:translateY(-4px);
  border-color:#bfd3ff;
  box-shadow:0 16px 28px rgba(36,107,253,.08);
}

@keyframes hfRise{
  from{
    opacity:0;
    transform:translateY(16px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.hf-footer-cta{
  background:#fff;
  height:auto;
}

.hf-empty-state{
  position:relative;
  overflow:hidden;
  padding:2rem 1.25rem;
  text-align:center;
  background:linear-gradient(180deg, #fff, #f7fbff);
  border:1px solid var(--b);
  border-radius:16px;
}

.hf-empty-orb{
  position:absolute;
  width:160px;
  height:160px;
  left:50%;
  top:-30px;
  transform:translateX(-50%);
  border-radius:999px;
  background:radial-gradient(circle, rgba(36,107,253,.16), rgba(36,107,253,0));
  animation:hfFloat 3.2s ease-in-out infinite;
}

.hf-empty-icon{
  position:relative;
  z-index:1;
  width:72px;
  height:72px;
  margin:0 auto .9rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  border:1px solid #dbe7ff;
  color:var(--p);
  font-size:2rem;
  box-shadow:0 12px 24px rgba(36,107,253,.10);
}

.hf-empty-title{
  position:relative;
  z-index:1;
  font-size:1.3rem;
  font-weight:700;
  color:var(--d);
}

.hf-empty-copy{
  position:relative;
  z-index:1;
  max-width:560px;
  margin:.55rem auto 1rem;
  color:var(--m);
  line-height:1.6;
}

.hf-empty-alert{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.6rem .9rem;
  margin-bottom:1rem;
  border-radius:999px;
  background:#fff8e8;
  border:1px solid #f4dc99;
  color:#8a6500;
  font-weight:600;
}

.hf-detail-media{
  position:relative;
  padding:.6rem .6rem 0;
}

.hf-detail-media img{
  width:100%;
  height:340px;
  object-fit:cover;
  border-radius:12px;
}

.hf-detail-title{
  font-size:2rem;
  line-height:1.08;
}

.hf-detail-sub{
  color:var(--m);
  font-size:.95rem;
}

.hf-detail-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
}

.hf-detail-stat{
  background:#f8fafb;
  border:1px solid var(--b);
  border-radius:12px;
  padding:.85rem;
}

.hf-detail-stat-value{
  font-size:1.2rem;
  font-weight:700;
  color:var(--d);
}

.hf-detail-stat-label{
  font-size:.76rem;
  color:var(--m);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.hf-detail-copy{
  color:var(--d);
  line-height:1.7;
}

.hf-detail-section{
  background:#fff;
}

.hf-detail-point{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  color:var(--d);
  font-size:.9rem;
}

.hf-detail-point i{
  color:#1fb56a;
  margin-top:.1rem;
}

.hf-detail-sidebar{
  position:sticky;
  top:88px;
}

.hf-detail-price{
  font-size:2rem;
  font-weight:800;
  color:var(--d);
  line-height:1;
}

.hf-detail-cta-grid{
  display:grid;
  gap:.7rem;
}

.hf-detail-mini-list{
  display:grid;
  gap:.8rem;
}

.hf-detail-mini-item{
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--m);
  font-size:.9rem;
}

.hf-detail-mini-item i{
  color:var(--p);
}

.hf-dashboard-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(36,107,253,.18), transparent 28%),
    radial-gradient(circle at bottom left, rgba(34,197,94,.14), transparent 25%),
    linear-gradient(135deg, #ffffff 0%, #f5f9ff 48%, #fffaf1 100%);
}

.hf-dashboard-quick{
  display:grid;
  gap:.7rem;
}

.hf-dashboard-highlight-row{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
}

.hf-dashboard-highlight{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem .78rem;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid #dce6f7;
  color:#163047;
  font-size:.84rem;
  font-weight:600;
}

.hf-dashboard-highlight i{
  color:var(--p);
}

.hf-dashboard-hero-side{
  display:grid;
  gap:.7rem;
  margin-bottom:.8rem;
}

.hf-dashboard-glance{
  padding:.85rem .95rem;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#0f5fda,#246bfd);
  box-shadow:0 14px 28px rgba(36,107,253,.18);
}

.hf-dashboard-glance:nth-child(2){
  background:linear-gradient(135deg,#0f766e,#14b8a6);
}

.hf-dashboard-glance span{
  display:block;
  font-size:.78rem;
  opacity:.85;
}

.hf-dashboard-glance strong{
  display:block;
  font-size:1rem;
  margin-top:.2rem;
}

.hf-dash-stat{
  height:100%;
  position:relative;
  overflow:hidden;
  padding-top:1rem !important;
}

.hf-dash-stat-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  margin-bottom:.9rem;
  font-size:1rem;
}

.hf-dash-stat-blue{
  background:linear-gradient(180deg,#f4f8ff,#ffffff);
}

.hf-dash-stat-blue .hf-dash-stat-icon{
  background:#e7f0ff;
  color:#246bfd;
}

.hf-dash-stat-green{
  background:linear-gradient(180deg,#f2fff8,#ffffff);
}

.hf-dash-stat-green .hf-dash-stat-icon{
  background:#dcfce7;
  color:#16a34a;
}

.hf-dash-stat-orange{
  background:linear-gradient(180deg,#fff7ec,#ffffff);
}

.hf-dash-stat-orange .hf-dash-stat-icon{
  background:#ffedd5;
  color:#ea580c;
}

.hf-dash-stat-purple{
  background:linear-gradient(180deg,#faf5ff,#ffffff);
}

.hf-dash-stat-purple .hf-dash-stat-icon{
  background:#f3e8ff;
  color:#9333ea;
}

.hf-dashboard-panel{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
}

.hf-report-box{
  background:#f8fafb;
  border:1px solid var(--b);
  border-radius:12px;
  padding:1rem;
  height:100%;
}

.hf-report-box-pending{
  background:linear-gradient(180deg,#fff9eb,#ffffff);
  border-color:#f6d48b;
}

.hf-report-box-assigned{
  background:linear-gradient(180deg,#eef6ff,#ffffff);
  border-color:#bfdbfe;
}

.hf-report-box-completed{
  background:linear-gradient(180deg,#edfdf3,#ffffff);
  border-color:#bbf7d0;
}

.hf-report-label{
  color:var(--m);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.hf-report-value{
  font-size:1.8rem;
  font-weight:800;
  color:var(--d);
  line-height:1.1;
  margin:.35rem 0;
}

.hf-latest-booking{
  background:linear-gradient(135deg,#fffef8,#ffffff);
  border-style:dashed;
}

.hf-dash-service-list{
  display:grid;
  gap:.8rem;
}

.hf-dash-service-item{
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:.8rem;
  align-items:center;
  text-decoration:none;
  color:var(--d);
  padding:.6rem;
  border:1px solid var(--b);
  border-radius:12px;
  background:#fbfcfd;
}

.hf-dash-service-item img{
  width:76px;
  height:76px;
  border-radius:10px;
  object-fit:cover;
}

.hf-dash-service-item i{
  color:#93a4b6;
}

.hf-booking-detail-card{
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  scroll-margin-top:110px;
  transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.hf-booking-detail-card:target{
  border-color:#93c5fd;
  box-shadow:0 18px 36px rgba(36,107,253,.16);
  transform:translateY(-2px);
}

.hf-booking-thumb{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:12px;
}

.hf-booking-meta{
  height:100%;
  padding:.7rem .8rem;
  border-radius:10px;
  background:#f8fafb;
  border:1px solid var(--b);
}

.hf-booking-meta span{
  display:block;
  font-size:.76rem;
  color:var(--m);
  margin-bottom:.2rem;
}

.hf-booking-meta strong{
  display:block;
  color:var(--d);
  font-size:.92rem;
}

.hf-booking-focus{
  border-color:#93c5fd;
  box-shadow:0 18px 34px rgba(36,107,253,.14);
}

.hf-booking-status-chip{
  background:#eef4ff;
  border-color:#cfe0ff;
}

.hf-dashboard-inline{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  color:var(--m);
  font-size:.82rem;
}

.hf-dashboard-inline i{
  color:var(--p);
  margin-right:.25rem;
}

@keyframes hfFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(10px)}
}

.hf-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:#fff;
  border-top:1px solid var(--b);
  display:flex;
  justify-content:space-around;
  padding:.45rem .3rem;
  z-index:999;
}

.hf-bottom-nav a{
  flex:1;
  text-align:center;
  text-decoration:none;
  color:var(--m);
  font-size:.78rem;
}

.hf-bottom-nav a i{
  display:block;
  font-size:1.1rem;
  margin-bottom:.12rem;
}

.hf-bottom-nav a.active{
  color:var(--p);
  font-weight:700;
}

@media (max-width:991.98px){
  .hf-hero{
    padding:1rem 1rem 1.15rem;
  }
  .hf-hero-stage{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .hf-hero-copy{
    order:1;
  }
  .hf-hero-visual{
    min-height:470px;
    order:2;
  }
}

@media (max-width:767.98px){
  .hf-home{padding-bottom:6rem}
  .hf-hero{padding:.85rem .9rem 1rem}
  .hf-hero-title{font-size:1.8rem}
  .hf-hero-subcopy{font-size:.93rem}
  .hf-hero-mini{gap:.45rem}
  .hf-hero-mini span{font-size:.76rem;padding:.62rem .84rem}
  .hf-hero-stats{grid-template-columns:1fr}
  .hf-hero-visual{min-height:320px}
  .hf-hero-shape-sun{width:96px;height:96px;top:18px;left:16px}
  .hf-hero-shape-panel{left:52px;top:58px;width:76%;height:58%}
  .hf-hero-image-frame{inset:58px 24px 102px 52px}
  .hf-hero-floating-card{width:220px;padding:1rem}
  .hf-hero-card-top{top:106px;left:12px}
  .hf-hero-card-middle{top:168px;right:0}
  .hf-hero-card-bottom{left:28px;bottom:28px}
  .hf-hero-dot-grid{right:22px;bottom:24px;width:96px;height:72px}
  .hf-google-summary{width:100%;justify-content:center}
  .hf-search-grid{grid-template-columns:1fr}
  .hf-btn{padding:.58rem .82rem}
  .hf-service-card img{height:150px}
  .hf-detail-media img{height:230px}
  .hf-detail-title{font-size:1.45rem}
  .hf-detail-stats{grid-template-columns:1fr}
  .hf-dashboard-highlight-row{flex-direction:column}
  .hf-dashboard-inline{flex-direction:column;gap:.35rem}
}

@media (min-width:992px){
  .hf-bottom-nav{display:none}
}
