/* The Calm Dog Library — design system (2026-10-28). One file for calmdoglibrary.com and the 6 guide sites.
   Every component is prefixed .cdl- so the old page styles (tools, sales pages, checkout) never collide.
   Brand sites override --accent / --brand / --brand-l with their own colors (brand.json "colors"). */
:root{
  --ink:#17211C; --ink-2:#2A352F; --muted:#5D6A62; --line:#E4DCCD; --line-2:#EFE8DC;
  --cream:#F7F2EA; --paper:#FFFDF9; --sand:#EDE4D6;
  --forest:#1E3B31; --forest-2:#2B5245; --sage:#8FAE96; --sage-l:#E6EEE7;
  --clay:#C4673F; --clay-d:#A55330; --clay-l:#F6E3D8;
  --brand:var(--forest); --brand-l:var(--sage-l); --accent:var(--clay); --accent-d:var(--clay-d); --accent-l:var(--clay-l);
  --r:18px; --r-sm:12px; --shadow:0 1px 2px rgba(23,33,28,.06),0 12px 32px -12px rgba(23,33,28,.18);
  --serif:"Fraunces",Georgia,"Times New Roman",serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --w:1180px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.cdl{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.cdl *,.cdl *::before,.cdl *::after{box-sizing:border-box}
.cdl img{max-width:100%;height:auto}
.cdl a{color:inherit}
.cdl-w{max-width:var(--w);margin:0 auto;padding:0 24px}
.cdl-narrow{max-width:760px;margin:0 auto;padding:0 24px}
.cdl-skip{position:absolute;left:-999px;top:8px;background:var(--forest);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.cdl-skip:focus{left:12px}

/* ---------- header ---------- */
.cdl-hd{position:sticky;top:0;z-index:50;background:rgba(247,242,234,.88);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.cdl-hd .cdl-w{display:flex;align-items:center;gap:28px;height:72px}
.cdl-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.cdl-logo svg{width:34px;height:34px;flex:none}
.cdl-logo b{font:700 19px/1 var(--serif);letter-spacing:-.01em;white-space:nowrap}
.cdl-logo small{display:block;font:600 10.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.cdl-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.cdl-nav>a,.cdl-nav>details>summary{font:600 15px/1 var(--sans);color:var(--ink-2);text-decoration:none;padding:10px 12px;border-radius:10px;cursor:pointer;list-style:none;white-space:nowrap}
.cdl-nav>details>summary::-webkit-details-marker{display:none}
.cdl-nav>details>summary::after{content:"";display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);margin-left:8px;opacity:.6}
.cdl-nav>a:hover,.cdl-nav>details>summary:hover,.cdl-nav>details[open]>summary{background:var(--sand)}
.cdl-nav details{position:relative}
.cdl-mega{position:absolute;right:-180px;top:calc(100% + 10px);width:min(880px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 18px}
.cdl-mega a{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;text-decoration:none}
.cdl-mega a:hover{background:var(--cream)}
.cdl-mega img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none}
.cdl-mega b{display:block;font:650 15px/1.25 var(--sans)}
.cdl-mega span{display:block;font-size:13px;line-height:1.4;color:var(--muted);margin-top:3px}
.cdl-mega .cdl-mega-ft{grid-column:1/-1;border-top:1px solid var(--line-2);margin-top:6px;padding-top:12px;display:flex;gap:18px;flex-wrap:wrap;font-size:14px}
.cdl-mega .cdl-mega-ft a{display:inline;padding:0;font-weight:600;color:var(--brand)}
.cdl-btn,.cdl a.cdl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;font:650 16px/1 var(--sans);text-decoration:none;padding:15px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:0 8px 20px -10px var(--accent)}
.cdl-btn:hover{background:var(--accent-d);transform:translateY(-1px)}
.cdl-btn.cdl-ghost,.cdl a.cdl-btn.cdl-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-2)}
.cdl-btn.cdl-ghost:hover{background:var(--ink);color:#fff}
.cdl-btn.cdl-sm{padding:11px 18px;font-size:14.5px}
.cdl-btn.cdl-dark,.cdl a.cdl-btn.cdl-dark{background:var(--forest);box-shadow:none}
.cdl-btn.cdl-dark:hover{background:var(--forest-2)}
.cdl-burger{display:none;margin-left:auto}
.cdl-burger summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--sand)}
.cdl-burger summary::-webkit-details-marker{display:none}
.cdl-burger summary i,.cdl-burger summary i::before,.cdl-burger summary i::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;position:relative;content:""}
.cdl-burger summary i::before{position:absolute;top:-6px}.cdl-burger summary i::after{position:absolute;top:6px}
.cdl-drawer{position:fixed;left:0;right:0;top:72px;bottom:0;background:var(--paper);overflow:auto;padding:18px 24px 40px;border-top:1px solid var(--line)}
.cdl-drawer h4{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}
.cdl-drawer a{display:block;padding:11px 0;border-bottom:1px solid var(--line-2);text-decoration:none;font-weight:600}
.cdl-drawer .cdl-btn{margin-top:22px;width:100%}
@media(max-width:980px){.cdl-nav{display:none}.cdl-burger{display:block}.cdl-hd .cdl-w{height:64px}.cdl-drawer{top:64px}}

/* ---------- type ---------- */
.cdl h1,.cdl h2,.cdl h3{font-family:var(--serif);font-weight:650;letter-spacing:-.015em;color:var(--ink);font-optical-sizing:auto}
.cdl-eyebrow{font:700 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-d);margin:0 0 14px}
.cdl-lede{font-size:20px;line-height:1.55;color:var(--muted)}
.cdl em.cdl-hl,.cdl .cdl-hl{font-style:italic;color:var(--accent)}

/* ---------- sections ---------- */
.cdl-sec{padding:88px 0}
.cdl-sec.cdl-tight{padding:56px 0}
.cdl-sec.cdl-paper{background:var(--paper)}
.cdl-sec.cdl-forest{background:var(--forest);color:#EEF3EF}
.cdl-sec.cdl-forest h2,.cdl-sec.cdl-forest h3{color:#fff}
.cdl-sec.cdl-forest .cdl-eyebrow{color:#E9B79C}
.cdl-sec-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.cdl-sec-hd h2{font-size:clamp(30px,3.6vw,44px);line-height:1.08;margin:0;max-width:720px}
.cdl-sec-hd p{margin:12px 0 0;color:var(--muted);max-width:620px}
.cdl-link{font-weight:650;color:var(--brand);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;white-space:nowrap}
.cdl-sec.cdl-forest .cdl-link{color:#fff}

/* ---------- hero ---------- */
.cdl-hero{padding:64px 0 72px}
.cdl-hero .cdl-w{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.cdl-hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1.02;margin:0 0 22px}
.cdl-hero .cdl-lede{max-width:540px;margin:0 0 30px}
.cdl-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cdl-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;font-size:14.5px;color:var(--muted)}
.cdl-trust span{display:flex;align-items:center;gap:8px}
.cdl-trust span::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--sage-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%231E3B31' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;flex:none}
.cdl-hero-media{position:relative}
.cdl-hero-media picture img,.cdl-hero-media>img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:28px;display:block;box-shadow:var(--shadow)}
.cdl-float{position:absolute;left:-28px;bottom:34px;background:var(--paper);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;max-width:270px;font-size:14px;line-height:1.45}
.cdl-float b{display:block;font:650 15px/1.3 var(--sans);margin-bottom:4px}
.cdl-float .cdl-stars{color:var(--accent);letter-spacing:2px;font-size:13px}
@media(max-width:900px){.cdl-hero .cdl-w{grid-template-columns:1fr;gap:36px}.cdl-hero{padding:36px 0 48px}.cdl-float{left:12px;bottom:12px}.cdl-hero-media picture img,.cdl-hero-media>img{aspect-ratio:4/3}}

/* ---------- cards ---------- */
.cdl-grid{display:grid;gap:22px}
.cdl-g2{grid-template-columns:repeat(2,1fr)}.cdl-g3{grid-template-columns:repeat(3,1fr)}.cdl-g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.cdl-g3,.cdl-g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cdl-g2,.cdl-g3,.cdl-g4{grid-template-columns:1fr}}
.cdl-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s}
a.cdl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.cdl-card .cdl-ph{aspect-ratio:16/10;overflow:hidden;background:var(--sand)}
.cdl-card .cdl-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
a.cdl-card:hover .cdl-ph img{transform:scale(1.04)}
.cdl-card .cdl-bd{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.cdl-card .cdl-q{font:italic 500 15px/1.45 var(--serif);color:var(--muted)}
.cdl-card h3{font-size:22px;line-height:1.2;margin:0}
.cdl-card p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.cdl-card .cdl-more{margin-top:auto;padding-top:12px;font:650 14.5px/1 var(--sans);color:var(--brand)}
.cdl-chip{display:inline-flex;align-items:center;gap:6px;font:700 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:var(--brand-l);padding:7px 10px;border-radius:999px;align-self:flex-start}
.cdl-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cdl-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line-2);text-decoration:none;font-weight:550;font-size:15.5px}
.cdl-list a::after{content:"→";color:var(--muted);transition:transform .15s}
.cdl-list a:hover{color:var(--accent-d)}.cdl-list a:hover::after{transform:translateX(3px);color:var(--accent-d)}

/* guide (product) cards */
.cdl-guide{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);transition:box-shadow .18s,transform .18s}
.cdl-guide:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.cdl-guide img{width:120px;aspect-ratio:300/388;object-fit:cover;border-radius:6px;box-shadow:0 14px 24px -14px rgba(0,0,0,.45)}
.cdl-guide h3{margin:4px 0 6px;font-size:21px;line-height:1.2}
.cdl-guide p{margin:0 0 10px;color:var(--muted);font-size:15px;line-height:1.5}
.cdl-price{font:700 18px/1 var(--sans)}.cdl-price s{font-weight:500;color:var(--muted);font-size:14px;margin-left:6px}
.cdl-by{font:600 12.5px/1 var(--sans);color:var(--muted);letter-spacing:.04em}

/* principles */
.cdl-pr{padding:26px;border-radius:var(--r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.cdl-pr h3{font-size:20px;margin:12px 0 8px}
.cdl-pr p{margin:0;font-size:15px;line-height:1.6;color:#C9D6CE}
.cdl-pr .cdl-ico{width:40px;height:40px;border-radius:12px;background:rgba(233,183,156,.16);display:grid;place-items:center;color:#E9B79C;font:700 17px/1 var(--serif)}

/* band */
.cdl-band{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:var(--forest);color:#EAF0EC;border-radius:28px;padding:48px;overflow:hidden;position:relative}
.cdl-band h2{color:#fff;font-size:clamp(28px,3.2vw,40px);line-height:1.1;margin:0 0 12px}
.cdl-band p{margin:0 0 22px;color:#C9D6CE}
.cdl .cdl-band a.cdl-btn{background:var(--accent)}
.cdl-band img{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:820px){.cdl-band{grid-template-columns:1fr;padding:30px}}

/* topic hero */
.cdl-thero{position:relative;color:#fff;background:var(--forest)}
.cdl-thero picture img,.cdl-thero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.cdl-thero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,36,30,.92) 0%,rgba(18,36,30,.55) 60%,rgba(18,36,30,.25) 100%)}
.cdl-thero .cdl-w{position:relative;z-index:1;padding-top:76px;padding-bottom:76px}
.cdl-thero h1{color:#fff;font-size:clamp(40px,5vw,64px);line-height:1.04;margin:10px 0 16px;max-width:760px}
.cdl-thero .cdl-q{font:italic 500 20px/1.4 var(--serif);color:#F1D9CB;margin:0}
.cdl-thero .cdl-lede{color:#DCE6E0;max-width:640px;margin:18px 0 30px}
.cdl-thero .cdl-crumbs,.cdl-thero .cdl-crumbs a{color:#BFD0C6}
.cdl .cdl-thero a.cdl-btn.cdl-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.cdl .cdl-thero a.cdl-btn.cdl-ghost:hover{background:#fff;color:var(--ink)}

/* hub sections (topic page) */
.cdl-hub{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:40px 0;border-top:1px solid var(--line)}
.cdl-hub:first-child{border-top:0}
.cdl-hub h3{font-size:28px;line-height:1.15;margin:8px 0 10px}
.cdl-hub p{color:var(--muted);margin:0 0 16px}
.cdl-hub .cdl-list{grid-template-columns:1fr 1fr;column-gap:28px}
@media(max-width:860px){.cdl-hub{grid-template-columns:1fr;gap:16px}.cdl-hub .cdl-list{grid-template-columns:1fr}}

/* ---------- article ---------- */
.cdl-crumbs{font-size:14px;color:var(--muted);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
.cdl-crumbs a{text-decoration:none;color:var(--muted)}.cdl-crumbs a:hover{color:var(--accent-d)}
.cdl-crumbs span{opacity:.5}
.cdl-ahd{padding:52px 0 34px;background:linear-gradient(180deg,var(--paper),var(--cream))}
.cdl-ahd h1{font-size:clamp(34px,4.4vw,54px);line-height:1.08;margin:12px 0 18px;max-width:880px}
.cdl-ahd .cdl-lede{max-width:780px;margin:0}
.cdl-meta{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:26px;font-size:14px;color:var(--muted)}
.cdl-meta .cdl-av{width:34px;height:34px;border-radius:50%;background:var(--forest);display:grid;place-items:center;flex:none}
.cdl-meta .cdl-av svg{width:20px;height:20px}
.cdl-meta b{color:var(--ink);font-weight:650}
.cdl-meta a{color:var(--ink);font-weight:650;text-decoration:none;border-bottom:1px solid var(--line)}
.cdl-alay{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;padding-top:44px;padding-bottom:40px}
@media(max-width:1020px){.cdl-alay{grid-template-columns:1fr;gap:28px}}
.cdl-side{position:sticky;top:96px;align-self:start;display:grid;gap:18px}
@media(max-width:1020px){.cdl-side{position:static}}
.cdl-toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.cdl-toc h4{margin:0 0 10px;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cdl-toc ol{margin:0;padding:0 0 0 18px;font-size:14.5px;line-height:1.45}
.cdl-toc li{margin:7px 0}.cdl-toc a{text-decoration:none;color:var(--ink-2)}.cdl-toc a:hover{color:var(--accent-d)}
@media(max-width:1020px){.cdl-toc{display:none}}
.cdl-sguide{background:var(--brand);color:#fff;border-radius:var(--r);padding:22px;text-align:center}
.cdl-sguide img{width:130px;border-radius:6px;box-shadow:0 18px 30px -16px rgba(0,0,0,.6);margin:4px auto 14px;display:block}
.cdl-sguide b{display:block;font:650 19px/1.25 var(--serif);margin-bottom:6px}
.cdl-sguide p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.82);margin:0 0 14px}
.cdl-sguide .cdl-btn{width:100%;background:#fff;color:var(--ink);box-shadow:none}
.cdl-sguide .cdl-btn:hover{background:var(--accent-l)}
.cdl-sguide small{display:block;margin-top:10px;font-size:13px}.cdl-sguide small a{color:#fff}

/* prose */
.cdl-prose{font-size:18px;line-height:1.75;color:var(--ink-2);max-width:720px}
.cdl-prose>*:first-child{margin-top:0}
.cdl-prose h2{font-size:31px;line-height:1.2;margin:52px 0 14px;scroll-margin-top:96px}
.cdl-prose h3{font-size:23px;line-height:1.3;margin:34px 0 10px;scroll-margin-top:96px}
.cdl-prose p{margin:0 0 20px}
.cdl-prose a:not(.btn):not(.cdl-btn){color:var(--accent-d);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(196,103,63,.4)}
.cdl-prose a:not(.btn):not(.cdl-btn):hover{text-decoration-color:currentColor}
.cdl-prose ul,.cdl-prose ol{padding-left:24px;margin:0 0 22px}.cdl-prose li{margin-bottom:9px}
.cdl-prose li::marker{color:var(--accent)}
.cdl-prose strong{color:var(--ink)}
.cdl-prose blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:3px solid var(--accent);font:italic 500 21px/1.5 var(--serif);color:var(--ink)}
.cdl-prose table,.cdl-prose .md{width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px;background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.cdl-prose th,.cdl-prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:top}
.cdl-prose th{background:var(--brand-l);font-weight:650;color:var(--ink)}
.cdl-prose img{border-radius:12px}
.cdl-prose .cta{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--r);padding:22px;margin:40px 0;box-shadow:0 10px 30px -20px rgba(23,33,28,.35)}
.cdl-prose .cta img{width:110px;border-radius:6px;box-shadow:0 14px 24px -14px rgba(0,0,0,.45)}
.cdl-prose .cta h3{margin:0 0 6px;font-size:22px}
.cdl-prose .cta p{margin:0 0 12px;font-size:15.5px;line-height:1.55;color:var(--muted)}
.cdl-prose .cta .btn,.cdl-prose .cta a.btn{display:inline-flex;background:var(--accent);color:#fff!important;text-decoration:none!important;font:650 15px/1 var(--sans);padding:13px 20px;border-radius:999px}
.cdl-prose .cta .btn:hover{background:var(--accent-d)}
.cdl-prose .cta .micro{font-size:13.5px}
@media(max-width:560px){.cdl-prose .cta{grid-template-columns:1fr;text-align:center}.cdl-prose .cta img{margin:0 auto}}
.cdl-prose .pinme{border-color:var(--line)!important;background:var(--paper)!important;border-radius:var(--r)!important}
.cdl-prose .faq,.cdl-prose details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0}
.cdl-prose summary{font-weight:650;cursor:pointer}
.cdl-note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:44px}

/* read next */
.cdl-next{padding:56px 0 80px;background:var(--paper);border-top:1px solid var(--line)}
.cdl-next h2{font-size:30px;margin:0 0 24px}
.cdl-next .cdl-card .cdl-bd{padding:20px}
.cdl-next .cdl-card h3{font-size:19px}

/* ---------- footer ---------- */
.cdl-ft{background:#13241E;color:#B9C8BF;padding:72px 0 34px;font-size:15px}
.cdl-ft a{color:#DCE6E0;text-decoration:none}.cdl-ft a:hover{color:#fff}
.cdl-ft-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px}
.cdl-ft h4{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#7F978A;margin:4px 0 16px}
.cdl-ft ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cdl-ft .cdl-logo{color:#fff}.cdl-ft .cdl-logo small{color:#8FA79A}
.cdl-ft-about{margin:18px 0 0;line-height:1.6;max-width:320px}
.cdl-ft-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding-top:24px;font-size:13.5px;color:#869C90}
@media(max-width:900px){.cdl-ft-top{grid-template-columns:1fr 1fr}.cdl-ft-top>div:first-child{grid-column:1/-1}}

/* ---------- brand sites: header endorsement + harmonised old components ---------- */
.cdl-bhd .cdl-logo b{color:var(--brand)}
.cdl-endorse{display:flex;align-items:center;gap:8px;font:600 12.5px/1 var(--sans);color:var(--muted);text-decoration:none;white-space:nowrap}
.cdl-endorse svg{width:18px;height:18px}
body.cdl-brand h1,body.cdl-brand h2,body.cdl-brand h3{font-family:var(--serif)}
body.cdl-brand .wrap>.brand,body.cdl-brand>.wrap:first-of-type>.brand:only-child{display:none}
.cdl-more-lib{padding:72px 0;background:var(--paper);border-top:1px solid var(--line)}

/* tools pages keep their own styles inside <main>; just give them air */
body.cdl-tool main{padding-top:24px;padding-bottom:40px}

@media print{.cdl-hd,.cdl-ft,.cdl-side,.cdl-next{display:none!important}body.cdl{background:#fff}}
/* header immune to page-level styles (tool pages style details/summary/button globally) */
.cdl-hd details,.cdl-hd summary{background:none;border:0;margin:0;padding:0;box-shadow:none;border-radius:0}
.cdl-hd .cdl-nav>details>summary{padding:10px 12px;border-radius:10px}
.cdl-hd .cdl-burger summary{background:var(--sand);border-radius:12px;width:44px;height:44px;display:grid;place-items:center}
.cdl-hd .cdl-mega,.cdl-hd .cdl-drawer{font:15px/1.5 var(--sans);color:var(--ink)}
.cdl-ft h4,.cdl-ft p,.cdl-ft li{font-family:var(--sans)}
/* footer/header immune to old page rules (footer{text-align:center}, .wrap{…}) */
footer.cdl-ft,footer.cdl-ft .cdl-w{text-align:left}
footer.cdl-ft{margin:0;border:0}
footer.cdl-ft .cdl-w{max-width:var(--w);padding:0 24px}
.cdl-hd .cdl-w{max-width:var(--w);padding:0 24px}

/* product mockups (2026-10-28) */
.cdl-guide{grid-template-columns:200px 1fr}
.cdl-guide img.cdl-gmock{width:200px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;box-shadow:none}
@media(max-width:560px){.cdl-guide{grid-template-columns:1fr}.cdl-guide img.cdl-gmock{width:100%}}
body.cdl-brand .hero picture.cdl-mock{display:block}
body.cdl-brand .hero picture.cdl-mock img{width:100%!important;max-width:640px!important;height:auto!important;transform:none!important;box-shadow:none!important;border-radius:24px!important;margin:0 auto;display:block}

/* free printable sign-up (2026-10-28) */
.cdl-prose .cdl-mag{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;margin:44px 0;padding:24px;border-radius:var(--r);background:var(--brand-l);border:1px solid var(--line);box-shadow:0 14px 34px -24px rgba(23,33,28,.4)}
.cdl-prose .cdl-mag img{width:150px;border-radius:6px;box-shadow:0 16px 28px -14px rgba(0,0,0,.4);transform:rotate(-2deg);background:#fff}
.cdl-prose .cdl-mag h3{margin:10px 0 6px;font-size:23px;line-height:1.2}
.cdl-prose .cdl-mag p{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:var(--muted)}
.cdl-mag form{display:flex;gap:8px;flex-wrap:wrap}
.cdl-mag input{flex:1 1 220px;min-width:0;font:16px var(--sans);padding:14px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink)}
.cdl-mag input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-l)}
.cdl-mag .cdl-btn{flex:none}
.cdl-prose .cdl-mag .cdl-mag-fine{font-size:13px;margin:10px 0 0}
.cdl-prose .cdl-mag .cdl-mag-ok{margin:6px 0 0;color:var(--ink);font-size:16px}
@media(max-width:600px){.cdl-prose .cdl-mag{grid-template-columns:1fr;text-align:left}.cdl-prose .cdl-mag img{width:120px}}
.cdl-smag{display:flex;gap:14px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;color:var(--ink)}
.cdl-smag:hover{border-color:var(--accent)}
.cdl-smag img{width:64px;border-radius:4px;box-shadow:0 8px 16px -10px rgba(0,0,0,.4);background:#fff}
.cdl-smag b{display:block;font:700 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-d);margin-bottom:6px}
.cdl-smag span{font-size:14.5px;line-height:1.35;font-weight:600}

/* article photo + at a glance (2026-10-28) */
.cdl-ahd.cdl-has-ph .cdl-w{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:52px;align-items:center}
.cdl-aph{margin:0}.cdl-aph img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;display:block;box-shadow:var(--shadow)}
@media(max-width:900px){.cdl-ahd.cdl-has-ph .cdl-w{grid-template-columns:1fr;gap:26px}}
.cdl-prose .cdl-glance{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px 26px 14px;margin:8px 0 40px;box-shadow:0 14px 34px -26px rgba(23,33,28,.45)}
.cdl-prose .cdl-glance .cdl-eyebrow{margin:0 0 6px}
.cdl-prose .cdl-glance h3{margin:0 0 16px;font-size:23px}
.cdl-prose .cdl-glance ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 22px;counter-reset:none}
.cdl-prose .cdl-glance li{display:flex;gap:12px;align-items:flex-start;margin:0}
.cdl-prose .cdl-glance li span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font:700 14px/30px var(--sans);text-align:center}
.cdl-prose .cdl-glance li p{margin:0;font-size:15.5px;line-height:1.5}
@media(max-width:640px){.cdl-prose .cdl-glance ol{grid-template-columns:1fr}}
@media(max-width:600px){.cdl-mag .cdl-btn{width:100%}}

.cdl-qa{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.cdl-qa h3{font-size:20px;line-height:1.3;margin:0 0 8px}.cdl-qa h3 a{text-decoration:none}.cdl-qa h3 a:hover{color:var(--accent-d)}
.cdl-qa p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}

.cdl-ft-min .cdl-ft-top{grid-template-columns:2fr 1fr 1fr}@media(max-width:900px){.cdl-ft-min .cdl-ft-top{grid-template-columns:1fr 1fr}}
.cdl-bhd .cdl-bcta{margin-left:auto}@media(max-width:420px){.cdl-bhd .cdl-logo small{display:none}.cdl-bhd .cdl-bcta{padding:10px 14px;font-size:14px}}

/* topic page v2 (2026-10-29): path, offer, faq */
.cdl-path{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cdl-step{position:relative;display:flex;flex-direction:column;gap:8px;padding:28px 24px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s}
.cdl-step:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cdl-step .cdl-num{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font:700 17px/1 var(--serif);margin-bottom:6px}
.cdl-step h3{margin:0;font-size:22px;line-height:1.2}.cdl-step p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.55}
.cdl-step .cdl-more{margin-top:auto;padding-top:12px;font:650 14.5px/1 var(--sans);color:var(--brand)}
.cdl-step-plan{background:var(--forest);color:#fff;border-color:transparent}.cdl-step-plan h3{color:#fff}.cdl-step-plan p{color:#C9D6CE}.cdl-step-plan .cdl-more{color:#E9B79C}.cdl-step-plan .cdl-num{background:var(--accent)}.cdl-step-plan .cdl-chip{background:rgba(255,255,255,.12);color:#E9B79C}
@media(max-width:860px){.cdl-path{grid-template-columns:1fr}}
.cdl-offer{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:40px;overflow:hidden}
.cdl-offer img{width:100%;height:auto;border-radius:18px;display:block}
.cdl-offer h2{font-size:clamp(28px,3.2vw,40px);line-height:1.1;margin:8px 0 12px}
.cdl-offer ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}.cdl-offer li{padding-left:26px;position:relative;font-size:15.5px}.cdl-offer li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}
.cdl-offer .cdl-price{font-size:26px;margin-right:14px}
.cdl-offer .cdl-cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
@media(max-width:860px){.cdl-offer{grid-template-columns:1fr;padding:24px;gap:24px}}
.cdl-faq details{border-top:1px solid var(--line);padding:2px 0}.cdl-faq details:last-child{border-bottom:1px solid var(--line)}
.cdl-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font:600 17px/1.35 var(--sans);color:var(--ink)}.cdl-faq summary::-webkit-details-marker{display:none}.cdl-faq summary::after{content:"+";color:var(--muted);font-size:22px;line-height:1;flex:none}.cdl-faq details[open] summary::after{content:"–"}
.cdl-faq p{margin:0 0 18px;color:var(--muted);line-height:1.6}

/* guides menu: problem first (2026-10-30) */
.cdl-mega a.cdl-mg{align-items:center;padding:8px 10px}
.cdl-mega a.cdl-mg img{width:48px;height:48px}
.cdl-mega a.cdl-mg>div{flex:1;min-width:0}
.cdl-mega:has(.cdl-mg){width:min(940px,92vw);grid-template-columns:repeat(3,minmax(0,1fr))}
.cdl-mega a.cdl-mg small{display:block;font-size:11.5px;line-height:1.35;color:var(--muted);opacity:.75;margin-top:2px}

/* topic hero v2 (2026-10-30): sharp photo beside the text, no dark veil */
.cdl-thero.cdl-split::after{display:none}
.cdl-split>.cdl-w{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.cdl-split figure{margin:0;position:relative;aspect-ratio:3/2;border-radius:24px;overflow:hidden;box-shadow:0 24px 50px -24px rgba(0,0,0,.6)}
.cdl-split figure picture img{position:static;display:block;width:100%;height:100%;object-fit:cover;opacity:1}
.cdl-split h1{font-size:clamp(38px,4.4vw,58px)}
.cdl-split .cdl-lede{margin:16px 0 26px;font-size:17px;line-height:1.6}
@media(max-width:860px){.cdl-split>.cdl-w{grid-template-columns:1fr;gap:24px;padding-top:24px;padding-bottom:40px}.cdl-split figure{order:-1;aspect-ratio:16/9;border-radius:18px}.cdl-split .cdl-lede{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:12px 0 20px;font-size:16px}.cdl-split .cdl-crumbs{display:none}.cdl-split h1{margin:6px 0 0}}

/* internal linking (2026-10-30): reading path, related lines, end-of-article offer */
.cdl-rc{display:none}.cdl-rc.cdl-show{display:flex}
.cdl-next .cdl-rc h3{font-size:18px}
.cdl-prose .cdl-rel{display:flex;gap:12px;align-items:baseline;margin:32px 0;padding:14px 18px;border-left:3px solid var(--accent);background:var(--paper);border-radius:0 12px 12px 0}
.cdl-prose .cdl-rel span{font:700 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex:none}
.cdl-prose .cdl-rel a{font:600 16px/1.35 var(--sans);text-decoration:none;color:var(--ink)}.cdl-prose .cdl-rel a:hover{color:var(--accent-d)}
@media(max-width:640px){.cdl-prose .cdl-rel{flex-direction:column;gap:6px}}
.cdl-series{margin:44px 0 8px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r)}
.cdl-shd{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}.cdl-shd a{color:inherit}
.cdl-sbar{height:6px;border-radius:99px;background:var(--sand);margin:10px 0 16px;overflow:hidden}.cdl-sbar i{display:block;height:100%;background:var(--brand);border-radius:99px}
.cdl-series a.cdl-snext{display:block;padding:16px 18px;border-radius:14px;background:var(--forest);color:#fff;text-decoration:none;transition:transform .15s}.cdl-series a.cdl-snext:hover{transform:translateY(-2px)}
.cdl-snext small{display:block;font-size:12.5px;color:#E9B79C;margin-bottom:4px}.cdl-snext b{font:650 17px/1.3 var(--sans);color:#fff}
.cdl-series a.cdl-sprev{display:inline-block;margin-top:12px;font-size:14px;color:var(--muted);text-decoration:none}
.cdl-endplan img{max-height:300px;object-fit:contain}.cdl-readn{font-weight:600;color:var(--brand)}
.cdl-link{white-space:normal}
.cdl-prose .cdl-series a.cdl-snext:not(.btn):not(.cdl-btn),.cdl-prose .cdl-series a.cdl-snext:not(.btn):not(.cdl-btn):hover{color:#fff;text-decoration:none}
.cdl-prose .cdl-series a.cdl-sprev:not(.btn):not(.cdl-btn){color:var(--muted);text-decoration:none}
.cdl-prose .cdl-rel a:not(.btn):not(.cdl-btn){color:var(--ink);text-decoration:none}.cdl-prose .cdl-rel a:not(.btn):not(.cdl-btn):hover{color:var(--accent-d)}

/* sales page, phone (2026-10-30, ad audit: 80 % of paid clicks are mobile): show the product in the first screen, one-line buttons */
@media(max-width:820px){
  body.cdl-brand .hero{gap:14px;padding-top:12px}
  body.cdl-brand .hero picture.cdl-mock{order:-1}
  body.cdl-brand .hero picture.cdl-mock img{max-height:150px!important;width:auto!important;max-width:100%!important;margin:0 auto}
  body.cdl-brand .hero h1{font-size:34px;line-height:1.08}
  body.cdl-brand .hero .sub{font-size:17px;margin:12px 0 14px}
}
@media(max-width:420px){
  .cdl-bhd .cdl-w{gap:8px}
  .cdl-bhd .cdl-bcta,.cdl a.cdl-bcta{white-space:nowrap;padding:9px 12px;font-size:13px;flex:none}
  .cdl-bhd .cdl-logo{min-width:0;flex:0 1 auto}.cdl-bhd .cdl-logo b{font-size:17px}
  body.cdl-brand .hero .price-cta .btn{font-size:16px;padding:16px 16px;white-space:nowrap;text-align:center}
}
