@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600;700&display=swap');


:root{
  --color-ink: #26231f;
  --color-ink-soft: #52493f;
  --color-paper: #faf7f1;
  --color-paper-alt: #f1eadd;
  --color-paper-deep: #e8ddc9;
  --color-primary: #21312e;
  --color-primary-light: #34473f;
  --color-primary-soft: #3f5851;
  --color-accent: #c17a4c;
  --color-accent-light: #d99a6c;
  --color-accent-deep: #a05f38;
  --color-sage: #7c8b74;
  --color-line: rgba(38,35,31,0.12);
  --color-line-strong: rgba(38,35,31,0.2);
  --color-white: #fffdf9;

  --shadow-sm: 0 1px 2px rgba(38,35,31,.07), 0 1px 1px rgba(38,35,31,.05);
  --shadow-md: 0 6px 16px -4px rgba(38,35,31,.14), 0 3px 6px -2px rgba(38,35,31,.08);
  --shadow-lg: 0 24px 48px -20px rgba(38,35,31,.28), 0 10px 20px -10px rgba(38,35,31,.14);
  --shadow-inset: inset 0 1px 0 rgba(255,255,255,.5);

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-xl: 44px;
  --radius-full: 999px;

  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 6.5rem;

  --text-hero: clamp(2.4rem, 1.9rem + 3vw, 4.4rem);
  --text-3xl: clamp(2.1rem, 1.7rem + 2.2vw, 3.2rem);
  --text-2xl: clamp(1.7rem, 1.45rem + 1.4vw, 2.4rem);
  --text-xl: clamp(1.35rem, 1.2rem + .7vw, 1.7rem);
  --text-lg: 1.25rem;
  --text-md: 1.0625rem;
  --text-base: 1rem;
  --text-sm: .9rem;
  --text-xs: .8rem;

  --header-height: 84px;
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: 'Work Sans', sans-serif;
  color: var(--color-ink);
  background: var(--color-paper);
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  padding-top: var(--header-height);
  overflow-x: hidden;
}
body.no-scroll{ overflow: hidden; }
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:'Work Sans', sans-serif; font-weight:600; color: var(--color-ink); line-height:1.15; margin-block:0 var(--space-2); }
p{ margin-block:0 var(--space-2); color: var(--color-ink-soft); }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
input,textarea{ font-family:inherit; }

.global-container{
  width: min(1240px, 100% - 3rem);
  margin-inline:auto;
}
@media (max-width:600px){
  .global-container{ width: min(1240px, 100% - 1.6rem); }
}

.global-section-eyebrow{
  display:inline-block;
  font-size: var(--text-xs);
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--color-accent-deep);
  font-weight:600;
  margin-block-end: var(--space-1);
}


.global-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding-block:.85rem;
  padding-inline:1.6rem;
  min-height:48px;
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight:600;
  letter-spacing:.01em;
  border:1px solid transparent;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.global-btn--primary{
  background: var(--color-primary);
  color: var(--color-white);
  box-shadow: var(--shadow-sm);
}
.global-btn--primary:hover{
  background: var(--color-accent-deep);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
.global-btn--outline{
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-line-strong);
}
.global-btn--outline:hover{
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
  transform: translateY(-2px);
}
.global-btn--ghost-white{
  background: transparent;
  color: var(--color-white);
  border: 1.5px solid rgba(255,255,255,.65);
}
.global-btn--ghost-white:hover{
  background: rgba(255,255,255,.15);
  border-color: #fff;
  transform: translateY(-2px);
}


.global-header{
  position:fixed;
  inset-inline:0;
  top:0;
  z-index:1000;
  height: var(--header-height);
  display:flex;
  align-items:center;
  background: color-mix(in srgb, var(--color-paper) 90%, transparent);
  backdrop-filter: blur(14px);
  border-bottom:1px solid var(--color-line);
  transition: transform .45s var(--ease), box-shadow .3s var(--ease);
}
.global-header.is-hidden{ transform: translateY(-100%); }
.global-header.is-scrolled{ box-shadow: var(--shadow-md); }
.global-header__inner{
  display:flex;
  align-items:center;
  gap: var(--space-3);
  width:100%;
}
.global-header__brand{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-inline-end:auto;
}
.global-header__logo{ width:38px; height:38px; }
.global-header__name{
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.global-nav{
  flex:1;
  display:flex;
  justify-content:center;
}
.global-nav__list{
  display:flex;
  align-items:center;
  gap: var(--space-3);
}
.global-nav__item{ position:relative; }
.global-nav__link{
  background:none;
  border:none;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size: var(--text-sm);
  font-weight:500;
  color: var(--color-ink-soft);
  padding-block:.5rem;
  position:relative;
  transition: color .25s var(--ease);
}
.global-nav__link i{ font-size:.65rem; transition: transform .25s var(--ease); }
.global-nav__link::after{
  content:'';
  position:absolute;
  left:0; right:100%;
  bottom:0;
  height:2px;
  background: var(--color-accent);
  transition: right .3s var(--ease);
}
.global-nav__link:hover, .global-nav__link.is-current{ color: var(--color-ink); }
.global-nav__link:hover::after, .global-nav__link.is-current::after{ right:0; }

.global-nav__submenu{
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.global-header__cta{ flex-shrink:0; }
.global-header__hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px; height:44px;
  border:none;
  background:transparent;
  border-radius: var(--radius-sm);
}
.global-header__hamburger span{
  display:block; height:2px; width:22px;
  background: var(--color-ink);
  border-radius:2px;
  transition: transform .3s var(--ease), opacity .3s var(--ease);
  margin-inline:auto;
}
.global-header__hamburger.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.global-header__hamburger.is-active span:nth-child(2){ opacity:0; }
.global-header__hamburger.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }


@media (min-width:901px){
  .global-nav__item--parent .global-nav__submenu{
    position:absolute;
    top:calc(100% + 14px);
    left:50%;
    transform: translateX(-50%) translateY(6px);
    background: var(--color-white);
    border:1px solid var(--color-line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    padding: .6rem;
    min-width:220px;
    opacity:0;
    visibility:hidden;
    max-height:none;
    overflow:visible;
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  }
  .global-nav__item--parent .global-nav__submenu a{
    display:block;
    padding:.6rem .8rem;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--color-ink-soft);
    transition: background .2s, color .2s;
  }
  .global-nav__item--parent .global-nav__submenu a:hover{ background: var(--color-paper-alt); color: var(--color-ink); }
  .global-nav__item--parent:hover .global-nav__submenu,
  .global-nav__item--parent.is-open .global-nav__submenu,
  .global-nav__item--parent:focus-within .global-nav__submenu{
    opacity:1; visibility:visible; transform: translateX(-50%) translateY(0);
  }
  .global-nav__item--parent.is-open .global-nav__toggle i{ transform: rotate(180deg); }
}

@media (max-width:900px){
  .global-header__inner{ flex-wrap:wrap; }
  .global-header__cta{ display:none; }
  .global-header__hamburger{ display:flex; }
  .global-nav{
    order:10;
    width:100%;
    flex-basis:100%;
    justify-content:flex-start;
    max-height:0;
    overflow:hidden;
    transition: max-height .4s var(--ease);
  }
  .global-nav.is-open{ max-height:600px; }
  .global-nav__list{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
    padding-block:.5rem 1rem;
  }
  .global-nav__item{ border-bottom:1px solid var(--color-line); }
  .global-nav__link{ width:100%; padding-block:.85rem; justify-content:space-between; }
  .global-nav__link::after{ display:none; }
  .global-nav__submenu{
    max-height:0;
    overflow:hidden;
    transition: max-height .35s var(--ease);
    padding-inline-start: var(--space-2);
  }
  .global-nav__item--parent.is-open .global-nav__submenu{ max-height:300px; padding-block-end:.5rem; }
  .global-nav__item--parent.is-open .global-nav__toggle i{ transform: rotate(180deg); }
  .global-nav__submenu a{ display:block; padding:.55rem 0; font-size: var(--text-sm); color: var(--color-ink-soft); }
}


.global-footer{
  background: var(--color-primary);
  color: color-mix(in srgb, var(--color-white) 88%, transparent);
  padding-block-start: var(--space-6);
  margin-top: var(--space-6);
}
.global-footer__grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: var(--space-4);
  padding-block-end: var(--space-5);
}
.global-footer__logo{ width:40px; height:40px; margin-block-end: var(--space-2); }
.global-footer__brand p{ color: rgba(255,255,255,.72); font-size: var(--text-sm); max-width:32ch; }
.global-footer h3{ color:#fff; font-size: var(--text-sm); text-transform:uppercase; letter-spacing:.08em; margin-block-end: var(--space-2); }
.global-footer__col ul{ display:flex; flex-direction:column; gap:.55rem; }
.global-footer__col a{ color: rgba(255,255,255,.72); font-size: var(--text-sm); transition: color .25s var(--ease), padding-left .25s var(--ease); }
.global-footer__col a:hover{ color:#fff; padding-inline-start:.25rem; }
.global-footer__contact li{ display:flex; align-items:flex-start; gap:.6rem; font-size: var(--text-sm); color: rgba(255,255,255,.72); }
.global-footer__contact i{ margin-top:.2rem; color: var(--color-accent-light); }
.global-footer__bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding-block: var(--space-3);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap: var(--space-1);
  font-size: var(--text-xs);
  color: rgba(255,255,255,.55);
}
.global-footer__bottom p {
  color: white;
}
@media (max-width:900px){
  .global-footer__grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width:560px){
  .global-footer__grid{ grid-template-columns: 1fr; }
}


.global-cookie-link{
  position:fixed;
  left: var(--space-2);
  bottom: var(--space-2);
  z-index:1200;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background: var(--color-white);
  color: var(--color-ink-soft);
  border:1px solid var(--color-line-strong);
  border-radius: var(--radius-full);
  padding:.5rem .9rem;
  font-size: var(--text-xs);
  box-shadow: var(--shadow-sm);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.global-cookie-link:hover{ box-shadow: var(--shadow-md); transform: translateY(-2px); background: var(--color-paper-alt); }
.global-cookie-link i{ color: var(--color-accent); }
.global-cookie-link.is-pulsing{ animation: cookiePulse 1.8s ease-in-out 3; }
@keyframes cookiePulse{
  0%,100%{ box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-accent) 45%, transparent); }
  50%{ box-shadow: 0 0 0 8px color-mix(in srgb, var(--color-accent) 0%, transparent); }
}

.global-cookie-overlay{
  position:fixed; inset:0;
  background: rgba(30,26,20,.55);
  display:flex; align-items:center; justify-content:center;
  padding: var(--space-2);
  z-index:1300;
  opacity:0; visibility:hidden;
  transition: opacity .3s var(--ease), visibility .3s;
}
.global-cookie-overlay.is-open{ opacity:1; visibility:visible; }
.global-cookie-modal{
  background: var(--color-paper);
  border-radius: var(--radius-lg);
  max-width:560px;
  width:100%;
  max-height:88vh;
  overflow-y:auto;
  padding: var(--space-4);
  position:relative;
  box-shadow: var(--shadow-lg);
  transform: translateY(16px) scale(.98);
  transition: transform .35s var(--ease);
}
.global-cookie-overlay.is-open .global-cookie-modal{ transform: translateY(0) scale(1); }
.global-cookie-modal__close{
  position:absolute; top:.9rem; right:.9rem;
  width:36px; height:36px;
  border:none; background: var(--color-paper-alt);
  border-radius:50%; font-size:1.3rem; line-height:1;
  color: var(--color-ink-soft);
  transition: background .25s var(--ease), color .25s var(--ease);
}
.global-cookie-modal__close:hover{ background: var(--color-accent); color:#fff; }
.global-cookie-modal h2{ font-size: var(--text-xl); margin-block-end: var(--space-1); }
.global-cookie-modal__group{ display:flex; flex-direction:column; gap: var(--space-2); margin-block: var(--space-3); }
.global-cookie-modal__item{
  border:1px solid var(--color-line);
  border-radius: var(--radius-md);
  padding: var(--space-2);
  transition: background .25s var(--ease), border-color .25s var(--ease);
}
.global-cookie-modal__item:has(input:checked){
  background: color-mix(in srgb, var(--color-accent) 8%, var(--color-paper));
  border-color: color-mix(in srgb, var(--color-accent) 40%, var(--color-line));
}
.global-cookie-modal__item label{ display:flex; align-items:center; gap:.6rem; font-weight:600; font-size: var(--text-sm); }
.global-cookie-modal__item p{ font-size: var(--text-xs); margin-block-start:.4rem; margin-block-end:0; }
.global-cookie-modal__actions{ display:flex; flex-wrap:wrap; gap:.7rem; }
.global-btn--ghost{ background:transparent; color:var(--color-ink-soft); border:1px solid var(--color-line-strong); }
.global-btn--ghost:hover{ background: var(--color-paper-alt); }


.home-hero{
  position:relative;
  overflow:hidden;
  padding-block: var(--space-6) var(--space-7);
  background: linear-gradient(180deg, var(--color-paper) 0%, var(--color-paper-alt) 100%);
}
.home-hero__shapes{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.home-hero__shape{ position:absolute; border-radius:50%; opacity:.35; filter: blur(2px); }
.home-hero__shape--1{ width:340px; height:340px; background: var(--color-accent); top:-90px; right:-60px; opacity:.18; }
.home-hero__shape--2{ width:180px; height:180px; background: var(--color-sage); bottom:10%; left:-60px; opacity:.22; }
.home-hero__shape--3{ width:110px; height:110px; background: var(--color-primary); border-radius: var(--radius-lg); top:38%; right:12%; opacity:.12; transform:rotate(18deg); }
.home-hero__shape--4{ width:70px; height:70px; background: var(--color-accent-light); border-radius: var(--radius-md); bottom:16%; right:30%; opacity:.25; }

.home-hero__inner{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space-5);
  align-items:center;
}
.home-hero__eyebrow{
  font-size: var(--text-xs);
  letter-spacing:.16em;
  text-transform:uppercase;
  color: var(--color-accent-deep);
  font-weight:600;
  margin-block-end: var(--space-1);
}
.home-hero__title{
  font-size: var(--text-hero);
  font-weight:700;
  letter-spacing:-.02em;
  max-width:16ch;
}
.home-hero__typed{ color: var(--color-accent-deep); border-bottom:3px solid color-mix(in srgb, var(--color-accent) 45%, transparent); }
.home-hero__lead{ font-size: var(--text-md); max-width:52ch; margin-block: var(--space-3); }
.home-hero__actions{ display:flex; flex-wrap:wrap; gap: var(--space-2); }
.home-hero__media{ position:relative; }
.home-hero__image{
  border-radius: var(--radius-xl) var(--radius-md) var(--radius-xl) var(--radius-md);
  box-shadow: var(--shadow-lg);
  aspect-ratio:4/3.2;
  object-fit:cover;
  width:100%;
}
@media (min-width:960px){
  .home-hero__inner{ grid-template-columns:1.05fr .95fr; }
}


.home-stack{ position:relative; }
.home-stack__panel{
  position:relative;
  background: var(--color-paper);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: 0 -26px 60px -34px rgba(38,35,31,.3);
  padding-block: var(--space-6);
  margin-block-start:-2.4rem;
}
.home-stack__panel:nth-of-type(2n){ background: var(--color-paper-alt); }
.home-stack__panel:nth-of-type(1){ z-index:2; margin-inline:0; }
.home-stack__panel:nth-of-type(2){ z-index:3; margin-inline:1.4vw; }
.home-stack__panel:nth-of-type(3){ z-index:4; margin-inline:2.6vw; }
.home-stack__panel:nth-of-type(4){ z-index:5; margin-inline:3.8vw; }
.home-stack__panel:nth-of-type(5){ z-index:6; margin-inline:5vw; }
.home-stack__panel:nth-of-type(6){ z-index:7; margin-inline:6vw; }
.home-stack__panel:last-of-type{ border-radius: var(--radius-xl) var(--radius-xl) 0 0; }


.home-intro__grid{
  display:grid;
  gap: var(--space-4);
}
.home-intro__title{ font-size: var(--text-2xl); max-width:20ch; }
.home-intro__media{ position:relative; }
.home-intro__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); aspect-ratio:4/3; object-fit:cover; width:100%; }
.home-intro__caption{
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  color: var(--color-ink-soft);
  border-inline-start:3px solid var(--color-accent);
  padding-inline-start: var(--space-2);
}
@media (min-width:900px){
  .home-intro__grid{ grid-template-columns:1fr .85fr; align-items:center; }
}


.home-features__head, .home-timeline__head, .home-tabs__head, .home-industries__head, .topics-criteria__head, .topics-process__head, .participate-who__head, .participate-steps__head{
  max-width:60ch;
  margin-block-end: var(--space-4);
}
.home-features__head h2, .home-timeline__head h2, .home-tabs__head h2, .home-industries__head h2, .topics-criteria__head h2, .topics-process__head h2, .participate-who__head h2, .participate-steps__head h2{
  font-size: var(--text-2xl);
}
.home-features__grid{
  container-type: inline-size;
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space-3);
}
.home-features__card{
  background: var(--color-white);
  border:1px solid var(--color-line);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.home-features__card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: color-mix(in srgb, var(--color-accent) 40%, var(--color-line)); }
.home-features__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent) 14%, var(--color-paper));
  color: var(--color-accent-deep);
  font-size:1.3rem;
  margin-block-end: var(--space-2);
}
@container (min-width:520px){
  .home-features__grid{ grid-template-columns:1fr 1fr; }
}
@container (min-width:920px){
  .home-features__grid{ grid-template-columns:repeat(4,1fr); }
}


.home-timeline__grid{ display:grid; gap: var(--space-4); }
.home-timeline__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); margin-block-start: var(--space-3); aspect-ratio:4/3; object-fit:cover; }
.home-timeline__list{ position:relative; padding-inline-start: var(--space-4); }
.home-timeline__list::before{
  content:'';
  position:absolute; left:9px; top:6px; bottom:6px;
  width:2px;
  background: var(--color-line-strong);
}
.home-timeline__item{ position:relative; padding-block-end: var(--space-4); padding-inline-start: var(--space-3); }
.home-timeline__item::before{
  content:''; position:absolute; left:-31px; top:4px;
  width:16px; height:16px; border-radius:50%;
  background: var(--color-accent);
  border:3px solid var(--color-paper);
  box-shadow:0 0 0 2px var(--color-accent);
}
.home-timeline__stage{ font-size: var(--text-xs); text-transform:uppercase; letter-spacing:.1em; color: var(--color-accent-deep); font-weight:600; }
.home-timeline__item h3{ font-size: var(--text-md); margin-block:.3rem .3rem; }
@media (min-width:960px){
  .home-timeline__grid{ grid-template-columns:.9fr 1.1fr; }
}


.home-tabs__wrap{ background: var(--color-white); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); padding: var(--space-3); border:1px solid var(--color-line); }
.home-tabs__nav{ display:flex; flex-wrap:wrap; gap:.5rem; margin-block-end: var(--space-3); border-bottom:1px solid var(--color-line); padding-block-end: var(--space-2); }
.home-tabs__btn{
  background:transparent; border:none;
  padding:.65rem 1.1rem;
  border-radius: var(--radius-full);
  font-size: var(--text-sm); font-weight:600;
  color: var(--color-ink-soft);
  transition: background .3s var(--ease), color .3s var(--ease);
  min-height:44px;
}
.home-tabs__btn:hover{ background: var(--color-paper-alt); }
.home-tabs__btn.is-active{ background: var(--color-primary); color:#fff; }
.home-tabs__panel{ display:none; animation: tabFade .5s var(--ease); }
.home-tabs__panel.is-active{ display:block; }
.home-tabs__panel h3{ font-size: var(--text-lg); }
@keyframes tabFade{ from{ opacity:0; transform: translateY(8px);} to{ opacity:1; transform:translateY(0);} }


.home-gradient{
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-soft) 55%, var(--color-accent-deep) 130%);
  color: #fff;
}
.home-gradient__inner{ display:grid; gap: var(--space-4); align-items:center; }
.home-gradient__eyebrow{ color: var(--color-accent-light); }
.home-gradient__title{ color:#fff; font-size: var(--text-2xl); max-width:18ch; }
.home-gradient__lead{ color: rgba(255,255,255,.82); font-size: var(--text-md); max-width:56ch; }
.home-gradient__media img{ border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); aspect-ratio:4/3; object-fit:cover; }
@media (min-width:960px){
  .home-gradient__inner{ grid-template-columns:1.15fr .85fr; }
}


.home-industries__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.home-industries__card{
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  border:1px solid var(--color-line);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.home-industries__card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-md); }
.home-industries__card i{ font-size:1.5rem; color: var(--color-accent-deep); margin-block-end: var(--space-1); }
.home-industries__card h3{ font-size: var(--text-md); }
.home-industries__card p{ font-size: var(--text-sm); margin:0; }
@media (min-width:640px){ .home-industries__grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1080px){ .home-industries__grid{ grid-template-columns:repeat(5,1fr); } }


.global-cta{ background: var(--color-paper-deep); }
.global-cta__inner{
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space-4);
  align-items:center;
  background: var(--color-white);
  border-radius: var(--radius-xl);
  padding: var(--space-4);
  box-shadow: var(--shadow-lg);
}
.global-cta__inner--center{ justify-items:center; text-align:center; }
.global-cta__media img{ border-radius: var(--radius-lg); aspect-ratio:4/3; object-fit:cover; width:100%; box-shadow: var(--shadow-md); }
.global-cta__content h2{ font-size: var(--text-2xl); }
.global-cta__content--full{ max-width:60ch; }
.global-cta__actions{ display:flex; flex-wrap:wrap; gap: var(--space-2); margin-block-start: var(--space-2); }
@media (min-width:900px){
  .global-cta__inner{ grid-template-columns:.85fr 1.15fr; }
}


.topics-hero, .participate-hero, .join-hero, .contact-hero{
  padding-block: var(--space-6) var(--space-5);
  background: linear-gradient(180deg, var(--color-paper-alt), var(--color-paper));
}
.topics-hero__eyebrow, .join-hero__eyebrow, .participate-hero__eyebrow, .contact-hero__eyebrow{ color: var(--color-accent-deep); font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size: var(--text-xs); }
.topics-hero__title{ font-size: var(--text-3xl); max-width:20ch; margin-block:.4rem var(--space-2); }
.topics-hero__lead, .join-hero__lead{ font-size: var(--text-md); max-width:64ch; }

.topics-intro{ padding-block: var(--space-6); }
.topics-intro__grid{ display:grid; gap: var(--space-4); align-items:center; }
.topics-intro__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); aspect-ratio:4/3; object-fit:cover; width:100%; }
@media (min-width:900px){ .topics-intro__grid{ grid-template-columns:1fr 1fr; } }

.topics-criteria{ padding-block: var(--space-6); background: var(--color-paper-alt); }
.topics-criteria__grid{ container-type: inline-size; display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.topics-criteria__card{
  background: var(--color-white); border-radius: var(--radius-md); padding: var(--space-3);
  border:1px solid var(--color-line); position:relative;
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.topics-criteria__card:hover{ box-shadow: var(--shadow-md); transform: translateY(-4px); }
.topics-criteria__num{ font-size: var(--text-lg); font-weight:700; color: color-mix(in srgb, var(--color-accent) 55%, var(--color-ink)); }
@container (min-width:560px){ .topics-criteria__grid{ grid-template-columns:1fr 1fr; } }
@container (min-width:960px){ .topics-criteria__grid{ grid-template-columns:repeat(3,1fr); } }

.topics-avoid{ padding-block: var(--space-6); }
.topics-avoid__grid{ display:grid; gap: var(--space-4); }
.topics-avoid__list{ display:flex; flex-direction:column; gap: var(--space-2); }
.topics-avoid__list li{ display:flex; gap:.7rem; align-items:flex-start; background: var(--color-white); border:1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-2); font-size: var(--text-sm); color: var(--color-ink-soft); }
.topics-avoid__list i{ color: var(--color-accent-deep); margin-top:.2rem; }
@media (min-width:900px){ .topics-avoid__grid{ grid-template-columns:.9fr 1.1fr; } }

.topics-process{ padding-block: var(--space-6); background: var(--color-paper-alt); }
.topics-process__list{ display:flex; flex-direction:column; gap: var(--space-3); }
.topics-process__list li{ display:flex; gap: var(--space-2); align-items:flex-start; }
.topics-process__list span{
  flex-shrink:0; width:42px; height:42px; border-radius:50%;
  background: var(--color-primary); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700;
}
.topics-process__list h3{ font-size: var(--text-md); margin-block-end:.25rem; }
.topics-process__list p{ margin:0; font-size: var(--text-sm); }

.topics-faq{ padding-block: var(--space-6); }
.topics-faq__grid{ display:grid; gap: var(--space-4); }
.topics-faq__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); aspect-ratio:4/3; object-fit:cover; width:100%; }
.topics-faq__item{ border-bottom:1px solid var(--color-line); padding-block: var(--space-2); }
.topics-faq__item summary{ cursor:pointer; font-weight:600; font-size: var(--text-md); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.topics-faq__item summary::after{ content:'+'; font-size:1.4rem; color: var(--color-accent-deep); }
.topics-faq__item[open] summary::after{ content:'\2212'; }
.topics-faq__item p{ margin-block-start: var(--space-1); font-size: var(--text-sm); }
@media (min-width:900px){ .topics-faq__grid{ grid-template-columns:.9fr 1.1fr; } }


.participate-hero__grid{ display:grid; gap: var(--space-4); align-items:center; }
.participate-hero__text h1{ font-size: var(--text-3xl); max-width:18ch; margin-block: .4rem var(--space-2); }
.participate-hero__lead{ font-size: var(--text-md); max-width:56ch; margin-block-end: var(--space-3); }
.participate-hero__image{ border-radius: var(--radius-xl) var(--radius-md) var(--radius-xl) var(--radius-md); box-shadow: var(--shadow-lg); aspect-ratio:4/3.4; object-fit:cover; width:100%; }
@media (min-width:960px){ .participate-hero__grid{ grid-template-columns:1.1fr .9fr; } }

.participate-who{ padding-block: var(--space-6); background: var(--color-paper-alt); }
.participate-who__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.participate-who__card{ background: var(--color-white); border-radius: var(--radius-md); padding: var(--space-3); border:1px solid var(--color-line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.participate-who__card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-md); }
.participate-who__card i{ font-size:1.4rem; color: var(--color-accent-deep); margin-block-end: var(--space-1); }
@media (min-width:640px){ .participate-who__grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1080px){ .participate-who__grid{ grid-template-columns:repeat(4,1fr); } }

.participate-format{ padding-block: var(--space-6); }
.participate-format__grid{ display:grid; gap: var(--space-4); align-items:center; }
.participate-format__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); aspect-ratio:4/3; object-fit:cover; width:100%; }
.participate-format__list{ display:flex; flex-direction:column; gap: var(--space-2); margin-block-start: var(--space-3); }
.participate-format__list li{ display:flex; gap:.6rem; align-items:center; font-size: var(--text-sm); color: var(--color-ink-soft); }
.participate-format__list i{ color: var(--color-accent-deep); }
@media (min-width:900px){ .participate-format__grid{ grid-template-columns:.9fr 1.1fr; } }

.participate-steps{ padding-block: var(--space-6); background: var(--color-paper-alt); }
.participate-steps__list{ display:flex; flex-direction:column; gap: var(--space-3); }
.participate-steps__list li{ display:flex; gap: var(--space-2); align-items:flex-start; }
.participate-steps__list span{ flex-shrink:0; width:42px; height:42px; border-radius:50%; background: var(--color-accent-deep); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.participate-steps__list h3{ font-size: var(--text-md); margin-block-end:.25rem; }
.participate-steps__list p{ margin:0; font-size: var(--text-sm); }

.participate-considerations{ padding-block: var(--space-6); }
.participate-considerations__grid{ display:grid; gap: var(--space-4); }
.participate-considerations__list{ display:flex; flex-direction:column; gap: var(--space-2); }
.participate-considerations__item{ display:flex; gap: var(--space-2); align-items:flex-start; background: var(--color-white); border:1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-2); }
.participate-considerations__item i{ color: var(--color-accent-deep); font-size:1.2rem; margin-top:.15rem; }
.participate-considerations__item p{ margin:0; font-size: var(--text-sm); }
@media (min-width:900px){ .participate-considerations__grid{ grid-template-columns:.8fr 1.2fr; } }


.join-how{ padding-block: var(--space-6); background: var(--color-paper-alt); }
.join-how__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-3); }
.join-how__card{ background: var(--color-white); border-radius: var(--radius-md); padding: var(--space-3); border:1px solid var(--color-line); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.join-how__card:hover{ transform: translateY(-5px); box-shadow: var(--shadow-md); }
.join-how__card i{ font-size:1.4rem; color: var(--color-accent-deep); margin-block-end: var(--space-1); }
@media (min-width:640px){ .join-how__grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1080px){ .join-how__grid{ grid-template-columns:repeat(4,1fr); } }

.join-guidelines{ padding-block: var(--space-6); }
.join-guidelines__grid{ display:grid; gap: var(--space-4); align-items:center; }
.join-guidelines__image{ border-radius: var(--radius-lg); box-shadow: var(--shadow-md); aspect-ratio:4/3; object-fit:cover; width:100%; }
.join-guidelines__list{ display:flex; flex-direction:column; gap:.6rem; margin-block-start: var(--space-2); }
.join-guidelines__list li{ display:flex; gap:.6rem; font-size: var(--text-sm); color: var(--color-ink-soft); }
.join-guidelines__list i{ color: var(--color-sage); margin-top:.15rem; }
@media (min-width:900px){ .join-guidelines__grid{ grid-template-columns:1fr 1fr; } }

.join-community-note{ padding-block: var(--space-6); background: var(--color-paper-alt); text-align:center; }
.join-community-note > div{ max-width:70ch; margin-inline:auto; }
.join-community-note h2{ font-size: var(--text-2xl); }


.contact-hero__lead{ max-width:60ch; font-size: var(--text-md); }
.contact-form-section{ padding-block: var(--space-6); }
.contact-form-section__grid{ display:grid; grid-template-columns:1fr; gap: var(--space-4); }
.contact-form-section__map{ min-height:340px; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-md); }
.contact-form-section__map iframe{ width:100%; height:100%; min-height:340px; }
.contact-form-section__form-wrap{ background: var(--color-white); border:1px solid var(--color-line); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-md); }
.contact-form-section__note{ font-size: var(--text-sm); margin-block-end: var(--space-3); }
.contact-form__group{ margin-block-end: var(--space-2); }
.contact-form__group label{ display:block; font-size: var(--text-sm); font-weight:600; margin-block-end:.35rem; }
.contact-form__group input, .contact-form__group textarea{
  width:100%;
  padding:.75rem .9rem;
  border-radius: var(--radius-sm);
  border:1px solid var(--color-line-strong);
  background: var(--color-paper);
  font-size: var(--text-base);
  color: var(--color-ink);
  transition: border-color .3s var(--ease), box-shadow .3s var(--ease);
  min-height:48px;
}
.contact-form__group textarea{ min-height:120px; resize:vertical; }
.contact-form__group input:focus, .contact-form__group textarea:focus{
  outline:none; border-color: var(--color-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent);
}
.contact-form__group input.is-error, .contact-form__group textarea.is-error{ border-color:#b5433a; }
.contact-form__privacy{ display:flex; align-items:flex-start; gap:.6rem; margin-block: var(--space-2) var(--space-3); }
.contact-form__privacy input{ width:20px; height:20px; margin-top:.15rem; accent-color: var(--color-accent-deep); flex-shrink:0; }
.contact-form__privacy label{ font-size: var(--text-sm); color: var(--color-ink-soft); }
.contact-form__privacy label a{ color: var(--color-accent-deep); text-decoration:underline; }
.contact-form__submit{ width:100%; }
@media (min-width:960px){
  .contact-form-section__grid{ grid-template-columns:1fr 1fr; }
  .contact-form-section__map{ min-height:100%; }
}

.contact-timeline{ padding-block: var(--space-6) var(--space-7); background: var(--color-paper-alt); }
.contact-timeline__list{ display:flex; flex-direction:column; gap: var(--space-3); }
.contact-timeline__list li{ display:flex; gap: var(--space-2); align-items:flex-start; }
.contact-timeline__list span{ flex-shrink:0; width:42px; height:42px; border-radius:50%; background: var(--color-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.contact-timeline__list h3{ font-size: var(--text-md); margin-block-end:.25rem; }
.contact-timeline__list p{ margin:0; font-size: var(--text-sm); }


.thanks-hero{
  min-height: calc(100svh - var(--header-height));
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent-deep) 130%);
  color:#fff;
  text-align:center;
  padding-block: var(--space-6);
}
.thanks-hero__inner{ max-width:640px; }
.thanks-hero__icon{ font-size:2.6rem; color: var(--color-accent-light); display:inline-block; margin-block-end: var(--space-2); }
.thanks-hero h1{ color:#fff; font-size: var(--text-3xl); }
.thanks-hero p{ color: rgba(255,255,255,.85); font-size: var(--text-md); max-width:56ch; margin-inline:auto; margin-block-end: var(--space-2); }
.thanks-hero__note{ font-size: var(--text-sm) !important; color: rgba(255,255,255,.65) !important; margin-block-end: var(--space-4) !important; }


.legal-container{ padding-block: var(--space-6) var(--space-7); max-width:840px; }
.legal-updated{ font-size: var(--text-xs); text-transform:uppercase; letter-spacing:.08em; color: var(--color-accent-deep); font-weight:600; }
.legal-intro{ font-size: var(--text-md); max-width:70ch; margin-block: var(--space-2) var(--space-4); }
.legal-group{ margin-block-end: var(--space-4); padding-block-end: var(--space-3); border-bottom:1px solid var(--color-line); }
.legal-group:last-child{ border-bottom:none; }
.legal-group h2{ font-size: var(--text-xl); margin-block-end: var(--space-2); }
.legal-group ul{ display:flex; flex-direction:column; gap:.6rem; }
.legal-group ul li{ font-size: var(--text-sm); color: var(--color-ink-soft); padding-inline-start:1.2rem; position:relative; }
.legal-group ul li::before{ content:'—'; position:absolute; left:0; color: var(--color-accent-deep); }

.legal-clauses{ display:flex; flex-direction:column; gap: var(--space-3); counter-reset: clause; }
.legal-clauses li{ list-style:none; }
.legal-clauses h2{ font-size: var(--text-lg); margin-block-end:.4rem; }
.legal-clauses p{ font-size: var(--text-sm); }

.cookies-legal h2{ font-size: var(--text-lg); margin-block: var(--space-3) var(--space-1); }
.cookies-legal p{ font-size: var(--text-sm); max-width:70ch; }
.cookies-table{ width:100%; border-collapse:collapse; margin-block: var(--space-2) var(--space-3); font-size: var(--text-sm); }
.cookies-table th, .cookies-table td{ border:1px solid var(--color-line); padding:.7rem .9rem; text-align:left; }
.cookies-table th{ background: var(--color-paper-alt); font-weight:600; }


[data-aos]{ transition-duration:700ms !important; }


@media (max-width:600px){
  :root{ --header-height: 72px; }
  .global-header__name{ font-size:1.05rem; }
  .home-stack__panel{ padding-block: var(--space-5); }
}