/* Inner pages extend V2's palette, typography, ink strokes and paper details. */
.review-ribbon {background:var(--ink);color:var(--paper);padding:8px 16px;text-align:center;font-size:10px;letter-spacing:1px;text-transform:uppercase;}
.site-nav a[aria-current="page"]:not(.button) {text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:3px;text-underline-offset:7px;}
.footer-nav {max-width:530px;flex-wrap:wrap;row-gap:12px;}
.breadcrumbs {padding-top:26px;color:var(--muted);font-size:12px;}
.breadcrumbs ol {display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 10px;margin:0;padding:0;list-style:none;}
.breadcrumbs li {display:flex;gap:10px;max-width:100%;overflow-wrap:anywhere;}
.breadcrumbs li+li::before {content:'↗';color:var(--coral);}
.breadcrumbs a {text-decoration:underline;text-underline-offset:3px;}
.page-intro {padding-top:64px;padding-bottom:55px;position:relative;}
.page-intro h1 {max-width:1000px;font-size:clamp(50px,6.8vw,96px);font-weight:800;line-height:1.03;letter-spacing:-.065em;margin:23px 0 25px;}
.page-intro .word-pop {display:inline-block;color:var(--ink);background:linear-gradient(transparent 74%,var(--pink) 74%);}
.page-lead {max-width:620px;font-size:20px;line-height:1.55;color:var(--muted);margin:0;}
.page-inner .services {padding-top:55px;}
.page-inner .services h1 {font-size:clamp(40px,4.7vw,67px);line-height:1.06;letter-spacing:-.055em;font-weight:800;}
.page-inner .about h1 {font-size:clamp(34px,4.2vw,60px);font-weight:750;line-height:1.1;letter-spacing:-.052em;margin:22px 0 25px;}
.page-inner .contact {margin-top:65px;}
.page-inner .contact h1 {font-size:clamp(42px,5.6vw,78px);font-weight:800;line-height:1.06;letter-spacing:-.065em;}
.service-scope {margin-top:-65px;padding-bottom:70px;color:var(--muted);font-size:14px;}
.editor-note {border-left:3px solid var(--coral);padding:10px 16px;margin:22px 0 30px;background:#fff3e9;font-size:13px;line-height:1.55;color:var(--ink);max-width:78ch;}
.archive {padding-bottom:100px;}
.category-nav {display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px;margin-bottom:32px;}
.category-nav>a,.more-categories summary,.more-categories a {display:block;border:1.5px solid var(--ink);padding:10px 18px;border-radius:100px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;}
.category-nav a[aria-current="page"],.category-nav a:hover {background:var(--ink);color:var(--paper);}
.more-categories {position:relative;}
.more-categories summary {cursor:pointer;list-style:none;}
.more-categories summary::-webkit-details-marker {display:none;}
.more-categories summary span {margin-left:12px;}
.more-categories>div {display:flex;gap:9px;flex-wrap:wrap;max-width:580px;padding:15px 0 0;}
.more-categories[open] {flex-basis:100%;}
.more-categories[open] summary {width:max-content;background:var(--lemon);}
.post-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;}
.post-card {display:flex;flex-direction:column;border:1.5px solid var(--ink);border-radius:3px;padding:26px 24px 22px;box-shadow:5px 5px 0 var(--ink);background:var(--paper);position:relative;min-height:360px;transition:transform .18s ease,box-shadow .18s ease;}
.post-card:nth-child(3n+1) {background:var(--pink);}
.post-card:nth-child(3n+2) {background:var(--lemon);}
.post-card:nth-child(3n+3) {background:var(--lilac);}
.post-card:nth-child(n+4) {background:var(--paper);}
.post-card:hover {transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);}
.post-card-top {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:34px;}
.post-card-top>span:last-child {font-size:24px;}
.post-card .micro {font-size:10px;}
.post-card h2 {font-size:clamp(23px,2.25vw,32px);font-weight:750;letter-spacing:-.04em;line-height:1.15;margin:0 0 18px;}
.post-card h2 a::after {content:'';position:absolute;inset:0;}
.post-card h2 a:focus-visible {outline-offset:6px;}
.post-card p {font-size:14px;line-height:1.6;margin:0 0 26px;}
.post-card-meta {margin-top:auto;padding-top:16px;border-top:1px solid rgba(48,35,63,.25);font-size:11px;font-weight:650;}
.pagination {display:flex;justify-content:center;gap:14px;margin-top:55px;}
.pagination a {display:grid;place-items:center;width:46px;height:46px;border:1.5px solid var(--ink);border-radius:50%;font-size:14px;font-weight:650;}
.pagination a[aria-current="page"] {background:var(--ink);color:var(--paper);}
.reading {max-width:930px;padding-top:48px;padding-bottom:75px;}
.article-heading h1 {font-size:clamp(38px,4.55vw,64px);line-height:1.07;letter-spacing:-.055em;font-weight:780;margin:22px 0;}
.article-deck {font-size:20px;line-height:1.6;color:var(--muted);margin:0 0 27px;}
.article-byline {display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);}
.article-byline a {font-weight:750;text-decoration:underline;text-underline-offset:4px;color:var(--ink);}
.article-image {display:block;width:100%;height:auto;margin:26px 0;border:1px solid var(--ink);}
.article-toc {border-bottom:1px solid var(--line);padding:15px 0;margin:24px 0 35px;}
.article-toc summary {font-size:14px;font-weight:650;cursor:pointer;}
.article-toc ol {padding-left:24px;font-size:14px;line-height:1.65;}
.article-toc li {padding:4px 0;}
.article-toc a,.article-body a {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.article-body {font-size:18px;line-height:1.8;overflow-wrap:anywhere;}
.article-body p {margin:0 0 22px;}
.article-body h2 {font-size:31px;line-height:1.2;letter-spacing:-.035em;margin:48px 0 20px;font-weight:750;scroll-margin-top:110px;}
.article-body h3 {font-size:22px;line-height:1.35;letter-spacing:-.025em;margin:28px 0 12px;}
.article-body ul,.article-body ol {padding-left:24px;margin-bottom:28px;}
.article-body li {padding-left:5px;margin:10px 0;}
.article-answer {font-size:21px;line-height:1.65;font-weight:550;}
.article-body blockquote {border-left:4px solid var(--lilac);padding:17px 24px;margin:24px 0;background:#f3f0fc;}
.article-body blockquote p:last-child {margin-bottom:0;}
.example-label {font-size:13px;line-height:1.6;color:var(--muted);border:1px dashed var(--ink);padding:15px 20px;}
.example-pair {display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0;}
.example-pair>div {padding:18px;background:#f3f0fc;border:1px solid var(--ink);}
.example-pair>div:nth-child(2) {background:#f7f9d6;}
.example-pair h3 {margin-top:0;font-size:18px;}
.example-pair p {font-size:17px;}
.table-scroll {overflow-x:auto;max-width:100%;margin:24px 0;}
.article-body table {border-collapse:collapse;width:100%;font-size:14px;line-height:1.55;}
.article-body th,.article-body td {padding:12px;vertical-align:top;text-align:left;border:1px solid var(--line);min-width:115px;}
.article-body th {background:var(--lemon);font-weight:700;}
.article-author {display:flex;gap:17px;align-items:center;border-top:1px solid var(--line);padding:28px 0;margin-top:45px;}
.article-author img {width:56px;height:56px;object-fit:cover;object-position:center 24%;border:1px solid var(--ink);border-radius:50%;}
.article-author a {font-size:15px;font-weight:750;}
.article-author p {font-size:12px;color:var(--muted);margin:5px 0 0;}
.related-posts {border-top:1px solid var(--line);padding-top:28px;}
.related-posts h2 {font-size:25px;letter-spacing:-.035em;margin:0 0 20px;}
.related-posts a {display:block;margin:12px 0;font-size:16px;text-decoration:underline;text-underline-offset:4px;}
.reading-cta {background:var(--lilac);margin-top:36px;padding:70px 0 78px;position:relative;}
.reading-cta::before {content:'';position:absolute;top:-18px;left:0;width:100%;height:20px;background:radial-gradient(ellipse 54px 19px at 50% 100%,var(--lilac) 98%,transparent) 0 0/108px 20px repeat-x;}
.reading-cta h2 {font-size:clamp(34px,4.6vw,58px);letter-spacing:-.055em;line-height:1.12;max-width:740px;margin:22px 0;}
.reading-cta p:not(.eyebrow) {font-size:18px;line-height:1.55;max-width:620px;margin:0 0 28px;}
.home-posts {padding-top:80px;padding-bottom:110px;}
.home-posts>h2 {font-size:42px;letter-spacing:-.05em;margin:20px 0 36px;}
.concept-section {padding-bottom:95px;}
.concept-section>.example-label {max-width:780px;}
.concept-heading {display:flex;gap:28px;align-items:center;margin:55px 0 38px;}
.concept-number {font-size:44px;font-weight:800;background:var(--coral);width:90px;height:90px;display:grid;place-items:center;flex-shrink:0;border:1.5px solid var(--ink);border-radius:50%;box-shadow:4px 4px 0 var(--ink);transform:rotate(-8deg);}
.concept-heading h2 {font-size:48px;line-height:1.08;letter-spacing:-.05em;}
.concept-grid {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.concept-grid h3 {font-size:24px;letter-spacing:-.025em;margin:24px 0 14px;}
.concept-grid p {font-size:17px;line-height:1.7;}
.concept-note {background:var(--lemon);border:1.5px solid var(--ink);box-shadow:7px 8px 0 var(--ink);padding:38px;transform:rotate(2deg);}
.concept-note p {font-size:27px;font-weight:650;line-height:1.3;letter-spacing:-.025em;}
.concept-note svg {width:80%;fill:none;stroke:var(--coral);stroke-width:4;stroke-linecap:round;}
.concept-copy {max-width:780px;margin-top:50px;}
.guide-section {display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;padding-top:20px;padding-bottom:110px;}
.guide-paper {background:var(--pink);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:34px;transform:rotate(-3deg);display:flex;flex-direction:column;gap:22px;}
.guide-paper strong {font-size:110px;font-weight:800;letter-spacing:-.07em;line-height:.95;}
.guide-paper strong span {font-size:70px;}
.guide-paper>span:last-child {font-size:11px;font-weight:700;}
.guide-section h2 {font-size:42px;line-height:1.08;letter-spacing:-.05em;margin:0 0 25px;}
.guide-section p {font-size:17px;line-height:1.65;}
.guide-section .editor-note {font-size:13px;}
.download-meta {font-size:12px!important;color:var(--muted);margin-top:17px;}
.legacy-policy {margin-top:38px;border-top:1px solid var(--line);padding-top:20px;}
.legacy-policy summary {font-size:17px;font-weight:650;cursor:pointer;}
.error-actions {display:flex;flex-wrap:wrap;gap:25px;align-items:center;padding-bottom:130px;}
@media(max-width:900px) {.post-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.concept-grid {gap:32px;}.guide-section {gap:45px;}}
@media(max-width:620px) {
 .review-ribbon {font-size:10px;padding:6px 12px;}.breadcrumbs {font-size:11px;padding-top:20px;}
 .page-intro {padding-top:42px;padding-bottom:35px;}.page-intro h1 {font-size:52px;margin:20px 0;}.page-lead {font-size:17px;}
 .post-grid {grid-template-columns:1fr;gap:25px;}.post-card {min-height:0;padding:24px;}.post-card h2 {font-size:29px;}.post-card-top {margin-bottom:28px;}.post-card .micro {font-size:10px;}.post-card p {font-size:15px;}
 .category-nav {gap:9px;}.category-nav>a,.more-categories summary,.more-categories a {font-size:12px;padding:10px 14px;}
 .archive {padding-bottom:60px;}.reading {padding-top:32px;padding-bottom:55px;}.article-heading h1 {font-size:39px;}.article-deck {font-size:18px;}.article-byline {font-size:11px;}.article-body {font-size:17px;line-height:1.75;}.article-body h2 {font-size:27px;margin-top:38px;}.article-answer {font-size:19px;}.example-pair {grid-template-columns:1fr;}.article-body blockquote {padding:15px 18px;}.editor-note {font-size:12px;}
 .reading-cta {padding:48px 0 55px;}.reading-cta p:not(.eyebrow) {font-size:17px;}
 .service-scope {margin-top:-25px;padding-bottom:35px;}.page-inner .services h1 {font-size:39px;}.page-inner .about h1 {font-size:39px;}.page-inner .contact h1 {font-size:42px;}
 .concept-heading {gap:18px;}.concept-number {width:64px;height:64px;font-size:31px;}.concept-heading h2 {font-size:34px;}.concept-grid {grid-template-columns:1fr;gap:28px;}.concept-note {padding:28px;}.concept-section {padding-bottom:65px;}
 .guide-section {grid-template-columns:1fr;gap:50px;padding-top:10px;padding-bottom:65px;}.guide-paper {width:85%;margin:0 auto;}.guide-paper strong {font-size:90px;}.guide-paper strong span {font-size:60px;}.guide-section h2 {font-size:34px;}
 .footer-nav {max-width:100%;}.home-posts>h2 {font-size:34px;}
}
@media(prefers-reduced-motion:reduce) {.post-card {transition:none;}.post-card:hover {transform:none;}}

/* Legal controls share the paper navigation typography. */
.footer-legal button, .policy-consent { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; text-decoration: underline; text-underline-offset: .22em; }
.footer-legal button:focus-visible, .policy-consent:focus-visible { outline: 3px solid var(--coral); outline-offset: 5px; }

/* Main navigation and smaller legal controls have separate rows. */
.footer .footer-nav {gap:0;align-items:center;}
.footer .footer-nav a {display:inline-flex;align-items:center;min-height:32px;font-size:14px;}
.footer-nav a + a::before {content:"·";margin:0 12px;color:var(--paper);}
.footer-bottom {flex-wrap:wrap;}
.footer-legal {display:flex;flex-wrap:wrap;align-items:center;font-size:11px;line-height:1.6;}
.footer-legal a,.footer-legal button {display:inline-flex;align-items:center;min-height:28px;text-decoration:none;}
.footer-legal > * + *::before {content:"·";margin:0 10px;}
.footer-legal a:hover,.footer-legal button:hover {color:var(--pink);text-decoration:underline;text-underline-offset:.22em;}
.footer-legal a:focus-visible {outline:3px solid var(--coral);outline-offset:5px;}
@media(max-width:1024px) {
 .footer-top {display:grid;grid-template-columns:auto minmax(0,1fr);}
 .footer-nav {grid-column:1/-1;justify-content:flex-start;}
}
@media(max-width:620px) {
 .footer {padding-bottom:96px;}
 .footer-top {grid-template-columns:1fr;}
 .blog-after > span {display:block;}
 .blog-after > .text-link {display:inline-flex;}
 .footer .footer-nav a {font-size:14px;}
 .footer-nav a + a::before {margin:0 10px;}
 .footer .footer-bottom {gap:9px;}
 .footer-legal {width:100%;font-size:11px;}
}
