/*
Theme Name: UIF Portal
Theme URI: https://uifportal.co.za/
Description: Custom theme replicating the approved UIF Portal static design: Georgia serif headings, Segoe UI body, navy/red/white, hero, 14-post nav + search dropdown, FAQ accordion, scroll buttons, Related Guides + share.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: uif-portal
*/
:root{--navy:#0a2463;--navy-dark:#06163e;--navy-mid:#123a8f;--navy-soft:#eaf0fa;--navy-line:#c9d6ee;--red:#d90429;--red-dark:#a80320;--red-soft:#fdecec;--ink:#1b2334;--muted:#55617a;--line:#d9e1ef;--bg:#ffffff;--card:#f6f8fc;--radius:14px;--shadow:0 8px 28px rgba(6,22,62,.12);--shadow-sm:0 2px 10px rgba(6,22,62,.08);--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-head:Georgia,"Times New Roman",Times,serif;}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.68;font-size:17px;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--navy-mid);text-decoration:none}a:hover{color:var(--red);text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.22;color:var(--navy);margin:0 0 .55em;font-weight:800;letter-spacing:-.01em}p{margin:0 0 1em}.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.full{width:100%}.site-header{background:var(--navy-dark);position:sticky;top:0;z-index:60;box-shadow:0 2px 14px rgba(0,0,0,.3)}.header-top{display:flex;align-items:center;gap:16px;padding:10px 20px;max-width:1280px;margin:0 auto}.site-logo{flex:0 0 auto;line-height:0}.site-logo img{height:54px;width:auto;background:#fff;border-radius:8px;padding:3px 10px}.nav-toggle{display:none;background:var(--red);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;margin-left:auto;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:2px;max-width:1280px;margin:0 auto;padding:0 14px;background:var(--navy);border-top:3px solid var(--red);overflow-x:auto;scrollbar-width:thin}.main-nav a.nav-link{color:#e8edf8;padding:11px 13px;font-weight:600;font-size:14.5px;white-space:nowrap;border-radius:6px 6px 0 0}.main-nav a.nav-link:hover{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}.main-nav a.nav-link.active{background:var(--red);color:#fff}.search-box{position:relative;flex:1 1 auto;display:flex;max-width:560px;margin-left:auto}.search-box input{flex:1;min-width:0;padding:11px 14px 11px 40px;border-radius:999px 0 0 999px;border:2px solid #fff;border-right:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18' fill='none' stroke='%230a2463' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E")no-repeat 13px center;font-size:15px;font-family:var(--font);color:var(--ink)}.search-box input:focus{outline:none;box-shadow:0 0 0 3px rgba(217,4,41,.55)}.search-box input::placeholder{color:var(--muted)}.search-go{background:var(--red);color:#fff;border:2px solid var(--red);border-radius:0 999px 999px 0;padding:11px 20px;font-weight:800;font-size:15px;font-family:var(--font);cursor:pointer;white-space:nowrap}.search-go:hover{background:var(--red-dark);border-color:var(--red-dark)}.search-results{position:absolute;left:0;right:0;top:calc(100%+10px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:62vh;overflow:auto;padding:8px;display:none;text-align:left}.search-results.open{display:block}.search-results a{display:block;padding:9px 11px;border-radius:8px;color:var(--ink);font-size:15px;font-weight:600}.search-results a:hover{background:var(--navy-soft);color:var(--navy);text-decoration:none}.search-results a small{display:block;color:var(--muted);font-size:12.5px;font-weight:400;margin-top:2px}.search-results .no-result{padding:10px;color:var(--muted);font-size:14px}.hero{position:relative;background:var(--navy-dark);overflow:hidden;min-height:420px;display:flex;align-items:stretch}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.hero-scrim{position:absolute;inset:0;background:linear-gradient(92deg,rgba(6,22,62,.96)0%,rgba(6,22,62,.93)38%,rgba(6,22,62,.72)62%,rgba(6,22,62,.38)100%),linear-gradient(0deg,rgba(6,22,62,.88)0%,rgba(6,22,62,0)55%)}.hero-inner{position:relative;z-index:2;max-width:1180px;width:100%;margin:0 auto;padding:66px 20px 78px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-eyebrow{display:inline-block;background:var(--red);color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 15px;border-radius:999px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.35)}.hero h1{font-size:clamp(30px,4.4vw,52px);color:#fff;max-width:660px;margin-bottom:16px;text-shadow:0 2px 16px rgba(0,0,0,.65);font-weight:800}.hero h1::after{content:"";display:block;width:88px;height:5px;background:var(--red);border-radius:4px;margin-top:16px;box-shadow:0 1px 6px rgba(0,0,0,.4)}.hero p.lede{color:#f2f5fb;font-size:clamp(16px,2vw,19.5px);font-weight:500;max-width:620px;margin-bottom:28px;text-shadow:0 1px 10px rgba(0,0,0,.6);line-height:1.6}.hero-btns{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-weight:800;font-size:16px;border:2px solid transparent;cursor:pointer;text-align:center;font-family:var(--font);box-shadow:0 3px 12px rgba(0,0,0,.28)}.btn-navy{background:var(--navy);color:#fff;border-color:#fff}.btn-red{background:var(--red);color:#fff}.btn-outline{background:rgba(255,255,255,.96);color:var(--navy);border-color:#fff}.btn:hover{filter:brightness(1.1);text-decoration:none;transform:translateY(-1px)}.btn-navy:hover,.btn-red:hover{color:#fff}.btn-outline:hover{color:var(--red)}.tools-section{padding:40px 0 6px}.tools-section>h2{text-align:center;font-size:clamp(24px,3vw,32px)}.tools-section>h2::after{content:"";display:block;width:72px;height:4px;background:var(--red);border-radius:4px;margin:12px auto 0}.tools-sub{text-align:center;color:var(--muted);max-width:760px;margin:0 auto 24px}.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.tool{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.tool:nth-child(even){border-top-color:var(--red)}.tool h3{margin:0 0 4px;font-size:20px}.tool .tool-tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--red);margin-bottom:8px}.tool p.tool-desc{color:var(--muted);font-size:14.5px;margin-bottom:14px}.tool label{display:block;font-weight:700;font-size:14.5px;margin:10px 0 4px}.tool input,.tool select{width:100%;padding:10px 12px;border:1px solid #c6d2e4;border-radius:8px;font-size:15.5px;font-family:var(--font);background:#fff}.tool input:focus,.tool select:focus{outline:2px solid var(--navy-mid);border-color:var(--navy-mid)}.tool .btn{margin-top:14px;width:100%}.tool-result{margin-top:16px;background:var(--navy-soft);border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:10px;padding:14px 16px;display:none}.tool-result.show{display:block}.tool-result .big{font-size:26px;font-weight:800;color:var(--navy)}.tool-result .rowline{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:15px}.tool-result .rowline:last-child{border-bottom:0}.tool-result .rowline b{color:var(--navy)}.tool-note{font-size:13px;color:var(--muted);margin-top:10px}.tool .checkline{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-size:15px}.tool .checkline input{width:auto;margin-top:4px;accent-color:var(--red)}.tool .steps-out{margin-top:12px}.tool .steps-out li{margin-bottom:8px}.verdict{font-weight:800;font-size:18px;color:var(--navy)}.verdict.ok{color:#0b7a3e}.verdict.warn{color:#8a5200}.verdict.no{color:var(--red)}.mini-table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:10px}.mini-table th,.mini-table td{border:1px solid var(--line);padding:7px 9px;text-align:left}.mini-table th{background:var(--navy);color:#fff}.tools-compact{grid-template-columns:repeat(3,1fr);gap:12px}.tools-compact .tool{padding:14px 15px;border-top-width:4px;border-radius:11px}.tools-compact .tool h3{font-size:16.5px;margin-bottom:2px}.tools-compact .tool .tool-tag{font-size:10.5px;margin-bottom:5px}.tools-compact .tool p.tool-desc{font-size:13px;line-height:1.45;margin-bottom:10px}.tools-compact .tool label{font-size:13px;margin:7px 0 3px}.tools-compact .tool input,.tools-compact .tool select{padding:8px 10px;font-size:14px}.tools-compact .tool .btn{margin-top:10px;padding:10px 16px;font-size:14.5px}.tools-compact .tool-note{font-size:12px;margin-top:8px}.tools-compact .tool .checkline{font-size:13.5px;margin:5px 0}.article{padding:8px 0 30px}.article-intro{font-size:18px;color:#2b3450;max-width:860px;margin:0 auto 10px;border-bottom:3px solid var(--red);padding-bottom:14px}.article-intro p{margin-bottom:1em}.article-intro p:first-child::first-letter{font-weight:800;color:var(--red)}.post-hero-img{margin:20px auto 4px;max-width:860px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.post-hero-img img{width:100%}.fig{margin:24px auto;max-width:860px;text-align:center}.fig img{border-radius:12px;box-shadow:var(--shadow-sm);margin:0 auto;border:1px solid var(--line)}.article h1.page-h1,.article .page-h1{text-align:center;font-size:clamp(28px,4vw,42px);max-width:900px;margin:24px auto 10px;font-weight:800;line-height:1.22;color:var(--navy)}.article h1.page-h1::after{content:"";display:block;width:76px;height:4px;background:var(--red);border-radius:4px;margin:14px auto 0}.article h1.page-h1 .h1-accent{color:var(--red)}.article .cat-pill{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;padding:5px 16px;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.article .cat-wrap{text-align:center;margin-bottom:22px}.article h3{font-size:20px;margin:1.4em 0 .5em;padding-left:14px;border-left:5px solid var(--red)}.article h3:first-child{margin-top:0}.sec{padding:36px 0;margin:28px 0;border-radius:18px}.sec .sec-inner{max-width:860px;margin:0 auto;padding:0 24px}.sec h2{text-align:center;font-size:clamp(23px,3vw,30px);margin-bottom:20px}.sec p,.sec li{font-size:16.5px}.sec ul,.sec ol{margin:0 0 1em;padding-left:24px}.sec li{margin-bottom:.55em}.sec li::marker{color:var(--red);font-weight:800}.sec ul{list-style:none;padding-left:0}.sec ul li{position:relative;padding-left:26px}.sec ul li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;background:var(--red);border-radius:2px;transform:rotate(45deg)}.sec ul ul li::before{background:var(--navy)}.sec ol{counter-reset:step;list-style:none;padding-left:0}.sec ol li{counter-increment:step;position:relative;padding-left:48px;margin-bottom:13px}.sec ol li::before{content:counter(step);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}.sec table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15.5px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.sec th,.sec td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}.sec th{background:var(--navy);color:#fff;font-weight:700}.sec tr:nth-child(even)td{background:var(--card)}.sec blockquote{border-left:5px solid var(--red);background:var(--red-soft);margin:20px 0;padding:16px 20px;border-radius:0 12px 12px 0;font-size:16.5px}.sec blockquote p:last-child{margin-bottom:0}.sec strong{color:var(--navy)}.sec code{background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:5px;padding:1px 6px;font-size:.9em}.sec a{font-weight:700}.sec-v1{background:#fff;border:1px solid var(--line)}.sec-v1 h2::after{content:"";display:block;width:70px;height:4px;background:var(--red);border-radius:4px;margin:12px auto 0}.sec-v2{background:var(--navy-soft)}.sec-v2 h2 span{display:inline-block;background:var(--navy);color:#fff;padding:9px 24px;border-radius:999px;box-shadow:var(--shadow-sm)}.sec-v3{background:#fff;border-top:3px solid var(--navy);border-bottom:3px solid var(--navy)}.sec-v3 h2{display:flex;align-items:center;gap:16px;justify-content:center}.sec-v3 h2::before,.sec-v3 h2::after{content:"";flex:1;max-width:120px;height:2px;background:var(--red)}.sec-v4{background:linear-gradient(135deg,var(--navy-dark),var(--navy-mid));color:#eef2fb}.sec-v4 h2{color:#fff}.sec-v4 h3,.sec-v4 h4{color:#fff}.sec-v4 h2::after{content:"";display:block;width:70px;height:4px;background:var(--red);border-radius:4px;margin:12px auto 0}.sec-v4 strong{color:#fff}.sec-v4 a{color:#ffd6d9}.sec-v4 table{color:var(--ink)}.sec-v4 blockquote{background:rgba(255,255,255,.12);border-left-color:var(--red);color:#fff}.sec-v4 code{background:rgba(255,255,255,.16);color:#fff;border-color:transparent}.sec-v4 ul li::before{background:#ff5b66}.sec-v4 ol li::before{background:var(--red)}.sec-v5{background:var(--red-soft)}.sec-v5 h2 span{display:inline-block;border:2px solid var(--red);border-radius:12px;padding:9px 22px;background:#fff;box-shadow:var(--shadow-sm)}.sec-v6{background:#fff;border:2px solid var(--navy);outline:2px solid var(--red);outline-offset:-9px}.sec-v6 h2{color:var(--red)}.sec-v7{background:linear-gradient(180deg,#eef3fb,#fff);border:1px solid var(--line)}.sec-v7 h2 span{display:inline-block;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:10px 24px;border-radius:14px}.sec-v8{background:var(--card);border-left:8px solid var(--red)}.sec-v8 ol li::before{background:var(--red)}.faq-section{padding:34px 0 10px}.faq-section h2{text-align:center;font-size:clamp(23px,3vw,30px)}.faq-section h2::after{content:"";display:block;width:70px;height:4px;background:var(--red);border-radius:4px;margin:12px auto 0}.faq-sub{text-align:center;color:var(--muted);font-size:15px;margin-bottom:22px}.faq-list{max-width:860px;margin:0 auto}.faq-item{border:1px solid var(--line);border-left:6px solid var(--navy);border-radius:12px;margin-bottom:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.faq-q{width:100%;text-align:left;background:#fff;border:0;padding:0;font-size:16.5px;font-weight:700;color:var(--navy);cursor:pointer;display:flex;align-items:center;gap:14px;font-family:var(--font-head)}.faq-q:hover{background:var(--navy-soft)}.faq-num{flex:0 0 auto;width:34px;height:34px;margin-left:14px;border-radius:50%;background:var(--navy);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center}.faq-text{flex:1;padding:16px 0}.faq-q .chev{flex:0 0 auto;width:32px;height:32px;margin-right:14px;border-radius:50%;border:2px solid var(--red);color:var(--red);font-size:19px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s,color .2s;line-height:1}.faq-item.open{border-left-color:var(--red)}.faq-item.open .faq-q{background:var(--navy);color:#fff}.faq-item.open .faq-num{background:var(--red)}.faq-item.open .faq-q .chev{transform:rotate(45deg);background:var(--red);border-color:var(--red);color:#fff}.faq-a{display:none;padding:18px 20px 18px 62px;font-size:16px;background:var(--card);border-top:1px solid var(--line)}.faq-item.open .faq-a{display:block}.faq-a p:last-child{margin-bottom:0}.post-tools{background:var(--navy-soft);border:1px solid var(--navy-line);border-top:5px solid var(--red);border-radius:18px;padding:26px 22px;margin:28px 0}.post-tools>h2{text-align:center;margin-bottom:4px}.post-tools .tools-sub{margin-bottom:20px}.related{padding:28px 0 8px}.related h2{text-align:center}.related h2::after{content:"";display:block;width:70px;height:4px;background:var(--red);border-radius:4px;margin:12px auto 0}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}.related-card img{width:100%;aspect-ratio:1200/628;object-fit:cover}.related-card .rc-body{padding:14px 16px}.related-card h3{font-size:16.5px;margin:0;border:0;padding:0}.related-card h3 a{color:var(--navy)}.share-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin:28px 0 8px;padding:18px;border:1px dashed var(--navy-line);border-radius:14px;background:var(--card)}.share-row span{font-weight:800;color:var(--navy)}.share-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14.5px;color:#fff;border:0;cursor:pointer;font-family:var(--font)}.share-x{background:#000}.share-fb{background:#0b5cab}.share-wa{background:#075e54}.share-copy{background:var(--navy)}.share-btn:hover{filter:brightness(1.12);text-decoration:none;color:#fff}.page-hero{background:linear-gradient(135deg,var(--navy-dark),var(--navy-mid));color:#fff;padding:46px 20px 36px;text-align:center;border-bottom:4px solid var(--red)}.page-hero h1{color:#fff;font-size:clamp(28px,4vw,40px);margin:0}.page-hero p{color:#cdd8ee;margin:10px auto 0;max-width:720px}.page-body{max-width:860px;margin:0 auto;padding:38px 20px 54px}.page-body h2{margin-top:34px;padding-bottom:8px;border-bottom:2px solid var(--line)}.page-body h2:first-child{margin-top:0}.page-body h2::after{content:"";display:block;width:56px;height:3px;background:var(--red);border-radius:3px;margin-top:8px}.page-body ul{list-style:none;padding-left:0}.page-body ul li{position:relative;padding-left:26px;margin-bottom:.55em}.page-body ul li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;background:var(--red);border-radius:2px;transform:rotate(45deg)}.contact-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px}.contact-form label{display:block;font-weight:700;margin:12px 0 4px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:11px 12px;border:1px solid #c6d2e4;border-radius:8px;font-size:15.5px;font-family:var(--font)}.contact-form textarea{min-height:130px;resize:vertical}.form-note{background:#fff8e1;border:1px solid #f0d48a;border-radius:10px;padding:12px 14px;font-size:14px;margin-bottom:14px}.form-ok{background:#e6f7ec;border:1px solid #9fd8ae;border-radius:10px;padding:12px 14px;display:none;margin-top:14px}.site-footer{background:var(--navy-dark);color:#dbe4f5;margin-top:20px;border-top:4px solid var(--red)}.footer-main{max-width:1180px;margin:0 auto;padding:38px 20px 22px;display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap}.footer-brand{max-width:520px}.footer-brand img{height:56px;width:auto;background:#fff;border-radius:8px;padding:3px 8px;margin-bottom:14px}.footer-brand p{font-size:14.5px;color:#c3cfe8;margin:0}.footer-links h3{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.footer-links ul{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:8px}.footer-links a{color:#dbe4f5;font-size:15px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);text-align:center;padding:16px 20px;font-size:14px;color:#aebadb}.scroll-btns{position:fixed;right:16px;bottom:16px;z-index:70;display:flex;flex-direction:column;gap:10px}.scroll-btns button{width:46px;height:46px;border-radius:50%;border:2px solid #fff;background:var(--red);color:#fff;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3);font-family:var(--font)}.scroll-btns button.up{background:var(--navy)}.scroll-btns button:hover{filter:brightness(1.12)}.crumbs{font-size:14px;color:var(--muted);padding:18px 0 0}.crumbs a{color:var(--navy-mid)}@media(max-width:1020px){.tools-compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.tools-grid{grid-template-columns:1fr}.tools-compact{grid-template-columns:repeat(2,1fr)}.related-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){body{font-size:16px}.header-top{flex-wrap:wrap;gap:10px}.site-logo img{height:46px}.search-box{order:3;flex:1 1 100%;max-width:none;margin-left:0}.nav-toggle{display:block}.main-nav{display:none;flex-direction:column;align-items:stretch;overflow:visible;padding:6px 10px;gap:4px}.main-nav.open{display:flex}.main-nav a.nav-link{padding:11px 12px;border-radius:8px;background:rgba(255,255,255,.07)}.search-results{left:0;right:0}.hero{min-height:0}.hero-inner{padding:46px 20px 60px}.hero-scrim{background:linear-gradient(180deg,rgba(6,22,62,.9)0%,rgba(6,22,62,.82)60%,rgba(6,22,62,.9)100%)}.related-grid{grid-template-columns:1fr}.footer-main{flex-direction:column;gap:26px}.tool{padding:18px}.tools-compact{grid-template-columns:1fr}.sec{padding:28px 0}.sec .sec-inner{padding:0 18px}.faq-a{padding-left:20px}.faq-num{margin-left:10px}.sec table,.sec thead,.sec tbody,.sec th,.sec td,.sec tr{display:block;width:100%}.sec thead{display:none}.sec tr{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;overflow:hidden}.sec td{border:0;border-bottom:1px solid var(--line);padding:10px 12px 10px 46%;position:relative;text-align:left}.sec td:last-child{border-bottom:0}.sec td::before{content:attr(data-label);position:absolute;left:12px;top:10px;width:38%;font-weight:700;color:var(--navy);font-size:13.5px}.sec tr:nth-child(even)td{background:#fff}}
/* ===== UIF Portal theme additions (brief §22) — appended after the verbatim
   static CSS above. Default screen look is unchanged: dark mode applies
   only under html.dark (toggle only), print rules only when printing. ===== */

/* Visible keyboard focus (static CSS only styled input :focus). */
:focus-visible{outline:3px solid var(--red);outline-offset:2px}

/* Touch targets ~44px (static padding gave ~38-40px on these). */
.nav-toggle{padding:13px 16px}
.search-go{padding:13px 20px}
.share-btn{padding:14px 18px}

/* Dark-mode toggle button (styled to match .nav-toggle). */
.dark-toggle{display:inline-flex;align-items:center;background:var(--red);color:#fff;border:0;border-radius:8px;padding:13px 14px;font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;white-space:nowrap}
.dark-toggle:hover{background:var(--red-dark)}

/* Table of contents (posts only, collapsed by default). */
.toc{border:1px solid var(--line);border-radius:12px;margin:0 auto 24px;max-width:860px;background:var(--card)}
.toc-toggle{width:100%;text-align:left;background:none;border:0;padding:14px 18px;font-size:16px;font-weight:700;font-family:var(--font-head);color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.toc-toggle::after{content:"+";font-size:22px;color:var(--red);line-height:1}
.toc.open .toc-toggle::after{content:"\u2212"}
.toc-list{padding:0 18px 14px}
.toc-list ul{list-style:none;margin:0;padding:0}
.toc-list li{margin:0}
.toc-list a{display:block;padding:6px 0;font-size:15.5px}

/* Dark mode (toggle only; default is the approved light design). Reuses the
   site's existing dark navy + light text so it stays on-brand. */
html.dark{--bg:#06163e;--ink:#e8edf8;--muted:#b9c6e2;--card:#0b2050;--line:#2a4480;--navy-soft:#122c66;--navy-line:#2a4480;--red-soft:#3a0d18}
html.dark body{background:var(--bg);color:var(--ink)}
html.dark h1,html.dark h2,html.dark h3,html.dark h4{color:#fff}
html.dark a{color:#9db8f5}
html.dark .tool,html.dark .sec-v1,html.dark .sec-v3,html.dark .sec-v6,html.dark .faq-item,html.dark .related-card,html.dark .contact-form,html.dark .sec table,html.dark .search-results,html.dark .tool input,html.dark .tool select,html.dark .contact-form input,html.dark .contact-form textarea,html.dark .contact-form select{background:var(--card);color:var(--ink)}
html.dark .faq-q{background:var(--card);color:#fff}
html.dark .faq-q:hover{background:var(--navy-soft)}
html.dark .faq-a{background:var(--navy-soft)}
html.dark .sec-v5{background:#2a0e16}
html.dark .sec-v5 h2 span{background:var(--card);color:#fff}
html.dark .sec-v7{background:linear-gradient(180deg,#0b2050,#06163e)}
html.dark .article-intro{color:#dbe4f5}
html.dark .sec strong,html.dark .tool-result .rowline b,html.dark .verdict{color:#fff}
html.dark .sec-v4 a{color:#ffd6d9}
html.dark .toc-toggle{color:#fff}
html.dark .tool-result{background:var(--navy-soft)}
html.dark .share-row{background:var(--navy-soft)}
html.dark .tool-note,html.dark .faq-sub,html.dark .tools-sub{color:var(--muted)}
html.dark .search-results a{color:var(--ink)}
html.dark .search-results a:hover{background:var(--navy-soft);color:#fff}
html.dark .search-results .no-result{color:var(--muted)}

/* Print: hide interactive elements, plain black on white. */
@media print{
.site-header .main-nav,.search-box,.nav-toggle,.dark-toggle,.hero-btns,.tools-section,.post-tools,.site-footer,.scroll-btns,.share-row,.toc,.crumbs,.related,.faq-q .chev{display:none!important}
body{background:#fff!important;color:#000!important}
.hero{background:#fff!important;min-height:0}
.hero-bg,.hero-scrim{display:none!important}
.hero-inner{padding:20px}
.hero h1,.hero p.lede,.hero-eyebrow{color:#000!important;text-shadow:none!important;max-width:none}
.hero-eyebrow{background:none!important;box-shadow:none!important;padding:0}
.sec,.sec-v1,.sec-v2,.sec-v3,.sec-v4,.sec-v5,.sec-v6,.sec-v7,.sec-v8,.post-tools,.tool,.faq-item,.related-card{background:#fff!important;color:#000!important}
.sec-v2 h2 span,.sec-v5 h2 span{background:none!important;color:#000!important;box-shadow:none!important}
.sec-v4 h2,.sec-v4 h3,.sec-v4 h4,.sec-v4 strong,.sec strong,h1,h2,h3,h4{color:#000!important}
a{color:#000!important}
}
