/*
Theme Name: Attorney Directory
Theme URI: https://example.com/attorney-directory
Author: Attorney Directory
Author URI: https://example.com
Description: A fast, clean, responsive WordPress theme for legal knowledge sites and attorney directories. Tag-driven article layout (no author display, no category display, no breadcrumbs), prismatic violet-cyan accent, fluid typography on Inter variable font, dark mode, view transitions, auto table of contents on long-form guides, reading-progress bar (transform-based, no layout cost), command-palette search (Cmd/Ctrl+K), standard footer with About-lawyers explainer + how-to-become-a-lawyer steps, Article schema with keywords (tags) but no author, prev/next article navigation, and a single article-card custom block. Built mobile-first with container queries. Critical CSS inlined for sub-1.5s LCP on cold cache.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: attorney-directory
Tags: blog, one-column, custom-menu, custom-logo, featured-images, footer-widgets, threaded-comments, translation-ready, accessibility-ready, block-patterns, block-styles, wide-blocks
*/
:root{--paper:#ffffff;--paper-soft:#f8fafc;--paper-card:#ffffff;--paper-tint:rgba(124,58,237,0.04);--ink:#0b1220;--ink-soft:#334155;--ink-faded:#64748b;--ink-quiet:#94a3b8;--rule:#e2e8f0;--rule-soft:#f1f5f9;--accent:#7c3aed;--accent-deep:#5b21b6;--accent-soft:#ede9fe;--prism-cyan:#06b6d4;--prism-pink:#ec4899;--success:#10b981;--warn:#f59e0b;--shadow-sm:0 1px 2px rgba(11,18,32,0.05);--shadow-md:0 4px 14px rgba(11,18,32,0.06);--shadow-lg:0 12px 32px rgba(11,18,32,0.08);--shadow-ring:0 0 0 1px rgba(124,58,237,0.25);--sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--mono:'JetBrains Mono','SFMono-Regular',ui-monospace,Consolas,'Liberation Mono',monospace;--motion-fast:140ms cubic-bezier(0.4,0,0.2,1);--motion-base:220ms cubic-bezier(0.4,0,0.2,1);--motion-slow:360ms cubic-bezier(0.4,0,0.2,1);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--container:1180px;--container-sm:720px;--header-h:64px;color-scheme:light}[data-theme="dark"]{--paper:#05070d;--paper-soft:#0b0f1a;--paper-card:#0e1424;--paper-tint:rgba(124,58,237,0.10);--ink:#e8eef7;--ink-soft:#c3cbd9;--ink-faded:#8893a8;--ink-quiet:#5b6679;--rule:#1e2638;--rule-soft:#131a29;--accent:#a78bfa;--accent-deep:#c4b5fd;--accent-soft:#1d1640;--prism-cyan:#22d3ee;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 14px rgba(0,0,0,0.45);--shadow-lg:0 12px 32px rgba(0,0,0,0.55);--shadow-ring:0 0 0 1px rgba(167,139,250,0.35);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#05070d;--paper-soft:#0b0f1a;--paper-card:#0e1424;--paper-tint:rgba(124,58,237,0.10);--ink:#e8eef7;--ink-soft:#c3cbd9;--ink-faded:#8893a8;--ink-quiet:#5b6679;--rule:#1e2638;--rule-soft:#131a29;--accent:#a78bfa;--accent-deep:#c4b5fd;--accent-soft:#1d1640;--prism-cyan:#22d3ee;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 14px rgba(0,0,0,0.45);--shadow-lg:0 12px 32px rgba(0,0,0,0.55);--shadow-ring:0 0 0 1px rgba(167,139,250,0.35);color-scheme:dark}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'ss01','cv11';text-rendering:optimizeLegibility}img,svg,video,canvas{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent);text-decoration:none;transition:color var(--motion-fast)}a:hover{color:var(--accent-deep)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}:target{scroll-margin-top:calc(var(--header-h)+1rem)}::selection{background:var(--accent-soft);color:var(--ink)}@view-transition{navigation:auto}.skip-link{position:absolute;left:-9999px;top:-9999px;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;background:var(--ink);color:var(--paper);padding:0.75rem 1.25rem;font-weight:600;font-size:0.95rem;border-radius:var(--radius-sm);z-index:999;text-decoration:none}.skip-link:focus{left:1rem;top:1rem;outline:2px solid var(--accent);outline-offset:3px}.skip-link:hover,.skip-link:focus{color:var(--paper)}.screen-reader-text{position:absolute !important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal !important}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem)}.container--sm{max-width:var(--container-sm)}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--rule);view-transition-name:site-header}.site-header__inner{display:flex;align-items:center;gap:1.5rem;height:var(--header-h)}.site-brand{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--sans);font-weight:700;font-size:1.0625rem;letter-spacing:-0.02em;color:var(--ink);text-decoration:none;flex:none}.site-brand:hover{color:var(--accent)}.site-brand__name{color:inherit}.custom-logo-link{display:inline-flex;align-items:center;flex:none}.custom-logo{max-height:36px;width:auto;height:auto;display:block}.site-brand__mark{width:28px;height:28px;background:linear-gradient(135deg,var(--accent) 0%,var(--prism-cyan) 50%,var(--prism-pink) 100%);border-radius:var(--radius-sm);position:relative;box-shadow:0 2px 8px rgba(124,58,237,0.35)}.site-brand__mark::after{content:"";position:absolute;inset:4px;background:var(--paper);border-radius:3px;mask:linear-gradient(135deg,transparent 47%,#000 47%,#000 53%,transparent 53%);-webkit-mask:linear-gradient(135deg,transparent 47%,#000 47%,#000 53%,transparent 53%)}[data-theme="dark"] .site-brand__mark::after{background:var(--paper-soft)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .site-brand__mark::after{background:var(--paper-soft)}}.site-nav{display:flex;align-items:center;gap:0.25rem;flex:1;min-width:0}.site-nav__list{display:flex;align-items:center;gap:0.1rem;list-style:none;padding:0;margin:0;font-size:0.925rem}.site-nav__list a{display:inline-block;padding:0.4rem 0.75rem;color:var(--ink-soft);font-weight:500;border-radius:var(--radius-sm);transition:color var(--motion-fast),background var(--motion-fast)}.site-nav__list a:hover,.site-nav__list .current-menu-item>a,.site-nav__list a[aria-current="page"]{color:var(--ink);background:var(--rule-soft)}.site-nav__list a[aria-current="page"]{color:var(--accent)}.site-header__actions{display:inline-flex;align-items:center;gap:0.35rem;margin-left:auto;flex:none}.site-header__btn{width:36px;height:36px;display:inline-grid;place-items:center;color:var(--ink-soft);border-radius:var(--radius-sm);transition:color var(--motion-fast),background var(--motion-fast)}.site-header__btn:hover{color:var(--ink);background:var(--rule-soft)}.site-header__btn svg{width:18px;height:18px}.site-header__search{display:inline-flex;align-items:center;gap:0.5rem;height:36px;padding:0 0.85rem 0 0.7rem;color:var(--ink-faded);background:var(--rule-soft);border:1px solid transparent;border-radius:var(--radius-md);font-size:0.85rem;font-weight:500;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast);min-width:200px}.site-header__search:hover{color:var(--ink);border-color:var(--rule);background:var(--paper)}.site-header__search svg{width:15px;height:15px}.site-header__search kbd{margin-left:auto;font-family:var(--sans);font-size:0.7rem;font-weight:600;padding:0.05rem 0.35rem;background:var(--paper);border:1px solid var(--rule);border-radius:4px;color:var(--ink-faded);line-height:1.4}@media (max-width:720px){.site-header__search{min-width:0;padding:0;width:36px;justify-content:center;background:transparent}.site-header__search span,.site-header__search kbd{display:none}}.site-nav__toggle{display:none;width:36px;height:36px;align-items:center;justify-content:center;color:var(--ink-soft);border-radius:var(--radius-sm)}.site-nav__toggle svg{width:20px;height:20px}@media (max-width:860px){.site-nav__list{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:0.5rem}.site-nav__list.is-open{display:flex}.site-nav__list a{padding:0.7rem 0.85rem}.site-nav__toggle{display:inline-grid}}.page-hero{padding-block:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule);background:radial-gradient(60% 80% at 80% 0%,var(--accent-soft) 0%,transparent 60%),radial-gradient(40% 60% at 10% 0%,color-mix(in srgb,var(--prism-cyan) 14%,transparent) 0%,transparent 60%),var(--paper)}.page-hero__kicker{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);padding:0.25rem 0.7rem;background:var(--accent-soft);border-radius:999px;margin-bottom:1rem}.page-hero__kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.page-hero__title{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;line-height:1.05;letter-spacing:-0.028em;margin:0 0 1rem;color:var(--ink);max-width:16ch}.page-hero__title em{font-style:normal;background:linear-gradient(135deg,var(--accent),var(--prism-cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.page-hero__lede{font-size:clamp(1.125rem,2vw,1.375rem);color:var(--ink-soft);line-height:1.55;max-width:60ch;margin:0}.article-grid-wrap{padding-block:clamp(2.5rem,5vw,4rem)}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,2vw,1.75rem);list-style:none;padding:0;margin:0}.article-grid>li{margin:0}.article-card{display:flex;flex-direction:column;background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius-md);padding:1.5rem;height:100%;position:relative;transition:border-color var(--motion-base),transform var(--motion-base),box-shadow var(--motion-base);container-type:inline-size;overflow:hidden}.article-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,var(--accent),var(--prism-cyan));opacity:0;transition:opacity var(--motion-base);mask:linear-gradient(#000,#000) padding-box,linear-gradient(#000,#000);-webkit-mask:linear-gradient(#000,#000) padding-box,linear-gradient(#000,#000);mask-composite:exclude;-webkit-mask-composite:xor;border-radius:inherit;padding:1px}.article-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:transparent}.article-card:hover::before{opacity:1}.article-card__meta{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--sans);font-size:0.78rem;color:var(--ink-faded);letter-spacing:0.04em;text-transform:uppercase;font-weight:600;margin-bottom:0.85rem}.article-card__meta time{color:var(--ink-faded)}.article-card__meta .dot{color:var(--rule);font-weight:400}.article-card__tag{color:var(--accent);padding:0.15rem 0.55rem;background:var(--accent-soft);border-radius:999px;text-decoration:none;font-size:0.7rem}.article-card__tag:hover{color:var(--accent-deep)}.article-card__title{font-family:var(--sans);font-size:clamp(1.125rem,1.5cqi+1rem,1.375rem);font-weight:600;line-height:1.25;letter-spacing:-0.018em;margin:0 0 0.7rem;color:var(--ink)}.article-card__title a{color:inherit;text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size var(--motion-base),color var(--motion-base)}.article-card__title a:hover{color:var(--accent);background-size:100% 1.5px}.article-card__title a::after{content:"";position:absolute;inset:0}.article-card__excerpt{font-size:0.95rem;line-height:1.6;color:var(--ink-soft);margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-card__foot{display:flex;align-items:center;gap:0.5rem;margin-top:auto;padding-top:0.85rem;border-top:1px solid var(--rule-soft);font-size:0.8rem;color:var(--ink-faded)}.article-card__foot .reading-time{display:inline-flex;align-items:center;gap:0.3rem}.article-card__foot .reading-time::before{content:"";width:12px;height:12px;flex:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polyline points='12 6 12 12 16 14'/></svg>");background-repeat:no-repeat;background-size:contain}.article-card--featured{grid-column:1 / -1;padding:clamp(1.75rem,3vw,2.5rem);background:radial-gradient(60% 90% at 90% 10%,var(--accent-soft) 0%,transparent 65%),var(--paper-card)}.article-card--featured .article-card__title{font-size:clamp(1.5rem,2.5vw,2.125rem);letter-spacing:-0.024em;line-height:1.15;margin-bottom:0.85rem}.article-card--featured .article-card__excerpt{font-size:1.0625rem;-webkit-line-clamp:2;line-clamp:2;max-width:60ch}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.section-head__title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;letter-spacing:-0.022em;margin:0;color:var(--ink)}.section-head__link{font-size:0.9rem;font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:0.3rem}.section-head__link:hover{color:var(--accent-deep)}.section-head__link::after{content:"→";transition:transform var(--motion-fast)}.section-head__link:hover::after{transform:translateX(2px)}.single-article{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(3rem,6vw,5rem)}.single-article__header{max-width:var(--container-sm);margin:0 auto 2rem;text-align:left}.single-article__kicker{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);padding:0.25rem 0.7rem;background:var(--accent-soft);border-radius:999px;margin-bottom:1.25rem;text-decoration:none}.single-article__kicker:hover{color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent) 8%)}.single-article__title{font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.08;letter-spacing:-0.028em;margin:0 0 1rem;color:var(--ink)}.single-article__lede{font-size:clamp(1.125rem,1.8vw,1.3125rem);color:var(--ink-soft);line-height:1.55;margin:0 0 1.5rem;max-width:62ch}.single-article__meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-size:0.875rem;color:var(--ink-faded)}.single-article__meta-item{display:inline-flex;align-items:center;gap:0.4rem}.single-article__meta-item svg{width:15px;height:15px;color:var(--ink-quiet)}.single-article__meta-item strong{color:var(--ink-soft);font-weight:600}.single-article__featured{max-width:var(--container);margin:0 auto 2.5rem;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16 / 9;background:var(--rule-soft)}.single-article__featured img{width:100%;height:100%;object-fit:cover}.single-article__body{max-width:var(--container-sm);margin:0 auto}.prose{color:var(--ink);font-size:1.0625rem;line-height:1.75}.prose>*+*{margin-top:1.25em}.prose p{margin:1.25em 0}.prose h2{font-size:clamp(1.5rem,2.5vw,1.875rem);font-weight:700;letter-spacing:-0.022em;line-height:1.2;margin:2.5em 0 0.85em;color:var(--ink);scroll-margin-top:calc(var(--header-h)+1rem)}.prose h3{font-size:1.375rem;font-weight:600;letter-spacing:-0.018em;margin:2em 0 0.75em;color:var(--ink);scroll-margin-top:calc(var(--header-h)+1rem)}.prose h4{font-size:1.125rem;font-weight:600;margin:1.75em 0 0.5em}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:0.18em;text-decoration-thickness:1.5px;transition:text-decoration-color var(--motion-fast),color var(--motion-fast)}.prose a:hover{text-decoration-color:var(--accent);color:var(--accent-deep)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose blockquote{margin:1.75em 0;padding:0.5em 1.25em;border-left:3px solid var(--accent);color:var(--ink-soft);font-style:italic;background:var(--paper-tint);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose blockquote p{margin:0.5em 0}.prose code{font-family:var(--mono);font-size:0.9em;padding:0.15em 0.4em;background:var(--rule-soft);color:var(--ink);border-radius:4px;border:1px solid var(--rule)}.prose pre{margin:1.5em 0;padding:1.25em;background:var(--paper-soft);border:1px solid var(--rule);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--mono);font-size:0.9rem;line-height:1.55;color:var(--ink)}.prose pre code{padding:0;background:transparent;border:none;font-size:inherit}.prose ul,.prose ol{padding-left:1.5em;margin:1.25em 0}.prose ul li{list-style:disc;margin:0.4em 0}.prose ol li{list-style:decimal;margin:0.4em 0}.prose ul li::marker{color:var(--accent)}.prose ol li::marker{color:var(--ink-faded);font-variant-numeric:tabular-nums}.prose hr{border:none;height:1px;background:var(--rule);margin:2.5em 0}.prose img,.prose figure{margin:2em 0;border-radius:var(--radius-md)}.prose figure img{border-radius:inherit}.prose figcaption{margin-top:0.6em;font-size:0.875rem;color:var(--ink-faded);text-align:center}.prose table{width:100%;border-collapse:collapse;margin:1.75em 0;font-size:0.95rem}.prose th,.prose td{text-align:left;padding:0.7em 0.9em;border-bottom:1px solid var(--rule)}.prose th{color:var(--ink);font-weight:600;background:var(--rule-soft)}.prose td{color:var(--ink-soft)}.prose h2 .anchor,.prose h3 .anchor{display:inline-block;margin-left:0.4em;opacity:0;color:var(--ink-quiet);text-decoration:none;font-weight:400;transition:opacity var(--motion-fast),color var(--motion-fast)}.prose h2:hover .anchor,.prose h3:hover .anchor{opacity:1}.prose .anchor:hover{color:var(--accent)}.toc-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(2rem,4vw,3.5rem);max-width:var(--container);margin:0 auto}@media (max-width:1023px){.toc-layout{grid-template-columns:1fr}}.toc{position:sticky;top:calc(var(--header-h)+1.5rem);align-self:start;font-size:0.875rem;max-height:calc(100vh - var(--header-h) - 3rem);overflow-y:auto}@media (max-width:1023px){.toc{display:none}}.toc__title{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-quiet);margin:0 0 0.85rem}.toc__list{list-style:none;padding:0;margin:0;border-left:1.5px solid var(--rule)}.toc__list a{display:block;padding:0.4rem 0 0.4rem 1rem;margin-left:-1.5px;color:var(--ink-faded);font-size:0.875rem;line-height:1.4;border-left:1.5px solid transparent;transition:color var(--motion-fast),border-color var(--motion-fast);text-decoration:none}.toc__list a:hover{color:var(--ink)}.toc__list a[aria-current="true"]{color:var(--accent);border-left-color:var(--accent);font-weight:600}.toc__list .toc-h3 a{padding-left:1.75rem;font-size:0.8125rem}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:60;pointer-events:none}.reading-progress__bar{height:100%;width:100%;background:linear-gradient(90deg,var(--accent),var(--prism-cyan),var(--prism-pink));transform-origin:left center;transform:scaleX(0);will-change:transform}.post-pagination{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule)}@media (max-width:600px){.post-pagination{grid-template-columns:1fr}}.post-pagination__link{display:flex;flex-direction:column;gap:0.35rem;padding:1rem 1.25rem;border:1px solid var(--rule);border-radius:var(--radius-md);text-decoration:none;color:var(--ink);transition:border-color var(--motion-base),background var(--motion-base)}.post-pagination__link:hover{border-color:var(--accent);background:var(--paper-tint)}.post-pagination__link--next{text-align:right}.post-pagination__label{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faded)}.post-pagination__title{font-weight:600;font-size:0.95rem;line-height:1.35;color:var(--ink)}.post-pagination__link:hover .post-pagination__title{color:var(--accent)}.pagination{display:flex;justify-content:center;gap:0.5rem;margin-top:3rem;flex-wrap:wrap}.pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding-inline:0.85rem;border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--ink-soft);font-weight:500;font-size:0.9rem;text-decoration:none;transition:color var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}.pagination .page-numbers:hover{color:var(--accent);border-color:var(--accent)}.pagination .page-numbers.current{color:var(--paper);background:var(--accent);border-color:var(--accent)}.pagination .page-numbers.dots{border:none;color:var(--ink-quiet)}.search-overlay{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--ink) 50%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:flex-start;justify-content:center;padding-top:12vh;padding-inline:1rem;animation:attdir-fade-in 180ms cubic-bezier(0.4,0,0.2,1)}.search-overlay.is-open{display:flex}@keyframes attdir-fade-in{from{opacity:0}to{opacity:1}}.search-overlay__panel{width:100%;max-width:600px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:76vh;overflow:hidden}.search-overlay__input-wrap{display:flex;align-items:center;gap:0.75rem;padding:0.85rem 1.1rem;border-bottom:1px solid var(--rule)}.search-overlay__input-wrap svg{width:18px;height:18px;color:var(--ink-quiet);flex:none}.search-overlay__input{flex:1;min-width:0;border:0;background:transparent;font-size:1.0625rem;color:var(--ink);padding:0.25rem 0}.search-overlay__input:focus{outline:none}.search-overlay__close{font-family:var(--sans);font-size:0.7rem;font-weight:600;padding:0.15rem 0.5rem;color:var(--ink-faded);background:var(--rule-soft);border:1px solid var(--rule);border-radius:4px;line-height:1.4}.search-overlay__results{flex:1;overflow-y:auto;padding:0.5rem}.search-overlay__hint{padding:2.5rem 1.5rem;text-align:center;color:var(--ink-faded);font-size:0.9rem}.search-overlay__result{display:block;padding:0.7rem 0.85rem;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast)}.search-overlay__result:hover,.search-overlay__result.is-active{background:var(--accent-soft);color:var(--accent-deep)}.search-overlay__result-title{font-weight:600;font-size:0.95rem;line-height:1.35;margin:0 0 0.15rem}.search-overlay__result-meta{font-size:0.78rem;color:var(--ink-faded)}.site-footer{border-top:1px solid var(--rule);padding-block:2.5rem 2rem;background:var(--paper-soft);color:var(--ink-faded);font-size:0.875rem}.site-footer__about{max-width:920px;margin:0 auto 2rem;padding-bottom:1.75rem;border-bottom:1px solid var(--rule);color:var(--ink-soft);font-size:0.925rem;line-height:1.65}.site-footer__about-title{font-size:1.5rem;font-weight:700;letter-spacing:-0.022em;color:var(--ink);margin:0 0 1rem}.site-footer__about-subtitle{font-size:1.125rem;font-weight:650;letter-spacing:-0.014em;color:var(--ink);margin:1.5rem 0 0.6rem}.site-footer__about p{margin-block:0.85rem}.site-footer__about-steps{padding-left:1.5rem;margin:1rem 0 0}.site-footer__about-steps li{margin-block:0.65rem;padding-left:0.25rem}.site-footer__about-steps li::marker{color:var(--accent);font-weight:600}.site-footer__about-steps strong{color:var(--ink);font-weight:650;display:inline;margin-right:0.25rem}.site-footer__widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--rule)}.site-footer__widgets .widget-title{font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-quiet);margin:0 0 0.85rem}.site-footer__widgets ul{list-style:none;padding:0;margin:0}.site-footer__widgets ul li{margin-block:0.35rem}.site-footer__widgets a{color:var(--ink-soft);text-decoration:none}.site-footer__widgets a:hover{color:var(--accent)}.site-footer__base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.site-footer__base a{color:var(--ink-faded)}.site-footer__base a:hover{color:var(--accent)}.site-footer__menu{display:inline-flex;flex-wrap:wrap;gap:0.25rem 1rem;list-style:none;margin:0;padding:0}.site-footer__menu a{color:var(--ink-faded)}.archive-header{padding-block:clamp(2rem,4vw,3rem) 0}.archive-header__kicker{font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin:0 0 0.5rem}.archive-header__title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;letter-spacing:-0.024em;margin:0 0 0.75rem}.archive-header__lede{font-size:1.0625rem;color:var(--ink-soft);max-width:60ch;margin:0}.error-404{padding-block:clamp(4rem,10vw,8rem);text-align:center}.error-404__code{font-size:clamp(6rem,16vw,10rem);font-weight:800;letter-spacing:-0.05em;line-height:1;margin:0 0 1rem;background:linear-gradient(135deg,var(--accent),var(--prism-cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.error-404__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin:0 0 0.75rem;color:var(--ink)}.error-404__lede{font-size:1.0625rem;color:var(--ink-soft);max-width:50ch;margin:0 auto 2rem}.error-404__cta{display:inline-flex;align-items:center;gap:0.4rem;padding:0.7rem 1.4rem;background:var(--accent);color:var(--paper);border-radius:var(--radius-md);font-weight:600;font-size:0.95rem;text-decoration:none;transition:background var(--motion-fast),transform var(--motion-fast)}.error-404__cta:hover{background:var(--accent-deep);color:var(--paper);transform:translateY(-1px)}.wp-block-button .wp-block-button__link,a.button,button.button{display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.25rem;background:var(--accent);color:var(--paper);border:1px solid var(--accent);border-radius:var(--radius-md);font-weight:600;font-size:0.95rem;text-decoration:none;transition:background var(--motion-fast),transform var(--motion-fast),border-color var(--motion-fast)}.wp-block-button .wp-block-button__link:hover,a.button:hover,button.button:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--paper);transform:translateY(-1px)}.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--accent);border-color:var(--accent)}.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--accent-soft);color:var(--accent-deep)}.comments-area{max-width:var(--container-sm);margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--rule)}.comments-title{font-size:1.375rem;font-weight:600;margin:0 0 1.5rem}.comment-list{list-style:none;padding:0;margin:0}.comment-list li{padding:1.25rem 0;border-bottom:1px solid var(--rule-soft)}.comment-list li:last-child{border-bottom:none}.comment-author{font-weight:600;color:var(--ink)}.comment-meta{font-size:0.8rem;color:var(--ink-faded);margin-bottom:0.5rem}.comment-content{color:var(--ink-soft)}.comment-form{margin-top:2rem;display:grid;gap:0.85rem}.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;padding:0.65rem 0.85rem;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--ink);font-family:inherit;font-size:0.95rem;transition:border-color var(--motion-fast)}.comment-form input:focus,.comment-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-ring)}.comment-form textarea{min-height:120px;resize:vertical}.comment-form label{font-size:0.85rem;font-weight:500;color:var(--ink-soft);display:block;margin-bottom:0.3rem}.print-only{display:none}@media print{.site-header,.site-footer,.reading-progress,.toc,.search-overlay,.post-pagination{display:none !important}.print-only{display:block}body{background:#fff;color:#000}.prose a{color:#000;text-decoration:underline}.prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.8em;color:#444}}
