/*
Theme Name: Marcus School v3.2 Public Fix
Theme URI: https://marcus.school
Author: Marcus School
Description: Custom Marcus School WordPress theme with public education/service pages and a private student/client project portal.
Version: 3.2.0
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: marcus-school
*/
:root{--navy:#071f3d;--navy2:#0e3b68;--blue:#56aee7;--red:#c62e3b;--ink:#17243a;--muted:#617086;--line:#dbe3eb;--soft:#f4f7fa;--white:#fff;--gold:#c59a3d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.62}body.menu-open{overflow:hidden}a{color:var(--navy2);text-decoration:none}a:hover{text-decoration:none}img{max-width:100%}.wrap{max-width:1500px;margin:auto;padding-left:48px;padding-right:48px}.site-header{background:#fff;border-bottom:1px solid #edf1f5;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(6,29,58,.03)}.header-inner{max-width:1500px;height:104px;margin:auto;padding:0 42px;display:grid;grid-template-columns:minmax(315px,390px) 1fr auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;min-width:0}.brand img{height:82px;width:auto;max-width:360px;object-fit:contain;display:block}.desktop-nav{justify-self:center}.menu{list-style:none;margin:0;padding:0}.desktop-menu{display:flex;align-items:center;gap:31px}.desktop-menu a{font-size:.93rem;font-weight:700;color:var(--navy);white-space:nowrap;padding:37px 0 34px;border-bottom:3px solid transparent}.desktop-menu a:hover{border-bottom-color:var(--red)}.menu-toggle{justify-self:end;border:0;background:var(--navy);color:#fff;height:64px;min-width:112px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:13px;font:800 .88rem/1 inherit;letter-spacing:.04em;cursor:pointer;border-radius:0}.hamburger{width:29px;display:grid;gap:6px}.hamburger i{display:block;height:3px;background:#fff}.mobile-nav{position:absolute;left:0;right:0;top:104px;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(7,31,61,.15);max-height:0;overflow:hidden;opacity:0;transition:.22s ease}.mobile-nav.open{max-height:calc(100vh - 104px);opacity:1;overflow:auto}.mobile-menu{padding:28px 42px 34px;max-width:1500px;margin:auto;text-align:left}.mobile-menu li{border-bottom:1px solid #edf1f5}.mobile-menu a{display:block;padding:16px 8px;font-size:1.25rem;font-weight:750;color:#34445a;text-align:left}.mobile-menu li:first-child a{background:#eef3f7;color:var(--navy);padding-left:20px}.mobile-menu .menu-portal a{background:var(--navy2);color:#fff;margin-top:12px;padding-left:20px}.home-hero{position:relative;min-height:610px;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:stretch}.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,36,.94) 0%,rgba(4,18,36,.84) 27%,rgba(4,18,36,.30) 58%,rgba(4,18,36,.03) 100%)}.home-hero-content{position:relative;width:100%;display:flex;align-items:center;padding-top:64px;padding-bottom:64px}.hero-copy{max-width:650px;color:#fff}.hero-kicker{font-size:.86rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:18px}.hero-kicker b{padding:0 7px}.hero-copy h1{font-size:clamp(3.2rem,5.1vw,5.75rem);line-height:.98;letter-spacing:-.045em;color:#fff;margin:0 0 23px}.hero-copy h1 span{color:#61b8ec}.hero-copy>p{font-size:1.14rem;line-height:1.5;max-width:610px;margin:0;color:#fff}.hero-subhead{color:#fff;font-size:1.4rem;margin:0 0 12px}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:0 26px;background:var(--navy2);border:2px solid var(--navy2);color:#fff;font-weight:850;letter-spacing:.02em;border-radius:0;text-transform:uppercase}.btn:hover{background:#164f83;border-color:#164f83;color:#fff}.btn.ghost{background:rgba(0,0,0,.18);border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--navy)}.btn.red{background:var(--red);border-color:var(--red);color:#fff}.btn.red:hover{background:#a92230;border-color:#a92230;color:#fff}.btn.ghost-dark{background:transparent;color:var(--navy);border-color:var(--navy)}.hero-values{margin-top:23px;font-size:.74rem;letter-spacing:.21em}.hero-values i{display:inline-block;height:16px;border-left:1px solid rgba(255,255,255,.55);margin:0 16px -4px}.service-strip{background:#fff;border-bottom:1px solid var(--line);padding:26px 34px 21px}.service-strip-inner{max-width:1540px;margin:auto;display:grid;grid-template-columns:repeat(9,1fr)}.service-mini{min-width:0;text-align:center;color:var(--navy);padding:4px 10px 8px;border-right:1px solid #dce4ec;display:flex;flex-direction:column;align-items:center}.service-mini:last-child{border-right:0}.service-icon{height:38px;display:flex;align-items:center;font-weight:900;font-size:1.65rem}.service-mini strong{font-size:.9rem;line-height:1.2;margin-top:3px}.service-mini small{font-size:.84rem;line-height:1.2}.service-tagline{text-align:center;color:var(--navy);font-size:.72rem;letter-spacing:.3em;font-weight:700;margin:23px 0 0}.section{padding:76px 0}.section.alt,.dashboard{background:var(--soft)}.eyebrow{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:850;color:var(--navy2)}h1,h2,h3{color:var(--navy);line-height:1.12}h2{font-size:clamp(2rem,3.4vw,3.55rem);letter-spacing:-.035em;margin:.28em 0 .45em}h3{font-size:1.25rem;margin:.1em 0 .5em}.lede{font-size:1.18rem;color:#425269;max-width:820px}.grid{display:grid;gap:22px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:start}.card{border:1px solid var(--line);background:#fff;padding:30px;border-radius:0}.card p:last-child{margin-bottom:0}.accent-card{background:#f8fbfe;border-top:4px solid var(--navy2)}.notice{border-left:5px solid var(--gold);background:#fffaf0;padding:24px 28px}.notice strong{font-size:1.08rem;color:var(--navy)}.cert-note{margin-top:28px}.checklist{padding-left:1.2em}.checklist li{margin:.55em 0}.page-hero{position:relative;min-height:390px;background-image:var(--hero);background-size:cover;background-position:center;display:flex;align-items:end}.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,36,.91),rgba(4,18,36,.53) 52%,rgba(4,18,36,.08))}.page-hero-copy{position:relative;color:#fff;padding-top:92px;padding-bottom:58px;width:100%}.page-hero-copy h1{font-size:clamp(2.8rem,5vw,5.6rem);letter-spacing:-.045em;color:#fff;max-width:930px;margin:.12em 0}.page-hero-copy p{font-size:1.16rem;line-height:1.5;max-width:780px;margin:10px 0 0}.services-grid .card{min-height:210px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.modern-form{max-width:760px}.form-field{margin-bottom:26px}.form-field label{display:block;font-weight:750;color:var(--navy);margin-bottom:3px}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid #aebbc9;border-radius:0;padding:13px 2px;outline:0}input:focus,select:focus,textarea:focus{border-bottom:2px solid var(--navy2)}textarea{min-height:150px;resize:vertical}.form-actions{margin-top:28px}.dashboard-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.portal-stats{margin:28px 0}.stat{border-left:4px solid var(--navy2);background:#fff;padding:18px 20px}.portal-blocks,.portal-workspace{margin-top:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}th{color:var(--navy)}.pill{display:inline-block;border:1px solid var(--line);padding:3px 9px;font-size:.82rem}.private-note{color:var(--muted)}.site-footer{background:var(--navy);color:#dce6f0;padding:48px 0}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-grid h3{color:#fff}.site-footer .wrap{padding-left:48px;padding-right:48px}
@media(max-width:1240px){.desktop-menu{gap:18px}.desktop-menu a{font-size:.85rem}.header-inner{grid-template-columns:minmax(270px,330px) 1fr auto}.brand img{height:72px;max-width:320px}.menu-word{display:none}.menu-toggle{min-width:66px}.wrap{padding-left:34px;padding-right:34px}}
@media(max-width:980px){.header-inner{height:96px;display:flex;padding:0 28px}.brand{margin-right:auto}.brand img{height:70px;max-width:300px}.desktop-nav{display:none}.menu-toggle{margin-left:auto;min-width:74px;height:66px}.menu-word{display:none}.mobile-nav{top:96px}.mobile-menu{padding:26px 28px}.home-hero{min-height:650px}.home-hero-overlay{background:linear-gradient(90deg,rgba(4,18,36,.94),rgba(4,18,36,.72) 70%,rgba(4,18,36,.45))}.service-strip-inner{grid-template-columns:repeat(3,1fr);gap:0}.service-mini{border-bottom:1px solid var(--line);padding:16px 8px}.service-mini:nth-child(3n){border-right:0}.intro-grid,.contact-grid,.grid.cols-3,.grid.cols-2,.footer-grid{grid-template-columns:1fr}.page-hero{min-height:360px}.page-hero-copy{padding-top:80px}.section{padding:62px 0}}
@media(max-width:620px){.wrap,.site-footer .wrap{padding-left:24px;padding-right:24px}.header-inner{height:88px;padding:0 20px}.brand img{height:61px;max-width:240px}.menu-toggle{height:58px;min-width:62px;padding:0 14px}.mobile-nav{top:88px}.mobile-menu{padding:22px 20px 30px}.mobile-menu a{font-size:1.12rem;padding:15px 10px}.home-hero{min-height:650px;background-position:60% center}.home-hero-content{padding-top:55px;padding-bottom:55px}.hero-copy h1{font-size:3.25rem}.hero-copy>p{font-size:1rem}.btn-row{display:grid}.btn{width:100%}.hero-values{font-size:.62rem;line-height:2}.hero-values i{margin:0 8px -4px}.service-strip{padding:18px 12px}.service-strip-inner{grid-template-columns:repeat(3,1fr)}.service-mini strong,.service-mini small{font-size:.74rem}.service-tagline{font-size:.62rem;letter-spacing:.16em;padding:0 12px}.page-hero{min-height:330px;background-position:58% center}.page-hero-copy h1{font-size:2.8rem}.page-hero-copy p{font-size:1rem}.section{padding:52px 0}.card{padding:24px}.dashboard-head{display:block}.dashboard-head .btn{margin-top:12px;width:auto}}

/* Version 3 enrollment, course and project refinements */
.home-audiences{padding-top:34px;padding-bottom:46px;background:#fff}.audience-card{min-height:190px}.audience-card h3{font-size:1.4rem}.text-link{display:inline-flex;margin-top:10px;font-weight:850;color:#075cc9;letter-spacing:.01em}.course-card{display:block;color:var(--ink);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.course-card:hover{transform:translateY(-2px);border-color:#aebfd0;box-shadow:0 10px 24px rgba(7,31,61,.08)}.course-label{display:block;font-size:.7rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--navy2);margin-bottom:10px}.form-success{border-left:4px solid #2a8a57;background:#f0fbf5;padding:14px 18px;margin-bottom:24px;color:#205f40;font-weight:700}.modern-form .form-field{position:relative}.modern-form input,.modern-form select,.modern-form textarea{font-size:1.03rem;padding:15px 2px 13px}.modern-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#51657b 50%),linear-gradient(135deg,#51657b 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.range-field{padding-top:4px}.range-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.range-head label{margin-bottom:0}.range-head output{font-weight:850;color:var(--navy2)}input[type=range].donation-range{appearance:none;-webkit-appearance:none;border:0;padding:10px 0;background:transparent}input[type=range].donation-range:focus{border:0}input[type=range].donation-range::-webkit-slider-runnable-track{height:5px;background:#cbd7e2}input[type=range].donation-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#176bd1;margin-top:-7.5px;border:0}input[type=range].donation-range::-moz-range-track{height:5px;background:#cbd7e2;border:0}input[type=range].donation-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#176bd1;border:0}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;margin-top:-1px}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:22px;align-items:center;color:#dce6f0}.footer-bottom strong{color:#fff}.site-footer .footer-grid{max-width:1500px;margin:auto}.site-footer{padding-bottom:30px}
@media(max-width:980px){.footer-bottom{display:block}.footer-bottom strong{display:block;margin-top:8px}}
