/* Homepage-only patterns. Loaded via desert-buggys/homepage on the front page. */
.db-section,
.db-home .wp-block-group.db-section {
  padding: clamp(46px, 6vw, 88px) clamp(18px, 4vw, 48px);
  margin-block-start: 0;
}.db-eyebrow {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  color: var(--db-rust);
  font-size: 0.76rem;
  line-height: 1.45;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: var(--db-weight-bold);
}.db-lede {
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  max-width: 64ch;
}.db-button-row,
.db-home .wp-block-buttons.db-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}.db-hero,
.db-home .wp-block-cover.db-hero {
  min-height: calc(100svh - 112px) !important;
  align-items: flex-end;
  padding: 0;
  margin-block-start: 0;
}.db-hero .wp-block-cover__background {
  opacity: 0.72;
  background:
    linear-gradient(180deg, rgba(10, 10, 10, 0.28) 0%, rgba(13, 12, 10, 0.52) 44%, rgba(9, 8, 6, 0.88) 100%),
    radial-gradient(circle at 25% 30%, rgba(227, 154, 69, 0.22), transparent 38%);
}.db-hero .wp-block-cover__inner-container {
  width: min(100%, var(--db-max));
  margin-inline: auto;
  padding: clamp(34px, 6vh, 70px) clamp(18px, 4vw, 48px) clamp(24px, 4.5vh, 48px);
}.db-hero h1 {
  max-width: 22ch;
  margin-top: 14px;
  color: #fffaf0;
  font-size: clamp(2.7rem, 5.6vw, 4.75rem);
  text-wrap: balance;
}.db-hero .db-lede {
  max-width: 62ch;
  margin-top: 16px;
  color: #f8eee0;
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.38);
}.db-hero .db-eyebrow {
  color: #ffbd80;
}.db-hero .db-button-row {
  margin-top: 22px;
}.db-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}.db-hero-badges p {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}.db-hero-badges p::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  background: #ffbd80;
  mask: var(--db-mask-check) center / contain no-repeat;
}.db-trust-strip {
  background: #fffaf2;
  border-bottom: 1px solid var(--db-line);
  padding-block: clamp(16px, 2.4vw, 24px);
}.db-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--db-line);
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  overflow: hidden;
}.db-trust-grid > .wp-block-group,
.db-trust-grid > .wp-block-column {
  position: relative;
  background: #fffaf2;
  padding: 20px;
  min-height: 112px;
}.db-trust-grid > .wp-block-column::before,
.db-trust-grid > .wp-block-group::before {
  content: "";
  width: 30px;
  height: 30px;
  display: block;
  margin-bottom: 12px;
  background: var(--db-rust);
  mask: var(--db-mask-clock) center / contain no-repeat;
}.db-trust-grid > :nth-child(2)::before {
  mask-image: var(--db-mask-check);
}.db-trust-grid > :nth-child(3)::before {
  mask-image: var(--db-mask-shield);
}.db-trust-grid > :nth-child(4)::before {
  mask-image: var(--db-mask-map);
}.db-trust-grid h3 {
  font-size: clamp(1.28rem, 2.5vw, 1.95rem);
}.db-card-grid,
.db-home .wp-block-columns.db-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
}.db-card-grid > .wp-block-column {
  width: auto !important;
}.db-card-body {
  padding: clamp(20px, 2.5vw, 28px);
}.db-card .db-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}.db-card .db-eyebrow::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background: var(--db-rust);
  mask: var(--db-mask-car) center / contain no-repeat;
}.db-card-img,
.db-card-img img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}.db-card-meta {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
}.db-price {
  color: var(--db-ink);
  font-size: 1.45rem;
  font-weight: 900;
}.db-price small {
  display: block;
  color: var(--db-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}.db-band {
  background: var(--db-sand-2);
}.db-band-alt {
  background: #fffaf2;
}.db-split,
.db-home .wp-block-columns.db-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(26px, 6vw, 72px);
  align-items: center;
}.db-split > .wp-block-column {
  width: auto !important;
}.db-feature-panel {
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  background: var(--db-card);
  box-shadow: var(--db-shadow);
}.db-check-list,
.db-home ul.db-check-list {
  list-style: none;
  padding-left: 0;
}.db-check-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 11px;
}.db-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.32em;
  width: 18px;
  height: 18px;
  background: var(--db-oasis);
  mask: var(--db-mask-check) center / contain no-repeat;
}.db-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}.db-chip-row p {
  width: auto;
  margin: 0;
  padding: 7px 11px;
  border-radius: 6px;
  background: rgba(23, 18, 14, 0.06);
  color: var(--db-ink);
  font-size: 0.88rem;
}.db-stat-cards,
.db-home .wp-block-columns.db-stat-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}.db-stat-cards > .wp-block-column {
  width: auto !important;
  padding: 22px;
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  background: #fffaf2;
}.db-comparison,
.db-home .wp-block-table.db-comparison {
  overflow-x: auto;
}.db-comparison table {
  min-width: 720px;
  border-collapse: collapse;
  background: #fffaf2;
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  overflow: hidden;
}.db-comparison th {
  background: var(--db-night);
  color: #fffaf2;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}.db-mini-grid,
.db-home .wp-block-columns.db-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}.db-mini-grid > .wp-block-column {
  width: auto !important;
  padding: 22px;
  border-radius: var(--db-radius);
  border: 1px solid var(--db-line);
  background: var(--db-card);
}.db-review-grid,
.db-home .wp-block-columns.db-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}.db-review-grid > .wp-block-column {
  width: auto !important;
  padding: 24px;
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  background: #fffaf2;
}.db-price-table table {
  min-width: 760px;
}.db-faq-list {
  display: grid;
  gap: 12px;
}.db-faq-list details {
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  background: #fffaf2;
  padding: 0;
}.db-faq-list summary {
  cursor: pointer;
  padding: 18px 20px;
  font-weight: 800;
  color: var(--db-ink);
  list-style: none;
}.db-faq-list summary::-webkit-details-marker {
  display: none;
}.db-faq-list details[open] summary {
  color: var(--db-rust);
}.db-faq-list details > :not(summary) {
  padding: 0 20px 18px;
}.db-resource-grid,
.db-home .wp-block-columns.db-resource-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}.db-resource-grid > .wp-block-column {
  width: auto !important;
  padding: 20px;
  border: 1px solid var(--db-line);
  border-radius: var(--db-radius);
  background: var(--db-card);
}@media (max-width: 980px) {.db-trust-grid,
  .db-card-grid,
  .db-home .wp-block-columns.db-card-grid,
  .db-stat-cards,
  .db-home .wp-block-columns.db-stat-cards,
  .db-mini-grid,
  .db-home .wp-block-columns.db-mini-grid,
  .db-review-grid,
  .db-home .wp-block-columns.db-review-grid,
  .db-resource-grid,
  .db-home .wp-block-columns.db-resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.db-split,
  .db-home .wp-block-columns.db-split {
    grid-template-columns: 1fr;
  }}@media (max-width: 640px) {.db-hero,
  .db-home .wp-block-cover.db-hero {
    min-height: calc(100svh - 126px) !important;
  }.db-hero .wp-block-cover__inner-container {
    padding-top: 28px;
    padding-bottom: 18px;
  }.db-hero h1 {
    max-width: 19ch;
    font-size: clamp(2.05rem, 9.2vw, 2.55rem);
  }.db-hero .db-lede {
    font-size: 0.96rem;
    line-height: 1.45;
  }.db-hero-badges p:nth-child(n+3) {
    display: none;
  }.db-button-row .wp-block-button,
  .db-button-row .wp-block-button__link {
    width: 100%;
  }}.db-hero,
.db-home .wp-block-cover.db-hero {
  min-height: clamp(460px, 72vh, 680px) !important;
  align-items: center !important;
}.db-hero .wp-block-cover__inner-container {
  padding-top: clamp(26px, 4vh, 44px);
  padding-bottom: clamp(26px, 4vh, 44px);
}.db-hero h1 {
  margin-top: 10px;
  font-size: clamp(2.3rem, 4.8vw, 3.5rem);
}.db-hero .db-lede {
  font-size: clamp(1rem, 1.35vw, 1.14rem);
}.db-hp { color: var(--db-ink); }.db-hp-wrap { width: min(100%, var(--db-max)); margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }.db-hp-section { padding-block: clamp(44px, 7vw, 90px); }.db-hp-eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 10px; color: var(--db-rust); font-size:.8rem; font-weight: var(--db-weight-heavy); letter-spacing:.1em; text-transform:uppercase; }.db-hp-head { text-align:center; max-width:720px; margin:0 auto clamp(28px,4vw,44px); }.db-hp-head h2 { margin:0 0 12px; font-family: var(--db-font-heading); font-size: clamp(1.7rem,3.8vw,2.6rem); line-height:1.1; }.db-hp-head p { margin:0; color: var(--db-muted); font-size: clamp(1rem,1.4vw,1.12rem); line-height:1.65; }.db-hp-hero { position:relative; display:flex; align-items:center; min-height: clamp(480px, 74vh, 680px); overflow:hidden; color:#fffaf0; }.db-hp-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; }.db-hp-hero::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,9,8,.35) 0%, rgba(10,9,8,.45) 45%, rgba(8,7,5,.86) 100%); }.db-hp-hero-inner { position:relative; z-index:2; width:min(100%,var(--db-max)); margin-inline:auto; padding: clamp(40px,7vh,90px) clamp(16px,4vw,48px); }.db-hp-hero .db-hp-eyebrow { color:#ffbd80; }.db-hp-hero h1 { margin:6px 0 16px; max-width:16ch; font-family: var(--db-font-heading); font-size: clamp(2.2rem,5.4vw,4rem); line-height:1.05; text-wrap:balance; }.db-hp-hero p { max-width:56ch; margin:0 0 22px; font-size: clamp(1.02rem,1.5vw,1.2rem); line-height:1.6; color:#f4e9db; text-shadow:0 2px 18px rgba(0,0,0,.35); }.db-hp-hero-rating { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; font-weight: var(--db-weight-semibold); }.db-hp-hero-rating .db-hp-stars { color:#ffbd80; letter-spacing:2px; }.db-hp-cta-row { display:flex; flex-wrap:wrap; gap:12px; }.db-hp-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:0 26px; border-radius:12px; font-weight: var(--db-weight-bold); font-size:1rem; text-decoration:none; transition: background-color .15s ease, transform .15s ease; }.db-hp-btn-primary { background: var(--db-rust); color:#fff; }.db-hp-btn-primary:hover { background: var(--db-rust-dark); color:#fff; transform: translateY(-1px); }.db-hp-btn-ghost { background: rgba(255,255,255,.12); color:#fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.5); }.db-hp-btn-ghost:hover { background: rgba(255,255,255,.22); color:#fff; }.db-hp-hero-chips { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:22px; font-size:.92rem; color:#f4e9db; }.db-hp-hero-chips span { display:inline-flex; align-items:center; gap:7px; }.db-hp-hero-chips span::before { content:""; width:16px; height:16px; border-radius:50%; background:#ffbd80; flex:0 0 auto; }.db-hp-trust { background: var(--db-card); border-block: 1px solid var(--db-line); }.db-hp-trust-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-block: 26px; }.db-hp-trust-item { display:flex; align-items:center; gap:12px; }.db-hp-trust-item .db-icon { width:30px; height:30px; color: var(--db-oasis); flex:0 0 auto; }.db-hp-trust-item strong { display:block; font-size:.98rem; }.db-hp-trust-item span { color: var(--db-muted); font-size:.82rem; }.db-hp-cats { display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.db-hp-cat { position:relative; display:block; aspect-ratio: 4/5; border-radius:18px; overflow:hidden; color:#fff; text-decoration:none; }.db-hp-cat img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }.db-hp-cat::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.82) 100%); }.db-hp-cat:hover img { transform: scale(1.06); }.db-hp-cat-body { position:absolute; z-index:2; inset:auto 0 0 0; padding:22px; }.db-hp-cat-body h3 { margin:0 0 4px; font-family: var(--db-font-heading); font-size:1.5rem; }.db-hp-cat-body span { display:inline-flex; align-items:center; gap:6px; font-weight: var(--db-weight-semibold); font-size:.9rem; color:#ffd9b3; }.db-hp-why { background: linear-gradient(180deg, #fffdf8, var(--db-paper)); }.db-hp-cards { display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }.db-hp-card { background: var(--db-card); border:1px solid var(--db-line); border-radius:16px; padding:24px; box-shadow: 0 6px 20px rgba(43,28,15,.05); }.db-hp-card .db-icon { width:34px; height:34px; color: var(--db-rust); margin-bottom:12px; }.db-hp-card h3 { margin:0 0 8px; font-size:1.15rem; }.db-hp-card p { margin:0; color: var(--db-muted); font-size:.95rem; line-height:1.6; }.db-hp-steps { display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.db-hp-step { text-align:center; }.db-hp-step-num { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 14px; border-radius:50%; background: var(--db-rust); color:#fff; font-family: var(--db-font-heading); font-weight: var(--db-weight-heavy); font-size:1.4rem; }.db-hp-step h3 { margin:0 0 6px; font-size:1.15rem; }.db-hp-step p { margin:0; color: var(--db-muted); font-size:.95rem; line-height:1.6; }.db-hp-reviews { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }.db-hp-review { background: var(--db-card); border:1px solid var(--db-line); border-radius:16px; padding:24px; }.db-hp-review .db-hp-stars { color: var(--db-amber); letter-spacing:2px; margin-bottom:10px; display:block; }.db-hp-review p { margin:0 0 12px; line-height:1.65; }.db-hp-review strong { color: var(--db-ink); }.db-hp-faq { max-width:820px; margin-inline:auto; }.db-hp-faq details { border:1px solid var(--db-line); border-radius:12px; margin-bottom:10px; background: var(--db-card); }.db-hp-faq summary { cursor:pointer; padding:16px 18px; font-weight: var(--db-weight-bold); list-style:none; display:flex; justify-content:space-between; gap:12px; }.db-hp-faq summary::-webkit-details-marker { display:none; }.db-hp-faq summary::after { content:"+"; color: var(--db-rust); font-size:1.3rem; line-height:1; }.db-hp-faq details[open] summary::after { content:"\2212"; }.db-hp-faq details p { margin:0; padding:0 18px 16px; color: var(--db-muted); line-height:1.65; }.db-hp-cta { background: var(--db-night); color:#fffaf0; text-align:center; }.db-hp-cta h2 { margin:0 0 10px; font-family: var(--db-font-heading); font-size: clamp(1.7rem,3.6vw,2.5rem); }.db-hp-cta p { margin:0 auto 22px; max-width:60ch; color:#e7dccb; font-size:1.05rem; }@media (max-width: 900px) {.db-hp-trust-grid { grid-template-columns: repeat(2,1fr); gap:18px 24px; }.db-hp-cards { grid-template-columns: repeat(2,1fr); }.db-hp-cats { grid-template-columns: 1fr 1fr; }.db-hp-steps, .db-hp-reviews { grid-template-columns: 1fr; max-width:560px; margin-inline:auto; }}@media (max-width: 560px) {.db-hp-trust-grid, .db-hp-cards, .db-hp-cats { grid-template-columns: 1fr; }.db-hp-hero { min-height: clamp(440px, 78vh, 560px); }.db-hp-cat { aspect-ratio: 16/10; }.db-hp-cta-row .db-hp-btn { flex:1 1 100%; }}