/* Carpet Care Guide - site-4 - prefix ccg- - warm serif variation */
:root{
  --ccg-bark:#3A2118;--ccg-claret:#7A2E2E;--ccg-claret-dp:#5C2020;--ccg-sand:#F7E6C4;
  --ccg-cream:#FDF8F1;--ccg-linen:#F2E7D8;--ccg-border:#E2D3BE;--ccg-stone:#7A6656;
  --ccg-soft:8px;--ccg-span:1120px
}
*{box-sizing:border-box}
body{margin:0;font-family:"Karla",system-ui,sans-serif;font-size:17px;line-height:1.7;color:var(--ccg-bark);background:var(--ccg-cream)}
h1,h2,h3{font-family:"Bitter",Georgia,serif;font-weight:700;line-height:1.22;letter-spacing:-.005em}
h1{font-size:clamp(28px,4.4vw,42px);margin:0 0 16px}
h2{font-size:clamp(23px,3.1vw,31px);margin:0 0 16px}
h3{font-size:20px;font-weight:600;margin:0 0 10px}
p{margin:0 0 16px}
a{color:var(--ccg-claret)}
img{max-width:100%;height:auto;display:block}
table{border-collapse:collapse}
section{box-sizing:border-box}

.ccg-bounds{width:100%;max-width:var(--ccg-span);margin:0 auto;padding:0 20px}
main>section[class]>*{max-width:var(--ccg-span);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.ccg-tract{padding:48px 0}
.ccg-tract--linen{background:var(--ccg-linen)}

/* header */
.ccg-cap{background:var(--ccg-cream);border-bottom:2px solid var(--ccg-border);position:sticky;top:0;z-index:52}
.ccg-cap__strip{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;width:100%}
.ccg-mark{font-family:"Bitter",serif;font-weight:700;font-size:19px;color:var(--ccg-bark);text-decoration:none;white-space:nowrap}
.ccg-mark i{font-style:italic;color:var(--ccg-claret)}
.ccg-paths{display:flex;gap:20px}
.ccg-paths a{font-size:15px;font-weight:600;color:var(--ccg-bark);text-decoration:none}
.ccg-paths a:hover{color:var(--ccg-claret)}
.ccg-capcta{background:var(--ccg-claret);color:#fff;font-weight:700;font-size:15px;padding:11px 19px;border-radius:var(--ccg-soft);text-decoration:none;white-space:nowrap}
.ccg-capcta:hover{background:var(--ccg-claret-dp)}
.ccg-hitch{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.ccg-hitch span{width:22px;height:2px;background:var(--ccg-bark)}
.ccg-fold{display:none;flex-direction:column;padding:8px 20px 16px;background:var(--ccg-linen)}
.ccg-fold.is-down{display:flex}
.ccg-fold a{padding:10px 0;font-weight:600;color:var(--ccg-bark);text-decoration:none;border-bottom:1px solid var(--ccg-border)}

/* prologue */
.ccg-prologue{background:var(--ccg-linen);padding:40px 0 46px;border-bottom:1px solid var(--ccg-border)}
.ccg-prologue__set{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:center;width:100%}
.ccg-stamp{display:inline-block;font-family:"Bitter",serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--ccg-claret);padding:6px 14px;border-radius:var(--ccg-soft);margin-bottom:16px}
.ccg-prologue__hook{font-size:19px;color:var(--ccg-stone);margin-bottom:22px}
.ccg-pairbtn{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.ccg-press{display:inline-block;padding:14px 26px;border-radius:var(--ccg-soft);font-weight:700;text-decoration:none;font-size:16px}
.ccg-press--strong{background:var(--ccg-claret);color:#fff}
.ccg-press--strong:hover{background:var(--ccg-claret-dp)}
.ccg-press--quiet{background:var(--ccg-sand);color:var(--ccg-bark)}
.ccg-press--quiet:hover{background:#EFD8AC}
.ccg-tally{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--ccg-stone)}
.ccg-tally b{font-family:"Bitter",serif;color:var(--ccg-bark)}
.ccg-prologue__plate{margin:0;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);overflow:hidden;background:#fff}
.ccg-prologue__plate img{width:100%}
.ccg-prologue__plate figcaption{font-size:13px;color:var(--ccg-stone);padding:10px 16px}

/* league table */
.ccg-fineprint{font-size:13px;color:var(--ccg-stone);display:flex;flex-wrap:wrap;gap:6px 20px;margin:0 0 24px;font-style:italic}
.ccg-league{display:flex;flex-direction:column;gap:15px}
.ccg-league__line{background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);padding:21px}
.ccg-league__line--head{border:2px solid var(--ccg-claret);box-shadow:0 10px 28px rgba(122,46,46,.14)}
.ccg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ccg-chip{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:var(--ccg-soft)}
.ccg-chip--gold{background:var(--ccg-sand);color:#5C3A10}
.ccg-chip--quiet{background:var(--ccg-linen);color:var(--ccg-claret)}
.ccg-league__set{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) minmax(0,150px);gap:22px;align-items:center}
.ccg-league__id{display:flex;flex-direction:column;gap:8px}
.ccg-league__firm{font-family:"Bitter",serif;font-weight:700;font-size:19px;line-height:1.25}
.ccg-league__firm i{font-style:italic;color:var(--ccg-claret)}
.ccg-glim{display:inline-flex;gap:2px;flex-wrap:nowrap;white-space:nowrap;color:#C08A2E;font-size:15px}
.ccg-bar{display:block;margin-top:2px}
.ccg-bar__rail{display:block;height:10px;background:var(--ccg-linen);border-radius:var(--ccg-soft);overflow:hidden}
.ccg-bar__done{display:block;height:100%;background:var(--ccg-claret);border-radius:var(--ccg-soft)}
.ccg-bar__read{display:block;font-family:"Bitter",serif;font-weight:700;font-size:15px;margin-top:5px}
.ccg-league__copy{min-width:0}
.ccg-league__hook{font-weight:700;margin:0 0 10px;font-size:16px}
.ccg-perks{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ccg-perks li{position:relative;padding-left:22px;font-size:15px;color:var(--ccg-stone)}
.ccg-perks li::before{content:"\2022";position:absolute;left:4px;top:-2px;color:var(--ccg-claret);font-size:20px}
.ccg-league__end{display:flex;flex-direction:column;gap:9px;text-align:center}
.ccg-league__flag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ccg-stone)}
.ccg-league__btn{background:var(--ccg-bark);color:#fff;font-weight:700;padding:13px 18px;border-radius:var(--ccg-soft);text-decoration:none;font-size:15px}
.ccg-league__btn:hover{background:var(--ccg-claret)}
.ccg-league__line--head .ccg-league__btn{background:var(--ccg-claret)}
.ccg-league__line--head .ccg-league__btn:hover{background:var(--ccg-claret-dp)}

/* contents */
.ccg-list{background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);padding:20px 26px}
.ccg-list__head{display:block;font-family:"Bitter",serif;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ccg-stone);margin-bottom:12px}
.ccg-list ol{margin:0;padding-left:20px;columns:2;column-gap:34px}
.ccg-list li{margin-bottom:7px;break-inside:avoid}
.ccg-list a{font-weight:600;text-decoration:none}
.ccg-list a:hover{text-decoration:underline}

/* price table */
.ccg-rail{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:20px}
.ccg-price{width:100%;min-width:640px;background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);overflow:hidden;font-size:15px}
.ccg-price caption{text-align:left;font-size:13px;color:var(--ccg-stone);padding:0 0 10px;font-style:italic}
.ccg-price th,.ccg-price td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--ccg-border)}
.ccg-price thead th{background:var(--ccg-bark);color:var(--ccg-sand);font-family:"Bitter",serif;font-weight:700;font-size:14px}
.ccg-price tbody tr:nth-child(even){background:var(--ccg-cream)}
.ccg-price tbody tr:last-child td{border-bottom:0}

/* method cards */
.ccg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.ccg-card{background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);overflow:hidden;padding-bottom:8px}
.ccg-card img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:14px}
.ccg-card h3{padding:0 20px}
.ccg-card p{padding:0 20px;font-size:15px;color:var(--ccg-stone)}

/* two column */
.ccg-duo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.ccg-plate{margin:0;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);overflow:hidden;background:#fff;max-width:100%}
.ccg-plate img{width:100%}
.ccg-plate figcaption{font-size:13px;color:var(--ccg-stone);padding:10px 16px}

/* care steps */
.ccg-steps{list-style:none;counter-reset:ccgstep;margin:0;padding:0;display:grid;gap:12px}
.ccg-steps li{counter-increment:ccgstep;position:relative;background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);padding:16px 18px 16px 62px}
.ccg-steps li::before{content:counter(ccgstep);position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--ccg-sand);color:var(--ccg-bark);font-family:"Bitter",serif;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center}

/* author */
.ccg-writer{display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;align-items:start;background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);padding:24px}
.ccg-writer__photo{width:118px;height:118px;border-radius:var(--ccg-soft);object-fit:cover;border:3px solid var(--ccg-sand)}
.ccg-writer__title{font-size:14px;color:var(--ccg-stone);margin-bottom:12px}
.ccg-writer h3{margin-bottom:4px}

/* FAQ */
.ccg-open{display:grid;gap:10px}
.ccg-open details{background:#fff;border:1px solid var(--ccg-border);border-radius:var(--ccg-soft);overflow:hidden}
.ccg-open summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;cursor:pointer;list-style:none}
.ccg-open summary::-webkit-details-marker{display:none}
.ccg-open summary h3{margin:0;font-size:17px}
.ccg-open summary::after{content:"+";font-family:"Bitter",serif;font-size:22px;color:var(--ccg-claret);flex:0 0 auto;line-height:1}
.ccg-open details[open] summary::after{content:"\2013"}
.ccg-open details p{padding:0 20px 16px;margin:0;color:var(--ccg-stone)}

/* closing */
.ccg-finish{background:var(--ccg-claret);color:#fff;text-align:center}
.ccg-finish h2{color:#fff}
.ccg-finish p{max-width:620px;margin-left:auto;margin-right:auto;color:#F2DCDC}
.ccg-finish .ccg-press--strong{background:var(--ccg-sand);color:var(--ccg-bark)}
.ccg-finish .ccg-press--strong:hover{background:#EFD8AC}

/* footer */
.ccg-tail{background:var(--ccg-bark);color:#D9C9B8;padding:38px 0 24px;font-size:15px}
.ccg-tail__set{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;margin-bottom:22px}
.ccg-tail .ccg-mark{color:#fff;display:inline-block;margin-bottom:10px}
.ccg-tail .ccg-mark i{color:var(--ccg-sand)}
.ccg-tail p{margin:0 0 10px}
.ccg-tail__nav{display:flex;flex-direction:column;gap:9px}
.ccg-tail__nav a{color:#D9C9B8;text-decoration:none}
.ccg-tail__nav a:hover{color:#fff;text-decoration:underline}
.ccg-tail__note{font-size:13px;color:#A8927E;border-top:1px solid #513127;padding-top:14px}

@media(max-width:1024px){
  .ccg-league__set{grid-template-columns:minmax(0,166px) minmax(0,1fr);grid-template-areas:"id copy" "end end";gap:18px}
  .ccg-league__id{grid-area:id}
  .ccg-league__copy{grid-area:copy}
  .ccg-league__end{grid-area:end;flex-direction:row;justify-content:space-between;align-items:center;margin-top:8px}
}
@media(max-width:768px){
  body{font-size:16px}
  .ccg-paths{display:none}
  .ccg-hitch{display:flex}
  .ccg-tract{padding:34px 0}
  .ccg-prologue__set{grid-template-columns:1fr;gap:24px}
  .ccg-duo{grid-template-columns:1fr;gap:22px}
  .ccg-cards{grid-template-columns:1fr}
  .ccg-league__set{grid-template-columns:1fr;grid-template-areas:none;gap:14px}
  .ccg-league__end{flex-direction:column}
  .ccg-list ol{columns:1}
  .ccg-writer{grid-template-columns:1fr}
  .ccg-tail__set{grid-template-columns:1fr}
}
@media(max-width:480px){
  .ccg-cap__strip{gap:8px}
  .ccg-mark{font-size:15px;white-space:normal;max-width:114px;line-height:1.15}
  .ccg-capcta{padding:9px 13px;font-size:14px}
  .ccg-hitch{padding:6px}
  .ccg-steps li{padding:14px 14px 14px 56px}
  .ccg-tail .ccg-mark{max-width:none;white-space:nowrap;font-size:18px}
}

/* price line in showcase card */
.ccg-league__cost{font-family:"Bitter",serif;font-weight:700;font-size:14px;color:var(--ccg-claret);background:var(--ccg-sand);padding:4px 10px;border-radius:var(--ccg-soft);display:inline-block}
