/* =====================================================================
   CrochetOasis templates: masthead, footer, heroes, hub + article layouts
   ===================================================================== */
/* ---------- masthead ---------- */
.co-masthead{position:sticky;top:0;z-index:50;background:var(--co-paper);border-bottom:1px solid var(--co-line)}
.co-masthead__inner{display:flex;align-items:center;gap:var(--co-s5);min-height:72px}
.co-brand{display:inline-flex;align-items:center;gap:var(--co-s3);text-decoration:none;color:var(--co-ink);margin-right:auto}
.co-brand__mark{width:30px;height:30px;color:var(--co-cat,var(--co-rose))}
.co-brand__word{font-family:var(--co-font-display);font-weight:600;font-size:1.3rem;letter-spacing:-.015em;line-height:1;
  font-variation-settings:"opsz" 24,"WONK" 1}
.co-brand__word span{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--co-ink-3);font-family:var(--co-font-body);font-weight:700}
.co-nav__list{display:flex;align-items:center;gap:var(--co-s5);list-style:none;margin:0;padding:0}
.co-nav__list a{font-size:var(--co-fs-sm);font-weight:700;color:var(--co-ink-2);text-decoration:none;padding:var(--co-s2) 0}
.co-nav__list a:hover{color:var(--co-ink)}
.co-nav__list a[aria-current=page]{color:var(--co-ink);box-shadow:inset 0 -2px 0 var(--co-cat,var(--co-rose))}
.co-nav__list .co-nav__cat-keychains{--co-cat:var(--co-rose)}
.co-nav__list .co-nav__cat-amigurumi{--co-cat:var(--co-sage)}
.co-nav__list .co-nav__cat-flowers{--co-cat:var(--co-plum)}
.co-nav__list .co-nav__cat-stitches{--co-cat:var(--co-teal)}
.co-masthead__tools{display:flex;align-items:center;gap:var(--co-s3)}
.co-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--co-s2);width:44px;height:44px;
  border:1px solid var(--co-line-strong);background:var(--co-surface);border-radius:var(--co-r-sm);color:var(--co-ink);cursor:pointer}
.co-icon-btn:hover{background:var(--co-sand)}
.co-nav-toggle{display:none}
.co-searchbar{border-top:1px solid var(--co-line);background:var(--co-sand);display:none}
.co-searchbar.is-open{display:block}
.co-searchbar .co-wrap{padding-block:var(--co-s5)}
@media (max-width:900px){
  .co-nav-toggle{display:inline-flex}
  .co-nav{position:fixed;inset:72px 0 auto 0;background:var(--co-paper);border-bottom:1px solid var(--co-line);
    padding:var(--co-s5) var(--co-gutter) var(--co-s7);display:none;box-shadow:var(--co-e3);max-height:calc(100vh - 72px);overflow-y:auto}
  .co-nav.is-open{display:block}
  .co-nav__list{flex-direction:column;align-items:flex-start;gap:var(--co-s4)}
  .co-nav__list a{font-size:var(--co-fs-lg);font-family:var(--co-font-display);font-weight:600}
}

/* ---------- hero ---------- */
.co-hero{position:relative;padding-block:clamp(var(--co-s8),6vw,var(--co-s10));background-color:var(--co-sand);background-image:var(--co-tex-yarn);background-size:24px 16px}
.co-hero__facts{list-style:none;margin:var(--co-s7) 0 0;padding:var(--co-s5) 0 0;border-top:1px solid var(--co-line-strong);display:grid;gap:var(--co-s4)}
@media (min-width:700px){.co-hero__facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.co-hero__facts b{display:block;font-family:var(--co-font-display);font-size:var(--co-fs-lg);color:var(--co-ink)}
.co-hero__facts span{font-size:var(--co-fs-xs);color:var(--co-ink-2)}
.co-hero__art{background:var(--co-surface);border:1px solid var(--co-line);border-radius:var(--co-r-md);
  padding:var(--co-s6);box-shadow:var(--co-e2)}
.co-hero__art svg{display:block;width:100%;height:auto;color:var(--co-cat,var(--co-rose))}
.co-hero__art figcaption{margin-top:var(--co-s4);padding-top:var(--co-s3);border-top:1px solid var(--co-line);font-size:var(--co-fs-xs);color:var(--co-ink-3)}
.co-hero--shelf{background-color:var(--co-surface);background-image:none}
.co-hero--botanical{background-color:var(--co-paper);background-image:none;border-bottom:1px solid var(--co-line)}
.co-hero--botanical .co-hero__art{background:transparent;border:0;box-shadow:none;padding:0}
.co-hero--dict{padding-block:clamp(var(--co-s7),4vw,var(--co-s9))}
.co-hero__letters{display:flex;flex-wrap:wrap;gap:var(--co-s1);list-style:none;margin:var(--co-s6) 0 0;padding:0}
.co-hero__letters a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--co-line-strong);
  border-radius:var(--co-r-xs);background:var(--co-surface);font-size:var(--co-fs-xs);font-weight:700;text-decoration:none;color:var(--co-ink-2)}
.co-hero__letters a:hover{background:var(--co-cat,var(--co-teal));border-color:var(--co-cat,var(--co-teal));color:#fff}
/* hero photograph: the same frame as .co-hero__art, holding a real picture */
.co-hero__photo{margin:0}
.co-hero__photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--co-r-md);border:1px solid var(--co-line);background:var(--co-sand);box-shadow:var(--co-e3)}
.co-hero--botanical .co-hero__photo img{box-shadow:none;border-color:var(--co-line-strong)}
@media (min-width:900px){
  .co-hero__photo--tall img{aspect-ratio:3/4}
}
/* caption that sits on top of a photograph, for full-bleed hero frames */
.co-hero__scrim{position:relative;border-radius:var(--co-r-md);overflow:hidden}
.co-hero__scrim img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.co-hero__scrim figcaption{position:absolute;inset:auto 0 0 0;margin:0;padding:var(--co-s6);
  background:linear-gradient(to top,rgba(23,20,17,.82),rgba(23,20,17,0));
  color:#F6EFE6;font-size:var(--co-fs-2xs);line-height:1.5}
.co-hero__scrim figcaption a{color:#F6EFE6}

/* ---------- hub sections ---------- */
.co-ladder{list-style:none;margin:0;padding:0;counter-reset:ladder}
.co-ladder li{counter-increment:ladder;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--co-s4) var(--co-s6);
  padding:var(--co-s5) 0;border-top:1px solid var(--co-line);align-items:baseline}
.co-ladder li::before{content:counter(ladder,decimal-leading-zero);font-family:var(--co-font-display);font-size:var(--co-fs-xl);color:var(--co-cat,var(--co-rose))}
.co-ladder h3{margin:0 0 var(--co-s2);font-size:var(--co-fs-lg)}
.co-ladder p{margin:0;font-size:var(--co-fs-sm);color:var(--co-ink-2)}
.co-method{display:grid;gap:var(--co-s6)}
@media (min-width:820px){.co-method{grid-template-columns:repeat(3,minmax(0,1fr))}
  .co-method>*+*{border-left:1px solid var(--co-line);padding-left:var(--co-s6)}}
.co-method article h3{font-size:var(--co-fs-xl);margin-top:0}
.co-method__art{height:104px;display:flex;align-items:flex-end;color:var(--co-cat,var(--co-plum));margin-bottom:var(--co-s4)}
.co-method__art svg{max-height:104px;width:auto}
.co-apps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--co-s3)}
.co-apps li{padding:var(--co-s2) var(--co-s4);border:1px dashed var(--co-line-strong);border-radius:var(--co-r-pill);font-size:var(--co-fs-sm);color:var(--co-ink-2)}
.co-sizeband{background:var(--co-surface);border:1px solid var(--co-line);border-radius:var(--co-r-md);padding:var(--co-s6)}
.co-sizeband__num{font-family:var(--co-font-display);font-size:var(--co-fs-3xl);line-height:1;color:var(--co-cat,var(--co-sage));display:block}
.co-dict{display:grid;gap:var(--co-s8)}
.co-dict__group{scroll-margin-top:96px}
.co-dict__letter{font-family:var(--co-font-display);font-size:var(--co-fs-3xl);margin:0 0 var(--co-s5);
  padding-bottom:var(--co-s3);border-bottom:3px solid var(--co-cat,var(--co-teal))}
.co-dict__entry{display:grid;gap:var(--co-s5);padding:var(--co-s6) 0;border-top:1px solid var(--co-line);scroll-margin-top:96px}
@media (min-width:820px){.co-dict__entry{grid-template-columns:180px minmax(0,1fr)}}
.co-dict__symbol{background:var(--co-surface);border:1px solid var(--co-line);border-radius:var(--co-r-sm);padding:var(--co-s5);text-align:center}
.co-dict__symbol svg{width:64px;height:64px;color:var(--co-cat,var(--co-teal))}
.co-dict__symbol figcaption{font-size:var(--co-fs-2xs);color:var(--co-ink-3);margin-top:var(--co-s3)}
.co-honesty{display:grid;gap:var(--co-s6)}
@media (min-width:820px){.co-honesty{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.co-pull{font-family:var(--co-font-display);font-size:var(--co-fs-2xl);line-height:1.2;margin:0;color:var(--co-ink)}

/* ---------- article / single ---------- */
.co-article{display:grid;gap:clamp(var(--co-s6),4vw,var(--co-s9));padding-block:var(--co-s8) var(--co-s9)}
@media (min-width:1024px){.co-article{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
  .co-article__aside{position:sticky;top:96px}}
.co-article__head{max-width:var(--co-w-narrow)}
.co-article__head h1{margin-bottom:var(--co-s4)}
.co-article__standfirst{font-size:var(--co-fs-lg);color:var(--co-ink-2);max-width:58ch}
.co-article__meta{display:flex;flex-wrap:wrap;gap:var(--co-s3) var(--co-s5);align-items:center;
  margin:var(--co-s5) 0 0;padding-top:var(--co-s4);border-top:1px solid var(--co-line);font-size:var(--co-fs-sm);color:var(--co-ink-2)}
.co-article__specs{margin:var(--co-s7) 0 var(--co-s8)}
.co-article__specs h2{font-size:var(--co-fs-lg);font-family:var(--co-font-body);font-weight:700;letter-spacing:.02em;margin-bottom:var(--co-s3)}
.co-steps{counter-reset:step;list-style:none;margin:var(--co-s6) 0;padding:0}
.co-steps>li{counter-increment:step;position:relative;padding:0 0 var(--co-s6) var(--co-s8);border-left:2px dotted var(--co-line-strong);margin-left:9px}
.co-steps>li:last-child{border-left-color:transparent;padding-bottom:0}
.co-steps>li::before{content:counter(step);position:absolute;left:-11px;top:-2px;width:22px;height:22px;border-radius:50%;
  background:var(--co-cat,var(--co-rose));color:#fff;font-size:var(--co-fs-2xs);font-weight:700;display:grid;place-items:center}
.co-steps>li h3,.co-steps>li h4{margin:0 0 var(--co-s2);font-size:var(--co-fs-lg);font-family:var(--co-font-display)}
.co-steps>li p:last-child{margin-bottom:0}
.co-footnav{display:flex;justify-content:space-between;gap:var(--co-s4);flex-wrap:wrap;margin-top:var(--co-s8);padding-top:var(--co-s6);border-top:1px solid var(--co-line)}

/* ---------- single article: reference-led layout ---------- */
.co-single-guide .co-crumbs{margin-bottom:var(--co-s4)}
.co-single-hero{display:grid;gap:clamp(var(--co-s6),4vw,var(--co-s8));align-items:center;
  padding:var(--co-s2) 0 var(--co-s8)}
@media (min-width:980px){
  .co-single-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    gap:clamp(var(--co-s6),4vw,var(--co-s9))}
  .co-single-hero--no-media{grid-template-columns:minmax(0,1fr)}
}
.co-single-hero__media{min-width:0;margin:0}
.co-single-hero__frame{position:relative;overflow:hidden;border:1px solid var(--co-line);
  border-radius:var(--co-r-md);background:var(--co-sand);box-shadow:var(--co-e2)}
.co-single-hero__img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.co-single-hero__expand{position:absolute;right:var(--co-s4);bottom:var(--co-s4);
  display:inline-flex;align-items:center;gap:var(--co-s2);padding:var(--co-s2) var(--co-s3);
  background:rgba(255,255,255,.94);border:1px solid var(--co-line-strong);border-radius:var(--co-r-sm);
  color:var(--co-ink);font-size:var(--co-fs-2xs);font-weight:700;text-decoration:none;
  box-shadow:var(--co-e1)}
.co-single-hero__expand:hover{background:#fff;color:var(--co-rose)}
.co-single-hero__media .co-photo__cap{margin:var(--co-s3) 0 0;font-size:.68rem;
  line-height:1.45;color:var(--co-ink-3)}
.co-single-hero__media .co-photo__cap a{color:inherit;text-decoration-color:var(--co-line-strong)}
.co-single-hero__copy{min-width:0}
.co-single-hero__copy h1{margin:var(--co-s2) 0 var(--co-s4);max-width:16ch;
  font-size:clamp(2.1rem,1.45rem + 2.1vw,3rem);line-height:1.03;color:var(--co-rose)}
.co-single-hero__standfirst{max-width:54ch;margin:0;font-size:var(--co-fs-base);
  line-height:1.65;color:var(--co-ink-2)}
.co-single-hero__byline{display:flex;flex-wrap:wrap;gap:var(--co-s2) var(--co-s4);
  align-items:center;margin-top:var(--co-s5);font-size:var(--co-fs-xs);color:var(--co-ink-3)}
.co-single-hero__flags{display:flex;flex-wrap:wrap;gap:var(--co-s2);margin-top:var(--co-s3)}
.co-single-actions{display:flex;flex-wrap:wrap;gap:var(--co-s2);margin-top:var(--co-s5)}
.co-single-actions .co-btn{flex:0 1 auto}
.co-single-actions .co-btn svg{flex:0 0 auto}
.co-single-facts{list-style:none;margin:var(--co-s6) 0 0;padding:var(--co-s4) 0 0;
  border-top:1px solid var(--co-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--co-s4)}
@media (min-width:1180px){.co-single-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--co-s3)}}
.co-single-facts li{display:flex;gap:var(--co-s2);align-items:flex-start;min-width:0}
.co-single-facts__icon{flex:0 0 auto;color:var(--co-rose);margin-top:2px}
.co-single-facts small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--co-ink-3)}
.co-single-facts strong{display:block;font-size:var(--co-fs-xs);line-height:1.35;color:var(--co-ink)}

/* Section navigation mirrors the reference tab strip and follows real H2s. */
.co-single-tabs{position:sticky;top:var(--co-header-height,101px);z-index:40;margin-bottom:var(--co-s7);
  background:var(--co-paper);border-bottom:1px solid var(--co-line)}
.co-single-tabs__inner{display:flex;gap:var(--co-s5);overflow-x:auto;scrollbar-width:none}
.co-single-tabs__inner::-webkit-scrollbar{display:none}
.co-single-tabs a{position:relative;flex:0 0 auto;padding:var(--co-s3) 0;font-size:var(--co-fs-xs);
  font-weight:700;letter-spacing:.02em;color:var(--co-ink-3);text-decoration:none;white-space:nowrap}
.co-single-tabs a:hover{color:var(--co-ink)}
.co-single-tabs a.is-active{color:var(--co-rose)}
.co-single-tabs a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;
  height:2px;background:var(--co-rose)}
.co-single-layout{display:grid;gap:clamp(var(--co-s6),4vw,var(--co-s9));align-items:start;
  padding-bottom:var(--co-s9)}
@media (min-width:1024px){.co-single-layout{grid-template-columns:minmax(0,1fr) 330px}}
.co-single-main{min-width:0;scroll-margin-top:calc(var(--co-header-height,101px) + 58px)}
.co-single-aside{display:grid;gap:var(--co-s5);align-content:start;min-width:0}

/* Four reference-style fact tiles above the article body. */
.co-single-benefits{list-style:none;margin:0 0 var(--co-s7);padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--co-s3)}
@media (min-width:760px){.co-single-benefits{grid-template-columns:repeat(4,minmax(0,1fr))}}
.co-single-benefits li{display:flex;gap:var(--co-s2);align-items:center;min-width:0;
  padding:var(--co-s3) var(--co-s4);background:var(--co-surface);border:1px solid var(--co-line);
  border-radius:var(--co-r-sm)}
.co-single-benefits li>svg{flex:0 0 auto;color:var(--co-rose)}
.co-single-benefits strong{display:block;font-size:var(--co-fs-xs);line-height:1.25;color:var(--co-ink)}
.co-single-benefits small{display:block;margin-top:2px;font-size:.68rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--co-ink-3)}
.co-single-benefits small a{color:inherit;text-decoration-color:var(--co-line-strong)}
.co-single-benefits small a:hover{color:var(--co-link)}

/* ---------- free PDF guide offer ---------- */
.co-pdf-badge{display:inline-flex;align-items:center;width:max-content;padding:.32em .68em;
  border-radius:var(--co-r-pill);background:var(--co-rose);color:#fff;font-family:var(--co-font-body);
  font-size:.66rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}
.co-pdf-strip{display:grid;grid-template-columns:84px minmax(0,1fr);gap:var(--co-s4);
  align-items:center;margin:0 0 var(--co-s7);padding:var(--co-s4);
  background-color:var(--co-sand);background-image:var(--co-tex-yarn);background-size:24px 16px;
  border:1px solid var(--co-line-strong);border-left:4px solid var(--co-rose);
  border-radius:var(--co-r-md);box-shadow:var(--co-e1)}
@media (min-width:760px){
  .co-pdf-strip{grid-template-columns:96px minmax(0,1fr) auto;padding:var(--co-s5)}
}
.co-pdf-strip__cover{display:block;aspect-ratio:5/6;overflow:hidden;border:1px solid var(--co-line);
  border-radius:var(--co-r-sm);background:var(--co-surface);box-shadow:var(--co-e1)}
.co-pdf-strip__cover img{display:block;width:100%;height:100%;object-fit:cover}
.co-pdf-strip__body{min-width:0}
.co-pdf-strip__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--co-s2);
  margin:0 0 var(--co-s2);font-size:var(--co-fs-2xs);color:var(--co-ink-3)}
.co-pdf-strip h2{margin:0 0 var(--co-s2);font-size:var(--co-fs-xl);line-height:1.2}
.co-pdf-strip h2 a{color:var(--co-ink);text-decoration:none}
.co-pdf-strip h2 a:hover{color:var(--co-rose)}
.co-pdf-strip__body>p:not(.co-pdf-strip__eyebrow):not(.co-pdf-strip__actions){margin:0;
  font-size:var(--co-fs-xs);line-height:1.55;color:var(--co-ink-2)}
.co-pdf-strip__actions{display:flex;flex-wrap:wrap;gap:var(--co-s2);align-items:center;
  grid-column:1/-1;margin:0}
@media (min-width:760px){
  .co-pdf-strip__actions{grid-column:auto;flex-direction:column;align-items:stretch;
    justify-content:center;min-width:174px}
}
.co-pdf-strip__preview{font-size:var(--co-fs-2xs);font-weight:700;text-align:center;
  text-decoration:none}

.co-pdf-offer{margin:0;background:var(--co-surface);border:1px solid var(--co-line);
  border-top:4px solid var(--co-rose);border-radius:var(--co-r-md);overflow:hidden;
  box-shadow:var(--co-e2)}
.co-pdf-offer__cover-wrap{position:relative;padding:var(--co-s5);
  background-color:var(--co-sand);background-image:var(--co-tex-yarn);background-size:24px 16px;
  border-bottom:1px solid var(--co-line)}
.co-pdf-offer__cover-wrap>.co-pdf-badge{position:absolute;top:var(--co-s4);left:var(--co-s4);
  z-index:1;box-shadow:var(--co-e1)}
.co-pdf-offer__cover{aspect-ratio:5/6;overflow:hidden;border:1px solid var(--co-line);
  border-radius:var(--co-r-sm);background:#fff;box-shadow:var(--co-e2)}
.co-pdf-offer__cover img{display:block;width:100%;height:100%;object-fit:cover}
.co-pdf-offer__body{padding:var(--co-s5)}
.co-pdf-offer__body h2{margin:0 0 var(--co-s3);font-size:var(--co-fs-xl);line-height:1.2}
.co-pdf-offer__body h2 a{color:var(--co-ink);text-decoration:none}
.co-pdf-offer__body h2 a:hover{color:var(--co-rose)}
.co-pdf-offer__description{margin:0 0 var(--co-s3);font-size:var(--co-fs-xs);line-height:1.6;
  color:var(--co-ink-2)}
.co-pdf-offer__benefits{list-style:none;margin:0 0 var(--co-s3);padding:0;display:grid;
  gap:var(--co-s2)}
.co-pdf-offer__benefits li{display:flex;gap:var(--co-s2);align-items:flex-start;
  font-size:var(--co-fs-2xs);line-height:1.5;color:var(--co-ink-2)}
.co-pdf-offer__benefits svg{flex:0 0 auto;margin-top:2px;color:var(--co-sage)}
.co-pdf-offer__meta{margin:0 0 var(--co-s3);font-size:var(--co-fs-2xs);font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--co-ink-3)}
.co-pdf-offer__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--co-s2);
  margin:0 0 var(--co-s3);font-size:var(--co-fs-xs);color:var(--co-ink-2)}
.co-pdf-offer__price strong{font-family:var(--co-font-display);font-size:var(--co-fs-2xl);
  line-height:1;color:var(--co-rose);letter-spacing:-.02em}
.co-pdf-offer__actions{display:grid;gap:var(--co-s2);margin-top:var(--co-s4)}
.co-pdf-offer__actions .co-btn{width:100%}
.co-pdf-offer__note{margin:var(--co-s4) 0 0;padding-top:var(--co-s3);
  border-top:1px solid var(--co-line);font-size:var(--co-fs-2xs);line-height:1.55;
  color:var(--co-ink-3)}

/* Article prose, rebuilt against the reference's burgundy headings and step cards. */
.co-single-content{max-width:70ch}
.co-single-content h2{margin-top:clamp(var(--co-s7),3vw,var(--co-s8));
  font-size:clamp(1.6rem,1.25rem + 1vw,2.05rem);line-height:1.2;color:var(--co-rose);
  scroll-margin-top:calc(var(--co-header-height,101px) + 58px)}
.co-single-content h2:first-child{margin-top:0}
.co-single-content>p:first-child{margin:0 0 var(--co-s6);padding:var(--co-s4) var(--co-s5);
  background:var(--co-sand);border-left:3px solid var(--co-ochre);border-radius:0 var(--co-r-sm) var(--co-r-sm) 0;
  font-size:var(--co-fs-sm);line-height:1.6;color:var(--co-ink-2)}
.co-single-content>p:first-child b:first-child{color:var(--co-ochre)}
.co-single-content p{color:var(--co-ink-2)}
.co-single-content ul{list-style:none;padding-left:0}
.co-single-content ul>li{position:relative;padding-left:1.35rem}
.co-single-content ul>li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--co-rose)}
.co-single-content ol{counter-reset:co-step;list-style:none;padding:0;margin:var(--co-s4) 0 var(--co-s7);
  display:grid;gap:var(--co-s3)}
@media (min-width:720px){.co-single-content ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.co-single-content ol>li{counter-increment:co-step;position:relative;min-width:0;margin:0;
  padding:var(--co-s4) var(--co-s4) var(--co-s4) calc(var(--co-s4) + 2.15rem);
  background:var(--co-surface);border:1px solid var(--co-line);border-radius:var(--co-r-sm);
  font-size:var(--co-fs-sm);line-height:1.55;color:var(--co-ink-2)}
.co-single-content ol>li::before{content:counter(co-step);position:absolute;left:var(--co-s4);
  top:var(--co-s4);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--co-rose);color:#fff;font-family:var(--co-font-body);font-size:var(--co-fs-2xs);
  font-weight:700}
.co-single-content ol>li b{display:block;margin-bottom:var(--co-s1);color:var(--co-ink);
  font-size:var(--co-fs-xs);letter-spacing:.02em}
.co-single-content ol>li:last-child{margin-bottom:0}

/* Sticky reading column. */
.co-single-card{min-width:0;padding:var(--co-s5);background:var(--co-surface);
  border:1px solid var(--co-line);border-radius:var(--co-r-md)}
.co-single-card h2{margin:0 0 var(--co-s3);font-size:var(--co-fs-xl);line-height:1.2}
.co-single-card p{margin:0 0 var(--co-s3);font-size:var(--co-fs-xs);line-height:1.6;color:var(--co-ink-2)}
.co-single-card--pattern{border-top:3px solid var(--co-rose)}
.co-single-card__thumb{margin:0 0 var(--co-s4);overflow:hidden;border:1px solid var(--co-line);
  border-radius:var(--co-r-sm);background:var(--co-sand);aspect-ratio:16/10}
.co-single-card__thumb-img{display:block;width:100%;height:100%;object-fit:cover}
.co-single-card__facts{list-style:none;margin:0 0 var(--co-s4);padding:0;display:grid;gap:var(--co-s2)}
.co-single-card__facts li{display:flex;gap:var(--co-s2);align-items:flex-start;
  font-size:var(--co-fs-2xs);line-height:1.5;color:var(--co-ink-2)}
.co-single-card__facts svg{flex:0 0 auto;margin-top:2px;color:var(--co-sage)}
.co-single-card__facts b{display:block;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--co-ink-3)}
.co-btn--block{width:100%}
.co-single-card__note{display:flex;gap:var(--co-s2);align-items:flex-start;margin:var(--co-s3) 0 0;
  font-size:var(--co-fs-2xs);line-height:1.5;color:var(--co-ink-3)}
.co-single-card__note svg{flex:0 0 auto;margin-top:2px}
.co-single-related{list-style:none;margin:0;padding:0;display:grid;gap:0}
.co-single-related li{padding:0;border-top:1px solid var(--co-line)}
.co-single-related li:first-child{border-top:0}
.co-single-related__link{display:grid;grid-template-columns:62px minmax(0,1fr) auto;
  gap:var(--co-s3);align-items:center;padding:var(--co-s3) 0;color:inherit;text-decoration:none}
.co-single-related__media{display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--co-r-xs);
  background:var(--co-sand)}
.co-single-related__img{display:block;width:100%;height:100%;object-fit:cover}
.co-single-related__body strong{display:block;font-size:var(--co-fs-xs);line-height:1.35;color:var(--co-ink)}
.co-single-related__body small{display:block;margin-top:2px;font-size:.68rem;color:var(--co-ink-3)}
.co-single-related__link>svg{color:var(--co-ink-3);transition:transform var(--co-t-fast) var(--co-ease)}
.co-single-related__link:hover .co-single-related__body strong{color:var(--co-rose)}
.co-single-related__link:hover>svg{transform:translateX(2px)}
.co-single-card__more{display:inline-flex;margin-top:var(--co-s3);font-size:var(--co-fs-xs)}
.co-single-card--community{background-color:var(--co-sand);background-image:var(--co-tex-yarn);
  background-size:24px 16px}
.co-single-signup{display:flex;gap:var(--co-s2);margin:var(--co-s3) 0 0}
.co-single-signup input{flex:1 1 auto;min-width:0;padding:var(--co-s2) var(--co-s3);
  border:1px solid var(--co-line-strong);border-radius:var(--co-r-sm);background:var(--co-surface);
  font:inherit;font-size:var(--co-fs-xs);color:var(--co-ink)}
.co-single-signup button{flex:0 0 38px;display:grid;place-items:center;width:38px;height:38px;
  border:1px solid var(--co-rose);border-radius:var(--co-r-sm);background:var(--co-rose);
  color:#fff;opacity:.65;cursor:not-allowed}
.co-single-signup input::placeholder{color:var(--co-ink-3);opacity:1}

@media (max-width:559px){
  .co-single-hero{padding-bottom:var(--co-s7)}
  .co-single-hero__copy h1{max-width:none}
  .co-single-actions .co-btn{flex:1 1 auto}
  .co-single-facts{grid-template-columns:minmax(0,1fr)}
  .co-single-benefits{grid-template-columns:minmax(0,1fr)}
  .co-single-tabs{top:var(--co-header-height,67px)}
}
@media print{
  .co-single-hero__expand,.co-single-actions,.co-single-tabs,.co-single-aside,
  .co-pdf-strip,.co-pdf-offer,.co-author-box,.co-footnav{display:none !important}
  .co-single-hero{display:block;padding-bottom:var(--co-s4)}
  .co-single-hero__frame{box-shadow:none}
  .co-single-layout{display:block;padding-bottom:0}
  .co-single-content{max-width:none}
  .co-single-content ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-single-content ol>li{break-inside:avoid}
}

/* ---------- footer ---------- */
.co-footer{background:var(--co-sand);border-top:1px solid var(--co-line-strong);padding-block:var(--co-s8) var(--co-s6);margin-top:0}
.co-footer__grid{display:grid;gap:var(--co-s7)}
@media (min-width:760px){.co-footer__grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr))}}
.co-footer h2,.co-footer h3{font-family:var(--co-font-body);font-size:var(--co-fs-xs);font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--co-ink-3);margin:0 0 var(--co-s4)}
.co-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--co-s3);font-size:var(--co-fs-sm)}
.co-footer a{color:var(--co-ink-2);text-decoration:none}
.co-footer a:hover{color:var(--co-ink);text-decoration:underline}
.co-footer__brand p{font-size:var(--co-fs-sm);color:var(--co-ink-2);max-width:34ch}
.co-footer__strip{margin-top:var(--co-s8);padding-top:var(--co-s6);border-top:1px solid var(--co-line-strong);display:grid;gap:var(--co-s7)}
@media (min-width:900px){.co-footer__strip{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}
.co-footer__legal{margin-top:var(--co-s7);padding-top:var(--co-s5);border-top:1px solid var(--co-line);
  display:flex;flex-wrap:wrap;gap:var(--co-s4);justify-content:space-between;font-size:var(--co-fs-xs);color:var(--co-ink-3)}
