/* ===== base styles ===== */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Rye&family=Shrikhand&family=Work+Sans:wght@400;600;700;800;900&display=swap');

:root{
  --cream:#f4e5c4;
  --paper:#ead3a2;
  --orange:#c95b2e;
  --rust:#8f2f25;
  --brown:#3d2921;
  --olive:#596044;
  --gold:#d99b3d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--brown);
  font-family:"Work Sans",Arial,sans-serif;
  background-image:
    radial-gradient(rgba(61,41,33,.12) .7px,transparent .7px);
  background-size:5px 5px;
}
nav{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 5vw;background:var(--brown);color:var(--cream);
  border-bottom:4px solid var(--orange);
}
.logo{font-family:Rye,serif;font-size:1.25rem;letter-spacing:.04em}
nav a{color:var(--cream);text-decoration:none;margin-left:24px;font-weight:800;font-size:.85rem;text-transform:uppercase}
.hero{
  min-height:88vh;display:grid;place-items:center;padding:70px 7vw;
  background:
    linear-gradient(rgba(201,91,46,.9),rgba(201,91,46,.9)),
    repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.04) 5px 6px);
  position:relative;overflow:hidden;
}
.hero:before,.hero:after{
  content:"";position:absolute;border:3px solid var(--cream);border-radius:50%;
  width:420px;height:420px;opacity:.16;
}
.hero:before{left:-190px;top:-130px}.hero:after{right:-190px;bottom:-190px}
.hero-inner{
  max-width:1180px;width:100%;display:grid;grid-template-columns:1.1fr .75fr;
  gap:55px;align-items:center;position:relative;z-index:1;text-align:left;
}
.hero-copy{max-width:760px}
.hero-photo{
  position:relative;justify-self:end;width:min(390px,34vw);
  border:7px solid var(--brown);background:var(--cream);
  padding:10px;box-shadow:15px 15px 0 var(--rust);transform:rotate(2deg);
}
.hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.hero-photo:after{
  content:"LAYDEN DUNCAN • 2027";position:absolute;left:18px;bottom:18px;
  background:var(--gold);color:var(--brown);padding:7px 10px;
  font-family:"DM Mono",monospace;font-size:.68rem;font-weight:700;
  letter-spacing:.04em;border:2px solid var(--brown);
}
.kicker{font-family:"DM Mono",monospace;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--cream)}
h1{
  font-family:Rye,serif;font-weight:400;font-size:clamp(4rem,12vw,9.5rem);
  line-height:.85;margin:18px 0;color:var(--cream);
  text-shadow:3px 3px 0 var(--rust);
}
.hero p{font-size:clamp(1.1rem,2vw,1.45rem);font-weight:700;max-width:720px;margin:30px 0;color:var(--cream)}
.btn{
  display:inline-block;padding:15px 25px;margin:7px;background:var(--cream);color:var(--brown);
  text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.05em;
  border:3px solid var(--brown);box-shadow:5px 5px 0 var(--brown);
  transition:.15s;
}
.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--brown)}
.btn.dark{background:var(--brown);color:var(--cream);border-color:var(--cream);box-shadow:5px 5px 0 var(--rust)}
.ticker{background:var(--olive);color:var(--cream);padding:13px;overflow:hidden;font-family:"DM Mono",monospace;font-size:.8rem;white-space:nowrap}
.ticker-track{display:inline-flex;width:max-content;animation:scrollTicker 12s linear infinite!important;will-change:transform}
.ticker span{display:inline-block;margin-right:55px}
@keyframes scrollTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
section{padding:90px 7vw;max-width:1200px;margin:auto}
.section-label{font-family:"DM Mono",monospace;color:var(--rust);text-transform:uppercase;letter-spacing:.12em;font-weight:700}
h2{font-family:Rye,serif;font-weight:400;font-size:clamp(2.5rem,6vw,5rem);line-height:.95;margin:10px 0 35px;color:var(--rust)}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:55px;align-items:center}
.poster{
  min-height:430px;background:var(--olive);border:7px solid var(--brown);box-shadow:14px 14px 0 var(--orange);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:35px;color:var(--cream);
  transform:rotate(-1.5deg);overflow:hidden;position:relative;
}
.poster-photo{width:100%;height:100%;min-height:410px;object-fit:cover;filter:saturate(.85)}
.poster-caption{
  position:absolute;left:20px;bottom:20px;background:var(--cream);color:var(--brown);
  padding:9px 12px;border:3px solid var(--brown);font-family:Rye,serif;font-size:1.2rem;
  box-shadow:6px 6px 0 var(--rust);
}
.poster strong{font-family:Rye,serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.9}
.poster strong{font-family:Rye,serif;font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.9}
.about p{font-family:"Shrikhand",serif;font-size:1.05rem;line-height:1.8;letter-spacing:.01em}
.issues{background:var(--brown);max-width:none;padding-left:7vw;padding-right:7vw;color:var(--cream)}
.issue-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.issue{
  border:2px solid var(--gold);padding:28px;background:rgba(255,255,255,.025);
}
.campaign-photos{
  max-width:1200px;margin:0 auto;padding-top:0;display:grid;
  grid-template-columns:1fr 1fr;gap:24px;
}
.campaign-photo{
  border:6px solid var(--brown);background:var(--paper);padding:8px;
  box-shadow:10px 10px 0 var(--orange);
}
.campaign-photo img{width:100%;height:430px;object-fit:cover;display:block}
.campaign-photo:nth-child(2){transform:rotate(1.2deg)}
.campaign-photo:nth-child(3){transform:rotate(-1.2deg)}
.issue h3{font-family:Rye,serif;font-weight:400;color:var(--gold);font-size:2rem;margin:0 0 10px}
.issue p{line-height:1.65}
.number{font-family:"DM Mono",monospace;color:var(--orange);font-weight:700}
.cta{text-align:center;background:var(--gold);max-width:none}
.cta h2{color:var(--brown)}
footer{background:var(--brown);color:var(--cream);text-align:center;padding:35px 20px;font-family:"DM Mono",monospace;font-size:.75rem}
@media(max-width:750px){
 nav a{display:none}
 .about{grid-template-columns:1fr}
 .issue-grid{grid-template-columns:1fr}
 .campaign-photos{grid-template-columns:1fr;padding:0 6vw 10px}
 .campaign-photo img{height:360px}
 section{padding:65px 6vw}
 .hero{min-height:80vh;padding:50px 6vw}
 .hero-inner{grid-template-columns:1fr;gap:35px;text-align:center}
 .hero-copy{max-width:none}
 .hero p{margin:30px auto}
 .hero-photo{justify-self:center;width:min(360px,82vw)}
}

.about-dropdown{position:relative;display:inline-block;margin-left:12px}.about-btn{background:#e85d24;color:#fff3d6;border:2px solid #fff3d6;padding:10px 16px;font-family:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.about-menu{display:none;position:absolute;right:0;top:100%;min-width:190px;background:#3b2418;border:2px solid #f4d7a1;box-shadow:6px 6px 0 #e85d24;z-index:1000}.about-dropdown:hover .about-menu,.about-dropdown:focus-within .about-menu{display:block}.about-menu a{display:block!important;padding:12px 14px;color:#fff3d6!important;text-decoration:none}.about-menu a:hover{background:#e85d24!important;color:#fff!important}@media(max-width:700px){.about-dropdown{margin-left:6px}.about-btn{padding:8px 10px}.about-menu{right:0}}

/* Navigation + photo fixes */
.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;background:transparent;border:3px solid var(--ink,#3d2921);cursor:pointer}
.nav-toggle span{display:block;height:3px;width:100%;background:var(--ink,#3d2921)}
.site-menu{display:none;position:absolute;right:6%;top:72px;z-index:1000;background:var(--cream,#f4e5c4);border:4px solid var(--ink,#3d2921);box-shadow:7px 7px var(--red,#8f2f25);min-width:190px}
.site-menu.open{display:flex;flex-direction:column}
.site-menu a{display:block!important;padding:15px 18px;text-decoration:none;color:var(--ink,#3d2921);font-weight:900;border-bottom:2px solid var(--ink,#3d2921)}
.site-menu a:last-child{border-bottom:0}
nav{position:relative}
.photo{overflow:hidden;min-width:0}
.photo img{width:100%;max-width:100%;height:320px!important;max-height:320px;object-fit:cover;display:block}
.photo-grid img{width:100%;max-width:100%;object-fit:cover}
@media(max-width:750px){.photo img{height:300px!important;max-height:300px}.site-menu{right:6%;top:65px}}

/* ===== layden-nav-photo-fix ===== */
/* Photo cards: contained, spaced, playful */
.photo-grid{gap:32px!important;align-items:start!important;padding:10px 0 24px!important}
.photo{overflow:hidden!important;min-width:0!important;box-sizing:border-box!important;border-radius:18px!important;position:relative!important;padding:10px!important;background:var(--cream,#f5ead8)!important;box-shadow:8px 10px 0 rgba(0,0,0,.14)!important;transform:rotate(-1deg);}
.photo:nth-child(2){transform:rotate(1.2deg);margin-top:28px}.photo:nth-child(3){transform:rotate(-.6deg);margin-top:8px}
.photo img{display:block!important;width:100%!important;max-width:100%!important;height:clamp(300px,38vw,500px)!important;object-fit:cover!important;object-position:center!important;border-radius:11px!important;box-sizing:border-box!important}
img{max-width:100%}
/* Regular hamburger dropdown */
.menu-toggle{position:relative!important;width:48px!important;height:44px!important;border:2px solid currentColor!important;border-radius:8px!important;background:transparent!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;cursor:pointer!important;padding:0!important}
.menu-toggle span{display:block!important;width:22px!important;height:2px!important;background:currentColor!important;border-radius:2px!important}
.menu-dropdown{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;min-width:190px!important;padding:8px!important;border:2px solid currentColor!important;border-radius:10px!important;background:var(--cream,#f5ead8)!important;box-shadow:7px 7px 0 rgba(0,0,0,.18)!important;z-index:9999!important}
.menu-dropdown a{display:block!important;padding:12px 14px!important;text-decoration:none!important;color:inherit!important;border-radius:6px!important}
.menu-dropdown a:hover{background:rgba(0,0,0,.08)!important}
@media(max-width:700px){.photo-grid{gap:26px!important}.photo img{height:clamp(280px,72vw,420px)!important}.photo:nth-child(2){margin-top:12px}}

/* ===== final-site-fixes ===== */
/* One clean hamburger menu; no separate About button/dropdown. */
.main-nav .nav-menu-wrap,.about-nav .nav-menu-wrap{position:relative;margin-left:auto}
.menu-toggle{position:relative!important;width:48px!important;height:44px!important;border:3px solid currentColor!important;border-radius:6px!important;background:transparent!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;cursor:pointer!important;padding:0!important}
.menu-toggle span{display:block!important;width:24px!important;height:3px!important;background:currentColor!important;border-radius:2px!important}
.menu-dropdown{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;min-width:190px!important;padding:8px!important;border:3px solid var(--ink,#3d2921)!important;border-radius:8px!important;background:var(--cream,#f5ead8)!important;box-shadow:7px 7px 0 var(--rust,#8f2f25)!important;z-index:99999!important}
.menu-dropdown[hidden]{display:none!important}
.menu-dropdown:not([hidden]){display:flex!important;flex-direction:column!important}
.menu-dropdown a{display:block!important;padding:13px 15px!important;text-decoration:none!important;color:var(--ink,#3d2921)!important;font-weight:900!important;border-bottom:2px solid rgba(61,41,33,.25)!important}
.menu-dropdown a:last-child{border-bottom:0!important}
.menu-dropdown a:hover{background:rgba(0,0,0,.08)!important}
.about-dropdown{display:none!important}.about-menu{display:none!important}.nav-toggle,.site-menu{display:none!important}
/* Photo cards: show the entire photo, never crop it. */
.photo-grid{gap:38px!important;align-items:start!important;padding:18px 0 30px!important}
.photo{overflow:visible!important;min-width:0!important;box-sizing:border-box!important;padding:12px!important;background:var(--cream,#f5ead8)!important;border:4px solid var(--ink,#3d2921)!important;border-radius:6px!important;box-shadow:9px 10px 0 var(--rust,#8f2f25)!important;position:relative!important}
.photo:nth-child(1){transform:rotate(-1.5deg)!important}.photo:nth-child(2){transform:rotate(1.4deg)!important;margin-top:30px!important}.photo:nth-child(3){transform:rotate(-1deg)!important;margin-top:10px!important}
.photo img,.photo-grid img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;border:3px solid var(--ink,#3d2921)!important;border-radius:2px!important;box-sizing:border-box!important}
/* Keep the green campaign ticker moving continuously. */
.ticker{overflow:hidden!important}
.ticker-track{display:inline-flex!important;width:max-content!important;animation:laydenTicker 18s linear infinite!important;will-change:transform!important}
@keyframes laydenTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.photo-grid{gap:28px!important}.photo{padding:9px!important}.photo:nth-child(2){margin-top:16px!important}.menu-dropdown{min-width:175px!important}}

/* Ensure the hamburger dropdown is hidden until the button is clicked. */
.main-nav .menu-dropdown[hidden]{display:none!important}
.main-nav .menu-dropdown:not([hidden]){display:block!important}

/* ===== working-menu-fix ===== */
.main-nav{position:relative!important;z-index:100000!important;}
.nav-menu-wrap{position:relative!important;z-index:100001!important;}
#hamburger-menu-button{position:relative!important;z-index:100002!important;pointer-events:auto!important;touch-action:manipulation!important;}
#campaign-menu{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;z-index:100003!important;min-width:190px!important;padding:8px!important;background:var(--cream,#f5ead8)!important;border:3px solid var(--ink,#3d2921)!important;box-shadow:7px 7px 0 var(--rust,#8f2f25)!important;}
#campaign-menu[style*="display:none"]{display:none!important;}
#campaign-menu[style*="display: block"]{display:flex!important;flex-direction:column!important;}
#campaign-menu a{display:block!important;position:relative!important;z-index:100004!important;padding:13px 15px!important;color:var(--ink,#3d2921)!important;text-decoration:none!important;font-weight:900!important;cursor:pointer!important;}

/* ===== menu-fix ===== */
/* Reliable dropdown navigation */
.site-menu { position:relative !important; z-index:99999 !important; }
.site-menu-toggle { appearance:none !important; -webkit-appearance:none !important; display:flex !important; flex-direction:column !important; gap:5px !important; align-items:center !important; justify-content:center !important; width:52px !important; height:52px !important; cursor:pointer !important; pointer-events:auto !important; position:relative !important; z-index:100000 !important; }
.site-menu-toggle span { display:block !important; width:24px !important; height:3px !important; background:currentColor !important; }
.site-menu-dropdown { position:absolute !important; top:62px !important; right:0 !important; display:none !important; min-width:190px !important; padding:8px !important; background:#fff !important; border:3px solid #111 !important; box-shadow:6px 6px 0 #111 !important; z-index:100001 !important; }
.site-menu-dropdown.open { display:block !important; }
.site-menu-dropdown a { display:block !important; padding:13px 16px !important; color:#111 !important; text-decoration:none !important; font-weight:700 !important; cursor:pointer !important; }
.site-menu-dropdown a:hover { background:#d9f36a !important; }

/* ===== about-button-final-css ===== */
/* Final navigation: no dropdowns; one large centered About Layden button. */
nav .nav-menu-wrap, nav .menu-toggle, nav .menu-dropdown, nav .about-dropdown, nav .about-menu, nav .nav-toggle, nav .site-menu, nav .site-menu-dropdown, nav .site-menu-toggle, nav #campaign-menu, nav #hamburger-menu-button, nav #reliable-menu { display:none !important; }
#about-button-section { width:100%; box-sizing:border-box; margin:64px auto; padding:56px 20px; text-align:center; border-top:5px solid var(--brown,#3d2921); border-bottom:5px solid var(--brown,#3d2921); background:var(--cream,#f4e5c4); }
#about-layden-button { display:flex; align-items:center; justify-content:center; width:min(760px,90vw); min-height:150px; margin:0 auto; box-sizing:border-box; padding:28px 40px; background:var(--orange,#c95b2e); color:var(--cream,#f4e5c4); border:6px solid var(--brown,#3d2921); box-shadow:14px 14px 0 var(--brown,#3d2921); text-decoration:none; font-family:Rye,serif; font-size:clamp(2.2rem,6vw,5rem); font-weight:900; letter-spacing:.03em; transform:rotate(-1deg); }
#about-layden-button:hover { transform:rotate(0deg) translate(-3px,-3px); box-shadow:17px 17px 0 var(--brown,#3d2921); }
@media(max-width:700px){#about-button-section{margin:44px auto;padding:40px 14px}#about-layden-button{width:90vw;min-height:120px;padding:20px;font-size:clamp(1.8rem,9vw,3rem);box-shadow:9px 9px 0 var(--brown,#3d2921);}}
/* Photos must show the entire image, never crop. */
.photo-grid{gap:32px!important;align-items:start!important}
.photo{overflow:hidden!important;box-sizing:border-box!important;padding:12px!important}
.photo img,.photo-grid img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}

/* ===== about-button-top-fix ===== */
#about-button-section{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;box-sizing:border-box!important;margin:36px auto 52px!important;padding:26px 20px!important;text-align:center!important;position:relative!important;z-index:10!important;}
#about-layden-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:min(760px,90vw)!important;min-height:110px!important;padding:24px 44px!important;box-sizing:border-box!important;text-decoration:none!important;background:var(--brown,#3d2921)!important;color:var(--cream,#f4e5c4)!important;border:6px solid var(--orange,#c95b2e)!important;box-shadow:12px 12px 0 var(--rust,#8f2f25)!important;font-family:Rye,serif!important;font-size:clamp(2rem,5vw,4rem)!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
#about-layden-button:hover{transform:translate(-4px,-4px)!important;box-shadow:16px 16px 0 var(--rust,#8f2f25)!important;}
@media(max-width:700px){#about-button-section{margin:28px auto 40px!important;padding:18px 12px!important}#about-layden-button{min-width:90vw!important;min-height:90px!important;padding:18px 16px!important;font-size:clamp(1.7rem,9vw,2.8rem)!important;}}

/* ===== about-page-home-fix ===== */
#about-page{display:block!important;scroll-margin-top:24px;}
#about-layden-button{cursor:pointer;text-decoration:none;}

/* ===== direct-about-link-fix ===== */
#about-button-section{display:block!important;text-align:center!important;}
#about-layden-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;cursor:pointer!important;}

/* ===== about-layden-talkshow-final ===== */
#about-button-section{margin:52px auto!important;padding:38px 20px!important;background:linear-gradient(90deg,#f4d35e,#f7a072,#f4d35e)!important;border-top:6px double #111!important;border-bottom:6px double #111!important;box-shadow:0 10px 0 #111!important;position:relative!important;}
#about-button-section::before{content:"";display:none;}
#about-layden-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:min(680px,88vw)!important;min-height:105px!important;padding:24px 46px!important;box-sizing:border-box!important;background:#1769c2!important;color:#fff!important;border:6px solid #111!important;border-radius:6px!important;box-shadow:12px 12px 0 #111!important;text-decoration:none!important;font-family:Impact,Arial Black,sans-serif!important;font-size:clamp(2.4rem,6vw,5rem)!important;letter-spacing:.055em!important;text-shadow:3px 3px 0 #111!important;transform:rotate(-1deg)!important;transition:transform .15s,box-shadow .15s!important;}
#about-layden-button:hover{transform:rotate(1deg) translate(-3px,-3px)!important;box-shadow:15px 15px 0 #111!important;}
#about-me{scroll-margin-top:0!important;}
html{scroll-behavior:smooth;}

/* ===== readability-overrides ===== */
/* Readability pass: keep the 70s dotted aesthetic while improving contrast. */
body { -webkit-font-smoothing: antialiased; }
body p, body li, body .body-text, body .description, body .small-text { font-weight: 500 !important; line-height: 1.55 !important; }
body p, body li { text-shadow: 0 1px 0 rgba(255,255,255,.18); }
.dotted, .dot-bg, [class*="dot"] { }
section, .card, .box, .panel, .content-box { text-shadow: none; }

/* ===== readability-pass-2 ===== */
/* Stronger readability: preserve the retro dotted look without letting the texture compete with copy. */
body{font-size:16px;}
body p,body li{font-weight:700!important;line-height:1.7!important;letter-spacing:.01em!important;}
.about p,.issue p,.hero p,.card p,.content-box p,.panel p{font-size:1.12rem!important;}
.issue p,.issues p{color:var(--cream,#f4e5c4)!important;text-shadow:1px 1px 0 rgba(0,0,0,.45)!important;}
.about p{color:var(--brown,#3d2921)!important;text-shadow:0 1px 0 rgba(255,255,255,.55)!important;}
.hero p{color:var(--cream,#f4e5c4)!important;text-shadow:2px 2px 0 rgba(61,41,33,.55)!important;}
.kicker,.section-label,.number{font-weight:800!important;text-shadow:1px 1px 0 rgba(0,0,0,.25)!important;}
/* Give text-heavy cards a subtle solid backing so dots stay decorative, not distracting. */
.issue p,.about p,.card p,.content-box p{background:rgba(244,229,196,.88);padding:10px 12px;border-left:4px solid var(--orange,#c95b2e);}
.issue p,.issues .issue p{background:rgba(61,41,33,.82);}
@media(max-width:700px){body p,body li{font-size:1.05rem!important;line-height:1.65!important}.issue p,.about p,.card p,.content-box p{padding:9px 10px;}}

/* ===== duncan-logo-nav ===== */
/* Duncan for Greenville campaign mark */
.main-nav{min-height:78px;align-items:center;}
.brand-logo{display:block;width:185px;height:66px;position:relative;transform:rotate(-1.5deg);transition:transform .2s ease,filter .2s ease;z-index:3;}
.brand-logo img{display:block;width:100%;height:100%;object-fit:cover;border:4px solid var(--orange,#c95b2e);border-radius:4px;box-shadow:7px 7px 0 var(--gold,#d99b3d);background:#24407f;}
.brand-logo:hover{transform:rotate(1.5deg) translateY(-2px);filter:saturate(1.08);}
.main-nav .logo{margin-left:16px;}
@media(max-width:750px){
  .main-nav{padding:10px 4vw;min-height:68px;}
  .brand-logo{width:142px;height:51px;}
  .brand-logo img{border-width:3px;box-shadow:5px 5px 0 var(--gold,#d99b3d);}
  .main-nav .logo{display:none;}
}

/* ===== duncan-logo-size-fix ===== */
/* Bigger campaign mark with the entire artwork visible */
.brand-logo{
  width:300px !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  flex:0 0 auto !important;
  transform:rotate(-2deg) !important;
  margin:4px 0 4px 8px !important;
}
.brand-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  box-sizing:border-box !important;
  border:4px solid var(--orange,#c95b2e) !important;
  border-radius:6px !important;
  box-shadow:9px 9px 0 var(--gold,#d99b3d) !important;
}
.brand-logo:hover{transform:rotate(2deg) translateY(-3px) scale(1.02) !important;}
@media(max-width:750px){
  .brand-logo{width:200px !important;aspect-ratio:16/9 !important;margin:2px 0 2px 4px !important;}
  .brand-logo img{border-width:3px !important;box-shadow:6px 6px 0 var(--gold,#d99b3d) !important;}
}

/* ===== RETRO-70S-FUN-PASS ===== */
/* FUN 70s PASS: warm colors, groovy shapes, playful motion */
:root{
  --cream:#fff0cf;
  --paper:#f3d49d;
  --orange:#f0783c;
  --rust:#9b3326;
  --brown:#34221b;
  --olive:#5d6840;
  --gold:#e2a33f;
  --teal:#187f86;
  --pink:#d95c69;
}
body{
  background-color:var(--cream)!important;
  background-image:
    radial-gradient(circle at 12px 12px,rgba(52,34,27,.09) 2px,transparent 2.5px),
    radial-gradient(circle at 42px 42px,rgba(240,120,60,.08) 2px,transparent 2.5px)!important;
  background-size:54px 54px!important;
}
/* Groovy top bar */
nav{
  background:linear-gradient(90deg,var(--brown) 0 72%,var(--olive) 72% 100%)!important;
  border-bottom:0!important;
  box-shadow:0 7px 0 var(--orange),0 10px 0 rgba(52,34,27,.12)!important;
}
nav:after{
  content:"✦  PEOPLE POWER  ✦  GREENVILLE  ✦  2027  ✦";
  position:absolute;right:24px;bottom:-34px;
  background:var(--gold);color:var(--brown);padding:7px 14px;
  border:3px solid var(--brown);font:800 .66rem/1 "DM Mono",monospace;
  letter-spacing:.08em;transform:rotate(-1.5deg);box-shadow:4px 4px 0 var(--rust);
}
@media(max-width:700px){nav:after{right:10px;font-size:.52rem;bottom:-31px;padding:6px 9px}}
/* The People Power / Greenville ribbon below About Layden is a true continuous marquee. */
.about-ticker{position:relative!important;overflow:hidden!important;white-space:nowrap!important;}
.about-ticker .ticker-track{display:flex!important;align-items:center!important;width:max-content!important;animation:aboutPeopleMarquee 11s linear infinite!important;will-change:transform!important;}
.about-ticker .ticker-track span{flex:0 0 auto!important;display:inline-block!important;margin-right:55px!important;}
@keyframes aboutPeopleMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
/* Psychedelic hero */
.hero{
  min-height:92vh!important;
  background:
    radial-gradient(circle at 75% 20%,rgba(226,163,63,.34) 0 8%,transparent 8.5%),
    repeating-conic-gradient(from 12deg at 88% 52%,rgba(255,240,207,.10) 0 7deg,transparent 7deg 18deg),
    linear-gradient(135deg,#df6a35,#c65331 48%,#8f3026)!important;
}
.hero:before,.hero:after{
  width:470px!important;height:470px!important;border:0!important;border-radius:50%!important;
  opacity:1!important;z-index:0;
  background:repeating-conic-gradient(from 0deg,var(--gold) 0 9deg,transparent 9deg 18deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 42%,#000 42.5% 43%,transparent 43.5% 100%);
  mask:radial-gradient(circle,transparent 0 42%,#000 42.5% 43%,transparent 43.5% 100%);
}
.hero:before{left:-210px!important;top:-170px!important;transform:rotate(12deg)}
.hero:after{right:-210px!important;bottom:-210px!important;transform:rotate(-12deg)}
.hero-inner{gap:65px!important}
.hero-copy{position:relative}
h1{text-shadow:5px 5px 0 var(--teal),9px 9px 0 var(--rust)!important;letter-spacing:.015em}
.hero p{font-family:"Shrikhand",serif!important;font-weight:400!important;line-height:1.45!important;text-shadow:3px 3px 0 rgba(52,34,27,.48)!important}
.hero .btn{border-radius:999px!important;padding:17px 28px!important;box-shadow:7px 7px 0 var(--brown)!important;transform:rotate(-1deg)}
.hero .btn:nth-of-type(2){transform:rotate(1deg);background:var(--gold)!important}
.hero .btn:hover{transform:translate(-2px,-3px) rotate(-2deg)!important;box-shadow:10px 10px 0 var(--brown)!important}
/* Make the logo feel like a real 70s campaign sticker */
.brand-logo{filter:drop-shadow(4px 5px 0 rgba(52,34,27,.35))!important}
.brand-logo img{border-radius:12px!important;border-width:5px!important;box-shadow:8px 8px 0 var(--gold)!important}
/* Moving retro ribbon */
.ticker{margin-top:10px!important;border-top:5px solid var(--gold)!important;border-bottom:5px solid var(--brown)!important;background:var(--olive)!important;transform:skewY(-.8deg);box-shadow:0 7px 0 rgba(52,34,27,.12)}
.ticker-track{padding:2px 0}
.ticker span{font-family:Rye,serif!important;font-size:1rem!important;letter-spacing:.04em}
/* Sections get playful little label tabs */
.section-label,.label{
  display:inline-block!important;background:var(--gold)!important;color:var(--brown)!important;
  padding:7px 12px!important;border:3px solid var(--brown)!important;
  box-shadow:4px 4px 0 var(--rust)!important;transform:rotate(-1.5deg)
}
h2{letter-spacing:.015em;text-shadow:2px 2px 0 rgba(226,163,63,.35)}
/* Retro issue cards */
.issue{border:4px solid var(--gold)!important;border-radius:4px 22px 4px 22px!important;position:relative;transition:transform .18s ease,box-shadow .18s ease;background:rgba(255,240,207,.035)!important}
.issue:nth-child(even){border-radius:22px 4px 22px 4px!important}
.issue:hover{transform:translateY(-7px) rotate(-.7deg)!important;box-shadow:9px 9px 0 var(--rust)!important}
.issue h3:before{content:"✦ ";color:var(--orange)}
/* Photo cards become vintage prints */
.campaign-photo,.photo{border-radius:5px 20px 5px 20px!important;position:relative}
.campaign-photo:before,.photo:before{
  content:"✦");
}
.campaign-photo:nth-child(2){transform:rotate(2deg)!important}
.campaign-photo:nth-child(3){transform:rotate(-2deg)!important}
/* About button = giant retro record-label button */
#FINAL-USER-ABOUT-BUTTON-SECTION{background:radial-gradient(circle,var(--gold) 0 2px,transparent 2.5px);background-size:18px 18px!important;border-top:5px solid var(--brown);border-bottom:5px solid var(--brown);border-radius:50% 50% 3% 3% / 8% 8% 3% 3%!important}
#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button{border-radius:28px 6px 28px 6px!important;letter-spacing:.08em!important;text-shadow:3px 3px 0 var(--teal)!important}
#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button:before{content:"✿  ";color:var(--gold)}
#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button:after{content:"  ✿";color:var(--orange)}
/* Big sunny CTA */
.cta{position:relative;overflow:hidden;background:repeating-conic-gradient(from 0deg at 50% 110%,#e2a33f 0 8deg,#f0783c 8deg 16deg)!important;border-top:7px solid var(--brown);border-bottom:7px solid var(--brown)}
.cta h2{position:relative;z-index:1;text-shadow:3px 3px 0 var(--cream)}
.cta .btn{border-radius:999px!important;background:var(--cream)!important;transform:rotate(-1deg);box-shadow:8px 8px 0 var(--rust)!important}
footer{border-top:8px solid var(--orange)!important;position:relative}
footer:before{content:"✿  POWER OF LOVE, NOT LOVE OF POWER  ✿";display:block;color:var(--gold);font-family:Rye,serif;font-size:1.1rem;margin-bottom:16px;letter-spacing:.05em}
@media(max-width:700px){
 .hero{min-height:auto!important;padding-top:75px!important;padding-bottom:70px!important}
 h1{text-shadow:3px 3px 0 var(--teal),6px 6px 0 var(--rust)!important}
 .ticker span{font-size:.82rem!important}
 footer:before{font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:scrollTicker 12s linear infinite!important}.issue,.hero .btn{transition:none!important}}

/* ===== social-buttons-css ===== */
.social-buttons{position:absolute!important;right:24px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;align-items:center!important;gap:10px!important;}
.social-buttons a{position:static!important;box-sizing:border-box!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:3px solid #fff!important;border-radius:10px!important;color:#fff!important;text-decoration:none!important;box-shadow:4px 4px 0 #111!important;transition:transform .15s,box-shadow .15s!important;}
.instagram-btn{background:linear-gradient(135deg,#f58529 0%,#dd2a7b 45%,#8134af 72%,#515bd4 100%)!important;}
.tiktok-btn{background:#111!important;}
.social-buttons a:hover{transform:translate(-2px,-2px) rotate(-1deg)!important;box-shadow:6px 6px 0 #111!important;}
.social-buttons svg{width:25px!important;height:25px!important;display:block!important;}
@media(max-width:700px){
 .social-buttons{right:10px!important;gap:7px!important;}
 .social-buttons a{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;border-width:2px!important;border-radius:8px!important;box-shadow:3px 3px 0 #111!important;}
 .social-buttons svg{width:22px!important;height:22px!important;}
}

/* ===== contact-section-css ===== */
.contact-section{max-width:1100px;margin:40px auto 80px;padding:30px 6vw;}
.contact-card{background:var(--cream,#f4e5c4);border:6px solid var(--brown,#3d2921);box-shadow:14px 14px 0 var(--brown,#3d2921);padding:clamp(28px,5vw,60px);position:relative;overflow:hidden;}
.contact-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(61,41,33,.035) 18px 20px);pointer-events:none;}
.contact-card>*{position:relative;}
.contact-kicker{font-family:"DM Mono",monospace;font-weight:700;letter-spacing:.18em;font-size:.78rem;color:var(--olive,#596044);margin-bottom:12px;}
.contact-card h2{font-family:Rye,serif;font-size:clamp(2.2rem,6vw,4.5rem);line-height:.95;margin:0 0 18px;color:var(--brown,#3d2921);}
.contact-card>p{font-size:1.05rem;line-height:1.6;max-width:720px;margin:0 0 28px;color:var(--brown,#3d2921);}
.contact-form{display:flex;flex-direction:column;gap:18px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.contact-form label{display:flex;flex-direction:column;gap:7px;}
.contact-form label span{font-family:"DM Mono",monospace;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brown,#3d2921);}
.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;border:4px solid var(--brown,#3d2921);background:#fffdf5;color:#231b18;border-radius:0;padding:13px 14px;font:inherit;outline:none;}
.contact-form input:focus,.contact-form textarea:focus{box-shadow:5px 5px 0 var(--orange,#c95b2e);}
.contact-form textarea{resize:vertical;min-height:150px;}
.contact-submit{align-self:flex-start;background:var(--orange,#c95b2e);color:var(--cream,#f4e5c4);border:5px solid var(--brown,#3d2921);box-shadow:7px 7px 0 var(--brown,#3d2921);padding:14px 22px;font-family:Rye,serif;font-size:1.05rem;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.contact-submit:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--brown,#3d2921);}
.contact-direct{margin-top:28px!important;margin-bottom:0!important;font-family:"DM Mono",monospace;font-size:.88rem!important;}
.contact-direct a{color:var(--rust,#8f2f25);font-weight:700;}
@media(max-width:700px){.contact-section{margin:25px auto 55px;padding:20px 6vw}.contact-card{box-shadow:9px 9px 0 var(--brown,#3d2921);padding:28px 20px}.contact-grid{grid-template-columns:1fr}.contact-submit{width:100%;}}

/* ===== simple-about-style ===== */
.simple-about-section{margin:70px auto;max-width:900px;padding:28px 20px;text-align:center;}
.simple-about-button{display:inline-flex;align-items:center;justify-content:center;min-width:min(720px,90vw);min-height:130px;padding:30px 50px;background:#fff;border:5px solid #111;box-shadow:12px 12px 0 #111;text-decoration:none;color:#111;font-size:clamp(2rem,6vw,4.5rem);font-weight:900;letter-spacing:.02em;transform:rotate(-1deg);transition:transform .15s,box-shadow .15s;}
.simple-about-button:hover{transform:rotate(1deg) translate(-3px,-3px);box-shadow:15px 15px 0 #111;}
@media(max-width:600px){.simple-about-section{margin:45px auto;padding:20px 12px}.simple-about-button{min-width:0;width:90vw;min-height:105px;padding:24px 18px;font-size:2.1rem;box-shadow:8px 8px 0 #111}}

/* ===== FINAL-ABOUT-BUTTON-FIX ===== */
/* FINAL NAV CLEANUP: one large About Layden button, no dropdowns */
.nav-menu-wrap, .about-dropdown, .about-menu, .menu-dropdown, .menu-toggle, .nav-toggle,
#campaign-menu, #hamburger-menu-button, #reliable-menu, .site-menu, .site-menu-dropdown,
.site-menu-toggle { display:none !important; }
.about-standalone-section{
  width:100%; max-width:1100px; margin:0 auto; padding:72px 6vw;
  text-align:center; position:relative;
}
.about-standalone-section::before{
  content:"ABOUT THE CANDIDATE"; display:block; margin-bottom:18px;
  font-family:"DM Mono",monospace; font-weight:700; letter-spacing:.18em;
  font-size:.8rem; color:var(--olive,#596044);
}
.about-standalone-button{
  display:flex; width:min(760px,100%); min-height:170px; margin:0 auto;
  align-items:center; justify-content:center; text-decoration:none;
  background:var(--orange,#c95b2e); color:var(--cream,#f4e5c4);
  border:6px solid var(--brown,#3d2921);
  box-shadow:14px 14px 0 var(--brown,#3d2921);
  font-family:Rye,serif; font-size:clamp(2.2rem,6vw,5rem);
  letter-spacing:.03em; transform:rotate(-1deg); transition:transform .15s,box-shadow .15s;
}
.about-standalone-button:hover{transform:rotate(0deg) translate(5px,5px);box-shadow:8px 8px 0 var(--brown,#3d2921)}
@media(max-width:700px){.about-standalone-section{padding:55px 7vw}.about-standalone-button{min-height:135px;box-shadow:9px 9px 0 var(--brown,#3d2921)}}

/* ===== FINAL-USER-ABOUT-BUTTON ===== */
/* User-requested final navigation: NO dropdowns, one large About Layden button. */
#FINAL-USER-ABOUT-BUTTON-SECTION{display:block!important;width:100%!important;max-width:1100px!important;margin:70px auto!important;padding:55px 24px!important;text-align:center!important;position:relative!important;clear:both!important;}
#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:min(760px,90vw)!important;min-height:110px!important;padding:24px 42px!important;background:var(--brown,#3d2921)!important;color:var(--cream,#f4e5c4)!important;border:6px solid var(--orange,#c95b2e)!important;box-shadow:12px 12px 0 var(--rust,#8f2f25)!important;font-family:Rye,serif!important;font-size:clamp(2rem,5vw,4rem)!important;letter-spacing:.04em!important;text-decoration:none!important;text-transform:uppercase!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important;}
#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button:hover{transform:translate(-4px,-4px)!important;box-shadow:16px 16px 0 var(--rust,#8f2f25)!important;}
/* Kill every previous dropdown/menu implementation. */
nav .nav-menu-wrap,nav .menu-toggle,nav .menu-dropdown,nav .about-dropdown,nav .about-menu,nav .nav-toggle,nav .site-menu,nav .site-menu-dropdown,nav .site-menu-toggle,nav #campaign-menu,nav #hamburger-menu-button,nav #reliable-menu{display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:700px){#FINAL-USER-ABOUT-BUTTON-SECTION{margin:45px auto!important;padding:38px 18px!important}#FINAL-USER-ABOUT-BUTTON-SECTION .final-about-button{min-width:88vw;min-height:90px;padding:18px 20px;font-size:clamp(1.7rem,9vw,2.8rem)!important;}}

/* ===== AUTHORITATIVE-ABOUT-FIX ===== */
body.about-mode > header, body.about-mode > nav, body.about-mode > main, body.about-mode > section:not(#about-page), body.about-mode > footer { display:none !important; }
body.about-mode > #about-page { display:block !important; visibility:visible !important; }

/* ===== about-center-fix ===== */
#about-me{scroll-margin-top:50vh;} #about-layden-button{background:#1565c0!important;color:#fff!important;border-radius:999px!important;border:3px solid #fff!important;box-shadow:6px 6px 0 #111, inset 0 0 0 2px rgba(255,255,255,.25)!important;font-family:Georgia,serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
