/* Theme Name: Stephanie LeMay for Mayor
 * Text Domain: stephanie-lemay-mayor
 * Version: 1.1.0
 */
:root{--campaign-navy:#032B5F;--campaign-blue:#156AB0;--campaign-sky:#93C3E9;--campaign-light:#E5EEF4;--campaign-red:#D7193F;--campaign-white:#FFFFFF;--text-primary:#032B5F;--text-dark:#111A1F;--text-on-dark:#FFFFFF;--muted:#526579;--line:#c7d7e5;--focus:#ffbf47;--max:72rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text-dark);background:var(--campaign-white);font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--campaign-navy);text-decoration-thickness:.08em;text-underline-offset:.15em}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--campaign-white);padding:.5rem}.site-header{border-bottom:4px solid var(--campaign-sky);background:var(--campaign-white)}.bar{max-width:var(--max);margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:Georgia,"Times New Roman",serif;font-weight:700;color:var(--campaign-navy);text-decoration:none;font-size:1.25rem;line-height:1.1}.brand span{display:block;font-family:inherit;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--campaign-blue);margin-top:.2rem}.nav-toggle{border:2px solid var(--campaign-navy);color:var(--campaign-navy);background:var(--campaign-white);padding:.55rem .8rem;font:inherit;font-weight:700}.menu{display:none;list-style:none;margin:0;padding:0}.menu.open{display:grid;gap:.25rem;padding:0 1.25rem 1rem}.menu a{text-decoration:none;padding:.45rem;display:block;font-weight:700;color:var(--campaign-navy)}.menu-item.slm-menu-hidden{display:none!important}.language-switcher{font-size:.9rem}.hero,.section{padding:4rem 1.25rem}.hero{position:relative;overflow:hidden;background:var(--campaign-navy);color:var(--text-on-dark);border-bottom:8px solid var(--campaign-blue)}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-2.5rem;height:5rem;background:var(--campaign-white);border-radius:50% 50% 0 0/100% 100% 0 0}.inner{max-width:var(--max);margin:auto;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800;color:var(--campaign-sky)}.hero .eyebrow{color:var(--campaign-sky)}h1,h2,h3{line-height:1.1;color:var(--campaign-navy)}.hero h1{color:var(--campaign-white);font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,8vw,5.5rem);margin:.35rem 0}.hero h2,.hero h3{color:var(--campaign-white)}h2{font-size:clamp(1.8rem,4vw,3rem)}.lead{font-size:1.18rem;max-width:38rem;color:var(--campaign-white)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.button{display:inline-block;background:var(--campaign-red);color:var(--campaign-white);padding:.75rem 1rem;text-decoration:none;font-weight:800;border:2px solid var(--campaign-red);border-radius:.2rem}.button.secondary{background:transparent;border-color:var(--campaign-sky);color:var(--campaign-white)}.grid{display:grid;gap:1rem}.card{border:1px solid var(--line);border-top:5px solid var(--campaign-blue);padding:1.4rem;background:var(--campaign-white);box-shadow:0 4px 14px rgba(3,43,95,.08)}.card h3{color:var(--campaign-navy)}.muted{background:var(--campaign-light)}.placeholder{min-height:16rem;display:grid;place-items:center;background:var(--campaign-light);color:var(--muted);text-align:center;padding:2rem}.hero .placeholder{background:rgba(147,195,233,.2);color:var(--campaign-white);border:1px solid var(--campaign-sky)}.entry{max-width:48rem;margin:auto;padding:3rem 1.25rem}.entry img{max-width:100%;height:auto}.video{aspect-ratio:16/9;background:var(--text-dark);overflow:hidden}.video iframe{width:100%;height:100%;border:0}.site-footer{background:var(--campaign-navy);color:var(--campaign-white);padding:2rem 1.25rem;border-top:8px solid var(--campaign-blue)}.site-footer a{color:var(--campaign-white)}.wp-block-image img{height:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}@media(min-width:760px){.nav-toggle{display:none}.menu{display:flex;align-items:center;gap:.25rem}.menu a{padding:.5rem}.grid{grid-template-columns:repeat(3,1fr)}.hero{padding:7rem 1.25rem}.site-header .bar{padding-block:1.2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
