/* Exam guides + journal articles. Built on landing-c.css and
   public-system.css: the dark rounded hero, lime accents and the
   homepage's lesson-sample language (sample cards, module numbers,
   callouts), arranged as a course: an outline card in the hero,
   a sticky chapter bar and numbered lesson cards. */

/* ── Hero ─────────────────────────────────────────────────────────── */
.guide-hero{padding-bottom:70px}
.guide-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:end;position:relative;z-index:1}
.guide-hero h1{font-size:clamp(44px,5.2vw,72px)}
.guide-hero h1.article-title{font-size:clamp(38px,4.6vw,62px);line-height:1.12;max-width:980px}
.guide-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;color:#9a9a9a;margin-bottom:26px;position:relative;z-index:1}
.guide-crumbs a{color:#c9c9c9}
.guide-crumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.guide-crumbs span[aria-current]{color:#9a9a9a}
.guide-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.guide-actions .btn{font-size:13px}

/* Outline card: the guide's syllabus, like a course module card */
.guide-syllabus{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:30px;padding:26px 24px 22px;backdrop-filter:blur(6px)}
.guide-syllabus-label{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#a8a8a8;font-weight:600;margin-bottom:14px}
.guide-syllabus ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.guide-syllabus a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;font-size:12px;line-height:1.4;color:#e6e6e6}
.guide-syllabus a span{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:#ffffff14;font-size:9px;color:#cfcfcf}
.guide-syllabus a:hover{background:#ffffff12;color:#fff}
.guide-syllabus a:hover span{background:var(--green);color:var(--ink)}
.guide-facts{display:flex;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #ffffff1a}
.guide-facts div{flex:1;min-width:0}
.guide-facts strong{display:block;font-family:var(--heading);font-weight:500;font-size:24px;color:#fff;letter-spacing:-.02em;line-height:1.2}
.guide-facts span{display:block;font-size:9px;color:#9a9a9a;margin-top:4px}
.guide-facts-note{font-size:9px;color:#7d7d7d;margin-top:12px}

.article-hero .public-sub{max-width:720px}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;position:relative;z-index:1}
.article-tags span{font-size:10px;padding:6px 12px;border-radius:999px;border:1px solid #ffffff26;color:#d6d6d6}

/* ── Sticky chapter bar ───────────────────────────────────────────── */
.guide-chapters{position:sticky;top:84px;z-index:20;margin-top:-26px}
.guide-chapters-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:7px;background:#ffffffe8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--rule);border-radius:999px;box-shadow:0 10px 30px #0000000d;width:max-content;max-width:100%;margin:0 auto}
.guide-chapters-row::-webkit-scrollbar{display:none}
.guide-chapters a{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;font-weight:500;padding:8px 14px 8px 8px;border-radius:999px;color:var(--ink)}
.guide-chapters a span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg);font-size:9px;color:var(--gray)}
.guide-chapters a:hover{background:var(--green-light)}
.guide-chapters a:hover span{background:var(--ink);color:#fff}

/* ── Course column ────────────────────────────────────────────────── */
.guide-course{max-width:920px;padding-top:44px}
.guide-lede p{font-size:16px;line-height:1.85;color:var(--gray);margin-bottom:16px}

.lesson-card{background:#fff;border:1px solid var(--rule);border-radius:32px;overflow:hidden;margin-bottom:22px;scroll-margin-top:150px}
.lesson-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 30px;border-bottom:1px solid var(--rule);background:#fafafa;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.lesson-top b{font-weight:600;color:var(--ink)}
.lesson-dots{display:flex;gap:5px}
.lesson-dots i{width:7px;height:7px;border-radius:50%;background:#e2e2de}
.lesson-dots i:first-child{background:var(--green)}
.lesson-inner{padding:34px 40px 38px}
.lesson-inner h2{font-family:var(--heading);font-size:clamp(28px,3vw,38px);font-weight:500;letter-spacing:-.025em;line-height:1.18;margin-bottom:20px}
.lesson-inner h3{font-size:15px;font-weight:600;letter-spacing:-.01em;line-height:1.5;margin:26px 0 10px}
.lesson-inner p,.article-body p{font-size:14px;line-height:1.85;color:var(--gray);margin-bottom:16px}
.lesson-inner strong,.article-body strong{color:var(--ink);font-weight:600}
.lesson-inner a,.article-body a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.lesson-inner ul,.article-body ul{margin:0 0 18px;padding-left:20px}
.lesson-inner ul li,.article-body ul li{font-size:14px;line-height:1.85;color:var(--gray);margin-bottom:7px}

/* Ordered lists read as study steps (homepage "day" rows) */
.lesson-inner ol:not(.guide-areas),.article-body ol{list-style:none;counter-reset:step;margin:6px 0 20px;padding:0;display:grid;gap:8px}
.lesson-inner ol:not(.guide-areas)>li,.article-body ol>li{counter-increment:step;position:relative;padding:15px 18px 15px 58px;border:1px solid var(--rule);border-radius:16px;font-size:13px;line-height:1.75;color:var(--gray)}
.lesson-inner ol:not(.guide-areas)>li::before,.article-body ol>li::before{content:counter(step);position:absolute;left:16px;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px}

/* Content areas = course modules */
.guide-areas{list-style:none;margin:4px 0 22px;padding:0;display:grid;gap:10px}
.guide-areas li{display:flex;gap:15px;align-items:flex-start;background:var(--bg);border-radius:18px;padding:17px 18px}
.area-num{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px}
.guide-areas strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.45;color:var(--ink)}
.area-weight{font-family:var(--sans);font-style:normal;font-size:9px;font-weight:600;background:var(--green-light);border-radius:6px;padding:3px 7px}
.guide-areas li div>span{display:block;font-size:12px;line-height:1.75;color:var(--gray);margin-top:5px}

/* Figures and callouts */
.guide-figure{margin:24px 0 22px;padding:24px;background:#fafafa;border:1px solid var(--rule);border-radius:24px}
.guide-figure svg{display:block;width:100%;height:auto;max-width:720px;margin:0 auto}
.guide-figure svg text{font-family:'Geist',-apple-system,'Helvetica Neue',Arial,sans-serif}
.guide-figure figcaption{font-size:11px;line-height:1.7;color:var(--faint);text-align:center;margin-top:16px}
.guide-figure table{width:100%;border-collapse:collapse;font-size:12px;background:#fff;border-radius:14px;overflow:hidden}
.guide-figure th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);padding:12px;border-bottom:1px solid var(--rule);background:#fafafa}
.guide-figure td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--gray);line-height:1.6}
.guide-figure tr:last-child td{border-bottom:0}
.guide-callout{border-radius:18px;padding:17px 21px;margin:16px 0}
.guide-callout p{font-size:13px!important;color:var(--ink)!important;margin:0 0 8px!important;line-height:1.75!important}
.guide-callout p:last-child{margin-bottom:0!important}
.guide-callout .guide-callout-label{font-size:9px!important;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--gray)!important;margin:0 0 6px!important}
.guide-takeaway{background:var(--green-light)}
.guide-trap{background:var(--bg)}
.guide-note{background:#fff;border:1px solid var(--rule)}

/* "How Kpath supports" lesson in the dark product colors */
.lesson-dark{background:var(--ink);border-color:var(--ink)}
.lesson-dark .lesson-top{background:#ffffff08;border-color:#ffffff14;color:#9a9a9a}
.lesson-dark .lesson-top b{color:var(--green)}
.lesson-dark .lesson-dots i{background:#ffffff26}
.lesson-dark .lesson-dots i:first-child{background:var(--green)}
.lesson-dark h2{color:#fff}
.lesson-dark p{color:#c4c4c4}

/* FAQ — native details/summary, styled like the homepage FAQ */
.guide-faq{margin:0;border-top:1px solid var(--rule)}
.guide-faq details{border-bottom:1px solid var(--rule)}
.guide-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;font-size:14px;font-weight:500;line-height:1.5;color:var(--ink);cursor:pointer;list-style:none}
.guide-faq summary::-webkit-details-marker{display:none}
.guide-faq summary span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:999px;background:var(--bg);font-size:17px;font-weight:400;transition:transform .2s,background .2s}
.guide-faq details[open] summary span{transform:rotate(45deg);background:var(--green)}
.guide-faq-a{padding:0 0 16px}
.guide-faq-a p{font-size:13px!important}

/* Journal list inside guides / articles */
.guide-related{list-style:none!important;padding:0!important;margin:0;border-top:1px solid var(--rule)}
.guide-related li{margin:0!important;border-bottom:1px solid var(--rule)}
.guide-related a{display:block;padding:16px 0;font-size:15px;font-weight:500;line-height:1.5;color:var(--ink);text-decoration:none!important}
.guide-related a span{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:500;margin-bottom:4px}
.guide-related a:hover{color:var(--gray)}

/* ── Other guides (homepage division-card language) ───────────────── */
.guide-next{margin:56px 0 0}
.guide-next .section-label{font-size:10px;margin-bottom:14px}
.guide-next h2{font-size:clamp(30px,3.4vw,44px);margin-bottom:26px}
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.guide-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--rule);border-radius:26px;padding:22px;transition:transform .25s var(--ease),border-color .25s}
.guide-card:hover{transform:translateY(-2px);border-color:#c9c9c4}
.guide-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.guide-card-abbr{display:grid;place-items:center;min-width:36px;height:30px;padding:0 9px;border-radius:999px;background:var(--bg);font-size:10px;font-weight:600}
.guide-card-tag{font-size:8px;letter-spacing:.04em;padding:4px 8px;background:var(--green-light);border-radius:99px;color:var(--ink)}
.guide-card strong{font-family:var(--heading);font-weight:500;font-size:20px;line-height:1.25;letter-spacing:-.02em}
.guide-card-text{font-size:12px;line-height:1.65;color:var(--gray)}
.guide-card-go{margin-top:auto;font-size:11px;font-weight:600}

/* Closing CTA */
.guide-cta{margin:40px 0 0;padding:40px 40px;background:var(--ink);border-radius:32px;color:#fff;position:relative;overflow:hidden}
.guide-cta::after{content:'';position:absolute;width:300px;height:300px;right:-90px;bottom:-170px;border:46px solid #ffffff06;border-radius:50%}
.guide-cta .section-label{color:#a8a8a8;font-size:9px;margin-bottom:14px}
.guide-cta h2{color:#fff;margin:0 0 12px;font-size:clamp(28px,2.8vw,38px);font-family:var(--heading);font-weight:500;letter-spacing:-.02em}
.guide-cta p:not(.section-label){color:#bcbcbc;font-size:13px;line-height:1.8;max-width:540px}
.guide-cta .btn{margin-top:22px;font-size:12px;background:var(--green);color:var(--ink);border-color:transparent;position:relative;z-index:1}

/* ── Article reading column ───────────────────────────────────────── */
.article-course{max-width:860px}
.article-body{background:#fff;border:1px solid var(--rule);border-radius:32px;padding:44px 52px 40px}
.article-body h2{font-family:var(--heading);font-size:clamp(26px,2.8vw,34px);font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:42px 0 16px;scroll-margin-top:150px}
.article-body h3{font-size:16px;font-weight:600;line-height:1.5;margin:28px 0 10px}
.article-lede p{font-size:16px!important;line-height:1.85!important}
.article-more{margin-top:46px}
.article-more .section-label{font-size:10px;margin-bottom:12px}

/* ── Journal index (blog.html) ────────────────────────────────────── */
.journal-list-wrap{max-width:980px}
.journal-featured{display:block;padding:40px 42px;background:#fff;border:1px solid var(--rule);border-radius:36px;transition:transform .25s var(--ease)}
.journal-featured:hover{transform:translateY(-2px)}
.journal-featured .section-label{font-size:9px;margin-bottom:16px}
.journal-featured strong{display:block;font-family:var(--heading);font-weight:500;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.03em}
.journal-excerpt{display:block;font-size:13px;line-height:1.8;color:var(--gray);margin-top:14px;max-width:660px}
.journal-meta{display:block;font-size:10px;color:var(--faint);letter-spacing:.04em}
.journal-featured .journal-meta{margin-top:18px}
.journal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.journal-tags span{font-size:9px;padding:4px 9px;border-radius:999px;background:var(--bg);color:var(--gray)}
.journal-list{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid var(--rule)}
.journal-list a{display:grid;grid-template-columns:minmax(0,1fr) 30px;column-gap:20px;padding:24px 4px;border-bottom:1px solid var(--rule)}
.journal-list a:hover{background:#ffffff80}
.journal-list .journal-meta,.journal-list strong,.journal-list .journal-excerpt,.journal-list .journal-tags{grid-column:1}
.journal-list strong{font-family:var(--heading);font-weight:500;font-size:24px;line-height:1.3;letter-spacing:-.02em;margin-top:8px}
.journal-list .journal-excerpt{margin-top:8px}
.journal-arrow{grid-column:2;grid-row:1/span 4;align-self:center;font-size:18px;color:var(--faint)}
.journal-divisions{margin-top:56px;text-align:center}
.journal-divisions .section-label{font-size:9px;margin-bottom:16px}
.journal-divisions div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.journal-divisions a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--rule);border-radius:999px;font-size:11px;font-weight:600;background:#fff}
.journal-divisions a span{font-weight:400;color:var(--gray)}
.journal-divisions a:hover{background:var(--green-light);border-color:transparent}

@media(max-width:1000px){
.guide-hero-grid{grid-template-columns:1fr;gap:34px}
.guide-syllabus{max-width:520px}
.guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){.guide-chapters{top:76px}}
@media(max-width:600px){
.guide-hero h1{font-size:clamp(36px,10vw,50px)}
.guide-hero h1.article-title{font-size:clamp(32px,8.6vw,44px)}
.guide-crumbs{font-size:10px;gap:7px;margin-bottom:20px}
.guide-actions .btn{width:100%}
.guide-syllabus{padding:20px 16px 18px;border-radius:24px}
.guide-facts strong{font-size:20px}
.guide-chapters{top:72px;margin-top:-22px}
.guide-chapters-row{border-radius:20px;width:auto;margin:0}
.guide-course{padding-top:32px}
.lesson-card{border-radius:24px}
.lesson-top{padding:14px 20px}
.lesson-inner{padding:26px 20px 28px}
.lesson-inner ol:not(.guide-areas)>li,.article-body ol>li{padding:14px 14px 14px 52px}
.guide-areas li{padding:15px 14px;gap:12px}
.guide-figure{padding:14px;border-radius:18px;margin-left:-4px;margin-right:-4px}
.guide-figure table{font-size:11px}
.guide-figure th,.guide-figure td{padding:9px 7px}
.guide-cards{grid-template-columns:1fr}
.guide-cta{padding:30px 24px;border-radius:24px}
.article-body{padding:28px 20px;border-radius:24px}
.journal-featured{padding:28px 24px;border-radius:26px}
.journal-list strong{font-size:20px}
.journal-divisions{margin-top:40px}
}

/* ── Pricing page ─────────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.pricing-hero{padding-bottom:64px}
.pricing-hero h1{font-size:clamp(44px,5.2vw,72px)}
.pricing-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:44px;position:relative;z-index:1}
.pricing-stats div{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:22px;padding:18px 16px}
.pricing-stats strong{display:block;font-family:var(--heading);font-size:30px;font-weight:500;color:var(--green);letter-spacing:-.02em;line-height:1.1}
.pricing-stats span{display:block;margin-top:8px;font-size:11px;line-height:1.55;color:#bdbdbd}
.pricing-body{padding:64px 0 0}
.pricing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.pricing-head h2,.pricing-section h2{font-family:var(--heading);font-size:clamp(30px,3.3vw,46px);font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}
.pricing-head .pricing-toggle{margin:0}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan-card{position:relative;background:#fff;border:1px solid var(--rule);border-radius:30px;padding:30px 28px;display:flex;flex-direction:column}
.plan-card.featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.plan-badge{position:absolute;top:22px;right:22px;font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:var(--ink);padding:5px 10px;border-radius:999px}
.plan-card h3{font-size:16px;font-weight:600;margin:0}
.plan-for{font-size:12px;line-height:1.65;color:var(--gray);margin:10px 0 0;min-height:40px}
.plan-card.featured .plan-for,.plan-card.featured .plan-per,.plan-card.featured .plan-bill,.plan-card.featured .plan-credits{color:#bdbdbd}
.plan-price{margin:22px 0 0;display:flex;align-items:baseline;gap:6px}
.plan-num{font-size:48px;letter-spacing:-.055em;line-height:1.1}
.plan-per{font-size:12px;color:var(--gray)}
.plan-bill{font-size:11px;color:var(--gray);margin:6px 0 0}
.plan-credits{font-size:12px;color:var(--gray);padding:16px 0;margin:16px 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.plan-credits b{color:inherit;font-weight:600}
.plan-card:not(.featured) .plan-credits b{color:var(--ink)}
.plan-card.featured .plan-credits{border-color:#ffffff20}
.plan-card.featured .plan-credits b{color:var(--green)}
.plan-btn{justify-content:center;margin:20px 0 6px;font-size:12px}
.plan-feats{display:grid;gap:4px}
.plan-group{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:16px 0 4px}
.plan-feats ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.plan-feats li{position:relative;padding-left:24px;font-size:12px;line-height:1.6}
.plan-feats li::before{content:'✓';position:absolute;left:0;top:1px;width:16px;height:16px;display:grid;place-items:center;font-size:9px;font-weight:700;border-radius:999px;background:var(--green-light);color:var(--ink)}
.plan-card.featured .plan-feats li::before{background:var(--green)}
.pricing-note{font-size:11px;line-height:1.7;color:var(--faint);margin:18px 0 0}
.pricing-section{margin-top:84px}
.pricing-section>.section-label,.pricing-head .section-label,.pricing-faq .section-label{margin-bottom:12px}
.pricing-lede{font-size:14px;line-height:1.8;color:var(--gray);max-width:720px;margin:16px 0 0}
.pm-scroll{margin-top:28px;overflow-x:auto;background:#fff;border:1px solid var(--rule);border-radius:28px;-webkit-overflow-scrolling:touch}
.pm-table{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}
.pm-table th,.pm-table td{padding:14px 18px;border-bottom:1px solid var(--rule);text-align:center;vertical-align:middle;line-height:1.5}
.pm-table tbody tr:last-child th,.pm-table tbody tr:last-child td{border-bottom:0}
.pm-table thead th{font-size:13px;font-weight:600;padding-top:20px;padding-bottom:16px}
.pm-table thead th small{display:block;font-size:10px;font-weight:400;color:var(--faint);margin-top:2px}
.pm-table tbody th{text-align:left;font-weight:500;color:var(--ink)}
.pm-table tbody th small{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--faint);margin-top:2px}
.pm-table th:first-child{text-align:left;width:38%}
.pm-table .pm-featured{background:var(--green-light)}
.pm-group th{background:var(--bg);font-size:9px!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)!important;padding:10px 18px!important}
.pm-yes{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:var(--green);font-size:10px;font-weight:700}
.pm-no{color:#c4c4c4}
.pm-text{font-weight:600}
.plan-table td:nth-child(3){background:#f0ff9b33}
.course-table td{color:var(--gray)}
.course-table td:nth-child(2){color:var(--ink);font-weight:600}
.cmp-table td{min-width:120px}
.cmp-table td small{display:block;font-size:10px;color:var(--faint);margin-top:4px}
.cmp-mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;font-size:11px;font-weight:700}
.cmp-yes .cmp-mark{background:var(--bg);color:var(--ink)}
.cmp-part .cmp-mark{color:var(--faint)}
.cmp-no .cmp-mark{color:#c9c9c9}
.cmp-us{background:#f0ff9b40}
.cmp-us.cmp-yes .cmp-mark{background:var(--green)}
.cmp-us small{color:var(--ink)!important;font-weight:600}
.pricing-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.pricing-faq .guide-faq-a p{color:var(--gray);line-height:1.8}
.guide-cta a:not(.btn){color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.pricing-stats{grid-template-columns:repeat(3,1fr)}.plan-grid{gap:12px}.plan-card{padding:26px 22px}}
@media(max-width:820px){.plan-grid{grid-template-columns:1fr;gap:16px}.pricing-head{flex-direction:column;align-items:flex-start}.pricing-faq{grid-template-columns:1fr;gap:20px}.plan-for{min-height:0}}
@media(max-width:560px){.pricing-stats{grid-template-columns:repeat(2,1fr)}.pricing-stats strong{font-size:24px}.pricing-body{padding-top:44px}.pricing-section{margin-top:60px}.pm-table th,.pm-table td{padding:12px 12px}.guide-cta{padding:32px 24px}}
.plan-card .plan-num{color:var(--ink)}
.plan-card.featured .plan-num{color:#fff}
.cmp-no .cmp-mark{font-size:13px;color:#b5b5b5}

/* ── Journal index: category filter + cover cards ─────────────────── */
.journal-wrap{max-width:1180px}
.journal-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.journal-filter button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--rule);border-radius:999px;background:#fff;font:inherit;font-size:12px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s}
.journal-filter button span{font-size:10px;color:var(--faint);font-weight:600}
.journal-filter button:hover{border-color:#00000030}
.journal-filter button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.journal-filter button.active span{color:var(--green)}
.journal-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.jc[hidden]{display:none}
.jc a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--rule);border-radius:28px;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.jc a:hover{transform:translateY(-3px);box-shadow:0 18px 40px #00000012}
.jc-cover{display:block;aspect-ratio:16/9;background:var(--bg);overflow:hidden}
.jc-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.jc a:hover .jc-cover img{transform:scale(1.03)}
.jc-ph{display:grid;place-items:end start;padding:20px;background-image:repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 28px)}
.jc-ph span{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb0}
.jc-ph-exam-updates{background-color:#262626}
.jc-ph-division-deep-dives{background-color:#393e43}
.jc-ph-study-guides{background-color:#2f3a1c}
.jc-ph-study-strategies{background-color:#1f2a33}
.jc-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.jc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;color:var(--faint);letter-spacing:.04em}
.jc-meta b{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:9px;color:var(--ink);background:var(--green-light);padding:4px 9px;border-radius:999px}
.jc strong{display:block;font-family:var(--heading);font-weight:500;font-size:22px;line-height:1.3;letter-spacing:-.02em;margin-top:14px;color:var(--ink)}
.jc-excerpt{display:block;font-size:12.5px;line-height:1.75;color:var(--gray);margin-top:10px}
.jc-more{margin-top:auto;padding-top:18px;font-size:12px;font-weight:600;color:var(--ink)}
.jc-featured{grid-column:1/-1}
.jc-featured a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.jc-featured .jc-cover{aspect-ratio:auto;min-height:100%}
.jc-featured .jc-ph{min-height:340px}
.jc-featured .jc-body{padding:36px 38px}
.jc-featured strong{font-size:clamp(28px,2.8vw,38px);line-height:1.18}
.jc-featured .jc-excerpt{font-size:14px}
.journal-grid.filtered .jc-featured{grid-column:auto}
.journal-grid.filtered .jc-featured a{display:flex}
.journal-grid.filtered .jc-featured .jc-cover{aspect-ratio:16/9;min-height:0}
.journal-grid.filtered .jc-featured .jc-ph{min-height:0}
.journal-grid.filtered .jc-featured .jc-body{padding:22px 24px 24px}
.journal-grid.filtered .jc-featured strong{font-size:22px}
.journal-grid.filtered .jc-featured .jc-excerpt{font-size:12.5px}
@media(max-width:1000px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.journal-grid{grid-template-columns:1fr}.jc-featured a{display:flex}.jc-featured .jc-cover{aspect-ratio:16/9;min-height:0}.jc-featured .jc-ph{min-height:0}.jc-featured .jc-body{padding:22px 24px 24px}.jc-featured strong{font-size:24px}}

/* ── Article cover, figures, practice questions, course links ─────── */
.article-cover{margin:-44px -52px 30px}
.article-cover img{display:block;width:100%;height:auto;border-radius:31px 31px 0 0}
.article-cover figcaption{font-size:11px;line-height:1.7;color:var(--faint);padding:12px 52px 0}
.article-figure{margin:26px 0}
.article-figure img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--rule)}
.article-figure figcaption{font-size:11px;line-height:1.7;color:var(--faint);margin-top:10px}
.jq{padding:22px 24px;border:1px solid var(--rule);border-radius:20px;margin:18px 0}
.jq fieldset{border:0;margin:0;padding:0;min-width:0}
.jq legend{padding:0;width:100%}
.jq-eyebrow{display:block;font-size:9px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.jq-title{display:block;font-size:16px;font-weight:600;line-height:1.45;color:var(--ink)}
.jq-choices{display:grid;gap:8px;margin-top:4px}
.jq-choice{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;font-size:13px;line-height:1.6;cursor:pointer;background:#fff}
.jq-choice:hover{border-color:#c9c9c9}
.jq-choice input{margin:4px 0 0;accent-color:var(--ink)}
.jq-letter{font-weight:600}
.jq-choice.is-correct{background:var(--green-light);border-color:#b2bd86}
.jq-choice.is-wrong{border-style:dashed;border-color:#8a8a8a}
.jq-check{margin-top:14px;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:inherit;font-size:12px;cursor:pointer}
.jq-feedback{font-size:13px!important;margin:12px 0 0!important}
.jq-explanation{margin-top:14px;border-top:1px solid var(--rule);padding-top:12px}
.jq-explanation summary{font-size:13px;cursor:pointer}
.jq-explanation p{font-size:13px!important;margin:10px 0 0!important}
.course-refs{padding:24px 26px;background:var(--bg);border-radius:20px;margin:18px 0 24px}
.course-refs-label{font-size:9px!important;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--gray)!important;margin:0 0 6px!important}
.course-refs h3{font-family:var(--heading);font-weight:500;font-size:22px;margin:0 0 14px}
.course-ref{display:block;padding:13px 0;border-top:1px solid var(--rule);text-decoration:none!important}
.course-ref:hover strong{text-decoration:underline;text-underline-offset:3px}
.course-ref-meta,.course-ref-code{display:block;font-size:11px;color:var(--gray)}
.course-ref strong{display:block;font-size:14px;font-weight:500;color:var(--ink);margin:2px 0}
.course-refs-note{font-size:12px!important;color:var(--gray)!important;margin:12px 0 0!important}
/* Interactive wall model (journal-widgets.js) */
.kp-wall-model{margin:30px 0;scroll-margin-top:140px}
.kp-wall-model .wm-card{border:1px solid var(--rule);border-radius:22px;overflow:hidden;background:#fff}
.kp-wall-model .wm-top{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--rule);font-size:11px;color:var(--gray)}
.kp-wall-model .wm-top b{font-weight:600;color:var(--ink)}
.kp-wall-model .wm-top span{display:flex;align-items:center;gap:6px}
.kp-wall-model .wm-dot{height:6px;width:6px;border-radius:50%;background:var(--green)}
.kp-wall-model .wm-heading{padding:20px 20px 0}
.kp-wall-model .wm-heading h3{font-family:var(--heading);font-weight:500;font-size:24px;line-height:1.25;margin:0 0 8px}
.kp-wall-model .wm-heading p{font-size:13px!important;color:var(--gray)!important;margin:0!important}
.kp-wall-model .wm-tools{padding:14px 20px;display:flex;flex-wrap:wrap;gap:8px}
.kp-wall-model .wm-button{background:#fff;border:1px solid var(--rule);border-radius:999px;color:var(--ink);padding:9px 15px;font:inherit;font-size:12px;cursor:pointer;min-height:40px}
.kp-wall-model .wm-puzzle-shell{position:relative;height:280px;margin:0 12px;background:var(--bg);border-radius:14px;overflow:hidden;touch-action:pan-y}
.kp-wall-model .wm-puzzle-shell svg{display:block;width:100%;height:100%}
.kp-wall-model .wm-puzzle-label{position:absolute;left:14px;right:14px;top:12px;display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--gray);pointer-events:none}
.kp-wall-model .wm-zone{position:absolute;left:65.8%;top:22%;width:5.3%;min-width:24px;height:54%;border:1px dashed #8c9777;background:#e9ff6c21;border-radius:4px}
.kp-wall-model .wm-zone span{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;color:var(--gray)}
.kp-wall-model .wm-piece{position:absolute;left:82%;top:22%;width:5.3%;min-width:27px;height:54%;border:1px solid #a9b66d;border-radius:4px;background:repeating-linear-gradient(90deg,#e9ff6c 0 5px,#e2f561 5px 6px);color:var(--ink);padding:0;touch-action:none;cursor:grab;z-index:3;transition:left .2s}
.kp-wall-model .wm-piece:active{cursor:grabbing}
.kp-wall-model .wm-piece span{writing-mode:vertical-rl;font-size:11px}
.kp-wall-model [data-placed=true] .wm-piece{left:65.8%}
.kp-wall-model [data-placed=true] .wm-zone{border-color:transparent}
.kp-wall-model [data-placed=true] .wm-bridge-arrow{opacity:.28}
.kp-wall-model [data-dragging=true] .wm-piece{transition:none}
.kp-wall-model .wm-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--gray);padding:14px 18px 6px}
.kp-wall-model .wm-legend span{display:flex;align-items:center;gap:6px}
.kp-wall-model .wm-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#bab3a5}
.kp-wall-model .wm-legend .wm-batt-key{background:#e0e4d7}
.kp-wall-model .wm-legend .wm-ci-key{background:var(--green)}
.kp-wall-model .wm-tiny{padding:0 20px 14px;font-size:11px!important;line-height:1.6!important;color:var(--gray)!important;margin:0!important}
.kp-wall-model .wm-result{padding:16px 20px;background:var(--bg);border-top:1px solid var(--rule)}
.kp-wall-model .wm-result strong{display:block;font-size:14px;font-weight:500}
.kp-wall-model .wm-result p{font-size:12px!important;line-height:1.7!important;color:var(--gray)!important;margin:5px 0 0!important}
@media(max-width:600px){.article-cover{margin:-28px -20px 24px}.article-cover img{border-radius:23px 23px 0 0}.article-cover figcaption{padding:10px 20px 0}.jq{padding:18px 14px}.course-refs{padding:18px}.kp-wall-model .wm-puzzle-shell{height:240px;margin:0 8px}.kp-wall-model .wm-heading h3{font-size:21px}}

/* "Same score. Different evidence." readiness lab (.readiness-lab), driven by journal-widgets.js */
.readiness-lab{margin:30px 0;padding:24px;border:1px solid var(--rule);border-radius:18px;background:#fafbf7}
.readiness-lab h3{font:500 27px/1.3 var(--heading);margin:8px 0 12px}
.readiness-lab .lab-intro{font-size:13px;color:var(--gray);margin-bottom:23px}
.lab-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.readiness-lab .lab-topline .eyebrow{margin:0}
.lab-replay{font:11px/1.5 var(--sans);background:#fff;border:1px solid var(--rule);border-radius:99px;padding:8px 12px;color:var(--ink);cursor:pointer;min-height:36px}
.lab-replay:hover{border-color:#8a8d80}
.lab-replay:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.lab-model{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center}
.lab-score{padding:20px 0;border-right:1px solid var(--rule)}
.lab-score strong{display:block;font:400 59px/1.2 var(--heading);letter-spacing:-2px;margin:9px 0}
.lab-score strong span{font-size:29px;letter-spacing:-1px}
.lab-score .lab-number{font:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums}
.readiness-lab .lab-score p{font-size:11px;line-height:1.8;margin:10px 0}
.lab-fixed{font-size:9px;color:var(--gray)}
.lab-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lab-evidence-card{min-width:0}
.lab-evidence-card svg{width:100%;height:auto;display:block;color:#5b5e54}
.readiness-lab .lab-state{font-size:10px;line-height:1.6;min-height:32px;text-align:center;margin:2px 0 14px}
.lab-controls label{display:block;font-size:10px;margin-bottom:7px;color:var(--gray)}
.lab-controls input{display:block;width:100%;height:40px;margin:0;cursor:ew-resize;appearance:none;background:transparent}
.lab-controls input::-webkit-slider-runnable-track{height:5px;background:#daddd2;border-radius:6px}
.lab-controls input::-moz-range-track{height:5px;background:#daddd2;border-radius:6px}
.lab-controls input::-webkit-slider-thumb{appearance:none;width:25px;height:25px;border:6px solid #fff;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px #76796f,0 2px 5px #17171718;margin-top:-10px}
.lab-controls input::-moz-range-thumb{width:13px;height:13px;border:6px solid #fff;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px #76796f}
.lab-controls input:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
.lab-endpoints{display:flex;justify-content:space-between;font-size:9px;gap:4px;color:var(--gray)}
.lab-reading{margin-top:25px;border-top:1px solid var(--rule);padding-top:18px;font-size:12px;min-height:147px}
.readiness-lab .lab-reading .eyebrow{margin-bottom:8px}
.readiness-lab #lab-meaning{margin:0 0 10px}
.lab-next{display:flex;gap:9px}
.lab-next>span{font-size:21px;line-height:1.4}
.readiness-lab .lab-next p{margin:0}
.readiness-lab .lab-scope{font-size:10px;color:var(--gray);line-height:1.7;margin:15px 0 0}
.lab-notes{margin-top:15px;padding-top:12px;border-top:1px solid var(--rule);font-size:11px}
.lab-notes summary{cursor:pointer;min-height:36px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}
.lab-notes summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.readiness-lab .lab-notes ul{margin:8px 0 15px}
.readiness-lab .lab-notes p{margin:0}
.lab-fresh-drawing,.lab-clock-hand,.lab-timed-mark,.lab-reason-line,.lab-reason-mark{opacity:0;transition:opacity .2s,transform .2s}
.lab-seen,.lab-clock-question,.lab-reason-question{transition:opacity .2s}
.lab-clock-hand{transform:rotate(-40deg);transform-origin:90px 62px}
.lab-model[data-fresh="1"] .lab-seen,.lab-model[data-timed="1"] .lab-clock-question,.lab-model[data-reason="1"] .lab-reason-question{opacity:0}
.lab-model[data-fresh="1"] .lab-fresh-drawing,.lab-model[data-timed="1"] .lab-clock-hand,.lab-model[data-timed="1"] .lab-timed-mark,.lab-model[data-reason="1"] .lab-reason-line,.lab-model[data-reason="1"] .lab-reason-mark{opacity:1}
.lab-model[data-timed="1"] .lab-clock-hand{transform:rotate(0)}
.lab-accent{fill:var(--green);fill-opacity:.55}
.lab-timed-mark,.lab-reason-mark{fill:none}
.lab-model[data-fresh="1"] .lab-evidence-card:nth-child(1) .lab-state,.lab-model[data-timed="1"] .lab-evidence-card:nth-child(2) .lab-state,.lab-model[data-reason="1"] .lab-evidence-card:nth-child(3) .lab-state{color:var(--ink);font-weight:600}
@media(max-width:600px){.readiness-lab{padding:20px 15px}.readiness-lab h3{font-size:25px}.lab-model{grid-template-columns:1fr;gap:14px}.lab-score{padding:0 0 15px;border-right:0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:100px 1fr;gap:0 12px;align-items:center}.lab-score .eyebrow{grid-column:1/-1}.lab-score strong{grid-column:1;grid-row:2/4;font-size:51px;margin:6px 0}.readiness-lab .lab-score p{grid-column:2;margin:5px 0 0}.lab-fixed{grid-column:2}.lab-evidence-grid{gap:9px}.readiness-lab .lab-state{font-size:9px;min-height:43px;margin-bottom:9px}.lab-controls label{font-size:9px;line-height:1.5;min-height:27px;margin:0}.lab-endpoints{font-size:8px}.lab-reading{min-height:170px;margin-top:21px}.lab-score strong span{font-size:25px}}
@media(prefers-reduced-motion:reduce){.readiness-lab svg *{transition:none}}
@media print{.lab-controls{display:none}.lab-notes>ul,.lab-notes>p{display:block!important}.lab-notes summary{display:none}.lab-replay{display:none}}
@media(prefers-reduced-motion:reduce){.kp-wall-model .wm-piece{transition:none}}

/* ── Citations, sources and the pass-rate table (are-5-0-pass-rates) ── */
.article-body sup.cite{font-size:10px;line-height:0;margin-left:2px;white-space:nowrap}
.article-body sup.cite a{color:var(--gray);text-decoration:none}
.article-body sup.cite a:hover{color:var(--ink);text-decoration:underline}
.source-list{padding-left:20px;margin:14px 0 0}
.source-list li{font-size:12px;line-height:1.7;color:var(--gray);margin:10px 0;overflow-wrap:anywhere;scroll-margin-top:140px}
.source-list li:target{background:var(--green-light);border-radius:6px}
.guide-figure .rates-table th[scope=row]{width:44%}
.guide-figure .rates-table td{vertical-align:middle}
.rates-table .abbr{display:block;font-weight:600;font-size:12px;color:var(--ink)}
.rates-table .division-name{display:block;font-size:11px;color:var(--gray);font-weight:400}
.rates-table .rate-cell{min-width:90px}
.rates-table .rate-cell strong{font-size:15px;font-weight:600;color:var(--ink)}
.rates-table .bar-track{display:block;background:#f0f0ed;height:3px;width:90px;border-radius:2px;margin-top:5px}
.rates-table .bar-track>span{display:block;height:100%;background:#555b49;border-radius:2px}
.rates-table .is-lowest .bar-track>span{background:#c3d54e}
.rates-table .change{white-space:nowrap}
.guide-figure .prep-table th[scope=row]{width:16%;font-size:12px;font-weight:600;text-transform:none;letter-spacing:0}
.guide-figure .prep-table th[scope=row] a{color:var(--ink)}
/* "Same rates. Different prep." (journal-widgets.js) */
.pr-model{margin:32px 0;padding:25px 24px 18px;border:1px solid var(--rule);border-radius:20px;background:#f8f8f4;color:var(--ink)}
.pr-model [hidden]{display:none!important}
.pr-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.pr-model .pr-kicker{font-size:9px!important;letter-spacing:.14em;color:var(--gray)!important;margin:0 0 7px!important;font-weight:600}
.pr-model #pr-title{font-family:var(--heading);font-weight:500;font-size:23px;line-height:1.3;margin:0}
.pr-model .pr-intro{font-size:12px!important;line-height:1.7!important;max-width:480px;color:var(--gray)!important;margin:11px 0 18px!important}
.pr-model button{font:inherit;color:inherit;cursor:pointer}
.pr-replay{background:transparent;border:0;border-bottom:1px solid #c3c5b9;padding:3px 0;font-size:11px!important;white-space:nowrap}
.pr-model button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.pr-rates{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:10px}
.pr-rate{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px}
.pr-rate>span:first-child{font-size:12px;font-weight:500}
.pr-rate strong{font-size:25px;line-height:1.2;font-weight:500;font-variant-numeric:tabular-nums}
.pr-rate strong>span:last-child{font-size:13px;margin-left:2px}
.pr-track{grid-column:1/-1;display:block;height:3px;background:#e4e5dd;overflow:hidden}
.pr-track>span{display:block;height:100%;width:var(--rate);background:#5e6652;transform-origin:left center}
.pr-rate:first-child .pr-track>span{background:#b4c34c}
.pr-model .pr-data-note{font-size:9px!important;line-height:1.6!important;color:#6b6d62!important;margin:0 0 21px!important}
.pr-data-note a{color:inherit;text-underline-offset:3px}
.pr-switch{display:flex;gap:5px;border-bottom:1px solid #dedfd7;padding-bottom:12px;margin-bottom:16px;flex-wrap:wrap}
.pr-switch button{background:transparent;border:1px solid transparent;border-radius:20px;font-size:11px;padding:7px 12px;min-height:38px}
.pr-switch button[aria-pressed=true]{background:var(--green);border-color:#dbe99a}
.pr-model .pr-profile-title{font-size:12px;margin:0 0 14px;font-weight:500;color:#5c6053}
.pr-steps{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px;position:relative}
.pr-step{min-width:0;position:relative}
.pr-step:not(:last-child):after{content:'→';position:absolute;right:-11px;top:19px;color:#9d9f93;font-size:13px}
.pr-step svg{display:block;width:53px;height:53px;fill:none;stroke:#30362c;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.pr-step:last-child svg{background:#edf1df;border-radius:12px;padding:3px}
.pr-step-label{display:block;font-size:8px;letter-spacing:.12em;color:#656a5b;margin-bottom:6px;font-weight:600}
.pr-model .pr-step p{font-size:11px!important;line-height:1.65!important;margin:0!important;color:var(--ink)!important}
.pr-model .pr-insight{font-size:12px!important;line-height:1.75!important;margin:20px 0 0!important;padding-top:15px;border-top:1px solid #dedfd7;color:var(--ink)!important}
.pr-model .pr-boundary{font-size:9px!important;line-height:1.65!important;color:#727568!important;margin:12px 0 0!important}
.pr-panel+.pr-panel{margin-top:25px}
.pr-switch:not([hidden])+.pr-panels .pr-panel{margin-top:0}
@media(max-width:600px){.guide-figure .rates-table th[scope=row]{width:38%}.rates-table .rate-cell{min-width:60px}.rates-table .bar-track{width:60px}}
@media(max-width:460px){.pr-model{padding:21px 17px 16px}.pr-model #pr-title{font-size:21px}.pr-steps{grid-template-columns:1fr;gap:14px}.pr-step{display:grid;grid-template-columns:43px 1fr;column-gap:12px;align-items:start}.pr-step svg{grid-row:1/3;width:43px;height:43px;margin:0}.pr-step-label{margin:1px 0 4px}.pr-step:not(:last-child):after{content:''}.pr-rates{gap:20px}.pr-switch button{font-size:10px;padding:7px 10px}}
@media print{.pr-model [hidden]{display:block!important}.pr-model .pr-switch,.pr-model .pr-replay{display:none!important}}
.guide-figure .rates-table tbody th,.guide-figure .prep-table tbody th{text-transform:none;letter-spacing:0;background:#fff;color:var(--ink);font-size:12px;vertical-align:top}

/* Odometer-style number-roll tables (.number-table) and multi-question practice
   quizzes (.quiz-shell), driven by journal-widgets.js. */
.calculation li{margin-bottom:15px}
button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.number-table{margin:24px 0 28px}
.number-table .table-scroll{margin:8px 0 0}
.number-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.number-toolbar p{margin:0!important;font-size:11px;color:var(--gray)}
.number-toolbar button,.practice-reset{border:1px solid var(--rule);background:#fff;color:var(--ink);padding:8px 12px;border-radius:99px;font:500 11px/1.4 var(--sans);cursor:pointer;white-space:nowrap;min-height:36px}
.number-toolbar button:hover,.practice-reset:hover{background:#f5f6f0}
.count-value{font-variant-numeric:tabular-nums;white-space:nowrap}
.count-visual{display:inline-flex;vertical-align:bottom;line-height:1.35}
.digit-window{display:inline-block;position:relative;overflow:hidden;width:.62em;height:1.35em;text-align:center}
.digit-window.punctuation{width:.34em}
.digit-stack{display:flex;flex-direction:column;will-change:transform}
.digit-stack span{display:block;flex:none;height:1.35em;line-height:1.35em;white-space:pre}
.number-state{display:block;font-size:10px;color:var(--gray);min-height:18px;margin-top:5px}
.number-table td{font-variant-numeric:tabular-nums}
.quiz-shell{border-top:1px solid var(--rule);margin:22px 0 30px}
.practice-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 0}
.practice-progress{font-size:11px;color:var(--gray);margin:0!important}
.quiz-card{min-width:0;margin:0;padding:25px 0;border:0;border-top:1px solid var(--rule)}
.quiz-card legend{float:left;width:100%;font-weight:600;font-size:16px;line-height:1.5;margin-bottom:12px}
.quiz-card legend+.question-context{clear:both}
.quiz-card .question-context{font-size:14px;margin-bottom:15px}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.quiz-option{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--rule);border-radius:10px;padding:10px 12px;cursor:pointer;font-size:13px;line-height:1.5;transition:background .15s,border-color .15s}
.quiz-option:hover{background:#f8f8f5}
.quiz-option:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.quiz-option input{width:15px;height:15px;flex:none;accent-color:var(--ink);margin:0}
.option-letter{font-size:10px;color:var(--gray);min-width:10px}
.quiz-option.is-selected{border-color:var(--ink);background:#f2f2ef}
.quiz-option.is-correct{background:#f2f8d9;border-color:#b4c77c}
.quiz-option.is-correct .option-letter{color:#38420f}
.quiz-card .answer-feedback{padding:13px 15px;border-left:2px solid var(--ink);background:#f5f6f0;font-size:13px;line-height:1.7;margin:13px 0 0;min-height:0}
.quiz-card .answer-feedback:empty{display:none}
.quiz-card .feedback-result{display:block;font-size:11px;font-weight:600;margin-bottom:4px}
.quiz-card details{font-size:12px;margin-top:12px}
.quiz-card summary{cursor:pointer;width:fit-content;color:var(--gray);padding:4px 0}
.quiz-card details p{margin:9px 0 0}
.quiz-card .option-reasons{margin:10px 0 0;padding-left:20px;font-size:12px}
.quiz-card .option-reasons li{margin:7px 0}
.quiz-card .full-answer{font-weight:500}
.quiz-ready .answer-feedback{scroll-margin-top:130px}
.quiz-ready .quiz-card.has-answer .full-reasoning summary{color:var(--ink)}
.quiz-live-note{font-size:11px;color:var(--gray)}
@media(max-width:600px){.quiz-options{grid-template-columns:1fr}.quiz-card{padding:22px 0}.quiz-card legend{font-size:15px}.quiz-card .question-context{font-size:13px}.quiz-option{min-height:48px}.number-toolbar{align-items:flex-start}.number-toolbar p{max-width:180px}.practice-head{gap:8px}.practice-progress{font-size:10px}.number-toolbar button{font-size:10px;padding:8px 10px}}
@media print{.number-toolbar,.number-state,.practice-head,.answer-feedback{display:none!important}.count-visual{display:none}.count-value .sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.quiz-options{grid-template-columns:1fr 1fr}.quiz-card{break-inside:avoid}}

/* "Two-path check" lab (.path-lab: realistic material specimens with a canvas-drawn
   air-leakage/vapor-diffusion animation) and its per-question practice (.quiz, a third
   quiz shape alongside form.jq and .quiz-shell/.quiz-card) -- both driven by
   journal-widgets.js. Note: .quiz-options is also used, with a different intended
   layout, by .quiz-card above -- the ".quiz .quiz-options" rule below scopes this
   widget's version so the two don't fight over grid-template-columns. */
.path-lab{margin:32px 0;padding:27px;background:#f7f7f3;border:1px solid var(--rule);border-radius:19px}
.path-lab h2{margin:11px 0 12px!important;font-size:29px}
.path-lab>p{font-size:13px;line-height:1.75}
.path-lab button,.quiz button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}
.path-lab button:focus-visible,.quiz button:focus-visible,.quiz summary:focus-visible,.path-lab summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.lab-scenario{font-size:12px;min-height:43px;margin:0 0 7px!important}
.path-stage{background:#fff;border:1px solid #e2e5d9;border-radius:12px;overflow:hidden}
.lab-step{font-size:10px;font-weight:600;letter-spacing:1.3px;margin:19px 0 9px!important}
.lab-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.lab-actions button{text-align:left;background:#fff;border:1px solid #d3d6c9;border-radius:10px;padding:13px 14px;line-height:1.4;transition:background-color .15s,border-color .15s}
.lab-actions button:active{transform:translateY(1px)}
.lab-actions button span{display:block;font-size:13px;font-weight:500}
.lab-actions button small{display:block;font-size:10px;line-height:1.5;color:#717568;margin-top:5px}
.lab-actions button[aria-pressed=true]{background:#eef4d5;border-color:#687442;box-shadow:inset 0 0 0 1px #687442}
.lab-result{border-left:2px solid #b6bda4;margin:19px 0 15px;padding-left:13px;min-height:105px}
.lab-result strong{font-size:14px;font-weight:600}
.lab-result p{font-size:12px;margin:6px 0 0!important;line-height:1.75}
.lab-result[data-match=yes]{border-color:#798740}
.lab-footer{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.lab-footer button{background:none;border:0;border-bottom:1px solid #aaa;padding:1px 0;font-size:11px}
.lab-footer span{font-size:10px;color:#6c7062}
.lab-assumptions{font-size:10px!important;color:#74786b;margin:17px 0 10px!important;line-height:1.6!important}
.lab-static{font-size:11px;color:#53564b}
.lab-static summary{cursor:pointer}
.lab-static p{margin:12px 0 0!important;font-size:11px}
.quiz-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:18px 0;font-size:11px}
.quiz-head[hidden]{display:none!important}
.quiz-head button{border:1px solid var(--rule);background:#fff;border-radius:99px;padding:7px 13px}
.quiz{padding:23px 0;border-top:1px solid var(--rule)}
.quiz h3{font-size:16px;margin:0 0 12px}
.quiz>p{font-size:13px;margin-bottom:14px}
.quiz fieldset{border:0;padding:0;margin:0;min-width:0}
.quiz .quiz-options{display:grid;grid-template-columns:1fr;gap:8px}
.quiz .quiz-options button{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;border:1px solid #d9dcd0;background:#fff;border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.6}
.quiz .quiz-options button .choice-letter{font-size:10px;flex:0 0 23px;text-align:center;border:1px solid #d9dcd0;border-radius:5px;line-height:22px;margin-top:0}
.quiz .quiz-options button:hover{background:#f6f7f2}
.quiz .quiz-options button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.quiz .quiz-options button.is-correct{border-color:#829144;background:#f1f6dc}
.quiz .quiz-options button.is-wrong{border-color:#93765e;background:#f5efea}
.quiz-feedback{font-size:12px;padding:13px 14px;background:#f5f6f0;border-radius:8px;margin:12px 0 0!important}
.quiz-feedback:empty{display:none}
.quiz details{font-size:12px;margin-top:14px}
.quiz details summary{cursor:pointer;font-weight:500}
.quiz details p{margin:13px 0 0}
.quiz-static{font-size:12px}
.quiz [hidden],.path-lab [hidden]{display:none!important}
.realistic-stage{position:relative;background:#f3f0eb;border:0;isolation:isolate;overflow:hidden;border-radius:15px}
.material-scene{position:relative;width:100%;aspect-ratio:3/2;transform:translateZ(0)}
.material-scene .specimen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;opacity:0;transition:opacity .55s ease;pointer-events:none;user-select:none}
.material-scene .specimen-open{opacity:1}
.realistic-stage[data-mode=air][data-fix=seal] .specimen-open,.realistic-stage[data-mode=vapor] .specimen-open{opacity:0}
.realistic-stage[data-mode=air][data-fix=seal] .specimen-sealed,.realistic-stage[data-mode=vapor] .specimen-intact{opacity:1}
.transport-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.specimen-label{position:absolute;top:5%;left:4%;font:500 10px/1.5 var(--sans);letter-spacing:.2px;background:#ffffffb5;padding:6px 10px;border:1px solid #ffffff96;border-radius:99px;backdrop-filter:blur(8px)}
.label-sealed,.label-intact{display:none}
.realistic-stage[data-mode=air][data-fix=seal] .label-gap,.realistic-stage[data-mode=vapor] .label-gap{display:none}
.realistic-stage[data-mode=air][data-fix=seal] .label-sealed,.realistic-stage[data-mode=vapor] .label-intact{display:block}
.scene-caption{position:relative;z-index:2;margin-top:-4px;min-height:44px;padding:11px 17px;background:#eeece6;font-size:10px;line-height:1.6;display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap;border-top:1px solid #e4e0d8}
.caption-air:before,.caption-vapor:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:#626b70}
.caption-vapor:before{background:#888b65}
.caption-vapor,.property-note{display:none}
.realistic-stage[data-mode=vapor] .caption-air{display:none}
.realistic-stage[data-mode=vapor] .caption-vapor{display:inline}
.realistic-stage[data-fix=resistance] .property-note{display:block;color:#6b6a61;font-size:9px;max-width:280px}
.stage-tools{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px;gap:15px}
.stage-tools span{font-size:9px;letter-spacing:1.2px;color:#78796f}
.stage-tools button{background:#fff;border:1px solid #d6d9cc;border-radius:99px;padding:6px 12px;font-size:11px;line-height:1.6}
.stage-tools button:hover{background:#eff4dc}
.model-unit{margin:24px 0 0}
.model-unit+.model-unit{margin-top:34px;padding-top:27px;border-top:1px solid #daddd0}
.model-unit h3{font:500 19px/1.4 var(--heading);margin:0 0 11px!important}
.model-unit .lab-scenario{margin:0 0 14px!important}
.model-unit .response-controls{padding-top:1px}
.model-unit .lab-step{margin-top:16px!important}
.model-unit .lab-footer{margin-top:12px}
.model-unit .stage-tools{margin-bottom:10px}
@media(max-width:600px){.path-lab{padding:19px 15px;margin:26px -3px}.path-lab h2{font-size:25px}.lab-actions{grid-template-columns:1fr}.lab-actions button{padding:11px 13px}.lab-actions button small{margin-top:3px}.lab-result{min-height:126px}.quiz{padding:19px 0}.quiz .quiz-options button{padding:11px 10px}.lab-footer{gap:13px}.lab-footer span{width:100%}.material-scene{aspect-ratio:3/2}.specimen-label{font-size:9px;padding:5px 9px}.scene-caption{padding:9px 12px;min-height:40px;font-size:10px}.realistic-stage[data-fix=resistance] .property-note{max-width:none;font-size:9px}.model-unit h3{font-size:18px}.model-unit+.model-unit{margin-top:28px;padding-top:23px}}
@media(prefers-reduced-motion:reduce){.material-scene .specimen{transition:none}}
@media print{.lab-controls,.quiz-head,.quiz fieldset,.quiz-feedback{display:none!important}.quiz-static{display:block!important}.quiz details{display:block}.path-lab{break-inside:avoid}}

/* Counting numbers (.data-num) and stat bands (.number-band) — public/js/journal-widgets.js */
.data-num{display:inline-grid;vertical-align:baseline;font-variant-numeric:tabular-nums;font-weight:650;color:var(--ink);border-bottom:2px solid #e9ff6c;line-height:1.3;white-space:nowrap;min-width:var(--counter-width,auto)}
.data-num .counter-value{display:block}.data-num.is-counting .counter-value{animation:num-tick 90ms ease-out both}
@keyframes num-tick{from{transform:translateY(.23em);opacity:.6}to{transform:none;opacity:1}}
td .data-num{font-size:1.1em}
.number-band{padding:20px 21px 17px;margin:24px 0;background:#f5f6f0;border:1px solid #e7e9df;border-radius:16px}
.number-band .number-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.number-band .number-head>span{font:600 10px/1.5 var(--sans);letter-spacing:1.25px;color:#62645e}
.number-band .replay{font:500 11px/1.5 var(--sans);color:#242620;border:1px solid #d9ddcf;border-radius:99px;padding:6px 12px;background:#fff;cursor:pointer;white-space:nowrap}
.number-band .replay:hover{background:#e9ff6c;border-color:#c7da58}.number-band .replay[hidden]{display:none}
.number-band .stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 16px}
.number-band .stat+.stat{border-left:1px solid #dcded3;padding-left:18px}
.number-band .stat-value{font:600 clamp(26px,3.8vw,40px)/1.2 var(--sans);letter-spacing:-1.2px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.number-band .stat-value .data-num{border-bottom:0;font-weight:600}
.number-band .stat-label{font:500 9px/1.65 var(--sans);letter-spacing:.7px;margin-top:8px;color:#55594e;max-width:190px}
.number-band .number-note{font-size:11px;line-height:1.7;color:#62645e;margin:0;border-top:1px solid #dcded3;padding-top:12px}
@media(max-width:600px){.number-band{padding:16px 14px}.number-band .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 10px}.number-band .stat:first-child{grid-column:1/-1;border-bottom:1px solid #dcded3;padding-bottom:14px}.number-band .stat+.stat{border-left:0;padding-left:0}.number-band .stat:nth-child(3){border-left:1px solid #dcded3;padding-left:12px}.number-band .stat-value{font-size:clamp(25px,7vw,32px)}.number-band .stat-label{font-size:8px;max-width:none}}
@media(prefers-reduced-motion:reduce){.data-num.is-counting .counter-value{animation:none}}
@media print{.number-band .replay{display:none}.data-num{border-bottom:0}}

/* Area-budget lab (.area-lab) — net vs. gross article, public/js/journal-widgets.js */
.formula-card{background:#1e221c;color:#fff;border-radius:16px;padding:24px 28px;margin:24px 0;font-variant-numeric:tabular-nums}
.formula-card p{margin:4px 0;font:500 13px/1.9 var(--sans);letter-spacing:.3px;text-transform:uppercase;color:#e4e7dc}
.formula-card .formula-lead{font-size:20px;font-weight:600;color:#fff;margin-bottom:14px}
.area-lab{margin:34px 0;padding:26px;border:1px solid #dce1d1;border-radius:20px;background:#f5f6f0}
.area-lab .al-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.area-lab .al-eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:1.2px;color:#626e4a;margin:0}
.area-lab h3{font-family:var(--serif);font-weight:500;font-size:28px;margin:10px 0 8px}
.area-lab .al-head p{font-size:13px;max-width:490px}
.area-lab .replay{font:500 11px/1.5 var(--sans);color:#242620;border:1px solid #d9ddcf;border-radius:99px;padding:6px 12px;background:#fff;cursor:pointer;white-space:nowrap}
.area-lab .replay:hover{background:#e9ff6c}.area-lab [hidden]{display:none!important}
.area-lab .al-assumption{font-size:10px;line-height:1.8;border-top:1px solid #dce1d1;border-bottom:1px solid #dce1d1;padding:12px 0;margin:14px 0;color:#55594e}
.area-lab .al-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.area-lab .al-tabs button{font:500 10px/1.6 var(--sans);text-align:left;border:1px solid #d5dccb;background:#fff;border-radius:10px;padding:11px;cursor:pointer;color:#667059}
.area-lab .al-tabs button span{display:block;color:#30382b;font-size:11px}
.area-lab .al-tabs button[aria-pressed=true]{background:#20271c;border-color:#20271c;color:#cddd9f}
.area-lab .al-tabs button[aria-pressed=true] span{color:#fff}
.area-lab .al-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-bottom:1px solid #d9e0cd;padding:22px 0 16px}
.area-lab .al-inputs span,.area-lab .al-grid span{display:block;font:650 9px/1.5 var(--sans);letter-spacing:.8px;color:#667059}
.area-lab .al-inputs strong{display:block;font:700 26px/1.6 var(--sans);font-variant-numeric:tabular-nums}
.area-lab .al-inputs small{font-size:9px;color:#737a68}
.area-lab .al-desc{font-size:12px;margin:15px 0}
.area-lab .al-predict{background:#fff;border:1px solid #dfe4d6;border-radius:13px;padding:18px}
.area-lab .al-predict p{font-size:13px;margin:0 0 12px}.area-lab .al-predict strong{font-size:10px;letter-spacing:.8px}
.area-lab .al-predict div{display:flex;gap:10px;flex-wrap:wrap}
.area-lab .al-predict button{font:500 12px var(--sans);border:1px solid #bfcbaa;border-radius:24px;padding:11px 18px;background:#f4f7ec;color:#27321c;cursor:pointer}
.area-lab .al-predict button:hover{background:#e9ff6c}
.area-lab .al-model{margin-top:18px;background:#fff;padding:18px 14px;border-radius:14px;border:1px solid #dce3d0}
.area-lab .al-caption{font:700 10px/1.5 var(--sans);letter-spacing:.8px;margin:0 0 5px}
.area-lab .al-caption span{display:block;font-size:8px;font-weight:400;color:#78826c;margin-top:3px}
.area-lab svg{display:block;width:100%;height:auto;overflow:visible}
.area-lab svg text{font:600 12px var(--sans);fill:#424c36}.area-lab svg text[data-al=excess]{fill:#854b32}
.area-lab .al-key{font-size:9px;display:flex;flex-wrap:wrap;gap:6px 16px;color:#768066;line-height:1.8}
.area-lab .al-key i{display:inline-block;width:11px;height:9px;background:#e9e7dc;margin-right:5px;border:1px solid #afb4a2}
.area-lab .al-key .hatched{background:repeating-linear-gradient(135deg,#fff 0 3px,#9aa68a 3px 4px)}
.area-lab .al-outcome{padding:18px 3px 0}.area-lab .al-feedback{font-weight:650;font-size:12px}
.area-lab .al-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.area-lab .al-grid strong{font:700 26px/1.6 var(--sans);display:block;font-variant-numeric:tabular-nums;color:#303d22}
.area-lab .al-grid strong.is-short{color:#854b32}
.area-lab .al-equation{font:600 14px/1.7 var(--sans);margin:16px 0}
.area-lab .al-explain,.area-lab .al-static{font-size:12px;margin:0}
@media(max-width:650px){.area-lab{padding:18px 14px}.area-lab .al-head{display:block}.area-lab .al-tabs{grid-template-columns:1fr 1fr}.area-lab .al-inputs{gap:8px}.area-lab .al-inputs strong{font-size:20px}.area-lab .al-inputs span{font-size:8px;letter-spacing:.3px}.area-lab .al-grid strong{font-size:21px}.formula-card{padding:18px}.formula-card .formula-lead{font-size:17px}}
@media print{.area-lab .al-tabs,.area-lab .al-predict,.area-lab .replay{display:none!important}.formula-card{background:#eee;color:#111}.formula-card p,.formula-card .formula-lead{color:#111}}
/* Study-time planner (.study-planner), driven by journal-widgets.js */
.article-body .study-planner{margin:38px -10px 42px;padding:28px;border:1px solid #dce2d3;border-radius:23px;background:#fafbf7;scroll-margin-top:90px}.article-body .study-planner *{box-sizing:border-box}.article-body .planner-heading .planner-kicker{margin:0 0 12px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#75806b}.article-body .study-planner .planner-heading h2{margin:0 0 15px;max-width:590px;font-size:31px;line-height:1.2}.article-body .planner-heading>p:last-child{font-size:13px;line-height:1.75;color:#64705b;margin:0 0 23px}.article-body .planner-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:23px}.article-body .planner-tabs button{appearance:none;border:1px solid #dbe1d3;border-radius:10px;padding:11px 4px;background:#fff;color:#535f4c;font:600 12px var(--sans,Geist,Arial,sans-serif);cursor:pointer}.article-body .planner-tabs button[aria-selected=true]{background:#e9ff6c;border-color:#cbdc73;color:#222222}.article-body .study-planner button:focus-visible,.article-body .study-planner input:focus-visible,.article-body .planner-controls:focus-visible{outline:2px solid #666666;outline-offset:4px}.article-body .planner-main{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}.article-body .planner-controls{min-width:0}.article-body .planner-division-name{font-size:13px!important;font-weight:650;margin:0 0 18px!important;line-height:1.6}.article-body .planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px}.article-body .planner-fields label{display:block;font-size:11px;line-height:1.5;margin:0 0 7px;font-weight:600;color:#59664e}.article-body .planner-fields input{width:100%;min-width:0;height:46px;border:1px solid #d5ddcc;border-radius:9px;background:#fff;padding:10px;color:#222222;font:500 16px var(--sans,Geist,Arial,sans-serif);font-variant-numeric:tabular-nums}.article-body .planner-input{position:relative}.article-body .planner-input input{padding-right:49px}.article-body .planner-input>span{position:absolute;right:10px;top:12px;font:11px/22px var(--sans,Geist,Arial,sans-serif);color:#7a8571;pointer-events:none}.article-body .planner-fields input[type=date]{font-size:12px;padding:9px 7px}.article-body .study-planner .planner-help{font-size:11px;line-height:1.7;color:#788170;margin:14px 0 9px}.article-body .planner-text-button{border:0;background:none;padding:3px 0;color:#4a4a4a;font:600 11px/1.7 var(--sans,Geist,Arial,sans-serif);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#b9c5a6;text-underline-offset:4px}.article-body .planner-error{font-size:12px!important;line-height:1.6;color:#9d392e;margin:12px 0 0!important}.article-body .planner-result{border-radius:17px;padding:23px;background:#242424;color:#fff;align-self:stretch}.article-body .planner-result-label{font-size:9px;line-height:1.6;letter-spacing:1.2px;color:#cccccc;margin:0!important}.article-body .planner-big{margin:14px 0 6px!important;display:flex;align-items:baseline;gap:11px;line-height:1.15}.article-body .planner-big strong{font-size:58px;font-weight:500;letter-spacing:-2px;font-variant-numeric:tabular-nums;color:#e9ff6c}.article-body .planner-big>span{font-size:11px;color:#d7d7d7}.article-body .planner-result-detail{font-size:11px;line-height:1.7;color:#c7c7c7;margin:0 0 19px!important}.article-body .planner-result-detail b{color:#fff;font-size:12px;font-weight:600}.article-body .planner-result-detail>span{margin:0 6px;color:#8e9a84}.article-body .planner-bar{display:flex;width:100%;height:12px;overflow:hidden;border-radius:9px;background:#525252}.article-body .planner-bar>span{height:100%;transition:width .32s cubic-bezier(.16,1,.3,1);min-width:0}.article-body .planner-bar-study{background:#e9ff6c}.article-body .planner-bar-pause{background:repeating-linear-gradient(135deg,#747474 0,#747474 4px,#606060 4px,#606060 8px)}.article-body .planner-bar-key{display:flex;gap:15px;margin-top:9px;font-size:9px;color:#b5b5b5}.article-body .planner-bar-key>span{display:flex;align-items:center;gap:6px}.article-body .planner-bar-key i{display:inline-block;width:6px;height:6px;border-radius:2px;background:#e9ff6c}.article-body .planner-bar-key>span+span i{background:#747474}.article-body .planner-end{border-top:1px solid #4b4b4b;margin-top:18px;padding-top:15px;display:flex;flex-direction:column;gap:3px}.article-body .planner-end>span{font-size:10px;color:#bdbdbd}.article-body .planner-end strong{color:#f3f3f3;font-size:16px;line-height:1.5;font-weight:500}.article-body .planner-result-note{font-size:10px;line-height:1.65;color:#b5b5b5;margin:10px 0 0!important}.article-body .planner-math{border-bottom:1px solid #dfe5d7;padding:20px 0 19px;margin:0 0 19px;display:grid;gap:4px;font-size:11px;line-height:1.7}.article-body .planner-math>span:first-child{color:#4a4a4a;font-weight:600}.article-body .planner-math>span+span{font-size:10px;color:#7b8571}.article-body .planner-comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.article-body .planner-comparison-heading h3{font:600 14px/1.6 var(--sans,Geist,Arial,sans-serif);margin:0}.article-body .planner-comparison-heading+.planner-help{margin-top:6px}.article-body .planner-comparison{overflow-x:auto;border:1px solid #e0e6d7;border-radius:12px;background:white;margin-top:13px}.article-body .planner-comparison table{margin:0;width:100%;min-width:530px;border-collapse:collapse}.article-body .planner-comparison thead th{background:#f1f4eb;color:#727e66;font-size:8px;line-height:1.6;letter-spacing:.3px;padding:11px 9px;border-bottom:1px solid #e2e7da;text-align:left;white-space:nowrap}.article-body .planner-comparison td,.article-body .planner-comparison tbody th{font-size:12px;padding:10px 9px;line-height:1.6;text-align:left;border-bottom:1px solid #edf0e7;font-variant-numeric:tabular-nums}.article-body .planner-comparison td{font-weight:400}.article-body .planner-comparison td:last-child{font-weight:700;color:#333333}.article-body .planner-comparison tr.is-selected{background:#f4f8e7}.article-body .planner-comparison tr:last-child td,.article-body .planner-comparison tr:last-child th{border-bottom:0}.article-body .planner-comparison button{background:none;border:0;font:600 12px var(--sans,Geist,Arial,sans-serif);color:#333333;cursor:pointer;padding:3px 0}.article-body .planner-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:13px}.article-body .planner-bottom p{font-size:9px;line-height:1.7;color:#849077;margin:0}.article-body .planner-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.article-body .planner-result.is-changing{animation:planner-soft-pulse .3s ease-out}@keyframes planner-soft-pulse{0%{box-shadow:0 0 0 3px #e9ff6c80}100%{box-shadow:0 0 0 0 #e9ff6c00}}@media(max-width:650px){.article-body .study-planner{margin:30px -7px 35px;padding:19px 15px;border-radius:18px}.article-body .study-planner .planner-heading h2{font-size:26px}.article-body .planner-heading>p:last-child{font-size:12px}.article-body .planner-tabs{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px}.article-body .planner-tabs button{padding:11px 3px;font-size:13px}.article-body .planner-main{grid-template-columns:1fr;gap:22px}.article-body .planner-fields{gap:15px 12px}.article-body .planner-fields label{font-size:11px}.article-body .planner-fields input[type=date]{font-size:13px}.article-body .planner-result{padding:22px}.article-body .planner-big strong{font-size:54px}.article-body .planner-big>span{font-size:13px}.article-body .planner-end{flex-direction:row;align-items:baseline;justify-content:space-between}.article-body .planner-end strong{font-size:15px}.article-body .planner-result-note{max-width:260px}.article-body .planner-bottom{display:block}.article-body .planner-bottom p+p{margin-top:4px}.article-body .planner-comparison thead th{font-size:8px;padding:10px 8px}.article-body .planner-comparison td,.article-body .planner-comparison tbody th{font-size:12px;padding:9px 8px}.article-body .planner-comparison-heading h3{font-size:13px}.article-body .planner-controls{scroll-margin-top:95px}}@media(prefers-reduced-motion:reduce){.article-body .planner-bar>span{transition:none}.article-body .planner-result.is-changing{animation:none}}@media print{.article-body .study-planner{break-inside:avoid}.article-body .planner-result{background:#f1f4eb;color:#222}.article-body .planner-result *{color:#222!important}.article-body .planner-tabs,.article-body .planner-text-button{display:none}}
/* Free Resources index (/free-resources.html) */
.fr-start{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-58px 0 0;position:relative;z-index:2}
.fr-start a{background:#fff;border:1px solid var(--rule);border-radius:22px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:0 14px 40px #0000000d;transition:transform .2s}
.fr-start a:hover{transform:translateY(-3px)}
.fr-start small{font-size:10px;letter-spacing:.12em;color:var(--faint);font-weight:600}
.fr-start b{font-size:18px;font-weight:600;letter-spacing:-.02em}
.fr-start span{font-size:12px;color:var(--gray);line-height:1.6}
.fr-start i{font-style:normal;margin-top:8px;font-size:12px;font-weight:600}
.fr-sec{margin-top:70px}
.fr-sec-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}
.fr-sec-head h2{font-family:var(--heading);font-weight:500;font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;line-height:1.15}
.fr-sec-head p{font-size:13px;color:var(--gray);max-width:380px;line-height:1.7}
.fr-filters{display:grid;gap:10px;margin-bottom:24px}
.fr-filters>div{display:flex;flex-wrap:wrap;gap:8px}
.fr-filters button{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--rule);border-radius:999px;background:#fff;font:inherit;font-size:12px;font-weight:500;color:var(--ink);cursor:pointer}
.fr-filters button span{font-size:10px;color:var(--faint);font-weight:600}
.fr-filters button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.fr-filters button.active span{color:var(--green)}
.fr-filters .fr-divrow button{padding:7px 13px;font-size:11px;background:transparent}
.fr-filters .fr-divrow button.active{background:var(--green);color:var(--ink);border-color:var(--green)}
.fr-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fr-card a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--rule);border-radius:22px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.fr-card a:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0000000d}
.fr-cover{display:block;aspect-ratio:16/8;background:var(--bg);overflow:hidden}
.fr-cover img{width:100%;height:100%;object-fit:cover}


.fr-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 18px;flex:1}
.fr-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.fr-meta b{color:var(--ink);font-weight:600}
.fr-meta span{margin-right:auto}
.fr-meta time{white-space:nowrap;letter-spacing:.02em;text-transform:none}
.fr-featured{grid-column:1/-1}
.fr-featured a{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.fr-featured .fr-cover{aspect-ratio:auto;min-height:100%}
.fr-featured .fr-body{padding:34px 36px;gap:12px}
.fr-featured .fr-body strong{font-family:var(--heading);font-weight:500;font-size:clamp(26px,2.6vw,36px);line-height:1.18;letter-spacing:-.03em}
.fr-featured .fr-desc{font-size:14px;-webkit-line-clamp:4}
.fr-featured a:not(:has(.fr-cover)){display:flex}
.fr-grid.filtered .fr-featured{grid-column:auto}
.fr-grid.filtered .fr-featured a{display:flex}
.fr-grid.filtered .fr-featured .fr-cover{aspect-ratio:16/8;min-height:0}
.fr-grid.filtered .fr-featured .fr-body{padding:18px 20px;gap:8px}
.fr-grid.filtered .fr-featured .fr-body strong{font-family:inherit;font-weight:600;font-size:16px;line-height:1.35;letter-spacing:-.015em}
.fr-grid.filtered .fr-featured .fr-desc{font-size:12px;-webkit-line-clamp:3}
.fr-body strong{font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.015em}
.fr-desc{font-size:12px;line-height:1.65;color:var(--gray);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fr-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.fr-divs,.fr-badges{display:flex;gap:5px;flex-wrap:wrap}
.fr-divs span{font-size:10px;border:1px solid var(--rule);border-radius:99px;padding:2px 7px;color:var(--gray)}
.fr-badges em{font:inherit;font-style:normal;font-weight:500;font-size:10px;border-radius:99px;padding:2px 8px;background:var(--green-light,#f2ffb8)}
.fr-empty{font-size:13px;color:var(--gray);padding:30px 0}
.fr-topics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fr-topic{background:#fff;border:1px solid var(--rule);border-radius:20px;padding:18px}
.fr-topic p{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:14px}
.fr-topic p span{font-size:10px;color:var(--faint)}
.fr-topic a{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--rule);padding:9px 0;font-size:12px}
.fr-topic a:hover{color:#5d7a12}
@media(max-width:1000px){.fr-grid{grid-template-columns:1fr 1fr}.fr-topics{grid-template-columns:1fr 1fr}.fr-start{grid-template-columns:1fr;margin-top:-40px}}
@media(max-width:700px){.fr-featured a{display:flex}.fr-featured .fr-cover{aspect-ratio:16/8;min-height:0}.fr-featured .fr-body{padding:20px 22px}.fr-featured .fr-body strong{font-size:24px}}
@media(max-width:640px){.fr-grid,.fr-topics{grid-template-columns:1fr}.fr-sec-head{display:block}.fr-sec-head p{margin-top:8px}}

/* NCARB 2026 pathways article — published-value bar charts (.np-chart) */
.article-body .np-chart{margin:24px 0 30px;background:#f6f6f3;border:1px solid var(--rule);border-radius:18px;padding:24px}
.article-body .np-chart-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;font-weight:600;letter-spacing:.13em;color:var(--gray)}
.article-body .np-replay{background:transparent;border:1px solid var(--rule);border-radius:20px;padding:6px 11px;font:inherit;font-size:10px;letter-spacing:0;font-weight:500;color:var(--ink);cursor:pointer;white-space:nowrap}
.article-body .np-chart h3{margin:12px 0 4px}
.article-body .np-sub{font-size:12px;line-height:1.6;color:var(--gray);margin:0 0 6px}
.article-body .np-row{display:grid;grid-template-columns:100px 1fr 60px;gap:12px;align-items:center;margin:14px 0;font-size:12px;line-height:1.4}
.article-body .np-row strong{text-align:right;font-weight:600}
.article-body .np-rail{background:#e3e3df;height:18px;border-radius:4px;overflow:hidden}
.article-body .np-bar{height:100%;width:var(--w);background:#303030;transform-origin:left;border-radius:3px}
.article-body .np-row.is-key .np-bar{background:#b8c653}
.article-body .np-scale{display:flex;justify-content:space-between;margin:0 72px 10px 112px;font-size:9px;color:var(--faint)}
.article-body .np-chart.play .np-bar{animation:np-grow .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay)}
@keyframes np-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.article-body .np-chart details{font-size:12px;border-top:1px solid var(--rule);padding:10px 0 4px}
.article-body .np-chart summary{cursor:pointer;font-weight:500}
.article-body .np-chart table{width:100%;border-collapse:collapse;font-size:12px;margin:10px 0;background:#fff}
.article-body .np-chart caption{text-align:left;color:var(--gray);font-size:11px;margin:4px 0 8px}
.article-body .np-chart th,.article-body .np-chart td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--rule)}
.article-body .np-chart thead th{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);background:#fafafa}
.article-body .np-chart tbody th{font-weight:500}
.article-body .np-chart figcaption{font-size:11px;line-height:1.7;color:var(--faint);margin-top:8px}
.article-body .np-insight{font-size:13px;line-height:1.7;border-top:1px solid var(--rule);padding-top:14px;margin:14px 0 0}
.guide-figure .np-table td,.guide-figure .np-table tbody th{padding:12px;border-bottom:1px solid var(--rule);background:#fff;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink)}
.guide-figure .np-table tr.is-key td,.guide-figure .np-table tr.is-key th{background:var(--green-light)}
@media(max-width:560px){.article-body .np-chart{padding:18px 14px}.article-body .np-row{grid-template-columns:78px 1fr 50px;gap:8px;font-size:11px}.article-body .np-scale{margin-left:86px;margin-right:58px}}
@media(prefers-reduced-motion:reduce){.article-body .np-chart.play .np-bar{animation:none}}

/* ---- Hospital HVAC article: system table, airflow balance, 3D room lab ---- */
.article-body .hv-table-wrap{overflow:auto;margin:26px 0}
.article-body .hv-system-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13px;line-height:1.6}
.article-body .hv-system-table caption{text-align:left;margin-bottom:12px;color:var(--gray);font-size:12px}
.article-body .hv-system-table th,.article-body .hv-system-table td{text-align:left;vertical-align:top;padding:13px 14px;border-bottom:1px solid var(--rule)}
.article-body .hv-system-table thead th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);font-weight:600}
.article-body .hv-system-table tbody th{font-weight:650;width:25%}
.article-body .hv-calc{background:#242424;border-radius:18px;padding:24px 30px;color:#fff;margin:24px 0}
.article-body .hv-calc-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#bbb}
.article-body .hv-calc .hv-formula{font-size:clamp(26px,3.5vw,37px);line-height:1.2;margin:18px 0;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.article-body .hv-formula strong{font-size:1.5em;color:#e9ff6c;font-weight:650;white-space:nowrap}
.article-body .hv-formula strong span{font-size:.45em;letter-spacing:0}
.article-body .hv-calc p:last-child{font-size:14px;color:#ccc;line-height:1.6;margin:0}
.article-body .roomlab{margin:34px 0;border:1px solid var(--rule);border-radius:22px;padding:26px 22px;background:#fafaf7}
.article-body .roomlab>h3{margin-top:0}
.article-body .roomlab-intro{font-size:14px;line-height:1.7;color:#555}
.article-body .roomlab .pill{display:inline-block;font-size:10px;letter-spacing:.07em;font-weight:650;background:#eee;padding:6px 10px;border-radius:16px}
.article-body .room-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:22px}
.article-body .room-card{min-width:0;border:1px solid #deded9;border-radius:15px;overflow:hidden;background:#fff}
.article-body .room-card-head{padding:20px 18px 12px}
.article-body .room-card h4{font-size:19px;line-height:1.3;margin:8px 0 10px;font-weight:650;letter-spacing:-.3px}
.article-body .room-card-head p{font-size:13px;line-height:1.6;margin:0;color:#606060}
.article-body .room-stage{height:310px;width:100%;background:#f4f4f1;display:flex;align-items:center;justify-content:center;color:#777;font-size:13px;text-align:center;position:relative}
.article-body .room-stage canvas{width:100%;height:100%;display:block;outline-offset:-4px}
.article-body .room-controls{padding:16px 16px 12px}
.article-body .room-control-row,.article-body .room-view-controls{display:flex;flex-wrap:wrap;gap:7px}
.article-body .room-view-controls{margin-top:8px;align-items:center}
.article-body .room-controls button,.article-body .room-prediction button{font-family:inherit;color:#222;border:1px solid #ccc;border-radius:8px;background:#fff;min-height:40px;padding:8px 11px;font-size:12px;line-height:1.4;cursor:pointer}
.article-body .room-controls button:hover,.article-body .room-prediction button:hover{border-color:#666;background:#f5f5f0}
.article-body .room-controls button[data-action=play]{background:#252525;color:#fff;border-color:#252525}
.article-body .room-controls button:disabled,.article-body .room-prediction button:disabled{opacity:.4;cursor:default}
.article-body .room-view-controls button[data-action=left],.article-body .room-view-controls button[data-action=right]{font-size:17px;width:40px;padding:4px}
.article-body .room-help{font-size:11px;line-height:1.6;color:#777;margin:10px 0 0}
.article-body .room-status{font-size:13px;line-height:1.65;margin:0;padding:0 16px 15px;min-height:85px;color:#555}
.article-body .room-card[data-door=open] .room-status{color:#82513d}
.article-body .room-prediction{border-top:1px solid #e1e1dc;padding:16px;background:#fafaf7}
.article-body .room-prediction h5{font-size:14px;font-weight:650;line-height:1.5;margin:0 0 12px}
.article-body .room-prediction button{display:block;width:100%;margin-top:8px;text-align:left}
.article-body .prediction-result{font-size:13px;line-height:1.6;margin:10px 0 0}
.article-body .roomlab-note{font-size:12px;line-height:1.7;color:#666;margin:20px 0 0}
.article-body .flow-static{margin-top:22px;border-top:1px solid #ddd;padding-top:14px}
.article-body .flow-static summary{cursor:pointer;font-size:13px;font-weight:600}
.article-body .direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}
.article-body .direction-grid>div{min-width:0}
.article-body .direction-grid>div+div{border-left:1px solid #ddd;padding-left:20px}
.article-body .direction-grid svg{display:block;width:100%;height:auto;margin-top:14px;font-size:13px}
.article-body .direction-grid p,.article-body .flow-static .muted{font-size:13px;line-height:1.5;color:#666}
.article-body .room-stage canvas:focus-visible,.article-body .roomlab button:focus-visible{outline:3px solid #777;outline-offset:3px}
.article-body .room-card[data-ready=false] .room-controls,.article-body .room-card[data-ready=false] .room-prediction{display:none}
@media(max-width:760px){.article-body .room-grid{grid-template-columns:1fr;gap:22px}.article-body .room-stage{height:330px}.article-body .room-status{min-height:0;padding:0 18px 18px}.article-body .roomlab{padding:22px 14px;margin-left:-6px;margin-right:-6px}.article-body .room-controls button,.article-body .room-prediction button{font-size:13px;min-height:42px}}
@media(max-width:560px){.article-body .hv-system-table{display:block;min-width:0;font-size:14px}.article-body .hv-system-table caption{display:block}.article-body .hv-system-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.article-body .hv-system-table tbody,.article-body .hv-system-table tr,.article-body .hv-system-table td,.article-body .hv-system-table tbody th{display:block;width:100%}.article-body .hv-system-table tbody tr{border:1px solid #deded9;border-radius:12px;padding:15px;margin-bottom:14px}.article-body .hv-system-table tbody th{padding:0 0 12px;font-size:15px;border:0}.article-body .hv-system-table td{padding:12px 0 0;border:0}.article-body .hv-system-table td::before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#666}.article-body .hv-calc{padding:22px 20px}.article-body .direction-grid{grid-template-columns:1fr;gap:22px}.article-body .direction-grid>div+div{padding-left:0;padding-top:22px;border-left:0;border-top:1px solid #ddd}.article-body .room-stage{height:300px}}
@media print{.article-body .room-stage,.article-body .room-controls,.article-body .room-prediction{display:none}.article-body .room-grid{display:block}.article-body .room-card{margin-bottom:20px}}

/* ---- IBC frontage article: animated labs, dimensioned plans, factor table ---- */
.article-body .lab{margin:32px 0;border:1px solid #dcdcd6;border-radius:20px;background:#fafaf8;overflow:hidden}.article-body .lab-heading{padding:26px 27px 0}.article-body .lab-heading h3{font-size:26px;margin:8px 0 15px}.article-body .lab-scope{font-size:13px;color:#666;padding:0 27px}.article-body .lab-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:18px;padding:10px 20px 23px}.article-body .lab-drawing{min-width:0;align-self:center}.article-body .lab-drawing svg{display:block;width:100%;height:auto;background:#fff;border-radius:15px;font-family:Geist,Arial,sans-serif}.article-body .lab-info{font-size:14px;min-width:0}.article-body .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 22px}.article-body .metrics.two{grid-template-columns:1fr 1fr}.article-body .metrics>div{background:white;border:1px solid #e5e5df;border-radius:11px;padding:12px 9px}.article-body .metrics span{display:block;font-size:9px;font-weight:650;letter-spacing:.04em;color:#666}.article-body .metrics strong{font-size:22px;letter-spacing:-1px;display:block;white-space:nowrap}.article-body .lab-choice b{display:block;margin:12px 0 8px;font-size:13px}.article-body .choices,.article-body .trace-controls,.article-body .wall-picks{display:flex;flex-wrap:wrap;gap:7px}.article-body .lab button{font:inherit;font-size:13px;color:#333;border:1px solid #c8c8c2;padding:10px 11px;border-radius:9px;background:#fff;cursor:pointer;min-height:42px}.article-body .lab button:hover{border-color:#333}.article-body .lab button:focus-visible{outline:3px solid #777;outline-offset:3px}.article-body .lab button[aria-pressed=true]{background:#262626;border-color:#262626;color:white}.article-body .choices{margin-bottom:17px}.article-body .trace-controls{margin-top:18px}.article-body .trace-controls button:first-child{background:#262626;color:white}.article-body .wall-picks{margin-top:14px;justify-content:center}.article-body .wall-picks button{font-size:12px;padding:9px}.article-body .lab-explain{min-height:108px;background:#f0f0ec;border-left:3px solid #e9ff6c;padding:13px;font-size:13px;line-height:1.6;margin-top:10px}.article-body .trace-total{font-size:12px;color:#555;border-top:1px solid #ddd;padding-top:12px}.article-body .trace-total b{font-size:17px;color:#222}.article-body .lab-equation{font-weight:650;font-size:15px}.article-body .lab-static{padding:17px 25px;margin:0!important;background:#f0f0ec;font-size:12px;line-height:1.7}.article-body .js-control[hidden]{display:none!important}@media(max-width:900px){.article-body .lab-layout{grid-template-columns:1fr}.article-body .lab-info{font-size:14px}.article-body .lab-explain{min-height:0}.article-body .metrics strong{font-size:25px}.article-body .metrics span{font-size:10px}.article-body .lab-info .metrics{margin-bottom:15px}}@media(max-width:760px){.article-body .lab{margin:25px -9px}.article-body .lab-heading{padding:22px 17px 0}.article-body .lab-heading h3{font-size:22px}.article-body .lab-scope{padding:0 17px;font-size:12px}.article-body .lab-layout{padding:8px 12px 20px;gap:20px}.article-body .lab-drawing{margin:0 -3px}.article-body .lab button{font-size:13px;min-height:44px}.article-body .metrics strong{font-size:25px}.article-body .lab-static{padding:16px;font-size:12px}.article-body .lab-drawing svg{touch-action:pan-y}}@media print{.article-body .js-control{display:none!important}.article-body .lab-layout{display:block}.article-body .lab{break-inside:avoid}.article-body .lab-explain,.article-body .trace-total{display:none}.article-body .lab-drawing svg{max-height:280px}}.article-body .lab:not(.is-interactive) .lab-drawing>svg{display:none}.article-body .lab-mobile-fallback{display:block}.article-body .lab-mobile-fallback img{display:block;width:100%;height:auto;border-radius:15px}.article-body .lab.is-interactive .lab-mobile-fallback{display:none}
.article-body .fi-table{border-collapse:collapse;width:100%;min-width:460px;font-size:14px;line-height:1.55}
.article-body .fi-table caption{text-align:left;margin-bottom:12px;color:var(--gray);font-size:12px}
.article-body .fi-table th,.article-body .fi-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--rule)}
.article-body .fi-table thead th{background:#f6f6f3;font-weight:600}
.article-body .fi-table tbody th{font-weight:600}
.article-body .fi-table td{font-variant-numeric:tabular-nums}
.article-body .fi-vector{margin:26px 0;border:1px solid var(--rule);border-radius:16px;padding:20px 14px 12px;background:#fff}
.article-body .fi-vector svg{display:block;width:100%;height:auto}
.article-body .fi-vector figcaption{padding:10px 4px 0}
@media(max-width:760px){.article-body .fi-vector{overflow-x:auto}.article-body .fi-vector svg{min-width:740px}.article-body .fi-vector::before{content:'Scroll horizontally to compare the dimensioned plans →';font-size:11px;color:#666;display:block;margin-bottom:12px}}
.article-body .lab .eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600;color:#777}
.article-body .lab-drawing svg text{paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.article-body .lab sub{line-height:0}
@media(max-width:560px){.article-body .fi-table{min-width:0;font-size:12.5px;table-layout:fixed}.article-body .fi-table th,.article-body .fi-table td{padding:10px 6px}.article-body .fi-table th:first-child{width:32%}}
.article-body .jq .hv-calc .hv-formula{font-size:clamp(18px,2.6vw,22px);line-height:1.5;letter-spacing:0}
.article-body .beam-lab-body{padding:10px 20px 23px}
.article-body .beam-lab-body .lab-drawing{margin:0}
.article-body .beam-lab-body .choices{margin:16px 0 0;padding-top:14px;border-top:1px solid #e1e1db}
.article-body .beam-lab-body .trace-controls{margin-top:12px}
.article-body .beam-lab-body .lab-explain{min-height:64px;margin-top:14px}
@media(max-width:650px){.article-body .beam-live text{font-size:25px}.article-body .beam-live .state-label{display:none}.article-body .beam-lab-body{padding:8px 12px 20px}.article-body .beam-lab-body .lab-explain{min-height:112px}}

/* ── Study materials ─────────────────────────────────────── */
.material-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.material-toolbar h2{font-family:var(--heading);font-weight:500;font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;line-height:1.15}
.material-filter{display:flex;gap:6px}
.material-filter button{font:inherit;font-size:12px;font-weight:500;color:var(--gray);background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 15px;cursor:pointer}
.material-filter button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.material-card[hidden]{display:none}
.material-card a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--rule);border-radius:26px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .25s var(--ease)}
.material-card a:hover{transform:translateY(-3px)}
.material-card-cover{display:block;background:#ecece8;padding:26px 26px 0;height:300px;overflow:hidden}
.material-card-cover img{display:block;width:100%;max-width:230px;height:auto;margin:0 auto;border-radius:6px 6px 0 0;box-shadow:0 10px 30px #00000026}
.material-card-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1}
.material-card-body strong{font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.material-card-desc{font-size:12px;line-height:1.65;color:var(--gray)}
.material-card-meta{margin-top:auto;padding-top:8px;font-size:11px;color:var(--faint)}
.material-badge{align-self:flex-start;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.04em;border-radius:999px;padding:5px 10px;background:var(--green-light);color:var(--ink)}
.material-badge-paid{background:var(--ink);color:#fff}
.material-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"cover claim" "about claim";gap:0 44px;align-items:start;padding-top:44px}
.material-cover{grid-area:cover;margin:0 0 40px;background:#ecece8;border-radius:28px;padding:40px;text-align:center}
.material-cover img{display:inline-block;max-width:min(100%,360px);height:auto;vertical-align:top;border-radius:6px;box-shadow:0 18px 50px #00000030}
.material-claim{grid-area:claim;position:sticky;top:104px;background:#fff;border:1px solid var(--rule);border-radius:26px;padding:26px}
.material-claim-title{font-family:var(--heading);font-weight:500;font-size:26px;letter-spacing:-.02em;line-height:1.2;margin:12px 0 8px}
.material-claim-sub{font-size:13px;line-height:1.65;color:var(--gray);margin-bottom:16px}
.public-page .material-form{display:block}
.public-page .material-form[hidden],.material-claim-open[hidden]{display:none}
.material-claim-open{width:100%;justify-content:center;cursor:pointer}
.material-form label[for]{display:block;font-size:12px;font-weight:500;margin-bottom:6px}
.material-form input[type=email]{width:100%;margin:0;font:inherit;font-size:14px;background:#f9f9f7;border:1px solid var(--rule);border-radius:14px;padding:12px 14px;color:var(--ink)}
.material-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0 16px;font-size:12px;line-height:1.55;color:var(--gray);cursor:pointer}
.material-consent input{flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:var(--ink)}
.material-form button[type=submit]{width:100%;justify-content:center;cursor:pointer}
.material-form button[disabled]{opacity:.6;cursor:wait}
.material-fine{font-size:11px;line-height:1.6;color:var(--faint);margin-top:12px}
.material-fine a{color:inherit;text-decoration:underline}
.material-msg{font-size:12px;line-height:1.55;margin-top:12px;color:#a2301f}
.material-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.material-result{background:var(--green-light);border-radius:18px;padding:18px 20px}
.material-result h3{font-size:16px;font-weight:600;margin-bottom:6px}
.material-result p{font-size:13px;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}
.material-layout h2{font-family:var(--heading);font-weight:500;font-size:clamp(26px,2.6vw,34px);letter-spacing:-.02em;line-height:1.2;margin-bottom:18px}
.material-about{grid-area:about;padding-bottom:30px}
.material-about>h2{margin-top:30px}
.material-about ul{padding-left:20px;margin-bottom:16px}
.material-about li{font-size:14px;line-height:1.85;color:var(--gray)}
.public-page .faq-item{padding:24px 0;margin:0;border:0;border-top:1px solid var(--rule);border-radius:0;box-shadow:none;scroll-margin-top:150px}
.public-page .faq-item:last-child{padding-bottom:0}
.lesson-inner .faq-item h3{font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.4;margin:0 0 10px}
.lesson-inner .faq-item h3 a{color:var(--ink);text-decoration:none}
.lesson-inner .faq-item h3 a:hover{text-decoration:underline}
.faq-item>:last-child{margin-bottom:0}
.page-faq .lesson-inner h2+.faq-item{margin-top:4px}
.material-faq{margin-top:64px}
.material-faq h2{font-family:var(--heading);font-weight:500;font-size:clamp(26px,3vw,36px);letter-spacing:-.025em;line-height:1.2;margin-bottom:22px}
.material-faq .guide-faq summary span{background:#fff}
.fr-cover img[src*="/materials/"]{object-position:top}
.material-faq .guide-faq-a p{color:var(--gray);line-height:1.8}
.material-faq .guide-faq-a a{color:var(--ink);text-decoration:underline}
.material-empty{background:#fff;border:1px solid var(--rule);border-radius:30px;padding:36px 40px}
.material-empty h2{font-family:var(--heading);font-weight:500;font-size:clamp(28px,3vw,38px);letter-spacing:-.025em;line-height:1.15;margin-bottom:12px}
.material-empty p{font-size:14px;line-height:1.75;color:var(--gray)}
.material-unsub{max-width:560px;background:#fff;border:1px solid var(--rule);border-radius:26px;padding:30px;margin:44px auto 0}
.material-unsub p{font-size:14px;line-height:1.7;color:var(--gray);margin-bottom:16px}
.material-unsub button{cursor:pointer}
.material-unsub .material-msg{color:var(--ink);margin:0}
@media(max-width:1000px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"cover" "claim" "about";gap:0}.material-claim{position:static;margin-bottom:40px}}
@media(max-width:600px){.material-grid{grid-template-columns:minmax(0,1fr)}.material-toolbar{flex-direction:column;align-items:flex-start}.material-cover{padding:24px;border-radius:22px}.material-empty{padding:26px 22px;border-radius:24px}}
