/* Generated by scripts/build-design-css.mjs. Edit theme/thirtyrights/styles/. */

/* fonts */
/* Recovered Illustrator subsets. Explicit coverage keeps absent glyphs in the fallback font. */
@font-face {
  font-family: "Gravita HUM";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/gravita-hum-light-recovered.woff2") format("woff2");
  unicode-range: U+20-21,U+23-26,U+28-2C,U+2E,U+30-39,U+40-5B,U+5D-5E,U+61-7A,U+A0,U+131,U+237,U+2D9;
}

@font-face {
  font-family: "Gravita HUM";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/gravita-hum-regular-recovered.woff2") format("woff2");
  unicode-range: U+20-21,U+23-26,U+28-2C,U+2E,U+30-39,U+40-5B,U+5D-5E,U+61-7A,U+A0,U+B4,U+ED,U+F3,U+131,U+237,U+2D9,U+2014,U+2019,U+2022,U+FB01-FB02;
}

@font-face {
  font-family: "Gravita HUM";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fonts/gravita-hum-medium-recovered.woff2") format("woff2");
  unicode-range: U+20-21,U+23-26,U+28-2B,U+30-39,U+40-5B,U+5D-5E,U+61-7A,U+A0,U+131,U+237,U+2D9,U+2014;
}

/* tokens */
:root {
  --pine:#132e25;
  --viridian:#005e3c;
  --sienna:#b4502d;
  --glacier:#bce8e7;
  --pampas:#f4f2ef;
  --font:"Gravita HUM","gravita-hum-variable","gravita-hum",Arial,sans-serif;
  --surface: #fff;
  --text: var(--pine);
  --focus: var(--pine);
  --control-fill: var(--glacier);
  --control-text: var(--pine);
  --control-hover: #a8d8d7;
  --control-pressed: #94c5c4;
  --control-green-fill: var(--viridian);
  --control-green-text: var(--pampas);
  --control-green-hover: #004c31;
  --control-green-pressed: #003c27;
  --control-orange-fill: var(--sienna);
  --control-orange-text: var(--pampas);
  --control-orange-hover: #9c4425;
  --control-orange-pressed: #843b20;
  --control-dark-fill: var(--pine);
  --control-dark-text: var(--pampas);
  --control-dark-hover: #1f4638;
  --control-dark-pressed: #0b2018;
  --field-surface: #fff;
  --field-label: var(--pine);
  --field-error: #843b20;
  --navigation-mode: desktop;
  --space-1: 10px;
  --space-2: 15px;
  --space-3: 20px;
  --space-4: 25px;
  --space-5: 30px;
  --space-6: 40px;
  --space-7: 50px;
  --section-space: 90px;
  --section-space-compact: 65px;
  --gutter: 32px;
  --content-width: 1040px;
  --content-wide: 1218px;
  --reading-width: 650px;
  --type-small: 0.75rem;
  --type-nav: 0.875rem;
  --type-body: 1rem;
  --type-lead: 1.125rem;
  --type-copy: 1.25rem;
  --type-section: 1.5rem;
  --type-statement: 2.25rem;
  --type-display: 3rem;
  --type-hero: 6rem;
  --line-heading: 1.3;
  --line-copy: 1.5;
  --target-min: 24px;
  --target-touch: 44px;
  --motion-fast: 120ms;
  --motion-feedback: 180ms;
  --motion-disclosure: 220ms;
  --motion-dismiss: 150ms;
  --motion-menu-distance: 6px;
  --motion-press-distance: 1px;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ease-standard: cubic-bezier(.4, 0, .2, 1);

  /* Shared component sizing contracts, including approved asset crops. */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-strong: 700;
  --line-tight: 1.2;
  --line-status: 1.4;
  --focus-width: 3px;
  --focus-offset: 3px;
  --border-width: 1px;
  --field-border-width: 2px;
  --disabled-opacity: .55;
  --underline-offset: .22em;
  --control-height: 36px;
  --control-padding-block: 7px;
  --control-padding-inline: 16px;
  --control-compact-height: 32px;
  --control-compact-padding: 8px;
  --control-nav-padding: 15px;
  --field-height: 3.25rem;
  --field-padding-block: .875rem;
  --field-padding-inline: 1rem;
  --field-label-line: var(--line-heading);
  --field-border: #677a72;
  --field-focus: var(--pine);
  --field-label-gap: .5rem;
  --form-gap: 1.5rem;
  --form-row-gap: 1rem;
  --form-label: var(--pine);
  --form-error: var(--field-error);
  --form-submit-height: 3.25rem;
  --logo-width: 188px;
  --logo-width-small: 160px;
  --header-gap: 34px;
  --header-inset-block: 30px;
  --header-inset-inline: 50px;
  --header-inset-tablet-block: 24px;
  --header-inset-tablet-inline: 28px;
  --menu-top: calc(100% + var(--space-2));
  --menu-padding: 22px;
  --menu-viewport-clearance: calc(2 * var(--header-inset-tablet-block) + max(54px, var(--type-body) * var(--line-copy) + 2 * var(--space-1)) + var(--space-2));
  --menu-link-padding: 8px;
  --footer-menu-width: 90px;
  --footer-gap: 156px;
  --footer-link-small-height: 30px;
  --hero-height: 789px;
  --hero-height-wide: 54.8vw;
  --hero-height-small: 760px;
  --hero-top: 140px;
  --hero-top-tablet: 150px;
  --hero-title-width: 657px;
  --hero-aside-width: 514px;
  --hero-content-wide: 1540px;
  --hero-title-tablet-width: 580px;
  --hero-title-small-width: 440px;
  --hero-aside-tablet-width: 520px;
  --hero-aside-gap: 13px;
  --hero-aside-padding: 22px;
  --hero-image-width: 145.58%;
  --hero-image-height: 177.16%;
  --hero-image-left: -3.64%;
  --hero-image-top: -77.19%;
  --hero-image-position: center bottom;
  --hero-image-tablet-left: -20%;
  --hero-image-tablet-position: 60% center;
  --hero-shade: linear-gradient(to top,rgba(0,0,0,.35) 36.159%,rgba(0,0,0,.12));
  --intro-lead-width: 512px;
  --intro-copy-width: 361px;
  --split-gap: 150px;
  --intro-shape-offset: 227px;
  --intro-shape-top: 67px;
  --intro-shape-size: 168px;
  --intro-shape-tablet-top: 45px;
  --intro-shape-opacity: .45;
  --priority-lead-width: 998px;
  --priority-padding-top: 18.404px;
  --priority-shape-width: 159px;
  --priority-shape-height: 158.404px;
  --priority-shape-tablet-size: 125px;
  --priority-shape-small-height: 158px;
  --priority-image-height: 170px;
  --priority-image-ratio: 1.686;
  --priority-padding-small-top: 18px;
  --priority-grid-tablet-gap: 14px;
  --why-title-width: 360px;
  --why-copy-width: 561px;
  --why-gap: 60px;
  --why-gap-laptop: 45px;
  --why-shade: rgba(19,46,37,.81);
  --action-width: 216px;
  --action-tablet-width: 300px;
  --action-icon-width: 87px;
  --action-icon-height: 90px;
  --action-icon-size: 75px;
  --action-shape-width: 81px;
  --action-shape-height: 80.697px;
  --action-shape-left: 6px;
  --action-copy-height: 125px;
  --newsletter-copy-width: 432px;
  --newsletter-form-width: 368px;
  --split-gap-laptop: 80px;
  --stack-gap: 35px;
  --gutter-laptop: 50px;
  --gutter-small: 24px;
  --type-aside: 2rem;
  --type-aside-laptop: 1.75rem;
  --type-aside-tablet: 1.625rem;
  --type-hero-tablet: 4.75rem;
  --type-statement-small: 1.875rem;
  --type-why-laptop: 2.5rem;
  --type-why-small: 2.375rem;
  --type-newsletter-small: 2rem;
  --type-hero-laptop: clamp(4rem,6.67vw,6rem);
  --type-hero-small: clamp(3rem,11vw,4rem);
  --skip-inset: 12px;
}

/* base */
* {
  box-sizing:border-box;
}

body {
  margin:0;
  color:var(--text);
  font-family:var(--font);
  font-weight:var(--weight-regular);
  font-size:var(--type-body);
}

button,input {
  font:inherit;
}

/* Intrinsic media preserves proportions; crop components explicitly opt into cover. */
img {
  max-width:100%;
  height:auto;
  object-fit:contain;
}

a {
  color:inherit;
}

p,h1,h2,h3 {
  margin:0;
  font-weight:var(--weight-regular);
}

:focus-visible {
  outline:var(--focus-width) solid var(--focus);
  outline-offset:var(--focus-offset);
}

html { scroll-padding-top: var(--space-5); }
section[id], main[id] { scroll-margin-top: var(--space-5); }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
[hidden] { display: none !important; }

.sr-only,.skip-link:not(:focus) {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link:focus {
  position:fixed;
  z-index:100;
  top:var(--skip-inset);
  left:var(--skip-inset);
  padding:var(--skip-inset);
  background:var(--surface);
  color:var(--pine);
}

/* Text may grow with browser preferences and spacing overrides. */
.rights-page :is(h1,h2,h3,p), .rights-footer-details, .rights-header nav a {
  overflow-wrap: anywhere;
}

/* builder */
/* Native markup bridge. Every required layout primitive belongs to this system. */
.rights-page :where(.fl-row-content) { width:100%; margin-inline:auto; }
.rights-page :where(.fl-col-content,.fl-module-box) { display:flex; flex-direction:column; }
.rights-page :where(.fl-module,.fl-module-content,.fl-col-content) { min-width:0; margin:0; }
.rights-page :where(.fl-photo,.fl-photo-content) { position:relative; }
.rights-page :where(.fl-rich-text > :last-child) { margin-bottom:0; }
.rights-page :where(strong,b) { font-weight:var(--weight-strong); }

/* Neutral native wrappers; editor tools remain available. */
.rights-page .fl-row-content-wrap,.rights-page .fl-col-content {
  padding:0;
}

.rights-page .fl-row-content {
  max-width:none;
}

.rights-page .fl-module-content {
  margin:0;
}

.rights-page .fl-module-box {
  gap:0;
}

.rights-page .fl-heading,.rights-page .fl-rich-text,.rights-page .fl-button-text {
  font-family:var(--font);
  font-weight:var(--weight-regular);
}

.rights-page .fl-heading {
  line-height:inherit;
  color:inherit;
  font-size:inherit;
}

.rights-page .fl-rich-text p {
  margin:0;
}

.rights-page .fl-rich-text p+p {
  margin-top:var(--space-4);
}

.rights-page .fl-photo {
  line-height:0;
}

.rights-page .fl-photo-content {
  width:100%;
  max-width:none;
  display:block;
}

.rights-page .fl-photo img {
  width:100%;
  max-width:none;
  display:block;
}

.rights-page .fl-button-wrap {
  text-align:inherit;
}


.rights-page a.fl-button span {
  min-width:0;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
}

.rights-page .fl-module-box>* {
  min-width:0;
}

/* components */
.rights-header {
  --focus: var(--glacier);
  position:absolute;
  z-index:5;
  inset:var(--header-inset-block) var(--header-inset-inline) auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--surface);
}

.rights-logo {
  display:block;
  flex:none;
  width:var(--logo-width);
  line-height:0;
}

.rights-header ul {
  display:flex;
  align-items:center;
  gap:var(--header-gap);
  list-style:none;
  margin:0;
  padding:0;
  font-size:var(--type-nav);
}

.rights-header a {
  text-decoration:none;
}

.rights-header .menu-donate a {
  --control-fill: var(--control-orange-fill);
  --control-text: var(--control-orange-text);
  --control-hover: var(--control-orange-hover);
  --control-pressed: var(--control-orange-pressed);
  --control-height: var(--control-compact-height);
  --control-padding-inline: var(--control-nav-padding);
}

.rights-menu-toggle {
  display:none;
}

.rights-footer {
  --focus: var(--glacier);
  display:grid;
  grid-template-columns:var(--logo-width) var(--footer-menu-width) minmax(0,1fr);
  gap:var(--footer-gap);
  align-items:center;
  background:var(--pine);
  color:var(--pampas);
  padding:var(--section-space) max(var(--gutter),calc((100vw - var(--content-wide))/2));
  font-size:var(--type-body);
  line-height:var(--line-tight);
}

.rights-footer ul {
  list-style:none;
  padding:0;
  margin:0;
}

.rights-footer a {
  text-decoration:none;
}

.rights-footer nav a {
  display:block;
  min-height:var(--target-min);
}

.rights-footer-details p+p {
  margin-top:var(--space-3);
}

/* Shared form pattern: labels stay above controls, with one border/focus owner. */
.rights-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  gap: var(--form-gap);
  container-type: inline-size;
}
.rights-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--form-row-gap);
}
.rights-field {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  gap: var(--field-label-gap);
}
.rights-field label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--field-label-gap);
  color: var(--form-label);
  font-size: var(--type-nav);
  font-weight: var(--weight-medium);
  line-height: var(--field-label-line);
}
.rights-field-meta { font-size: var(--type-small); font-weight: var(--weight-regular); }
.rights-field input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: var(--field-height);
  padding: var(--field-padding-block) var(--field-padding-inline);
  border: var(--field-border-width) solid var(--field-border);
  border-radius: 0;
  background: var(--field-surface);
  color: var(--pine);
  font: var(--weight-regular) var(--type-body)/var(--line-heading) var(--font);
}
/* The input border owns field focus; its wrapper never adds a competing ring. */
.rights-field:focus-within input:focus {
  outline: none;
  outline-offset: 0;
  border-color: var(--field-focus);
}
.rights-field input[aria-invalid="true"]:not(:focus) { border-color: var(--field-error); }
.rights-field-error, .rights-signup-status {
  font-size: var(--type-nav);
  line-height: var(--line-copy);
  color: var(--form-error);
  margin: 0;
}
.rights-signup-status { color: inherit; }
.rights-form button {
  --control-height: var(--form-submit-height);
  width: 100%;
}

/* Variants change values, so hover/pressed/focus rules have one owner. */
.rights-page .rights-action-button {
  --control-fill: var(--control-green-fill);
  --control-text: var(--control-green-text);
  --control-hover: var(--control-green-hover);
  --control-pressed: var(--control-green-pressed);
}

.rights-form button, .rights-menu-toggle {
  --control-fill: var(--control-dark-fill);
  --control-text: var(--control-dark-text);
  --control-hover: var(--control-dark-hover);
  --control-pressed: var(--control-dark-pressed);
}

:is(.rights-page a.fl-button, .rights-button),
.rights-form button,
.rights-header .menu-donate a,
.rights-menu-toggle {
  text-decoration: none;
  touch-action: manipulation;
}

@media (hover: hover) and (pointer: fine) {
  :is(.rights-page a.fl-button, .rights-button):hover,
  .rights-form button:hover:not(:disabled),
  .rights-header .menu-donate a:hover,
  .rights-menu-toggle:hover {
    background-color: var(--control-hover);
    color: var(--control-text);
  }
  .rights-header li:not(.menu-donate) a:hover,
  .rights-footer nav a:hover { text-decoration: underline; }
}

:is(.rights-page a.fl-button, .rights-button):active,
.rights-form button:active:not(:disabled),
.rights-header .menu-donate a:active,
.rights-menu-toggle:active {
  background-color: var(--control-pressed);
  color: var(--control-text);
}

.rights-header li:not(.menu-donate) a,
.rights-footer nav a {
  text-underline-offset: var(--underline-offset);
  text-decoration-thickness: var(--border-width);
}

.rights-form button:disabled { opacity: var(--disabled-opacity); }

/* One control contract for native builder links, navigation CTAs and form buttons. */
:is(.rights-page a.fl-button, .rights-button),
.rights-form button,
.rights-header .menu-donate a,
.rights-menu-toggle {
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: var(--control-height);
  padding: var(--control-padding-block) var(--control-padding-inline);
  border: 0;
  border-radius: 0;
  background: var(--control-fill);
  color: var(--control-text);
  font: var(--weight-regular) var(--type-body)/var(--line-heading) var(--font);
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
:is(.rights-page a.fl-button, .rights-button),
.rights-form button,
.rights-header .menu-donate a { display: inline-flex; }
.rights-header .menu-donate a { font-size: var(--type-nav); }
.rights-page .rights-action-button {
  --control-height: var(--control-compact-height);
  --control-padding-inline: var(--control-compact-padding);
}
.rights-page .rights-action-button a.fl-button {
  width: 100%;
  font-size: var(--type-small);
}

/* Shared semantic fallback for WordPress content, archives and missing routes. */
.rights-header--solid {
  position: relative;
  inset: auto;
  padding: var(--space-5) var(--header-inset-inline);
  background: var(--pine);
}
.rights-document {
  width: min(var(--reading-width), calc(100% - 2 * var(--gutter)));
  margin: var(--section-space-compact) auto;
  font-size: var(--type-lead);
  line-height: var(--line-copy);
  overflow-wrap: anywhere;
}
.rights-document h1 { font-size: var(--type-display); line-height: var(--line-heading); }
.rights-document h2 { font-size: var(--type-section); line-height: var(--line-heading); }
.rights-document :is(h1,h2,h3,p,ul,ol,figure,blockquote) + * { margin-block-start: var(--space-4); }
.rights-document-content a:not(.rights-button), .rights-document-summary a {
  text-decoration: underline;
  text-underline-offset: var(--underline-offset);
}
.rights-document-summary { margin-block-start: var(--space-7); }
.rights-header--solid nav { z-index: 1; }

.rights-form button { font-weight:var(--weight-medium); }

@media (forced-colors: active) {
  :root { --focus: Highlight; }
  .rights-header, .rights-footer, .rights-field,
  .rights-page :is(.rights-hero,.rights-intro,.rights-why,.rights-newsletter) { --focus: Highlight; }
  .rights-page :is(.rights-hero-image,.rights-why-image) { visibility: hidden; }
  .rights-logo { background:var(--pine); forced-color-adjust:none; }
  :is(.rights-page a.fl-button, .rights-button), .rights-form button, .rights-menu-toggle,
  .rights-header .menu-donate a, .rights-field input {
    border: var(--border-width) solid ButtonText;
  }
  .rights-field input { border-color:ButtonText; }
  .rights-field:focus-within input:focus { border-color:Highlight; }
}

/* sections */
.rights-page .rights-section {
  padding:var(--section-space) max(var(--gutter),calc((100vw - var(--content-width))/2));
  width:100%;
  position:relative;
}

.rights-page .rights-hero {
  --focus: var(--glacier);
  min-height:var(--hero-height);
  padding:var(--hero-top) var(--header-inset-inline) var(--space-6);
  justify-content:flex-end;
  background:var(--viridian);
  position:relative;
  isolation:isolate;
}

.rights-page .rights-hero-image {
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:-2;
}

.rights-page .rights-hero-image .fl-photo,.rights-page .rights-hero-image .fl-photo-content {
  height:100%;
}

.rights-page .rights-hero-image img {
  position:absolute;
  width:var(--hero-image-width);
  height:var(--hero-image-height);
  object-fit:cover;
  object-position:var(--hero-image-position);
  max-width:none;
  left:var(--hero-image-left);
  top:var(--hero-image-top);
}

.rights-page .rights-hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:var(--hero-shade);
  z-index:-1;
  pointer-events:none;
}

.rights-page .rights-hero-content {
  display:grid;
  grid-template-columns:minmax(0,var(--hero-title-width)) minmax(0,var(--hero-aside-width));
  justify-content:space-between;
  align-items:end;
  gap:var(--space-6);
}

.rights-page .rights-hero-title {
  font-size:var(--type-hero);
  line-height:1;
  max-width:var(--hero-title-width);
  color:var(--surface);
}

.rights-page .rights-hero-title span {
  color:var(--glacier);
}

.rights-page .rights-hero-aside {
  gap:var(--hero-aside-gap);
  align-items:flex-end;
  padding:var(--hero-aside-padding) 0;
  text-align:right;
  color:var(--surface);
  font-size:var(--type-aside);
  line-height:var(--line-heading);
}

.rights-page .rights-intro {
  --surface: var(--pine);
  --focus: var(--glacier);
  background:var(--pine);
  color:var(--pampas);
  display:grid;
  grid-template-columns:minmax(0,var(--intro-lead-width)) minmax(0,var(--intro-copy-width));
  gap:var(--split-gap);
}

.rights-page .rights-intro:before {
  content:"";
  position:absolute;
  left:calc(50% - var(--intro-shape-offset));
  top:var(--intro-shape-top);
  width:var(--intro-shape-size);
  height:var(--intro-shape-size);
  background:url(assets/9d61c.svg) center/contain no-repeat;
  pointer-events:none;
}

.rights-page .rights-intro-lead {
  position:relative;
  font-size:var(--type-statement);
  line-height:var(--line-heading);
  color:var(--glacier);
}

.rights-page .rights-intro-copy {
  position:relative;
  font-size:var(--type-copy);
  line-height:var(--line-copy);
}

.rights-page .rights-priorities {
  padding-top:var(--section-space-compact);
  padding-bottom:var(--section-space-compact);
  gap:var(--space-7);
}

.rights-page .rights-section-head {
  gap:var(--space-2);
}

.rights-page .rights-section-heading {
  font-size:var(--type-section);
  line-height:var(--line-heading);
  color:var(--viridian);
}

.rights-page .rights-section-lead {
  font-size:var(--type-lead);
  line-height:var(--line-heading);
  max-width:var(--content-width);
}

.rights-page .rights-priorities .rights-section-lead {
  max-width:var(--priority-lead-width);
}

.rights-page .rights-priority-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-5);
}

.rights-page .rights-priority-card {
  position:relative;
  padding:var(--priority-padding-top) var(--space-3) var(--space-3);
  gap:0;
}

.rights-page .rights-priority-card:before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:var(--priority-shape-width);
  height:var(--priority-shape-height);
  background:url(assets/20ee7.svg) center/contain no-repeat;
}

.rights-page .rights-priority-image {
  position:relative;
  height:var(--priority-image-height);
  overflow:hidden;
}

.rights-page .rights-priority-image img {
  height:var(--priority-image-height);
  object-fit:cover;
}

.rights-page .rights-priority-image--justice img {
  object-position:center bottom;
}

.rights-page .rights-priority-title {
  margin-top:var(--space-3);
  font-size:var(--type-lead);
  line-height:var(--line-heading);
  color:var(--viridian);
}

.rights-page :is(.rights-priority-title,.rights-action-title),
.rights-page :is(.rights-priority-title,.rights-action-title) .fl-heading {
  font-weight:var(--weight-medium);
}

.rights-page .rights-priority-copy {
  margin-top:var(--space-1);
  font-size:var(--type-body);
  line-height:var(--line-heading);
}

.rights-page .rights-why {
  --surface: var(--pine);
  --focus: var(--glacier);
  display:grid;
  grid-template-columns:minmax(0,var(--why-title-width)) minmax(0,var(--why-copy-width));
  justify-content:space-between;
  gap:var(--why-gap);
  color:var(--pampas);
  background:var(--pine);
  isolation:isolate;
}

.rights-page .rights-why-image {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
}

.rights-page .rights-why-image .fl-photo,.rights-page .rights-why-image .fl-photo-content {
  height:100%;
}

.rights-page .rights-why-image img {
  height:100%;
  object-fit:cover;
}

.rights-page .rights-why:after {
  content:"";
  position:absolute;
  inset:0;
  background:var(--why-shade);
  z-index:-1;
}

.rights-page .rights-why-heading {
  font-size:var(--type-display);
  line-height:var(--line-heading);
}

.rights-page .rights-why-heading span {
  color:var(--glacier);
}

.rights-page .rights-why-copy {
  font-size:var(--type-lead);
  line-height:var(--line-copy);
}

.rights-page .rights-involved {
  gap:var(--space-7);
}

.rights-page .rights-involved .rights-section-heading {
  color:var(--sienna);
}

.rights-page .rights-action-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,var(--action-width)));
  justify-content:space-between;
  gap:var(--space-4);
}

.rights-page .rights-action-card {
  padding:var(--space-3);
  gap:var(--space-1);
}

.rights-page .rights-action-icon {
  position:relative;
  width:var(--action-icon-width);
  height:var(--action-icon-height);
  padding-top:var(--space-2);
}

.rights-page .rights-action-icon:before {
  content:"";
  position:absolute;
  top:0;
  left:var(--action-shape-left);
  width:var(--action-shape-width);
  height:var(--action-shape-height);
  background:url(assets/a6b05.svg) center/contain no-repeat;
}

.rights-page .rights-action-icon img {
  position:relative;
  width:var(--action-icon-size);
  height:var(--action-icon-size);
  object-fit:contain;
}

.rights-page .rights-action-title {
  font-size:var(--type-lead);
  line-height:var(--line-heading);
  color:var(--sienna);
}

.rights-page .rights-action-copy {
  font-size:var(--type-body);
  line-height:var(--line-heading);
  flex:1;
  min-height:var(--action-copy-height);
}


.rights-page .rights-newsletter {
  --surface: var(--sienna);
  --focus: var(--pampas);
  --form-label: var(--pampas);
  --form-error: var(--pampas);
  --field-border: transparent;
  display:grid;
  grid-template-columns:minmax(0,var(--newsletter-copy-width)) minmax(0,var(--newsletter-form-width));
  gap:var(--split-gap);
  justify-content:center;
  padding:var(--section-space) var(--gutter);
  background:var(--sienna);
  color:var(--pampas);
}

.rights-page .rights-newsletter-copy {
  gap:var(--space-5);
}

.rights-page .rights-newsletter-heading {
  font-size:var(--type-statement);
  line-height:var(--line-heading);
}

.rights-page .rights-newsletter-lead {
  font-size:var(--type-lead);
  line-height:var(--line-heading);
}

/* Native clearfix pseudos have zero dimensions; these authored overlays fill their section. */
.rights-page .rights-hero:after,.rights-page .rights-why:after {
  display:block;
  width:100%;
  height:100%;
  clear:none;
}

.rights-page .rights-hero-title span {
  display:block;
}

/* responsive */
/* All shared controls adapt to touch, regardless of the page that assembles them. */
@media (pointer: coarse) {
  :root {
    --control-height: var(--target-touch);
    --control-compact-height: var(--target-touch);
  }
}

@media(min-width:1441px) {
  .rights-page .rights-hero {
    min-height:var(--hero-height-wide);
  }
  .rights-page .rights-hero-content {
    width:100%;
    max-width:var(--hero-content-wide);
    align-self:center;
  }
}

@media(max-width:1199px) {
  .rights-page .rights-section {
    padding-inline:var(--gutter-laptop);
  }
  .rights-page .rights-intro {
    grid-template-columns:1.2fr 1fr;
    gap:var(--split-gap-laptop);
  }
  .rights-page .rights-hero-title {
    font-size:var(--type-hero-laptop);
  }
  .rights-page .rights-hero-aside {
    font-size:var(--type-aside-laptop);
  }
  .rights-page .rights-why {
    grid-template-columns:1fr 1.4fr;
    gap:var(--why-gap-laptop);
  }
  .rights-page .rights-why-heading {
    font-size:var(--type-why-laptop);
  }
  .rights-page .rights-newsletter {
    gap:var(--split-gap-laptop);
  }
  .rights-footer {
    gap:var(--split-gap-laptop);
  }
  .rights-page .rights-action-card {
    padding-inline:var(--space-1);
  }
}

@media(max-width:899px) {
  :root { --navigation-mode: disclosure; }
  .rights-header {
    inset:var(--header-inset-tablet-block) var(--header-inset-tablet-inline) auto;
  }
  .rights-header--solid {
    inset:auto;
    padding:var(--header-inset-tablet-block) var(--header-inset-tablet-inline);
  }
  .rights-header--solid[data-menu-enhanced] nav {
    margin-inline:var(--header-inset-tablet-inline);
  }
  .rights-header[data-menu-enhanced] .rights-menu-toggle {
    display:block;
    border:var(--border-width) solid var(--surface);
    background:var(--control-fill);
    color:var(--control-text);
    padding:var(--space-1) var(--space-2);
    min-height:var(--target-touch);
  }
  html.rights-js .rights-header:not([data-menu-enhanced]) nav { display:none; }
  .rights-header nav {
    position:absolute;
    top:var(--menu-top);
    left:0;
    right:0;
    padding:var(--menu-padding);
    background:var(--pine);
    max-block-size: calc(100svh - var(--menu-viewport-clearance));
    overflow: auto;
    overscroll-behavior: contain;
  }
  html:not(.rights-js) .rights-header {
    position: relative;
    inset: auto;
    padding: var(--header-inset-tablet-block) var(--header-inset-tablet-inline);
    flex-wrap: wrap;
    background: var(--pine);
  }
  html:not(.rights-js) .rights-header nav {
    position: static;
    width: 100%;
    margin-top: var(--space-3);
    padding: 0;
    max-block-size: none;
  }
  .rights-header ul {
    flex-direction:column;
    align-items:stretch;
    gap:var(--control-padding-inline);
    font-size:var(--type-lead);
  }
  .rights-header nav a {
    display:block;
    padding:var(--menu-link-padding);
    min-height:var(--target-touch);
  }
  .rights-page .rights-section {
    padding:var(--section-space-compact) var(--gutter);
  }
  .rights-page .rights-hero {
    padding:var(--hero-top-tablet) var(--gutter) var(--space-6);
  }
  .rights-page .rights-hero-content {
    grid-template-columns:1fr;
    gap:var(--space-5);
  }
  .rights-page .rights-hero-title {
    max-width:var(--hero-title-tablet-width);
    font-size:var(--type-hero-tablet);
  }
  .rights-page .rights-hero-aside {
    align-items:flex-start;
    text-align:left;
    max-width:var(--hero-aside-tablet-width);
    font-size:var(--type-aside-tablet);
    padding:0;
  }
  .rights-page .rights-hero-image img {
    width:var(--hero-image-width);
    height:100%;
    object-position:var(--hero-image-tablet-position);
    top:0;
    left:var(--hero-image-tablet-left);
  }
  .rights-page .rights-intro {
    grid-template-columns:1fr;
    gap:var(--stack-gap);
  }
  .rights-page .rights-intro-lead {
    max-width:var(--reading-width);
  }
  .rights-page .rights-intro-copy {
    max-width:var(--reading-width);
  }
  .rights-page .rights-intro:before {
    left:auto;
    right:var(--gutter);
    top:var(--intro-shape-tablet-top);
    opacity:var(--intro-shape-opacity);
  }
  .rights-page .rights-priority-grid {
    gap:var(--priority-grid-tablet-gap);
  }
  .rights-page .rights-priority-card {
    padding-inline:var(--space-1);
  }
  .rights-page .rights-priority-card:before {
    width:var(--priority-shape-tablet-size);
    height:var(--priority-shape-tablet-size);
  }
  .rights-page .rights-why {
    grid-template-columns:1fr;
    gap:var(--space-5);
  }
  .rights-page .rights-why-copy {
    max-width:var(--reading-width);
  }
  .rights-page .rights-action-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-6);
  }
  .rights-page .rights-action-card {
    padding:0;
    max-width:var(--action-tablet-width);
  }
  .rights-page .rights-action-copy {
    min-height:0;
  }
  .rights-page .rights-action-button {
    margin-top:auto;
  }
  .rights-page .rights-newsletter {
    grid-template-columns:1fr 1fr;
    gap:var(--space-6);
  }
  .rights-footer {
    grid-template-columns:var(--logo-width) 1fr;
    gap:var(--space-6);
    padding:var(--section-space-compact) var(--gutter);
  }
  .rights-footer-details {
    grid-column:1/-1;
  }
}

@media(max-width:599px) {
  :root {
    --control-height: var(--target-touch);
    --control-compact-height: var(--target-touch);
  }
  .rights-logo {
    width:var(--logo-width-small);
  }
  .rights-page .rights-section {
    padding:var(--space-7) var(--gutter-small);
  }
  .rights-page .rights-hero {
    padding:var(--hero-top) var(--gutter-small) var(--space-6);
    min-height:var(--hero-height-small);
  }
  .rights-page .rights-hero-title {
    font-size:var(--type-hero-small);
    max-width:var(--hero-title-small-width);
  }
  .rights-page .rights-hero-aside {
    font-size:var(--type-section);
    line-height:var(--line-heading);
  }
  .rights-page .rights-intro-lead {
    font-size:var(--type-statement-small);
  }
  .rights-page .rights-intro-copy {
    font-size:var(--type-lead);
  }
  .rights-page .rights-priority-grid {
    grid-template-columns:1fr;
    gap:var(--space-5);
  }
  .rights-page .rights-priority-card {
    padding:var(--priority-padding-small-top) var(--space-3) 0;
  }
  .rights-page .rights-priority-image,.rights-page .rights-priority-image img {
    height:auto;
    aspect-ratio:var(--priority-image-ratio);
    object-fit:cover;
  }
  .rights-page .rights-priority-card:before {
    width:var(--priority-shape-width);
    height:var(--priority-shape-small-height);
  }
  .rights-page .rights-why-heading {
    font-size:var(--type-why-small);
    white-space:normal;
  }
  .rights-page .rights-action-grid {
    grid-template-columns:1fr;
    gap:var(--stack-gap);
  }
  .rights-page .rights-action-card {
    max-width:none;
    display:grid;
    grid-template-columns:var(--action-icon-width) 1fr;
    column-gap:var(--space-3);
  }
  .rights-page .rights-action-icon {
    grid-row:1/4;
  }
  .rights-page .rights-action-title,.rights-page .rights-action-copy,.rights-page .rights-action-button {
    grid-column:2;
  }
  .rights-page .rights-action-button {
    margin-top:var(--control-compact-padding);
  }
  .rights-page .rights-newsletter {
    grid-template-columns:1fr;
    gap:var(--stack-gap);
  }
  .rights-page .rights-newsletter-heading {
    font-size:var(--type-newsletter-small);
  }
  .rights-page .rights-newsletter-copy {
    gap:var(--space-3);
  }
  .rights-footer {
    grid-template-columns:1fr;
    padding:var(--space-7) var(--gutter-small);
    gap:var(--space-5);
  }
  .rights-footer-details {
    grid-column:auto;
  }
  .rights-footer nav a {
    display:inline-block;
    min-height:var(--footer-link-small-height);
  }
}

/* Container width, including larger user type, determines the name-field layout. */
@container (min-width: 20rem) {
  .rights-form-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* motion */
/* Motion provides feedback and orientation; editorial content stays visible and still. */
:is(.rights-page a.fl-button, .rights-button),
.rights-form button,
.rights-menu-toggle,
.rights-header .menu-donate a {
  transition: background-color var(--motion-fast) var(--ease-standard),
    color var(--motion-fast) var(--ease-standard),
    transform var(--motion-fast) var(--ease-out);
}

:is(.rights-page a.fl-button, .rights-button):active,
.rights-form button:active:not(:disabled),
.rights-menu-toggle:active,
.rights-header .menu-donate a:active {
  transform: translateY(var(--motion-press-distance));
}


@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --motion-fast: 0ms;
    --motion-feedback: 0ms;
    --motion-disclosure: 0ms;
    --motion-dismiss: 0ms;
  }
  html { scroll-behavior: auto; }
  :is(.rights-page a.fl-button, .rights-button):active,
  .rights-form button:active:not(:disabled),
  .rights-menu-toggle:active,
  .rights-header .menu-donate a:active { transform: none; }
}

/* Keep builder selection and editing immediate. */
html.rights-editor { scroll-behavior: auto; }
body.fl-builder-edit {
  --motion-fast: 0ms;
  --motion-feedback: 0ms;
  --motion-disclosure: 0ms;
  --motion-dismiss: 0ms;
  scroll-behavior: auto;
}

.rights-field input { transition: border-color var(--motion-fast) var(--ease-standard); }
