/* V1.21.53: top-aligned home with service choices and direct navigation. */
.ui-public { background:#e8eff6; }
.ui-public .app-topbar { background:#e4edf6; }
.ui-public .hero { background:linear-gradient(155deg,#dce9f5 0%,#e9eef6 55%,#f3e9e4 100%); }
.ui-public .home-services { margin-top:20px; }
.ui-public .home-services h2 { font-size:18px; line-height:1.3; color:#0e2958; margin:0 0 10px; }
.ui-public .home-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.ui-public .home-service { position:relative; display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:76px; padding:12px 24px 12px 14px; border:1px solid #c9d7e6; border-left:3px solid #49779e; border-radius:12px; background:#f4f8fc; text-decoration:none; color:#173956; box-shadow:0 2px 6px #12345506; }
.ui-public .home-service strong { font-size:15px; line-height:1.3; }
.ui-public .home-service span { font-size:12px; line-height:1.4; margin-top:4px; color:#465c70; }
.ui-public .home-service::after { content:'›'; position:absolute; right:10px; top:50%; transform:translateY(-50%); font-size:22px; color:#526e87; }
.ui-public .home-service-city { background:#eaf3f0; border-color:#c9dcd5; border-left-color:#46786a; }
.ui-public .home-service-fun { background:#f8ede8; border-color:#e6d0c5; border-left-color:#a16448; }
.ui-public .home-service-custom { background:#efedf7; border-color:#d9d1e8; border-left-color:#7a65a0; }
.ui-public .home-explore { margin-top:18px; padding-top:14px; border-top:1px solid #c8d5e2; }
.ui-public .home-explore-title { display:block; font-size:12px; font-weight:700; color:#44566e; margin-bottom:7px; }
.ui-public .home-quick-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ui-public .home-quick-nav a { display:flex; justify-content:center; align-items:center; min-height:46px; padding:8px 6px; border:1px solid #c7d5e3; border-radius:10px; background:#e7eff7; color:#163554; text-decoration:none; font-size:13px; font-weight:700; }
.ui-public.app-mobile .hero { display:block; min-height:0; padding:12px 0 24px; }
.ui-public.app-mobile .hero-copy { padding-top:14px; }
.ui-public.app-mobile .hero-copy > p { font-size:15px; line-height:1.45; }
.ui-public.app-mobile .hero-actions { margin-top:14px; gap:10px; }
.ui-public.app-mobile .hero-actions a { min-height:48px; }
@media (max-width:760px) {
  .ui-public .home-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ui-public .home-services { margin-top:18px; }
  .ui-public .home-service { min-height:72px; padding:10px 22px 10px 12px; }
}
@media (hover:hover) {
  .ui-public :is(.home-service,.home-quick-nav a):hover { border-color:#7897b5; filter:brightness(.98); }
}
.ui-public [hidden] { display:none!important; }
/* V81: compact spacing and a complete, scaled cover image; document scrolling
   remains available on short screens and at enlarged text sizes. */
@media (max-width:760px) {
  .ui-public.app-mobile .hero {padding:8px 0 max(12px,env(safe-area-inset-bottom));}
  .ui-public.app-mobile .hero-media {max-width:100%;width:clamp(190px,calc((100svh - 420px)*1.777),100%);margin-inline:auto;border-radius:16px;}
  .ui-public.app-mobile .hero-copy {padding-top:10px;}
  .ui-public.app-mobile .hero-copy > p {margin-bottom:10px;line-height:1.35;}
  .ui-public.app-mobile .hero-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;gap:7px;}
  .ui-public.app-mobile .hero-actions a {display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:9px 10px;line-height:1.25;}
  .ui-public.app-mobile .hero-actions a:last-child {grid-column:1/-1;}
  .ui-public .home-services {margin-top:12px;}
  .ui-public .home-services h2 {font-size:16px;margin-bottom:7px;}
  .ui-public .home-service {min-height:60px;padding:8px 21px 8px 10px;}
  .ui-public .home-service strong {font-size:14px;}
  .ui-public .home-service span {margin-top:2px;}
  .ui-public .home-explore {margin-top:10px;padding-top:9px;}
  .ui-public .home-quick-nav a {min-height:44px;}
}
@media (max-width:360px) {
  .ui-public.app-mobile .hero-actions {grid-template-columns:1fr;}
}
