/*
Theme Name: H3S Academy
Description: Accessible editorial STEM theme with native block content and reusable program layouts.
Version: 1.5.0
Requires at least: 6.6
Requires PHP: 8.0
Author: H3S Academy
License: GPL-2.0-or-later
Text Domain: h3s-academy
*/
:root{--ink:#092333;--teal:#087b83;--aqua:#75cfd4;--blue:#295b9c;--ice:#f1f7f9;--line:#d7e4e9;--muted:#49616d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font:18px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.035em;font-weight:720}h1{font-size:clamp(42px,5.7vw,78px);margin:16px 0 24px}h2{font-size:clamp(30px,3.5vw,48px);margin:12px 0 24px}h3{font-size:25px}p{margin:0 0 22px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.site-header{background:var(--ink);color:white}.header-inner{display:flex;align-items:center;gap:30px;min-height:108px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:white;flex-shrink:0}.brand img{width:94px;height:94px;object-fit:contain}.brand span{font-size:13px;line-height:1.5;max-width:110px}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:23px}.desktop-nav a{color:white;text-decoration:none;font-size:14px;font-weight:600}.desktop-nav .nav-register{background:var(--aqua);color:var(--ink);padding:12px 19px;border-radius:6px}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;padding:12px}.mobile-nav a{display:block;padding:12px;color:white}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:750;color:var(--teal);margin:0 0 12px}.hero{padding:54px 0 40px;background:linear-gradient(120deg,#fff 30%,#edf7f9)}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.hero h1{max-width:590px}.hero h1 em{font-style:normal;color:var(--teal)}.hero p{font-size:19px;max-width:510px}.hero figure{margin:0;position:relative}.hero img{width:100%;aspect-ratio:1.17;object-fit:cover;object-position:72% center;border-radius:8px 80px 8px 8px}.image-caption{font-size:12px;color:var(--muted);margin-top:8px}.buttons{display:flex;gap:12px;flex-wrap:wrap}.button,.wp-element-button,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:white;padding:14px 23px;border:1px solid var(--teal);border-radius:6px;text-decoration:none;font:650 15px/1.5 system-ui;cursor:pointer;min-height:48px}.button:hover,button[type=submit]:hover{background:#065d63;color:white}.button.secondary{background:white;color:var(--ink);border-color:#9cb4bf}.ribbon{display:flex;gap:35px;flex-wrap:wrap;padding:24px 0;font-size:14px;font-weight:650}.ribbon span{border-left:3px solid var(--aqua);padding-left:15px}.section{padding:80px 0}.section.ice{background:var(--ice)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:370px;font-size:16px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{padding:29px;border:1px solid var(--line);border-radius:10px;background:white;display:flex;flex-direction:column;align-items:start}.card .number{font-size:13px;color:var(--teal);font-weight:700;margin-bottom:28px}.card h3{margin:0 0 18px}.card p{font-size:16px;color:var(--muted)}.card a{margin-top:auto;font-size:15px;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split figure{margin:0}.split img{border-radius:10px}.feature{border-top:1px solid var(--line);padding:19px 0}.feature h3{font-size:20px;margin:0 0 8px}.feature p{font-size:16px;color:var(--muted);margin:0}.empty{padding:35px;background:white;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;gap:28px;align-items:center}.empty h3{margin:0 0 10px}.empty p{margin:0;font-size:16px;color:var(--muted)}.empty .button{flex-shrink:0}.callout{background:var(--ink);color:white;border-radius:12px;padding:45px;display:flex;gap:30px;justify-content:space-between;align-items:center}.callout h2{margin:0 0 12px}.callout p{margin:0;color:#dcebef}.callout .button{background:var(--aqua);color:var(--ink);border-color:var(--aqua);flex-shrink:0}.site-footer{background:var(--ink);color:#d9e7eb;padding:48px 0 24px;font-size:14px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.site-footer h3{color:white;font-size:20px}.site-footer a{color:#d9e7eb}.site-footer ul{padding:0;list-style:none}.site-footer li{margin:9px 0}.footer-bottom{border-top:1px solid #3c515e;margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:20px}.page-head{padding:60px 0;background:var(--ice)}.page-head h1{font-size:clamp(38px,5vw,60px);max-width:850px}.content{padding:55px 0 80px}.content>.entry{max-width:820px}.entry h2{font-size:34px}.entry h3{font-size:24px}.entry>p,.entry>ul{max-width:75ch}.entry ul{padding-left:24px}.content .wide{max-width:none}.form-box{max-width:680px;padding:30px;border:1px solid var(--line);border-radius:10px;background:white}.form-box label{display:block;font-size:15px;font-weight:650;margin:20px 0 6px}input,select,textarea{font:inherit;max-width:100%;border:1px solid #8aa5b2;border-radius:5px;padding:12px;width:100%;background:white;color:var(--ink)}input[type=checkbox]{width:auto;margin-right:10px}.form-box button{margin-top:22px}.form-box .check{font-weight:400;display:flex;align-items:start;gap:5px}.form-box .check input{margin-top:6px}.honeypot{position:absolute;left:-10000px}.notice{padding:18px;border-left:4px solid var(--teal);background:var(--ice);margin:20px 0}.error{border-color:#ac2532;background:#fff3f4}.meta-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:25px;background:var(--ice);border-radius:8px;margin-bottom:30px}.meta-list dt{font-size:13px;color:var(--muted)}.meta-list dd{margin:0;font-weight:600}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:650}.faq details p{margin:14px 0 0}.badge{display:inline-block;background:#d9f0ed;color:#075e62;font-size:12px;padding:4px 10px;border-radius:5px;font-weight:650}.wp-block-image figcaption{font-size:13px}.wp-block-group{margin-bottom:24px}@media(max-width:1000px){.desktop-nav{gap:13px}.brand span{display:none}.hero-grid{gap:28px}.split{gap:35px}}@media(max-width:780px){.wrap{width:calc(100% - 36px)}.desktop-nav{display:none}.mobile-nav{display:block;margin-left:auto}.mobile-nav[open]{width:65%}.header-inner{align-items:flex-start;gap:10px}.brand img{width:84px;height:84px}.mobile-nav summary{margin-top:16px}.hero{padding-top:35px}.hero-grid,.split{grid-template-columns:1fr}.hero h1{font-size:47px}.hero img{aspect-ratio:1.5;border-top-right-radius:45px}.ribbon{gap:15px;font-size:12px}.cards{grid-template-columns:1fr}.section{padding:48px 0}.section-heading,.empty,.callout{flex-direction:column;align-items:start}.section-heading>p{max-width:none}.callout{padding:28px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.meta-list{grid-template-columns:1fr}.form-box{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Native editor group and image blocks retain the same layout. */
.hero .wp-block-group,.section .wp-block-group{margin-bottom:0}.hero figure,.split figure{margin:0}.hero figcaption,.split figcaption{font-size:12px;color:var(--muted)}.ribbon p{margin:0;border-left:3px solid var(--aqua);padding-left:15px;font-size:14px}.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.wp-block-button{margin:0}.card p:last-child{margin-top:auto;margin-bottom:0}.callout .wp-element-button{background:var(--aqua);color:var(--ink)}

.hero-grid>*{margin-block:0!important}.cards>.wp-block-group{margin-top:0!important}.ribbon>p{margin-block:0!important}
.hero-grid>*{margin-block:0!important}.cards>.wp-block-group{margin-top:0!important}.ribbon>p{margin-block:0!important}
/* Prompt 2: genuine workshop photos remain uncropped, including on mobile. */
.hero img{aspect-ratio:auto;object-fit:contain;border-radius:10px 40px 10px 10px;height:auto}.hero-grid{grid-template-columns:1fr 1.05fr}.hero .service-note{font-size:14px;color:var(--muted);margin-top:20px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;height:auto;border-radius:9px}.photo-gallery figcaption{font-size:14px;color:var(--muted);margin-top:12px}.desktop-nav{gap:16px}.desktop-nav a{font-size:13px}.nav-about{position:relative}.about-submenu{display:none;position:absolute;z-index:20;top:100%;left:0;min-width:160px;background:var(--ink);padding:15px;border:1px solid #49616d;border-radius:6px}.about-submenu a{display:block;padding:8px}.nav-about:hover .about-submenu,.nav-about:focus-within .about-submenu{display:block}.mobile-nav .about-submenu{position:static;display:block;border:0;padding:0 0 0 15px}.program-audience{font-size:13px!important}.faq{max-width:840px}.callout .wp-block-buttons{flex-shrink:0;max-width:290px}.site-header .brand span{display:none}@media(max-width:1000px){.desktop-nav{gap:11px}.desktop-nav a{font-size:12px}}@media(max-width:780px){.hero-grid,.photo-gallery{grid-template-columns:1fr}.hero img{aspect-ratio:auto}.photo-gallery figure{max-width:100%}.hero h1{font-size:43px}}

/* One accessible navigation tree on every screen size. */
.h3s-main-nav{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:14px;font-weight:650}.h3s-main-nav a{text-decoration:none}.h3s-main-nav .nav-register{background:var(--navy,#102c46);color:#fff;padding:11px 18px;border-radius:8px}@media(max-width:1000px){.header-inner{flex-wrap:wrap;gap:14px}.h3s-main-nav{width:100%;gap:10px 16px;padding-bottom:10px}}

/* Launch audit: readable header links and focus on dark backgrounds. */
.site-header .h3s-main-nav a{color:#fff}.site-header .h3s-main-nav .nav-register{background:#75cfd4;color:#092333}.site-header a:focus-visible,.site-footer a:focus-visible,.callout a:focus-visible{outline-color:#75cfd4}.h3s-main-nav a{min-height:44px;display:inline-flex;align-items:center;padding:8px 2px}.h3s-main-nav .nav-register{padding:11px 18px}.content,.card,.meta-list dd{overflow-wrap:anywhere}

.site-header .brand span{display:block;font-size:13px;max-width:110px;color:#fff}
