/* =========================================================================
   DTF Repair — industrial equipment-service design system
   ========================================================================= */
:root{
  --dtf-cta:#ff5a1f; --dtf-cta-dark:#e0480f;
  --dtf-ink:#0b0e11; --dtf-charcoal:#14181c; --dtf-muted:#5b6672;
  --dtf-surface:#f3f5f7; --dtf-surface-2:#e7ebef; --dtf-line:#dfe4e9;
  --dtf-navy:#0b2545;
  --dtf-cyan:#00b4d8; --dtf-magenta:#e5007d; --dtf-yellow:#ffcc00;
  --dtf-radius:10px; --dtf-shadow:0 1px 2px rgba(11,14,17,.06),0 6px 20px rgba(11,14,17,.06);
  --dtf-shadow-lg:0 10px 40px rgba(11,14,17,.14);
}

/* ---- rhythm / typography helpers ------------------------------------- */
.dtf-site{ -webkit-font-smoothing:antialiased; }
.dtf-eyebrow{
  display:inline-flex; align-items:center; gap:.5ch;
  font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--dtf-cta); margin:0 0 .35rem;
}
.dtf-eyebrow::before{ content:""; width:1.6rem; height:2px; background:var(--dtf-cta); display:inline-block; }
.dtf-lead{ font-size:1.15rem; color:var(--dtf-muted); }
.has-cmyk-rule{ height:5px; border:0; margin:0;
  background:linear-gradient(90deg,var(--dtf-cyan) 0 25%,var(--dtf-magenta) 25% 50%,var(--dtf-yellow) 50% 75%,var(--dtf-ink) 75% 100%); }

/* section paddings on full-width groups */
.dtf-section{ padding-top:clamp(3rem,6vw,5.5rem); padding-bottom:clamp(3rem,6vw,5.5rem); }
.dtf-section.is-tight{ padding-top:clamp(2rem,4vw,3rem); padding-bottom:clamp(2rem,4vw,3rem); }
.dtf-section--surface{ background:var(--dtf-surface); }
.dtf-section--ink{ background:var(--dtf-ink); color:#e8edf2; }
.dtf-section--ink :where(h1,h2,h3,h4){ color:#fff; }
.dtf-section--navy{ background:var(--dtf-navy); color:#dbe6f2; }
.dtf-section--navy :where(h1,h2,h3,h4){ color:#fff; }

/* ---- buttons --------------------------------------------------------- */
.dtf-site .wp-block-button__link{ border-radius:8px; font-weight:800; letter-spacing:.01em;
  padding:.95em 1.6em; transition:transform .08s ease, background-color .15s ease, box-shadow .15s ease; }
.dtf-site .wp-block-button__link:hover{ transform:translateY(-1px); }
.dtf-site .is-style-fill .wp-block-button__link,
.dtf-site .wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--dtf-cta); color:#fff; box-shadow:0 6px 18px rgba(255,90,31,.28); }
.dtf-site .is-style-fill .wp-block-button__link:hover,
.dtf-site .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{ background:var(--dtf-cta-dark); }
.dtf-site .is-style-outline .wp-block-button__link{
  background:transparent; color:inherit; border:2px solid currentColor; box-shadow:none; }
.dtf-btn-ghost .wp-block-button__link{ background:#fff!important; color:var(--dtf-ink)!important; border:2px solid var(--dtf-line)!important; box-shadow:none!important; }
.dtf-btn-ghost .wp-block-button__link:hover{ border-color:var(--dtf-cta)!important; color:var(--dtf-cta)!important; }

/* =========================================================================
   1. HERO
   ========================================================================= */
.dtf-hero.wp-block-cover{ color:#fff; align-items:center; position:relative; }
.dtf-hero .wp-block-cover__image-background{ z-index:0; filter:grayscale(.12) contrast(1.05); }
/* self-controlled left-dark gradient scrim: sits above image, below content */
/* image stays fully visible — no overlay; text sits on its own translucent panel */
.dtf-hero .wp-block-cover__inner-container{ position:relative; z-index:2; width:100%; }
.dtf-hero .wp-block-buttons{ justify-content:center; }
.dtf-hero__inner{ max-width:760px; margin-inline:auto; text-align:center;
  background:rgba(8,11,14,.55); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border:1px solid rgba(255,255,255,.10); border-radius:16px;
  padding:clamp(1.6rem,3vw,2.6rem) clamp(1.4rem,3vw,2.6rem); }
.dtf-hero .dtf-hero__sub{ margin-inline:auto; }
.dtf-hero__chips{ justify-content:center; }
.dtf-hero__strip{ justify-content:center; }
.dtf-hero h1{ color:#fff; font-size:clamp(2.3rem,5.6vw,4.1rem); line-height:1.02; letter-spacing:-.02em; margin:.2rem 0 .4rem; }
.dtf-hero .dtf-hero__sub{ font-size:1.2rem; color:#c8d2dc; max-width:44ch; }
.dtf-hero__loc{ display:inline-block; background:rgba(255,90,31,.16); border:1px solid rgba(255,90,31,.5);
  color:#ffd0bd; font-weight:700; font-size:.85rem; letter-spacing:.03em; padding:.35rem .8rem; border-radius:100px; }
.dtf-hero__chips{ display:flex; flex-wrap:wrap; gap:.5rem .6rem; margin:1.1rem 0 0; padding:0; list-style:none; }
.dtf-hero__chips li{ font-size:.86rem; font-weight:600; color:#dbe3ea;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); padding:.3rem .7rem; border-radius:6px; }
.dtf-hero__strip{ display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin-top:1.4rem;
  font-weight:700; font-size:.9rem; color:#fff; }
.dtf-hero__strip span{ display:inline-flex; align-items:center; gap:.45ch; }
.dtf-hero__strip span::before{ content:"✔"; color:var(--dtf-cta); font-weight:900; }

/* =========================================================================
   Generic grids / cards
   ========================================================================= */
.dtf-grid{ display:grid; gap:1rem; }
.dtf-grid--2{ grid-template-columns:repeat(2,1fr); }
.dtf-grid--3{ grid-template-columns:repeat(3,1fr); }
.dtf-grid--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .dtf-grid--4{ grid-template-columns:repeat(2,1fr);} .dtf-grid--3{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .dtf-grid--2,.dtf-grid--3,.dtf-grid--4{ grid-template-columns:1fr; } }

/* diagnostic clickable boxes */
.dtf-diag{ position:relative; display:block; background:#fff; border:1px solid var(--dtf-line);
  border-radius:var(--dtf-radius); padding:0; overflow:hidden; text-decoration:none; color:inherit;
  box-shadow:var(--dtf-shadow); transition:border-color .15s, box-shadow .15s, transform .1s; }
.dtf-diag__img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.dtf-diag__body{ display:block; position:relative; padding:1.05rem 1.15rem 1.15rem; }
.dtf-diag__body::before{ content:""; position:absolute; left:0; top:0; height:100%; width:4px;
  background:var(--dtf-cta); opacity:0; transition:opacity .15s; }
.dtf-diag:hover{ border-color:#cfd6dd; box-shadow:var(--dtf-shadow-lg); transform:translateY(-2px); }
.dtf-diag:hover .dtf-diag__body::before{ opacity:1; }
.dtf-diag:hover .dtf-diag__img{ filter:brightness(1.03); }
.dtf-diag__t{ font-weight:800; color:var(--dtf-ink); font-size:1.06rem; margin:0 0 .25rem; display:flex; align-items:center; gap:.5ch; }
.dtf-diag__t .dtf-dot{ width:.6rem; height:.6rem; border-radius:2px; display:inline-block; }
.dtf-diag__d{ color:var(--dtf-muted); font-size:.95rem; margin:0; }
.dtf-diag__go{ margin-top:.7rem; font-weight:800; font-size:.85rem; color:var(--dtf-cta); letter-spacing:.02em; }
.dtf-diag__go::after{ content:" →"; }

/* service cards */
.dtf-card{ background:#fff; border:1px solid var(--dtf-line); border-radius:var(--dtf-radius);
  padding:0; overflow:hidden; box-shadow:var(--dtf-shadow); }
.dtf-card__img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.dtf-card__body{ padding:1.5rem; }
.dtf-card h3{ font-size:1.2rem; margin:.1rem 0 .5rem; }
.dtf-card__cap{ display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dtf-cta); margin-bottom:.6rem; }
.dtf-card ul{ margin:.4rem 0 0; padding:0; list-style:none; }
.dtf-card li{ position:relative; padding-left:1.15rem; color:#33404c; font-size:.95rem; margin:.28rem 0; }
.dtf-card li::before{ content:""; position:absolute; left:0; top:.55em; width:.42rem; height:.42rem; border-radius:1px; background:var(--dtf-cta); }

/* option cards (remote/onsite/preventive) */
.dtf-opt{ position:relative; background:#fff; border:1px solid var(--dtf-line); border-radius:14px; padding:0;
  overflow:hidden; box-shadow:var(--dtf-shadow); display:flex; flex-direction:column; }
.dtf-opt--feature{ border-color:var(--dtf-cta); box-shadow:0 12px 40px rgba(255,90,31,.16); }
.dtf-opt__img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.dtf-opt__body{ padding:1.6rem; display:flex; flex-direction:column; flex:1 1 auto; }
.dtf-opt__tag{ position:absolute; top:.8rem; left:.8rem; z-index:2; font-size:.7rem; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; background:var(--dtf-cta); color:#fff; padding:.3rem .7rem; border-radius:100px;
  box-shadow:0 4px 12px rgba(255,90,31,.4); }
.dtf-opt h3{ font-size:1.35rem; margin:0 0 .5rem; }
.dtf-opt ul{ margin:.3rem 0 1.2rem; padding:0; list-style:none; }
.dtf-opt li{ position:relative; padding-left:1.5rem; margin:.35rem 0; color:#33404c; }
.dtf-opt li::before{ content:"✔"; position:absolute; left:0; color:var(--dtf-cta); font-weight:900; }
.dtf-opt .dtf-opt__cta{ margin-top:auto; }

/* brand chips */
.dtf-brands{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.dtf-brand{ background:#fff; border:1px solid var(--dtf-line); border-radius:8px; padding:.85rem 1.15rem;
  font-weight:800; color:var(--dtf-charcoal); box-shadow:var(--dtf-shadow); letter-spacing:.01em; }
.dtf-brand small{ display:block; font-weight:600; font-size:.72rem; color:var(--dtf-muted); letter-spacing:.02em; }

/* photo/text conversion */
.dtf-photocta{ background:var(--dtf-ink); color:#e8edf2; border-radius:16px; overflow:hidden;
  display:grid; grid-template-columns:1.15fr .85fr; align-items:stretch; }
.dtf-photocta__img{ position:relative; min-height:280px; }
.dtf-photocta__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dtf-photocta__body{ padding:clamp(1.6rem,3vw,2.8rem); }
.dtf-photocta ol{ counter-reset:s; list-style:none; margin:1rem 0 1.4rem; padding:0; }
.dtf-photocta ol li{ counter-increment:s; position:relative; padding-left:2.2rem; margin:.55rem 0; color:#c3ccd5; }
.dtf-photocta ol li::before{ content:counter(s); position:absolute; left:0; top:-.1rem;
  width:1.55rem; height:1.55rem; border-radius:50%; background:var(--dtf-cta); color:#fff; font-weight:800;
  font-size:.85rem; display:grid; place-items:center; }
@media (max-width:820px){ .dtf-photocta{ grid-template-columns:1fr; } .dtf-photocta__img{ min-height:220px; } }

/* downtime trio */
.dtf-value{ text-align:left; }
.dtf-value h3{ font-size:1.15rem; margin:.2rem 0 .35rem; }
.dtf-value__n{ font-family:var(--wp--preset--font-family--heading); font-weight:900; font-size:2rem; color:var(--dtf-cta); line-height:1; }

/* repair cases */
.dtf-case{ background:#fff; border:1px solid var(--dtf-line); border-left:4px solid var(--dtf-cta);
  border-radius:10px; padding:1.35rem 1.4rem; box-shadow:var(--dtf-shadow); }
.dtf-case h3{ font-size:1.1rem; margin:0 0 .6rem; }
.dtf-case dl{ margin:0; }
.dtf-case dt{ font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--dtf-muted); margin-top:.55rem; }
.dtf-case dd{ margin:.1rem 0 0; color:#2a343e; }
.dtf-case .dtf-result{ margin-top:.85rem; display:inline-block; font-weight:800; color:#12813e;
  background:#e7f6ec; border-radius:6px; padding:.3rem .7rem; font-size:.9rem; }
.dtf-noz{ display:flex; align-items:center; gap:.6rem; margin-top:.9rem; font-weight:800; font-size:.82rem; color:var(--dtf-muted); }
.dtf-noz b{ color:var(--dtf-ink); }
.dtf-noz .a{ color:#b23b2e; } .dtf-noz .b{ color:#12813e; } .dtf-noz span.arrow{ color:var(--dtf-cta); }

/* why-us checklist */
.dtf-check{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.6rem 1.5rem; }
@media (max-width:640px){ .dtf-check{ grid-template-columns:1fr; } }
.dtf-check li{ position:relative; padding-left:1.9rem; font-weight:600; color:#e8edf2; }
.dtf-check li::before{ content:"✔"; position:absolute; left:0; top:0; width:1.35rem; height:1.35rem; border-radius:6px;
  background:var(--dtf-cta); color:#fff; font-weight:900; font-size:.8rem; display:grid; place-items:center; }
.dtf-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.6rem; }
@media (max-width:640px){ .dtf-stats{ grid-template-columns:1fr; } }
.dtf-stat{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:1.2rem; }
.dtf-stat b{ display:block; font-family:var(--wp--preset--font-family--heading); font-size:1.9rem; color:var(--dtf-cta); line-height:1.05; }
.dtf-stat span{ color:#b9c4cf; font-weight:600; font-size:.92rem; }

/* areas served */
.dtf-areas{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
@media (max-width:820px){ .dtf-areas{ grid-template-columns:1fr; } }
.dtf-areacol h3{ font-size:1.05rem; margin:0 0 .5rem; padding-bottom:.4rem; border-bottom:2px solid var(--dtf-cta); display:inline-block; }
.dtf-areacol ul{ list-style:none; margin:.2rem 0 0; padding:0; columns:2; column-gap:1.2rem; }
.dtf-areacol li{ color:#33404c; margin:.2rem 0; font-size:.95rem; }

/* maintenance plans */
.dtf-plan{ background:#fff; border:1px solid var(--dtf-line); border-radius:14px; padding:1.6rem;
  box-shadow:var(--dtf-shadow); display:flex; flex-direction:column; }
.dtf-plan--feature{ border:2px solid var(--dtf-cta); }
.dtf-plan h3{ font-size:1.25rem; margin:0 0 .2rem; }
.dtf-plan .dtf-plan__sub{ color:var(--dtf-muted); margin:0 0 1rem; }
.dtf-plan ul{ list-style:none; margin:0 0 1.3rem; padding:0; }
.dtf-plan li{ position:relative; padding-left:1.4rem; margin:.35rem 0; color:#33404c; }
.dtf-plan li::before{ content:"✔"; position:absolute; left:0; color:var(--dtf-cta); font-weight:900; }
.dtf-plan .dtf-plan__cta{ margin-top:auto; }

/* reviews */
.dtf-review{ background:#fff; border:1px solid var(--dtf-line); border-radius:12px; padding:1.4rem; box-shadow:var(--dtf-shadow); }
.dtf-review .dtf-stars{ color:var(--dtf-yellow); letter-spacing:.1em; font-size:1.05rem; }
.dtf-review p{ color:#2a343e; margin:.5rem 0 .8rem; }
.dtf-review cite{ font-style:normal; font-weight:800; color:var(--dtf-ink); font-size:.92rem; }
.dtf-review cite small{ display:block; font-weight:600; color:var(--dtf-muted); }

/* FAQ */
.dtf-faq{ max-width:820px; margin-inline:auto; }
.dtf-faq details{ background:#fff; border:1px solid var(--dtf-line); border-radius:10px; margin:.6rem 0; box-shadow:var(--dtf-shadow); }
.dtf-faq summary{ cursor:pointer; list-style:none; padding:1.05rem 1.2rem; font-weight:700; color:var(--dtf-ink);
  display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.dtf-faq summary::-webkit-details-marker{ display:none; }
.dtf-faq summary::after{ content:"+"; color:var(--dtf-cta); font-weight:900; font-size:1.3rem; line-height:1; }
.dtf-faq details[open] summary::after{ content:"–"; }
.dtf-faq details > div{ padding:0 1.2rem 1.15rem; color:#33404c; }

/* final CTA */
.dtf-final{ text-align:center; }
.dtf-final h2{ font-size:clamp(2rem,4.5vw,3rem); }
.dtf-final .dtf-note{ color:#9aa7b3; font-size:.92rem; margin-top:1rem; }

/* section intro helper */
.dtf-ihead{ text-align:center; max-width:720px; margin-inline:auto; }
.dtf-ihead .dtf-eyebrow{ justify-content:center; }

/* =========================================================================
   Header nav CTA + sticky mobile bar
   ========================================================================= */
/* header band */
.dtf-header{ background:#fff; border-bottom:1px solid var(--dtf-line); padding-top:.6rem; padding-bottom:.6rem; }
.dtf-header .wp-block-site-logo img{ width:64px; height:auto; }
.dtf-header .wp-block-navigation{ font-weight:700; font-size:.95rem; }
.dtf-header .wp-block-navigation a{ color:var(--dtf-charcoal); }
.dtf-header .wp-block-navigation a:hover{ color:var(--dtf-cta); }
.dtf-site .wp-block-navigation .dtf-nav-cta{ }
.dtf-site .wp-block-navigation .dtf-nav-cta a{
  background:var(--dtf-cta); color:#fff!important; border-radius:8px; padding:.5em 1.1em; font-weight:800;
  box-shadow:0 6px 16px rgba(255,90,31,.28); }
.dtf-site .wp-block-navigation .dtf-nav-cta a:hover{ background:var(--dtf-cta-dark); }

.dtf-mobilebar{ position:fixed; left:0; right:0; bottom:0; z-index:9999; display:none;
  grid-template-columns:1fr 1fr 1.4fr; background:var(--dtf-ink); box-shadow:0 -6px 24px rgba(0,0,0,.28); }
.dtf-mb{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  padding:.55rem .3rem calc(.55rem + env(safe-area-inset-bottom,0)); color:#fff; text-decoration:none;
  font-weight:800; font-size:.8rem; border-right:1px solid rgba(255,255,255,.1); }
.dtf-mb__i{ font-size:1.05rem; line-height:1; }
.dtf-mb--repair{ background:var(--dtf-cta); }
.dtf-mb--text{ color:#fff; }
@media (max-width:781px){
  .dtf-mobilebar{ display:grid; }
  .dtf-site .wp-site-blocks{ padding-bottom:64px; }
}

/* ---- repair request form -------------------------------------------- */
.dtf-form{ max-width:720px; margin:1.4rem auto 0; background:#fff; border:1px solid var(--dtf-line);
  border-radius:14px; padding:clamp(1.3rem,3vw,2rem); box-shadow:var(--dtf-shadow); }
.dtf-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:600px){ .dtf-form__row{ grid-template-columns:1fr; } }
.dtf-form label{ display:block; font-weight:700; color:var(--dtf-ink); font-size:.9rem; margin-top:.9rem; }
.dtf-form label span{ color:var(--dtf-cta); margin-left:.15rem; }
.dtf-form small{ display:block; font-weight:500; color:var(--dtf-muted); margin-top:.3rem; }
.dtf-form input,.dtf-form select,.dtf-form textarea{ width:100%; margin-top:.35rem; padding:.7rem .8rem;
  border:1px solid var(--dtf-line); border-radius:8px; font:inherit; font-weight:500; color:var(--dtf-ink);
  background:#fff; box-sizing:border-box; }
.dtf-form input:focus,.dtf-form select:focus,.dtf-form textarea:focus{ outline:none; border-color:var(--dtf-cta);
  box-shadow:0 0 0 3px rgba(255,90,31,.15); }
.dtf-form__full{ display:block; }
.dtf-form__submit{ margin-top:1.3rem; width:100%; background:var(--dtf-cta); color:#fff; border:0;
  border-radius:8px; padding:1rem; font-weight:800; font-size:1.05rem; cursor:pointer;
  box-shadow:0 8px 20px rgba(255,90,31,.28); transition:background .15s, transform .08s; }
.dtf-form__submit:hover{ background:var(--dtf-cta-dark); transform:translateY(-1px); }
.dtf-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dtf-formnote{ max-width:720px; margin:1rem auto 0; padding:1rem 1.2rem; border-radius:10px; font-weight:600; }
.dtf-formnote--ok{ background:#e7f6ec; border:1px solid #b7e2c5; color:#12813e; }
.dtf-formnote--err{ background:#fdecea; border:1px solid #f5c6c2; color:#b23b2e; }
.dtf-formnote a{ color:inherit; text-decoration:underline; }

/* per-issue writeup above the form */
.dtf-writeup{ max-width:720px; margin:0 auto 1.2rem; background:#fff; border:1px solid var(--dtf-line);
  border-left:4px solid var(--dtf-cta); border-radius:12px; padding:1.3rem 1.5rem; box-shadow:var(--dtf-shadow); }
.dtf-writeup__tag{ display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dtf-cta); margin-bottom:.4rem; }
.dtf-writeup h2{ font-size:1.3rem; margin:0 0 .4rem; }
.dtf-writeup p{ color:#33404c; margin:.4rem 0; }
.dtf-writeup__lead{ font-weight:700; color:var(--dtf-ink)!important; margin-top:.8rem!important; }
.dtf-writeup ul{ margin:.3rem 0 .2rem; padding:0; list-style:none; }
.dtf-writeup li{ position:relative; padding-left:1.4rem; margin:.28rem 0; color:#33404c; }
.dtf-writeup li::before{ content:""; position:absolute; left:0; top:.55em; width:.42rem; height:.42rem; border-radius:1px; background:var(--dtf-cta); }
.dtf-writeup__guide{ display:inline-flex; align-items:center; gap:.5ch; margin-top:.9rem; font-weight:800; font-size:.92rem;
  color:var(--dtf-cta); background:rgba(255,90,31,.08); border:1px solid rgba(255,90,31,.3); border-radius:8px; padding:.55rem .9rem; text-decoration:none; }
.dtf-writeup__guide:hover{ background:rgba(255,90,31,.14); }
.dtf-writeup__note{ font-size:.92rem; color:var(--dtf-muted)!important; border-top:1px solid var(--dtf-line); padding-top:.7rem; margin-top:.9rem!important; }

/* contact two-column */
.dtf-contact{ display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:start; }
@media (max-width:860px){ .dtf-contact{ grid-template-columns:1fr; } }
.dtf-contact__aside{ background:var(--dtf-ink); color:#dbe3ea; border-radius:14px; padding:1.6rem; }
.dtf-contact__aside h3{ color:#fff; font-size:1.15rem; margin:.2rem 0 .6rem; }
.dtf-contact__aside a.dtf-bigline{ display:block; font-family:var(--wp--preset--font-family--heading); font-weight:900;
  font-size:1.7rem; color:#fff; margin:.2rem 0 .1rem; }
.dtf-contact__aside ul{ list-style:none; margin:1rem 0 0; padding:0; }
.dtf-contact__aside li{ position:relative; padding-left:1.4rem; margin:.4rem 0; color:#b9c4cf; }
.dtf-contact__aside li::before{ content:"✔"; position:absolute; left:0; color:var(--dtf-cta); font-weight:900; }

/* prose pages */
.dtf-prose h2{ font-size:1.7rem; margin:2rem 0 .6rem; }
.dtf-prose h3{ font-size:1.2rem; margin:1.4rem 0 .4rem; }
.dtf-prose p,.dtf-prose li{ color:#33404c; }
.dtf-prose li{ margin:.35rem 0; }

/* guide index cards (link cards) */
.dtf-gcard{ display:block; text-decoration:none; color:inherit;
  transition:border-color .15s, box-shadow .15s, transform .1s; }
.dtf-gcard:hover{ border-color:#cfd6dd; box-shadow:var(--dtf-shadow-lg); transform:translateY(-2px); }
.dtf-gcat{ font-size:1.3rem; margin:0; padding-bottom:.5rem; border-bottom:2px solid var(--dtf-cta);
  display:inline-block; color:var(--dtf-ink); }
.dtf-gcard__x{ color:var(--dtf-muted); font-size:.95rem; margin:.3rem 0 .2rem; }
.dtf-gcard .dtf-diag__go{ display:inline-block; margin-top:.4rem; }

/* guide article banner + CTA */
.dtf-guidebanner{ margin:0!important; }
.dtf-guidebanner img{ display:block; width:100%; max-height:420px; object-fit:cover; }
.dtf-guidecta{ margin-top:2rem; background:var(--dtf-ink); color:#e8edf2; border-radius:14px;
  padding:1.5rem 1.6rem; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; }
.dtf-guidecta strong{ color:#fff; }
.dtf-guidecta > div{ flex:1 1 320px; }
.dtf-guidecta a{ background:var(--dtf-cta); color:#fff; border-radius:8px; padding:.85em 1.4em; font-weight:800;
  white-space:nowrap; box-shadow:0 6px 16px rgba(255,90,31,.3); }
.dtf-guidecta a:hover{ background:var(--dtf-cta-dark); }

/* page header band */
.dtf-pagehead{ background:var(--dtf-ink); color:#fff; }
.dtf-pagehead h1{ color:#fff; font-size:clamp(2rem,4.5vw,3rem); margin:.2rem 0 .4rem; }
.dtf-pagehead p{ color:#c3ccd5; max-width:60ch; }

/* =========================================================================
   Small-phone tuning (<=480px): compact the hero + shorter card images
   ========================================================================= */
@media (max-width:480px){
  .dtf-hero__inner{ padding:1.2rem 1rem; }
  .dtf-hero h1{ font-size:1.75rem; line-height:1.12; }
  .dtf-hero .dtf-hero__sub{ font-size:1rem; }
  .dtf-hero__loc{ font-size:.72rem; padding:.3rem .6rem; }
  .dtf-hero__chips{ gap:.3rem .4rem; margin-top:.9rem; }
  .dtf-hero__chips li{ font-size:.72rem; padding:.2rem .5rem; }
  .dtf-hero__strip{ gap:.25rem .9rem; margin-top:1rem; font-size:.82rem; }
  /* shorter, less dominant card imagery on a single column */
  .dtf-diag__img{ aspect-ratio:16/9; }
  .dtf-card__img,.dtf-opt__img{ aspect-ratio:2/1; }
  .dtf-card__body,.dtf-opt__body{ padding:1.2rem; }
  .dtf-diag__body{ padding:1rem 1.05rem 1.05rem; }
  .dtf-diag__t{ font-size:1rem; }
  .dtf-section h2{ font-size:1.55rem; }
}
@media (max-width:360px){
  .dtf-hero h1{ font-size:1.55rem; }
  .dtf-hero .dtf-hero__sub{ font-size:.95rem; }
}

/* small helpers */
.dtf-center{ text-align:center; }
.dtf-mt{ margin-top:1.6rem; }
.dtf-maxw{ max-width:760px; }
.dtf-imground{ border-radius:14px; overflow:hidden; box-shadow:var(--dtf-shadow-lg); }
.dtf-imground img{ display:block; width:100%; height:auto; }
