/* ============================================================
   Dr. Jeff Datto for Governor of Florida — staging design system
   Palette: deep navy + ocean blue (trust) · white (clarity)
   · flamingo pink + Florida-sun gold (accents) · limited flag red
   Signature: "Florida sunrise" horizon (gold→flamingo over navy)
   ============================================================ */
:root{
  --navy:#0B2A4A; --navy-2:#123A63; --navy-3:#1C4E80;
  --ocean:#116EAB; --ocean-deep:#0C5488; --ocean-soft:#E4EFF7;
  --flamingo:#F65C7E; --flamingo-deep:#DA3F63;
  --gold:#F2B441; --gold-deep:#E09A18;
  --red:#C8102E;
  --paper:#FFFFFF; --mist:#EEF4F9; --mist-2:#F7FBFE;
  --ink:#0E2338; --slate:#45607A; --slate-soft:#6E869C;
  --line:#D7E3EE; --line-soft:#E9F0F6;
  --radius:16px; --radius-sm:10px; --radius-lg:26px;
  --shadow:0 1px 2px rgba(11,42,74,.06), 0 10px 30px rgba(11,42,74,.08);
  --shadow-lg:0 20px 60px rgba(11,42,74,.16);
  --maxw:1160px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.015em;margin:0}
a{color:var(--ocean-deep);text-underline-offset:3px}
p{margin:.6em 0}
:focus-visible{outline:3px solid var(--flamingo);outline-offset:2px;border-radius:5px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:300;border-radius:0 0 10px 0}
.skip:focus{left:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.narrow{max-width:820px;margin:0 auto}

/* --- type helpers --- */
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--ocean)}
.eyebrow.on-navy{color:var(--gold)}
.serif{font-family:var(--serif)}
.lead{font-size:1.14rem;color:var(--slate)}
.muted{color:var(--slate)}
.small{font-size:.9rem}
.center{text-align:center}

/* --- signature sunrise line --- */
.sunline{height:5px;width:88px;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--flamingo));margin:16px 0;position:relative}
.sunline.center{margin-left:auto;margin-right:auto}

/* --- buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:800;font-size:.98rem;line-height:1;padding:.85em 1.3em;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease, background .12s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--ocean);color:#fff;box-shadow:0 6px 18px rgba(17,110,171,.28)}
.btn-primary:hover{background:var(--ocean-deep)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-deep)}
.btn-flamingo{background:var(--flamingo);color:#fff}
.btn-flamingo:hover{background:var(--flamingo-deep)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-on-navy{background:#fff;color:var(--navy)}
.btn-on-navy:hover{background:var(--gold);color:var(--navy)}
.btn-lg{font-size:1.05rem;padding:1em 1.6em}

/* --- announcement bar --- */
.announce{background:linear-gradient(90deg,var(--navy),var(--navy-3));color:#fff;font-size:.92rem}
.announce .container{display:flex;align-items:center;gap:14px;padding:9px 22px;flex-wrap:wrap}
.announce .tag{background:var(--gold);color:var(--navy);font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.25em .6em;border-radius:999px}
.announce p{margin:0;flex:1;min-width:180px}
.announce a{color:var(--gold);font-weight:700}
.announce .x{background:transparent;border:0;color:#cfe0f0;font-size:1.2rem;cursor:pointer;line-height:1;padding:2px 6px;border-radius:6px}
.announce .x:hover{color:#fff;background:rgba(255,255,255,.12)}

/* --- header / nav --- */
.site-head{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 22px}
.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);line-height:1.02}
.brand .nm{font-family:var(--serif);font-weight:700;font-size:1.34rem}
.brand .role{font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ocean);font-weight:800;margin-top:3px}
.nav{display:flex;align-items:center;gap:2px}
.nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.93rem;padding:.5em .64em;border-radius:8px;white-space:nowrap}
.nav a:hover{background:var(--mist)}
.nav a[aria-current="page"]{color:var(--ocean-deep);background:var(--ocean-soft)}
.nav .btn{margin-left:6px}
.burger{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:.55em .7em;font-weight:800;cursor:pointer;color:var(--navy);align-items:center;gap:.4em}

/* --- hero --- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 82% -10%, rgba(242,180,65,.28), transparent 46%),
  radial-gradient(90% 80% at 92% 8%, rgba(246,92,126,.20), transparent 50%),
  linear-gradient(180deg,#0B2A4A 0%, #123A63 62%, #16497C 100%);
  color:#EAF2FA}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--gold),var(--flamingo))}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center;padding:66px 22px 60px;position:relative}
.hero h1{font-weight:800;font-size:clamp(2.5rem,6vw,4.3rem);margin:.2em 0 .12em;color:#fff}
.hero .npa{font-weight:800;color:var(--gold);letter-spacing:.02em;font-size:clamp(1rem,2.4vw,1.28rem)}
.hero .tag{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,3vw,1.7rem);color:#fff;margin:.35em 0 .1em}
.hero .roles{color:#BFD5EA;font-weight:600;font-size:.98rem;margin:.5em 0 0;max-width:52ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.badge-hialeah{display:inline-flex;align-items:center;gap:.45em;margin-top:18px;font-weight:700;color:#EAF2FA;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:.4em .8em;border-radius:999px;font-size:.9rem}
.portrait{aspect-ratio:4/5;border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;box-shadow:var(--shadow-lg)}
.portrait .ph{color:#12324f;background:#FBEFD6;border:1px dashed #d9ad4e;border-radius:12px;padding:14px 16px;font-weight:600;font-size:.92rem}

/* --- sections --- */
.section{padding:64px 0}
.section.tight{padding:44px 0}
.tint{background:var(--mist)}
.tint-2{background:var(--mist-2)}
.navy{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#E7F0F8}
.navy .lead,.navy .muted{color:#B9CCE0}
.navy a{color:var(--gold)}
.sec-head{max-width:64ch}
h2.h{font-weight:800;font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--navy)}
.navy h2.h{color:#fff}
.sub{color:var(--slate);max-width:66ch;margin-top:.3em}
.navy .sub{color:#B9CCE0}

/* --- grids --- */
.grid{display:grid;gap:20px;margin-top:30px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

/* --- cards --- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.card h3{font-size:1.16rem;color:var(--navy);margin:.1em 0 .3em}
.card p{color:var(--slate);font-size:.97rem}
.card .more{display:inline-block;margin-top:12px;font-weight:800;text-decoration:none;color:var(--ocean-deep)}
.card .more::after{content:" →"}
.card-accent{border-top:5px solid var(--flamingo)}
.hubgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
.hub{display:flex;align-items:center;gap:.5em;justify-content:center;text-align:center;text-decoration:none;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 12px;box-shadow:var(--shadow)}
.hub:hover{border-color:var(--ocean);color:var(--ocean-deep);transform:translateY(-2px);transition:transform .12s}

/* --- issue accordions --- */
.issue{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;overflow:hidden;box-shadow:var(--shadow);scroll-margin-top:150px}
.issue>summary{list-style:none;cursor:pointer;padding:20px 22px;display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:start}
.issue>summary::-webkit-details-marker{display:none}
.issue .ic{grid-row:1 / span 2;font-size:1.5rem;line-height:1}
.issue .it{font-weight:800;font-size:1.16rem;color:var(--navy)}
.issue .isum{grid-column:2;color:var(--slate);font-size:.97rem}
.issue .chev{grid-column:3;grid-row:1 / span 2;align-self:center;color:var(--ocean);font-weight:800;transition:transform .15s}
.issue[open] .chev{transform:rotate(90deg)}
.issue .ibody{padding:0 22px 22px 60px;border-top:1px solid var(--line-soft)}
.issue .ibody ul{margin:.5em 0;padding-left:1.15em}
.issue .ibody li{margin:.3em 0;color:var(--ink)}
.filterbar{position:sticky;top:60px;z-index:60;background:var(--mist);padding:14px 0;border-bottom:1px solid var(--line)}
.filterbar .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filterbar input{min-width:0}
.filterbar input{flex:1;font:inherit;padding:.72em .95em;border:1.5px solid var(--line);border-radius:999px;background:#fff}
.filterbar input:focus{border-color:var(--ocean);outline:none}
.filterbar .count{font-size:.85rem;color:var(--slate);white-space:nowrap}

/* --- brand tiles --- */
.brand-tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 22px 26px;box-shadow:var(--shadow);overflow:hidden}
.brand-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--gold),var(--flamingo))}
.brand-tile .em{font-size:1.5rem}
.brand-tile h3{color:var(--navy);margin:.3em 0 .1em;font-size:1.12rem}
.brand-tile .lane{color:var(--ocean);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.brand-tile p{color:var(--slate);font-size:.95rem;margin:.4em 0 0}
.vidlib{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--mist);border:1px dashed #b9cbdd;border-radius:12px;padding:12px 14px;margin-top:14px}
.vidlib strong{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ocean)}
.embed{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;margin-top:12px;box-shadow:var(--shadow)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* --- quotes --- */
.quote{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.quote p{font-family:var(--serif);font-size:1.05rem;color:var(--navy);margin:0}
.quote.playful{border-left-color:var(--flamingo)}
.quote .lbl{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--flamingo-deep);font-weight:800;margin-bottom:6px}

/* --- forms (inert on staging) --- */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.field{margin:0 0 14px}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;color:var(--navy)}
.field input,.field textarea,.field select{width:100%;font:inherit;padding:.75em .85em;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ocean);outline:none}
.inert-note{background:#FBEFD6;color:#7a5a12;border:1px dashed #d9ad4e;border-radius:10px;padding:10px 12px;font-size:.86rem;font-weight:600}
.ph{background:#FBEFD6;color:#7a5a12;border:1px dashed #d9ad4e;border-radius:6px;padding:.08em .45em;font-size:.92em}
.ph-block{display:block;background:#FBEFD6;color:#6f5510;border:1px dashed #d9ad4e;border-radius:10px;padding:12px 14px;font-size:.9rem}

/* --- media-kit signature block --- */
.sigcard{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#EAF2FA;border-radius:var(--radius-lg);padding:28px 30px;box-shadow:var(--shadow-lg)}
.sigcard .line{margin:.15em 0;font-size:1.02rem}
.sigcard .big{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:2px}
.sigcard .gold{color:var(--gold);font-weight:800}

/* --- footer --- */
.site-foot{background:linear-gradient(180deg,var(--navy-2),var(--navy));color:#C7D8E8;padding:52px 0 30px;font-size:.93rem}
.site-foot a{color:#C7D8E8;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:26px}
.site-foot h4{color:#fff;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot li{margin:.4em 0}
.foot-brand .nm{font-family:var(--serif);font-size:1.3rem;color:#fff}
.socials{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.socials a{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:10px;font-weight:800;font-size:.82rem}
.socials a:hover{background:var(--ocean)}
.disclosure{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#8CA6BF;font-size:.82rem;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}

/* --- responsive --- */
@media (max-width:940px){
  .hero-grid{grid-template-columns:1fr;gap:30px;padding:44px 22px}
  .portrait{max-width:360px}
  .g3,.g4{grid-template-columns:1fr 1fr}
  .hubgrid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .filterbar{top:58px}
  .nav{position:fixed;inset:60px 0 auto 0;flex-direction:column;align-items:stretch;gap:2px;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 18px;display:none;box-shadow:var(--shadow-lg)}
  .nav.open{display:flex}
  .nav a{padding:.85em .6em;border-bottom:1px solid var(--line-soft)}
  .nav .btn{margin:8px 0 0}
  .burger{display:inline-flex}
}
@media (max-width:560px){
  .g2,.g3,.g4,.hubgrid,.foot-grid{grid-template-columns:1fr}
  .btn{width:100%}
  .hero .ctas .btn{width:100%}
  .announce p{min-width:120px}
}

/* Hero card (text-led hero until approved photos are supplied) */
.herocard{border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.22);padding:30px 28px;box-shadow:var(--shadow-lg);color:#fff}
.herocard .hc-eyebrow{margin:0;font-weight:800;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}
.herocard .hc-date{margin:.25em 0 0;font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.15;color:#fff}
.herocard .hc-name{margin:.2em 0 0;font-weight:800;font-size:1.15rem;color:#fff}
.herocard .hc-tag{margin:.3em 0 0;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#fff}
.herocard .hc-note{margin:.6em 0 1.1em;color:#BFD5EA;font-weight:600;font-size:.95rem}

/* Contrast fixes: buttons and form text inside navy sections */
.navy a.btn-gold,.navy a.btn-on-navy{color:var(--navy)}
.navy a.btn-primary{color:#fff}
.navy .form,.navy .form label,.navy .form p{color:var(--ink)}
.navy .form .muted{color:var(--slate)}
.navy .form a{color:var(--ocean-deep);text-decoration:underline}

/* Hero illustration (clearly captioned as AI-generated) */
.heroart{margin:0}
.heroart img{width:100%;height:auto;display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.22)}
.heroart figcaption{color:#BFD5EA;font-size:.82rem;margin-top:8px}

[hidden]{display:none!important}a.card{display:block;text-decoration:none;color:inherit}.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0}.consent input,input[type=checkbox]{width:auto;flex:0 0 auto;margin-top:.25rem}.form-error{color:#9b1726;font-weight:600}.form-status:empty{display:none}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid #d08800;outline-offset:4px}details{scroll-margin-top:110px}blockquote{margin:0} .quote{overflow-wrap:anywhere}
