/*
Theme Name: LV Tech Connect 2.0
Theme URI: https://lvtechconnect.com
Author: Matthew Mattioli
Description: Accessibility-first WordPress theme for LV Tech Connect, a digital inclusion and technology education organization.
Version: 5.1.2
Text Domain: lv-tech-connect
*/
:root{color-scheme:light;--font:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;--blue:#2D46B9;--navy:#020617;--lime:#C8F400;--sky:#BEEBFF;--violet:#DDD3FF;--coral:#FFD5CC;--bg:#F3F6FB;--surface:rgba(255,255,255,.92);--text:#0F172A;--muted:#475569;--border:rgba(15,23,42,.1);--shadow:0 22px 70px rgba(15,23,42,.09);--radius:2rem;--pill:999px;--container:1380px;--focus:#0F766E}
[data-theme=dark]{color-scheme:dark;--bg:#07111F;--surface:rgba(17,27,44,.94);--text:#F8FAFC;--muted:#CBD5E1;--border:rgba(226,232,240,.16);--shadow:0 24px 70px rgba(0,0,0,.35);--sky:#16354A;--violet:#2D2651;--coral:#4A2926;--lime:#27360B;--focus:#C8F400}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:18px;line-height:1.65;color:var(--text);background:radial-gradient(circle at 5% 0,rgba(56,189,248,.15),transparent 32rem),radial-gradient(circle at 100% 15%,rgba(200,244,0,.08),transparent 28rem),var(--bg)}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.2em}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:9999;top:1rem;left:1rem;transform:translateY(-160%);background:var(--navy);color:#fff;padding:.8rem 1rem;border-radius:var(--pill)}.skip-link:focus{transform:none}.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;padding:1rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:.55rem .65rem .55rem 1.1rem;background:var(--surface);backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--border);border-radius:var(--pill);box-shadow:0 10px 35px rgba(15,23,42,.08)}.site-branding,.custom-logo-link{display:flex;align-items:center}.site-logo,.custom-logo{max-height:48px;width:auto;border-radius:0}.header-nav{display:flex;align-items:center;gap:.55rem}.primary-menu{display:flex;align-items:center;gap:.1rem;list-style:none;margin:0;padding:0}.primary-menu a{display:block;padding:.68rem .82rem;border-radius:var(--pill);font-size:.88rem;font-weight:700;color:var(--muted)}.primary-menu a:hover,.primary-menu .current-menu-item>a{background:rgba(45,70,185,.09);color:var(--text);text-decoration:none}.theme-toggle,.menu-toggle{border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.theme-toggle{width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.theme-toggle svg{width:19px}.theme-toggle svg:last-child,[data-theme=dark] .theme-toggle svg:first-child{display:none}[data-theme=dark] .theme-toggle svg:last-child{display:block}.menu-toggle{display:none;width:46px;height:46px;border-radius:50%;padding:12px}.menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:currentColor;margin:5px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.15rem;border:1px solid transparent;border-radius:var(--pill);font-weight:800;line-height:1.2}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:var(--navy);color:#fff}.btn-light{background:#fff;color:#0F172A}.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}.page-stack{display:grid;gap:1.25rem;padding:1rem 0 4rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.45rem,3vw,2.6rem);box-shadow:var(--shadow)}.hero-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:1.25rem}.hero-copy{display:flex;flex-direction:column;justify-content:center;min-height:550px}.hero-visual{padding:0;overflow:hidden;min-height:550px}.hero-visual img{width:100%;height:100%;object-fit:cover}.bg-cobalt{background:linear-gradient(145deg,#2D46B9,#1D2E87);color:#fff}.bg-sky{background:var(--sky)}.bg-violet{background:var(--violet)}.bg-coral{background:var(--coral)}.bg-lime{background:var(--lime);color:#111827}[data-theme=dark] .bg-lime{color:#F8FAFC}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}.lead{font-size:clamp(1.08rem,1.5vw,1.3rem);max-width:64ch}.hero-copy h1,.page-hero h1{font-size:clamp(2.5rem,5.6vw,5.4rem);line-height:1.02;letter-spacing:-.055em;max-width:14ch;margin:.2rem 0 1.2rem}.page-hero h1{font-size:clamp(2.4rem,5vw,4.7rem);max-width:19ch}.panel h2,.section-heading h2{font-size:clamp(1.9rem,3.4vw,3.3rem);line-height:1.08;letter-spacing:-.04em;margin:.2rem 0 1rem}.panel h3{font-size:1.35rem;line-height:1.25;margin:.4rem 0 .65rem}.panel p:last-child{margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.statement{text-align:center;padding-block:clamp(2.4rem,5vw,5rem)}.statement h2,.statement p{max-width:850px;margin-inline:auto}.pill-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.5rem}.pill-row span{padding:.55rem .85rem;border:1px solid var(--border);background:rgba(255,255,255,.35);border-radius:var(--pill);font-size:.9rem;font-weight:700}.section-heading{padding:2.2rem .25rem .5rem}.section-heading h2{max-width:17ch}.card-grid{display:grid;gap:1.25rem}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.three,.post-grid{grid-template-columns:repeat(3,1fr)}.feature-card{display:block;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);text-decoration:none}.icon-wrap{display:grid;place-items:center;width:50px;height:50px;border-radius:1rem;background:rgba(45,70,185,.1)}.icon-wrap svg{width:25px}.text-link{display:inline-block;margin-top:.6rem;font-weight:800;color:var(--blue)}.bg-cobalt .text-link,.bg-violet .text-link{color:inherit}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.check-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.7rem}.check-list li{position:relative;padding-left:1.65rem}.check-list li:before{content:"✓";position:absolute;left:0;font-weight:900;color:var(--blue)}.bg-cobalt .check-list li:before{color:var(--lime)}.partner-cta,.final-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem}.partner-cta>div,.final-cta>div{max-width:850px}.page-hero{padding-block:clamp(2.5rem,6vw,6rem)}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:1.25rem}.contact-form p{margin:0 0 1rem}.contact-form label{display:block;font-weight:800;margin-bottom:.4rem}.contact-form label span{font-weight:500;color:var(--muted)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.honeypot{position:absolute;left:-9999px}.form-notice{padding:1rem;border-radius:1rem;margin-bottom:1rem}.form-notice.success{background:#DCFCE7;color:#14532D}.form-notice.error{background:#FEE2E2;color:#7F1D1D}.faq-list{display:grid;gap:.8rem}.faq-list details{padding:1.2rem 1.4rem}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{width:21px;flex:0 0 auto}.faq-list details[open] summary svg{transform:rotate(45deg)}.footer-panel{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:2rem;padding:2.5rem;background:var(--navy);color:#fff;border-radius:var(--radius)}.footer-panel>div{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-panel h2{font-size:1rem;margin:0 0 .5rem}.footer-logo{max-width:240px;max-height:70px;object-fit:contain;background:transparent;padding:0;border-radius:0}.copyright{font-size:.85rem;color:var(--muted);padding:1rem 0 2rem}.article-wrap{width:min(calc(100% - 2rem),900px);margin:auto;padding:1rem 0 4rem}.article h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.05}.article img{border-radius:1.5rem}.article-content h2{margin-top:2.3rem}.content-panel{min-height:50vh}.post-grid{display:grid;gap:1.25rem}.post-card h2{font-size:1.55rem}.navigation.pagination{grid-column:1/-1}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1050px){.primary-menu a{padding:.62rem .6rem;font-size:.82rem}.header-cta{display:none}.card-grid.four{grid-template-columns:repeat(2,1fr)}.card-grid.three,.post-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body{font-size:17px}.site-header{padding:.6rem 0}.menu-toggle{display:block}.header-nav{position:fixed;inset:82px 1rem auto;display:none;flex-direction:column;align-items:stretch;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:1.5rem;box-shadow:var(--shadow)}.header-nav.is-open{display:flex}.primary-menu{flex-direction:column;align-items:stretch}.primary-menu a{font-size:1rem;padding:.75rem}.header-cta{display:inline-flex}.theme-toggle{align-self:flex-end}.hero-grid,.split-grid,.contact-layout,.footer-panel{grid-template-columns:1fr}.hero-copy,.hero-visual{min-height:auto}.hero-visual{height:360px}.partner-cta,.final-cta{align-items:flex-start;flex-direction:column}.footer-panel{padding:1.5rem}}
@media(max-width:560px){.container{width:min(calc(100% - 1rem),var(--container))}.panel{border-radius:1.45rem;padding:1.25rem}.card-grid.four,.card-grid.three,.post-grid,.form-grid{grid-template-columns:1fr}.hero-copy h1,.page-hero h1{font-size:2.4rem}.hero-visual{height:280px}.actions .btn{width:100%}}

/* Learning Center */
.resource-category-hero{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center}.resource-category-icon{width:4.5rem;height:4.5rem;border-radius:1.25rem;display:grid;place-items:center;background:rgba(255,255,255,.72)}.resource-category-icon svg{width:2.25rem;height:2.25rem}.post-meta{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.post-card{display:flex;flex-direction:column;align-items:flex-start}.post-card h3,.post-card h2{margin:.35rem 0 .6rem}.post-card .text-link{margin-top:auto}.empty-resource-state{text-align:center;max-width:760px;margin-inline:auto}.empty-resource-state>div:first-child{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:1.2rem;display:grid;place-items:center;background:var(--surface-2)}.article-deck{font-size:1.15rem;max-width:760px;color:var(--text-muted)}.article-content{font-size:1.05rem;line-height:1.8}.article-content h2{margin-top:2.2rem}.article-content ul,.article-content ol{padding-left:1.4rem}.article-content li+li{margin-top:.55rem}.article-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.article-navigation{margin-top:1.25rem}@media(max-width:700px){.resource-category-hero{grid-template-columns:1fr}.article-footer{align-items:flex-start;flex-direction:column}}

.page-image-panel{padding:0;overflow:hidden;min-height:320px}.page-image-panel img{display:block;width:100%;height:clamp(320px,42vw,560px);object-fit:cover}.portrait-image-panel img{object-fit:contain;background:#fff}.page-image-panel+section{margin-top:0}@media(min-width:801px){.page-stack:has(>.page-hero+.page-image-panel){grid-template-columns:1.45fr .75fr;align-items:stretch}.page-stack:has(>.page-hero+.page-image-panel)>.page-hero{grid-column:1;grid-row:1}.page-stack:has(>.page-hero+.page-image-panel)>.page-image-panel{grid-column:2;grid-row:1;min-height:0}.page-stack:has(>.page-hero+.page-image-panel)>.page-image-panel img{height:100%;min-height:100%;max-height:640px}.page-stack:has(>.page-hero+.page-image-panel)>:not(.page-hero):not(.page-image-panel){grid-column:1/-1}}@media(max-width:800px){.page-image-panel img{height:360px}}@media(max-width:560px){.page-image-panel{min-height:220px}.page-image-panel img{height:240px}}
