.portal-header a{color:#17363d;text-decoration:none}.portal-header{font-family:Arial,Helvetica,sans-serif}.portal-provenance{font-size:13px;color:#53696d;line-height:1.7;margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid #d9e3de}.single-post .featured-image img{max-height:280px;object-fit:cover;width:100%}.blog .site-main,.archive .site-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog .site-main>.page-header,.archive .site-main>.page-header,.blog .paging-navigation,.archive .paging-navigation{grid-column:1/-1}.blog .site-main article,.archive .site-main article{margin:0!important}.blog .inside-article,.archive .inside-article{height:100%;border:1px solid #d9e3de;border-radius:10px;padding:28px}.blog .entry-title,.archive .entry-title{font-size:24px;line-height:1.25}.blog .post-image img,.archive .post-image img{max-height:230px;object-fit:cover}@media(max-width:760px){.blog .site-main,.archive .site-main{grid-template-columns:1fr}.single-post .featured-image img{max-height:190px}}
:root{--portal-ink:#17363d;--portal-green:#15695e;--portal-muted:#53696d;--portal-line:#d9e3de;--portal-paper:#f8f9f5;--portal-sand:#e4bc83}
html{scroll-behavior:smooth;scroll-padding-top:24px}body.portal-home{margin:0;background:#fff;color:var(--portal-ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6}.portal-home *{box-sizing:border-box}.portal-home a{text-decoration:none;color:inherit}.portal-home h1,.portal-home h2,.portal-home h3{color:var(--portal-ink);font-family:inherit;letter-spacing:-.035em;line-height:1.16;font-weight:650}.portal-home h2{font-size:36px;margin:0 0 20px}.portal-home h3{font-size:22px}.portal-home p{margin:0 0 20px}.portal-home a:focus-visible,.portal-home button:focus-visible,.portal-home summary:focus-visible,.portal-home input:focus-visible{outline:3px solid #ac742d;outline-offset:5px}.portal-wrap{max-width:1180px;padding:0 28px;margin:auto}.portal-header{border-bottom:1px solid #e7ece8;background:#fff}.portal-header-row{height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.portal-brand{display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.25;letter-spacing:-.4px}.portal-brand strong{font-size:21px}.portal-brand strong span{color:var(--portal-green)}.portal-brand-symbol{display:grid;place-items:center;width:43px;height:48px;border-radius:12px 12px 12px 2px;background:var(--portal-green);color:#fff;font-size:31px}.portal-desktop-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.portal-desktop-nav a:hover,.portal-text-link:hover{color:var(--portal-green);text-decoration:underline;text-underline-offset:5px}.portal-mobile-menu{display:none}.portal-skip{position:absolute;left:24px;top:-80px;z-index:100;background:#fff;padding:12px}.portal-skip:focus{top:8px}.portal-hero{background:var(--portal-paper);overflow:hidden}.portal-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:10px;align-items:center;padding-top:80px;padding-bottom:76px}.portal-eyebrow{font-size:11px;letter-spacing:.15em!important;text-transform:uppercase;font-weight:700;color:var(--portal-green);line-height:1.5!important;margin-bottom:18px!important}.portal-hero .portal-eyebrow span{display:inline-block;width:7px;height:7px;background:var(--portal-green);border-radius:50%;margin-right:8px}.portal-home h1{font-size:56px;margin:0 0 26px;letter-spacing:-2.3px;line-height:1.1}.portal-home h1 em{font-family:Georgia,serif;color:var(--portal-green);font-weight:400}.portal-lead{font-size:17px;max-width:465px;color:var(--portal-muted);line-height:1.75}.portal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:32px 0 21px}.portal-button{background:var(--portal-green);color:#fff!important;display:inline-flex;gap:27px;align-items:center;border-radius:7px;padding:15px 21px;font-size:14px;font-weight:650;min-height:50px;transition:background .18s}.portal-button:hover{background:#104d45}.portal-button span{font-size:20px}.portal-text-link{font-size:14px;font-weight:650;color:var(--portal-green)!important}.portal-hero-note{font-size:12px;color:#60716e}.portal-hero-art{position:relative;width:100%;aspect-ratio:1.06;display:flex;align-items:center;justify-content:center}.portal-hero-art svg{position:relative;width:100%;height:auto;z-index:1}.portal-art-orbit{position:absolute;inset:8% 3%;border:1px solid #dfe7dc;border-radius:50%;background:radial-gradient(ellipse at center,#e9f0e6 0%,#f8f9f5 70%)}.portal-art-label{position:absolute;background:#fff;border:1px solid #e9ede8;box-shadow:0 9px 23px #183a3510;z-index:2;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;border-radius:8px;padding:12px 16px}.portal-art-label i{font-style:normal;color:var(--portal-green);font-size:16px}.portal-label-one{right:-4px;top:12%}.portal-label-two{left:0;bottom:10%}.portal-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.portal-section-head h2{margin-bottom:0}.portal-section-head>p{font-size:14px;color:var(--portal-muted);margin-bottom:2px}.portal-topics{padding-top:74px;padding-bottom:70px;scroll-margin-top:30px}.portal-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portal-topic{position:relative;border:1px solid var(--portal-line);border-radius:10px;padding:25px 27px 24px;background:#fff;transition:background .15s,border-color .15s}.portal-topic:hover{border-color:#83a99a;background:#f7faf6}.portal-topic-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.portal-topic-top svg{width:37px;height:37px;fill:none;stroke:var(--portal-green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.portal-topic-top>span{font-size:11px;color:#82968d;letter-spacing:.1em}.portal-topic h3{margin-bottom:10px}.portal-topic p{font-size:14px;color:var(--portal-muted);max-width:250px;margin:0 0 17px}.portal-card-arrow{position:absolute;right:24px;bottom:19px;font-size:23px;color:var(--portal-green)}.portal-start{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;background:#f2f5ef;border-radius:13px;padding:50px 54px;margin-bottom:76px;max-width:1124px}.portal-start p{color:var(--portal-muted);font-size:15px}.portal-steps{list-style:none;margin:0;padding:4px 0 0}.portal-steps li{display:flex;gap:20px;position:relative;padding-bottom:27px}.portal-steps li:not(:last-child):before{content:'';position:absolute;top:37px;bottom:0;left:17px;width:1px;background:#cbdacd}.portal-steps li:last-child{padding-bottom:0}.portal-steps li>span{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border:1px solid #b2cbbb;background:#f2f5ef;border-radius:50%;color:var(--portal-green);font-size:13px;font-weight:700}.portal-steps h3{font-size:18px;margin:5px 0 7px}.portal-steps p{font-size:14px;margin:0}.portal-guides{padding-bottom:76px}.portal-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.portal-guide{border:1px solid var(--portal-line);border-radius:10px;overflow:hidden;background:#fff}.portal-guide-image{display:block;aspect-ratio:1.85;background:#e9efea;overflow:hidden}.portal-guide-image img{width:100%;height:100%;object-fit:cover;display:block}.portal-guide-copy{padding:25px}.portal-guide-copy h3{font-size:21px;line-height:1.3;margin:0 0 25px}.portal-guide-copy h3 a:hover{text-decoration:underline;text-underline-offset:4px}.portal-guide-copy .portal-eyebrow{font-size:10px}.portal-search-section{background:#163b40;color:#fff}.portal-search-inner{padding-top:45px;padding-bottom:45px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.portal-search-inner h2{color:#fff;font-size:29px;margin:0}.portal-search-inner .portal-eyebrow{color:#b5d4c7}.portal-search-inner form{display:flex;background:#fff;border-radius:7px;overflow:hidden}.portal-search-inner input[type=search]{background:#fff!important;border:0!important;box-shadow:none!important;font-size:14px;color:var(--portal-ink)!important;width:100%;min-width:0;padding:18px}.portal-search-inner button{font-size:24px;background:#e2ba83;color:var(--portal-ink);border:0;width:58px;flex-shrink:0;cursor:pointer}.portal-about{padding-top:75px;padding-bottom:75px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.portal-about>div>p:not(.portal-eyebrow){font-size:15px;color:var(--portal-muted);max-width:470px}.portal-faq details{border-bottom:1px solid var(--portal-line);padding:18px 0}.portal-faq summary{cursor:pointer;font-size:16px;font-weight:600;list-style:disclosure-closed;padding-right:8px;min-height:30px}.portal-faq details[open] summary{list-style:disclosure-open}.portal-faq p{font-size:14px;color:var(--portal-muted);margin:16px 0 4px}.portal-footer{border-top:1px solid var(--portal-line);background:#f8f9f6;padding:36px 0}.portal-footer .portal-wrap{display:flex;justify-content:space-between;gap:25px}.portal-footer-brand{font-weight:700;font-size:18px}.portal-footer p{font-size:12px;color:var(--portal-muted);margin:8px 0 0}.portal-footer nav{display:flex;gap:24px;align-items:center;font-size:13px}.portal-archive-heading{padding:36px!important;background:#eef4ed!important;border-radius:10px;margin-bottom:30px}.portal-archive-heading h1{font-size:38px;line-height:1.2;color:var(--portal-ink)}.portal-toc{padding:24px 28px;border:1px solid #d5e2d9;border-radius:10px;background:#f5f8f2;margin:0 0 32px}.portal-toc summary{font-size:18px;font-weight:700;cursor:pointer;color:var(--portal-ink)}.portal-toc ol{margin:15px 0 0 23px;font-size:15px;line-height:1.6}.portal-toc li{margin:7px 0}.portal-toc a{color:var(--portal-green)}body.single-post .entry-content{line-height:1.85}body.single-post .entry-content h2{font-size:29px;line-height:1.25;margin-top:45px;scroll-margin-top:30px}body.single-post .entry-content h3{line-height:1.35}body.single-post .entry-content table{display:block;max-width:100%;overflow:auto}body.single-post .entry-content blockquote{border-left-color:var(--portal-green);background:#f5f8f3;padding:22px;font-size:inherit}
@media(max-width:1050px){.portal-home h1{font-size:48px}.portal-start{margin-left:28px;margin-right:28px}.portal-desktop-nav{gap:20px}.portal-home h2{font-size:30px}.portal-art-label{font-size:11px;padding:9px 11px}.portal-about{gap:40px}.portal-start{gap:40px}}
@media(max-width:760px){.portal-wrap{padding-left:22px;padding-right:22px}.portal-header-row{height:82px}.portal-desktop-nav{display:none}.portal-mobile-menu{display:block;position:relative;font-size:14px}.portal-mobile-menu summary{cursor:pointer;padding:12px;border:1px solid #cddbd2;border-radius:7px}.portal-mobile-menu nav{position:absolute;right:0;top:52px;z-index:10;background:#fff;box-shadow:0 12px 30px #183a3520;min-width:200px;padding:12px;border:1px solid #d9e3de;border-radius:8px}.portal-mobile-menu nav a{display:block;padding:12px}.portal-brand{font-size:13px}.portal-brand strong{font-size:18px}.portal-brand-symbol{width:34px;height:39px;font-size:27px}.portal-hero-grid{grid-template-columns:1fr;padding-top:44px;padding-bottom:32px;gap:10px}.portal-home h1{font-size:43px;letter-spacing:-1.8px}.portal-lead{font-size:16px;max-width:520px}.portal-hero-art{max-width:390px;margin:0 auto;aspect-ratio:1.3}.portal-hero-art svg{max-height:320px}.portal-label-one{top:11%;right:0}.portal-label-two{bottom:4%;left:3%}.portal-hero-note{font-size:11px}.portal-actions{gap:20px;margin-top:26px}.portal-topics{padding-top:47px;padding-bottom:44px}.portal-section-head{display:block;margin-bottom:24px}.portal-section-head>p,.portal-section-head>a{display:block;margin-top:18px}.portal-home h2{font-size:30px}.portal-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-topic{padding:20px 18px}.portal-topic h3{font-size:19px}.portal-topic p{font-size:13px}.portal-topic-top{margin-bottom:20px}.portal-topic-top svg{width:32px;height:32px}.portal-card-arrow{right:17px;bottom:10px}.portal-start{margin:0 22px 48px;padding:29px 24px;grid-template-columns:1fr;gap:30px}.portal-guide-grid{grid-template-columns:1fr;gap:20px}.portal-guide{display:grid;grid-template-columns:120px 1fr}.portal-guide-image{height:100%;aspect-ratio:auto}.portal-guide-copy{padding:20px}.portal-guide-copy h3{font-size:19px;margin-bottom:17px}.portal-guides{padding-bottom:48px}.portal-search-inner{grid-template-columns:1fr;gap:23px;padding-top:34px;padding-bottom:34px}.portal-about{grid-template-columns:1fr;gap:23px;padding-top:45px;padding-bottom:45px}.portal-footer .portal-wrap{display:block}.portal-footer nav{margin-top:23px;flex-wrap:wrap}.portal-toc{padding:20px}.portal-archive-heading h1{font-size:30px}.portal-archive-heading{padding:26px!important}}
@media(max-width:370px){.portal-home h1{font-size:37px}.portal-topic-grid{grid-template-columns:1fr}.portal-actions{align-items:flex-start;flex-direction:column}.portal-guide{grid-template-columns:90px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Visual UX continuation 2026-09-11 */
/* Shared refinement layer for the existing Legal Tech / Knowledge Platform draft. */
:root {
  --portal-ink: #17363d;
  --portal-green: #15695e;
  --portal-muted: #53696d;
  --portal-line: #d9e3de;
  --portal-paper: #f8f9f5;
  --portal-sand: #e4bc83;
  --portal-focus: #8a5b1d;
  --portal-radius: 12px;
}
.portal-header *, .portal-footer *, .portal-tools *, .portal-next-step * { box-sizing: border-box; }
.portal-header { position: relative; z-index: 20; }
.portal-header-row { min-height: 100px; height: auto; padding-top: 18px; padding-bottom: 18px; }
.portal-brand { flex-shrink: 0; }
.portal-brand-symbol { flex-shrink: 0; }
.portal-desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.portal-header a:focus-visible, .portal-header summary:focus-visible,
.portal-footer a:focus-visible, .site-main a:focus-visible,
.site-main button:focus-visible, .site-main summary:focus-visible,
.site-main input:focus-visible, .portal-table-scroll:focus-visible,
.portal-home a:focus-visible, .portal-home button:focus-visible,
.portal-home summary:focus-visible, .portal-home input:focus-visible {
  outline: 3px solid var(--portal-focus); outline-offset: 4px;
}
.portal-skip { position: fixed; top: 0; left: 16px; transform: translateY(-160%); z-index: 100000; }
.portal-skip:focus { top: 8px; transform: none; }
.portal-home .portal-main { overflow-wrap: break-word; }
.portal-hero-copy, .portal-hero-art, .portal-section-head > *, .portal-guide-copy { min-width: 0; }
.portal-home h1 { font-size: clamp(2.3rem, 4.5vw, 3.5rem); }
.portal-home h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); text-wrap: balance; }
.portal-home h3 { text-wrap: balance; }
.portal-topic { display: flex; flex-direction: column; padding-bottom: 42px; }
.portal-topic-top > span { color: var(--portal-muted); }
.portal-topic p { margin-bottom: 0; }
.portal-topic:focus-visible { background: #f2f7ef; }
.portal-guide { display: flex; flex-direction: column; }
.portal-guide-copy { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.portal-guide-copy > .portal-text-link { margin-top: auto; min-height: 44px; display: inline-flex; align-items: center; }
.portal-guide-image { flex-shrink: 0; }
.portal-guide-image > svg { display: block; width: 100%; height: 100%; background: #e8efe5; }
.portal-text-link { text-decoration: underline !important; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.portal-search-inner form { overflow: visible; }
.portal-search-inner input[type=search] { border-radius: 7px 0 0 7px; font-size: 16px; }
.portal-search-inner button { border-radius: 0 7px 7px 0; min-height: 56px; }
.portal-search-inner input::placeholder { color: #53696d; opacity: 1; }
.portal-faq summary { min-height: 44px; line-height: 1.55; }
.portal-faq details[open] { padding-bottom: 24px; }
.portal-footer { color: var(--portal-ink); }
.portal-footer a { color: var(--portal-ink); text-decoration: underline; text-underline-offset: .2em; }
.portal-footer .portal-footer-brand { text-decoration: none; }
.portal-footer nav a { min-height: 44px; display: inline-flex; align-items: center; }
.portal-footer .portal-wrap { align-items: flex-start; flex-wrap: wrap; }
.portal-footer p { max-width: 48ch; font-size: 14px; line-height: 1.65; }
.portal-footer nav { flex-wrap: wrap; column-gap: 24px; row-gap: 4px; }

/* Article presentation: protect the original text, scans and document images. */
body.single-post .site-content { align-items: flex-start; }
body.single-post .inside-article { border-radius: var(--portal-radius); }
body.single-post .entry-title { color: var(--portal-ink); line-height: 1.17; letter-spacing: -.025em; text-wrap: balance; }
body.single-post .entry-content { font-size: 18px; overflow-wrap: anywhere; }
body.single-post .entry-content > p, body.single-post .entry-content > ul,
body.single-post .entry-content > ol { max-width: 72ch; }
body.single-post .entry-content h2 { color: var(--portal-ink); font-size: clamp(1.5rem, 2.5vw, 1.9rem); }
body.single-post .entry-content h3 { color: var(--portal-ink); font-size: 1.3rem; }
body.single-post .entry-content :is(h2,h3,h4) { scroll-margin-top: 32px; }
body.single-post .entry-content a { text-decoration: underline; text-underline-offset: .16em; }
body.single-post .featured-image { display: flex; justify-content: center; margin: 28px 0; background: var(--portal-paper); border-radius: var(--portal-radius); }
body.single-post .featured-image img { width: auto; max-width: 100%; height: auto; max-height: 320px; object-fit: contain; }
@media (max-width: 760px) { body.single-post .featured-image img { max-height: 220px; } }
body.single-post .entry-content img { max-width: 100%; height: auto; }
body.single-post .entry-content figure { max-width: 100%; }
body.single-post .entry-content figcaption { font-size: 14px; line-height: 1.6; color: var(--portal-muted); }
.portal-provenance { font-size: 14px; }
.portal-toc { border-left: 4px solid var(--portal-green); }
.portal-toc summary { min-height: 44px; line-height: 1.5; padding: 7px 0; }
.portal-toc-count { font-size: 13px; font-weight: 400; color: var(--portal-muted); margin-left: 10px; white-space: nowrap; }
.portal-toc li a { display: inline-block; padding: 5px 0; line-height: 1.55; }
.portal-toc ol { margin-top: 10px; }
.portal-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin-bottom: 1.5em; border: 1px solid var(--portal-line); border-radius: 8px; }
body.single-post .entry-content .portal-table-scroll table { display: table; width: 100%; margin: 0; overflow: visible; border: 0; }
.portal-table-scroll th { text-align: start; background: #eef4ed; color: var(--portal-ink); }
.portal-table-scroll :is(th,td) { padding: 12px 16px; min-width: 8rem; font-size: 16px; line-height: 1.65; }
.portal-table-scroll tr:last-child td { border-bottom: 0; }
.portal-table-scroll td:last-child, .portal-table-scroll th:last-child { border-right: 0; }
.portal-table-hint { color: var(--portal-muted); font-size: 13px; margin: 0 0 8px; }

/* Shared archive and search cards; retain the native WordPress query and pagination. */
.blog .site-main, .archive .site-main, .search-results .site-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
.search-results .site-main { display: grid; gap: 24px; }
.search-results .site-main > :not(article) { grid-column: 1 / -1; }
.blog .site-main > article, .archive .site-main > article, .search-results .site-main > article { min-width: 0; }
.blog .inside-article, .archive .inside-article, .search-results .inside-article {
  border: 1px solid var(--portal-line); border-radius: var(--portal-radius); padding: 28px;
  background: #fff; height: 100%; display: flex; flex-direction: column;
}
.blog .entry-title, .archive .entry-title, .search-results .entry-title { font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.3; overflow-wrap: anywhere; }
.blog .entry-title a, .archive .entry-title a, .search-results .entry-title a { color: var(--portal-ink); }
.blog .entry-title a:hover, .archive .entry-title a:hover, .search-results .entry-title a:hover { text-decoration: underline; text-underline-offset: .15em; }
.blog .entry-summary, .archive .entry-summary, .search-results .entry-summary { font-size: 16px; line-height: 1.75; }
.blog .entry-meta, .archive .entry-meta, .search-results .entry-meta { font-size: 13px; }
.blog .post-image, .archive .post-image { margin-top: 0; }
.blog .post-image img, .archive .post-image img { width: 100%; height: auto; max-height: 240px; object-fit: contain; background: var(--portal-paper); border-radius: 7px; }
.site-main .page-header { color: var(--portal-ink); }
.archive .site-main > .page-header, .search .site-main > .page-header { background: #eef4ed; border-radius: var(--portal-radius); padding: 32px; }
.archive .page-title, .search .page-title { font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.2; }
.site-main .paging-navigation { clear: both; }
.site-main .paging-navigation .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 8px 12px; margin: 3px; border: 1px solid var(--portal-line); border-radius: 6px; }
.site-main .paging-navigation .page-numbers.current { background: var(--portal-green); border-color: var(--portal-green); color: #fff; }

/* Tools are explicitly a roadmap, not working controls or a lead form. */
.portal-tools { padding-top: 58px; padding-bottom: 66px; }
.portal-tools-intro { max-width: 62ch; color: var(--portal-muted); font-size: 16px; }
.portal-tools-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.portal-tool-card { padding: 28px; background: var(--portal-paper); border: 1px solid var(--portal-line); border-radius: var(--portal-radius); }
.portal-tool-card svg { width: 40px; height: 40px; margin-bottom: 22px; fill: none; stroke: var(--portal-green); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.portal-tool-card h3 { font-size: 21px; margin: 0 0 12px; }
.portal-tool-card p { font-size: 15px; color: var(--portal-muted); }
.portal-status { display: inline-flex; align-items: center; border: 1px solid #c4d6ca; border-radius: 20px; padding: 4px 10px; background: #edf4eb; color: #315e4e; font-size: 12px; font-weight: 600; }
.portal-next-step { margin-top: 40px; padding: 28px; border: 1px solid var(--portal-line); border-left: 4px solid var(--portal-green); border-radius: var(--portal-radius); background: var(--portal-paper); }
.portal-next-step h2 { margin-top: 0 !important; font-size: 24px !important; }
.portal-next-step p { font-size: 16px; color: var(--portal-muted); }
.portal-next-step .portal-actions { margin-bottom: 0; gap: 16px; }
.portal-next-step .portal-button { text-decoration: none; }

@media (max-width: 1050px) {
  .portal-desktop-nav { gap: 20px; }
  .portal-hero-grid { padding-top: 58px; padding-bottom: 54px; }
  .portal-hero-art { align-self: center; }
}
@media (max-width: 900px) {
  .portal-desktop-nav { display: none; }
  .portal-mobile-menu { display: block; position: relative; font-size: 14px; }
  .portal-mobile-menu summary { min-width: 64px; min-height: 44px; cursor: pointer; padding: 10px 12px; border: 1px solid #93ada2; border-radius: 7px; }
  .portal-mobile-menu nav { position: absolute; right: 0; top: calc(100% + 10px); z-index: 30; background: #fff; box-shadow: 0 12px 30px #183a3520; width: min(280px,calc(100vw - 44px)); padding: 12px; border: 1px solid var(--portal-line); border-radius: 8px; }
  .portal-mobile-menu nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; border-radius: 4px; }
  .portal-mobile-menu nav a:hover { background: var(--portal-paper); text-decoration: underline; }
  .portal-hero-grid { grid-template-columns: 1.15fr 1fr; gap: 0; }
  .portal-home h1 { font-size: clamp(2.1rem,4.5vw,3rem); letter-spacing: -.035em; }
  .portal-art-label { max-width: 94%; font-size: 11px; }
  .portal-tools-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .portal-header-row { min-height: 82px; gap: 12px; padding-top: 14px; padding-bottom: 14px; }
  .portal-hero-grid { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 36px; }
  .portal-home h1 { font-size: clamp(2.3rem,7vw,3rem); }
  .portal-hero-art { max-width: 340px; margin-top: 16px; }
  .portal-guide { display: grid; grid-template-columns: 120px minmax(0,1fr); }
  .portal-guide-image { min-width: 0; }
  .portal-guide-copy h3 { overflow-wrap: anywhere; }
  .portal-topic p { font-size: 14px; }
  .portal-tools { padding-top: 42px; padding-bottom: 44px; }
  .portal-tool-card { padding: 24px; }
  .blog .site-main, .archive .site-main, .search-results .site-main { grid-template-columns: 1fr; }
  body.single-post .inside-article { padding: 26px 22px; }
  body.single-post .entry-title { font-size: clamp(1.8rem,6vw,2.4rem); }
  .portal-next-step { padding: 24px 20px; }
}
@media (max-width: 480px) {
  body.single-post .site-content { padding: 16px 12px; }
  body.single-post .inside-article { padding: 24px 18px; }
  body.single-post .comments-area { padding: 24px 18px; }
  .portal-topic-grid { grid-template-columns: 1fr; }
  .portal-topic { padding: 23px 24px 40px; }
  .portal-topic-top { margin-bottom: 18px; }
  .portal-topic h3 { font-size: 21px; }
  .portal-topic p { max-width: none; }
  .portal-guide { display: flex; }
  .portal-guide-image { aspect-ratio: 1.85; height: auto; }
  .portal-guide-copy { padding: 24px; }
  .portal-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .portal-home .portal-button { justify-content: space-between; width: 100%; }
  .portal-hero-note { font-size: 12px; }
  .portal-label-one { right: 0; top: 5%; }
  .portal-label-two { left: 0; bottom: 0; }
  .portal-toc { padding: 16px; }
  .portal-toc-count { display: block; margin-left: 0; }
}
@media (max-width: 360px) {
  .portal-wrap { padding-left: 16px; padding-right: 16px; }
  .portal-brand { gap: 8px; font-size: 12px; }
  .portal-brand strong { font-size: 16px; }
  .portal-brand-symbol { width: 30px; height: 36px; }
  .portal-mobile-menu summary { min-width: 60px; padding-left: 8px; padding-right: 8px; }
  .portal-home h1 { font-size: 2.15rem; }
  .portal-start { margin-left: 16px; margin-right: 16px; padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .portal-home *, .portal-header *, .portal-footer * { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  .portal-button, .portal-topic, .portal-tool-card, .portal-status, .portal-toc { border: 1px solid ButtonText; }
  .portal-brand-symbol { outline: 1px solid ButtonText; }
}
@media print {
  .portal-header, .portal-footer, .portal-toc, .portal-next-step, .widget-area, .site-footer, .site-info, .navigation, #wpadminbar, .portal-mobile-menu { display: none !important; }
  body, .site, .site-content, .content-area, .inside-article { background: #fff !important; color: #000 !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; }
  .portal-table-scroll { overflow: visible; border: 0; }
  .entry-content h2, .entry-content h3 { break-after: avoid; }
  .entry-content img, .entry-content tr { break-inside: avoid; }
}

/* Offline refinement package: category, comments and page typography. */
.portal-archive-heading > p:not(.portal-eyebrow),
.archive .page-header .taxonomy-description,
.archive .page-header .taxonomy-description p,
.archive .page-header .archive-description,
.archive .page-header .archive-description p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--portal-muted);
  max-width: 68ch;
}
.portal-archive-heading > p:last-child,
.archive .page-header .taxonomy-description > :last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .archive .site-main > .page-header, .search .site-main > .page-header { padding: 24px; }
}

/* QA at 320 px: the historical comment author expands the document to 347 px. */
.single-post .comments-area { overflow-wrap: anywhere; font-size: 16px; line-height: 1.75; }
.single-post .comments-area .comment-author-info { min-width: 0; max-width: 100%; }
.single-post .comments-area .comment-author { font-size: 16px; line-height: 1.5; }
.single-post .comments-area .comment-metadata { font-size: 13px; }
.single-post .comments-area .comment-content { font-size: 16px; line-height: 1.75; }

/* Static pages currently inherit the legacy 23px body text. */
body.page:not(.portal-home) .entry-content { font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
body.page:not(.portal-home) .entry-content > p,
body.page:not(.portal-home) .entry-content > ul,
body.page:not(.portal-home) .entry-content > ol { max-width: 72ch; }

/* Offline accessibility refinements. */
.portal-search-inner :is(input,button):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
  box-shadow: 0 0 0 7px var(--portal-ink) !important;
}
.portal-footer a, .portal-header a, .portal-next-step a { overflow-wrap: anywhere; }
.single-post .comments-area .children { margin-inline-start: min(4vw, 24px); }
.single-post .comments-area :is(pre,code) { white-space: pre-wrap; overflow-wrap: anywhere; }
.single-post .comments-area :is(img,video,iframe),
body.page:not(.portal-home) .entry-content :is(img,video,iframe) { max-width: 100%; }
.single-post .comments-area :is(input,textarea,select) { box-sizing: border-box; max-width: 100%; font-size: 16px; }
.single-post .comments-area input[type=submit] { white-space: normal; min-height: 44px; }
@media (forced-colors: active) {
  .portal-search-inner :is(input,button):focus-visible { outline-color: Highlight; box-shadow: none !important; }
  .portal-header a:focus-visible, .portal-header summary:focus-visible,
  .site-main a:focus-visible, .site-main summary:focus-visible,
  .portal-home a:focus-visible, .portal-home summary:focus-visible { outline-color: Highlight; }
}
@media print {
  .comments-area { display: none !important; }
  body.single-post .entry-content .portal-table-scroll :is(th,td) { min-width: 0; font-size: 10pt; padding: 5pt; overflow-wrap: anywhere; }
  body.single-post .entry-content .portal-table-scroll table { table-layout: fixed; }
  .entry-content :is(pre,code) { white-space: pre-wrap; overflow-wrap: anywhere; }
}
