/* Crispred 3. One token set for the theme, Crispred Core and WooCommerce.
   The site class is deliberately absent from the resume canvas. */
body.crispred-site {
 /* Colour */
 --cr-ink:#1a1a1a; --cr-ink-soft:#2b2b2b; --cr-muted:#666662; --cr-accent:#c72c2c;
 --cr-accent-hover:color-mix(in srgb,var(--cr-accent) 82%,#000); --cr-accent-tint:color-mix(in srgb,var(--cr-accent) 8%,#fff);
 --cr-on-ink-accent:#ff8f87; --cr-paper:#fff; --cr-soft:#f7f7f7; --cr-line:#e2e2e2; --cr-line-strong:#cfcfcf;
 --cr-success:#1d7a4a; --cr-success-tint:#eef7f1; --cr-info:#2a5db0; --cr-info-tint:#eef3fb;
 /* Shape */
 --cr-radius:14px; --cr-radius-sm:8px; --cr-pill:999px; --cr-shadow:0 4px 24px rgba(0,0,0,.07);
 /* Layout */
 --cr-reading:760px; --cr-wide:1200px; --cr-gutter:clamp(20px,4vw,56px);
 --cr-section:clamp(56px,7vw,96px); --cr-header-height:80px; --cr-header-bg:#fff;
 --cr-font:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
 margin:0; background:var(--cr-paper); color:var(--cr-ink);
 font:400 17px/1.7 var(--cr-font);
 overflow-wrap:break-word; overflow-x:clip; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.crispred-site *, .crispred-site *::before, .crispred-site *::after { box-sizing:border-box; }

/* Typography */
.crispred-site :where(h1,h2,h3,h4,h5,h6) { font-weight:700; line-height:1.12; letter-spacing:-.03em; text-wrap:balance; margin:0 0 .6em; color:inherit; }
.crispred-site h1 { font-size:clamp(2.4rem,5.2vw,4.5rem); letter-spacing:-.04em; }
.crispred-site h2 { font-size:clamp(1.75rem,3vw,2.6rem); }
.crispred-site h3 { font-size:clamp(1.2rem,1.6vw,1.4rem); letter-spacing:-.02em; line-height:1.25; }
.crispred-site h4 { font-size:1.1rem; letter-spacing:-.01em; line-height:1.3; }
.crispred-site :where(h5,h6) { font-size:.95rem; letter-spacing:0; line-height:1.4; }
.crispred-site :where(p,ul,ol,dl,blockquote,figure,table,pre) { margin:0 0 1.25em; }
.crispred-site small { font-size:.8em; }
.crispred-site a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.22em; transition:color .2s ease; }
.crispred-site a:hover { color:var(--cr-accent); }
.crispred-site :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--cr-accent); outline-offset:3px; }
.crispred-site :where(img,video,iframe,svg) { max-width:100%; }
.crispred-site img { height:auto; }
.crispred-site hr { border:0; border-top:1px solid var(--cr-line); margin:2.5em 0; }
.crispred-site ::selection { background:var(--cr-accent); color:#fff; }

/* Forms */
.crispred-site :where(button,input,select,textarea) { font:inherit; color:inherit; }
.crispred-site :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=reset]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),textarea,select) {
 max-width:100%; min-height:48px; border:1px solid var(--cr-line-strong); border-radius:var(--cr-radius-sm); padding:.65rem .9rem; background:var(--cr-paper); color:var(--cr-ink); line-height:1.4; transition:border-color .2s ease,box-shadow .2s ease;
}
.crispred-site :where(textarea) { min-height:120px; }
.crispred-site :where(input,textarea,select):focus { border-color:var(--cr-ink); box-shadow:0 0 0 3px var(--cr-accent-tint); outline:none; }
.crispred-site :where(input,textarea)::placeholder { color:#8d8d89; }
.crispred-site :where(input[type=checkbox],input[type=radio]) { accent-color:var(--cr-accent); width:1.05em; height:1.05em; vertical-align:-.12em; }
.crispred-site label { font-size:.9rem; font-weight:600; }

/* Buttons: accent pill (primary), ink pill (secondary), outline */
.crispred-site :where(button:not([class*=wc-block]):not([class*=crispred-]):not(.components-button):not(.pswp__button):not(.cr-plain),input[type=submit],input[type=button],input[type=reset],.cr-button,.wp-block-button__link,.wp-element-button:not([class*=wc-block])) {
 display:inline-flex; align-items:center; justify-content:center; gap:.6em; min-height:46px; background:var(--cr-accent); color:#fff; padding:.7rem 1.5rem; border:1px solid transparent; border-radius:var(--cr-pill); font-size:.92rem; font-weight:600; line-height:1.2; letter-spacing:0; text-decoration:none; cursor:pointer; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.crispred-site :where(button:not([class*=wc-block]):not([class*=crispred-]):not(.components-button):not(.pswp__button):not(.cr-plain),input[type=submit],input[type=button],input[type=reset],.cr-button,.wp-block-button__link,.wp-element-button:not([class*=wc-block])):hover { background:var(--cr-accent-hover); color:#fff; }
.crispred-site :where(button,input[type=submit],.cr-button,.wp-element-button):disabled { opacity:.5; cursor:not-allowed; }
.crispred-site a.cr-button,.crispred-site a.wp-block-button__link,.crispred-site a.wp-element-button { color:#fff; }
.crispred-site a.cr-button:hover,.crispred-site a.wp-block-button__link:hover,.crispred-site a.wp-element-button:hover { color:#fff; }
.crispred-site .cr-button--ink,.crispred-site a.cr-button--ink { background:var(--cr-ink); }
.crispred-site .cr-button--ink:hover { background:var(--cr-accent); }
.crispred-site .is-style-outline>.wp-block-button__link,.crispred-site a.cr-button--outline,.crispred-site .cr-button--outline { background:transparent; color:var(--cr-ink); border-color:var(--cr-line-strong); }
.crispred-site .is-style-outline>.wp-block-button__link:hover,.crispred-site .cr-button--outline:hover { background:transparent; color:var(--cr-accent); border-color:var(--cr-accent); }
.crispred-site .cr-button span { margin-left:.15rem; }
.crispred-site .wp-block-buttons { gap:12px; }

/* Layout */
.cr-container { width:calc(100% - 2 * var(--cr-gutter)); max-width:var(--cr-wide); margin-inline:auto; }
.cr-reading { width:calc(100% - 2 * var(--cr-gutter)); max-width:var(--cr-reading); margin-inline:auto; }
.cr-main { padding-block:clamp(48px,6vw,88px) var(--cr-section); min-height:55vh; }
.crispred-site .cr-skip { position:fixed; top:8px; left:8px; z-index:10000; padding:10px 16px; border-radius:var(--cr-radius-sm); background:#fff; color:var(--cr-ink); box-shadow:var(--cr-shadow); transform:translateY(-200%); }
.crispred-site .cr-skip:focus { transform:none; }

/* Header */
.cr-header { background:var(--cr-header-bg); border-bottom:1px solid var(--cr-line); position:relative; z-index:50; }
.crispred-sticky .cr-header { position:sticky; top:0; }
.admin-bar.crispred-sticky .cr-header { top:32px; }
.crispred-translucent .cr-header { background:color-mix(in srgb,var(--cr-header-bg) 92%,transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.cr-header-inner { display:flex; align-items:center; justify-content:space-between; min-height:var(--cr-header-height); gap:28px; }
.crispred-site .cr-brand { font-size:1.3rem; font-weight:750; letter-spacing:-.045em; text-decoration:none; line-height:1.2; color:var(--cr-ink); }
.cr-brand span { color:var(--cr-accent); }
.cr-header .custom-logo-link { display:block; line-height:0; }
.cr-header .custom-logo { max-height:min(56px,calc(var(--cr-header-height) - 24px)); width:auto; display:block; }
.crispred-site .cr-menu { display:flex; flex-wrap:wrap; align-items:center; gap:8px 30px; list-style:none; margin:0; padding:0; font-size:.88rem; font-weight:500; }
.cr-menu a { text-decoration:none; display:inline-block; padding-block:6px; }
.cr-menu :where(.current-menu-item,.current-menu-ancestor,.current_page_item)>a { color:var(--cr-accent); }
.cr-menu li { position:relative; }
.cr-menu .sub-menu { list-style:none; padding:10px; margin:0; background:var(--cr-paper); border:1px solid var(--cr-line); border-radius:var(--cr-radius-sm); box-shadow:var(--cr-shadow); min-width:220px; }
.cr-menu .sub-menu a { display:block; padding:7px 10px; border-radius:6px; }
.cr-menu .sub-menu a:hover { background:var(--cr-soft); }
.cr-desktop-nav .sub-menu { display:none; position:absolute; top:100%; left:-10px; z-index:60; }
.cr-desktop-nav .sub-menu .sub-menu { position:static; border:0; box-shadow:none; padding:0 0 0 12px; min-width:0; }
.cr-desktop-nav li:hover>.sub-menu,.cr-desktop-nav li:focus-within>.sub-menu { display:block; }
.cr-mobile-nav { display:none; }
.cr-mobile-nav summary { list-style:none; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 0 0 16px; cursor:pointer; font-size:.9rem; font-weight:600; }
.cr-mobile-nav summary::-webkit-details-marker { display:none; }
.cr-menu-icon { position:relative; width:18px; height:12px; display:inline-block; }
.cr-menu-icon::before,.cr-menu-icon::after { content:''; position:absolute; left:0; right:0; height:2px; border-radius:2px; background:currentColor; transition:transform .2s ease,top .2s ease,bottom .2s ease; }
.cr-menu-icon::before { top:1px; } .cr-menu-icon::after { bottom:1px; }
.cr-mobile-nav[open] .cr-menu-icon::before { top:5px; transform:rotate(45deg); }
.cr-mobile-nav[open] .cr-menu-icon::after { bottom:5px; transform:rotate(-45deg); }

/* Headings & meta */
.cr-eyebrow { font-size:.72rem; font-weight:700; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; color:var(--cr-accent); margin:0 0 1rem; }
.cr-eyebrow a { text-decoration:none; }
.cr-intro { color:var(--cr-muted); font-size:clamp(1.08rem,1.6vw,1.3rem); line-height:1.6; max-width:62ch; }
.cr-intro p:last-child { margin-bottom:0; }
.cr-archive-heading { padding-bottom:clamp(32px,5vw,64px); max-width:900px; }
.cr-archive-heading h1 { max-width:19ch; }
.cr-archive-heading .cr-content { margin-top:1.25rem; color:var(--cr-muted); }
.cr-page-heading { margin-bottom:clamp(32px,5vw,56px); }
.cr-page-heading h1 { margin-bottom:.35em; }
.cr-page-heading > :last-child { margin-bottom:0; }
.cr-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.8rem; line-height:1.5; color:var(--cr-muted); }
.cr-meta a { text-decoration:none; }
.cr-feature { margin-bottom:clamp(40px,5vw,64px); }
.cr-feature img { display:block; width:100%; max-height:720px; object-fit:cover; border-radius:var(--cr-radius); }
.cr-feature figcaption { color:var(--cr-muted); font-size:.8rem; margin-top:12px; }

/* Content */
.cr-content { font-size:1.05rem; }
.cr-content :where(h2) { margin-top:1.8em; }
.cr-content :where(h3,h4) { margin-top:1.6em; }
.cr-content > :where(h2,h3,h4):first-child,.cr-content :where(.cr-pattern,.wp-block-column,.wp-block-group) > :where(h2,h3,h4):first-child { margin-top:0; }
.cr-content > *:last-child { margin-bottom:0; }
.cr-content :where(ul,ol):not(.products):not([class*=wc-]):not(.wp-block-post-template) { padding-left:1.4em; }
.cr-content :where(ul,ol):not(.products):not([class*=wc-]):not(.wp-block-post-template) > li { padding-left:.25em; margin-block:.35em; }
.cr-content :where(h2,h3,h4,[id]) { scroll-margin-top:calc(var(--cr-header-height) + 32px); }
.cr-content blockquote:not([class*=wc-]) { border-left:3px solid var(--cr-accent); padding:6px 0 6px 28px; margin-inline:0; font-size:1.25rem; line-height:1.55; }
.cr-content blockquote cite { display:block; margin-top:12px; font-size:.85rem; font-style:normal; color:var(--cr-muted); }
.cr-content pre { overflow:auto; background:var(--cr-soft); border:1px solid var(--cr-line); border-radius:var(--cr-radius-sm); padding:20px 24px; font-size:.85rem; }
.cr-content :not(pre)>code { background:var(--cr-soft); border-radius:4px; padding:.1em .35em; font-size:.88em; }
.cr-content :where(.wp-block-table,.cr-table) { overflow-x:auto; }
.cr-content :where(.wp-block-table,.cr-table) table,.cr-content > table { width:100%; border-collapse:collapse; font-size:.95rem; }
.cr-content :where(.wp-block-table,.cr-table) :where(td,th),.cr-content > table :where(td,th) { border:0; border-bottom:1px solid var(--cr-line); padding:12px 14px; text-align:left; vertical-align:top; }
.cr-content :where(.wp-block-table,.cr-table) th,.cr-content > table th { font-weight:650; }
.cr-content .wp-block-image img,.cr-content figure.wp-block-embed iframe { border-radius:var(--cr-radius); }
.cr-content .wp-block-image figcaption { color:var(--cr-muted); font-size:.82rem; text-align:center; }
.cr-content .wp-block-separator { border:0; border-top:1px solid var(--cr-line); margin-block:2.5em; }
.cr-content .alignwide { width:min(var(--cr-wide),100vw - 2 * var(--cr-gutter)); max-width:none; margin-left:50%; transform:translateX(-50%); }
.cr-content .alignfull { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:0; transform:none; }
.cr-content .alignleft { float:left; margin:.3em 1.6em 1em 0; max-width:50%; }
.cr-content .alignright { float:right; margin:.3em 0 1em 1.6em; max-width:50%; }
.cr-content .aligncenter { margin-inline:auto; }
.cr-page--wide .cr-content,.cr-page--landing .cr-content { max-width:var(--cr-wide); }
.cr-page--landing { padding-top:0; }
.cr-page-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:2rem; font-size:.9rem; }

/* Article */
.cr-article-footer { border-top:1px solid var(--cr-line); padding-top:32px; margin-top:56px; }
.cr-tags { font-size:.85rem; color:var(--cr-muted); }
.cr-author { display:flex; gap:18px; align-items:flex-start; background:var(--cr-soft); border:1px solid var(--cr-line); border-radius:var(--cr-radius); padding:24px 28px; margin:28px 0; }
.cr-author .avatar { border-radius:50%; flex-shrink:0; }
.cr-author strong { display:block; margin-bottom:4px; }
.cr-author p { margin:0 0 .5em; font-size:.95rem; color:var(--cr-muted); }
.cr-author p:last-child { margin-bottom:0; }
.cr-author .cr-eyebrow { color:var(--cr-accent); font-size:.68rem; margin-bottom:2px; }
.crispred-site .nav-links { display:flex; justify-content:space-between; gap:32px; font-size:.92rem; }
.crispred-site .nav-links a { text-decoration:none; font-weight:600; }
.crispred-site .nav-links .nav-next { margin-left:auto; text-align:right; }
.cr-related,.cr-comments { margin-top:clamp(56px,7vw,88px); }
.cr-related { border-top:1px solid var(--cr-line); padding-top:clamp(40px,5vw,64px); }

/* Post lists */
.cr-posts { display:grid; gap:clamp(32px,4vw,48px) clamp(24px,3vw,40px); }
.cr-post { min-width:0; }
.cr-post h2 { font-size:clamp(1.3rem,2vw,1.55rem); letter-spacing:-.025em; line-height:1.22; margin-bottom:.5em; }
.cr-post h2 a { text-decoration:none; }
.cr-post-image { display:block; overflow:hidden; background:var(--cr-soft); border-radius:var(--cr-radius); margin-bottom:20px; }
.cr-post-image img { width:100%; aspect-ratio:3/2; object-fit:cover; display:block; transition:transform .4s ease; }
.cr-post:hover .cr-post-image img { transform:scale(1.03); }
.cr-post .cr-eyebrow { margin-bottom:10px; }
.cr-post .cr-excerpt { font-size:.95rem; line-height:1.65; color:var(--cr-muted); }
.cr-post .cr-excerpt p { margin-bottom:.9em; }
.cr-posts--grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cr-posts--editorial { gap:0; }
.cr-posts--editorial .cr-post { display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:flex-start; gap:40px; padding-block:32px; border-top:1px solid var(--cr-line); }
.cr-posts--editorial .cr-post:last-child { border-bottom:1px solid var(--cr-line); }
.cr-posts--editorial .cr-post-image { width:28%; flex-shrink:0; margin:0; }
.cr-posts--editorial .cr-post-body { flex:1; max-width:720px; }
.cr-posts--editorial .cr-post h2 { font-size:clamp(1.5rem,2.6vw,2.05rem); }
.cr-posts--magazine { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cr-posts--magazine .cr-post--lead { grid-column:1/-1; display:grid; grid-template-columns:1.25fr 1fr; gap:48px; align-items:center; padding-bottom:40px; border-bottom:1px solid var(--cr-line); }
.cr-posts--magazine .cr-post--lead .cr-post-image { margin:0; }
.cr-posts--magazine .cr-post--lead h2 { font-size:clamp(1.9rem,3.4vw,3rem); }
.cr-posts--compact { gap:0; }
.cr-posts--compact .cr-post { border-top:1px solid var(--cr-line); padding:22px 0; }
.cr-posts--compact .cr-post:last-child { border-bottom:1px solid var(--cr-line); }
.cr-posts--compact .cr-post-body { display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.cr-posts--compact h2 { margin:0; font-size:1.25rem; }
.cr-posts--compact .cr-meta { flex-shrink:0; }
.cr-pagination { margin-top:56px; }
.cr-pagination ul { display:flex; flex-wrap:wrap; list-style:none; gap:8px; padding:0; margin:0; }
.cr-pagination .page-numbers:where(a,span) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 16px; border:1px solid var(--cr-line); border-radius:var(--cr-pill); text-decoration:none; font-size:.9rem; font-weight:600; }
.cr-pagination a.page-numbers:hover { border-color:var(--cr-ink); color:var(--cr-ink); }
.cr-pagination .current { background:var(--cr-ink); border-color:var(--cr-ink); color:#fff; }

/* Homepage */
.cr-home-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(32px,6vw,72px); align-items:center; margin-bottom:clamp(16px,3vw,40px); }
.cr-home-hero:has(>div:only-child) { grid-template-columns:1fr; }
.cr-home-hero h1 { max-width:14ch; font-size:clamp(2.8rem,6.2vw,5.6rem); }
.cr-home-hero figure { margin:0; }
.cr-home-hero img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--cr-radius); }
.cr-home-journal { border-top:1px solid var(--cr-line); padding-top:var(--cr-section); margin-top:var(--cr-section); }
.cr-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px; }
.cr-section-heading h2 { margin:0; }
.cr-section-heading > a { font-size:.9rem; font-weight:600; text-decoration:none; white-space:nowrap; }

/* Footer */
.cr-footer { border-top:1px solid var(--cr-line); background:var(--cr-soft); padding-block:56px 28px; }
.cr-footer-cta { display:flex; justify-content:space-between; gap:32px; align-items:center; padding-bottom:48px; margin-bottom:28px; border-bottom:1px solid var(--cr-line); }
.cr-footer-cta p { font-size:clamp(1.7rem,3vw,2.6rem); font-weight:700; letter-spacing:-.04em; line-height:1.15; margin:0; max-width:20ch; }
.cr-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 28px; font-size:.8rem; color:var(--cr-muted); }
.cr-footer-bottom p { margin:0; }
.cr-footer-bottom a { text-decoration:none; }
.cr-footer-bottom .cr-menu { font-size:.8rem; gap:8px 22px; }

/* Search, empty, 404 */
.cr-search { max-width:640px; }
.cr-search label { display:block; margin-bottom:8px; }
.cr-search>div { display:flex; gap:10px; }
.cr-search input { flex:1; width:100%; min-width:0; border-radius:var(--cr-pill)!important; padding-inline:1.2rem!important; }
.cr-search button { flex-shrink:0; }
.cr-not-found { padding-block:clamp(64px,9vw,120px); }
.cr-not-found .cr-search { margin-block:32px; }
.cr-empty { padding:clamp(28px,4vw,48px); background:var(--cr-soft); border:1px solid var(--cr-line); border-radius:var(--cr-radius); }
.cr-empty h2 { font-size:1.6rem; }

/* Comments */
.cr-comments h2,.cr-comments .comment-reply-title { font-size:1.5rem; }
.cr-comments .comment-list { list-style:none; padding:0; }
.cr-comments .comment-list .children { list-style:none; padding-left:clamp(16px,4vw,40px); }
.cr-comments .comment-body { padding-block:24px; border-top:1px solid var(--cr-line); }
.cr-comments .comment-meta { font-size:.85rem; color:var(--cr-muted); margin-bottom:10px; }
.cr-comments .comment-author { display:flex; align-items:center; gap:10px; color:var(--cr-ink); }
.cr-comments textarea { width:100%; }
.cr-comments .avatar { border-radius:50%; }
.cr-comments .comment-form p { margin-bottom:1rem; }
.cr-comments .comment-form label { display:block; margin-bottom:6px; }
.cr-comments .comment-form :where(input[type=text],input[type=email],input[type=url]) { width:100%; }
.cr-comments .comment-form-cookies-consent label { display:inline; font-weight:400; }

/* Patterns */
.cr-pattern { padding-block:var(--cr-section); }
.cr-content > .cr-pattern:first-child { padding-top:0; }
.cr-content > .cr-pattern:last-child { padding-bottom:0; }
.cr-pattern + .cr-pattern { border-top:1px solid var(--cr-line); }
.cr-pattern + .cr-pattern:has(> .cr-ink:only-child),.cr-pattern:has(> .cr-ink:only-child) + .cr-pattern { border-top:0; }
.cr-pattern > .cr-ink:only-child { margin-block:0; }
.cr-pattern + .cr-pattern:has(> .cr-ink:only-child) { padding-top:0; }
.crispred-site .cr-eyebrow + :where(h1,h2,h3,h4) { margin-top:0; }
.crispred-site :where(.is-layout-flow,.is-layout-constrained) > .cr-eyebrow + * { margin-block-start:0; }
.cr-pattern > h2 { max-width:24ch; margin-bottom:clamp(28px,3.5vw,44px); }
.cr-pattern .wp-block-columns { gap:clamp(24px,4vw,56px); margin-bottom:0; }
.cr-pattern .wp-block-column { min-width:0; }
.cr-pattern .wp-block-column > :last-child { margin-bottom:0; }
.cr-pattern .wp-block-column p:not(.cr-number):not(.cr-eyebrow) { color:var(--cr-muted); }
.cr-pattern .cr-number { color:var(--cr-accent); font-size:.78rem; font-weight:700; letter-spacing:.06em; margin-bottom:.75rem; }
.cr-pattern .cr-number + h3 { margin-top:0; }
.cr-pattern .cr-panel,.is-style-crispred-card { background:var(--cr-soft); padding:clamp(24px,4vw,44px); border:1px solid var(--cr-line); border-radius:var(--cr-radius); }
.cr-pattern .cr-ink,.is-style-crispred-dark-card { background:var(--cr-ink); color:#fff; padding:clamp(28px,5vw,64px); border-radius:var(--cr-radius); }
.cr-ink > :last-child,.is-style-crispred-dark-card > :last-child,.cr-panel > :last-child,.is-style-crispred-card > :last-child { margin-bottom:0; }
.cr-ink p:not(.cr-eyebrow),.is-style-crispred-dark-card p:not(.cr-eyebrow) { color:rgba(255,255,255,.75); }
.cr-pattern .cr-ink .cr-eyebrow,.is-style-crispred-dark-card .cr-eyebrow { color:var(--cr-on-ink-accent); }
.crispred-site :where(.cr-ink,.is-style-crispred-dark-card) a.wp-block-button__link { background:var(--cr-accent); color:#fff; }
.crispred-site :where(.cr-ink,.is-style-crispred-dark-card) a.wp-block-button__link:hover { background:#fff; color:var(--cr-ink); }
.crispred-site :where(.cr-ink,.is-style-crispred-dark-card) .is-style-outline>a.wp-block-button__link { background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }
.cr-pattern .cr-stats,.cr-stats { gap:0; border:1px solid var(--cr-line); border-radius:var(--cr-radius); overflow:hidden; }
.cr-stats > .wp-block-column { padding:clamp(20px,3vw,32px); }
.cr-stats > .wp-block-column + .wp-block-column { border-left:1px solid var(--cr-line); }
.cr-stats h3 { font-size:clamp(2rem,3.6vw,2.8rem); font-weight:800; letter-spacing:-.04em; line-height:1; margin:0 0 .4em; }
.cr-stats p { font-size:.88rem; margin:0; }
.cr-content details { border-bottom:1px solid var(--cr-line); padding:18px 0; }
.cr-content details + details { border-top:0; }
.cr-content :where(.cr-pattern,.cr-content) > h2 + details,.cr-content > details:first-child { border-top:1px solid var(--cr-line); }
.cr-content summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; font-weight:600; }
.cr-content summary::-webkit-details-marker { display:none; }
.cr-content summary::after { content:'+'; flex-shrink:0; width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--cr-line); border-radius:50%; font-weight:500; line-height:1; transition:transform .2s ease; }
.cr-content details[open] summary::after { transform:rotate(45deg); }
.cr-content details[open] summary { margin-bottom:12px; }
.cr-content details > :last-child { margin-bottom:0; }
.cr-content details p { color:var(--cr-muted); }

/* Query-loop patterns */
.cr-query-editorial .wp-block-post-template>li { padding-block:28px; border-top:1px solid var(--cr-line); }
.cr-query-editorial .wp-block-post-featured-image { float:right; width:28%; margin:0 0 20px 28px; }
.cr-query-editorial .wp-block-post-template>li::after { content:''; display:block; clear:both; }
.cr-query-compact .wp-block-post-template>li { padding-block:20px; border-top:1px solid var(--cr-line); }
.cr-query-compact .wp-block-post-title { font-size:1.25rem; margin-bottom:8px; }
.cr-query-magazine .wp-block-post-template>li:first-child { grid-column:1/-1; }
.cr-query-magazine .wp-block-post-template>li:first-child .wp-block-post-title { font-size:clamp(1.9rem,3.6vw,3.2rem); }
.cr-query-grid .wp-block-post-title { font-size:1.4rem; }
.cr-content :where(.wp-block-query) .wp-block-post-featured-image img { border-radius:var(--cr-radius); }
.cr-content .wp-block-query-pagination { margin-top:40px; display:flex; gap:24px; flex-wrap:wrap; }

/* Blank canvas: no theme chrome, wrappers or spacing. */
body.crispred-blank { background:var(--cr-paper); }
.cr-blank { display:block; margin:0; padding:0; }
.cr-blank > .alignfull { width:100%; max-width:none; }

@media(max-width:1024px) {
 .cr-stats { flex-wrap:wrap!important; }
 .cr-stats > .wp-block-column { flex-basis:50%!important; }
 .cr-stats > .wp-block-column:nth-child(odd) { border-left:0; }
 .cr-stats > .wp-block-column:nth-child(n+3) { border-top:1px solid var(--cr-line); }
}
@media(max-width:900px) {
 .cr-posts--grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cr-posts--magazine .cr-post--lead { gap:28px; }
 .cr-posts--compact .cr-post-body { display:block; }
 .cr-posts--compact .cr-meta { margin-top:10px; }
}
@media(max-width:782px) {
 body.crispred-site { font-size:16px; }
 .cr-desktop-nav { display:none; }
 .cr-mobile-nav { display:block; }
 .cr-mobile-nav nav { position:absolute; left:0; right:0; top:100%; padding:16px var(--cr-gutter) 24px; border-bottom:1px solid var(--cr-line); background:var(--cr-header-bg); box-shadow:0 18px 30px -18px rgba(0,0,0,.18); max-height:calc(100vh - var(--cr-header-height)); overflow:auto; }
 .cr-mobile-nav .cr-menu { display:block; font-size:1rem; }
 .cr-mobile-nav .cr-menu a { display:block; padding:12px 0; border-bottom:1px solid var(--cr-line); }
 .cr-mobile-nav .cr-menu li:last-child > a { border-bottom:0; }
 .cr-mobile-nav .sub-menu { border:0; box-shadow:none; background:transparent; padding:0 0 0 16px; min-width:0; }
 .cr-mobile-nav .sub-menu a { padding:10px 0; border-radius:0; }
 .admin-bar.crispred-sticky .cr-header { top:46px; }
 .cr-home-hero { grid-template-columns:1fr; }
 .cr-home-hero img { max-height:460px; aspect-ratio:4/3; }
 .cr-posts--magazine .cr-post--lead { display:block; }
 .cr-posts--magazine .cr-post--lead .cr-post-image { margin-bottom:20px; }
 .cr-footer-cta { align-items:flex-start; flex-direction:column; gap:24px; }
 .cr-pattern .wp-block-columns { gap:32px; }
 .cr-content .alignleft,.cr-content .alignright { float:none; max-width:100%; margin:0 0 1.25em; }
}
@media(max-width:600px) {
 .admin-bar.crispred-sticky .cr-header { top:0; }
 .cr-posts--grid,.cr-posts--magazine { grid-template-columns:1fr; }
 .cr-posts--editorial .cr-post { gap:18px; padding-block:24px; }
 .cr-posts--editorial .cr-post-image { width:28%; border-radius:var(--cr-radius-sm); }
 .cr-posts--editorial .cr-excerpt { display:none; }
 .cr-posts--editorial .cr-post h2 { font-size:1.25rem; }
 .cr-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .cr-search>div { flex-wrap:wrap; }
 .cr-search button { width:100%; }
 .cr-header .custom-logo { max-width:180px; }
 .cr-author { flex-direction:column; padding:22px; }
 .crispred-site .nav-links { flex-direction:column; gap:16px; }
 .cr-stats > .wp-block-column { flex-basis:100%!important; border-left:0!important; }
 .cr-stats > .wp-block-column + .wp-block-column { border-top:1px solid var(--cr-line); }
}
@media (prefers-reduced-motion:reduce) {
 .crispred-site *,.crispred-site *::before,.crispred-site *::after { transition:none!important; animation:none!important; }
}
@media print {
 .cr-header,.cr-footer,.cr-skip,.cr-related,.cr-comments { display:none; }
 .cr-main { padding:0; }
 .cr-reading,.cr-container { width:100%; max-width:none; }
 .crispred-site { color:#000; background:#fff; font-size:11pt; }
}
.cr-page-heading .cr-intro + .cr-meta,.cr-page-heading h1 + .cr-meta { margin-top:18px; }
