body.admin-bar.home .dt-site-header,body.admin-bar.front-page .dt-site-header {
  top:32px;
}

body.home .dt-site-title,body.front-page .dt-site-title,body.home .dt-menu a,body.front-page .dt-menu a,body.home .dt-primary-nav,body.front-page .dt-primary-nav {
  color:#fff;
}

body.home .dt-site-title:hover,body.front-page .dt-site-title:hover,body.home .dt-menu a:hover,body.front-page .dt-menu a:hover {
  text-decoration:none;
  
  color:#fff;
}

body.home .dt-add-listing,body.front-page .dt-add-listing {
  background:#fb8a2e;
  
  color:#fff;
  
  box-shadow:0 10px 26px rgba(251,138,46,.26);
}

body.home .dt-menu-toggle,body.front-page .dt-menu-toggle {
  border-color:rgba(255,255,255,.50);
  
  background:rgba(255,255,255,.10);
  
  color:#fff;
}

body.home .dt-site-main,body.front-page .dt-site-main {
  overflow:hidden;
  
  background:#fff;
}

.dt-home-action:hover {
  text-decoration:none;
}

.dt-home-section-heading-left {
  align-items:flex-start;
}

.dt-home-section-heading h2 {
  margin:0;
  
  color:#0b2341;
  
  font-size:clamp(24px,3vw,34px);
  
  line-height:1.2;
  
  letter-spacing:-.02em;
}

.dt-home-section-heading a,.dt-home-more-link {
  font-weight:600;
  
  color:#2457a6;
}

.dt-home-category-card:hover {
  text-decoration:none;
  
  transform:translateY(-2px);
  
  border-color:#cbd9ec;
  
  box-shadow:0 18px 34px rgba(15,23,42,.09);
}

.dt-home-category-card.is-condition {
  background:linear-gradient(180deg,#fff,#fbfdff);
}

.dt-home-pref-columns h4 {
  margin:0 0 8px;
  
  color:#0b2341;
  
  font-size:13px;
}

.dt-home-region-card:hover {
  text-decoration:none;
  
  transform:translateY(-1px);
}

.dt-home-region-card:before {
  content:"";
  
  position:absolute;
  
  inset:0;
  
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.48));
}

.dt-home-region-card:after {
  content:"";
  
  position:absolute;
  
  inset:0;
  
  background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.28),transparent 35%);
}

.dt-home-region-card span {
  position:relative;
  
  z-index:1;
}

.dt-region-north {
  background:linear-gradient(135deg,#7dc5ed,#295b97);
}

.dt-region-kanto {
  background:linear-gradient(135deg,#315f92,#0b2341);
}

.dt-region-koshinetsu {
  background:linear-gradient(135deg,#58a8c3,#6fb072);
}

.dt-region-tokai {
  background:linear-gradient(135deg,#2f7bbd,#7fbf9c);
}

.dt-region-kinki {
  background:linear-gradient(135deg,#d59b66,#223a68);
}

.dt-region-chushikoku {
  background:linear-gradient(135deg,#f0a059,#2e658c);
}

.dt-region-kyushu {
  background:linear-gradient(135deg,#42b6da,#f08a52);
}

.dt-home-listings .dt-card-address {
  font-size:12px;
  
  min-height:0;
  
  -webkit-line-clamp:1;
}

.dt-home-listings .dt-card-actions {
  display:none;
}

.dt-home-empty {
  grid-column:1/-1;
  
  color:#667085;
}

body.home .dt-site-header,body.front-page .dt-site-header {
  position:absolute;
  
  top:0;
  
  left:0;
  
  right:0;
  
  z-index:80;
  
  background:linear-gradient(180deg,rgba(6,24,45,.64),rgba(6,24,45,.14));
  
  border-bottom:0;
  
  color:#fff;
  
  box-shadow:none;
  
  backdrop-filter:blur(8px);
}

body.home .dt-header-inner,body.front-page .dt-header-inner {
  min-height:82px;
}

body.home .dt-site-title,body.front-page .dt-site-title {
  font-weight:900;
  
  letter-spacing:.01em;
  
  text-shadow:0 8px 20px rgba(0,0,0,.18);
}

.dt-home-hero:before {
  content:"";
  
  position:absolute;
  
  inset:0;
  
  background:linear-gradient(180deg,rgba(6,24,45,.08),rgba(6,24,45,.34)),
    radial-gradient(ellipse at 78% 72%,rgba(255,255,255,.28) 0 9%,transparent 9.5%),
    radial-gradient(ellipse at 63% 74%,rgba(255,255,255,.18) 0 10%,transparent 10.5%),
    linear-gradient(155deg,transparent 0 49%,rgba(255,255,255,.22) 49.4% 50.8%,transparent 51.2%),
    linear-gradient(25deg,transparent 0 61%,rgba(255,255,255,.18) 61.4% 63%,transparent 63.4%);
  
  opacity:1;
}

.dt-home-hero:after {
  content:"";
  
  position:absolute;
  
  right:-10%;
  
  bottom:-22%;
  
  width:66%;
  
  height:86%;
  
  background:radial-gradient(ellipse at 38% 72%,rgba(255,255,255,.72) 0 8%,transparent 8.6%),
    radial-gradient(ellipse at 52% 64%,rgba(255,255,255,.54) 0 10%,transparent 10.8%),
    radial-gradient(ellipse at 68% 58%,rgba(255,255,255,.38) 0 8%,transparent 8.8%),
    linear-gradient(150deg,transparent 0 35%,rgba(255,255,255,.26) 35.5% 44%,transparent 44.5%);
  
  filter:blur(.2px);
  
  opacity:.72;
  
  pointer-events:none;
}

.dt-home-hero-overlay {
  position:absolute;
  
  inset:0;
  
  background:linear-gradient(0deg,rgba(6,24,45,.30),rgba(6,24,45,.02) 46%,rgba(6,24,45,.10));
  
  pointer-events:none;
}

.dt-home-kicker {
  margin:0 0 12px;
  
  font-weight:600;
  
  letter-spacing:.08em;
  
  color:rgba(255,255,255,.84);
  
  text-transform:uppercase;
  
  font-size:13px;
  
  margin-bottom:14px;
}

.dt-home-search button {
  border:0;
  
  border-radius:13px;
  
  background:#fb8a2e;
  
  color:#fff;
  
  font:inherit;
  
  font-weight:600;
  
  cursor:pointer;
  
  box-shadow:0 10px 20px rgba(251,138,46,.25);
  
  font-size:16px;
}

.dt-home-hero-actions {
  display:flex;
  
  gap:12px;
  
  flex-wrap:wrap;
  
  margin-top:20px;
}

.dt-home-action-dark {
  backdrop-filter:blur(8px);
}

.dt-home-action-light {
  backdrop-filter:blur(8px);
}

.dt-home-hero {
  position:relative;
  
  min-height:610px;
  
  color:#fff;
  
  display:flex;
  
  align-items:center;
  
  background:linear-gradient(90deg,rgba(6,24,45,.84) 0%,rgba(6,24,45,.62) 40%,rgba(6,24,45,.24) 72%,rgba(6,24,45,.10) 100%),
    radial-gradient(circle at 76% 35%,rgba(255,255,255,.62) 0 6%,transparent 6.5%),
    radial-gradient(circle at 83% 52%,rgba(255,186,119,.38) 0 11%,transparent 11.5%),
    linear-gradient(140deg,#0b2341 0%,#205c88 48%,#f2b46f 100%);
}

.dt-home-hero-inner {
  position:relative;
  
  z-index:2;
  
  padding:156px 0 88px;
  
  max-width:760px;
}

.dt-home-lead {
  font-size:clamp(16px,1.9vw,22px);
  
  margin:0 0 22px;
  
  color:rgba(255,255,255,.94);
  
  font-weight:700;
  
  margin-bottom:24px;
}

.dt-home-search {
  display:grid;
  
  grid-template-columns:minmax(0,1fr) 124px;
  
  gap:0;
  
  background:#fff;
  
  border-radius:18px;
  
  padding:10px;
  
  box-shadow:0 28px 70px rgba(6,24,45,.30);
  
  border:1px solid rgba(255,255,255,.65);
  
  width:min(720px,100%);
}

.dt-home-search input[type="search"] {
  border:0;
  
  min-height:56px;
  
  padding:0 20px;
  
  font:inherit;
  
  color:var(--dt-text);
  
  background:transparent;
  
  outline:none;
  
  font-size:16px;
}

.dt-home-action {
  min-width:214px;
  
  min-height:52px;
  
  border-radius:14px;
  
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  border:1px solid rgba(255,255,255,.35);
  
  text-decoration:none;
  
  cursor:pointer;
  
  font:inherit;
}

.dt-home-hero .dt-home-action {
  gap:6px;
  
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.dt-home-hero .dt-home-action-dark {
  background:rgba(47,120,183,.88);
  
  border-color:rgba(189,230,255,.42);
  
  color:#fff;
  
  box-shadow:0 12px 24px rgba(8,28,52,.14);
}

.dt-home-hero .dt-home-action-light {
  background:rgba(232,247,255,.92);
  
  border-color:rgba(186,225,245,.62);
  
  color:#0b3f63;
  
  box-shadow:0 12px 24px rgba(8,28,52,.10);
}

.dt-home-action-icon {
  width:17px;
  
  height:17px;
  
  flex:0 0 17px;
  
  fill:none;
  
  stroke:currentColor;
  
  stroke-width:2;
  
  stroke-linecap:round;
  
  stroke-linejoin:round;
  
  pointer-events:none;
}

.dt-home-action-icon * {
  pointer-events:none;
}

.dt-home-hero .dt-home-action:hover,.dt-home-hero .dt-home-action:focus-visible {
  transform:translateY(-1px);
  
  text-decoration:none;
}

.dt-home-hero .dt-home-action:focus-visible {
  outline:2px solid rgba(255,255,255,.68);
  
  outline-offset:3px;
}

.dt-home-hero .dt-home-action-dark:hover,.dt-home-hero .dt-home-action-dark:focus-visible {
  background:rgba(36,103,166,.94);
  
  border-color:rgba(205,236,255,.56);
  
  box-shadow:0 14px 26px rgba(8,28,52,.18);
  
  color:#fff;
}

.dt-home-hero .dt-home-action-light:hover,.dt-home-hero .dt-home-action-light:focus-visible {
  background:rgba(215,241,255,.98);
  
  border-color:rgba(155,211,241,.72);
  
  box-shadow:0 14px 26px rgba(8,28,52,.13);
  
  color:#0b3f63;
}

.dt-home-section {
  padding:48px 0;
  
  background:#fff;
}

.dt-home-section-heading {
  display:flex;
  
  align-items:flex-end;
  
  justify-content:space-between;
  
  gap:20px;
  
  margin-bottom:22px;
}

.dt-home-section-tight {
  padding-top:4px;
}

.dt-home-section-heading p {
  margin:5px 0 0;
  
  color:#667085;
  
  font-weight:600;
  
  font-size:14px;
}

.dt-home-categories {
  padding-top:40px;
  
  padding-bottom:36px;
}

.dt-home-category-grid {
  display:grid;
  
  grid-template-columns:repeat(8,minmax(0,1fr));
  
  gap:11px;
}

.dt-home-category-card {
  min-height:92px;
  
  border:1px solid #e8edf4;
  
  border-radius:12px;
  
  background:#fff;
  
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  
  display:flex;
  
  flex-direction:column;
  
  align-items:center;
  
  justify-content:center;
  
  gap:10px;
  
  color:#0b2341;
  
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  
  padding:16px 12px 14px;
}

.dt-home-area-section {
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  
  border-top:1px solid #eef2f7;
  
  border-bottom:1px solid #eef2f7;
  
  padding-top:42px;
  
  padding-bottom:42px;
}

.dt-home-pref-card h3 {
  margin:0 0 14px;
  
  font-size:20px;
  
  color:#0b2341;
  
  margin-bottom:12px;
}

.dt-home-pref-columns a {
  display:block;
  
  font-size:12.5px;
  
  line-height:1.82;
}

.dt-home-region-cards {
  display:grid;
  
  grid-template-columns:repeat(7,minmax(0,1fr));
  
  gap:10px;
  
  margin-top:18px;
}

.dt-home-region-card {
  min-height:74px;
  
  border-radius:9px;
  
  position:relative;
  
  overflow:hidden;
  
  display:flex;
  
  align-items:flex-end;
  
  padding:12px;
  
  color:#fff;
  
  background:#12345f;
  
  box-shadow:0 12px 24px rgba(15,23,42,.10);
}

.dt-home-listings + .dt-home-listings {
  padding-top:30px;
}

.dt-home-listings .dt-home-section-heading {
  margin-bottom:14px;
}

.dt-home-area-layout {
  display:grid;
  
  grid-template-columns:minmax(430px,.95fr) minmax(440px,1.05fr);
  
  gap:22px;
  
  align-items:center;
}

.dt-home-region-nav {
  display:grid;
  
  gap:8px;
  
  grid-column:1;
  
  grid-row:1;
  
  grid-template-columns:1fr;
  
  align-self:center;
  
  width:clamp(150px,32%,180px);
  
  position:relative;
  
  z-index:3;
  
  transform:none;
}

.dt-home-region-nav a {
  display:flex;
  
  align-items:center;
  
  justify-content:space-between;
  
  border:1px solid #dce7f5;
  
  background:rgba(255,255,255,.42) !important;
  
  border-radius:8px;
  
  min-height:34px;
  
  padding:0 12px;
  
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  
  border-color:rgba(190,210,235,.86);
  
  -webkit-backdrop-filter:none;
  
  backdrop-filter:none;
}

.dt-home-region-nav a:hover {
  text-decoration:none;
  
  border-color:#b9cbe5;
  
  background:rgba(255,255,255,.68) !important;
}

.dt-home-map-card {
  min-height:330px;
  
  display:flex;
  
  place-items:center;
  
  align-items:center;
  
  justify-content:flex-end;
  
  grid-column:1;
  
  grid-row:1;
  
  position:relative;
  
  min-width:0;
  
  overflow:visible;
  
  pointer-events:none;
  
  z-index:1;
}

.dt-home-dot-map-image {
  display:block;
  
  width:min(500px,92%);
  
  height:auto;
  
  max-height:330px;
  
  object-fit:contain;
  
  opacity:.72;
  
  filter:saturate(.66) contrast(.94) drop-shadow(0 14px 22px rgba(15,23,42,.045));
  
  margin-left:0;
  
  transform:translateX(56px);
}

.dt-home-pref-card {
  background:#fff;
  
  border:1px solid #e8edf4;
  
  border-radius:16px;
  
  padding:22px 24px;
  
  box-shadow:0 10px 24px rgba(15,23,42,.032);
  
  border-color:#edf3f8;
  
  grid-column:2;
  
  grid-row:1;
  
  position:relative;
  
  z-index:3;
  
  min-width:0;
}

.dt-home-pref-columns {
  display:grid;
  
  grid-template-columns:repeat(7,minmax(0,1fr));
  
  gap:14px;
  
  border-top:1px solid #edf2f7;
  
  padding-top:14px;
}

.dt-home-listings {
  padding-top:40px;
  
  padding-bottom:40px;
  
  background:#fff;
}

.dt-home-listings .dt-card-image img {
  width:100%;
  
  height:100%;
  
  object-fit:cover;
  
  transition:transform .18s ease,filter .18s ease;
}

.dt-home-listings .dt-listing-card:hover .dt-card-image img {
  transform:scale(1.025);
}

.dt-home-listings .dt-card-business-status {
  margin:0;
}

.dt-home-listings .dt-card-image img,.dt-home-listings .dt-card-placeholder {
  width:100%;
  
  height:100%;
}

.dt-home-listings .dt-card-placeholder {
  width:100%;
  
  height:100%;
  
  display:grid;
  
  place-items:center;
  
  color:#93a0b2;
  
  font-size:13px;
  
  font-weight:900;
  
  letter-spacing:.01em;
  
  background:linear-gradient(135deg,#f1f5f9 0%,#e5ebf3 55%,#f0f4f8 100%);
}

.dt-home-listings .dt-card-favorite-button,.dt-home-listings .dt-card-image-wrap .dt-card-favorite-button {
  width:32px !important;
  
  height:32px !important;
  
  top:9px !important;
  
  right:9px !important;
  
  font-size:18px;
  
  background:rgba(15,23,42,.44);
  
  box-shadow:0 8px 18px rgba(15,23,42,.12);
  
  position:absolute !important;
  
  left:auto !important;
  
  bottom:auto !important;
  
  z-index:8 !important;
  
  margin:0 !important;
  
  display:inline-flex !important;
}

.dt-home-listings .dt-card-meta a {
  font-size:10.5px;
  
  line-height:1;
  
  color:#fff;
  
  background:#2457a6;
  
  padding:5px 8px;
  
  border-radius:999px;
  
  box-shadow:0 6px 12px rgba(36,87,166,.14);
}

.dt-home-listings .dt-rating {
  font-size:12px;
  
  line-height:1.25;
  
  max-width:100%;
  
  white-space:nowrap;
  
  overflow:hidden;
  
  text-overflow:ellipsis;
}

.dt-home-listings .dt-business-status {
  font-size:11px;
  
  padding:4px 8px;
  
  background:#f3f6fa;
  
  border-color:#e2e8f0;
  
  white-space:nowrap;
}

.dt-home-cta .dt-button-accent {
  background:#fb8a2e;
  
  border-color:#fb8a2e;
  
  white-space:nowrap;
}

.dt-about-review .dt-home-about-icon svg {
  stroke:#ffd08a;
}

.dt-about-recommend .dt-home-about-icon svg {
  stroke:#ffad8a;
}

.dt-home-cta-icon svg {
  width:30px;
  
  height:30px;
  
  display:block;
  
  fill:none;
  
  stroke:currentColor;
  
  stroke-width:3.4;
  
  stroke-linecap:round;
  
  stroke-linejoin:round;
}

.dt-home-about-feature span {
  color:#52637a;
  
  font-weight:700;
  
  max-width:260px;
  
  margin:0 auto;
  
  line-height:1.65;
}

.dt-home-cta-inner {
  display:grid;
  
  grid-template-columns:1fr 1fr;
  
  gap:18px;
  
  max-width:1040px;
  
  margin:0 auto;
}

.dt-home-about {
  display:grid !important;
  
  grid-template-columns:minmax(220px,.9fr) repeat(3,minmax(0,1fr)) !important;
  
  background:#eef5fb !important;
  
  color:#0f2340 !important;
  
  margin-top:0 !important;
  
  gap:20px !important;
  
  align-items:stretch !important;
  
  padding:64px clamp(20px,6vw,72px) 56px !important;
}

.dt-home-about-copy {
  padding:6px 8px 6px 0 !important;
  
  background:transparent !important;
  
  grid-column:auto;
  
  max-width:none;
  
  color:#0f2340 !important;
  
  border:0 !important;
  
  border-radius:0;
  
  box-shadow:none !important;
  
  align-self:center !important;
}

.dt-home-about-copy p {
  color:#41516a !important;
  
  font-weight:700 !important;
  
  max-width:420px !important;
  
  line-height:1.9 !important;
  
  margin:0 0 20px !important;
}

.dt-home-about-copy .dt-button-outline {
  border-color:#c8d8ea !important;
  
  color:#1f5ca8 !important;
  
  background:#fff !important;
  
  box-shadow:0 8px 20px rgba(31,92,168,.06) !important;
}

.dt-home-about-feature {
  min-height:210px !important;
  
  padding:30px 26px !important;
  
  display:flex !important;
  
  flex-direction:column !important;
  
  justify-content:center !important;
  
  text-align:center !important;
  
  background:#fff !important;
  
  border-left:1px solid #e2edf7;
  
  position:relative;
  
  overflow:hidden;
  
  color:#0f2340 !important;
  
  border:1px solid #e4edf6 !important;
  
  border-radius:18px !important;
  
  box-shadow:0 18px 42px rgba(15,35,64,.06) !important;
  
  align-items:center !important;
}

.dt-home-about-feature strong {
  font-size:23px !important;
  
  margin-bottom:10px;
  
  color:#0f2340 !important;
  
  line-height:1.25 !important;
  
  margin:8px 0 12px !important;
}

.dt-home-about-feature span:not(.dt-home-about-icon) {
  color:#41516a !important;
  
  font-weight:700 !important;
  
  line-height:1.75 !important;
  
  max-width:260px !important;
}

.dt-home-about-icon {
  width:54px !important;
  
  height:54px !important;
  
  border-radius:18px !important;
  
  margin:0 0 6px !important;
  
  display:grid;
  
  align-items:center;
  
  justify-content:center;
  
  background:#f5f9fe !important;
  
  border:1px solid #dce9f6 !important;
  
  box-shadow:none;
  
  place-items:center;
  
  color:#1f5ca8 !important;
}

.dt-home-about-icon svg {
  width:31px !important;
  
  height:31px !important;
  
  display:block;
  
  fill:none !important;
  
  stroke:#1f5ca8 !important;
  
  stroke-width:4 !important;
  
  stroke-linecap:round !important;
  
  stroke-linejoin:round !important;
}

.dt-about-review .dt-home-about-icon svg,.dt-about-recommend .dt-home-about-icon svg {
  stroke:#f47b35 !important;
}

.dt-home-cta {
  background:#fff !important;
  
  padding:34px 0 38px !important;
  
  border-top:1px solid #edf2f7 !important;
}

.dt-home-cta-card {
  display:grid;
  
  grid-template-columns:auto 1fr auto;
  
  gap:16px;
  
  align-items:center;
  
  background:#fff;
  
  min-height:112px !important;
  
  padding:20px 22px !important;
  
  border-radius:16px !important;
  
  box-shadow:0 16px 36px rgba(15,23,42,.06) !important;
  
  border:1px solid #e8edf4 !important;
}

.dt-home-cta-card p {
  margin:0;
  
  color:#667085;
  
  font-weight:600;
  
  line-height:1.6 !important;
}

.dt-home-cta-icon {
  width:52px !important;
  
  height:52px !important;
  
  border-radius:50%;
  
  display:flex !important;
  
  place-items:center;
  
  color:#f47b35;
  
  background:#fff2e8;
  
  font-size:18px;
  
  font-weight:900;
  
  line-height:1;
  
  align-items:center;
  
  justify-content:center;
  
  flex:0 0 52px !important;
}

.dt-home-hero-title,.dt-home-section-heading h2,.dt-home-about-copy h2,.dt-home-about-feature strong,.dt-home-cta-card h2 {
  font-family:var(--dt-font-heading) !important;
  
  letter-spacing:.015em;
}

.dt-home-about-copy p,.dt-home-about-feature span:not(.dt-home-about-icon),.dt-home-cta-card p {
  letter-spacing:.01em;
}

.dt-home-category-icon {
  width:36px;
  
  height:36px;
  
  display:block;
  
  position:relative;
  
  color:#2457a6;
  
  font-size:25px;
  
  margin-bottom:7px;
  
  overflow:visible;
  
  fill:none;
  
  stroke:currentColor;
  
  stroke-width:4.5;
  
  stroke-linecap:round;
  
  stroke-linejoin:round;
}

.dt-home-category-icon use {
  pointer-events:none;
}

.dt-home-topics {
  background:#f8fafc;
}

.dt-home-topic-kicker {
  margin:0 0 5px !important;
  
  color:var(--dt-blue) !important;
  
  font-size:12px !important;
  
  font-weight:600 !important;
  
  letter-spacing:.14em;
}

.dt-home-topic-grid {
  display:grid;
  
  grid-template-columns:repeat(3,minmax(0,1fr));
  
  gap:22px;
}

.dt-home-topic-card {
  overflow:hidden;
  
  border:1px solid var(--dt-border);
  
  border-radius:10px;
  
  background:#fff;
  
  box-shadow:0 12px 28px rgba(15,35,56,.07);
}

.dt-home-topic-image {
  display:grid;
  
  place-items:center;
  
  aspect-ratio:16/9;
  
  overflow:hidden;
  
  background:linear-gradient(135deg,#e8eef7,#f8fafc);
  
  color:#94a3b8;
  
  font-weight:900;
}

.dt-home-topic-image:hover {
  text-decoration:none;
}

.dt-home-topic-image img {
  width:100%;
  
  height:100%;
  
  object-fit:cover;
  
  transition:transform .18s ease;
}

.dt-home-topic-card:hover .dt-home-topic-image img {
  transform:scale(1.025);
}

.dt-home-topic-body {
  padding:18px 19px 20px;
}

.dt-home-topic-meta {
  display:flex;
  
  align-items:center;
  
  justify-content:space-between;
  
  gap:12px;
  
  margin-bottom:8px;
  
  color:#64748b;
  
  font-size:12px;
}

.dt-home-topic-meta span {
  color:var(--dt-blue);
  
  font-weight:600;
}

.dt-home-topic-body h3 {
  margin:0;
  
  font-size:19px;
  
  line-height:1.45;
}

.dt-home-topic-body h3 a {
  color:var(--dt-text);
}

.dt-home-topic-body p {
  display:-webkit-box;
  
  overflow:hidden;
  
  margin:9px 0 0;
  
  color:var(--dt-muted);
  
  font-size:13px;
  
  line-height:1.7;
  
  -webkit-box-orient:vertical;
  
  -webkit-line-clamp:2;
}

.dt-home-region-nav a,.dt-home-region-card,.dt-home-region-card span,.dt-home-pref-card h3,.dt-home-pref-columns h4,.dt-home-pref-columns a {
  font-weight:500 !important;
}

.dt-home-more-link {
  font-weight:600 !important;
}

.dt-home-region-nav a,.dt-home-pref-columns a,.dt-home-more-link {
  color:var(--dt-text) !important;
}

.dt-home-region-nav a:hover,.dt-home-pref-columns a:hover,.dt-home-more-link:hover {
  color:var(--dt-blue) !important;
}

.dt-home-region-card,.dt-home-region-card span {
  color:#fff !important;
}

.dt-home-listing-row {
  display:grid;
  
  gap:20px;
  
  align-items:stretch;
  
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.dt-home-listings .dt-listing-card:hover {
  transform:translateY(-2px) !important;
  
  box-shadow:0 16px 34px rgba(15,35,56,.16);
}

.dt-home-listings .dt-card-image-wrap {
  position:relative;
  
  display:block;
  
  overflow:hidden;
  
  aspect-ratio:4 / 3;
  
  background:#0f172a;
}

.dt-home-listings .dt-card-image {
  height:100%;
  
  border-radius:0;
  
  overflow:hidden;
  
  box-shadow:none;
  
  background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 55%,#edf2f7 100%);
  
  display:block;
  
  width:100%;
  
  position:absolute;
  
  inset:0;
}

.dt-home-listings .dt-card-image::after {
  content:'';
  
  position:absolute;
  
  inset:0;
  
  display:block;
  
  background:linear-gradient(180deg,rgba(15,23,42,.04) 0%,rgba(15,23,42,.18) 38%,rgba(15,23,42,.88) 100%);
  
  pointer-events:none;
}

.dt-home-listings .dt-card-placeholder {
  font-size:0;
}

.dt-home-listings .dt-card-body {
  padding:14px;
  
  min-width:0;
  
  position:absolute;
  
  inset:0;
  
  z-index:2;
  
  display:flex;
  
  flex-direction:column;
  
  justify-content:flex-end;
  
  color:#fff;
  
  background:transparent;
}

.dt-home-listings .dt-card-meta {
  position:absolute;
  
  z-index:2;
  
  display:flex;
  
  flex-wrap:wrap;
  
  gap:5px;
  
  margin:0;
  
  min-height:0;
  
  top:12px;
  
  left:12px;
  
  right:58px;
}

.dt-home-listings .dt-card-title {
  font-size:19px;
  
  margin-bottom:4px;
  
  line-height:1.35;
  
  margin:0 0 8px;
  
  letter-spacing:-.01em;
  
  min-height:0;
  
  display:-webkit-box;
  
  -webkit-line-clamp:2;
  
  -webkit-box-orient:vertical;
  
  overflow:hidden;
  
  color:#fff;
  
  text-shadow:0 2px 10px rgba(0,0,0,.34);
}

.dt-home-listings .dt-card-title a {
  color:#fff;
}

.dt-home-listings .dt-card-summary {
  display:flex;
  
  flex-direction:column;
  
  align-items:flex-start;
  
  gap:6px;
  
  margin:0;
}

.dt-home-listings .dt-listing-card {
  box-shadow:0 12px 28px rgba(15,35,56,.12);
  
  border:0;
  
  position:relative;
  
  display:block;
  
  min-width:0;
  
  transition:none;
  
  transform:none !important;
  
  contain:none;
  
  border-radius:5px !important;
  
  height:100%;
  
  overflow:hidden;
  
  background:#0f172a;
}

.dt-home-more-link-mobile {
  display:none;
}

.dt-home-mobile-more-link,.dt-home-scroll-dots {
  display:none;
}

.dt-home-category-card span {
  font-weight:500;
}

.dt-home-hero h1 {
  line-height:1;
  
  margin:0 0 18px;
  
  letter-spacing:-.055em;
  
  color:#fff;
  
  text-shadow:0 16px 48px rgba(0,0,0,.24);
  
  margin-bottom:18px;
  
  font-size:clamp(40px,6.6vw,70px);
}

.dt-home-section-heading h2 {
  font-size:clamp(23px,2.2vw,29px);
  
  line-height:1.22;
}

.dt-home-categories .dt-home-section-heading h2 {
  font-size:clamp(23px,2.2vw,29px);
}

.dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2 {
  font-size:clamp(19px,1.7vw,22px);
  
  line-height:1.36;
  
  font-weight:600;
  
  letter-spacing:0;
}

.dt-home-about-copy h2,.dt-home-cta-card h2 {
  font-weight:600 !important;
}

.dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2,.dt-home-about-copy h2,.dt-home-cta-card h2 {
  font-size:clamp(19px,1.7vw,22px);
  
  line-height:1.36;
  
  font-weight:600;
  
  letter-spacing:0;
}

.dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2 {
  font-size:clamp(20px,1.9vw,24px);
  
  line-height:1.32;
}

.dt-home-about-copy h2 {
  margin:0 0 14px !important;
  
  font-size:clamp(21px,1.9vw,24px) !important;
  
  color:#0f2340 !important;
  
  line-height:1.34 !important;
  
  letter-spacing:.02em;
  
  font-weight:600 !important;
}

.dt-home-cta-card h2 {
  margin:0 0 4px !important;
  
  font-size:19px !important;
  
  line-height:1.36 !important;
  
  word-break:keep-all !important;
  
  font-weight:600 !important;
}

body.home .dt-home-section-heading h2,body.front-page .dt-home-section-heading h2,body.home .dt-home-about-copy h2,body.front-page .dt-home-about-copy h2,body.home .dt-home-cta-card h2,body.front-page .dt-home-cta-card h2 {
  font-size:clamp(21px,1.9vw,24px) !important;
  
  line-height:1.32 !important;
  
  font-weight:600 !important;
  
  letter-spacing:0 !important;
}

.dt-home-listings .dt-listing-card {
  position:relative;
  
  display:block;
  
  min-width:0;
  
  overflow:hidden;
  
  border:0;
  
  border-radius:var(--dt-place-card-radius);
  
  background:#0f172a;
  
  box-shadow:0 12px 28px rgba(15,35,56,.12);
}

.dt-home-listings .dt-listing-card:hover {
  box-shadow:0 16px 34px rgba(15,35,56,.16);
}

.dt-home-listings .dt-card-image-wrap {
  position:relative;
  
  display:block;
  
  overflow:hidden;
  
  aspect-ratio:4 / 3;
  
  background:#0f172a;
}

.dt-home-listings .dt-card-image {
  position:absolute;
  
  inset:0;
  
  width:100%;
  
  height:100%;
  
  min-height:0;
  
  border-radius:0;
  
  box-shadow:none;
}

.dt-home-listings .dt-card-image::after {
  content:"";
  
  position:absolute;
  
  inset:0;
  
  display:block;
  
  background:var(--dt-place-card-overlay);
  
  pointer-events:none;
}

.dt-home-listings .dt-card-body {
  position:absolute;
  
  inset:0;
  
  z-index:2;
  
  display:flex;
  
  flex-direction:column;
  
  justify-content:flex-end;
  
  min-width:0;
  
  padding:14px;
  
  color:#fff;
  
  background:transparent;
}

.dt-home-listings .dt-card-meta {
  position:absolute;
  
  top:12px;
  
  left:12px;
  
  right:58px;
  
  z-index:2;
  
  display:flex;
  
  flex-wrap:wrap;
  
  gap:5px;
  
  min-height:0;
  
  margin:0;
}

.dt-home-listings .dt-card-meta a {
  max-width:100%;
  
  padding:5px 8px;
  
  border-radius:999px;
  
  background:#2457a6;
  
  color:#fff;
  
  box-shadow:0 6px 12px rgba(36,87,166,.14);
  
  font-size:var(--dt-place-card-meta-size);
  
  font-weight:500;
  
  line-height:1;
  
  overflow:hidden;
  
  text-overflow:ellipsis;
  
  white-space:nowrap;
}

.dt-home-listings .dt-card-favorite-button,.dt-home-listings .dt-card-image-wrap .dt-card-favorite-button {
  top:9px;
  
  right:9px;
  
  width:32px;
  
  height:32px;
  
  font-size:18px;
  
  background:rgba(15,23,42,.48);
  
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}

.dt-home-listings .dt-card-title {
  display:-webkit-box;
  
  overflow:hidden;
  
  min-height:0;
  
  margin:0 0 7px;
  
  color:#fff;
  
  font-size:var(--dt-place-card-title-size);
  
  font-weight:var(--dt-place-card-title-weight);
  
  line-height:var(--dt-place-card-title-line);
  
  letter-spacing:0;
  
  text-shadow:0 2px 10px rgba(0,0,0,.34);
  
  overflow-wrap:anywhere;
  
  -webkit-box-orient:vertical;
  
  -webkit-line-clamp:2;
}

.dt-home-listings .dt-card-title a {
  color:#fff;
}

.dt-home-listings .dt-card-summary {
  display:flex;
  
  flex-direction:column;
  
  align-items:flex-start;
  
  gap:5px;
  
  margin:0;
}

.dt-home-listings .dt-rating {
  max-width:100%;
  
  color:rgba(255,255,255,.88);
  
  font-size:12px;
  
  line-height:1.25;
  
  white-space:nowrap;
  
  overflow:hidden;
  
  text-overflow:ellipsis;
  
  text-shadow:0 1px 6px rgba(0,0,0,.30);
}

.dt-home-listings .dt-card-business-status {
  margin:0;
}

.dt-home-listings .dt-business-status {
  padding:4px 8px;
  
  border-color:rgba(255,255,255,.48);
  
  background:rgba(248,250,252,.94);
  
  font-size:var(--dt-place-card-status-size);
  
  font-weight:500;
  
  line-height:1.25;
  
  white-space:nowrap;
}

.dt-home-hero.has-custom-media {
  background:linear-gradient(90deg,rgba(6,24,45,.82) 0%,rgba(6,24,45,.58) 42%,rgba(6,24,45,.25) 74%,rgba(6,24,45,.12) 100%),
    var(--dt-home-hero-image,linear-gradient(140deg,#0b2341 0%,#205c88 48%,#f2b46f 100%)),
    linear-gradient(140deg,#0b2341 0%,#205c88 48%,#f2b46f 100%);
  
  background-size:cover;
  
  background-position:center;
}

.dt-home-hero.has-custom-media::before {
  z-index:1;
  
  background:linear-gradient(180deg,rgba(6,24,45,.08),rgba(6,24,45,.32)),radial-gradient(circle at 78% 28%,rgba(255,255,255,.18),transparent 30%);
  
  opacity:1;
}

.dt-home-hero.has-custom-media::after {
  display:none;
}

.dt-home-hero.has-custom-media .dt-home-hero-overlay {
  z-index:1;
  
  background:linear-gradient(0deg,rgba(6,24,45,.38),rgba(6,24,45,.08) 48%,rgba(6,24,45,.26));
}

.dt-home-hero-video {
  position:absolute;
  
  inset:0;
  
  z-index:0;
  
  width:100%;
  
  height:100%;
  
  object-fit:cover;
  
  object-position:center;
  
  pointer-events:none;
}

.dt-home-hero.has-custom-video {
  overflow:hidden;
}

.dt-home-hero.has-custom-video .dt-home-hero-inner,.dt-home-hero.has-custom-image .dt-home-hero-inner {
  position:relative;
  
  z-index:2;
}

.dt-home-region-card.has-region-image {
  background-image:linear-gradient(180deg,rgba(6,24,45,.04),rgba(6,24,45,.58)),var(--dt-home-region-card-image);
  
  background-size:cover;
  
  background-position:center;
}

.dt-home-about .dt-home-about-icon {
  width:56px !important;
  
  height:56px !important;
  
  display:inline-flex !important;
  
  align-items:center !important;
  
  justify-content:center !important;
  
  flex:0 0 auto !important;
  
  margin:0 0 10px !important;
  
  padding:0 !important;
  
  color:#1f5ca8 !important;
  
  background:transparent !important;
  
  border:0 !important;
  
  border-radius:0 !important;
  
  box-shadow:none !important;
}

.dt-home-about .dt-home-about-icon::before {
  content:"";
  
  display:block;
  
  width:52px;
  
  height:52px;
  
  background:currentColor;
  
  -webkit-mask:var(--dt-home-about-icon-url) center / contain no-repeat;
  
  mask:var(--dt-home-about-icon-url) center / contain no-repeat;
}

.dt-home-about .dt-home-about-icon--find {
  --dt-home-about-icon-url:url("../icons/about/find.svg");
}

.dt-home-about .dt-home-about-icon--search {
  --dt-home-about-icon-url:url("../icons/about/search.svg");
}

.dt-home-about .dt-home-about-icon--review {
  --dt-home-about-icon-url:url("../icons/about/review.svg");
}

.dt-home-about .dt-home-about-icon--recommend {
  --dt-home-about-icon-url:url("../icons/about/recommend.svg");
}

@media (max-width: 1120px) and (min-width: 901px) {
  .dt-home-about {
    grid-template-columns:minmax(190px,.72fr) repeat(3,minmax(0,1fr)) !important;
    
    gap:16px !important;
    
    padding:52px clamp(18px,4.2vw,46px) 48px !important;
  }
  .dt-home-about-copy {
    grid-column:auto !important;
    
    padding-right:4px !important;
  }
  .dt-home-about-copy h2 {
    font-size:27px !important;
    
    line-height:1.22 !important;
  }
  .dt-home-about-copy p {
    font-size:14px !important;
    
    line-height:1.75 !important;
    
    margin-bottom:16px !important;
  }
  .dt-home-about-feature {
    min-height:188px !important;
    
    padding:24px 18px !important;
    
    border-radius:17px !important;
  }
  .dt-home-about-feature strong {
    font-size:21px !important;
    
    margin:7px 0 9px !important;
  }
  .dt-home-about-feature span:not(.dt-home-about-icon) {
    font-size:14px !important;
    
    line-height:1.65 !important;
    
    max-width:220px !important;
  }
  .dt-home-about-icon {
    width:48px !important;
    
    height:48px !important;
    
    border-radius:16px !important;
  }
  .dt-home-about-icon svg {
    width:27px !important;
    
    height:27px !important;
  }
}

@media (max-width: 900px) and (min-width: 721px) {
  .dt-home-about {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    
    gap:16px !important;
    
    padding:48px 28px 44px !important;
  }
  .dt-home-about-copy {
    grid-column:1/-1 !important;
    
    max-width:720px !important;
    
    padding:0 0 6px !important;
  }
  .dt-home-about-copy h2 {
    font-size:28px !important;
    
    line-height:1.25 !important;
    
    margin-bottom:10px !important;
  }
  .dt-home-about-copy p {
    max-width:640px !important;
    
    line-height:1.7 !important;
    
    margin-bottom:14px !important;
  }
  .dt-home-about-feature {
    min-height:174px !important;
    
    padding:22px 16px !important;
  }
  .dt-home-about-feature strong {
    font-size:20px !important;
    
    margin:6px 0 8px !important;
  }
  .dt-home-about-feature span:not(.dt-home-about-icon) {
    font-size:13px !important;
    
    line-height:1.55 !important;
    
    max-width:190px !important;
  }
  .dt-home-about-icon {
    width:46px !important;
    
    height:46px !important;
    
    border-radius:15px !important;
  }
  .dt-home-about-icon svg {
    width:25px !important;
    
    height:25px !important;
  }
}

@media (max-width: 980px) {
  .dt-home-area-layout {
    grid-template-columns:minmax(0,1fr);
    
    gap:20px;
  }
  .dt-home-region-nav {
    grid-column:1;
    
    grid-row:1;
    
    width:clamp(150px,30%,180px);
  }
  .dt-home-map-card {
    grid-column:1;
    
    grid-row:1;
    
    min-height:320px;
  }
  .dt-home-dot-map-image {
    width:min(520px,88%);
    
    max-height:320px;
    
    opacity:.78;
    
    transform:none;
  }
  .dt-home-pref-card {
    grid-column:1;
    
    grid-row:2;
  }
  .dt-home-pref-columns {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:1120px) {
  .dt-home-category-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .dt-home-area-layout {
    grid-template-columns:130px 1fr;
  }
  .dt-home-pref-card {
    grid-column:1/-1;
  }
  .dt-home-region-cards {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .dt-home-pref-columns {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dt-home-listings .dt-card-image {
    height:132px;
  }
  .dt-home-about-copy p {
    max-width:760px;
  }
  .dt-home-about-feature {
    min-height:180px;
    
    padding:24px 20px;
  }
  .dt-home-about {
    grid-template-columns:1fr 1fr !important;
    
    padding:46px 24px 34px;
  }
  .dt-home-about-copy {
    grid-column:1/-1 !important;
    
    max-width:760px;
    
    padding:0 0 8px;
  }
  .dt-home-listing-row {
    grid-template-columns:repeat(3,minmax(0,1fr));
    
    gap:18px;
  }
}

@media (max-width:640px) {
  .dt-home-hero h1 {
    font-size:clamp(34px,10vw,48px);
  }
  .dt-home-section-heading h2 {
    font-size:clamp(21px,6vw,26px);
  }
  .dt-home-categories .dt-home-section-heading h2 {
    font-size:clamp(21px,6vw,26px);
  }
  .dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2 {
    font-size:clamp(19px,5.2vw,22px);
    
    line-height:1.38;
  }
  .dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2 {
    font-size:clamp(19px,5vw,22px);
    
    line-height:1.38;
  }
  .dt-home-section-heading h2,.dt-home-categories .dt-home-section-heading h2 {
    font-size:clamp(20px,5.6vw,23px);
  }
  body.home .dt-home-section-heading h2,body.front-page .dt-home-section-heading h2,body.home .dt-home-about-copy h2,body.front-page .dt-home-about-copy h2,body.home .dt-home-cta-card h2,body.front-page .dt-home-cta-card h2 {
    font-size:clamp(21px,5.6vw,23px) !important;
  }
}

@media (max-width:900px) {
  body.home .dt-site-header,body.front-page .dt-site-header {
    position:absolute;
  }
  .admin-bar.home .dt-site-header,.admin-bar.front-page .dt-site-header {
    top:0;
  }
  .dt-home-area-layout {
    grid-template-columns:1fr;
  }
  .dt-home-region-nav {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dt-home-cta-inner {
    grid-template-columns:1fr;
  }
  .dt-home-cta-card .dt-button {
    grid-column:1/-1;
  }
  body.home .dt-header-inner,body.front-page .dt-header-inner {
    min-height:74px;
  }
  .dt-home-hero {
    min-height:590px;
  }
  .dt-home-hero-inner {
    padding-top:136px;
    
    padding-bottom:82px;
    
    max-width:100%;
  }
  .dt-home-category-card {
    min-height:88px;
  }
  .dt-home-map-card {
    min-height:240px;
    
    height:240px;
  }
  .dt-home-dot-map-image {
    width:min(360px,100%);
    
    max-height:260px;
  }
  .dt-home-cta-card {
    grid-template-columns:auto 1fr;
  }
  .dt-home-about {
    grid-template-columns:1fr;
  }
  .dt-home-about-copy {
    max-width:none;
  }
  .dt-home-about-feature {
    min-height:auto;
    
    text-align:left;
    
    align-items:flex-start;
  }
  .dt-home-about-icon {
    margin-left:0;
    
    margin-right:0;
  }
  body.home .dt-primary-nav.is-open,body.front-page .dt-primary-nav.is-open {
    background:#fff;
    
    color:var(--dt-text);
  }
  body.home .dt-primary-nav.is-open .dt-menu a,body.front-page .dt-primary-nav.is-open .dt-menu a {
    color:var(--dt-text) !important;
  }
  .dt-home-topic-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.home.dt-menu-is-open .dt-primary-nav.is-open,body.front-page.dt-menu-is-open .dt-primary-nav.is-open {
    display:flex !important;
    
    flex-direction:column !important;
    
    align-items:stretch !important;
    
    justify-content:flex-start !important;
    
    gap:8px !important;
    
    height:auto !important;
    
    min-height:0 !important;
    
    padding:12px !important;
    
    background:#fff !important;
    
    color:var(--dt-text) !important;
    
    border:1px solid rgba(203,213,225,.92) !important;
    
    box-shadow:0 22px 60px rgba(15,23,42,.22) !important;
    
    position:fixed !important;
    
    left:16px !important;
    
    right:16px !important;
    
    top:var(--dt-mobile-menu-top, 82px) !important;
    
    z-index:1220 !important;
    
    max-height:var(--dt-mobile-menu-max-height, calc(100dvh - 96px)) !important;
    
    overflow-y:auto !important;
    
    overscroll-behavior:contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dt-home-hero-video {
    display:none;
  }
}

@media (max-width:720px) {
  .dt-home-cta-card {
    display:block !important;
  }
  .dt-home-cta-icon {
    margin-bottom:12px !important;
  }
  .dt-home-about {
    grid-template-columns:1fr !important;
    
    padding:42px 20px 34px !important;
    
    gap:18px !important;
  }
  .dt-home-about-copy p {
    max-width:100% !important;
    
    line-height:1.75 !important;
  }
  .dt-home-about-feature {
    min-height:auto !important;
    
    padding:24px 20px !important;
  }
  .dt-home-about .dt-home-about-icon {
    width:52px !important;
    
    height:52px !important;
    
    margin-bottom:8px !important;
  }
  .dt-home-about .dt-home-about-icon::before {
    width:50px;
    
    height:50px;
  }
}

@media(max-width:620px) {
  .dt-home-search button {
    min-height:48px;
  }
  .dt-home-section-heading {
    display:block;
  }
  .dt-home-region-cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
    
    gap:10px;
  }
  .dt-home-cta-card {
    display:block;
  }
  .dt-home-cta-icon {
    margin-bottom:12px;
  }
  .dt-home-cta-card .dt-button {
    margin-top:14px;
    
    width:100%;
  }
  .dt-home-search {
    grid-template-columns:1fr;
    
    border-radius:15px;
    
    padding:8px;
  }
  .dt-home-search input[type="search"] {
    min-height:52px;
  }
  .dt-home-action {
    min-width:100%;
    
    min-height:50px;
    
    border-radius:12px;
  }
  .dt-home-hero {
    min-height:600px;
  }
  .dt-home-hero-inner {
    padding-top:126px;
    
    padding-bottom:66px;
  }
  .dt-home-section {
    padding:38px 0;
  }
  .dt-home-categories {
    padding-top:34px;
    
    padding-bottom:32px;
  }
  .dt-home-area-section {
    padding-top:34px;
    
    padding-bottom:34px;
  }
  .dt-home-category-card {
    min-height:86px;
  }
  .dt-home-pref-card {
    padding:18px;
  }
  .dt-home-region-card {
    min-height:68px;
  }
  .dt-home-area-layout {
    gap:18px;
  }
  .dt-home-region-nav {
    grid-template-columns:1fr;
    
    width:clamp(145px,45%,165px);
  }
  .dt-home-map-card {
    min-height:310px;
  }
  .dt-home-dot-map-image {
    width:min(390px,96%);
    
    max-height:280px;
    
    opacity:.82;
  }
  .dt-home-pref-columns {
    grid-template-columns:repeat(2,minmax(0,1fr));
    
    gap:14px;
  }
  .dt-home-listings .dt-card-image {
    height:104px;
    
    border-radius:8px;
  }
  .dt-home-listings .dt-card-meta a {
    font-size:10px;
    
    padding:4px 7px;
  }
  .dt-home-listings .dt-rating {
    font-size:11px;
  }
  .dt-home-listings .dt-business-status {
    font-size:10.5px;
    
    padding:3px 7px;
  }
  .dt-home-listings .dt-card-favorite-button,.dt-home-listings .dt-card-image-wrap .dt-card-favorite-button {
    width:30px !important;
    
    height:30px !important;
    
    top:8px !important;
    
    right:8px !important;
    
    font-size:17px;
  }
  .dt-home-about-icon svg {
    width:31px;
    
    height:31px;
  }
  .dt-home-cta-icon svg {
    width:28px;
    
    height:28px;
  }
  .dt-home-about {
    grid-template-columns:1fr;
    
    padding:38px 18px 26px;
    
    gap:14px;
  }
  .dt-home-about-copy {
    padding:32px 22px;
    
    padding-bottom:4px;
  }
  .dt-home-about-copy h2 {
    font-size:26px;
  }
  .dt-home-about-feature {
    min-height:150px;
    
    padding:22px 20px;
    
    border-radius:18px;
  }
  .dt-home-about-icon {
    width:50px;
    
    height:50px;
    
    border-radius:16px;
    
    margin-bottom:14px;
  }
  body.home .dt-header-inner,body.front-page .dt-header-inner {
    min-height:64px;
  }
  .dt-home-category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    
    gap:10px;
  }
  .dt-home-topic-grid {
    grid-template-columns:1fr;
    
    gap:14px;
  }
  .dt-home-topic-card {
    display:grid;
    
    grid-template-columns:116px minmax(0,1fr);
    
    border-radius:8px;
  }
  .dt-home-topic-image {
    height:100%;
    
    min-height:126px;
    
    aspect-ratio:auto;
  }
  .dt-home-topic-body {
    padding:13px 14px;
  }
  .dt-home-topic-body h3 {
    font-size:16px;
  }
  .dt-home-listing-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    
    gap:18px 14px;
  }
  .dt-home-listings .dt-card-body {
    padding-top:8px;
    
    padding:11px;
  }
  .dt-home-listings .dt-card-meta {
    margin:-10px 0 6px;
    
    gap:4px;
    
    min-height:18px;
    
    top:9px;
    
    left:9px;
    
    right:48px;
  }
  .dt-home-listings .dt-card-title {
    font-size:15px;
    
    min-height:2.7em;
    
    line-height:1.35;
    
    margin-bottom:6px;
  }
  .dt-home-area-section .dt-home-region-nav,.dt-home-area-section .dt-home-map-card,.dt-home-area-section .dt-home-pref-card {
    display:none !important;
  }
  .dt-home-area-section .dt-home-region-cards {
    grid-template-columns:1fr !important;
    
    gap:10px;
    
    margin-top:18px;
  }
  .dt-home-more-link-mobile {
    display:inline-flex;
    
    margin-top:16px;
    
    font-weight:600;
  }
  body.home.dt-menu-is-open .dt-primary-nav.is-open,body.front-page.dt-menu-is-open .dt-primary-nav.is-open {
    left:12px !important;
    
    right:12px !important;
    
    top:var(--dt-mobile-menu-top, 74px) !important;
    
    max-height:var(--dt-mobile-menu-max-height, calc(100dvh - 88px)) !important;
  }
  .dt-home-categories .dt-home-category-grid,.dt-home-listings .dt-home-listing-row {
    display:grid !important;
    
    grid-template-columns:none !important;
    
    grid-auto-flow:column;
    
    overflow-x:auto;
    
    overflow-y:visible;
    
    -webkit-overflow-scrolling:touch;
    
    scroll-snap-type:x proximity;
    
    overscroll-behavior-x:contain;
    
    scrollbar-width:none;
    
    padding-bottom:6px;
  }
  .dt-home-categories .dt-home-category-grid::-webkit-scrollbar,.dt-home-listings .dt-home-listing-row::-webkit-scrollbar {
    display:none;
  }
  .dt-home-categories .dt-home-category-grid {
    grid-auto-columns:clamp(140px,42vw,170px);
    
    gap:10px;
  }
  .dt-home-categories .dt-home-category-card {
    min-width:0;
    
    min-height:94px;
    
    scroll-snap-align:start;
  }
  .dt-home-listings .dt-home-listing-row {
    grid-auto-columns:clamp(220px,74vw,260px);
    
    gap:14px;
  }
  .dt-home-listings .dt-listing-card {
    width:100%;
    
    min-width:0;
    
    scroll-snap-align:start;
  }
  .dt-home-listings .dt-card-image-wrap {
    aspect-ratio:4 / 3;
  }
  .dt-home-section-heading .dt-home-heading-link {
    display:none;
  }
  .dt-home-mobile-more-link,.dt-home-area-section .dt-home-more-link-mobile {
    display:flex;
    
    align-items:center;
    
    justify-content:flex-end;
    
    width:max-content;
    
    min-height:42px;
    
    margin:14px 0 0 auto;
    
    padding:0 4px;
    
    color:#2457a6;
    
    font-weight:600;
    
    line-height:1.35;
  }
  .dt-home-mobile-more-link:hover,.dt-home-area-section .dt-home-more-link-mobile:hover {
    color:#0b4f9c;
    
    text-decoration:none;
  }
  .dt-home-scroll-dots {
    display:flex;
    
    align-items:center;
    
    justify-content:center;
    
    gap:7px;
    
    margin:10px 0 0;
  }
  .dt-home-scroll-dot {
    width:7px;
    
    height:7px;
    
    padding:0;
    
    border:0;
    
    border-radius:999px;
    
    background:#c8d5e5;
    
    box-shadow:none;
    
    cursor:pointer;
    
    opacity:.82;
    
    transition:width .18s ease,background-color .18s ease,opacity .18s ease;
  }
  .dt-home-scroll-dot.is-active {
    width:18px;
    
    background:#2457a6;
    
    opacity:1;
  }
  .dt-home-scroll-dot:focus-visible {
    outline:2px solid rgba(36,87,166,.35);
    
    outline-offset:3px;
  }
  .dt-home-area-section .dt-home-region-card {
    min-height:96px !important;
    
    padding:18px 16px;
  }
  .dt-home-listings .dt-card-body {
    padding:11px;
  }
  .dt-home-listings .dt-card-meta {
    top:9px;
    
    left:9px;
    
    right:48px;
    
    gap:4px;
  }
  .dt-home-listings .dt-card-meta a {
    padding:4px 7px;
    
    font-size:10px;
  }
  .dt-home-listings .dt-card-title {
    margin-bottom:6px;
    
    font-size:14px;
  }
  .dt-home-listings .dt-rating {
    font-size:11px;
  }
  .dt-home-listings .dt-business-status {
    padding:3px 7px;
    
    font-size:10.5px;
  }
  .dt-home-listings .dt-card-favorite-button,.dt-home-listings .dt-card-image-wrap .dt-card-favorite-button {
    top:8px;
    
    right:8px;
    
    width:30px;
    
    height:30px;
    
    font-size:17px;
  }
}
