:root{
      --navy:#001b50;
      --navy-2:#10275b;
      --orange:#e38612;
      --ink:#111827;
      --muted:#5f6877;
      --cream:#f4f1ea;
      --white:#ffffff;
      --line:#d9dde6;
      --shadow:0 18px 45px rgba(0,27,80,.14);
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.45}

/* Smooth scroll + reveal motion */
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{overflow-x:hidden}
.reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .72s cubic-bezier(.2,.65,.25,1),transform .72s cubic-bezier(.2,.65,.25,1);will-change:opacity,transform}
.reveal.reveal-left{transform:translate3d(-34px,0,0)}
.reveal.reveal-right{transform:translate3d(34px,0,0)}
.reveal.reveal-scale{transform:scale(.975);transform-origin:center center}
.reveal.is-visible{opacity:1;transform:none}
.claim.reveal:nth-child(2){transition-delay:.07s}
.claim.reveal:nth-child(3){transition-delay:.14s}
.claim.reveal:nth-child(4){transition-delay:.21s}
.photo-strip figure.reveal:nth-child(2){transition-delay:.08s}
.photo-strip figure.reveal:nth-child(3){transition-delay:.16s}
.source.reveal{transition-duration:.58s}
.source-list .source.reveal:nth-child(2){transition-delay:.04s}
.source-list .source.reveal:nth-child(3){transition-delay:.08s}
.source-list .source.reveal:nth-child(4){transition-delay:.12s}
.source-list .source.reveal:nth-child(5){transition-delay:.16s}
.source-list .source.reveal:nth-child(6){transition-delay:.20s}
.source-list .source.reveal:nth-child(7){transition-delay:.24s}
.fact-image img,.photo-strip img,.hero{will-change:transform}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.reveal-left,.reveal.reveal-right,.reveal.reveal-scale{opacity:1!important;transform:none!important;transition:none!important}
  .fact-image img,.photo-strip img,.hero{transform:none!important}
}
    img{display:block;max-width:100%}
    a{color:inherit}
    .wrap{width:min(var(--max),calc(100% - 42px));margin:0 auto}
    .condensed{font-family:"Arial Narrow","Helvetica Neue Condensed",Arial,Helvetica,sans-serif;font-stretch:condensed}
    .orange-rule{height:9px;background:var(--orange)}

    /* Campaign-style header */
    .site-header{background:#fff;border-bottom:1px solid #e7e9ee;position:relative;z-index:20}
    .header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 0}
    .campaign-logo{display:block;text-decoration:none;line-height:0;flex:0 0 auto}
    .campaign-logo img{display:block;height:112px;width:auto;max-width:min(100%,560px)}
    .navlinks{display:flex;gap:22px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy)}
    .navlinks a{text-decoration:none}
    .navlinks a:hover{color:var(--orange)}

    /* Hero mirrors the headline-bar treatment from the mail pieces */
    .hero{position:relative;min-height:570px;background:url('assets/aaron-conversation.jpg') center 38%/cover no-repeat;overflow:hidden}
    .hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,27,80,.08),rgba(0,27,80,0) 55%),linear-gradient(0deg,rgba(0,18,55,.52),transparent 48%)}
    .hero-copy{position:absolute;left:0;right:0;bottom:42px}
    .headline-bar{display:table;max-width:1050px;color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:-.018em;line-height:1.02;box-shadow:0 8px 18px rgba(0,0,0,.09)}
    .headline-bar.navy{background:var(--navy);font-size:clamp(26px,4.5vw,56px);padding:14px 24px}
    .headline-bar.orange{background:var(--orange);font-size:clamp(20px,3.2vw,38px);padding:11px 24px;margin-left:auto;margin-right:2.5%;margin-top:-2px}
    .hero-mobile-kicker{display:none}

    /* Truth statement */
    .truth-statement{background:var(--cream);padding:62px 0 0;overflow:hidden}
    .truth-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:end;min-height:440px}
    .cutout{align-self:end;justify-self:center;width:min(470px,95%);filter:drop-shadow(0 20px 26px rgba(0,27,80,.14))}
    .truth-copy{padding:20px 0 72px 28px;border-left:2px solid var(--orange)}
    .truth-copy .lead{font-size:clamp(20px,2.2vw,29px);font-weight:700;color:var(--navy);margin:0 0 10px}
    .truth-copy h1{margin:0;text-transform:uppercase;color:var(--navy);font-size:clamp(48px,7vw,82px);line-height:.91;letter-spacing:-.045em;max-width:640px}
    .truth-copy h1 span{color:var(--orange)}
    .truth-copy p{margin:23px 0 0;max-width:650px;font-size:18px;color:#3d4757}
    .truth-copy .record-callout{display:inline-block;margin-top:22px;background:var(--navy);color:#fff;padding:11px 15px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}

    /* Four primary claims */
    .claims{background:#fff;padding:64px 0 70px}
    .section-kicker{color:var(--orange);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.13em;margin-bottom:9px}
    .claims h2,.facts-head h2{margin:0;color:var(--navy);font-size:clamp(35px,5vw,58px);line-height:.98;text-transform:uppercase;letter-spacing:-.035em}
    .claims-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}
    .claims-intro p{margin:0 0 3px;max-width:470px;color:var(--muted);font-size:17px}
    .claim-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:6px solid var(--navy);box-shadow:var(--shadow)}
    .claim{position:relative;background:var(--cream);min-height:220px;padding:30px 24px 27px;border-right:3px solid #fff}
    .claim:last-child{border-right:0}
    .claim-no{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-weight:900;margin-bottom:24px}
    .claim h3{margin:0;color:var(--navy);font-size:25px;line-height:1.01;text-transform:uppercase;letter-spacing:-.025em}
    .claim p{margin:12px 0 0;color:#596273;font-size:14px}

    /* Photo strip from the mailer photography */
    .photo-strip{display:grid;grid-template-columns:repeat(3,1fr);height:250px;border-top:5px solid #fff;border-bottom:5px solid #fff;background:var(--navy)}
    .photo-strip figure{margin:0;overflow:hidden;border-right:5px solid #fff}
    .photo-strip figure:last-child{border-right:0}
    .photo-strip img{width:100%;height:100%;object-fit:cover}
    .photo-strip figure:nth-child(1) img{object-position:center 40%}
    .photo-strip figure:nth-child(2) img{object-position:center 35%}
    .photo-strip figure:nth-child(3) img{object-position:center 35%}

    /* Records */
    .facts{background:var(--navy);padding:72px 0 90px}
    .facts-head{color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:34px}
    .facts-head h2{color:#fff}
    .facts-head p{margin:0;color:#d7deed;font-size:18px;max-width:520px}
    .fact-section{background:#fff;margin-top:30px;box-shadow:0 18px 35px rgba(0,0,0,.12)}
    .fact-banner{display:grid;grid-template-columns:380px 1fr;min-height:310px}
    .fact-image{overflow:hidden;background:#dfe4ec}
    .fact-image img{width:100%;height:100%;object-fit:cover}
    .fact-banner-copy{padding:42px 46px;display:flex;flex-direction:column;justify-content:center;position:relative}
    .fact-banner-copy:before{content:"";position:absolute;top:0;left:0;width:100%;height:8px;background:var(--orange)}
    .fact-number{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin-bottom:10px}
    .fact-banner h3{margin:0;color:var(--navy);text-transform:uppercase;letter-spacing:-.035em;font-size:clamp(34px,4.5vw,58px);line-height:.95}
    .fact-banner p{font-size:18px;color:#4b5565;margin:18px 0 0;max-width:640px}
    .fact-banner .big-claim{display:inline-block;color:var(--navy);font-weight:900;margin-top:17px;text-transform:uppercase;font-size:16px}
    .fact-sources{padding:0 46px 42px}
    .source-title{font-size:13px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--navy);padding:22px 0 13px;border-top:1px solid var(--line)}
    .source-list{display:grid;gap:10px}
    .source{display:grid;grid-template-columns:128px 1fr 34px;gap:19px;align-items:center;padding:15px 16px;background:#f7f6f2;border-left:5px solid var(--orange);text-decoration:none;transition:.16s ease}
    .source:hover{transform:translateX(3px);background:#f0eee7}
    .source.static{cursor:default}
    .bill{font-weight:900;color:var(--navy);font-size:18px}
    .vote{font-size:11px;color:#8b5b09;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
    .source p{margin:0;font-size:14px;color:#424c5c}
    .arrow{font-weight:900;color:var(--orange);font-size:22px;text-align:center}
    .dark-card .fact-banner-copy{background:var(--navy);color:#fff}
    .dark-card .fact-banner-copy h3,.dark-card .fact-banner-copy .big-claim{color:#fff}
    .dark-card .fact-banner-copy p{color:#dbe3f2}
    .dark-card .fact-number{color:#ffb13f}
    #border .fact-image img{object-position:62% center}
    #public-safety .fact-image img{object-position:22% center}
    #taxes .fact-image img{object-position:center 45%}
    #teachers .fact-image img{object-position:center 40%}

    /* Results-over-politics finish mirrors water mail piece */
    .results{position:relative;min-height:470px;background:url('assets/aaron-water-walk.jpg') center 28%/cover no-repeat;display:flex;align-items:flex-end}
    .results:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,27,80,.85),rgba(0,27,80,.22) 62%,rgba(0,27,80,.05)),linear-gradient(0deg,rgba(0,27,80,.62),transparent 50%)}
    .results-content{position:relative;z-index:2;padding:58px 0;width:100%}
    .results-box{max-width:700px}
    .results h2{display:inline;background:var(--orange);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:4px 10px;color:#fff;text-transform:uppercase;font-size:clamp(38px,5vw,64px);line-height:1.1;letter-spacing:-.035em}
    .results p{color:#fff;font-size:20px;max-width:680px;margin:22px 0 25px}

    footer{background:var(--navy);color:#fff;border-top:8px solid var(--orange)}
    .footer-inner{padding:24px 0 28px;text-align:center}
    .footer-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
    .footer-url{font-size:21px;font-weight:900;letter-spacing:0;text-transform:none;margin-top:8px}
    .footer-disclaimer{margin-top:10px;font-size:11px;line-height:1.45;opacity:.95}

    @media(max-width:980px){
      .navlinks a{display:none}
      .truth-grid{grid-template-columns:.8fr 1.2fr}.truth-copy{padding-left:18px}.cutout{width:100%}
      .claim-grid{grid-template-columns:1fr 1fr}.claim:nth-child(2){border-right:0}.claim:nth-child(-n+2){border-bottom:3px solid #fff}
      .facts-head{grid-template-columns:1fr;gap:18px}.fact-banner{grid-template-columns:310px 1fr}.fact-banner-copy{padding:35px 34px}.fact-sources{padding:0 34px 36px}
    }
    @media(max-width:720px){
      .wrap{width:min(var(--max),calc(100% - 28px))}
      .header-inner{padding:12px 0}.campaign-logo img{height:72px;max-width:100%}
      .hero{min-height:500px;background-position:55% 40%}.hero-copy{bottom:27px}.headline-bar.navy{font-size:31px;padding:12px 15px}.headline-bar.orange{font-size:22px;padding:9px 15px;margin-right:0;margin-left:32px}
      .truth-statement{padding-top:38px}.truth-grid{grid-template-columns:1fr}.cutout{width:320px;order:2}.truth-copy{order:1;border-left:0;border-top:2px solid var(--orange);padding:28px 0 12px}.truth-copy h1{font-size:52px}.truth-copy p{font-size:16px}
      .claims{padding:50px 0}.claims-intro{display:block}.claims-intro p{margin-top:14px}.claim-grid{grid-template-columns:1fr}.claim{min-height:0;border-right:0;border-bottom:3px solid #fff!important}.claim:last-child{border-bottom:0!important}.claim-no{margin-bottom:14px}
      .photo-strip{height:auto;grid-template-columns:1fr}.photo-strip figure{height:230px;border-right:0;border-bottom:5px solid #fff}.photo-strip figure:last-child{border-bottom:0}
      .facts{padding:54px 0 70px}.fact-section{margin-top:22px}.fact-banner{grid-template-columns:1fr}.fact-image{height:280px}.fact-banner-copy{padding:32px 24px}.fact-sources{padding:0 20px 28px}.source{grid-template-columns:1fr 28px;gap:8px 12px}.source>div:first-child{grid-column:1}.source>div:nth-child(2){grid-column:1}.source .arrow{grid-column:2;grid-row:1/3}.source p{font-size:13px}.bill{font-size:17px}
      .results{min-height:520px;background-position:58% 28%}.results:before{background:linear-gradient(0deg,rgba(0,27,80,.88),rgba(0,27,80,.20) 72%)}.results-content{padding:38px 0}.results h2{font-size:40px}.results p{font-size:17px}
      .footer-url{margin-top:7px;font-size:18px}.footer-disclaimer{font-size:10px}
    }


/* Final visual polish */
.site-header{box-shadow:0 1px 0 rgba(0,27,80,.05)}
.header-inner{padding:12px 0}
.campaign-logo img{height:94px}
.navlinks{gap:20px;font-size:12.5px}

.hero{min-height:540px;background-position:58% 6%}
.hero-copy{bottom:36px}
.headline-bar.navy{padding:13px 22px}
.headline-bar.orange{padding:10px 22px}

.truth-statement{padding-top:52px}
.truth-grid{min-height:418px}
.cutout{width:min(450px,94%)}
.truth-copy{padding:18px 0 58px 30px}
.truth-copy .lead{font-size:clamp(20px,2vw,27px)}
.truth-copy h1{font-size:clamp(46px,6.3vw,76px);line-height:.93;max-width:620px}
.truth-copy p{font-size:17px;line-height:1.55;margin-top:20px;max-width:625px}
.truth-copy .record-callout{margin-top:20px;padding:10px 14px}

.claims{padding:56px 0 60px}
.claims-intro{margin-bottom:26px}
.claims-intro p{font-size:16px;line-height:1.5}
.claim{min-height:202px;padding:25px 22px 24px}
.claim-no{width:40px;height:40px;margin-bottom:18px;font-size:14px}
.claim h3{font-size:23px;line-height:1.04}
.claim p{font-size:13.5px;line-height:1.5;margin-top:10px}

.facts{padding:64px 0 80px}
.facts-head{gap:46px;margin-bottom:28px}
.facts-head p{font-size:17px;line-height:1.55}
.fact-section{margin-top:24px;box-shadow:0 14px 30px rgba(0,0,0,.11)}
.fact-banner{grid-template-columns:350px 1fr;min-height:295px}
.fact-banner-copy{padding:36px 40px}
.fact-banner h3{font-size:clamp(32px,4.1vw,52px);line-height:.97}
.fact-banner p{font-size:17px;line-height:1.52;margin-top:16px;max-width:690px}
.fact-banner .big-claim{margin-top:15px;font-size:15px}
.fact-sources{padding:0 40px 34px}
.source-title{padding:19px 0 11px}
.source-list{gap:8px}
.source{grid-template-columns:118px 1fr 30px;gap:16px;padding:13px 14px}
.source p{font-size:13.5px;line-height:1.45}
.bill{font-size:17px}

#border .fact-image img{object-position:62% center}
#public-safety .fact-image img{object-position:22% center}
#taxes .fact-image img{object-position:center 42%}
#teachers .fact-image img{object-position:center 38%}

.results{min-height:500px;background-position:center 18%}
.results-content{padding:50px 0 62px}
.results-box{max-width:650px}
.results h2{font-size:clamp(36px,4.5vw,58px)}
.results p{font-size:19px;line-height:1.55;max-width:620px;margin:20px 0 23px}
.footer-inner{padding:20px 0 23px}

@media(max-width:980px){
  .campaign-logo img{height:84px}
  .fact-banner{grid-template-columns:300px 1fr}
  .fact-banner-copy{padding:32px 32px}
  .fact-sources{padding:0 32px 32px}
}
@media(max-width:720px){
  .header-inner{padding:10px 0}.campaign-logo img{height:68px}
  .hero{min-height:475px;background-position:60% 10%}
  .hero-copy{bottom:24px}
  .truth-statement{padding-top:34px}.truth-grid{min-height:0}.cutout{width:300px}
  .truth-copy{padding:25px 0 10px}.truth-copy h1{font-size:48px}.truth-copy p{font-size:15.5px}
  .claims{padding:44px 0 48px}.claims-intro{margin-bottom:22px}.claim{padding:22px 20px}.claim h3{font-size:22px}
  .facts{padding:48px 0 62px}.facts-head{margin-bottom:22px}.facts-head p{font-size:16px}
  .fact-section{margin-top:18px}.fact-banner{grid-template-columns:1fr}.fact-image{height:260px}.fact-banner-copy{padding:29px 22px}
  .fact-banner h3{font-size:36px}.fact-banner p{font-size:15.5px}.fact-sources{padding:0 18px 25px}
  .source{padding:12px 12px;gap:8px 10px}.source p{font-size:12.5px}
  .results{min-height:500px;background-position:60% 16%}.results-content{padding:34px 0 40px}.results h2{font-size:37px}.results p{font-size:16px;max-width:92%}
}


/* Ultra-fine final pass */
.header-inner{padding:10px 0}
.campaign-logo img{height:90px}
.navlinks{gap:18px}

.hero{min-height:528px;background-position:58% 6%}
.headline-bar{max-width:980px}
.headline-bar.navy{padding:12px 20px}
.headline-bar.orange{padding:10px 20px;margin-right:1.5%}

.claims{padding:52px 0 56px}
.claim-grid{box-shadow:0 14px 34px rgba(0,27,80,.12)}

.facts-head{gap:38px;margin-bottom:24px}
.fact-section{margin-top:20px}
.fact-banner{grid-template-columns:340px 1fr;min-height:286px}
.fact-banner-copy{padding:34px 38px}
.fact-banner p{max-width:660px}
.fact-sources{padding:0 38px 32px}
.source{padding:12px 14px}

#border .fact-image img{object-position:64% center}
#public-safety .fact-image img{object-position:26% center}

.results{min-height:490px;background-position:52% 14%}
.results-content{padding:46px 0 56px}
.results-box{max-width:620px}
.results p{max-width:600px}

@media(max-width:980px){
  .campaign-logo img{height:82px}
  .hero{background-position:62% 22%}
  .fact-banner{grid-template-columns:292px 1fr}
  .fact-banner-copy{padding:30px 30px}
  .fact-sources{padding:0 30px 30px}
}
@media(max-width:720px){
  .header-inner{padding:9px 0}
  .campaign-logo img{height:64px}
  .hero{min-height:468px;background-position:60% 10%}
  .headline-bar.navy{padding:11px 14px}
  .headline-bar.orange{padding:8px 14px;margin-left:26px}
  .claims{padding:42px 0 46px}
  .fact-banner-copy{padding:27px 20px}
  .results{min-height:490px;background-position:61% 13%}
  .results-content{padding:32px 0 38px}
}


/* Hero crop hotfix: keep Aaron's head fully visible */
.hero{background-position:58% 6% !important}
@media(max-width:720px){.hero{background-position:60% 10% !important}}


/* FINAL crop + spacing lock */
.hero{
  min-height:520px;
  background-position:58% top !important;
}
.hero-copy{bottom:30px}
.headline-bar.navy{max-width:930px}
.headline-bar.orange{margin-right:2%}

#border .fact-image img{object-position:66% center}
#public-safety .fact-image img{object-position:28% center}

.results{
  min-height:485px;
  background-position:52% 12% !important;
}

@media(max-width:980px){
  .hero{background-position:60% top !important}
}
@media(max-width:720px){
  .hero{min-height:460px;background-position:62% top !important}
  .hero-copy{bottom:22px}
  .results{background-position:61% 11% !important}
}

/* Oct. 8 content addition: preserve original four-card row and add one featured fact */
.claim-featured{
  grid-column:1/-1;
  min-height:0;
  display:grid;
  grid-template-columns:48px minmax(300px,.9fr) 1.25fr;
  gap:20px;
  align-items:center;
  padding:20px 24px;
  border-right:0;
  border-bottom:3px solid #fff;
}
.claim-featured .claim-no{margin:0}
.claim-featured h3{font-size:27px}
.claim-featured p{margin:0;font-size:14px;max-width:680px}
#sports .fact-image img{object-position:center center}
#sports .sports-context{grid-template-columns:150px 1fr 30px}
#sports .sports-context p{max-width:900px}

@media(max-width:980px){
  .claim-featured{grid-template-columns:44px 1fr;gap:10px 16px}
  .claim-featured p{grid-column:2;margin-top:0}
}
@media(max-width:720px){
  .claim-featured{display:block;padding:22px 20px}
  .claim-featured .claim-no{margin-bottom:14px}
  .claim-featured h3{font-size:22px}
  .claim-featured p{margin-top:10px}
  #sports .sports-context{grid-template-columns:1fr 28px}
}


/* Oct. 8 layout refinement: five consistent fact rows */
.claim-list{
  display:block;
  border-top:6px solid var(--navy);
  box-shadow:0 14px 34px rgba(0,27,80,.12);
}
.claim-list .claim{
  display:grid;
  grid-template-columns:58px minmax(330px,.9fr) 1.25fr;
  gap:24px;
  align-items:center;
  min-height:0;
  padding:20px 28px;
  border-right:0;
  border-bottom:3px solid #fff;
  background:var(--cream);
}
.claim-list .claim:last-child{border-bottom:0}
.claim-list .claim-no{margin:0;width:44px;height:44px}
.claim-list .claim h3{margin:0;font-size:25px;line-height:1.02}
.claim-list .claim p{margin:0;font-size:14px;line-height:1.45;max-width:700px}

@media(max-width:980px){
  .claim-list .claim{
    grid-template-columns:52px 1fr;
    gap:8px 18px;
    padding:20px 24px;
  }
  .claim-list .claim p{grid-column:2}
}
@media(max-width:720px){
  .claim-list .claim{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:8px 14px;
    padding:18px 18px;
  }
  .claim-list .claim-no{width:40px;height:40px}
  .claim-list .claim h3{font-size:21px}
  .claim-list .claim p{grid-column:2;font-size:13px}
}


/* Final link cleanup */

/* Squarespace embed only: keep the campaign site's original hero and content,
   but let the parent Squarespace website provide the page header/navigation. */
html.aaron-facts-embedded .orange-rule,
html.aaron-facts-embedded .site-header {
  display: none !important;
}
html.aaron-facts-embedded {
  scroll-padding-top: 16px;
}
