/*
Theme Name: Carrie4Lincoln
Theme URI: https://carrie4lincoln.com/
Author: Carrie Leyh Campaign
Description: A clean, responsive campaign theme for Carrie Leyh for Lincoln Town Council.
Version: 1.0.10
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: carrie4lincoln
*/

:root{--navy:#082861;--navy2:#041c49;--red:#d90018;--cream:#f6f3ed;--ink:#172033;--muted:#596273;--white:#fff;--line:#d9dee8;--shadow:0 18px 48px rgba(4,28,73,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit}.wrap{width:min(1120px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-weight:950;letter-spacing:-.04em;color:var(--navy);font-size:1.45rem}.brand span{color:var(--red)}.menu{display:flex;align-items:center;gap:24px}.menu a{text-decoration:none;font-weight:750;font-size:.94rem}.menu .button{color:#fff}.button{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font-weight:900;padding:12px 19px;border-radius:5px;border:0;cursor:pointer}.button:hover{background:#b90015}.hero{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;padding:72px 0 64px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;inset:auto -10% -145px 30%;height:250px;background:var(--red);transform:rotate(-5deg);opacity:.95}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.eyebrow{color:#ffd5da;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.78rem}.hero h1{font-size:clamp(2.8rem,6vw,5.5rem);line-height:.92;letter-spacing:-.06em;margin:14px 0 22px}.hero h1 span{display:block;color:#fff}.hero p{font-size:1.16rem;max-width:650px;color:#e5ebf6}.hero-art{background:#fff;padding:12px;border-radius:8px;box-shadow:0 28px 70px rgba(0,0,0,.28);transform:rotate(1.5deg)}.hero-art img{display:block;width:100%;border-radius:3px}.section{padding:82px 0}.section.alt{background:var(--cream)}.section.navy{background:var(--navy2);color:#fff}.section-head{max-width:790px;margin:0 auto 42px;text-align:center}.section-head.left{margin-left:0;text-align:left}.kicker{color:var(--red);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.16em}.section h2{color:var(--navy);font-size:clamp(2rem,4vw,3.35rem);line-height:1.05;letter-spacing:-.045em;margin:10px 0 16px}.navy h2{color:#fff}.lead{font-size:1.13rem;color:var(--muted)}.navy .lead{color:#dbe4f4}.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.portrait{background:linear-gradient(160deg,#e7ecf5,#fff);border:1px solid var(--line);border-radius:9px;min-height:410px;display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow);align-self:center}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{text-align:center;color:var(--navy);padding:35px;font-weight:850}.portrait-placeholder small{display:block;color:var(--muted);margin-top:9px;font-weight:600}.why-copy p{font-size:1.08rem}.why-section{width:min(1120px,calc(100% - 36px));margin:auto}.why-full{margin-top:28px}.why-full p{font-size:1.08rem;margin:0 0 1.15em}.why-full p:last-of-type{margin-bottom:0}.candidate-signature{display:flex;justify-content:center;align-items:center;margin:34px auto 14px;padding:14px 0 8px;min-height:165px}.candidate-signature img{display:block;width:min(500px,76vw);height:auto;max-height:none;object-fit:contain}/* Priorities: full-width campaign feature section */
#priorities{position:relative;overflow:hidden;background:#f7f3eb;padding:76px 0 84px}
#priorities:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.72;background:
linear-gradient(to bottom,rgba(247,243,235,.2) 0%,rgba(247,243,235,.68) 35%,rgba(247,243,235,.9) 100%),
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 720' preserveAspectRatio='none'%3E%3Cg fill='none'%3E%3Cpath d='M0 180L140 115l125 54 155-95 135 104 160-63 142 76 164-112 133 90 176-56 240 104v503H0z' fill='%23d9e1e8' opacity='.62'/%3E%3Cpath d='M0 250c150-18 250-48 390-20s200 0 330-14 180 28 330 16 260-40 550-8v496H0z' fill='%23e8ecee' opacity='.9'/%3E%3Cg fill='%23cbd5dc' opacity='.55'%3E%3Cpath d='M80 170l18 48H62zM102 205l25 68H77zM126 248l34 91H92z'/%3E%3Cpath d='M1490 165l18 48h-36zM1512 202l25 68h-50zM1538 246l34 92h-68z'/%3E%3Cpath d='M1385 270l15 42h-30zM1405 302l22 60h-44z'/%3E%3Cpath d='M220 350l14 40h-28zM238 380l21 57h-42z'/%3E%3C/g%3E%3Cpath d='M0 535c180-35 340 12 535-4s300-64 490-26 345 18 575-6v221H0z' fill='%23eef1ef' opacity='.88'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat}
#priorities .priority-wrap{position:relative;z-index:1;width:min(1400px,calc(100% - 44px));margin:auto}
#priorities .section-head{max-width:980px;margin:0 auto 34px;text-align:center}
#priorities .section-head .kicker{font-size:.88rem;letter-spacing:.2em}
#priorities .section-head h2{font-size:clamp(2.35rem,4.5vw,4.05rem);margin:8px 0 8px}
#priorities .section-head .lead{font-size:1.14rem;margin:0;color:#536073}
.priority-grid{display:flex;flex-direction:column;gap:14px}
.priority-card{position:relative;background:rgba(255,255,255,.97);border:1px solid rgba(12,42,95,.11);border-radius:13px;box-shadow:0 12px 24px rgba(4,28,73,.12);display:grid;grid-template-columns:205px minmax(0,1fr);overflow:hidden;min-height:178px}
.priority-card:after{content:"";position:absolute;left:197px;top:0;bottom:0;width:8px;background:var(--red)}
.priority-meta{padding:22px 22px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:linear-gradient(145deg,#0a326f,#062455)}
.priority-card:nth-child(2) .priority-meta{background:linear-gradient(145deg,#f00b27,#c90018)}
.card-number{color:#fff;font-weight:950;font-size:.78rem;letter-spacing:.16em;line-height:1.1}
.priority-num{display:block;color:#fff;font-weight:950;font-size:3.55rem;letter-spacing:-.05em;line-height:.98;margin-top:5px}
.priority-icon{width:54px;height:54px;margin-top:13px;color:#fff}
.priority-icon svg{display:block;width:100%;height:100%;stroke:currentColor}
.priority-content{padding:24px 42px 24px 46px;align-self:center}
.priority-card h3{color:var(--navy);font-size:1.7rem;line-height:1.14;margin:0 0 7px;letter-spacing:-.02em}
.priority-card p{margin:0;font-size:1.03rem;line-height:1.54;color:#26354a}
.election{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#fff;color:var(--ink);padding:38px;border-radius:8px}.election h2{margin:0;color:var(--navy)}.site-footer{background:#020f28;color:#cfd8e8;padding:30px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-grid p{margin:0;font-size:.88rem}.mobile-toggle{display:none}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:99}
@media(max-width:820px){.portrait{align-self:start}.candidate-signature{margin-top:30px;min-height:120px}.candidate-signature img{width:min(360px,82vw);max-height:125px}.mobile-toggle{display:block;background:none;border:0;color:var(--navy);font-weight:900}.menu{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:24px 18px;flex-direction:column;border-bottom:1px solid var(--line)}.menu.open{display:flex}.hero-grid,.why-grid{grid-template-columns:1fr}.hero-art{max-width:560px}.priority-card{grid-template-columns:1fr;min-height:0}.priority-card:after{left:0;right:0;top:190px;bottom:auto;width:auto;height:6px}.priority-meta{padding:22px}.priority-content{padding:30px 24px 26px}.priority-icon{margin-top:12px}#priorities .priority-wrap{width:min(100% - 24px,1400px)}#priorities{padding:58px 0 64px}#priorities .section-head{margin-bottom:28px}#priorities .section-head .lead{font-size:1rem}.election,.footer-grid{align-items:flex-start;flex-direction:column}.section{padding:62px 0}}


/* Performance refinements */
@supports (content-visibility:auto){#priorities,#endorsements,#message-carrie,#election{content-visibility:auto;contain-intrinsic-size:900px}}
