/* Daily Composure homepage ("two voices"). Every rule is scoped to .dch so nothing leaks into the rest of the site.
   Brand palette carried over from the previous dcx-home.css. */

body:has(.dch){ overflow-x:clip; }

.dch{
  --ink:#1D4A5E; --ink-deep:#163A4A; --slate:#3D5C6E; --steel:#5B7D8E; --wave:#4E8EA6; --wave-text:#346A81; --wave-light:#7EB3C8;
  --tint:#EEF6F9; --paper:#FBFDFE; --white:#FFFFFF; --static-bg:#E4ECF0;
  --line:rgba(29,74,94,0.14); --ink-soft:rgba(29,74,94,0.78);
  --on-dark:#F3F8FA; --on-dark-soft:rgba(243,248,250,0.78); --dark-line:rgba(255,255,255,0.22); --dark-fill:rgba(255,255,255,0.07);
  font-family:'Inter',system-ui,sans-serif; color:var(--ink); background:var(--paper);
  line-height:1.6; -webkit-font-smoothing:antialiased;
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:0;
}
.dch *, .dch *::before, .dch *::after{ box-sizing:border-box; }
.dch :where(h1,h2,h3,p,figure,ol){ margin:0; padding:0; }
.dch :where(h1,h2,h3){ font-family:'Montserrat',system-ui,sans-serif; letter-spacing:-0.01em; }
.dch a{ color:inherit; }
.dch button{ font-family:inherit; cursor:pointer; }
.dch :focus-visible{ outline:3px solid var(--wave-light); outline-offset:2px; }

.dch-wrap{ max-width:1160px; margin:0 auto; padding:0 24px; }
.dch-sec{ padding:88px 0; }
.dch-tint{ background:var(--tint); }

.dch-label{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--wave-text); margin-bottom:10px; }
.dch-label-light{ color:var(--wave-light); }
.dch-h2{ font-size:clamp(30px,3.8vw,46px); font-weight:800; line-height:1.08; color:var(--ink); margin-bottom:14px; }
.dch-h3{ font-size:22px; font-weight:700; margin-top:14px; }
.dch-body{ font-size:18px; color:var(--ink-soft); max-width:56ch; margin-top:6px; }
.dch-small{ font-size:14px; color:var(--slate); margin-top:12px; }
.dch-step{ font-size:15px; font-weight:700; color:var(--wave-light); margin-top:6px; }
.dch-step-dark{ color:var(--ink); }
.dch-step-muted{ color:var(--slate); text-transform:uppercase; letter-spacing:.06em; font-size:13px; }
.dch-right{ text-align:right; }

/* buttons */
.dch-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:18px; }
.dch-btn{ display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 22px; border-radius:999px; font-weight:700; font-size:16px; text-decoration:none; border:1.5px solid transparent; line-height:1.2; }
.dch-btn-primary{ background:var(--ink); color:var(--white) !important; }
.dch-btn-primary:hover{ background:var(--slate); }
.dch-btn-ghost{ background:transparent; color:var(--ink); border-color:var(--ink); font-weight:500; }
.dch-btn-ghost:hover{ background:var(--white); }
.dch-textlink{ font-weight:700; color:var(--wave-text) !important; min-height:48px; display:inline-flex; align-items:center; }
.dch-linkbtn{ background:none; border:0; padding:6px 0; color:var(--wave-light); text-decoration:underline; font-size:14px; align-self:flex-start; }

/* ---------- hero ---------- */
.dch-hero{ position:relative; overflow:hidden; background:var(--ink-deep); color:var(--on-dark); padding:72px 0 96px; }
.dch-grain{ position:absolute; inset:0; pointer-events:none; opacity:1; transition:opacity 1.4s ease;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.07) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px); }
.dch.is-settled .dch-grain{ opacity:0; }
.dch-hero-grid{ position:relative; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap:48px; align-items:start; }
.dch-hero-copy{ display:flex; flex-direction:column; gap:18px; }
.dch-eyebrow{ font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--wave-light); }
.dch-h1{ font-size:clamp(40px,5.4vw,64px); font-weight:800; line-height:1.03; letter-spacing:-0.02em; color:var(--white); }
.dch-lede{ font-size:19px; color:var(--on-dark-soft); max-width:56ch; }
.dch-define{ font-size:16px; color:var(--on-dark); border-left:3px solid var(--wave-light); padding-left:14px; max-width:56ch; }

.dch-voices{ display:flex; flex-wrap:wrap; gap:8px; }
.dch-voice{ min-height:44px; padding:10px 14px; border-radius:999px; font-size:15px; font-weight:500; color:var(--on-dark); background:var(--dark-fill); border:1.5px solid var(--dark-line); }
.dch-voice:hover{ border-color:var(--wave-light); }
.dch-voice[aria-pressed="true"]{ background:var(--wave-light); color:var(--ink-deep); border-color:var(--wave-light); font-weight:700; }

.dch-find{ display:flex; flex-direction:column; gap:8px; margin-top:8px; max-width:560px; }
.dch-find label{ font-size:15px; font-weight:500; }
.dch-find-row{ display:flex; flex-wrap:wrap; gap:8px; }
.dch-find-row input{ flex:1 1 260px; min-width:0; min-height:48px; padding:0 16px; border-radius:12px; font:inherit; font-size:16px; }
.dch-find input{ border:1.5px solid var(--dark-line); background:var(--dark-fill); color:var(--on-dark); }
.dch-find input::placeholder{ color:rgba(243,248,250,.55); }
.dch-find-row button{ min-height:48px; padding:0 20px; border-radius:12px; font-weight:700; font-size:16px; border:1.5px solid var(--wave-light); background:transparent; color:var(--wave-light); }
.dch-find-msg{ font-size:14px; color:var(--wave-light); min-height:0; }
.dch-find-msg.is-error{ color:#FFC2B8; }
.dch-results{ display:flex; flex-direction:column; gap:8px; }
.dch-result{ text-align:left; min-height:48px; padding:12px 14px; border-radius:12px; background:var(--dark-fill); color:var(--on-dark); border:1.5px solid var(--dark-line); display:flex; flex-direction:column; gap:2px; }
.dch-result:hover{ border-color:var(--wave-light); }
.dch-result strong{ font-size:16px; }
.dch-result span{ font-size:13px; color:var(--on-dark-soft); }
.dch-noscript a{ color:var(--wave-light); }

.dch-panel{ background:var(--paper); color:var(--ink); border-radius:24px; padding:28px; display:flex; flex-direction:column; gap:14px; }
.dch-thoughts{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
.dch-thought{ text-align:left; min-height:44px; padding:10px 12px; border-radius:12px; font-size:14px; line-height:1.35; font-weight:500; color:var(--ink); background:var(--white); border:1.5px solid #C5D3DA; }
.dch-thought:hover{ border-color:var(--wave); }
.dch-thought[aria-pressed="true"]{ background:var(--ink); color:var(--white); border-color:var(--ink); font-weight:700; }
.dch-loading{ grid-column:1 / -1; font-size:14px; color:var(--slate); }
.dch-rule{ border:0; height:1px; background:var(--line); margin:4px 0; }

.dch-row{ display:flex; gap:10px; align-items:flex-end; margin-top:8px; }
.dch-row-end{ justify-content:flex-end; }
.dch-av{ width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dch-av-static{ background:var(--static-bg); color:var(--slate); }
.dch-av-coach{ background:var(--wave-light); color:var(--ink-deep); font-family:'Montserrat',sans-serif; font-weight:800; font-size:13px; }
.dch-av-sm{ width:24px; height:24px; font-size:10px; margin-right:8px; }
.dch-av-xs{ width:26px; height:26px; font-size:11px; }
.dch-bubble{ max-width:85%; font-size:18px; line-height:1.5; padding:14px 18px; }
.dch-bubble-static{ background:var(--static-bg); color:var(--slate); font-style:italic; border-radius:18px 18px 18px 4px; }
.dch-bubble-coach{ background:var(--ink); color:var(--white); border-radius:18px 18px 4px 18px; }
.dch-bubble-static.is-jitter{ animation:dch-jitter .35s linear 2; }
.dch-bubble-coach.is-in{ animation:dch-in .5s ease .45s both; }
@keyframes dch-jitter{ 0%,100%{transform:translateX(0)} 20%{transform:translateX(-3px)} 40%{transform:translateX(2px)} 60%{transform:translateX(-2px)} 80%{transform:translateX(3px)} }
@keyframes dch-in{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none} }

/* ---------- share card ---------- */
.dch-split{ display:flex; flex-wrap:wrap; gap:48px; align-items:center; justify-content:space-between; }
.dch-split-copy{ flex:1 1 440px; min-width:0; display:flex; flex-direction:column; gap:12px; }
.dch-card{ margin:0 auto; flex:0 0 auto; width:270px; height:480px; border-radius:24px; background:var(--ink-deep); padding:28px 22px; display:flex; flex-direction:column; justify-content:space-between; }
.dch-card-block{ display:flex; flex-direction:column; gap:10px; }
.dch-card-label{ display:flex; align-items:center; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--wave-light); }
.dch-card-static{ font-size:20px; line-height:1.35; font-style:italic; color:#B9CED8; }
.dch-card-coach{ font-family:'Montserrat',sans-serif; font-size:18px; line-height:1.3; font-weight:700; color:var(--white); }
.dch-card-line{ height:1px; background:rgba(255,255,255,.18); }
.dch-card-foot{ display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.18); padding-top:14px; }
.dch-card-brand{ font-family:'Montserrat',sans-serif; font-size:14px; font-weight:800; color:var(--on-dark); }
.dch-card-url{ font-size:11px; color:#B9CED8; }

/* ---------- how it works ---------- */
.dch-how{ padding:64px 0 8px; }
.dch-how-list{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap:16px; }
.dch-how-list li{ display:flex; gap:16px; align-items:flex-start; }
.dch-how-list li > span:last-child{ display:flex; flex-direction:column; gap:4px; font-size:16px; color:var(--ink-soft); }
.dch-how-list strong{ font-size:18px; color:var(--ink); }
.dch-num{ flex:0 0 auto; width:44px; height:44px; border-radius:50%; background:var(--ink); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Montserrat',sans-serif; font-weight:800; }

/* ---------- breathing ---------- */
.dch-pair{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-top:8px; }
.dch-pair > div{ border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.dch-pair span{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.dch-pair strong{ font-size:17px; }
.dch-pair-tip{ background:var(--white); border:1px solid var(--line); }
.dch-pair-tip span{ color:var(--slate); }
.dch-pair-breath{ background:var(--ink); color:var(--white); }
.dch-pair-breath span{ color:var(--wave-light); }
.dch-both{ font-size:18px; font-weight:600; }
.dch-drills{ display:flex; flex-wrap:wrap; gap:10px; }
.dch-drill{ min-height:44px; padding:10px 16px; border-radius:999px; font-size:15px; font-weight:500; background:var(--white); color:var(--ink); border:1.5px solid #C5D3DA; }
.dch-drill[aria-pressed="true"]{ background:var(--ink); color:var(--white); border-color:var(--ink); font-weight:700; }
.dch-timer{ flex:1 1 380px; background:var(--white); border:1px solid var(--line); border-radius:24px; padding:36px 28px; display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center; }
.dch-timer-name{ font-size:15px; color:var(--slate); }
.dch-orb-ring{ width:220px; height:220px; border-radius:50%; background:var(--tint); display:flex; align-items:center; justify-content:center; }
.dch-orb{ width:96px; height:96px; border-radius:50%; background:var(--wave); transition-property:width,height; transition-timing-function:ease-in-out; transition-duration:.4s; }
.dch-orb.is-full{ width:200px; height:200px; }
.dch-phase{ font-family:'Montserrat',sans-serif; font-size:32px; font-weight:800; }
.dch-timer-desc{ font-size:16px; color:var(--ink-soft); max-width:380px; }

/* ---------- library ---------- */
.dch-head-row{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:28px; }
.dch-tips{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap:16px; }
.dch-tip{ background:var(--white); border:1px solid var(--line); border-radius:18px; padding:24px; text-decoration:none; display:flex; flex-direction:column; gap:10px; }
.dch-tip:hover{ border-color:var(--wave); }
.dch-tip-voice{ font-size:13px; color:var(--slate); }
.dch-tip-title{ font-family:'Montserrat',sans-serif; font-size:21px; font-weight:700; line-height:1.25; }
.dch-tip-q{ font-size:16px; color:var(--ink-soft); }
.dch-tip-by{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--slate); margin-top:auto; }

/* ---------- field notes ---------- */
.dch-fn{ background:var(--ink); color:var(--white); }
.dch-fn .dch-h2{ color:var(--white); }
.dch-fn .dch-body{ color:var(--on-dark-soft); }
.dch-fn .dch-small, .dch-fn .dch-small a{ color:var(--on-dark-soft); }
.dch-fn-form{ flex:1 1 380px; display:flex; flex-direction:column; gap:10px; }
.dch-fn-form label{ font-size:15px; font-weight:500; }
.dch-fn-form input{ border:0; background:var(--white); color:var(--ink); border-radius:999px !important; }
.dch-fn-form button{ border-radius:999px !important; background:var(--wave-light) !important; color:var(--ink-deep) !important; border-color:var(--wave-light) !important; }
.dch-fn-form.loading button{ opacity:.7; }
.dch-fn-form button{ white-space:nowrap; }
@media (max-width:480px){ .dch-fn-form .dch-find-row button{ flex:1 1 100%; } }
.dch-fn-state{ display:none; font-size:15px; }
.dch-fn-form.success .dch-fn-success{ display:block; color:var(--wave-light); }
.dch-fn-form.error .dch-fn-error{ display:block; color:#FFC2B8; }

/* ---------- coach lynn + sign-off ---------- */
.dch-lynn{ display:flex; flex-wrap:wrap; gap:36px; align-items:center; }
.dch-lynn > div{ flex:1 1 420px; min-width:0; display:flex; flex-direction:column; gap:8px; }
.dch-lynn-mark{ width:180px; height:180px; object-fit:contain; border-radius:50%; background:var(--tint); padding:24px; }
.dch-signoff{ background:var(--ink-deep); padding:40px 0; }
.dch-signoff p{ font-family:'Montserrat',sans-serif; font-size:24px; font-weight:800; color:var(--white); }

@media (max-width: 560px){
  .dch-thoughts{ grid-template-columns:1fr; }
  .dch-sec{ padding:64px 0; }
  .dch-hero{ padding:48px 0 64px; }
  .dch-panel{ padding:20px; }
}
@media (prefers-reduced-motion: reduce){
  .dch *, .dch-grain{ animation:none !important; transition:none !important; }
}

/* ===================== Meet Coach Lynn page (page-meet-coach-lynn.hbs) ===================== */
.dcl-hero{ padding:80px 0 88px; }
.dcl-hero-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:48px; align-items:center; }
.dcl-hero-copy{ display:flex; flex-direction:column; gap:18px; }
.dcl-hero-side{ display:flex; flex-direction:column; align-items:center; gap:24px; }
.dcl-mark{ width:200px; height:200px; object-fit:contain; border-radius:50%; background:rgba(255,255,255,.06); border:1.5px solid var(--dark-line); padding:28px; }
.dcl-stats{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; width:100%; max-width:480px; }
.dcl-stats li{ background:var(--dark-fill); border:1.5px solid var(--dark-line); border-radius:14px; padding:14px 12px; display:flex; flex-direction:column; gap:2px; text-align:center; }
.dcl-stats strong{ font-family:'Montserrat',sans-serif; font-size:18px; font-weight:800; color:var(--white); }
.dcl-stats span{ font-size:13px; color:var(--on-dark-soft); }

.dcl-two{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:48px; align-items:center; }
.dcl-text{ display:flex; flex-direction:column; gap:10px; }
.dcl-after{ margin-top:24px; }

.dcl-timeline{ list-style:none; margin:0; padding:0 0 0 28px; position:relative; display:flex; flex-direction:column; gap:22px; }
.dcl-timeline::before{ content:""; position:absolute; left:8px; top:6px; bottom:6px; width:2px; background:var(--wave-light); }
.dcl-timeline li{ position:relative; display:flex; flex-direction:column; gap:2px; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:14px 16px; }
.dcl-timeline li::before{ content:""; position:absolute; left:-27px; top:18px; width:14px; height:14px; border-radius:50%; background:var(--ink); border:3px solid var(--paper); box-shadow:0 0 0 2px var(--wave-light); }
.dcl-when{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--wave-text); }
.dcl-timeline strong{ font-family:'Montserrat',sans-serif; font-size:18px; font-weight:700; color:var(--ink); }
.dcl-timeline li > span:last-child{ font-size:15px; color:var(--ink-soft); }

.dcl-creds{ list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap:16px; }
.dcl-creds li{ background:var(--white); border:1px solid var(--line); border-top:4px solid var(--wave); border-radius:16px; padding:22px; display:flex; flex-direction:column; gap:6px; }
.dcl-creds strong{ font-family:'Montserrat',sans-serif; font-size:19px; line-height:1.3; font-weight:700; color:var(--ink); }
.dcl-creds span{ font-size:15px; color:var(--slate); }

.dcl-voices{ background:var(--paper); border:1px solid var(--line); border-radius:24px; padding:24px; display:flex; flex-direction:column; gap:6px; }
.dcl-voices .dch-row{ margin-top:4px; }

.dcl-who{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap:16px; margin-top:20px; }
.dcl-who-card{ background:var(--ink); color:var(--white); border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:6px; }
.dcl-who-tag{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--wave-light); }
.dcl-who-card strong{ font-family:'Montserrat',sans-serif; font-size:22px; line-height:1.25; font-weight:700; }

.dcl-close{ background:var(--ink-deep); color:var(--white); padding:88px 0; text-align:center; }
.dcl-close-lead{ font-size:18px; color:var(--on-dark-soft); }
.dcl-close-line{ font-family:'Montserrat',sans-serif; font-size:clamp(36px,5.4vw,64px); font-weight:800; line-height:1.05; color:var(--white); margin-top:12px; }
.dcl-close-actions{ justify-content:center; margin-top:28px; }
.dcl-btn-light{ background:var(--wave-light); color:var(--ink-deep) !important; }
.dcl-btn-light:hover{ background:var(--white); }
.dcl-btn-outline{ background:transparent; color:var(--white) !important; border-color:var(--wave-light); }
.dcl-btn-outline:hover{ background:rgba(255,255,255,.08); }

@media (max-width: 560px){
  .dcl-stats{ grid-template-columns:1fr; }
  .dcl-hero{ padding:56px 0 64px; }
}

/* ===================== Light hero (homepage) — lightest brand blue ===================== */
.dch-hero--light{ background:var(--tint); color:var(--ink); }
.dch-hero--light .dch-grain{ background-image:repeating-linear-gradient(0deg, rgba(29,74,94,.06) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(29,74,94,.03) 0 1px, transparent 1px 4px); }
.dch-hero--light .dch-eyebrow{ color:var(--wave-text); }
.dch-hero--light .dch-h1{ color:var(--ink); }
.dch-hero--light .dch-lede{ color:var(--ink-soft); }
.dch-hero--light .dch-define{ color:var(--ink); border-left-color:var(--wave); }
.dch-hero--light .dch-hero-copy .dch-step{ color:var(--wave-text); }
.dch-hero--light .dch-voice{ background:var(--white); color:var(--ink); border-color:#B9CBD3; }
.dch-hero--light .dch-voice:hover{ border-color:var(--wave); }
.dch-hero--light .dch-voice[aria-pressed="true"]{ background:var(--ink); color:var(--white); border-color:var(--ink); }
.dch-hero--light .dch-find label{ color:var(--ink); }
.dch-hero--light .dch-find input{ background:var(--white); color:var(--ink); border-color:#B9CBD3; }
.dch-hero--light .dch-find input::placeholder{ color:rgba(29,74,94,.5); }
.dch-hero--light .dch-find-row button{ border-color:var(--ink); color:var(--ink); }
.dch-hero--light .dch-find-row button:hover{ background:var(--white); }
.dch-hero--light .dch-find-msg{ color:var(--wave-text); }
.dch-hero--light .dch-find-msg.is-error{ color:#A33A2A; }
.dch-hero--light .dch-result{ background:var(--white); color:var(--ink); border-color:#B9CBD3; }
.dch-hero--light .dch-result:hover{ border-color:var(--wave); }
.dch-hero--light .dch-result span{ color:var(--ink-soft); }
.dch-hero--light .dch-linkbtn, .dch-hero--light .dch-noscript a{ color:var(--wave-text); }
.dch-hero--light .dch-panel{ background:var(--white); border:1px solid var(--line); }

/* ===================== Wave horizon + sky panel (homepage hero) ===================== */
.dch{ --mist:#DCEBF1; --sky:#C9DFE8; }
.dch-hero--light{ padding-bottom:150px; }
.dch-waves{ position:absolute; left:0; right:0; bottom:0; width:100%; height:190px; pointer-events:none; z-index:0; }
.dch-wave-mist{ fill:var(--mist); }
.dch-wave-sky{ fill:var(--sky); }
.dch-wave-paper{ fill:var(--paper); }
.dch-hero--light .dch-hero-grid{ z-index:1; }
.dch-hero--light .dch-panel{ background:var(--mist); border:1px solid var(--sky); border-top:5px solid var(--wave-light); }
.dch-hero--light .dch-bubble-static{ background:var(--white); }
.dch-hero--light .dch-av-static{ background:var(--white); }
.dch-hero--light .dch-rule{ background:var(--sky); }
.dch-hero--light .dch-btn-ghost:hover{ background:var(--white); }
@media (max-width: 560px){
  .dch-waves{ height:110px; }
  .dch-hero--light{ padding-bottom:100px; }
}

/* ===================== v2.5.3 palette: True blue actions + logo cerulean accents ===================== */
.dch{ --action:#2563C9; --action-hover:#1E4FA8; --logo:#038ABC; --mist:#D9EDF5; --sky:#C0E2EE; }
.dch :focus-visible{ outline-color:var(--logo); }
.dch-btn-primary{ background:var(--action); }
.dch-btn-primary:hover{ background:var(--action-hover); }
.dch-btn-ghost:hover, .dch-hero--light .dch-voice:hover, .dch-hero--light .dch-result:hover,
.dch-thought:hover, .dch-tip:hover, .dch-drill:hover{ border-color:var(--logo); }
.dch-hero--light .dch-voice[aria-pressed="true"], .dch-thought[aria-pressed="true"], .dch-drill[aria-pressed="true"]{ background:var(--action); border-color:var(--action); color:var(--white); }
.dch-hero--light .dch-find-row button:hover{ border-color:var(--action); color:var(--action); }
.dch-num, .dch-av-coach{ background:var(--action); color:var(--white); }
.dch-orb{ background:var(--logo); }
.dch-hero--light .dch-define{ border-left-color:var(--logo); }
.dch-hero--light .dch-panel{ border-top-color:var(--logo); }
.dch-fn{ border-top:5px solid var(--logo); }
.dch-fn-form button{ background:var(--action) !important; color:var(--white) !important; border-color:var(--action) !important; }
.dch-fn-form button:hover{ background:var(--action-hover) !important; border-color:var(--action-hover) !important; }
.dch-textlink{ color:var(--action) !important; }

/* ===================== v2.5.6: Sky hero (one step deeper than tint) ===================== */
.dch-hero--light{ background:var(--sky); }
.dch-hero--light .dch-wave-mist{ fill:var(--mist); }
.dch-hero--light .dch-wave-sky{ fill:var(--tint); }
.dch-hero--light .dch-wave-paper{ fill:var(--paper); }
/* Deeper teal for small text so it passes AA on sky (5.5:1) */
.dch-hero--light .dch-eyebrow,
.dch-hero--light .dch-hero-copy .dch-step,
.dch-hero--light .dch-find-msg,
.dch-hero--light .dch-linkbtn, .dch-hero--light .dch-noscript a{ color:#285A70; }
.dch-hero--light .dch-lede{ color:var(--ink); }
.dch-hero--light .dch-voice{ border-color:#A9C6D2; }

/* ===================== v2.5.7: Logo cerulean actions ===================== */
/* Buttons/selected chips: #037CA9 (white text 4.71:1). Text links use the deeper #026E96 so they pass AA on mist (4.73:1). */
.dch{ --action:#037CA9; --action-hover:#026E96; --action-text:#026E96; }
.dch-textlink{ color:var(--action-text) !important; }
.dch-hero--light .dch-find-row button:hover{ border-color:var(--action-text); color:var(--action-text); }

/* ===================== v2.5.11: Pause. Breathe. Choose. ===================== */
.dch-cue{ list-style:none; margin:8px 0 0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; counter-reset:cue; }
.dch-cue li{ counter-increment:cue; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.dch-cue li::before{ content:counter(cue); font-size:13px; font-weight:700; color:var(--white); background:var(--action); width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-bottom:4px; }
.dch-cue strong{ font-family:'Montserrat',system-ui,sans-serif; font-size:20px; font-weight:800; color:var(--ink); }
.dch-cue span{ font-size:15px; color:var(--ink-soft); }
.dch-cue li:nth-child(2){ background:var(--mist); border-color:var(--sky); }
@media (max-width:520px){ .dch-cue{ grid-template-columns:1fr; } .dch-cue li{ flex-direction:row; align-items:center; gap:10px; } .dch-cue li::before{ margin:0; flex:none; } }
.dch-choose{ width:100%; max-width:400px; background:var(--mist); border:1px solid var(--sky); border-top:4px solid var(--logo); border-radius:16px; padding:16px; }
.dch-choose[hidden]{ display:none; }
.dch-choose-h{ font-weight:700; color:var(--ink); margin:0 0 10px; }
.dch-choose-list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px; }
.dch-choose-list li{ background:var(--white); border:1px solid #B9CBD3; color:var(--ink); border-radius:999px; padding:6px 12px; font-size:14px; }
.dch-timer-safe{ font-size:14px; color:var(--slate); max-width:360px; margin:0; }

/* ===================== v2.5.13: Cerulean is the darkest blue ===================== */
/* Windows (coach bubble, share card, Field Notes band, sign-off) = logo cerulean #037CA9.
   Buttons, selected chips, numbers = deeper cerulean #026E96. Text on cerulean stays pure white (4.71:1). */
.dch{ --window:#037CA9; --action:#026E96; --action-hover:#025F82; --action-text:#026E96; }
.dch-bubble-coach, .dch-card, .dch-fn, .dch-signoff{ background:var(--window); color:var(--white); }
.dch-card-label, .dch-card-static, .dch-card-brand, .dch-card-url{ color:var(--white); }
.dch-card-line{ background:rgba(255,255,255,.4); }
.dch-card-foot{ border-top-color:rgba(255,255,255,.4); }
.dch-fn{ border-top-color:var(--action); }
.dch-fn .dch-label, .dch-fn .dch-h2, .dch-fn .dch-body, .dch-fn .dch-small, .dch-fn .dch-small a, .dch-fn-form label{ color:var(--white); }
.dch-fn-form button{ background:var(--white) !important; color:var(--action) !important; border-color:var(--white) !important; }
.dch-fn-form button:hover{ background:var(--tint) !important; border-color:var(--tint) !important; color:var(--action-hover) !important; }
.dch-fn-form.success .dch-fn-success, .dch-fn-form.error .dch-fn-error{ color:var(--white); font-weight:600; }
.dch-fn :focus-visible{ outline-color:var(--white); }
.dch-signoff p{ color:var(--white); }

/* ===================== v2.5.14: Field Notes "what you get" list ===================== */
.dch-fn-list{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; max-width:56ch; }
.dch-fn-list li{ display:flex; flex-direction:column; gap:2px; background:rgba(0,40,60,.12); border:1px solid rgba(255,255,255,.45); border-radius:14px; padding:12px 16px; }
.dch-fn-list strong{ font-family:'Montserrat',system-ui,sans-serif; font-size:17px; font-weight:800; color:var(--white); }
.dch-fn-list span{ font-size:16px; color:var(--white); }

/* ===================== v2.5.15: Light aqua actions with navy text ===================== */
/* Buttons/selected chips lighter than the cerulean windows. Navy on #7DD3EC = 8.2:1. */
.dch{ --action:#7DD3EC; --action-hover:#9ADDF1; --on-action:#0B3768; }
.dch-btn-primary{ color:var(--on-action) !important; border:1.5px solid var(--action); }
.dch-btn-primary:hover{ border-color:var(--action-hover); }
.dch-hero--light .dch-voice[aria-pressed="true"], .dch-thought[aria-pressed="true"], .dch-drill[aria-pressed="true"]{ color:var(--on-action); }
.dch-num, .dch-av-coach, .dch-cue li::before{ color:var(--on-action); }
.dch-fn{ border-top-color:#026E96; }
.dch-fn-form button{ background:var(--action) !important; color:var(--on-action) !important; border-color:var(--action) !important; }
.dch-fn-form button:hover{ background:var(--action-hover) !important; border-color:var(--action-hover) !important; color:var(--on-action) !important; }
/* "Save my card" in the hero panel becomes a small outlined pill */
.dch-hero .dch-textlink{ display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1.5px solid var(--logo); border-radius:999px; color:var(--on-action) !important; text-decoration:none; font-weight:700; }
.dch-hero .dch-textlink:hover{ background:var(--white); }

/* ===================== v2.5.17: Cerulean hero ===================== */
/* Hero background #037CA9; all hero text pure white (4.71:1). */
.dch-hero--light{ background:var(--window); color:var(--white); }
.dch-hero--light .dch-grain{ background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px); }
.dch-hero--light .dch-eyebrow,
.dch-hero--light .dch-h1,
.dch-hero--light .dch-lede,
.dch-hero--light .dch-define,
.dch-hero--light .dch-hero-copy .dch-step,
.dch-hero--light .dch-find label,
.dch-hero--light .dch-find-msg,
.dch-hero--light .dch-find-msg.is-error,
.dch-hero--light .dch-hero-copy .dch-linkbtn,
.dch-hero--light .dch-noscript a{ color:var(--white); }
.dch-hero--light .dch-find-msg.is-error{ font-weight:600; }
.dch-hero--light .dch-define{ border-left-color:var(--action); }
.dch-hero--light .dch-voice{ border-color:var(--white); }
.dch-hero--light .dch-voice:hover{ border-color:var(--action); box-shadow:0 0 0 2px var(--action); }
.dch-hero--light .dch-find input{ border-color:var(--white); }
.dch-hero--light .dch-find-row button{ border-color:var(--white); color:var(--white); background:transparent; }
.dch-hero--light .dch-find-row button:hover{ background:var(--white); border-color:var(--white); color:var(--action-text); }
.dch-hero--light .dch-panel{ border-color:var(--white); border-top-color:var(--action); box-shadow:0 18px 40px rgba(0,40,60,.18); }
.dch-hero--light :focus-visible{ outline-color:var(--white); }
.dch-hero--light .dch-panel :focus-visible{ outline-color:var(--logo); }
/* waves step down from cerulean into the white page */
.dch-hero--light .dch-wave-mist{ fill:#3FA0C8; }
.dch-hero--light .dch-wave-sky{ fill:#A9D7E8; }
.dch-hero--light .dch-wave-paper{ fill:var(--paper); }

/* ===================== v2.5.20: trust line + educational boundary ===================== */
.dch-hero--light .dch-define a{ color:var(--white); text-decoration:underline; text-underline-offset:3px; }
.dch-boundary{ margin-top:28px; max-width:62ch; background:var(--white); border:1px solid var(--line); border-left:5px solid var(--window); border-radius:14px; padding:16px 20px; }
.dch-boundary .dch-boundary-h{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#026E96; margin:0 0 6px; }
.dch-boundary p{ font-size:16px; color:var(--ink); margin:0; }
.dch-boundary a{ color:#026E96; }

/* ===================== v2.5.24: step-by-step hero ===================== */
/* Numbered badges, a 1-2-3 path, and a panel that waits (step 1) until a voice is picked. */
.dch-badge{ display:inline-flex; align-items:center; justify-content:center; flex:none; width:28px; height:28px; border-radius:50%; font-size:14px; font-weight:800; font-family:'Montserrat',system-ui,sans-serif; background:var(--white); color:var(--window); border:2px solid var(--white); }
.dch-step.dch-step-1, .dch-step.dch-step-2, .dch-step.dch-step-3{ display:flex; align-items:center; gap:10px; font-size:17px; margin-top:8px; }
.dch-start{ display:inline; font-weight:800; }

/* the 1-2-3 path under the intro */
.dch-path{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px 6px; align-items:center; }
.dch-path li{ display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--white); padding:6px 12px 6px 6px; border-radius:999px; border:1.5px solid rgba(255,255,255,.55); }
.dch-path li .dch-badge{ width:24px; height:24px; font-size:13px; background:transparent; color:var(--white); border-color:var(--white); }
.dch-path li + li::before{ content:"→"; color:var(--white); margin:0 6px 0 -2px; font-weight:700; order:-1; display:none; }
.dch[data-step="1"] .dch-path li[data-n="1"],
.dch[data-step="2"] .dch-path li[data-n="2"],
.dch[data-step="3"] .dch-path li[data-n="3"]{ background:var(--action); color:var(--on-action); border-color:var(--action); }
.dch[data-step="1"] .dch-path li[data-n="1"] .dch-badge,
.dch[data-step="2"] .dch-path li[data-n="2"] .dch-badge,
.dch[data-step="3"] .dch-path li[data-n="3"] .dch-badge{ background:var(--white); color:var(--on-action); border-color:var(--white); }

/* hero step 1 label: the active start point */
.dch-hero--light .dch-hero-copy .dch-step-1{ color:var(--white); }
.dch-hero--light .dch-hero-copy .dch-step-1 .dch-badge{ background:var(--action); color:var(--on-action); border-color:var(--action); }

/* panel badges */
.dch-panel .dch-badge{ background:var(--window); color:var(--white); border-color:var(--window); }
.dch-chosen{ font-size:14px; color:var(--ink); margin-top:-6px; }
.dch-chosen[hidden]{ display:none; }
.dch-wait{ grid-column:1 / -1; font-size:15px; color:var(--ink); background:var(--white); border:1.5px dashed #9FC3D1; border-radius:12px; padding:14px 16px; }
.dch-wait-3{ display:none; }
.dch[data-step="1"] .dch-wait-3, .dch[data-step="2"] .dch-wait-3{ display:block; }
.dch[data-step="1"] .dch-convo, .dch[data-step="2"] .dch-convo{ display:none; }

/* step 1: the panel waits — quieter than the voice buttons */
.dch[data-step="1"] .dch-hero--light .dch-panel{ background:rgba(0,40,60,.18); border:1.5px dashed rgba(255,255,255,.6); box-shadow:none; }
.dch[data-step="1"] .dch-panel .dch-step-dark{ color:var(--white); }
.dch[data-step="1"] .dch-panel .dch-badge{ background:transparent; color:var(--white); border-color:var(--white); }
.dch[data-step="1"] .dch-panel .dch-wait{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.6); }
.dch[data-step="1"] .dch-panel .dch-rule{ background:rgba(255,255,255,.4); }

/* step 2: the thought list is the focus; step 3 waits */
.dch[data-step="2"] .dch-step-2 .dch-badge{ background:var(--action); color:var(--on-action); border-color:var(--action); }
.dch[data-step="3"] .dch-step-3 .dch-badge{ background:var(--action); color:var(--on-action); border-color:var(--action); }
.dch[data-step="2"] .dch-hero--light .dch-hero-copy .dch-step-1 .dch-badge,
.dch[data-step="3"] .dch-hero--light .dch-hero-copy .dch-step-1 .dch-badge{ background:transparent; color:var(--white); border-color:var(--white); }
.dch[data-step="2"] .dch-start, .dch[data-step="3"] .dch-start{ display:none; }
.dch-panel{ scroll-margin-top:16px; }
.dch-hero-copy .dch-define{ margin-top:8px; }
.dch-step-3{ scroll-margin-top:16px; }

/* ===================== v2.5.25: one question at a time ===================== */
.dch-quiz{ position:relative; z-index:1; max-width:760px; display:flex; flex-direction:column; gap:20px; }
.dch-qhead{ display:flex; flex-direction:column; gap:14px; }
.dch-hero--light .dch-quiz .dch-eyebrow{ color:var(--white); }
.dch-hero--light .dch-quiz .dch-h1{ color:var(--white) !important; font-weight:800; }
.dch-hero--light .dch-quiz .dch-lede{ color:var(--white); max-width:58ch; }
.dch[data-step="2"] .dch-qhead, .dch[data-step="3"] .dch-qhead{ display:none; }

/* progress */
.dch-prog{ display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--white); }
.dch-prog i{ display:block; width:56px; height:6px; border-radius:3px; background:rgba(255,255,255,.35); }
.dch-prog span{ margin-left:8px; }
.dch[data-step="1"] .dch-prog i[data-n="1"],
.dch[data-step="2"] .dch-prog i[data-n="1"], .dch[data-step="2"] .dch-prog i[data-n="2"],
.dch[data-step="3"] .dch-prog i{ background:var(--action); }

.dch-qstep{ display:flex; flex-direction:column; gap:14px; }
.dch-qstep[hidden]{ display:none; }
.dch-q{ font-family:'Montserrat',system-ui,sans-serif; font-weight:800; font-size:clamp(22px,2.6vw,28px); line-height:1.2; color:var(--white) !important; margin:0; outline:none; }
.dch-q:focus-visible{ outline:3px solid var(--action); outline-offset:4px; border-radius:4px; }

/* the options: bright, bold, unmistakably tappable */
.dch-quiz .dch-voices{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap:10px; }
.dch-quiz .dch-thoughts{ display:flex; flex-direction:column; gap:10px; }
.dch-hero--light .dch-quiz .dch-voice,
.dch-quiz .dch-thought{
  display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:58px;
  background:var(--white); color:var(--on-action); border:0; border-left:6px solid var(--action); border-radius:14px;
  padding:14px 16px; font-family:'Inter',system-ui,sans-serif; font-size:17px; font-weight:700; line-height:1.3; text-align:left;
  box-shadow:0 4px 14px rgba(0,40,60,.18); cursor:pointer; transition:transform .12s ease, background .12s ease;
}
.dch-hero--light .dch-quiz .dch-voice::after,
.dch-quiz .dch-thought::after{
  content:"→"; flex:none; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%;
  background:var(--action); color:var(--on-action); font-weight:800; font-size:16px;
}
.dch-hero--light .dch-quiz .dch-voice:hover,
.dch-quiz .dch-thought:hover{ background:var(--action); color:var(--on-action); transform:translateY(-1px); }
.dch-hero--light .dch-quiz .dch-voice:hover::after,
.dch-quiz .dch-thought:hover::after{ background:var(--white); }
.dch-hero--light .dch-quiz .dch-voice:focus-visible,
.dch-quiz .dch-thought:focus-visible{ outline:3px solid var(--white); outline-offset:3px; }
.dch-hero--light .dch-quiz .dch-voice[aria-pressed="true"],
.dch-quiz .dch-thought[aria-pressed="true"]{ background:var(--white); color:var(--on-action); border-color:var(--action); }
.dch-quiz .dch-voice:disabled{ opacity:.6; cursor:not-allowed; }
@media (prefers-reduced-motion: reduce){ .dch-quiz .dch-voice, .dch-quiz .dch-thought{ transition:none; } .dch-quiz .dch-voice:hover, .dch-quiz .dch-thought:hover{ transform:none; } }

/* type-your-own */
.dch-type summary{ cursor:pointer; color:var(--white); font-weight:700; font-size:16px; list-style:none; text-decoration:underline; text-underline-offset:3px; }
.dch-type summary::-webkit-details-marker{ display:none; }
.dch-type[open] summary{ margin-bottom:12px; }
.dch-quiz .dch-loading{ color:var(--white); }

/* back links + chosen voice */
.dch-back{ align-self:flex-start; background:none; border:0; padding:4px 0; color:var(--white); font-size:15px; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.dch-back:focus-visible{ outline:3px solid var(--action); outline-offset:3px; }
.dch-quiz .dch-chosen{ margin:-4px 0 0; font-size:15px; color:var(--white); }
.dch-quiz .dch-chosen b{ display:inline-block; background:rgba(0,40,60,.25); padding:3px 12px; border-radius:999px; }

/* the answer */
.dch-ans{ background:var(--white); color:var(--ink); border-radius:18px; padding:22px; display:flex; flex-direction:column; gap:8px; box-shadow:0 12px 30px rgba(0,40,60,.2); max-width:640px; }
.dch-ans-lbl{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#026E96; margin:0; }
.dch-ans-voice{ font-style:italic; font-size:18px; color:var(--slate); margin:0 0 8px; }
.dch-ans-coach{ font-family:'Montserrat',system-ui,sans-serif; font-weight:700; font-size:clamp(19px,2.2vw,22px); line-height:1.35; color:var(--ink); margin:0; }
.dch-qacts{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.dch-quiz .dch-qbtn{ background:var(--white); color:var(--on-action) !important; border:0; font-weight:700; text-decoration:none; }
.dch-quiz .dch-qbtn:hover{ background:var(--action); }
.dch-quiz .dch-define{ margin-top:6px; }
@media (max-width:560px){
  .dch-prog i{ width:40px; }
  .dch-hero--light .dch-quiz .dch-voice, .dch-quiz .dch-thought{ font-size:16px; }
  .dch-qacts .dch-btn{ flex:1 1 100%; justify-content:center; }
}
.dch-qnote{ font-size:14px; color:var(--white); margin:0; }
