/*
Theme Name:     Freedom To Drive
Theme URI:      https://freedomtodriveusa.com/
Description:    Standalone WordPress theme for the Freedom To Drive / Route 0 movement site (v2 design). Works on its own without Elementor; if Elementor is installed, page templates can be overridden in the Elementor editor.
Author:         NP Agency
Author URI:     https://npagency.com/
Version:        2.0.0
License:        Proprietary
Text Domain:    freedom-to-drive
Tags:           one-column, custom-menu, custom-logo, featured-images, block-patterns
Requires at least: 6.0
Requires PHP:   8.0
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root{
  --ftd-cream:#F4EFE6;
  --ftd-cream-2:#EEE6D6;
  --ftd-navy:#0E2545;
  --ftd-navy-2:#0A1B33;
  --ftd-navy-3:#091529;
  --ftd-red:#C8232C;
  --ftd-red-dark:#A11A22;
  --ftd-bluegrey:#7891B0;
  --ftd-muted:#1f3a63;
  --ftd-yellow:#F8E16C;
  --ftd-border:#d6cdb8;
  --ftd-container:1240px;
  --ftd-container-narrow:1100px;
}

/* =========================================================
   BASE
   ========================================================= */
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Lora', Georgia, serif;
  color:var(--ftd-navy);
  background:var(--ftd-cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--ftd-red); text-decoration:none; transition:color .2s; }
a:hover{ color:var(--ftd-red-dark); }

/* Skip link */
.skip-link{ position:absolute; left:-9999px; top:0; }
.skip-link:focus{ left:8px; top:8px; background:var(--ftd-navy); color:var(--ftd-cream); padding:8px 14px; z-index:9999; }

/* =========================================================
   GRUNGE OVERLAY
   ========================================================= */
.ftd-grain{
  position:fixed; inset:0; pointer-events:none; z-index:1;
  mix-blend-mode:multiply; opacity:.12;
  background-image:url("assets/svg/grain.svg");
}

/* =========================================================
   SITE HEADER — cream bg, badge left, nav centered, no right items
   ========================================================= */
.ftd-site-header{
  background:var(--ftd-cream);
  padding:22px 32px;
  position:relative;
  z-index:10;
}
.ftd-header-inner{
  max-width:var(--ftd-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:120px 1fr 120px;
  align-items:center;
  gap:24px;
}
.ftd-header-brand{
  display:inline-flex;
  align-items:center;
  width:96px;
  height:96px;
}
.ftd-header-brand svg{ width:100%; height:100%; }
.ftd-primary-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
}
.ftd-primary-nav ul{
  list-style:none;
  display:flex;
  gap:48px;
  margin:0;
  padding:0;
}
.ftd-primary-nav a{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  letter-spacing:.02em;
  font-size:20px;
  color:var(--ftd-navy);
  text-decoration:none;
  padding:6px 2px;
  transition:color .2s;
}
.ftd-primary-nav a:hover,
.ftd-primary-nav .current-menu-item > a,
.ftd-primary-nav .current_page_item > a,
.ftd-primary-nav a[aria-current="page"]{
  color:var(--ftd-navy);
  text-decoration:underline;
  text-underline-offset:6px;
  text-decoration-thickness:2px;
}

/* Mobile nav toggle */
.ftd-nav-toggle{
  display:none;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:8px;
  color:var(--ftd-navy);
}
.ftd-nav-toggle svg{ width:28px; height:28px; }

/* =========================================================
   HERO
   ========================================================= */
.ftd-hero{
  text-align:center;
  padding:24px 24px 40px;
  background:var(--ftd-cream);
  position:relative;
}
.ftd-hero-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-style:italic;
  color:var(--ftd-red);
  font-size:clamp(64px, 11vw, 168px);
  line-height:.95;
  letter-spacing:-.01em;
  text-transform:uppercase;
  margin-bottom:36px;
}
.ftd-hero-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.ftd-bolt{
  display:inline-block;
  width:clamp(36px, 5vw, 64px);
  height:clamp(50px, 7vw, 90px);
  color:var(--ftd-navy);
  flex-shrink:0;
}
.ftd-shield-inline{
  display:inline-flex;
  width:clamp(70px, 9vw, 130px);
  height:auto;
  flex-shrink:0;
  vertical-align:middle;
}

/* Hero carousel slot (hidden for launch by default) */
.ftd-hero-carousel{
  max-width:var(--ftd-container);
  margin:0 auto 40px;
  position:relative;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio: 16 / 7;
  background:#d3cfc4;
}
.ftd-hero-carousel.is-hidden{ display:none; }
.ftd-hero-carousel-tag{
  position:absolute; top:12px; left:12px;
  background:var(--ftd-yellow);
  color:var(--ftd-navy);
  font-family:'Oswald', sans-serif;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:3px;
  z-index:5;
}
.ftd-carousel-track{
  display:flex;
  height:100%;
  transition:transform .6s cubic-bezier(.4,0,.2,1);
}
.ftd-carousel-slide{
  flex:0 0 100%;
  height:100%;
  background-size:cover;
  background-position:center;
}
.ftd-carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.7);
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:24px; color:var(--ftd-navy);
  transition:background .2s;
  z-index:5;
}
.ftd-carousel-btn:hover{ background:#fff; }
.ftd-carousel-prev{ left:14px; }
.ftd-carousel-next{ right:14px; }

/* =========================================================
   PILL HEADING (used in About, Priorities, Latest News)
   ========================================================= */
.ftd-pill{
  display:inline-block;
  border:2px solid var(--ftd-navy);
  color:var(--ftd-navy);
  font-family:'Oswald', sans-serif;
  font-weight:700;
  letter-spacing:.18em;
  padding:12px 36px;
  border-radius:60px;
  font-size:18px;
  text-transform:uppercase;
  background:var(--ftd-cream);
}
.ftd-pill-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 36px;
}
.ftd-pill-row .ftd-bolt{
  width:30px;
  height:38px;
  color:var(--ftd-navy);
}

/* On navy sections: invert pill */
.ftd-section-navy .ftd-pill{
  background:transparent;
  border-color:#fff;
  color:#fff;
}

/* =========================================================
   ABOUT SECTION (home)
   ========================================================= */
.ftd-section-about{
  background:var(--ftd-cream);
  padding:24px 24px 60px;
  text-align:center;
  position:relative;
}
.ftd-about-cols{
  max-width:var(--ftd-container-narrow);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  text-align:left;
  font-size:16px;
  color:var(--ftd-navy);
}
.ftd-about-cols p{ margin-bottom:1em; }
.ftd-stars{
  display:flex;
  justify-content:center;
  gap:20px;
  margin:48px 0 8px;
  color:var(--ftd-red);
  font-size:18px;
}
.ftd-flag-divider{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  max-width:var(--ftd-container);
  margin:0 auto;
  padding:0 24px;
}
.ftd-flag-divider svg{
  width:280px;
  height:auto;
}

/* =========================================================
   PRIORITIES SECTION (home navy band)
   ========================================================= */
.ftd-section-priorities{
  background:var(--ftd-navy);
  color:#fff;
  padding:72px 24px 80px;
  position:relative;
}
.ftd-priorities-list{
  max-width:var(--ftd-container);
  margin:0 auto;
  display:flex;
  flex-direction:column;
}
.ftd-priority-row{
  display:grid;
  grid-template-columns:140px 32px 1fr 1fr;
  gap:24px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.ftd-priority-row:last-child{ border-bottom:0; }
.ftd-priority-num{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-style:italic;
  font-size:96px;
  line-height:.85;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.6);
  letter-spacing:-.02em;
  user-select:none;
}
.ftd-priority-star{ color:#fff; font-size:18px; text-align:center; }
.ftd-priority-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:28px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
  line-height:1.05;
}
.ftd-priority-bullets{
  list-style:none;
  padding:0; margin:0;
  font-size:14px;
  color:#dbe3ef;
  line-height:1.7;
}
.ftd-priority-bullets li{
  padding-left:14px;
  position:relative;
}
.ftd-priority-bullets li::before{
  content:"•";
  position:absolute;
  left:0;
  color:var(--ftd-red);
}

/* =========================================================
   PHOTO/VIDEO FEATURE BLOCK (between Priorities and News on home)
   ========================================================= */
.ftd-feature-block{
  position:relative;
  background:var(--ftd-navy);
}
.ftd-feature-block-inner{
  max-width:var(--ftd-container);
  margin:0 auto;
  aspect-ratio: 16 / 6;
  background:#c8c3b6;
  position:relative;
  background-size:cover;
  background-position:center;
}
.ftd-feature-block.is-hidden{ display:none; }
.ftd-feature-tag{
  position:absolute; top:14px; left:14px;
  background:var(--ftd-yellow);
  color:var(--ftd-navy);
  font-family:'Oswald', sans-serif;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:3px;
}

/* =========================================================
   LATEST NEWS (home)
   ========================================================= */
.ftd-section-news{
  background:var(--ftd-cream);
  padding:72px 24px 90px;
  position:relative;
}
.ftd-news-grid{
  max-width:var(--ftd-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:48px 56px;
}
.ftd-news-card{
  position:relative;
  padding:14px 14px 18px 22px;
  cursor:pointer;
  transition:transform .2s;
}
.ftd-news-card::before{
  content:"";
  position:absolute;
  left:0; top:14px; bottom:48px;
  width:4px;
  background:var(--ftd-red);
}
.ftd-news-card:hover{ transform:translateY(-3px); }
.ftd-news-date{
  font-family:'Oswald', sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--ftd-red);
  text-transform:uppercase;
  margin-bottom:8px;
  font-weight:600;
}
.ftd-news-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:24px;
  line-height:1.05;
  color:var(--ftd-navy);
  text-transform:uppercase;
  margin-bottom:10px;
  letter-spacing:-.005em;
}
.ftd-news-title a{
  color:inherit;
  text-decoration:none;
}
.ftd-news-title a:hover{ color:var(--ftd-red); }
.ftd-news-preview{
  font-family:'Lora', serif;
  font-size:14px;
  color:var(--ftd-navy);
  margin-bottom:14px;
  line-height:1.55;
}
.ftd-read-btn{
  display:inline-block;
  border:2px solid var(--ftd-navy);
  color:var(--ftd-navy);
  font-family:'Oswald', sans-serif;
  font-weight:700;
  letter-spacing:.16em;
  padding:6px 22px;
  border-radius:30px;
  font-size:12px;
  text-transform:uppercase;
  background:transparent;
  cursor:pointer;
  transition:all .2s;
  text-decoration:none;
}
.ftd-read-btn:hover{
  background:var(--ftd-navy);
  color:var(--ftd-cream);
}

/* Press page card variant with PHOTO on top */
.ftd-news-card--with-photo{ padding-left:0; }
.ftd-news-card--with-photo::before{
  top:auto;
  bottom:60px;
  left:0;
  height:90px;
  top:auto;
  bottom:50px;
}
.ftd-news-card--with-photo .ftd-news-photo{
  background:#c8c3b6;
  aspect-ratio: 16 / 10;
  margin-bottom:18px;
  background-size:cover;
  background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-family:'Oswald', sans-serif;
  color:var(--ftd-navy);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ftd-news-card--with-photo .ftd-news-meta-wrap{
  padding-left:22px;
  position:relative;
}
.ftd-news-card--with-photo .ftd-news-meta-wrap::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:48px;
  width:4px;
  background:var(--ftd-red);
}

/* Pagination */
.ftd-pagination{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-top:48px;
  font-family:'Oswald', sans-serif;
  font-size:18px;
  color:var(--ftd-navy);
}
.ftd-pagination a,
.ftd-pagination span{
  padding:6px 10px;
  text-decoration:none;
  color:var(--ftd-navy);
}
.ftd-pagination .current{ font-weight:700; color:var(--ftd-red); }
.ftd-pagination a:hover{ color:var(--ftd-red); }

/* =========================================================
   PETITION SECTION (home)
   ========================================================= */
.ftd-section-petition{
  background:var(--ftd-navy);
  color:#fff;
  padding:72px 24px 80px;
  text-align:center;
}
.ftd-petition-inner{
  max-width:780px;
  margin:0 auto;
}
.ftd-petition-logo{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:28px;
  color:#fff;
  margin-bottom:18px;
  letter-spacing:.02em;
}
.ftd-petition-logo .accent{ color:var(--ftd-red); }
.ftd-petition-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:24px;
  letter-spacing:.16em;
  color:var(--ftd-yellow);
  text-transform:uppercase;
  margin-bottom:32px;
}
.ftd-petition-embed{
  background:rgba(255,255,255,.05);
  border-radius:6px;
  padding:8px;
}
.ftd-petition-embed--placeholder{
  background:transparent;
  text-align:left;
}
.ftd-petition-fallback{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.ftd-petition-fallback input,
.ftd-petition-fallback textarea{
  width:100%;
  padding:12px 14px;
  border:none;
  border-bottom:3px solid var(--ftd-yellow);
  background:var(--ftd-cream);
  font-family:'Lora', serif;
  font-size:15px;
  color:var(--ftd-navy);
}
.ftd-petition-fallback .full{ grid-column:1/-1; }
.ftd-petition-fallback textarea{ min-height:130px; resize:vertical; }
.ftd-petition-submit{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:2px solid #fff;
  background:transparent;
  color:#fff;
  font-family:'Oswald', sans-serif;
  font-weight:700;
  letter-spacing:.16em;
  padding:10px 28px;
  border-radius:40px;
  text-transform:uppercase;
  font-size:13px;
  cursor:pointer;
  transition:all .2s;
  margin-top:18px;
}
.ftd-petition-submit:hover{ background:#fff; color:var(--ftd-navy); }
.ftd-petition-note{
  font-size:12px;
  color:rgba(255,255,255,.55);
  margin-top:18px;
  font-family:'Oswald', sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* =========================================================
   ABOUT PAGE
   ========================================================= */
.ftd-page-about{
  background:var(--ftd-cream);
  padding:24px 0 0;
  position:relative;
}
.ftd-about-intro{
  max-width:var(--ftd-container-narrow);
  margin:0 auto;
  padding:48px 24px 24px;
  position:relative;
}
.ftd-about-intro::after{
  content:"";
  position:absolute;
  right:-40px; top:0;
  width:280px;
  height:320px;
  background-image:url("assets/svg/highway-shield-watermark.svg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.15;
  pointer-events:none;
  z-index:0;
}
.ftd-about-intro > *{ position:relative; z-index:1; }
.ftd-about-tagline{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:clamp(24px, 3.2vw, 32px);
  line-height:1.2;
  color:var(--ftd-navy);
  max-width:560px;
  margin-bottom:32px;
}
.ftd-about-body{
  max-width:780px;
  font-size:15px;
  color:var(--ftd-navy);
}
.ftd-about-body p{ margin-bottom:1em; }

.ftd-about-priorities-heading{
  max-width:var(--ftd-container);
  margin:60px auto 40px;
  padding:0 24px;
  text-align:center;
}
.ftd-about-priorities-heading .ftd-stars{ color:var(--ftd-red); margin-bottom:24px; }
.ftd-about-priorities-heading h2{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-style:italic;
  font-size:clamp(56px, 9vw, 130px);
  line-height:1;
  color:var(--ftd-red);
  letter-spacing:-.01em;
  text-transform:uppercase;
}

.ftd-priority-block{
  background:var(--ftd-navy);
  color:#fff;
  position:relative;
}
.ftd-priority-block:nth-child(even){ background:var(--ftd-navy-2); }
.ftd-priority-block-inner{
  max-width:var(--ftd-container);
  margin:0 auto;
  padding:64px 24px;
  display:grid;
  grid-template-columns:120px 1fr 1fr;
  gap:32px;
  align-items:start;
  position:relative;
}
.ftd-priority-block-num{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-style:italic;
  font-size:160px;
  line-height:.85;
  color:transparent;
  -webkit-text-stroke:1.5px rgba(255,255,255,.4);
  user-select:none;
  letter-spacing:-.02em;
}
.ftd-priority-block-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-size:36px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:20px;
  line-height:1;
}
.ftd-priority-block-body{
  font-size:14px;
  line-height:1.7;
  color:#dbe3ef;
}
.ftd-priority-block-body p{ margin-bottom:1em; }
.ftd-priority-block-body p strong{ color:#fff; }
.ftd-priority-block-body ul{
  list-style:none;
  padding-left:0;
}
.ftd-priority-block-body ul li{
  position:relative;
  padding-left:18px;
  margin-bottom:.6em;
}
.ftd-priority-block-body ul li::before{
  content:"•";
  position:absolute;
  left:0;
  color:var(--ftd-red);
}
.ftd-priority-block-stat{
  text-align:center;
  padding:24px 12px;
}
.ftd-priority-block-stat .stat-icon{
  width:54px; height:54px;
  margin:0 auto 14px;
  color:var(--ftd-yellow);
}
.ftd-priority-block-stat .stat-num{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  font-style:italic;
  font-size:54px;
  line-height:1;
  color:var(--ftd-yellow);
  margin-bottom:6px;
}
.ftd-priority-block-stat .stat-label{
  font-family:'Oswald', sans-serif;
  font-size:13px;
  letter-spacing:.14em;
  color:rgba(255,255,255,.75);
  text-transform:uppercase;
}

/* Photo/video library on about */
.ftd-photo-library{
  background:var(--ftd-cream);
  padding:60px 24px 80px;
  position:relative;
}
.ftd-photo-library-tag{
  display:inline-block;
  background:var(--ftd-yellow);
  color:var(--ftd-navy);
  font-family:'Oswald', sans-serif;
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:3px;
  margin-bottom:14px;
}
.ftd-photo-library-grid{
  max-width:var(--ftd-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.ftd-photo-library-grid .cell{
  background:#c8c3b6;
  aspect-ratio: 16 / 10;
  background-size:cover;
  background-position:center;
}

/* =========================================================
   SINGLE NEWS ARTICLE
   ========================================================= */
.ftd-article{
  max-width:780px;
  margin:0 auto;
  padding:64px 24px 96px;
}
.ftd-article .ftd-news-date{
  color:var(--ftd-red);
  margin-bottom:18px;
}
.ftd-article-title{
  font-family:'Oswald', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  color:var(--ftd-navy);
  font-size:clamp(36px, 5vw, 56px);
  line-height:1.05;
  letter-spacing:-.005em;
  margin-bottom:32px;
}
.ftd-article-featured{
  margin-bottom:36px;
  border-radius:6px;
  overflow:hidden;
}
.ftd-article-body{
  font-size:17px;
  line-height:1.75;
  color:var(--ftd-navy);
}
.ftd-article-body p{ margin-bottom:1.1em; }
.ftd-article-body h2,
.ftd-article-body h3{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  color:var(--ftd-navy);
  margin:1.4em 0 .5em;
}
.ftd-article-back{
  margin-top:48px;
  display:inline-block;
}

/* =========================================================
   SITE FOOTER
   ========================================================= */
.ftd-site-footer{
  background:var(--ftd-navy);
  color:var(--ftd-cream);
  padding:48px 32px;
  margin-top:0;
}
.ftd-footer-inner{
  max-width:var(--ftd-container);
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
}
.ftd-footer-brand{
  width:88px; height:88px;
  display:inline-flex;
}
.ftd-footer-brand svg{ width:100%; height:100%; }
.ftd-footer-nav{ justify-self:end; }
.ftd-footer-nav ul{
  list-style:none;
  display:flex;
  gap:42px;
  margin:0; padding:0;
}
.ftd-footer-nav a{
  font-family:'Oswald', sans-serif;
  font-weight:600;
  letter-spacing:.02em;
  font-size:18px;
  color:var(--ftd-cream);
  text-decoration:none;
}
.ftd-footer-nav a:hover{ color:#fff; text-decoration:underline; text-underline-offset:6px; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1080px){
  .ftd-priorities-list .ftd-priority-row{ grid-template-columns:110px 24px 1fr; gap:18px; }
  .ftd-priorities-list .ftd-priority-bullets{ grid-column:3; padding-left:0; margin-top:8px; }
  .ftd-priority-block-inner{ grid-template-columns:1fr; }
  .ftd-priority-block-num{ font-size:120px; }
}

@media (max-width: 760px){
  .ftd-header-inner{
    grid-template-columns:auto 1fr auto;
  }
  .ftd-nav-toggle{ display:inline-flex; justify-self:end; }
  .ftd-primary-nav{
    display:none;
    position:absolute;
    left:0; right:0; top:100%;
    background:var(--ftd-cream);
    border-top:1px solid var(--ftd-border);
    padding:20px;
    z-index:50;
  }
  .ftd-primary-nav.is-open{ display:flex; }
  .ftd-primary-nav ul{
    flex-direction:column;
    gap:18px;
    width:100%;
  }
  .ftd-about-cols{ grid-template-columns:1fr; gap:24px; }
  .ftd-news-grid{ grid-template-columns:1fr; gap:30px; }
  .ftd-priority-row{ grid-template-columns:80px 1fr; }
  .ftd-priority-num{ font-size:64px; }
  .ftd-priority-star{ display:none; }
  .ftd-priority-bullets{ grid-column:1/-1; padding-left:0; }
  .ftd-petition-fallback{ grid-template-columns:1fr; }
  .ftd-footer-inner{ grid-template-columns:1fr; text-align:center; justify-items:center; }
  .ftd-footer-nav{ justify-self:center; }
  .ftd-footer-nav ul{ gap:20px; flex-wrap:wrap; justify-content:center; }
  .ftd-photo-library-grid{ grid-template-columns:1fr 1fr; }
}

/* =========================================================
   GUTENBERG / BLOCK EDITOR ALIGNMENT
   ========================================================= */
.wp-site-blocks > *,
.entry-content > *{
  margin-left:auto;
  margin-right:auto;
}
.alignfull{ width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.alignwide{ max-width:var(--ftd-container); width:100%; }
