/*
Theme Name: Repair Brief
Theme URI: https://therepairbrief.com/
Description: The Repair Brief — monochrome magazine design (mock v3, 2026-11-07: Josefin Sans wordmark, EB Garamond text, IBM Plex Mono rubrics, one red) as a WordPress classic theme wired to cs-core / cs-tools. content-system-v3, google-us-blog03.
Version: 1.0.3
Author: The Repair Brief
Text Domain: repair-brief
Requires PHP: 8.0
*/
/* ---- tokens (profile/themes/google-us-blog03/tokens.json) · cs-tools variables set here the way practical-brief does ---- */
:root{--ink:#111;--mid:#5a5a5a;--hair:#e3e3e3;--red:#c0282d;--paper:#fff;--tint:#f6f6f4;--panel-a:#f1efe9;--panel-b:#e8ebee;--cover:#edeae4;
 --display:"Josefin Sans",sans-serif;--serif:"EB Garamond",Georgia,serif;--mono:"IBM Plex Mono",Menlo,monospace;--sans:"Inter",Helvetica,Arial,sans-serif;
 --accent:#111;--line:#e3e3e3;--white:#fff;--muted:#5a5a5a;--mint:#f6f6f4;
 --cs-soft:#f6f6f4;--cs-bar:#111;--cs-bar-2:#c0282d;--cs-bar-3:#8a8a8a;--cs-bar-4:#cfcfcf;--cs-bar-5:#5a5a5a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.4;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:4}
.review-bar{background:var(--tint);font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:10px 0;text-align:center}
.cs-ad{display:block;margin:32px 0;clear:both}.cs-ad:empty{display:none}
/* mono utilities (floors: rubric/label ≥12px, byline/caption/meta ≥13px) */
.rub{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.by{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.by .d{color:var(--mid);margin-left:12px;text-transform:none;letter-spacing:.08em}
.cap{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--mid);line-height:1.5}
.bar{display:inline-block;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px 7px}
/* ---- header: mark above wordmark on the home page (110px), inline elsewhere (84px); hairline nav below ---- */
header.top{border-bottom:1px solid var(--ink)}
header.top .wrap{position:relative;height:84px;display:flex;align-items:center;justify-content:center}
header.top.is-home .wrap{height:110px;flex-direction:column}
.burger{position:absolute;left:24px;top:50%;transform:translateY(-50%);width:26px;height:18px;display:flex;flex-direction:column;justify-content:space-between}
.is-home .burger{top:24px;transform:none}
.burger i{display:block;height:1.5px;background:var(--ink)}
.toplink{position:absolute;right:24px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.is-home .toplink{top:22px;transform:none}
.mast{display:flex;align-items:center;gap:10px}
.is-home .mast{flex-direction:column;gap:0}
.mast .mark{width:26px;height:26px;display:block}
.is-home .mast .mark{width:34px;height:34px;margin-bottom:6px}
.mast .name{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.is-home .mast .name{font-size:34px}
.mast .name b,.footer-brand .name b{font-weight:600}
.mast img.brand-logo{display:block;height:34px;width:auto}.is-home .mast img.brand-logo{height:60px}
nav.primary{border-bottom:1px solid var(--hair)}
nav.primary .wrap{display:flex;justify-content:center;align-items:center;height:48px}
.nav-group{display:flex;gap:38px;list-style:none;margin:0;padding:0;font-family:var(--display);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase}
.nav-group li{display:block}.nav-group a{display:inline-block;padding-bottom:3px;border-bottom:1.5px solid transparent;line-height:1}
.nav-group a.on,.nav-group .current-menu-item>a,.nav-group .current_page_item>a{border-bottom-color:var(--ink)}
.nav-group a:hover{color:var(--red)}
/* ---- front page: lead ---- */
.lead{padding:34px 0 36px;border-bottom:1px solid var(--ink)}
.lead .img{display:block;aspect-ratio:2/1;background:var(--cover);position:relative;overflow:hidden}
.lead .img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.lead .cap{margin:8px 0 22px}
.lead .txt{max-width:820px;margin:0 auto;text-align:center}
.lead h1{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.08;margin:10px 0 16px;letter-spacing:-.01em}
.lead .dek{font-size:24px;line-height:1.3;margin:0 0 18px}
/* ---- front page: Catch up quick (thumbnail rows, also used by related and archives) ---- */
.quick{padding:34px 0 24px;border-bottom:1px solid var(--hair)}
.h{text-align:center;font-family:var(--sans);font-weight:400;font-size:15px;color:var(--mid);margin:0 0 6px}
.h:after{content:"";display:block;width:28px;height:1px;background:var(--red);margin:10px auto 18px}
.qrows{max-width:820px;margin:0 auto}
.qrow{display:grid;grid-template-columns:132px 1fr;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hair)}
.qrow:last-child{border-bottom:0}
.qrow .th{aspect-ratio:3/2;background:var(--panel-b);position:relative;overflow:hidden}
.qrow .th img{display:block;width:100%;height:100%;object-fit:cover}
.qrow .th.no-art svg{width:60%;height:60%;margin:20% auto;display:block;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.qrow h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;margin:0 0 4px}
.qrow:hover h3{color:var(--red)}
.qrow .m{font-family:var(--mono);font-size:13px;color:var(--mid);letter-spacing:.08em;text-transform:uppercase}
.qrow .m i{font-style:normal;color:var(--red)}
/* ---- front page: This week's calculators (black bar + pair) ---- */
.picks{padding:36px 0 30px;border-bottom:1px solid var(--ink)}
.picks .bar{margin-bottom:26px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.pair.is-one{grid-template-columns:1fr;max-width:640px}
.pair>div{position:relative}
.pair>div+div:before{content:"";position:absolute;left:-20px;top:0;bottom:0;width:1px;background:var(--hair)}
.pair .rub{margin-bottom:8px;display:block}
.pair h3{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1.1;margin:0 0 12px;letter-spacing:-.01em}
.pair h3 a:hover{color:var(--red)}
.pair p{font-size:20px;line-height:1.35;margin:0 0 12px}
.pill,.golink{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);border-radius:999px;padding:10px 18px;font-family:var(--sans);font-weight:600;font-size:14px;line-height:1.2;margin-top:4px;background:#fff}
.pill svg{width:16px;height:16px}
.pill:hover,.golink:hover{background:var(--tint)}
/* ---- front page: trust strip ---- */
.trust{background:var(--tint);border-bottom:1px solid var(--hair);padding:26px 0}
.trust .wrap{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:24px;align-items:center}
.trust .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);line-height:1.6}
.trust .pillar{display:flex;gap:12px;align-items:center}
.trust .pillar svg{width:28px;height:28px;flex:none;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.trust .pillar span{font-style:italic;font-size:20px;line-height:1.2}
.trust .pillar span b{display:block;font-style:normal;font-family:var(--sans);font-size:12px;color:var(--mid);margin-top:2px;font-weight:400}
/* ---- section blocks (rubric icon + caps title + italic description + 1:1 cards) ---- */
section.block{padding:50px 0 44px;border-bottom:1px solid var(--hair)}
.rubric{text-align:center;margin-bottom:30px}
.rubric svg{display:block;margin:0 auto 12px;height:50px;width:auto;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.rubric h2,.rubric h1{font-family:var(--display);font-weight:400;font-size:30px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;line-height:1}
.rubric p{font-style:italic;font-size:20px;margin:0}
.rubric .m{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);margin-top:8px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px}
.cards.is-grid{gap:40px 30px}
.card{position:relative;padding-bottom:8px;min-width:0}
.card+.card:before{content:"";position:absolute;left:-15px;top:0;bottom:0;width:1px;background:var(--hair)}
.cards.is-grid .card:nth-child(4n+1):before{display:none}
.card>a{display:block}
.art{aspect-ratio:1/1;background:var(--panel-a);position:relative;overflow:hidden;margin-bottom:12px}
.card:nth-child(even) .art{background:var(--panel-b)}
.art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.art.no-art svg{width:50%;height:50%;margin:25% auto;display:block;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15;margin:0 0 8px}
.card:hover h3{color:var(--red)}
.card p{font-size:17.5px;line-height:1.35;margin:0 0 10px}
.card .by{font-size:13px}
.dots{display:none}
/* ---- article (mock post.html) ---- */
.post .head,.collection{max-width:860px;margin:0 auto;padding:54px 24px 26px;text-align:center}
.post h1,.collection h1{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.08;margin:12px 0 18px;letter-spacing:-.01em}
.post .head .dek,.collection .dek{font-size:25px;line-height:1.32;margin:0 0 22px}
.collection h1{font-size:44px}.collection .dek{font-size:20px;font-style:italic}
.hero{max-width:1000px;margin:0 auto;padding:0 24px}
.hero .img{aspect-ratio:2/1;background:var(--cover);position:relative;overflow:hidden}
.hero .img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero .cap{padding:8px 0 0}
.body{max-width:700px;margin:0 auto;padding:36px 24px 30px;font-size:21px;line-height:1.5}
.body p{margin:0 0 24px}
.body a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.body a.golink,.body a.pill,.body .cs-tool a.cs-share{text-decoration:none}
.body ul,.body ol{margin:0 0 24px;padding-left:24px}.body li{margin:0 0 8px}
.body hr{border:0;border-top:1px solid var(--hair);margin:30px 0}
.body img{display:block;max-width:100%;height:auto;margin:0 auto}
.body figure{margin:26px 0}.body figure.figure{text-align:center}
.body figcaption,.body .caption,.body .wp-caption-text{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--mid);line-height:1.5;margin-top:8px;text-align:left}
.body .disclosure-line{font-family:var(--sans);font-size:13px;color:var(--mid)}
/* Axios-style lede — written by the Writer: <div class="lede"><p><b>The short version:</b> …</p><p><b>Why it matters:</b> …</p><a class="golink" href="#calc">Run it with your quote ↓</a></div> */
.lede{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);padding:18px 0 8px;margin:0 0 30px}
.lede p{margin:0 0 12px;font-size:21px}
.lede b{font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:.01em}
.golink{margin:4px 0 14px}
.body h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.15;margin:40px 0 14px;letter-spacing:0}
.body h2 .k{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px;font-weight:400}
.body h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin:30px 0 10px}
.body blockquote{margin:26px 0;padding:0 0 0 18px;border-left:1px solid var(--ink);font-style:italic}
.body strong,.body b{font-weight:500} /* EB Garamond ships 400/500 only — no synthesized bold */
.body table b,.body table strong,.body .cs-tool b,.body .cs-tool strong{font-weight:700} /* Inter has 700 */
/* figures strip — <div class="figs"><div><div class="n">$0</div><div class="l">label</div></div>…</div> */
.figs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:26px 0 32px}
.figs div{padding:16px 12px;text-align:center}
.figs>div+div{border-left:1px solid var(--hair)}
.figs .n{font-family:var(--serif);font-size:40px;line-height:1;padding:0}
.figs .l{font-family:var(--sans);font-size:13px;color:var(--mid);margin-top:8px;line-height:1.4;padding:0}
/* tables (pb_wrap_tables / cs-core wrap in .table-scroll) */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 34px;max-width:100%}
.table-scroll>table{margin:0}
.body table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;line-height:1.45;margin:0 0 34px;background:#fff}
.body th{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:10px 8px;border-bottom:1px solid var(--ink);vertical-align:bottom}
.body td{padding:12px 8px;border-bottom:1px solid var(--hair);vertical-align:top}
.body td.n,.body th.n{text-align:right;font-variant-numeric:tabular-nums}.body td.n{font-weight:600}
.body caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);padding:0 0 8px}
/* pull quote — <div class="pull">…<b>Editor's call</b></div> */
.pull{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 10px;margin:36px 0;text-align:center;font-size:27px;line-height:1.3;font-style:italic}
.pull b{display:block;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-top:12px;color:var(--red);font-weight:400}
/* sources box — <div class="sources"><b>Where these numbers come from</b>…</div> */
.sources{background:var(--tint);padding:18px 20px;font-family:var(--sans);font-size:14px;color:var(--mid);line-height:1.6;margin-top:36px}
.sources b{font-family:var(--mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--ink);display:block;margin-bottom:8px}
.sources a{color:var(--ink)}
/* author box (theme) */
.author{margin-top:30px;padding-top:18px;border-top:1px solid var(--hair);font-size:17px;line-height:1.5}
.author b{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.author b a{text-decoration:none}
/* related rows + prev/next */
.more{border-top:1px solid var(--ink);padding:40px 24px 36px}
.more .qrow h3{font-size:23px}
.more.list{border-top:0;padding-top:10px}
.post-nav{max-width:820px;margin:0 auto;padding:0 24px 36px;display:flex;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--mid);line-height:1.5}
.post-nav .next{margin-left:auto;text-align:right}
.post-nav a:hover{color:var(--red)}
.post-nav:empty{display:none}
.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:35px 0 10px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.pagination .page-numbers{padding:8px 12px;border:1px solid var(--hair)}.pagination .current{background:var(--ink);color:#fff;border-color:var(--ink)}
.empty{background:var(--tint);padding:30px;text-align:center;margin:20px auto;max-width:700px}
.empty h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 10px}
.utility .body{min-height:40vh}
/* ---- cs-tools (plugin CSS is printed after the theme's, so every override out-specifies it with .body .cs-tool.cs-calc) ---- */
.body .cs-tool{border:1px solid var(--ink);border-radius:0;background:#fff;box-shadow:none;font-family:var(--sans);color:var(--ink);margin:26px 0 38px;padding:24px 22px 20px;font-size:16px;line-height:1.5}
.body .cs-tool .cs-tool-title{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.15;letter-spacing:0;margin:0 0 6px;color:var(--ink)}
.body .cs-tool .cs-tool-note{font-size:14px;color:var(--mid);margin:0 0 20px;line-height:1.5}
.body .cs-tool.cs-calc{padding:28px 26px 24px}
/* TODO(repair-brief): the mock's per-post bar label ("Repair or replace") needs a shortcode attribute; static "Calculator" until cs-tools exposes one. Inputs stack one per row (mock .row is two columns) because the shortcode prints label+input+slider as siblings. */
.body .cs-tool.cs-calc::before{content:"Calculator";display:inline-block;background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px 6px;margin-bottom:14px}
.body .cs-tool.cs-calc .cs-calc-inputs{display:grid;grid-template-columns:1fr;gap:14px;background:none;border:0;border-radius:0;padding:0;row-gap:14px}
.body .cs-tool.cs-calc .cs-calc-label{display:block;min-height:0;font-weight:400;padding:0}
.body .cs-tool.cs-calc .cs-calc-label>span:first-child{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-bottom:8px;line-height:1.4;white-space:normal}
.body .cs-tool.cs-calc .cs-calc-label .cs-inputbox{display:flex;width:100%;max-width:none;min-width:0;height:48px;border:1px solid var(--ink);border-radius:0;background:#fff;padding:0 14px;justify-content:flex-start;align-items:center;gap:6px}
.body .cs-tool.cs-calc .cs-calc-label .cs-inputbox>span{font-family:var(--sans);font-weight:600;font-size:17px;color:var(--ink);min-width:0}
.body .cs-tool.cs-calc .cs-calc-label .cs-inputbox input{width:100%;max-width:none;flex:1;text-align:left;font-family:var(--sans);font-weight:600;font-size:17px;color:var(--ink);letter-spacing:0}
.body .cs-tool.cs-calc .cs-calc-label .cs-inputbox input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.body .cs-tool.cs-calc .cs-calc-label.is-select .cs-selectbox{height:auto;padding:0}
.body .cs-tool.cs-calc .cs-calc-label.is-select .cs-selectbox select{font-family:var(--sans);font-weight:600;font-size:16px;padding:12px 14px;color:var(--ink);background:#fff}
.body .cs-tool.cs-calc .cs-slider{height:22px;margin:4px 6px 0;accent-color:var(--ink)}
.body .cs-tool.cs-calc .cs-slider::-webkit-slider-runnable-track{height:2px;border-radius:0;background:var(--ink)}
.body .cs-tool.cs-calc .cs-slider::-webkit-slider-thumb{width:18px;height:18px;margin-top:-8px;border:1.5px solid var(--ink);background:#fff;box-shadow:none}
.body .cs-tool.cs-calc .cs-slider::-moz-range-track{height:2px;border-radius:0;background:var(--ink)}
.body .cs-tool.cs-calc .cs-slider::-moz-range-thumb{width:16px;height:16px;border:1.5px solid var(--ink);background:#fff;box-shadow:none}
.body .cs-tool.cs-calc .cs-calc-outputs{border-top:0;margin-top:22px;padding-top:0}
.body .cs-tool.cs-calc .cs-cards{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink);margin:0 0 0;align-items:stretch}
.body .cs-tool.cs-calc .cs-cards.cs-cards-1{grid-template-columns:1fr}
.body .cs-tool.cs-calc .cs-cards .cs-card{border:0;border-radius:0;background:#fff;padding:20px 22px;min-width:0;display:flex;flex-direction:column}
.body .cs-tool.cs-calc .cs-cards .cs-card.is-main{background:#fff;border-color:transparent}
.body .cs-tool.cs-calc .cs-cards-n .cs-card:nth-child(even){border-left:1px solid var(--ink)}
.body .cs-tool.cs-calc .cs-cards-n .cs-card:nth-child(n+3){border-top:1px solid var(--ink)}
.body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);min-height:0;margin-bottom:6px;line-height:1.4}
.body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-value{font-family:var(--serif);font-weight:400;font-size:44px;line-height:1;letter-spacing:0;color:var(--ink);margin:6px 0 8px}
.body .cs-tool.cs-calc .cs-cards .cs-card:not(.is-main) .cs-card-value{font-size:44px;color:var(--ink)}
.body .cs-tool.cs-calc .cs-cards-n .cs-card:nth-child(2) .cs-card-value{color:var(--red)} /* the "where it flips" card */
.body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-value.cs-card-text{font-size:24px;line-height:1.25;font-weight:400}
.body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-sub{font-family:var(--sans);font-size:14px;line-height:1.45;color:var(--ink);opacity:1;margin-top:0}
.body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-ex{font-size:13px;color:var(--mid)}
.body .cs-tool.cs-calc .cs-chart,.body .cs-tool.cs-calc .cs-compare{border:0;border-radius:0;background:none;padding:0;margin:22px 0 0}
.body .cs-tool.cs-calc .cs-chart svg,.body .cs-tool.cs-calc .cs-compare svg{height:auto;max-height:240px}
.body .cs-tool .cs-bar-value{font-family:var(--sans);font-size:13px;font-weight:600;fill:var(--ink)}
.body .cs-tool .cs-bar-label{font-family:var(--sans);font-size:13px;fill:var(--mid)}
.body .cs-tool .cs-chart figcaption,.body .cs-tool .cs-compare-caption{font-family:var(--sans);font-size:13px;color:var(--mid);margin:6px 0 0}
.body .cs-tool.cs-calc .cs-compare table{font-size:14px} /* 1.0.3: 자동 레이아웃 유지 — 열이 많으면 플러그인 .cs-compare-table 이 가로 스크롤(다른 두 사이트와 같게) */
.body .cs-tool.cs-calc .cs-compare tbody th{min-width:0;padding-left:0}
.body .cs-tool.cs-calc .cs-compare th,.body .cs-tool.cs-calc .cs-compare td{border-top:1px solid var(--hair)}
.body .cs-tool.cs-calc .cs-compare thead th{font-family:var(--mono);font-size:13px;letter-spacing:0;text-transform:uppercase;font-weight:400;color:var(--mid);white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;padding-left:4px;padding-right:4px;text-align:right;vertical-align:bottom} /* 1.0.3: 모노 13px 바닥 유지, 자간 0 — 'REGISTERED'(10자) 한 열에 통째로 */
.body .cs-tool.cs-calc .cs-compare .is-current{background:var(--tint);color:var(--ink)}
.body .cs-tool .cs-calc-text{font-size:15px}
.body .cs-tool .cs-calc-text>span{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.body .cs-tool .cs-calc-text.is-primary p{border-left:3px solid var(--ink);border-radius:0;background:var(--tint);font-size:16px}
.body .cs-tool .cs-calc-message{color:var(--red);font-size:14px}
.body .cs-tool .cs-tool-actions{margin-top:18px}
.body .cs-tool .cs-share,.body .cs-tool .cs-embed-btn{border-radius:0;border:1px solid var(--ink);background:#fff;color:var(--ink);font-family:var(--sans);font-weight:600;font-size:13px;padding:8px 14px;line-height:1.2}
.body .cs-tool .cs-share:hover,.body .cs-tool .cs-embed-btn:hover{background:var(--tint);color:var(--ink);border-color:var(--ink)}
.body .cs-tool .cs-share:focus-visible,.body .cs-tool .cs-embed-btn:focus-visible{outline:2px solid var(--ink)}
.body .cs-tool .cs-share-done,.body .cs-tool .cs-embed-done{font-size:13px;color:var(--mid)}
.body .cs-tool .cs-embed-box textarea{border-radius:0;border-color:var(--hair);background:var(--tint)}
.body .cs-tool .cs-tool-check{font-size:13px;color:var(--mid);margin-top:14px;line-height:1.5}
.body .cs-tool .cs-tool-check a{color:var(--ink)}
.body .cs-tool.cs-calc .cs-details{border:0;border-top:1px solid var(--hair);border-radius:0;padding:0;margin-top:22px;background:none}
.body .cs-tool.cs-calc .cs-details summary{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-weight:400;padding:12px 0 8px}
.body .cs-tool .cs-details .cs-calc-result{font-family:var(--sans);font-size:14px;border-top:1px solid var(--hair)}
.body .cs-tool .cs-details .cs-calc-result strong{font-size:15px;font-weight:600;color:var(--ink)}
.body .cs-tool .cs-tool-formula{border-top:1px solid var(--hair);font-size:13px;color:var(--mid);margin-top:14px;padding-top:12px}
.body .cs-tool .cs-tool-privacy{font-size:13px;color:var(--mid)}
.body .cs-tool .cs-choice-option{border-color:var(--hair);border-radius:0}
.body .cs-tool .cs-choice-option:has(input:checked){border-color:var(--ink);background:var(--tint)}
.body .cs-tool .cs-choice-result{border-left:3px solid var(--ink);background:var(--tint)}
.body .cs-tool .cs-checklist-list input{accent-color:var(--ink)}
/* [cs_figure] / [cs_formula] number boxes */
.body .cs-tool.cs-figure,.body .cs-tool.cs-formula{padding:18px 20px;margin:26px 0 32px}
.body .cs-tool .cs-figure-cap,.body .cs-tool .cs-formula-cap{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink);margin:0 0 12px}
.body .cs-tool .cs-figure-grid{gap:1px;background:var(--hair)}
.body .cs-tool .cs-figure-item{background:#fff;padding:14px 12px}
.body .cs-tool .cs-figure-item.is-key{background:var(--tint);box-shadow:inset 0 -3px 0 var(--red)}
.body .cs-tool .cs-figure-label{font-family:var(--sans);font-size:13px;color:var(--mid)}
.body .cs-tool .cs-figure-num{font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:0;color:var(--ink)}
.body .cs-tool .cs-figure-num-long{font-size:28px}
.body .cs-tool .cs-figure-num small{font-size:16px;font-weight:400}
.body .cs-tool .cs-figure-bar{background:var(--hair)}.body .cs-tool .cs-figure-bar span{background:var(--ink)}
.body .cs-tool .cs-figure-item.is-key .cs-figure-bar span{background:var(--red)}
.body .cs-tool .cs-figure-foot{font-size:15px}
.body .cs-tool.cs-formula{border-left:4px solid var(--ink)}
.body .cs-tool .cs-formula-main{font-family:var(--serif);font-weight:500;font-size:22px}
.body .cs-tool .cs-formula-main i{color:var(--red)}
.body .cs-tool .cs-formula-ex{background:var(--tint);font-size:15px}
.body .cs-tool .cs-formula-ex-label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
/* [cs_faq] (hub posts) + [cs_tools_index] inherit the ink accent via --accent/--line; headings fall to .body h2/h3 */
.body .cs-index-group h2{font-family:var(--serif);font-weight:500;font-size:26px;border-bottom:1px solid var(--ink)}
.body .cs-index-list a{font-family:var(--serif);font-weight:400;font-size:21px}
/* ---- footer ---- */
.site-footer{border-top:1px solid var(--ink);padding:38px 24px 34px;text-align:center}
.footer-brand{margin-bottom:16px}
.footer-brand .name{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.1em;text-transform:uppercase}
.footer-brand img.brand-logo{display:block;height:28px;width:auto;margin:0 auto}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;padding:0;list-style:none}
.footer-links a:hover{color:var(--red)}
.site-footer small{display:block;font-family:var(--sans);font-size:12px;color:var(--mid);max-width:70ch;margin:0 auto;line-height:1.5}
/* ---- mobile (≤760px): mono stays ≥13/12px, body 19.5px, card dek 17.5px ---- */
@media (max-width:760px){
 header.top .wrap{height:70px}header.top.is-home .wrap{height:96px}
 .mast .name{font-size:19px}.is-home .mast .name{font-size:24px}.is-home .mast .mark{width:28px;height:28px}
 .toplink{display:none}.is-home .toplink{display:block;top:18px}
 nav.primary{display:none}
 body.nav-open nav.primary{display:block}
 body.nav-open nav.primary .wrap{height:auto;padding:14px 24px 18px;justify-content:flex-start}
 body.nav-open .nav-group{flex-direction:column;gap:16px;align-items:flex-start}
 .lead{padding:20px 0 26px}.lead h1{font-size:34px}.lead .dek{font-size:20px}.lead .txt{text-align:left}
 .qrow{grid-template-columns:104px 1fr;gap:14px}.qrow h3{font-size:21px}
 .pair{grid-template-columns:1fr;gap:28px}.pair>div+div:before{display:none}.pair>div+div{border-top:1px solid var(--hair);padding-top:24px}.pair h3{font-size:28px}
 .trust .wrap{grid-template-columns:1fr;gap:14px}
 section.block{padding:38px 0 30px}.rubric h2,.rubric h1{font-size:26px}.rubric p{font-size:18px}
 .cards,.cards.is-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -24px;padding-left:24px;gap:0;scrollbar-width:none}
 .cards::-webkit-scrollbar{display:none}
 .card{flex:0 0 78%;scroll-snap-align:start;padding-right:18px;margin-right:18px}.card+.card:before{left:-18px}
 .cards.is-grid .card:nth-child(4n+1):before{display:block}
 .dots{display:flex;justify-content:center;gap:10px;margin-top:14px}.dots i{width:8px;height:8px;border-radius:50%;background:#ddd}.dots i.on{background:var(--ink)}
 .post .head,.collection{padding:34px 22px 20px;text-align:left}.collection{text-align:center}
 .post h1{font-size:36px}.post .head .dek{font-size:21px}.collection h1{font-size:34px}
 .hero{padding:0 22px}
 .body{padding:28px 22px 20px;font-size:19.5px}.lede p{font-size:19.5px}
 .body h2{font-size:28px}
 .figs .n{font-size:30px}.pull{font-size:23px}
 .more .qrow h3,.more.list .qrow h3{font-size:20px}
 .post-nav{flex-direction:column;gap:12px}.post-nav .next{margin-left:0;text-align:left}
 .body .cs-tool.cs-calc{padding:20px 16px 18px}
 .body .cs-tool.cs-calc .cs-cards,.body .cs-tool.cs-calc .cs-cards.cs-cards-n{grid-template-columns:1fr}
 .body .cs-tool.cs-calc .cs-cards-n .cs-card:nth-child(even){border-left:0}
 .body .cs-tool.cs-calc .cs-cards-n .cs-card+.cs-card{border-top:1px solid var(--ink)}
 .body .cs-tool.cs-calc .cs-cards .cs-card .cs-card-value,.body .cs-tool.cs-calc .cs-cards .cs-card:not(.is-main) .cs-card-value{font-size:38px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
