/*
Theme Name: Ranknizer Pakistan
Theme URI: https://ranknizer.com/
Description: A compact, responsive Astra child theme for Ranknizer's Pakistan-focused ChatGPT Ads resource library.
Author: Ranknizer
Version: 1.1.24

Text Domain: ranknizer-pakistan
*/
:root { --rn-bg: #fff; --rn-rail: #f6f7f8; --rn-card: #fff; --rn-ink: #202124; --rn-muted: #686d73; --rn-line: #e6e8eb; --rn-accent: #1769aa; --rn-green: #12805c; --rn-radius: 16px; --rn-width: 760px; --rn-shadow: 0 1px 3px #1620330a; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--rn-bg); color: var(--rn-ink); font: 16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color: var(--rn-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
button,input,select,textarea { font: inherit; }
button,.button { cursor: pointer; border: 1px solid var(--rn-line); border-radius: 999px; background: #fff; color: var(--rn-ink); padding: .65rem 1rem; }
button:hover,.button:hover { border-color: #b8c0c9; text-decoration: none; }
img { max-width: 100%; height: auto; }
.rn-skip { position: absolute; left: -9999px; }
.rn-skip:focus { left: 1rem; top: 1rem; background: #fff; padding: .5rem; z-index: 1000; }
.rn-app { min-height: 100vh; }
.rn-rail { position: fixed; inset: 0 auto 0 0; width: 272px; padding: 8px; overflow: auto; background: #f7f7f7; border-right: 1px solid #ededed; z-index: 20; }
.rn-brand { display: flex; align-items: center; gap: 10px; color: var(--rn-ink); font-weight: 700; font-size: .92rem; margin: 0 0 12px; padding: 0 1px; }
.rn-brand-mark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 0; background: transparent; color: inherit; }
.rn-rail nav { display: grid; gap: 4px; }
.rn-main { margin-left: 272px; min-height: 100vh; }
.rn-topbar { height: 64px; border-bottom: 1px solid var(--rn-line); display: flex; align-items: center; justify-content: flex-start; padding: 0 max(28px,calc((100vw - 272px - var(--rn-width))/2)); gap: 12px; }
.rn-topbar-label { display: inline-flex; align-items: center; gap: .5em; flex: 0 1 auto; min-width: 0; max-width: min(65vw,720px); overflow: hidden; white-space: nowrap; font-size: .88rem; font-weight: 400; color: var(--rn-muted); }
.rn-menu-toggle { display: none; }
.rn-content { width: min(var(--rn-width),calc(100% - 56px)); margin: 54px auto 88px; }
.rn-content--wide { width: min(960px,calc(100% - 56px)); }
.rn-eyebrow { color: var(--rn-muted); font-size: .85rem; margin: 0 0 12px; }
.rn-content h2 { font-size: 1.55rem; line-height: 1.25; letter-spacing: -.02em; margin: 2.4rem 0 .75rem; }
.rn-content h3 { font-size: 1.16rem; line-height: 1.35; margin: 1.6rem 0 .5rem; }
.rn-lede { font-size: 1.12rem; color: #484e55; max-width: 68ch; }
.rn-content p { max-width: 75ch; }
.rn-content li { margin: .35rem 0; }
.rn-card { padding: 20px; border: 1px solid var(--rn-line); border-radius: var(--rn-radius); background: var(--rn-card); box-shadow: var(--rn-shadow); }
.rn-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.rn-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.rn-card h2,.rn-card h3 { margin: .15rem 0 .5rem; }
.rn-card p { margin: .25rem 0; color: var(--rn-muted); }
.rn-card-link { display: block; color: var(--rn-ink); }
.rn-card-link:hover { text-decoration: none; border-color: #b8c0c9; }
.rn-card-link strong { color: var(--rn-accent); }
.rn-notice { padding: 16px 18px; border-left: 3px solid var(--rn-accent); background: #f5f9fc; border-radius: 0 12px 12px 0; margin: 1.4rem 0; }
.rn-meta { font-size: .84rem; color: var(--rn-muted); }
.rn-sources { font-size: .85rem; border: 1px solid var(--rn-line); border-radius: 12px; padding: 14px 16px; margin: 1.5rem 0; }
.rn-sources ul { padding-left: 1.2rem; margin-bottom: 0; }
.rn-search { display: flex; gap: 8px; border: 1px solid var(--rn-line); border-radius: 18px; padding: 8px; background: #fff; box-shadow: 0 8px 28px #1422380b; }
.rn-search input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 12px; background: transparent; }
.rn-search button,.rn-primary { background: var(--rn-ink); color: #fff; border-color: var(--rn-ink); }
.rn-hero .rn-lede { margin: 0 auto 24px; }
.rn-hero h1 { max-width: 760px; margin-left: auto; margin-right: auto; }
.rn-pills { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 16px 0; }
.rn-pills button { font-size: .88rem; }
.rn-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 42px 0 14px; }
.rn-section-head h2 { margin: 0; }
.rn-table-wrap { overflow-x: auto; margin: 1.25rem 0; border: 1px solid var(--rn-line); border-radius: 12px; }
.rn-table-wrap table { border-collapse: collapse; min-width: 600px; width: 100%; }
.rn-table-wrap th,.rn-table-wrap td { text-align: left; padding: 11px 14px; border-bottom: 1px solid var(--rn-line); vertical-align: top; }
.rn-table-wrap th { background: var(--rn-rail); }
.rn-accordion { border-bottom: 1px solid var(--rn-line); }
.rn-accordion summary { cursor: pointer; padding: 14px 0; font-weight: 600; }
.rn-accordion p { margin: 0 0 16px; color: var(--rn-muted); }
.rn-tool { background: var(--rn-rail); padding: 22px; border-radius: var(--rn-radius); margin: 1.5rem 0; }
.rn-tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.rn-field label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: 5px; }
.rn-field input,.rn-field select,.rn-field textarea { width: 100%; padding: 10px 12px; border: 1px solid #cfd4da; border-radius: 10px; background: #fff; }
.rn-output { margin-top: 16px; padding: 16px; background: #fff; border: 1px solid var(--rn-line); border-radius: 12px; }
.rn-breadcrumb { font-size: .82rem; color: var(--rn-muted); margin-bottom: 20px; }
.rn-error { color: #a12622; }
.rn-tool-status { margin: 20px 0; }
.rn-tool-preview fieldset { display: grid; gap: 14px; margin: 0; padding: 0; border: 0; min-width: 0; }
.rn-tool-preview fieldset:disabled { opacity: .78; }
.rn-tool-preview input:disabled,.rn-tool-preview select:disabled,.rn-tool-preview button:disabled { cursor: not-allowed; }
.rn-tool-preview-checks { display: grid; gap: 9px; }
.rn-tool-preview-check { display: flex; align-items: flex-start; gap: 10px; padding: 11px 13px; border: 1px solid var(--rn-line); border-radius: 11px; background: var(--rn-card); }
.rn-tool-preview-check input { margin-top: 5px; }
.rn-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.rn-ad-preview { max-width: 640px; margin: 0 auto; background: #f8f9fa; }
.rn-ad-question { padding: 12px 16px; border-radius: 14px; background: #eef0f2; margin: 12px 0; }
.rn-ad-answer { padding: 12px 16px; margin: 12px 0 12px 24px; border-left: 2px solid var(--rn-line); color: var(--rn-muted); }
.rn-ad-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--rn-muted); margin: 18px 0 6px; }
.rn-step { display: flex; align-items: center; gap: 12px; }
.rn-step-number { flex: 0 0 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #eaf3fb; color: var(--rn-accent); font-weight: 700; }
.rn-ask-link { height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 11px; margin: 0 0 8px; border: 1px solid #dedede; border-radius: 13px; background: transparent; color: #151515; font-size: .86rem; }
.rn-ask-link:hover { background: #fff; text-decoration: none; border-color: #ccc; }
.rn-side-nav { display: grid; gap: 1px; }
.rn-nav-divider { height: 7px; }
.rn-nav-icon { display: inline-flex; width: 17px; height: 17px; align-items: center; justify-content: center; flex: 0 0 17px; color: #242424; }
.rn-nav-icon svg { display: block; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.rn-nav-group { margin: 1px 0; }
.rn-nav-group>summary { min-height: 36px; display: flex; align-items: center; gap: 9px; list-style: none; cursor: pointer; padding: 5px 8px; border-radius: 9px; font-weight: 600; font-size: .86rem; color: #1a1a1a; }
.rn-nav-group>summary::-webkit-details-marker { display: none; }
.rn-nav-group>summary:hover { background: #ececec; }
.rn-nav-chevron { display: inline-flex; margin-left: auto; width: 16px; height: 16px; transition: transform .16s ease; }
.rn-nav-chevron svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rn-nav-group[open]>summary .rn-nav-chevron { transform: rotate(180deg); }
.rn-nav-children { padding: 1px 0 4px 14px; }
.rn-nav-group--nested>summary { min-height: 32px; font-weight: 500; font-size: .81rem; padding-left: 5px; }
.rn-nav-group--nested .rn-nav-children { padding-left: 13px; }
.rn-content h1 a,.rn-content h2 a,.rn-content h3 a,.rn-content h4 a,.rn-content h5 a,.rn-content h6 a,.rn-main h1 a,.rn-main h2 a,.rn-main h3 a,.rn-main h4 a,.rn-main h5 a,.rn-main h6 a,.entry-title a,.entry-header a { color: #171717!important; }
.rn-content h1 a:hover,.rn-content h2 a:hover,.rn-content h3 a:hover,.rn-content h4 a:hover,.rn-content h5 a:hover,.rn-content h6 a:hover,.rn-main h1 a:hover,.rn-main h2 a:hover,.rn-main h3 a:hover,.rn-main h4 a:hover,.rn-main h5 a:hover,.rn-main h6 a:hover,.entry-title a:hover,.entry-header a:hover { color: #000!important; }
body.blog,body.archive,body.single,body.single-post,body.single-rn_guide,body.single-rn_issue { background: #fff!important; color: #171717!important; }
body.blog .rn-main,body.archive .rn-main,body.single .rn-main,body.single-post .rn-main,body.single-rn_guide .rn-main,body.single-rn_issue .rn-main,body.blog .rn-content,body.archive .rn-content,body.single .rn-content,body.single-post .rn-content,body.single-rn_guide .rn-content,body.single-rn_issue .rn-content { background: #fff!important; color: #171717!important; }
body.blog .rn-card,body.archive .rn-card,body.single .rn-card,body.single-post .rn-card,body.single-rn_guide .rn-card,body.single-rn_issue .rn-card { background: #fff!important; }
body h1 a,body h2 a,body h3 a,body h4 a,body h5 a,body h6 a,body .entry-title a { color: #171717!important; }
body h1 a:hover,body h2 a:hover,body h3 a:hover,body h4 a:hover,body h5 a:hover,body h6 a:hover,body .entry-title a:hover { color: #000!important; }
body .rn-card-link strong { color: #171717!important; }
body .rn-card-link:hover strong { color: #000!important; }
body.blog .rn-notice,body.archive .rn-notice,body.single .rn-notice,body.single-post .rn-notice,body.single-rn_guide .rn-notice,body.single-rn_issue .rn-notice { background: #fff!important; }
.rn-footer { width: min(1280px,100%); margin: 0 auto; padding: 48px clamp(24px,5vw,68px) 22px; border-top: 1px solid var(--rn-line); font-size: .88rem; line-height: 1.6; color: var(--rn-muted); }
.rn-footer-brand { max-width: 520px; }
.rn-footer-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--rn-ink); font-size: 1rem; }
.rn-footer-logo:hover { text-decoration: none; }
.rn-footer-logo .rn-footer-mark { display: block; width: 29px; height: 29px; object-fit: contain; }
.rn-footer-brand p,.rn-footer-newsletter p { margin: 12px 0 16px; color: var(--rn-muted); }
.rn-footer-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 17px; border-radius: 999px; background: #111; color: #fff; font-weight: 600; font-size: .83rem; }
.rn-footer-cta:hover { background: #292929; color: #fff; text-decoration: none; }
.rn-footer-newsletter h2,.rn-footer-links h2 { margin: 0 0 8px; color: var(--rn-ink); font-size: 1rem; line-height: 1.4; }
.rn-footer-signup input { min-width: 0; flex: 1; height: 42px; padding: 0 13px; border: 1px solid var(--rn-line); border-radius: 9px; background: #fff; color: #171717; }
.rn-footer-signup button { height: 42px; padding: 0 16px; border: 0; border-radius: 999px; background: #111; color: #fff; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.rn-footer-links h2 { margin-bottom: 5px; }
.rn-footer-links a { color: var(--rn-accent); font-size: .86rem; line-height: 1.5; }
.rn-footer-legal { border-top: 1px solid var(--rn-line); padding-top: 16px; color: var(--rn-muted); font-size: .78rem; line-height: 1.65; }
.rn-footer-legal span { padding: 0 4px; }
.rn-footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: clamp(18px,2.6vw,36px); padding-bottom: 30px; }
.rn-footer-intro { display: flex; flex-direction: column; gap: 28px; padding: 0; border: 0; }
.rn-footer-intro .rn-footer-brand { max-width: none; }
.rn-footer-links { display: contents; }
.rn-footer-links section { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; }
.rn-footer-signup { display: flex; max-width: 500px; flex-direction: column; align-items: stretch; gap: 8px; }
.rn-footer-signup input,.rn-footer-signup button { width: 100%; flex-basis: auto; }
.rn-article-content h2 { scroll-margin-top: 24px; }
.rn-topic-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 24px; }
.rn-topic-chips a { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; background: #f2f3f4; color: #42474d; font-size: .8rem; line-height: 1.35; }
.rn-topic-chips a:hover { background: #e8eaec; text-decoration: none; }
.rn-toc { margin: 22px 0 30px; border: 1px solid var(--rn-line); border-radius: 14px; background: #f8f8f8; overflow: hidden; }
.rn-toc>summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 16px; list-style: none; cursor: pointer; font-weight: 600; color: var(--rn-ink); }
.rn-toc>summary::-webkit-details-marker { display: none; }
.rn-toc-chevron { font-size: 1.15rem; transition: transform .15s ease; }
.rn-toc[open] .rn-toc-chevron { transform: rotate(180deg); }
.rn-toc nav { padding: 0 18px 14px; }
.rn-toc ul { margin: 0; padding-left: 20px; }
.rn-toc li { margin: 5px 0; }
.rn-toc .rn-toc-level-3 { margin-left: 18px; font-size: .9em; }
.rn-toc a { color: var(--rn-ink); }
.rn-guide-faq { margin: 38px 0; }
.rn-guide-faq h2 { margin-top: 0; }
.rn-cta-card { margin: 30px 0; padding: 22px 24px; border: 1px solid var(--rn-line); border-radius: 16px; background: #f6f7f8; }
.rn-cta-card h3 { margin: 0 0 8px; }
.rn-cta-card p { margin: 0 0 16px; }
.rn-cta-card a { display: inline-flex; padding: 9px 15px; border-radius: 999px; background: #171717; color: #fff; font-size: .85rem; font-weight: 600; }
.rn-cta-card a:hover { background: #333; text-decoration: none; }
.rn-related-guides { margin: 46px 0 34px; }
.rn-related-guides>h2 { margin: 0 0 16px; }
.rn-author-box { display: flex; gap: 16px; margin: 36px 0; padding: 20px; border: 1px solid var(--rn-line); border-radius: 16px; background: #f6f7f8; }
.rn-author-mark { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: #111; color: #fff; font-weight: 700; }
.rn-author-box p { margin: 5px 0; color: var(--rn-muted); }
.rn-bottom-cta { margin: 42px 0 8px; padding: 28px; border-radius: 18px; background: #111; color: #fff; }
.rn-bottom-cta .rn-bottom-cta-kicker { margin: 0 0 12px; color: #fff; font-size: .82rem; font-weight: 600; letter-spacing: .01em; }
.rn-bottom-cta h2 { margin: 0 0 8px; color: #fff; }
.rn-bottom-cta p { color: #d6d7d9; margin: 0 0 18px; }
.rn-bottom-cta .rn-footer-cta { background: #fff; color: #111; }
.rn-bottom-cta .rn-footer-cta:hover { background: #e9e9e9; color: #111; }
.rn-related-guides .rn-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.rn-field-label { display: block; margin-bottom: 5px; font-size: .9rem; font-weight: 600; }
.rn-preview-control { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 9px 12px; border: 1px solid #cfd4da; border-radius: 10px; background: #fff; color: #555b62; }
.rn-preview-placeholder { color: #858b92; }
.rn-tool-preview button:disabled { cursor: not-allowed; opacity: .62; }
.rn-check-placeholder { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; margin-top: 4px; border: 1px solid #aeb5bc; border-radius: 4px; background: #f7f8f9; }
/* Shared chat-style title for every page and post heading. */
.rn-content h1 { display: table; width: fit-content; max-width: 100%; margin: .25rem 0 1rem auto; padding: 11px 18px; border-radius: 24px; background: #f4f4f4; color: #0d0d0d; font-size: 16px; font-weight: 400; line-height: 1.6; letter-spacing: normal; text-align: left; overflow-wrap: anywhere; }
.rn-topbar-context-label { flex: 0 0 auto; color: var(--rn-ink); font-weight: 700; }
.rn-topbar-page-title { display: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--rn-muted); font-weight: 400; }
.rn-topbar .rn-menu-toggle { display: none; align-items: center; justify-content: center; flex: 0 0 20px; width: 20px; height: 24px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--rn-ink); box-shadow: none; font-size: 1rem; font-weight: 400; line-height: 1; }
.rn-topbar .rn-menu-toggle:hover { border: 0; background: transparent; text-decoration: none; }
.rn-menu-glyph { font-size: 1.05rem; line-height: 1; }
.rn-topbar-brand-icon { display: inline-flex; flex: 0 0 24px; width: 24px; height: 24px; }
.rn-topbar-brand-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.rn-topbar>.button { flex: 0 0 auto; margin-left: auto; white-space: nowrap; background: #0d0d0d; color: #fff; border-color: #0d0d0d; padding: .62rem 1rem; }
.rn-topbar>.button:hover { background: #252525; color: #fff; border-color: #252525; }
.rn-mobile-scrim { display: none; position: fixed; inset: 0; padding: 0; border: 0; border-radius: 0; background: transparent; z-index: 19; }
.rn-mobile-scrim.is-open { display: block; background: #1118; }
.rn-rail-close { display: none; position: absolute; top: calc(16px + var(--wp-admin--admin-bar--height,0px)); right: 14px; z-index: 1; align-items: center; justify-content: center; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--rn-ink); font-size: 1.55rem; line-height: 1; }
.rn-rail-close:hover { border: 0; background: #e9edf1; }
.rn-menu-toggle:focus-visible,.rn-rail-close:focus-visible { outline: 2px solid var(--rn-accent); outline-offset: 3px; }
.rn-rail .rn-brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Contact form follows the reference form's field order and responsive grid. */
.rn-contact-lede { font-size: 1.08rem; color: #484e55; }
.rn-breadcrumb--top { width: 100%; min-width: 0; margin: 0 0 26px; font-size: .82rem; line-height: 1.5; overflow-wrap: anywhere; }
.rn-breadcrumb--top a { color: var(--rn-muted); }
.rn-brand-meta { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; }
.rn-brand-meta img { display: block; flex: 0 0 22px; width: 22px; height: 22px; object-fit: contain; }
.rn-contact-form { display: grid; gap: 18px; width: 100%; max-width: 732px; margin: 22px auto 34px; padding: 18px; border: 1px solid var(--rn-line); border-radius: 18px; background: #f4f4f4; }
.rn-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 14px; }
.rn-contact-field { display: grid; gap: 7px; min-width: 0; font-size: .88rem; font-weight: 600; }
.rn-contact-field--wide { grid-column: 1/-1; }
.rn-contact-field input,.rn-contact-field select,.rn-contact-field textarea { width: 100%; min-width: 0; min-height: 48px; padding: 10px 13px; border: 1px solid #dedede; border-radius: 12px; background: #fff; color: #171717; font-weight: 400; line-height: 1.45; }
.rn-contact-field textarea { min-height: 74px; resize: vertical; }
.rn-contact-field input:focus,.rn-contact-field select:focus,.rn-contact-field textarea:focus { outline: 2px solid color-mix(in srgb,var(--rn-accent) 35%,transparent); outline-offset: 1px; border-color: var(--rn-accent); }
.rn-contact-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.rn-contact-fieldset legend { margin-bottom: 10px; font-size: .88rem; font-weight: 600; }
.rn-contact-check-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.rn-contact-check-grid label { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 7px 12px; border: 1px solid #dedede; border-radius: 999px; background: #fff; font-size: .84rem; font-weight: 400; white-space: nowrap; }
.rn-contact-check-grid input { width: 14px; height: 14px; margin: 0; accent-color: #111; }
.rn-contact-actions { display: grid; gap: 10px; }
.rn-contact-submit { width: 100%; min-height: 42px; padding: 0 19px; border-color: #111; border-radius: 999px; background: #111; color: #fff; font-size: .88rem; font-weight: 600; }
.rn-contact-submit:hover { border-color: #292929; background: #292929; color: #fff; }
.rn-contact-fallback { font-size: .88rem; }
/* About page intro: 75/25 columns with a framed, responsive founder portrait. */
.rn-about-intro.wp-block-columns { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,1fr); align-items: stretch; gap: 20px; padding-inline: 0; }
.rn-about-intro>.rn-about-intro__copy,.rn-about-intro>.rn-about-intro__portrait { width: auto!important; flex-basis: auto!important; min-width: 0; margin: 0; }
.rn-about-intro__portrait { display: flex; }
.rn-about-intro__frame { flex: 1 1 auto; width: 100%; height: 100%; min-height: 200px; margin: 0; overflow: hidden; border: 1px solid var(--rn-line); border-radius: 18px; background: var(--rn-rail); }
.rn-about-intro__frame img { display: block; width: 100%; height: 100%; min-height: 200px; object-fit: cover; object-position: center 18%; border-radius: inherit; }
/* Keep every sidebar submenu item on its own line with a consistent black label. */
.rn-rail .rn-nav-children { display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; align-items: stretch; }
.rn-rail .rn-nav-link,.rn-rail .rn-nav-link:visited { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 32px; padding: 5px 8px; border-radius: 8px; color: #171717!important; font-size: .84rem; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; }
.rn-rail .rn-nav-link>span { min-width: 0; }
.rn-rail .rn-nav-link:hover { background: #ececec; color: #000!important; text-decoration: none; }
.rn-rail .rn-nav-link:focus-visible { outline: 2px solid #414141; outline-offset: 2px; }
.rn-rail .rn-nav-link[aria-current="page"] { background: #e9e9e9; color: #111!important; font-weight: 600; }
.rn-hero>.rn-search { width: 100%; max-width: var(--rn-width); margin: 0 auto; }
.rn-hero>.rn-search-results { width: 100%; max-width: var(--rn-width); margin: 12px auto 0; }
.rn-hero>.rn-eyebrow { display: flex; align-items: flex-start; justify-content: center; gap: 8px; }
.rn-hero>.rn-eyebrow img { display: block; flex: 0 0 22px; width: 22px; height: 22px; object-fit: contain; margin-top: 1px; }
.rn-search-results { padding: 18px; text-align: left; border: 1px solid var(--rn-line); border-radius: 16px; background: var(--rn-card); box-shadow: var(--rn-shadow); }
.rn-search-results[hidden] { display: none; }
.rn-search-source { padding: 12px 14px; border: 1px solid var(--rn-line); border-radius: 12px; background: var(--rn-bg); }
.rn-search-source a { color: var(--rn-ink); font-weight: 650; }
.rn-search-source p { margin: 5px 0 0; color: var(--rn-muted); font-size: .86rem; line-height: 1.5; }
.rn-search-answer-text,.rn-search-source p { white-space: pre-line; }
/* Shared homepage layout: the hero, search box and answer panel follow the site content grid. */
.rn-content:has(>.rn-hero) { width: min(960px,calc(100% - 56px)); }
.rn-hero { position: static; transform: none; width: 100%; max-width: none; text-align: center; padding: 30px 0 20px; }
/* Responsive breakpoints and system preferences; narrower screens follow wider screens. */
@media (min-width: 901px) {
  .rn-topbar-page-title { display: inline; }
}
@media (min-width: 1100px) {
  .rn-topbar { padding-inline: clamp(48px,4.8vw,68px); }
}
@media (max-width: 1100px) {
  .rn-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 28px; }
}
@media (max-width: 1024px) {
  .rn-rail { transform: translateX(-105%); transition: transform .2s ease; width: min(300px,88vw); box-shadow: 8px 0 24px #0001; }
  .rn-rail.is-open { transform: translateX(0); }
  .rn-main { margin-left: 0; }
  .rn-menu-toggle { display: inline-flex; align-items: center; gap: 8px; }
  .rn-mobile-scrim.is-open { display: block; position: fixed; inset: 0; background: #1118; z-index: 19; }
  .rn-footer { padding: 28px 24px; }
  .rn-topbar .rn-menu-toggle { display: inline-flex!important; }
}
@media (max-width: 900px) {
  .rn-footer-intro { gap: 32px; }
  .rn-topbar { justify-content: flex-start; padding: 0 16px; gap: 12px; }
  .rn-topbar .rn-menu-toggle { display: inline-flex; }
  .rn-topbar-label { min-width: 0; max-width: none; margin-right: auto; }
  .rn-topbar>.button { margin-left: auto; }
  .rn-rail.is-open .rn-rail-close { display: flex; }
}
@media (max-width: 700px) {
  .rn-content,.rn-content--wide { width: calc(100% - 36px); margin: 34px auto 60px; }
  .rn-grid,.rn-grid--3,.rn-tool-grid { grid-template-columns: 1fr; }
  .rn-content h2 { font-size: 1.35rem; }
  .rn-section-head { align-items: start; flex-direction: column; gap: 7px; margin-top: 32px; }
  .rn-hero { padding-top: 18px; }
  .rn-footer { padding: 24px 18px; }
  .rn-related-guides .rn-grid { grid-template-columns: minmax(0,1fr); }
  .rn-content h1 { padding: 9px 14px; margin: .2rem 0 .9rem auto; }
  .rn-topbar-brand-icon { flex-basis: 23px; width: 23px; height: 23px; }
  .rn-breadcrumb--top { margin-bottom: 20px; font-size: .78rem; }
  .rn-brand-meta { gap: 7px; }
  .rn-brand-meta img { flex-basis: 20px; width: 20px; height: 20px; }
  .rn-contact-form { gap: 16px; margin: 20px 0 30px; padding: 17px; }
  .rn-contact-grid { grid-template-columns: 1fr; gap: 15px; }
  .rn-contact-field--wide { grid-column: auto; }
  .rn-contact-check-grid { gap: 7px; }
  .rn-contact-check-grid label { min-height: 40px; padding: 6px 10px; }
  .rn-about-intro.wp-block-columns { grid-template-columns: 1fr; gap: 18px; }
  .rn-about-intro__frame { width: 100%; height: 240px; min-height: 240px; flex: 1 1 auto; }
  .rn-about-intro__frame img { height: 100%; min-height: 240px; }
  .rn-content:has(>.rn-hero) { width: calc(100% - 36px); }
  .rn-topbar { height: 58px; padding: 0 18px; gap: 8px; }
  .rn-topbar-label { flex: 1 1 auto; min-width: 0; max-width: 28vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rn-topbar>a:last-child { flex: 0 0 auto; max-width: 40vw; padding: .55rem .8rem; font-size: .78rem; white-space: nowrap; }
}
@media (max-width: 600px) {
  .rn-footer { padding: 34px 20px 20px; }
  .rn-footer-columns { grid-template-columns: 1fr; gap: 28px; padding-bottom: 26px; }
  .rn-footer-intro { padding-bottom: 28px; gap: 24px; }
  .rn-footer-signup { flex-direction: row; flex-wrap: wrap; }
  .rn-footer-signup input { flex-basis: 100%; flex: 1 1 100%; }
  .rn-footer-signup button { width: auto; }
}
@media (max-width: 380px) {
  .rn-topbar { gap: 9px; padding-inline: 14px; }
  .rn-topbar-brand-icon { flex-basis: 21px; width: 21px; height: 21px; }
  .rn-topbar>.button { padding: .48rem .68rem; font-size: .8rem; }
  .rn-contact-check-grid label { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto!important; transition: none!important; }
}
@media (prefers-color-scheme: dark) {
  :root { --rn-bg: #17191b; --rn-rail: #202326; --rn-card: #1c1f22; --rn-ink: #f1f3f5; --rn-muted: #a9afb6; --rn-line: #383d42; --rn-accent: #81b9ee; --rn-green: #67cba1; --rn-shadow: none; }
  button,.button,.rn-search,.rn-tool,.rn-output,.rn-field input,.rn-field select,.rn-field textarea { background: #24282b; color: var(--rn-ink); }
  .rn-primary,.rn-search button { background: #f1f3f5; color: #17191b; }
  .rn-notice { background: #202a31; }
  .rn-lede { color: #c5cbd1; }
  .rn-topic-chips a,.rn-toc,.rn-cta-card,.rn-author-box { background: #24282b; color: var(--rn-ink); }
  .rn-bottom-cta { background: #111; color: #fff; }
}