/* Fort Worth Parade of Lights — the Squarespace 7.1 look, measured 2026-10-23
 * (audit/live-2026-10-23/{1440,390}/*.json). Every value below is a measured one
 * or a declared approximation (marked APPROX). Scoped to pages carrying the site
 * header ([data-pol-chrome]) so /admin keeps core's look. */

@font-face {
  font-family: "Archivo Black";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/pol/fonts/archivo-black-latin.woff2") format("woff2");
}

:where(html:has([data-pol-chrome])) {
  --pol-white: #ffffff;
  --pol-light: #eaeaee;
  --pol-accent: #8eb6dc;
  --pol-dark: #1470af;
  --pol-black: #000000;
  --pol-panel: #c9dcef;
  --pol-marquee: #b3cee7;
  --pol-display: "Archivo Black", "Arial Black", sans-serif;
  --pol-body: var(--font-display), "Space Grotesk", system-ui, sans-serif;
  --pol-gutter: 4vw;
  --pol-header-h: 125px;
  --grain-opacity: 0;
}
html:has([data-pol-chrome]) .grain::after { content: none; }
html:has([data-pol-chrome]) body {
  background: var(--pol-light);
  color: var(--pol-black);
  font-family: var(--pol-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: auto;
}
html:has([data-pol-chrome]) main { display: block; position: relative; }
html:has([data-pol-chrome]) main > :first-child { padding-top: var(--pol-header-h); }

/* ---- type scale (desktop → mobile values measured at 1440 / 390) ---- */
:where(html:has([data-pol-chrome]) main) :is(h1, h2, h3, h4),
.pol-footer__title {
  font-family: var(--pol-display);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.1125;
  margin: 0;
  overflow-wrap: break-word;
}
:where(html:has([data-pol-chrome]) main) h1 { font-size: 67.84px; line-height: 1.056; }
:where(html:has([data-pol-chrome]) main) h2 { font-size: 47.104px; line-height: 1.1136; }
:where(html:has([data-pol-chrome]) main) h3, .pol-footer__title { font-size: 36.736px; line-height: 1.1424; }
:where(html:has([data-pol-chrome]) main) h4 { font-size: 26.368px; line-height: 1.1712; }
.pol-rich p, .pol-text { margin: 0; font-size: 16px; line-height: 24px; }
.pol-rich p + p { margin-top: 16px; }
.pol-rich a, .pol-footer a { color: inherit; text-decoration: underline; text-underline-offset: 0.12em; }
.pol-rich strong { font-weight: 700; }
.pol-rich .pol-large { font-size: 22.912px; line-height: 34.368px; }
.pol-rich .pol-small { font-size: 14.272px; line-height: 21.408px; }

/* ---- the 24-column fluid grid, 11px gaps, 4vw gutters ---- */
.pol-grid {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  column-gap: 11px;
  padding-inline: var(--pol-gutter);
  position: relative;
  align-items: start;
}
.pol-theme-white { background: var(--pol-white); color: var(--pol-black); }
.pol-theme-light { background: var(--pol-light); color: var(--pol-black); }
.pol-theme-black { background: var(--pol-black); color: var(--pol-white); }
.pol-theme-dark { background: var(--pol-dark); color: var(--pol-white); }

/* Squarespace "BackgroundBokeh" canvas (animated light spots on the accent) —
 * APPROX: a static gradient with soft spots, sampled #97bfe5 → #8eb6dc. */
.pol-bokeh {
  position: relative;
  color: var(--pol-black);
  background:
    radial-gradient(circle at 12% 30%, rgba(255,255,255,0.45) 0 6px, transparent 7px),
    radial-gradient(circle at 28% 70%, rgba(255,255,255,0.35) 0 4px, transparent 5px),
    radial-gradient(circle at 46% 22%, rgba(255,255,255,0.4) 0 5px, transparent 6px),
    radial-gradient(circle at 63% 64%, rgba(255,255,255,0.3) 0 7px, transparent 8px),
    radial-gradient(circle at 81% 36%, rgba(255,255,255,0.45) 0 4px, transparent 5px),
    radial-gradient(circle at 92% 78%, rgba(255,255,255,0.35) 0 6px, transparent 7px),
    radial-gradient(circle at 37% 88%, rgba(255,255,255,0.3) 0 3px, transparent 4px),
    radial-gradient(circle at 72% 12%, rgba(255,255,255,0.3) 0 3px, transparent 4px),
    linear-gradient(180deg, #97bfe5 0%, #8eb6dc 100%);
}

/* the animated layer (PolBokeh): canvas behind the band's content, plus the
 * pause button live shows (30px dark round, 14px in from the bottom right) */
.pol-bokeh { isolation: isolate; }
.pol-bokeh > :not(.pol-bokeh__canvas):not(.pol-bokeh__pause):not(.pol-strip__wave) { position: relative; z-index: 1; }
.pol-strip__wave { z-index: 1; }
.pol-bokeh__canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.pol-bokeh__pause {
  position: absolute; right: 14px; bottom: 14px; z-index: 2; width: 30px; height: 30px;
  border: 0; border-radius: 50%; background: rgba(40,40,40,.75); cursor: pointer; padding: 0;
}
.pol-bokeh__pause::before, .pol-bokeh__pause::after { content: ""; position: absolute; top: 10px; width: 3px; height: 10px; background: #fff; border-radius: 1px; }
.pol-bokeh__pause::before { left: 11px; } .pol-bokeh__pause::after { left: 16px; }
.pol-bokeh__pause.is-paused::after { display: none; }
.pol-bokeh__pause.is-paused::before { left: 12px; top: 9px; width: 0; height: 0; background: none; border-left: 9px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-radius: 0; }
.pol-strip .pol-bokeh__pause { bottom: calc(14px + 6vw); }

/* ---- buttons: 300px pill, 16/600 uppercase, 32px sides, 68px tall ---- */
.pol-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 300px;
  padding: 0 32px;
  min-height: 68px;
  font-family: var(--pol-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  text-decoration: none;
  border: 2px solid transparent;
  box-sizing: border-box;
}
.pol-btn--primary { background: var(--pol-accent); color: var(--pol-black); border-color: var(--pol-accent); }
.pol-btn--secondary { background: var(--pol-black); color: var(--pol-white); border-color: var(--pol-black); }
.pol-btn--outline { background: transparent; color: var(--pol-black); border-color: var(--pol-black); }
.pol-btn:hover { opacity: 0.85; }

/* ---- header ---- */
.pol-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 50;
  height: var(--pol-header-h);
  background: var(--pol-dark);
  color: var(--pol-white);
}
.pol-header__inner {
  display: flex;
  align-items: center;
  height: 100%;
  padding-inline: var(--pol-gutter);
}
.pol-header__logo { display: block; flex: 0 0 auto; }
.pol-header__logo img { display: block; width: 212px; height: 70px; object-fit: contain; object-position: left center; }
.pol-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
  margin-right: 43px;
}
.pol-nav__link {
  color: var(--pol-white);
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  text-decoration: none;
  padding: 1.6px 0;
  white-space: nowrap;
}
.pol-nav__link.is-current, .pol-nav__link:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.pol-nav__dropdown { background: var(--pol-dark); padding: 8px 0; }
.pol-header__actions { display: flex; align-items: center; gap: 43px; }
.pol-social { display: flex; align-items: center; gap: 18px; }
.pol-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--pol-white);
  border-radius: 6px;
  color: var(--pol-white);
}
.pol-social__link svg { width: 20px; height: 20px; }
.pol-social--footer svg { width: 24px; height: 24px; }
.pol-header__cta { min-height: 60px; }
.pol-burger { display: none; }
.pol-menu { display: none; }

/* ---- hero ---- */
.pol-hero { position: relative; overflow: hidden; }
.pol-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pol-hero__content { position: relative; z-index: 1; }
.pol-hero--centered { height: 665px; }
.pol-hero--centered .pol-hero__logo { grid-column: 7 / span 12; margin-top: 56px; width: 100%; height: auto; }
.pol-hero--centered .pol-hero__heading { grid-column: 5 / span 16; margin-top: 28px; text-align: center; }
.pol-hero--centered .pol-hero__text { grid-column: 6 / span 14; margin: 11px 0 0; text-align: center; font-size: 16px; line-height: 24px; }
.pol-hero--centered .pol-hero__btn { grid-column: 11 / span 4; margin-top: 55px; }
.pol-hero--split { height: 449px; }
.pol-hero--split .pol-hero__title { grid-column: 1 / span 12; grid-row: 1; margin-top: 47px; }
.pol-hero--split .pol-hero__content { grid-template-rows: auto auto 1fr; }
.pol-hero--split .pol-hero__kicker { grid-column: 15 / span 10; grid-row: 1; margin-top: 47px; }
.pol-hero--split .pol-hero__btn { grid-column: 15 / span 5; grid-row: 2; margin-top: 68px; justify-self: start; min-width: 267px; }

/* ---- photo strip ---- */
.pol-strip { padding: 28px var(--pol-gutter) 115px; position: relative; overflow: hidden; }
.pol-strip__row { display: grid; grid-template-columns: repeat(var(--pol-strip-count, 4), minmax(0, 1fr)); }
.pol-strip__img { display: block; width: 100%; height: 228px; object-fit: cover; }
.pol-strip__wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 6vw; display: block; }

/* ---- home sponsor rows ---- */
.pol-sponsors { position: relative; }
.pol-sponsors > .pol-grid:first-child { position: absolute; inset: 0 0 auto 0; z-index: 1; }
.pol-sponsors__title { grid-column: 1 / span 8; margin-top: 48px; }
.pol-sponsors__row { height: var(--pol-row-h); align-items: start; }
.pol-tile { grid-column: var(--pol-col) / span var(--pol-span); margin-top: var(--pol-top, 0); display: flex; }
.pol-tile__link { display: block; width: 100%; }
.pol-tile__img { display: block; width: 100%; height: auto; object-fit: contain; object-position: left center; }

/* ---- sponsors page grid ---- */
.pol-sgrid { padding-bottom: 61px; }
.pol-sgrid__title { grid-column: 1 / span 12; padding-top: 1px; }
.pol-sgrid__featured { display: flex; justify-content: center; margin-top: 43px; }

.pol-sgrid__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 0;
  row-gap: 28px;
  margin: 85px var(--pol-gutter) 0;
}
.pol-sgrid__cell { display: flex; align-items: center; justify-content: center; height: 114px; }
.pol-sgrid__cell a { display: block; width: 221px; height: 100%; }
.pol-sgrid__img { display: block; width: 221px; height: 114px; object-fit: contain; }
.pol-sgrid__cell.pol-sgrid__cell--featured { width: 221px; height: 58px; }
.pol-sgrid__cell--featured a, .pol-sgrid__cell--featured .pol-sgrid__img { width: 221px; height: 58px; }

/* ---- copy + photo ---- */
.pol-ti__grid { grid-template-rows: auto auto auto 1fr; height: 100%; }
.pol-ti__media { grid-row: 1 / -1 !important; }
.pol-ti__img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* about: 791px; h4 cols 1–14 at 47px, body cols 1–9, photo cols 17–24 434×572 */
.pol-ti--about { height: 791px; }
.pol-ti--about .pol-ti__heading { grid-column: 1 / span 14; grid-row: 1; margin-top: 47px; align-self: start; }
.pol-ti--about .pol-ti__body { grid-column: 1 / span 9; grid-row: 2; margin-top: 9px; }
.pol-ti--about .pol-ti__heading2 { margin-top: 11px; }
.pol-ti--about .pol-ti__body2 { margin-top: 48px; }
.pol-ti--about .pol-ti__media { grid-column: 17 / span 8; grid-row: 1 / span 2; margin-top: 47px; height: 572px; align-self: start; }
/* volunteer: 630px + 123px of page background; h3 cols 2–11 at 41px, body cols 2–9, pill cols 4–6, photo cols 14–23 546×463 */
.pol-ti--volunteer { height: 630px; margin-bottom: 123px; }
.pol-ti--volunteer .pol-ti__heading { grid-column: 2 / span 10; grid-row: 1; margin-top: 41px; align-self: start; }
.pol-ti--volunteer .pol-ti__body { grid-column: 2 / span 8; grid-row: 2; margin-top: 34px; }
.pol-ti--volunteer .pol-ti__btn { grid-column: 4 / span 3; grid-row: 3; margin-top: -2px; justify-self: start; min-width: 156px; }
.pol-ti--volunteer .pol-ti__media { grid-column: 14 / span 10; grid-row: 1 / span 3; margin-top: 41px; height: 463px; align-self: start; }
/* participate: 913px; h1 cols 1–10 at 79px, panel cols 1–15 (#c9dcef, 48/49 padding), photo cols 17→edge 492×669 */
.pol-ti--participate { height: 913px; position: relative; }
.pol-ti--participate .pol-ti__heading { grid-column: 1 / span 10; grid-row: 1; margin-top: 79px; align-self: start; }
.pol-ti--participate .pol-ti__body { grid-column: 1 / span 15; grid-row: 2; margin-top: 10px; background: var(--pol-panel); padding: 46px 49px 45px; }
.pol-ti--participate .pol-ti__body .pol-rich > p:first-child { font-size: 22.912px; line-height: 34.368px; }
.pol-ti--participate .pol-ti__body .pol-rich > p:first-child + p { margin-top: 16px; }
.pol-ti--participate .pol-ti__media { position: absolute; top: 0; right: 0; left: calc(var(--pol-gutter) + (100% - 2 * var(--pol-gutter) - 253px) / 24 * 16 + 176px); height: 669px; }
/* getting here: h2 cols 1–14 at 95px, body cols 1–14, photo cols 20–24 267×349; the inline accordion follows */
.pol-ti--gettingHere { padding-bottom: 11px; }
.pol-ti--gettingHere .pol-ti__heading { grid-column: 1 / span 14; grid-row: 1; margin-top: 95px; align-self: start; }
.pol-ti--gettingHere .pol-ti__body { grid-column: 1 / span 14; grid-row: 2; margin-top: 67px; }
.pol-ti--gettingHere .pol-ti__media { grid-column: 20 / span 5; grid-row: 1 / span 2; margin-top: 95px; height: 349px; align-self: start; }

/* ---- marquee ---- */
.pol-marquee { background: var(--pol-white); border-top: 1px solid var(--pol-black); border-bottom: 1px solid var(--pol-black); height: 189px; box-sizing: border-box; overflow: hidden; }
.pol-marquee__band { background: var(--pol-marquee); height: 148px; }
.pol-marquee__svg { display: block; width: 100%; height: 148px; overflow: visible; }
.pol-marquee__text { font-family: var(--pol-display); font-size: 59.2px; text-transform: uppercase; letter-spacing: -0.02em; fill: var(--pol-black); }
.pol-marquee__star { font-family: var(--pol-body); font-weight: 400; }

/* ---- photo + copy on blue ---- */
.pol-feature { position: relative; height: 624px; overflow: hidden; }
.pol-feature__media { position: absolute; left: 0; top: 0; bottom: 0; width: 41.875%; }
.pol-feature__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pol-feature__grid { height: 100%; }
.pol-feature__copy { grid-column: 14 / span 8; margin-top: 158px; }
.pol-feature__text { margin: 0; font-size: 22.912px; line-height: 34.368px; }
.pol-feature__link { margin-top: 32px; color: var(--pol-white); }
.pol-feature__link a { color: inherit; text-decoration: underline; text-underline-offset: 0.12em; }

/* ---- accordion ---- */
.pol-acc__list { list-style: none; margin: 0; padding: 0; }
.pol-acc__item { border-top: 1px solid var(--pol-black); }
.pol-acc__item:last-child { border-bottom: 1px solid var(--pol-black); }
.pol-acc__summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 30px 0; font-size: 16px; line-height: 21px; font-weight: 600; }
.pol-acc__summary::-webkit-details-marker { display: none; }
.pol-acc__q { flex: 1; }
.pol-acc__icon { position: relative; flex: 0 0 14px; width: 14px; height: 14px; margin-top: 4px; }
.pol-acc__icon::before, .pol-acc__icon::after { content: ""; position: absolute; background: var(--pol-black); left: 0; top: 6px; width: 14px; height: 2px; transition: transform 0.2s; }
.pol-acc__icon::after { transform: rotate(90deg); }
.pol-acc__details[open] .pol-acc__icon::after { transform: rotate(0deg); }
.pol-acc__a { padding: 0 0 30px; }
.pol-acc--inline .pol-acc__inline { grid-column: 1 / span 14; }
.pol-acc--inline { padding-bottom: 95px; }
.pol-acc--inline .pol-acc__summary { padding: 20px 0; }
.pol-acc--inline .pol-acc__a { padding-bottom: 20px; }
/* FAQ page: the inset light panel (#ededf0, 4vw in from the edges), 3,078px tall as published */
.pol-acc--faq { padding: 44px var(--pol-gutter) 58px; }
.pol-acc__panel { background: #ededf0; border-radius: 18px; height: 3017px; }
.pol-acc__grid { padding-inline: 0; grid-template-rows: auto auto 1fr; }
.pol-acc__heading { grid-column: 2 / span 9; grid-row: 1; margin-top: 41px; }
.pol-acc__media { grid-column: 1 / span 11; grid-row: 2; margin-top: 120px; }
.pol-acc__img { display: block; width: 100%; height: auto; }
.pol-acc__col { grid-column: 13 / span 11; grid-row: 1 / -1; margin-top: 40px; }

/* ---- form bands ---- */
.pol-formband--getInTouch { height: 594px; }
.pol-formband--getInTouch .pol-formband__intro { grid-column: 1 / span 10; margin-top: 162px; }
.pol-formband--getInTouch .pol-formband__body { max-width: 379px; margin-top: 27px; }
.pol-formband--getInTouch .pol-formband__form { grid-column: 13 / span 12; margin-top: 162px; }
.pol-formband--workTogether { padding: 58px 0; }
.pol-formband--workTogether .pol-formband__intro { grid-column: 1 / span 7; }
.pol-formband--workTogether .pol-formband__body .pol-small { display: block; margin-bottom: 18px; }
.pol-formband--workTogether .pol-formband__img { display: block; width: 267px; height: 384px; object-fit: cover; margin-top: 266px; }
.pol-formband--workTogether .pol-formband__form { grid-column: 13 / span 12; }
/* core Forms, dressed as the Squarespace form (measured on /participate, 2026-10-23):
 * "Name" legend 16/24 600; field labels 14px 600 on a 27px line; inputs 42px tall,
 * 1px black, fully rounded, transparent; first/last name side by side 11px apart;
 * 20px between fields; black 123×59 pill submit. DECLARED: core prints required as
 * " *" where Squarespace printed "(required)". */
.pol-form form { max-width: none; margin: 0; display: flex; flex-wrap: wrap; column-gap: 11px; row-gap: 20px; color: var(--pol-black); text-align: left; }
.pol-form form > * { flex: 0 0 100%; margin: 0 !important; min-width: 0; }
.pol-form form > div:has(> input.pol-half) { flex-basis: calc(50% - 5.5px); }
.pol-form form > div:has(h3) { margin-bottom: -16px !important; }
.pol-form .border-t { border-top: 0; padding-top: 0; }
.pol-form h3 { font-family: var(--pol-body); font-size: 16px; line-height: 24px; font-weight: 600; text-transform: none; letter-spacing: 0; margin: 0; color: var(--pol-black); }
.pol-form form > div > label, .pol-form form > div > p[id^="label-"] {
  display: block; margin: 0; font-size: 14px; line-height: 27px; font-weight: 600;
  letter-spacing: 0; text-transform: none; color: var(--pol-black);
}
.pol-form input[type="text"], .pol-form input[type="email"], .pol-form input[type="tel"], .pol-form input[type="number"], .pol-form input[type="date"], .pol-form textarea, .pol-form select {
  display: block; width: 100%; box-sizing: border-box; height: 42px;
  border: 1px solid var(--pol-black); border-radius: 300px; background: transparent;
  color: var(--pol-black); padding: 8px 16px; margin: 0;
  font: inherit; font-size: 16px; font-weight: 400; outline: none;
}
.pol-form input:focus, .pol-form textarea:focus { border-width: 2px; padding: 7px 15px; }
.pol-form input[type="date"] { width: auto; min-width: 180px; }
.pol-form textarea { height: 100px; border-radius: 20px; resize: vertical; }
.pol-form ::placeholder { color: rgba(0,0,0,0.55); font-weight: 400; }
.pol-form [role="group"] { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 4px !important; }
.pol-form [role="group"] label, .pol-form form > div > label:has(input[type="checkbox"]) {
  display: inline-flex; align-items: center; gap: 8px; margin: 0;
  font-size: 14.272px; line-height: 17.1264px; font-weight: 600; text-transform: uppercase; color: var(--pol-black);
}
.pol-form input[type="checkbox"], .pol-form input[type="radio"] { width: 16px; height: 16px; margin: 0; accent-color: var(--pol-black); }
.pol-form button[type="submit"] {
  background: var(--pol-black); color: var(--pol-white); border: 0; border-radius: 300px;
  padding: 0 32px; height: 59px; min-width: 123px;
  font: inherit; font-size: 16px; font-weight: 600; text-transform: uppercase; cursor: pointer;
}
.pol-form button[type="submit"]:hover { opacity: 0.85; }
.pol-form [role="alert"] { color: #b00020; font-size: 14px; }
.pol-form form + p, .pol-form > div > p { font-size: 16px; }

/* ---- big heading + button ---- */
.pol-ctaband { height: 360px; }
.pol-ctaband__grid { grid-template-rows: auto auto 1fr; height: 100%; }
.pol-ctaband__heading { grid-column: 1 / span 10; grid-row: 1; margin-top: 62px; }
.pol-ctaband__btn { grid-column: 3 / span 4; grid-row: 2; margin-top: 58px; justify-self: start; min-width: 212px; }
.pol-ctaband__body { grid-column: 13 / span 12; grid-row: 1 / -1; margin-top: 62px; }

/* ---- four columns ("Our process") ---- */
.pol-process { height: 692px; }
.pol-process__heading { grid-column: 1 / span 14; grid-row: 1; margin-top: 95px; }
.pol-process__col { grid-column: calc(var(--pol-i) * 6 + 1) / span 5; grid-row: 2; margin-top: 148px; }
.pol-shape { display: block; width: 71px; height: 107px; margin-bottom: 25px; }
.pol-process__col:nth-of-type(n+3) .pol-shape { margin-bottom: 14px; }
.pol-shape--hourglass { background: radial-gradient(circle at 0 50%, transparent 0 24px, var(--pol-dark) 25px) left / 50% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 0 24px, var(--pol-dark) 25px) right / 50% 100% no-repeat; }
.pol-shape--arch { background: var(--pol-accent); border-radius: 36px 36px 0 0; }
.pol-shape--trapezoid { background: var(--pol-light); clip-path: polygon(0 0, 100% 0, 80% 100%, 20% 100%); }
.pol-shape--oval { background: var(--pol-dark); border-radius: 50% 50% 48% 48% / 60% 60% 40% 40%; }
.pol-process__title { margin: 0; font-size: 22.912px; line-height: 34.368px; }
.pol-process__text { margin: 16px 0 0; font-size: 14.272px; line-height: 21.408px; }

/* ---- photo + caption ("Past project") ---- */
.pol-project { height: 1071px; }
.pol-project__grid { grid-template-rows: auto 1fr; }
.pol-project__eyebrow { grid-column: 1 / span 6; grid-row: 1; margin: 60px 0 0; font-size: 14.272px; line-height: 21.408px; }
.pol-project__media { grid-column: 1 / span 11; grid-row: 2; margin-top: 43px; height: 897px; }
.pol-project__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pol-project__copy { grid-column: 19 / span 6; grid-row: 2; margin-top: 43px; }
.pol-project__text { margin: 32px 0 0; font-size: 14.272px; line-height: 21.408px; }
.pol-project__btn { margin-top: 34px; min-width: 267px; }
.pol-project__media2 { grid-column: 19 / span 6; grid-row: 2; margin-top: 517px; height: 423px; }
.pol-project__img2 { display: block; width: 100%; height: 100%; object-fit: cover; }

/* ---- quotes ---- */
.pol-quotes { position: relative; height: 360px; }
.pol-quotes__fig { grid-column: 1 / span 24; margin: 92px auto 0; width: 72vw; text-align: left; }
.pol-quotes__quote { font-size: 38.464px; line-height: 42.8335px; }
.pol-quotes__source { margin-top: 41px; font-size: 19.456px; line-height: 29.184px; }
.pol-quotes__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%; border: 0;
  background: #474747; color: var(--pol-white); font-size: 20px; cursor: pointer;
}
.pol-quotes__arrow--prev { left: 16px; }
.pol-quotes__arrow--next { right: 16px; }

/* ---- footer ---- */
.pol-footer { height: 147px; }
.pol-footer__inner { display: flex; justify-content: space-between; padding: 39px var(--pol-gutter) 0; }
.pol-footer__title { margin: 0; }
.pol-footer__producer { margin: -2px 0 0; font-size: 14.272px; line-height: 21.408px; }
.pol-footer__contact { text-align: right; }
.pol-footer__email { margin: 0; font-size: 14.272px; line-height: 21.408px; }
.pol-footer__email a { text-decoration: none; }
.pol-social--footer { justify-content: flex-end; gap: 18px; margin-top: 25px; color: var(--pol-black); }
.pol-social--footer a { display: inline-flex; color: inherit; }

/* =================== mobile (Squarespace breakpoint 767px) =================== */
@media (max-width: 767px) {
  :where(html:has([data-pol-chrome])) { --pol-gutter: 6vw; --pol-header-h: 71px; }
  .pol-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  :where(html:has([data-pol-chrome]) main) h1 { font-size: 46.384px; line-height: 1.056; }
  :where(html:has([data-pol-chrome]) main) h2 { font-size: 34.2304px; line-height: 1.1136; }
  :where(html:has([data-pol-chrome]) main) h3, .pol-footer__title { font-size: 28.1536px; line-height: 1.1424; }
  :where(html:has([data-pol-chrome]) main) h4 { font-size: 22.0768px; line-height: 1.1712; }
  .pol-rich .pol-large { font-size: 20.0512px; line-height: 30.0768px; }
  .pol-rich .pol-small { font-size: 14.9872px; line-height: 22.4808px; }
  /* mobile pills are a fixed 166px (two lines when the label is long), measured on every page */
  .pol-btn { min-height: 59px; width: 166px; min-width: 0 !important; font-size: 14px; line-height: 1.2; padding: 10px 20px; }

  /* header: 71px, small logo, burger */
  .pol-header__logo img { width: 96px; height: 32px; }
  .pol-nav, .pol-header__actions { display: none; }
  .pol-burger { display: flex; flex-direction: column; justify-content: center; gap: 7px; margin-left: auto; width: 40px; height: 40px; background: none; border: 0; padding: 0; cursor: pointer; }
  .pol-burger span { display: block; height: 2px; width: 40px; background: var(--pol-white); }
  .pol-header.is-open { position: fixed; height: 100dvh; }
  .pol-menu { display: block; padding: 24px var(--pol-gutter); }
  .pol-menu[hidden] { display: none; }
  .pol-menu__nav { display: flex; flex-direction: column; gap: 18px; }
  .pol-menu__nav .pol-nav__link { font-family: var(--pol-display); font-size: 28px; text-transform: uppercase; }
  .pol-menu__cta { margin-top: 32px; }
  .pol-menu__social { margin-top: 32px; }

  /* hero: 1,110px; logo at 43px, date at 537px, line at 771px, button at 876px */
  .pol-hero--centered { height: 1110px; }
  .pol-hero--centered .pol-hero__logo { grid-column: 1 / -1; margin-top: 43px; }
  .pol-hero--centered .pol-hero__heading { grid-column: 1 / -1; margin-top: 310px; }
  .pol-hero--centered .pol-hero__text { grid-column: 1 / -1; margin-top: 170px; }
  .pol-hero--centered .pol-hero__btn { grid-column: 3 / span 4; margin-top: 33px; }
  .pol-hero--split { height: 720px; }
  .pol-hero--split .pol-hero__title { grid-column: 1 / -1; grid-row: 1; margin-top: 28px; }
  .pol-hero--split .pol-hero__kicker { grid-column: 1 / -1; grid-row: 2; margin-top: 287px; }
  .pol-hero--split .pol-hero__btn { grid-column: 1 / span 4; grid-row: 3; margin-top: 11px; }

  .pol-strip { padding: 24px var(--pol-gutter) 47px; }
  .pol-strip__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pol-strip__img { height: 144px; }

  /* sponsor rows stack: APPROX — Squarespace's mobile grid spaced them 130–190px apart */
  /* stacked: logos at full column width, ~176px apart (live 140–197, mean 176), 151px under the title, 200px above the footer */
  .pol-sponsors > .pol-grid:first-child { position: static; }
  .pol-sponsors__title { grid-column: 1 / -1; margin-top: 28px; }
  .pol-sponsors__row { height: auto; display: flex; flex-direction: column; gap: 176px; padding: 0 var(--pol-gutter); margin-top: 176px; }
  .pol-sponsors > .pol-grid:first-child + .pol-sponsors__row { margin-top: 151px; }
  .pol-sponsors__row:last-child { padding-bottom: 200px; }
  .pol-tile { width: 100%; margin-top: 0; }
  .pol-tile__img { max-height: none !important; }

  .pol-sgrid { padding-bottom: 60px; }
  .pol-sgrid__title { grid-column: 1 / -1; padding-top: 2px; }
  .pol-sgrid__featured { margin-top: 67px; }
  .pol-sgrid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; row-gap: 120px; margin: 120px 0 0; }
  .pol-sgrid__cell { height: auto; }
  .pol-sgrid__img { max-width: 195px; max-height: none; }

  /* copy + photo: stacked as the Squarespace mobile grid did */
  .pol-ti--about, .pol-ti--volunteer, .pol-ti--participate { height: auto; }
  .pol-ti--volunteer { margin-bottom: 0; }
  .pol-ti__grid { display: flex; flex-direction: column; }
  .pol-ti--about .pol-ti__media { order: 0; margin: 133px 0 0 26%; height: auto; }
  .pol-ti--about .pol-ti__img { height: 409px; }
  .pol-ti--about .pol-ti__heading { order: 1; margin-top: 46px; }
  .pol-ti--about .pol-ti__body { order: 2; margin-top: 18px; padding-bottom: 27px; }
  .pol-ti--about .pol-ti__heading2 { margin-top: 46px; }
  .pol-ti--about .pol-ti__body2 { margin-top: 9px; }
  .pol-ti--volunteer .pol-ti__media { order: 0; margin-top: 1px; height: 234px; }
  .pol-ti--volunteer .pol-ti__heading { order: 1; margin-top: 46px; }
  .pol-ti--volunteer .pol-ti__body { order: 2; margin-top: 41px; }
  .pol-ti--volunteer .pol-ti__btn { order: 3; margin-top: 37px; min-height: 94px; width: 100%; }
  .pol-ti--participate .pol-ti__media { position: static; order: 0; width: calc(100% + 2 * var(--pol-gutter)); margin: 0 calc(-1 * var(--pol-gutter)); height: 444px; }
  .pol-ti--participate .pol-ti__heading { order: 1; margin-top: 46px; }
  .pol-ti--participate .pol-ti__body { order: 2; margin-top: 170px; padding: 46px 21px 20px; }
  .pol-ti--participate .pol-ti__body .pol-rich > p:first-child { font-size: 20.0512px; line-height: 30.0768px; }
  .pol-ti--gettingHere { padding-bottom: 60px; }
  .pol-ti--gettingHere .pol-ti__media { order: 0; margin-top: 56px; height: 374px; }
  .pol-ti--gettingHere .pol-ti__heading { order: 1; margin-top: 91px; }
  .pol-ti--gettingHere .pol-ti__body { order: 2; margin-top: 57px; }

  .pol-marquee { height: 166px; }
  .pol-marquee__band { height: 92px; }
  .pol-marquee__svg { height: 92px; }

  .pol-feature { height: auto; }
  .pol-feature__media { position: static; width: 100%; height: 444px; }
  .pol-feature__grid { display: block; padding-bottom: 105px; }
  .pol-feature__copy { margin-top: 151px; }
  .pol-feature__text { font-size: 20.0512px; line-height: 30.0768px; }
  .pol-feature__link { margin-top: 31px; }

  .pol-acc--inline .pol-acc__inline { grid-column: 1 / -1; }
  .pol-acc--inline { padding-bottom: 96px; }
  .pol-acc--faq { padding: 0 var(--pol-gutter) 0; }
  .pol-acc__panel { height: auto; padding: 63px 45px 27px; border-radius: 10px; }
  .pol-acc__grid { display: flex; flex-direction: column; }
  .pol-acc__heading { margin-top: 0; }
  .pol-acc__col { order: 2; margin-top: 132px; }
  .pol-acc__media { order: 3; margin: 24px -22px 0; }

  .pol-formband--getInTouch { height: auto; min-height: 1270px; padding-bottom: 60px; }
  .pol-formband__grid { display: flex; flex-direction: column; }
  .pol-formband--getInTouch .pol-formband__intro { margin-top: 91px; }
  .pol-formband--getInTouch .pol-formband__body { max-width: none; margin-top: 11px; }
  .pol-formband--getInTouch .pol-formband__form { margin-top: 48px; }
  .pol-formband--workTogether { padding: 34px 0 60px; }
  .pol-formband--workTogether .pol-formband__intro { display: flex; flex-direction: column; }
  .pol-formband--workTogether .pol-formband__img { order: -1; width: 100%; height: 479px; margin: 0 0 81px; }
  .pol-formband--workTogether .pol-formband__form { margin-top: 48px; }

  .pol-ctaband { height: auto; padding-bottom: 34px; }
  .pol-ctaband__grid { display: flex; flex-direction: column; }
  .pol-ctaband__heading { margin-top: 34px; }
  .pol-ctaband__body { margin-top: 64px; }
  .pol-ctaband__btn { order: 3; margin-top: 11px; align-self: flex-start; min-width: 166px; }

  .pol-process { height: auto; padding-bottom: 71px; }
  .pol-process .pol-grid, .pol-process { display: block; }
  .pol-process .pol-grid { padding-inline: 0; }
  .pol-process { padding-inline: var(--pol-gutter); }
  .pol-process__heading { margin: 56px 0 0; }
  .pol-process__col { margin: 20px 0 0; }
  .pol-process__col:nth-of-type(1) { margin-top: 75px; }
  .pol-process__col:nth-of-type(n+3) { margin-top: 35px; }
  .pol-shape, .pol-process__col:nth-of-type(n+3) .pol-shape { margin-bottom: 25px; }
  .pol-process__title { font-size: 20.0512px; line-height: 30.0768px; }
  .pol-process__text { font-size: 14.9872px; line-height: 22.4808px; }

  .pol-project { height: auto; padding-bottom: 28px; }
  .pol-project__grid { display: flex; flex-direction: column; }
  .pol-project__eyebrow { margin-top: 40px; }
  .pol-project__media { margin: 72px 26% 0 0; height: 374px; }
  .pol-project__copy { margin-top: 46px; }
  .pol-project__text { margin-top: 32px; }
  .pol-project__btn { margin-top: 25px; min-width: 166px; }
  .pol-project__media2 { margin: 81px 0 0 26%; height: 374px; }

  .pol-quotes { height: auto; padding-bottom: 161px; }
  .pol-quotes__fig { width: 100%; margin-top: 144px; }
  .pol-quotes__quote { font-size: 29.1664px; line-height: 32.4px; }
  .pol-quotes__source { margin-top: 17px; font-size: 18.0256px; line-height: 27px; }
  .pol-quotes__arrow { display: none; }

  .pol-footer { height: auto; padding-bottom: 60px; }
  /* stacked: title, email (right), producer line, social glyphs (right) — measured 390 */
  .pol-footer { padding-bottom: 46px; }
  .pol-footer__inner { flex-direction: column; padding-top: 70px; }
  .pol-footer__brand, .pol-footer__contact { display: contents; }
  .pol-footer__title { order: 1; }
  .pol-footer__email { order: 2; margin-top: 81px; text-align: right; }
  .pol-footer__producer { order: 3; margin-top: 48px; }
  .pol-social--footer { order: 4; justify-content: flex-end; margin-top: 12px; }
  .pol-footer__email, .pol-footer__producer { font-size: 14.9872px; line-height: 22.4808px; }
  .pol-footer__producer a { white-space: nowrap; }
}
