/* Atlanta Climate Week visual system */
@font-face {
  font-family: "Chunky Cuts";
  src: url("../fonts/chunky-cuts.woff2") format("woff2"),
       url("../fonts/chunky-cuts.woff") format("woff");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

:root {
  --acw-red: #ef4136;
  --acw-red-dark: #ee4036;
  --acw-ink: #231f20;
  --acw-black: #000;
  --acw-gray: #d9d1cb;
  --acw-blue: #047cbf;
  --acw-white: #fff;
  --acw-max: 1240px;
  --acw-pad: clamp(1rem, 4vw, 3rem);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
::selection { background: var(--acw-red); color: #fff; }

.wp-site-blocks { overflow: clip; }
.acw-shell { width: min(calc(100% - (var(--acw-pad) * 2)), var(--acw-max)); margin-inline: auto; }
.acw-main { min-height: 60vh; }

/* Header */
.acw-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(0,0,0,.96);
  color: #fff;
  border-bottom: 4px solid var(--acw-red);
}
.admin-bar .acw-header { top: 32px; }
.acw-header__inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: space-between;
}
.acw-brand {
  color: #fff !important;
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  font-family: "Chunky Cuts", "Arial Black", Impact, sans-serif;
  line-height: .72;
  letter-spacing: -.03em;
  font-size: clamp(1.4rem,2.2vw,2.1rem);
  transform: rotate(-1deg);
}
.acw-brand small {
  font-family: "IBM Plex Mono", monospace;
  font-size: .44em;
  letter-spacing: .22em;
  margin-top: .38rem;
  text-transform: uppercase;
}
.acw-header .wp-block-navigation-item__content { color: #fff; text-decoration: none; }
.acw-header .wp-block-navigation-item__content:hover { color: var(--acw-red); }
.acw-header .wp-block-navigation__responsive-container.is-menu-open { background:#000; color:#fff; padding:2rem; }
.acw-header .wp-block-navigation__responsive-container-open,
.acw-header .wp-block-navigation__responsive-container-close { color:#fff; }
.acw-nav-date {
  white-space: nowrap;
  background: var(--acw-red);
  color:#fff;
  padding:.6rem .85rem;
  font-size:.72rem;
  font-weight:700;
  transform: rotate(-1.2deg);
}

/* Hero */
.acw-hero {
  min-height: min(78vh, 790px);
  position: relative;
  display: grid;
  align-items: end;
  background-image: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.5)), url('../images/atlanta-skyline.png');
  background-size: cover;
  background-position: center 58%;
  color: #fff;
  isolation: isolate;
}
.acw-hero::after {
  content:"";
  position:absolute;
  left:-3vw;
  right:-3vw;
  bottom:-1px;
  height:8vw;
  min-height:56px;
  max-height:110px;
  background:var(--acw-gray);
  clip-path:polygon(0 50%, 100% 0, 100% 100%, 0 100%);
  z-index:-1;
}
.acw-hero__content { padding: clamp(7rem,18vh,12rem) 0 clamp(7rem,12vw,10rem); }
.acw-hero__kicker { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.acw-hero__title {
  margin: .6rem 0 1.25rem;
  max-width: 850px;
  font-family: "Chunky Cuts", "Arial Black", Impact, sans-serif;
  font-size: clamp(4rem, 12vw, 10rem);
  line-height: .68;
  letter-spacing: -.045em;
  text-transform: none;
  text-wrap: balance;
  text-shadow: 0 4px 0 rgba(0,0,0,.18);
}
.acw-hero__title .small { display:block; font-size:.58em; margin-left:8vw; }
.acw-hero__meta { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.acw-hero__date { display:inline-block; padding:.65rem .9rem; background:var(--acw-red); font-weight:700; transform:rotate(-1.5deg); }
.acw-hero__network { display:inline-block; padding:.55rem .75rem; background:#fff; color:#000; font-size:.75rem; font-weight:700; transform:rotate(.8deg); }

/* Angled blocks */
.acw-angle { position:relative; }
.acw-angle--red {
  color:#fff;
  background:var(--acw-red);
  clip-path:polygon(0 4%,100% 0,98% 92%,3% 100%);
  padding:clamp(2.25rem,5vw,5rem);
}
.acw-angle--black {
  color:#fff;
  background:#000;
  clip-path:polygon(0 2%,100% 0,100% 94%,0 100%);
}
.acw-divider-red { height: clamp(14px,2vw,26px); background: var(--acw-red); transform: rotate(-1.4deg) scaleX(1.03); }
.acw-divider-black { height: clamp(10px,1.4vw,18px); background: #000; transform: rotate(.8deg) scaleX(1.03); }

/* Intro */
.acw-intro { background:var(--acw-gray); padding:clamp(3rem,7vw,7rem) 0 clamp(5rem,9vw,9rem); }
.acw-intro__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.acw-display-red { color:var(--acw-red); font-size:clamp(3.4rem,7vw,7rem); line-height:.68; margin:0 0 2rem; }
.acw-body-large { font-size:clamp(1rem,1.4vw,1.2rem); max-width:58ch; }
.acw-body-large strong { color:var(--acw-red); }
.acw-date-lockup { margin-top:2rem; display:flex; align-items:baseline; gap:.5rem; border-bottom:12px solid #000; padding-bottom:.5rem; transform:rotate(-1deg); }
.acw-date-lockup strong { font-size:clamp(1.2rem,2.5vw,2.2rem); }
.acw-date-lockup .acw-year { margin:0 0 0 auto; font-family:"Chunky Cuts","Arial Black",sans-serif; font-size:clamp(3.5rem,7vw,6.5rem); line-height:.7; }

.acw-quote { margin-top:clamp(2rem,5vw,4.5rem); position:relative; padding-left:clamp(0rem,4vw,3rem); }
.acw-quote::before { content:'“'; color:var(--acw-red); font-family:"Chunky Cuts","Arial Black",sans-serif; font-size:6rem; line-height:.6; position:absolute; left:0; top:.2rem; transform:rotate(-8deg); }
.acw-quote p { max-width:72ch; }
.acw-quote__name { display:inline-block; background:var(--acw-red); color:#fff; font-size:1.4rem; font-weight:700; padding:.2rem .75rem; transform:rotate(-2deg); }
.acw-quote__title { margin:.75rem 0 0 2rem; font-weight:700; max-width:46ch; }

/* Seeking */
.acw-seeking { background:#000; color:#fff; padding:clamp(5rem,8vw,8rem) 0; position:relative; }
.acw-seeking::before { content:""; position:absolute; top:-18px; left:-2%; width:104%; height:34px; background:var(--acw-red); transform:rotate(-1.2deg); }
.acw-seeking__head { display:flex; justify-content:space-between; gap:2rem; align-items:flex-start; flex-wrap:wrap; }
.acw-seeking h2 { font-size:clamp(3.2rem,8vw,7rem); margin:0; color:#fff; }
.acw-email-ribbon { display:inline-flex; align-items:center; gap:1rem; background:var(--acw-red); color:#fff !important; text-decoration:none; padding:.7rem 4.2rem .7rem 1rem; font-size:clamp(1rem,2vw,1.5rem); font-weight:700; transform:rotate(2deg); position:relative; }
.acw-email-ribbon::after { content:'✦'; display:grid; place-items:center; position:absolute; right:-1.4rem; width:4rem; height:4rem; background:#fff; color:#000; clip-path:polygon(50% 0,61% 31%,85% 15%,71% 39%,100% 50%,70% 61%,85% 85%,61% 70%,50% 100%,39% 70%,15% 85%,30% 61%,0 50%,30% 39%,15% 15%,39% 30%); font-size:1.5rem; }
.acw-seeking__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,4vw,4rem); margin-top:4rem; }
.acw-seeking__card { border-top:2px solid #fff; padding-top:1rem; position:relative; }
.acw-seeking__card::after { content:""; width:5px; height:5px; border-radius:50%; background:#fff; position:absolute; right:0; top:-4px; }
.acw-seeking__card h3 { color:#fff; font-family:"IBM Plex Mono", monospace; font-size:clamp(1.4rem,2vw,2rem); line-height:1; margin:0 0 .75rem; text-transform:uppercase; font-weight:700; }

/* Partner strip */
.acw-partners { background:#fff; padding:2rem 0 3rem; }
.acw-partners__label { color:var(--acw-red); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.acw-partners__grid { margin-top:1.5rem; display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:2rem; align-items:center; }
.acw-partner-placeholder { min-height:68px; display:grid; place-items:center; text-align:center; padding:.7rem; border:1px solid #ddd; font-weight:700; font-size:.72rem; }
.acw-partners img { max-height:74px; width:auto; max-width:100%; object-fit:contain; justify-self:center; }
.acw-partner-logo { min-height:76px; width:100%; background-repeat:no-repeat; background-position:center; background-size:contain; }
.acw-partner-logo--atl { background-image:url('../images/partner-atl-sustainability.png'); }
.acw-partner-logo--yes { background-image:url('../images/partner-yes.png'); }
.acw-partner-logo--metro { background-image:url('../images/partner-metro-atlanta-chamber.png'); }

/* Generic pages */
.acw-page-hero { background:var(--acw-gray); padding:clamp(6rem,10vw,10rem) 0 clamp(4rem,7vw,7rem); position:relative; }
.acw-page-hero::after { content:""; position:absolute; bottom:-18px; left:-2%; width:104%; height:32px; background:var(--acw-red); transform:rotate(-1deg); }
.acw-page-hero h1 { color:var(--acw-red); font-size:clamp(4rem,10vw,9rem); margin:0; line-height:.7; }
.acw-page-hero p { max-width:62ch; font-size:clamp(1rem,1.4vw,1.2rem); }
.acw-content { padding:clamp(4rem,7vw,7rem) 0; }
.acw-coming-soon { background:#000; color:#fff; padding:clamp(2rem,5vw,4rem); clip-path:polygon(0 4%,100% 0,98% 92%,3% 100%); }
.acw-coming-soon h2 { color:#fff; margin-top:0; font-size:clamp(2rem,5vw,4.5rem); }
.acw-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.acw-action-card { background:var(--acw-gray); padding:2rem; min-height:240px; display:flex; flex-direction:column; clip-path:polygon(0 3%,100% 0,98% 95%,3% 100%); }
.acw-action-card:nth-child(even) { background:var(--acw-red); color:#fff; transform:translateY(18px) rotate(.4deg); }
.acw-action-card:nth-child(even) h3 { color:#fff; }
.acw-action-card h3 { font-family:"IBM Plex Mono",monospace; font-size:1.5rem; line-height:1.1; text-transform:uppercase; }
.acw-action-card .wp-block-buttons { margin-top:auto; }

/* Details / FAQ */
.wp-block-details { border-top:2px solid var(--acw-ink); padding:1rem 0; }
.wp-block-details summary { font-weight:700; cursor:pointer; }

/* Footer */
.acw-footer { background:#000; color:#fff; padding:5rem 0 2rem; position:relative; margin-top:2rem; }
.acw-footer::before { content:""; position:absolute; top:-20px; left:-2%; width:104%; height:36px; background:var(--acw-red); transform:rotate(1deg); }
.acw-footer a { color:#fff; }
.acw-footer a:hover { color:var(--acw-red); }
.acw-footer__grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:3rem; }
.acw-footer__title { font-family:"Chunky Cuts","Arial Black",sans-serif; font-size:clamp(2rem,4vw,4rem); line-height:.72; }
.acw-footer__date { display:inline-block; background:var(--acw-red); padding:.4rem .6rem; transform:rotate(-1deg); font-weight:700; }
.acw-footer__small { border-top:1px solid #444; margin-top:3rem; padding-top:1rem; font-size:.72rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

/* Accessibility */
:focus-visible { outline:3px solid var(--acw-blue); outline-offset:4px; }
.screen-reader-text:focus { z-index:100000; }

@media (max-width: 980px) {
  .acw-intro__grid, .acw-footer__grid { grid-template-columns:1fr; }
  .acw-seeking__grid, .acw-card-grid { grid-template-columns:1fr; }
  .acw-partners__grid { grid-template-columns:repeat(3,1fr); }
  .acw-nav-date { display:none; }
  .acw-header__inner { gap:1rem; }
  .acw-quote { padding-left:4rem; }
}
@media (max-width: 600px) {
  .admin-bar .acw-header { top:46px; }
  .acw-hero { min-height:68vh; }
  .acw-hero__title { font-size:clamp(3.7rem,19vw,6rem); }
  .acw-hero__title .small { margin-left:0; }
  .acw-partners__grid { grid-template-columns:repeat(2,1fr); }
  .acw-email-ribbon { width:calc(100% - 1.5rem); padding-right:2.5rem; }
  .acw-date-lockup { flex-wrap:wrap; }
  .acw-date-lockup .acw-year { width:100%; margin-left:0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* v1.2 homepage fidelity + editorial usability */
html, body { margin: 0; padding: 0; }
.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 0 !important;
}
.wp-site-blocks > .wp-block-template-part,
.wp-site-blocks > main,
.acw-home-main,
.acw-home-content,
.acw-home-content > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.acw-home-content { padding: 0 !important; }
.acw-footer { margin-top: 0; }

/* Never split display words. JavaScript reduces size when a line is too wide. */
h1, h2, h3,
.acw-brand,
.acw-nav-date,
.acw-hero__title,
.acw-display-red,
.acw-seeking h2,
.acw-page-hero h1,
.acw-footer__title,
.acw-newsletter h2 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.acw-fit,
.acw-fit-lines > span {
  display: block;
  width: 100%;
  max-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.acw-brand > span { white-space: nowrap; }

/* Hero: use the actual Climate Week Network mark instead of adding a text label. */
.acw-hero__network-lockup {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: fit-content;
  margin: 0 0 1.15rem !important;
}
.acw-hero__network-logo {
  margin: 0 !important;
  width: clamp(68px, 7vw, 96px);
  background: #fff;
  padding: .45rem;
  box-sizing: border-box;
  transform: rotate(-1deg);
}
.acw-hero__network-logo img { display: block; width: 100%; height: auto; }
.acw-hero__x {
  margin: 0 !important;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 700;
  line-height: 1;
}
.acw-hero__title { max-width: min(850px, 100%); }
.acw-hero__title > span { display: block; }
.acw-hero__title .small { width: fit-content; max-width: 100%; }
.acw-hero__meta { margin-top: 1rem !important; }
.acw-hero__network { display: none !important; }

/* Use the white sunburst from the supplied launch artwork. */
.acw-email-ribbon {
  isolation: isolate;
  margin-right: clamp(1.5rem, 4vw, 3rem);
}
.acw-email-ribbon::after {
  content: "";
  position: absolute;
  right: -2.65rem;
  top: 50%;
  width: 5.5rem;
  height: 5.5rem;
  transform: translateY(-50%) rotate(-3deg);
  background: transparent url('../images/acw-sunburst.png') center / contain no-repeat;
  clip-path: none;
  color: transparent;
  pointer-events: none;
  z-index: 2;
}

/* All six collaborator marks are now real editable image blocks. */
.acw-partners { padding: 2.25rem 0 3.25rem; }
.acw-partners__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
.acw-partner-image {
  min-width: 0;
  min-height: 82px;
  margin: 0 !important;
  display: grid;
  place-items: center;
  padding: .3rem;
  box-sizing: border-box;
}
.acw-partner-image img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  max-height: 78px !important;
  object-fit: contain;
}

/* Riot of Colors attribution replaces the Gutenberg callout. */
.acw-footer__roc {
  display: block;
  width: 150px;
  height: 50px;
  background: url('../images/riot-of-colors.svg') center / contain no-repeat;
  filter: invert(1);
  opacity: .88;
  flex: 0 0 auto;
}
.acw-footer__roc:hover { opacity: 1; }
.acw-footer__small { align-items: center; }
.acw-footer__title > span { display: block; }

@media (max-width: 980px) {
  .acw-partners__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .acw-partners__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .acw-partner-image { min-height: 70px; }
  .acw-email-ribbon::after { right: -2rem; width: 4.5rem; height: 4.5rem; }
  .acw-footer__roc { width: 125px; height: 42px; }
}

/* v1.3 visual refinements */
.acw-angle,
.acw-hero,
.acw-intro,
.acw-seeking,
.acw-partners,
.acw-footer { overflow: hidden; }

.acw-hero__acw-logo,
.acw-intro__logo,
.acw-partner-image,
.acw-hero__network-logo {
  margin: 0 !important;
  line-height: 0;
}
.acw-hero__acw-logo img,
.acw-intro__logo img,
.acw-partner-image img,
.acw-hero__network-logo img {
  display: block;
}

/* Use the actual ACW logo in hero and intro */
.acw-hero__acw-logo {
  width: clamp(190px, 28vw, 360px);
  max-width: 42vw;
  margin: 0 0 .6rem !important;
}
.acw-hero__acw-logo img {
  width: 100%;
  height: auto;
}
.acw-intro__logo {
  width: min(100%, 540px);
  margin: 0 0 1.2rem !important;
}
.acw-intro__logo img {
  width: 100%;
  height: auto;
}

/* Keep emphasis readable inside the red intro panel */
.acw-body-large strong { color: #fff; }

/* Align the 'we're seeking' columns and remove the added line/dot decoration */
.acw-seeking__grid {
  align-items: start;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.acw-seeking__card {
  border-top: 0;
  padding-top: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
}
.acw-seeking__card::after { content: none; }
.acw-seeking__card h3 {
  margin: 0 0 .9rem;
  min-height: 2.4em;
}
.acw-seeking__card p {
  margin: 0;
  max-width: 18ch;
}

/* Make partner logos larger and reduce visual dead space */
.acw-partners { background: var(--acw-gray); padding: 2rem 0 2.4rem; }
.acw-partners__grid {
  margin-top: 1rem;
  gap: clamp(1.1rem, 2vw, 2.2rem);
}
.acw-partner-image {
  min-height: 100px;
  padding: .15rem;
}
.acw-partner-image img {
  max-height: 102px !important;
}

/* Tighten up image/container seams */
.acw-partners .wp-block-image,
.acw-hero .wp-block-image,
.acw-intro .wp-block-image {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.acw-seeking__head > p,
.acw-seeking__head > .wp-block-paragraph { margin: 0 !important; }

@media (max-width: 980px) {
  .acw-intro__logo { width: min(100%, 420px); }
  .acw-partner-image { min-height: 88px; }
  .acw-partner-image img { max-height: 88px !important; }
}

@media (max-width: 600px) {
  .acw-hero__acw-logo {
    width: min(82vw, 320px);
    max-width: 82vw;
  }
  .acw-seeking__card h3 { min-height: auto; }
  .acw-seeking__card p { max-width: none; }
  .acw-partner-image { min-height: 74px; }
  .acw-partner-image img { max-height: 74px !important; }
}

/* v1.4 fidelity fixes: real logo usage, wider desktop layout and seam cleanup */
:root {
  --acw-max: 1440px;
  --acw-pad: clamp(1rem, 2.5vw, 2rem);
}

/* Header always displays the actual Atlanta Climate Week logo asset, even if
   WordPress is still serving an older saved header template-part revision. */
.acw-brand,
.acw-brand--logo {
  display: block;
  flex: 0 0 auto;
  width: clamp(150px, 15vw, 205px);
  height: clamp(58px, 6vw, 78px);
  margin: 0;
  padding: 0;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  background: transparent url('../images/atlanta-climate-week-logo.png') center / contain no-repeat;
  transform: none;
}
.acw-brand > span:not(.screen-reader-text),
.acw-brand > small { display: none !important; }
.acw-header__inner { min-height: 88px; }

/* Current editable Home pages from earlier releases used a text H1 in the hero.
   Render the real logo in that same block so the upgrade is visually immediate
   even before the one-time content migration runs. */
.acw-hero__title {
  width: clamp(270px, 31vw, 460px) !important;
  max-width: 72vw !important;
  aspect-ratio: 1359 / 1108;
  height: auto;
  margin: .75rem 0 1rem !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-shadow: none !important;
  background: transparent url('../images/atlanta-climate-week-logo.png') center / contain no-repeat;
}
.acw-hero__title > span { display: none !important; }
.acw-hero__acw-logo {
  width: clamp(270px, 31vw, 460px);
  max-width: 72vw;
  margin: .75rem 0 1rem !important;
  line-height: 0;
}
.acw-hero__acw-logo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  vertical-align: top;
}

/* Remove the black underline from the date / 2026 lockup. */
.acw-date-lockup {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Wider collaborator strip and materially larger marks on desktop. Source PNGs
   are also trimmed in this release so transparent canvas no longer shrinks them. */
.acw-partners .acw-shell {
  width: min(calc(100% - 2rem), 1500px);
  max-width: none;
}
.acw-partners__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.2vw, 2.75rem);
  align-items: center;
}
.acw-partner-image {
  min-height: 118px;
  width: 100%;
  padding: 0;
  overflow: visible;
}
.acw-partner-image img {
  width: 100% !important;
  max-width: 205px !important;
  max-height: 116px !important;
  height: auto !important;
  object-fit: contain;
  vertical-align: top;
}
.acw-partner-image:nth-child(2) img { max-width: 220px !important; }
.acw-partner-image:nth-child(4) img { max-width: 210px !important; }
.acw-partner-image:nth-child(5) img { max-width: 132px !important; max-height: 122px !important; }
.acw-partner-image:nth-child(6) img { max-width: 195px !important; }

/* Kill 1–2px browser seams between clipped/angled full-width sections. */
.acw-home-content,
.acw-home-content > *,
.acw-hero,
.acw-intro,
.acw-seeking,
.acw-partners,
.acw-footer {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.acw-hero + .acw-intro,
.acw-intro + .acw-seeking,
.acw-partners + .wp-block-template-part,
.acw-partners + .acw-footer {
  margin-top: -1px !important;
}
.acw-partners { margin-bottom: -1px !important; }
.acw-footer { margin-top: 0 !important; }

@media (max-width: 1100px) {
  .acw-partner-image { min-height: 96px; }
  .acw-partner-image img { max-width: 180px !important; max-height: 96px !important; }
  .acw-partner-image:nth-child(5) img { max-width: 112px !important; max-height: 100px !important; }
}

@media (max-width: 980px) {
  .acw-partners .acw-shell { width: min(calc(100% - 2rem), 900px); }
  .acw-partners__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .acw-partner-image { min-height: 92px; }
}

@media (max-width: 600px) {
  .acw-brand,
  .acw-brand--logo { width: 132px; height: 58px; }
  .acw-header__inner { min-height: 72px; }
  .acw-hero__title,
  .acw-hero__acw-logo { width: min(68vw, 330px) !important; max-width: 68vw !important; }
  .acw-partners__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem 1.5rem; }
  .acw-partner-image { min-height: 82px; }
  .acw-partner-image img { max-width: 160px !important; max-height: 82px !important; }
  .acw-partner-image:nth-child(5) img { max-width: 96px !important; max-height: 86px !important; }
}

/* Keep the newsletter transition flush even when the companion plugin is not yet updated. */
.acw-newsletter { margin-block: -1px !important; }
.acw-newsletter::before { display: none !important; }
.acw-newsletter__inner { max-width: var(--acw-max); }

/* v1.5: supplied logo assets, full-width partner wall + hero parallax */
:root {
  --acw-max: 1540px;
  --acw-pad: clamp(1rem, 2vw, 2.25rem);
}

/* Exact supplied Atlanta Climate Week logo is used by both the header and hero. */
.acw-brand,
.acw-brand--logo {
  width: clamp(168px, 14vw, 220px);
  height: clamp(70px, 7vw, 96px);
  background-image: url('../images/atlanta-climate-week-logo.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.acw-header__inner { min-height: 96px; }

.acw-hero {
  --acw-parallax-y: 0px;
  background: #000 !important;
  min-height: min(82vh, 860px);
}
.acw-hero::before {
  content: "";
  position: absolute;
  inset: -7% -3%;
  z-index: -2;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.44)),
    url('../images/atlanta-skyline.png');
  background-size: cover;
  background-position: center 58%;
  transform: translate3d(0, var(--acw-parallax-y), 0) scale(1.08);
  will-change: transform;
  pointer-events: none;
}
.acw-hero__content {
  position: relative;
  z-index: 1;
}
.acw-hero__title,
.acw-hero__acw-logo {
  width: clamp(330px, 36vw, 560px) !important;
  max-width: min(76vw, 560px) !important;
  aspect-ratio: auto;
  background-image: url('../images/atlanta-climate-week-logo.png');
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}
.acw-hero__acw-logo img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}
.acw-hero__network-logo {
  width: clamp(82px, 7.5vw, 118px);
  padding: 0;
  background: transparent;
  transform: none;
}
.acw-hero__network-logo img {
  width: 100% !important;
  height: auto !important;
}

/* Partner wall: white again, nearly edge-to-edge, and intentionally large. */
.acw-partners {
  background: #fff !important;
  color: var(--acw-ink);
  padding: clamp(2.5rem, 4vw, 4.25rem) 0 clamp(2.75rem, 4vw, 4.5rem);
}
.acw-partners .acw-shell {
  width: min(96vw, 1820px) !important;
  max-width: none !important;
  margin-inline: auto;
}
.acw-partners__label {
  margin: 0 0 clamp(1.75rem, 3vw, 2.75rem) !important;
  font-size: clamp(.76rem, .9vw, .95rem);
}
.acw-partners__grid {
  width: 100%;
  margin: 0 !important;
  display: grid;
  grid-template-columns: 1.18fr 1.24fr .92fr 1.08fr .82fr 1.08fr;
  gap: clamp(.8rem, 1.5vw, 1.8rem);
  align-items: center;
}
.acw-partner-image {
  width: 100%;
  min-width: 0;
  min-height: clamp(130px, 10vw, 170px);
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  line-height: 0;
}
.acw-partner-image img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain;
  object-position: center;
  margin: 0 !important;
  vertical-align: top;
}
.acw-partner-image:nth-child(1) img { max-height: 126px !important; }
.acw-partner-image:nth-child(2) img { max-height: 134px !important; }
.acw-partner-image:nth-child(3) img { max-height: 142px !important; }
.acw-partner-image:nth-child(4) img { max-height: 132px !important; }
.acw-partner-image:nth-child(5) img {
  width: auto !important;
  height: clamp(132px, 10vw, 166px) !important;
  max-height: 166px !important;
  max-width: 100% !important;
}
.acw-partner-image:nth-child(6) img { max-height: 145px !important; }

/* Keep full-width visual sections flush with their containers. */
.acw-newsletter + .acw-partners,
.acw-partners + .wp-block-template-part,
.acw-partners + .acw-footer { margin-top: -1px !important; }
.acw-partners figure,
.acw-partners img,
.acw-hero figure,
.acw-hero img { border: 0; }

@media (max-width: 1180px) {
  .acw-partners .acw-shell { width: min(94vw, 1120px) !important; }
  .acw-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 2.5rem; }
  .acw-partner-image { min-height: 125px; }
  .acw-partner-image img { max-height: 125px !important; }
  .acw-partner-image:nth-child(5) img { height: 135px !important; max-height: 135px !important; }
}

@media (max-width: 700px) {
  .acw-header__inner { min-height: 78px; }
  .acw-brand,
  .acw-brand--logo { width: 145px; height: 66px; }
  .acw-hero { min-height: 70vh; }
  .acw-hero::before { inset: -4% -18%; transform: translate3d(0, calc(var(--acw-parallax-y) * .55), 0) scale(1.08); }
  .acw-hero__title,
  .acw-hero__acw-logo { width: min(78vw, 390px) !important; max-width: 78vw !important; }
  .acw-partners .acw-shell { width: min(92vw, 680px) !important; }
  .acw-partners__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
  .acw-partner-image { min-height: 100px; }
  .acw-partner-image img { max-height: 100px !important; }
  .acw-partner-image:nth-child(5) img { height: 108px !important; max-height: 108px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .acw-hero::before { transform: scale(1.08) !important; }
}

/* v1.5.1 partner sizing + hero logo adjustment */
/* Hero ACW mark is intentionally 25% smaller than v1.5.0. */
.acw-hero__title,
.acw-hero__acw-logo {
  width: clamp(248px, 27vw, 420px) !important;
  max-width: min(57vw, 420px) !important;
}

/* Partner wall: full-width white field, evenly spaced, visibly larger marks. */
.acw-partners {
  background: #fff !important;
  padding: clamp(2rem, 3vw, 3rem) 0 clamp(2.25rem, 3vw, 3.25rem) !important;
}
.acw-partners .acw-shell {
  width: calc(100vw - clamp(1.5rem, 3vw, 3.5rem)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
.acw-partners__label {
  margin: 0 0 clamp(1.25rem, 2vw, 2rem) !important;
}
.acw-partners__grid {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(.65rem, 1vw, 1.25rem) !important;
  width: 100% !important;
  min-height: clamp(190px, 14vw, 235px);
  margin: 0 !important;
}
.acw-partner-image {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: clamp(165px, 12vw, 210px) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
.acw-partner-image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
}

/* Tuned widths preserve even spacing while making every logo much larger. */
.acw-partner-image:nth-child(1) { width: clamp(210px, 17vw, 270px) !important; }
.acw-partner-image:nth-child(2) { width: clamp(205px, 16.5vw, 260px) !important; }
.acw-partner-image:nth-child(3) { width: clamp(165px, 13vw, 205px) !important; }
.acw-partner-image:nth-child(4) { width: clamp(190px, 15vw, 235px) !important; }
.acw-partner-image:nth-child(5) { width: clamp(150px, 11.5vw, 182px) !important; }
.acw-partner-image:nth-child(6) { width: clamp(185px, 14.5vw, 225px) !important; }

.acw-partner-image:nth-child(1) img,
.acw-partner-image:nth-child(2) img,
.acw-partner-image:nth-child(3) img,
.acw-partner-image:nth-child(4) img,
.acw-partner-image:nth-child(6) img {
  width: 100% !important;
  max-width: 100% !important;
}
.acw-partner-image:nth-child(5) img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
}

@media (max-width: 1220px) {
  .acw-partners .acw-shell { width: min(95vw, 1160px) !important; }
  .acw-partners__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.75rem 2.5rem !important;
    min-height: 0;
  }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) {
    width: 100% !important;
    height: 145px !important;
  }
  .acw-partner-image img,
  .acw-partner-image:nth-child(n) img {
    width: auto !important;
    max-width: min(100%, 300px) !important;
    max-height: 140px !important;
  }
  .acw-partner-image:nth-child(5) img { max-width: 155px !important; max-height: 150px !important; }
}

@media (max-width: 700px) {
  .acw-hero__title,
  .acw-hero__acw-logo {
    width: min(58vw, 292px) !important;
    max-width: 62vw !important;
  }
  .acw-partners .acw-shell { width: min(92vw, 680px) !important; }
  .acw-partners__grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 1.5rem !important; }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) { height: 112px !important; }
  .acw-partner-image img,
  .acw-partner-image:nth-child(n) img { max-width: min(100%, 190px) !important; max-height: 106px !important; }
  .acw-partner-image:nth-child(5) img { max-width: 112px !important; max-height: 112px !important; }
}

/* v1.5.2 — true full-width partner wall + scroll-responsive display type */
.acw-partners {
  background: #fff !important;
  padding: clamp(2rem, 2.8vw, 3rem) 0 clamp(2.25rem, 3vw, 3.25rem) !important;
}
.acw-partners .acw-shell {
  width: 100vw !important;
  max-width: none !important;
  margin-inline: calc(50% - 50vw) !important;
  padding-inline: clamp(1.25rem, 2.2vw, 2.75rem) !important;
  box-sizing: border-box;
}
.acw-partners__label {
  width: 100%;
  margin: 0 0 clamp(1.2rem, 1.8vw, 1.8rem) !important;
}
.acw-partners__grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: clamp(.5rem, .9vw, 1rem) !important;
  min-height: clamp(175px, 12vw, 215px) !important;
  margin: 0 !important;
}
.acw-partner-image,
.acw-partner-image:nth-child(n) {
  width: 100% !important;
  height: clamp(155px, 10.5vw, 195px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(.15rem, .35vw, .45rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  overflow: visible !important;
}
.acw-partner-image img,
.acw-partner-image:nth-child(n) img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 94% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
}
/* Wide wordmarks need more horizontal fill; tall CWN stays intentionally taller. */
.acw-partner-image:nth-child(1) img { max-width: 98% !important; }
.acw-partner-image:nth-child(2) img { max-width: 98% !important; }
.acw-partner-image:nth-child(3) img { max-width: 94% !important; }
.acw-partner-image:nth-child(4) img { max-width: 98% !important; }
.acw-partner-image:nth-child(5) img { max-width: 78% !important; max-height: 100% !important; }
.acw-partner-image:nth-child(6) img { max-width: 96% !important; }

/* Display headlines breathe with scroll position without causing reflow. */
.acw-scroll-scale {
  --acw-scroll-scale: 1;
  transform: scale(var(--acw-scroll-scale));
  transform-origin: left center;
  will-change: transform;
}
.acw-newsletter h2.acw-scroll-scale,
.acw-page-hero h1.acw-scroll-scale,
.acw-seeking h2.acw-scroll-scale {
  transform-origin: left center;
}
.acw-footer__title.acw-scroll-scale { transform-origin: left center; }

/* Stronger hero parallax requires extra image bleed so no edges are exposed. */
.acw-hero::before {
  inset: -15% -6% !important;
  transform: translate3d(0, var(--acw-parallax-y), 0) scale(1.16) !important;
}

@media (max-width: 1220px) {
  .acw-partners .acw-shell {
    width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: clamp(1rem, 2vw, 2rem) !important;
  }
  .acw-partners__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem 1.5rem !important;
    min-height: 0 !important;
  }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) { height: 150px !important; }
  .acw-partner-image img,
  .acw-partner-image:nth-child(n) img { max-width: 90% !important; max-height: 90% !important; }
  .acw-partner-image:nth-child(5) img { max-width: 62% !important; max-height: 100% !important; }
}

@media (max-width: 700px) {
  .acw-partners .acw-shell {
    width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 1rem !important;
  }
  .acw-partners__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem 1rem !important;
  }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) { height: 112px !important; }
  .acw-hero::before {
    inset: -12% -28% !important;
    transform: translate3d(0, var(--acw-parallax-y), 0) scale(1.18) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .acw-scroll-scale { transform: none !important; }
  .acw-hero::before { transform: scale(1.16) !important; }
}

/* v1.5.3 — defeat WordPress constrained-layout max-width on the partner wall */
.acw-partners {
  background: #fff !important;
  overflow: hidden !important;
}

/* The shell is intentionally viewport-wide, independent of theme.json wide/content sizes. */
.acw-partners > .acw-shell,
.acw-partners .acw-shell {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: clamp(1.75rem, 2.5vw, 3rem) !important;
  padding-right: clamp(1.75rem, 2.5vw, 3rem) !important;
  box-sizing: border-box !important;
}

/* WordPress adds max-width: var(--wp--style--global--content-size) to constrained children.
   Explicitly remove it from both the label and logo grid. */
.acw-partners .acw-partners__label,
.acw-partners .acw-partners__grid {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.acw-partners__grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: center !important;
  justify-items: stretch !important;
  column-gap: clamp(.75rem, 1.2vw, 1.5rem) !important;
  row-gap: 1rem !important;
  min-height: clamp(220px, 16vw, 275px) !important;
  margin-top: 0 !important;
}

.acw-partner-image,
.acw-partner-image:nth-child(n) {
  width: 100% !important;
  max-width: none !important;
  height: clamp(185px, 13vw, 235px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.acw-partner-image img,
.acw-partner-image:nth-child(n) img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 78% !important;
  object-fit: contain !important;
  margin: 0 !important;
}

/* Wide logos should visibly fill their sixth of the viewport. */
.acw-partner-image:nth-child(1) img,
.acw-partner-image:nth-child(2) img,
.acw-partner-image:nth-child(4) img { max-width: 96% !important; max-height: 72% !important; }
.acw-partner-image:nth-child(3) img { max-width: 90% !important; max-height: 78% !important; }
.acw-partner-image:nth-child(5) img { max-width: 72% !important; max-height: 88% !important; }
.acw-partner-image:nth-child(6) img { max-width: 92% !important; max-height: 78% !important; }

@media (max-width: 1220px) {
  .acw-partners > .acw-shell,
  .acw-partners .acw-shell {
    padding-left: clamp(1.25rem, 2.5vw, 2rem) !important;
    padding-right: clamp(1.25rem, 2.5vw, 2rem) !important;
  }
  .acw-partners__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: 0 !important;
  }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) { height: 165px !important; }
}

@media (max-width: 700px) {
  .acw-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) { height: 125px !important; }
}

/* v1.5.4 — header break-out, seeking alignment, footer sun, tuned partner wall, clean hero resolve */

/* Remove the date pill from the navigation, including stale Site Editor template copies. */
.acw-nav-date { display: none !important; }

/* Let the ACW sunburst break below the black header instead of being boxed inside it. */
.acw-header,
.acw-header__inner {
  overflow: visible !important;
}
.acw-header__inner {
  position: relative;
}
.acw-brand,
.acw-brand--logo {
  position: relative !important;
  z-index: 12 !important;
  transform: translateY(13px) !important;
  transform-origin: center center;
}

/* Existing saved Home pages may still contain the former email ribbon. Hide it at the theme level. */
.acw-seeking__head > p,
.acw-seeking__head > .wp-block-paragraph,
.acw-seeking .acw-email-ribbon {
  display: none !important;
}
.acw-seeking__head {
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

/* Lock all three seeking cards to the exact same top baseline. */
.acw-seeking__grid {
  align-items: start !important;
  grid-auto-rows: 1fr;
}
.acw-seeking__grid > .acw-seeking__card,
.acw-seeking__grid > article {
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  align-content: start !important;
}
.acw-seeking__card > h3,
.acw-seeking__grid > article > h3 {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 0 1.35rem !important;
  padding: 0 !important;
  line-height: 1 !important;
  align-self: start !important;
}
.acw-seeking__card > p,
.acw-seeking__grid > article > p {
  margin: 0 !important;
  align-self: start !important;
}

/* Footer: keep only the email under Connect and move the white burst here. */
.acw-footer a[href="https://atlantacw.org/"],
.acw-footer a[href="https://atlantacw.org"] {
  display: none !important;
}
.acw-footer__grid > .wp-block-column:nth-child(3) {
  position: relative;
}
.acw-footer__grid > .wp-block-column:nth-child(3)::after {
  content: "";
  display: block;
  width: clamp(58px, 5vw, 78px);
  height: clamp(58px, 5vw, 78px);
  margin-top: 1.35rem;
  background: transparent url('../images/acw-sunburst.png') center / contain no-repeat;
  transform: rotate(-8deg);
}
/* Desktop partner wall: distribute by actual visible logo height, not arbitrary cell percentages. */
@media (min-width: 1221px) {
  .acw-partners__grid {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(1.5rem, 2.6vw, 3.5rem) !important;
    min-height: clamp(190px, 13vw, 230px) !important;
  }
  .acw-partner-image,
  .acw-partner-image:nth-child(n) {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    flex: 0 1 auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .acw-partner-image img,
  .acw-partner-image:nth-child(n) img {
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Electric Kulture is the visual height reference. */
  .acw-partner-image:nth-child(2) img { height: 70px !important; max-height: 70px !important; }
  /* Mayor's Office + Goodie Nation are nudged larger to visually match Electric Kulture. */
  .acw-partner-image:nth-child(1) img { height: 74px !important; max-height: 74px !important; }
  .acw-partner-image:nth-child(4) img { height: 74px !important; max-height: 74px !important; }
  /* YES & CWN come down to the same visual height as Electric Kulture. */
  .acw-partner-image:nth-child(3) img { height: 70px !important; max-height: 70px !important; }
  .acw-partner-image:nth-child(5) img { height: 70px !important; max-height: 70px !important; }
  .acw-partner-image:nth-child(6) img { height: 70px !important; max-height: 70px !important; }
}

/* Abram-style scroll resolve, without dithering: the raw hero image simply resolves in. */
.acw-hero {
  --acw-hero-reveal: .58;
}
.acw-hero::before {
  opacity: var(--acw-hero-reveal) !important;
  transition: opacity 80ms linear;
}

@media (max-width: 700px) {
  .acw-brand,
  .acw-brand--logo {
    transform: translateY(9px) !important;
  }
  .acw-seeking__grid > .acw-seeking__card,
  .acw-seeking__grid > article {
    display: block !important;
  }
  .acw-footer__grid > .wp-block-column:nth-child(3)::after {
    width: 58px;
    height: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .acw-hero { --acw-hero-reveal: 1; }
  .acw-hero::before { opacity: 1 !important; transition: none !important; }
}

/* v1.6.0 — wider subpages, calmer intro copy, date ribbon, full-opacity hero */
:root {
  --acw-subpage-max: 1580px;
}

/* Give Events / Host Event / FAQs / Get Involved room to breathe horizontally. */
.acw-content.acw-shell,
.acw-page-hero .acw-shell {
  width: min(calc(100% - clamp(2rem, 4vw, 4rem)), var(--acw-subpage-max)) !important;
  max-width: none !important;
}
.acw-content .wp-block-post-content,
.acw-content > .wp-block-post-content {
  width: 100% !important;
  max-width: none !important;
}
.acw-content .wp-block-post-content > .wp-block-acw-events-explorer,
.acw-content .wp-block-post-content > .wp-block-acw-host-event-form,
.acw-content .wp-block-post-content > .acw-events-explorer,
.acw-content .wp-block-post-content > .acw-host-flow {
  width: 100% !important;
  max-width: none !important;
}

/* The default Gutenberg large paragraph was overpowering the page UI. */
.acw-content p.has-large-font-size {
  font-size: clamp(1.2rem, 1.6vw, 1.65rem) !important;
  line-height: 1.42 !important;
  max-width: 78ch;
  margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
}

/* Remove the Abram-inspired opacity resolve entirely. Keep only movement/parallax. */
.acw-hero::before {
  opacity: 1 !important;
  transition: none !important;
}

/* Hero date becomes the oversized skewed ribbon previously used for the email CTA. */
.acw-hero__date {
  position: relative;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center;
  min-height: 3.25rem;
  margin: .35rem 2.75rem 0 0 !important;
  padding: .78rem 5rem .78rem 1.15rem !important;
  background: var(--acw-red) !important;
  color: #fff !important;
  font-size: clamp(1.05rem, 1.75vw, 1.55rem) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  white-space: nowrap;
  transform: rotate(-4.5deg) skewX(-5deg) !important;
  clip-path: polygon(0 8%, 96% 0, 100% 84%, 3% 100%);
  overflow: visible !important;
}
.acw-hero__date::after {
  content: "";
  position: absolute;
  right: -2.65rem;
  top: 50%;
  width: 5.6rem;
  height: 5.6rem;
  transform: translateY(-50%) rotate(10deg) skewX(5deg);
  background: transparent url('../images/acw-sunburst.png') center / contain no-repeat;
  pointer-events: none;
  z-index: 2;
}

@media (max-width: 700px) {
  .acw-content.acw-shell,
  .acw-page-hero .acw-shell {
    width: min(calc(100% - 2rem), var(--acw-subpage-max)) !important;
  }
  .acw-hero__date {
    font-size: .95rem !important;
    min-height: 2.8rem;
    padding: .7rem 3.9rem .7rem .9rem !important;
    margin-right: 2rem !important;
  }
  .acw-hero__date::after {
    right: -2.05rem;
    width: 4.5rem;
    height: 4.5rem;
  }
}

/* v1.6.1 — public cleanup, exact PNG logo, tighter subpages, unclipped date sun */
:root {
  --acw-subpage-max: 1360px;
  --acw-interactive-max: 1240px;
}

/* The supplied PNG is the single ACW logo source. This also neutralizes any
   stale WordPress Site Logo block saved in a template-part revision. */
.acw-brand,
.acw-brand--logo,
.acw-header .wp-block-site-logo,
.acw-header .custom-logo-link {
  position: relative;
  background-image: url('../images/atlanta-climate-week-logo.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
.acw-header .wp-block-site-logo,
.acw-header .custom-logo-link {
  display: block !important;
  width: clamp(150px, 15vw, 205px) !important;
  height: clamp(58px, 6vw, 78px) !important;
  overflow: visible !important;
}
.acw-header .wp-block-site-logo img,
.acw-header .custom-logo-link img,
.acw-header img.custom-logo {
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Saved footer revisions that still contain the old text title are rendered as
   the same PNG, while new installs use .acw-footer__brand directly. */
.acw-footer__brand,
.acw-footer__title {
  display: block !important;
  width: clamp(210px, 18vw, 285px) !important;
  height: clamp(118px, 10vw, 155px) !important;
  margin: 0 0 .75rem !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  background: transparent url('../images/atlanta-climate-week-logo.png') center / contain no-repeat !important;
}
.acw-footer__title > * { display: none !important; }

/* Narrow Events and Host Event from the overly wide v1.6.0 presentation. */
.acw-content.acw-shell,
.acw-page-hero .acw-shell {
  width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--acw-subpage-max)) !important;
}
.acw-events-explorer,
.acw-host-flow {
  width: min(100%, var(--acw-interactive-max)) !important;
  max-width: var(--acw-interactive-max) !important;
  margin-inline: auto !important;
}

/* The intro should introduce the tool, not dominate it. */
.acw-content p.has-large-font-size {
  font-size: clamp(1rem, 1.15vw, 1.22rem) !important;
  line-height: 1.5 !important;
  max-width: 72ch !important;
  margin-bottom: clamp(1.35rem, 2vw, 2rem) !important;
}

/* The date's previous clip-path clipped its own sun pseudo-element. Put the
   irregular red shape on ::before instead, leaving the sun free to break out. */
.acw-hero__meta,
.acw-hero__content { overflow: visible !important; }
.acw-hero__date {
  background: transparent !important;
  clip-path: none !important;
  overflow: visible !important;
  z-index: 2;
}
.acw-hero__date::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--acw-red);
  clip-path: polygon(0 8%, 96% 0, 100% 84%, 3% 100%);
}
.acw-hero__date::after {
  right: -3.05rem !important;
  z-index: 3 !important;
}

/* Simple public-facing launch state. */
.acw-simple-coming-soon,
.acw-no-announcements {
  padding: clamp(2rem, 4vw, 3.5rem);
  background: var(--acw-gray);
  border-top: 8px solid var(--acw-red);
  font-family: "Chunky Cuts", "Arial Black", sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.8rem);
  line-height: .82;
  color: var(--acw-red);
  clip-path: polygon(0 3%, 100% 0, 98% 94%, 2% 100%);
}
.acw-no-announcements p { display: none !important; }

@media (max-width: 700px) {
  .acw-content.acw-shell,
  .acw-page-hero .acw-shell {
    width: calc(100% - 2rem) !important;
  }
  .acw-hero__date::after { right: -2.45rem !important; }
}

/* v1.6.2 — editable WordPress menus */
.acw-editable-nav--primary {
  margin-left: auto;
  display: flex;
  align-items: center;
  min-width: 0;
}
.acw-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.acw-menu--primary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, 2vw, 2rem);
}
.acw-menu li {
  position: relative;
  margin: 0;
}
.acw-menu a {
  display: block;
  text-decoration: none;
}
.acw-menu--primary > li > a {
  color: #fff;
  font-weight: 700;
  font-size: .84rem;
  white-space: nowrap;
  padding: .6rem 0;
}
.acw-menu--primary a:hover,
.acw-menu--primary a:focus-visible,
.acw-menu--primary .current-menu-item > a,
.acw-menu--primary .current-menu-ancestor > a {
  color: var(--acw-red);
}
.acw-menu--primary .sub-menu {
  list-style: none;
  margin: 0;
  padding: .65rem;
  position: absolute;
  z-index: 1100;
  top: calc(100% - .1rem);
  left: -.75rem;
  min-width: 210px;
  background: #000;
  border-top: 3px solid var(--acw-red);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.acw-menu--primary li:hover > .sub-menu,
.acw-menu--primary li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.acw-menu--primary .sub-menu a {
  color: #fff;
  padding: .7rem .75rem;
  font-size: .8rem;
  font-weight: 700;
}
.acw-menu--primary .sub-menu .sub-menu {
  left: 100%;
  top: -.65rem;
}
.acw-menu-toggle {
  display: none;
  width: 46px;
  height: 42px;
  border: 0;
  background: transparent;
  padding: 8px;
  cursor: pointer;
}
.acw-menu-toggle > span:not(.screen-reader-text) {
  display: block;
  height: 2px;
  background: #fff;
  margin: 6px 0;
  transition: transform .2s ease, opacity .2s ease;
}
.acw-menu-toggle[aria-expanded="true"] > span:nth-of-type(2) { transform: translateY(8px) rotate(45deg); }
.acw-menu-toggle[aria-expanded="true"] > span:nth-of-type(3) { opacity: 0; }
.acw-menu-toggle[aria-expanded="true"] > span:nth-of-type(4) { transform: translateY(-8px) rotate(-45deg); }

.acw-menu--footer {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.acw-menu--footer a {
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
}
.acw-menu--footer a:hover,
.acw-menu--footer a:focus-visible,
.acw-menu--footer .current-menu-item > a { color: var(--acw-red); }
.acw-menu--footer .sub-menu {
  list-style: none;
  padding: .35rem 0 0 1rem;
  margin: 0;
  display: grid;
  gap: .35rem;
}

@media (max-width: 900px) {
  .acw-editable-nav--primary { position: relative; }
  .acw-menu-toggle { display: block; }
  .acw-menu--primary {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 20px);
    width: min(86vw, 360px);
    max-height: calc(100vh - 130px);
    overflow-y: auto;
    background: #000;
    border-top: 4px solid var(--acw-red);
    padding: 1rem;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .acw-editable-nav--primary.is-open .acw-menu--primary { display: flex; }
  .acw-menu--primary > li > a,
  .acw-menu--primary .sub-menu a {
    padding: .85rem .75rem;
    font-size: .95rem;
  }
  .acw-menu--primary .sub-menu,
  .acw-menu--primary .sub-menu .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    min-width: 0;
    background: transparent;
    border: 0;
    padding: 0 0 .25rem 1rem;
  }
}
