
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
/* Grid/flex children default to min-width:auto and refuse to shrink below their
   content, which is the usual cause of mobile horizontal overflow. */
main *,footer *,header *{min-width:0}
h1,h2,h3,h4,p,li,blockquote,figcaption,dd,dt,summary{overflow-wrap:break-word}
.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:.75rem 1.25rem;background:#000;color:#fff;text-decoration:none}
.skip:focus{left:0}
:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
details>summary::-webkit-details-marker{display:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

:root{
  --oat:#F2EBDD;--forest:#244C40;--brick:#B95443;
  --mustard:#D1A23D;--ink:#2D302D;--wht:#FFFFFF;
  --bricktext:#AA4D3E;--mustardtext:#D7AE55;
}
body{background:var(--wht);color:var(--ink);
  font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17.5px;line-height:1.6}
h1,h2,h3,h4,.pc-btn,.pc-chip,.pc-id{font-family:Sen,"Source Sans 3",system-ui,sans-serif}
h1,h2,h3,h4{font-weight:700;line-height:1.14;margin:0 0 .5em;letter-spacing:-.01em}
p{margin:0 0 1em}
.pc-in{max-width:1200px;margin:0 auto;padding:0 28px}

/* ---------- plain white header ---------- */
.pc-head{background:var(--wht);border-bottom:1px solid rgba(36,76,64,.2)}
.pc-head-in{max-width:1200px;margin:0 auto;padding:16px 28px;display:flex;
  align-items:baseline;gap:18px;flex-wrap:wrap}
.pc-id{margin:0;color:var(--forest);font-weight:800;font-size:16px;letter-spacing:-.01em}
.pc-id-sub{margin:0;color:#6a6f68;font-size:14px}

/* ---------- opening ---------- */
.pc-open{background:var(--wht);padding:0 0 18px}
.pc-title{max-width:1200px;margin:0 auto;padding:60px 28px 42px}
.pc-eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.16em;
  font-size:12.5px;font-weight:700;color:var(--bricktext)}
.pc-title h1{font-size:clamp(36px,5vw,72px);font-weight:800;max-width:17ch;
  margin:0 0 20px;color:var(--ink)}
.pc-lede{font-size:19.5px;max-width:56ch;color:#4a4f49;margin:0}

/* Tracks must sum to 100%: at viewports narrower than the 1200px max-width the
   container is the viewport, so 53%+51% pushed the right column 4% past the
   edge (measured 1035px at a 1024px viewport). The 4% overlap now comes only
   from the negative margin widening the stretched right column leftwards. */
.pc-shapes{max-width:1200px;margin:0 auto;padding:0 28px 56px;
  display:grid;grid-template-columns:56% 44%;align-items:start}
.pc-col--r{margin-left:-4%;padding-top:92px}
.pc-shape{position:relative;box-shadow:0 1px 0 rgba(45,48,45,.16);
  animation:pc-settle .55s ease-out 1 both}
.pc-shape-h{font-size:12px;text-transform:uppercase;letter-spacing:.15em;
  font-weight:700;margin:0 0 12px;opacity:.72}
@keyframes pc-settle{from{transform:translateY(16px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.pc-shape{animation:none;transform:none}}

.pc-shape--when{z-index:4;background:var(--forest);
  color:var(--oat);padding:34px 34px 46px;
  clip-path:polygon(0 0,100% 2.5%,100% 100%,0 96%);animation-delay:0s}
.pc-when-d{font-family:Sen,sans-serif;font-size:clamp(26px,3vw,38px);font-weight:800;
  margin:0 0 6px;color:var(--wht)}
.pc-when-l{font-size:19px;margin:0 0 10px;font-weight:600}
.pc-when-p{margin:0;font-size:15px;opacity:.86}

.pc-shape--stmt{z-index:2;
  background:var(--mustard);color:#2c2409;padding:30px 34px 52px 124px;
  clip-path:polygon(0 4%,100% 0,100% 95%,0 100%);animation-delay:.08s}
.pc-shape--stmt p{margin:0;font-size:18px;font-weight:600;max-width:40ch}

.pc-shape--act{width:84%;margin-top:-32px;z-index:5;
  background:var(--brick);color:var(--wht);padding:28px 30px 30px;
  clip-path:polygon(0 0,100% 4%,100% 100%,0 94%);animation-delay:.16s;
  display:flex;flex-direction:column;gap:9px;align-items:stretch}
.pc-shape--act .pc-shape-h{opacity:.85}
.pc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:0 20px;border:2px solid currentColor;text-decoration:none;font-weight:700;
  font-size:15.5px;color:inherit}
.pc-btn--fill{background:var(--wht);color:var(--brick);border-color:var(--wht)}
.pc-btn:hover{background:var(--ink);color:var(--wht);border-color:var(--ink)}

.pc-shape--img{margin:-26px 0 0;z-index:3;
  background:var(--oat);padding:14px 14px 10px 62px;
  clip-path:polygon(0 0,100% 3%,100% 100%,0 97%);animation-delay:.24s}
.pc-shape--img img{width:100%;height:210px;object-fit:cover}
.pc-shape--img figcaption{font-size:12.5px;color:#5c6159;margin-top:8px}

/* ---------- contents strip ---------- */
.pc-strip{background:var(--ink);color:var(--wht)}
.pc-strip ul{max-width:1200px;margin:0 auto;padding:0 28px;list-style:none;
  display:grid;grid-template-columns:repeat(4,1fr)}
.pc-strip li{border-left:1px solid rgba(255,255,255,.18)}
.pc-strip li:first-child{border-left:0}
.pc-strip a{display:flex;align-items:center;min-height:62px;padding:12px 20px;
  color:var(--wht);text-decoration:none;font-size:15px;font-weight:600}
.pc-strip a:hover{background:var(--forest)}

/* ---------- generic sections ---------- */
.pc-sec{padding:64px 0}
.pc-sec h2{font-size:clamp(27px,3.1vw,44px)}
.pc-sub{color:#5c6159;max-width:72ch}
.pc-big{font-size:19px;color:#454a45;max-width:66ch}
.pc-lnk{color:var(--forest);font-weight:700}

.pc-sec--why{background:var(--oat)}
.pc-why{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px}
.pc-why-themes h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--bricktext);margin-bottom:14px}
.pc-themes{list-style:none;margin:0;padding:0}
.pc-themes li{padding:10px 0 10px 22px;border-bottom:1px solid rgba(36,76,64,.2);
  position:relative;font-size:15.5px}
.pc-themes li::before{content:"";position:absolute;left:0;top:18px;width:11px;height:11px;
  background:var(--mustard);clip-path:polygon(0 0,100% 12%,88% 100%,6% 92%)}

/* ---------- day fields: three different silhouettes ---------- */
.pc-sec--prog{background:var(--wht);padding-bottom:20px}
.pc-fields{max-width:1200px;margin:34px auto 0;padding:0 28px;display:grid;gap:26px}
.pc-field{padding:8px 0}
.pc-field-in{padding:36px 40px 34px}
.pc-field--a{background:var(--forest);color:var(--oat);
  clip-path:polygon(0 0,100% 1.6%,100% 100%,0 97%)}
.pc-field--b{background:var(--oat);color:var(--ink);
  clip-path:polygon(0 2%,100% 0,100% 98.4%,0 100%)}
.pc-field--c{background:var(--ink);color:var(--oat);
  clip-path:polygon(0 0,100% 2.4%,100% 97%,0 100%)}
.pc-field h3{font-size:clamp(22px,2.4vw,32px);margin:0 0 10px}
.pc-field--a h3,.pc-field--c h3{color:var(--wht)}
.pc-field-meta{font-size:14.5px;opacity:.82;max-width:66ch}
.pc-rows{list-style:none;margin:18px 0 0;padding:0}
.pc-row{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:15px 0;
  border-top:1px solid currentColor}
.pc-row:first-child{border-top:0}
.pc-chip{display:inline-flex;align-items:center;justify-content:center;height:34px;
  border-radius:17px;font-weight:700;font-size:14.5px;background:var(--mustard);
  color:#2c2409}
.pc-field--b .pc-chip{background:var(--brick);color:var(--wht)}
.pc-row h4{margin:0 0 4px;font-size:18px;font-weight:700}
.pc-row-sp{margin:0;font-size:14.5px;opacity:.85}
.pc-row-pt{margin:6px 0 0;font-size:14.5px;opacity:.7;max-width:70ch}
.pc-field-link{margin:22px 0 0}
.pc-field-link a{color:inherit;font-weight:700}
.pc-field--b .pc-field-link a{color:var(--forest)}

/* ---------- speaker cut-ins over a forest field ---------- */
.pc-sec--sp{background:var(--forest);color:var(--oat);padding-top:56px}
.pc-sec--sp h2{color:var(--wht)}
.pc-sub--pale{color:#c2d3cc}
.pc-lnk--pale{color:var(--mustardtext)}
.pc-cuts{max-width:1200px;margin:56px auto 30px;padding:0 28px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:30px 26px}
.pc-cut{background:var(--oat);color:var(--ink);padding:0 22px 20px;margin-top:34px;
  clip-path:polygon(0 0,100% 2%,100% 100%,0 98%)}
.pc-cut img{width:132px;height:132px;object-fit:cover;margin:-34px 0 14px}
.pc-cut h3{font-size:19px;margin:0 0 4px}
.pc-cut-r{margin:0 0 8px;font-size:14px;color:var(--forest);font-weight:700}
.pc-cut-s{margin:0;font-size:14px;color:#5c6159}

/* ---------- participation ---------- */
.pc-part{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pc-mode{background:var(--oat);padding:30px 28px;
  clip-path:polygon(0 0,100% 3%,100% 100%,0 96%)}
.pc-mode--alt{background:var(--mustard);color:#2c2409;
  clip-path:polygon(0 3%,100% 0,100% 97%,0 100%)}
.pc-mode--act{background:var(--ink);color:var(--wht);
  clip-path:polygon(0 0,100% 2%,100% 97%,0 100%)}
.pc-mode h2,.pc-mode h3{font-size:23px;margin:0 0 12px}
.pc-mode p{font-size:15.5px}
.pc-mode--act .pc-btn{width:100%}
.pc-mode--act .pc-btn--fill{background:var(--mustard);color:#2c2409;border-color:var(--mustard)}

/* ---------- evidence ---------- */
.pc-sec--ev{background:var(--oat)}
.pc-ev-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:26px}
.pc-ev-fig{margin:0;background:var(--wht);padding:12px}
.pc-ev-fig:first-child{grid-row:span 2}
.pc-ev-fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.pc-ev-fig:first-child img{aspect-ratio:3/2}
.pc-ev-fig figcaption{font-size:12.5px;color:#5c6159;margin-top:9px}
.pc-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.pc-q{margin:0;background:var(--wht);padding:24px;border-left:5px solid var(--brick)}
.pc-q blockquote{margin:0}
.pc-q p{font-size:16px;margin:0 0 12px;color:#43483f}
.pc-q figcaption{font-size:13.5px;font-weight:700;color:var(--forest)}

/* ---------- sponsors / venue / faq ---------- */
.pc-spon{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:44px;
  align-items:start}
.pc-spon-links{list-style:none;margin:0;padding:0}
.pc-spon-links li{border-top:1px solid rgba(36,76,64,.25)}
.pc-spon-links a{display:flex;align-items:center;min-height:52px}
.pc-sec--venue{background:var(--forest);color:var(--oat)}
.pc-sec--venue h2{color:var(--wht)}
.pc-sec--venue .pc-big{color:#cfdcd6}
.pc-sec--venue .pc-lnk{color:var(--mustardtext)}
.pc-faq{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:44px;
  align-items:start}
.pc-faq h2{grid-column:1/-1}
.pc-faq-list details{border-bottom:1px solid rgba(45,48,45,.2)}
.pc-faq-list summary{font-weight:700;font-size:17px;padding:14px 0;color:var(--forest)}
.pc-faq-list details p{margin:0 0 16px;color:#5c6159;max-width:70ch}
.pc-legal{list-style:none;margin:0;padding:0;background:var(--oat)}
.pc-legal li{border-bottom:1px solid rgba(36,76,64,.2)}
.pc-legal a{display:flex;align-items:center;min-height:52px;padding:0 18px}

/* ---------- footer ---------- */
.ft{background:var(--ink);color:#ded9cf;padding:50px 0 32px}
.ft-in{max-width:1200px;margin:0 auto;padding:0 28px}
.ft-org strong{color:var(--wht)}
.ft-links{list-style:none;display:flex;flex-wrap:wrap;gap:2px 26px;padding:0;margin:0 0 18px}
.ft-links a{color:var(--oat);font-size:14.5px;min-height:44px;display:inline-flex;
  align-items:center}
.ft-links a:hover{color:var(--mustardtext)}
.ft-note{font-size:13px;color:#a6a49b;max-width:78ch;margin:0 0 10px}
.ft-c{font-size:12.5px;color:#99988f;margin:22px 0 0;
  border-top:1px solid rgba(255,255,255,.14);padding-top:18px}

/* ---------- tablet ---------- */
@media (max-width:1000px){
  .pc-shapes{grid-template-columns:1fr;gap:0}
  .pc-col--r{margin-left:0;padding-top:0}
  .pc-shape{width:auto!important;margin:0!important;padding-left:32px!important}
  .pc-shape--img{padding-left:14px!important}
  .pc-why,.pc-spon,.pc-faq{grid-template-columns:1fr;gap:30px}
  .pc-faq h2{grid-column:auto}
  .pc-cuts{grid-template-columns:repeat(2,1fr)}
  .pc-part{grid-template-columns:1fr}
  .pc-ev-grid{grid-template-columns:1fr}
  .pc-ev-fig:first-child{grid-row:auto}
  .pc-quotes{grid-template-columns:1fr}
  .pc-strip ul{grid-template-columns:repeat(2,1fr)}
  .pc-strip li:nth-child(3){border-left:0}
}
/* ---------- mobile: full-width colour sections, varied clipped corners ----- */
@media (max-width:640px){
  body{font-size:16.5px}
  .pc-title{padding:40px 20px 30px}
  .pc-title h1{font-size:clamp(34px,9.4vw,44px)}
  .pc-lede{font-size:17px}
  .pc-shapes{padding:0 0 38px}
  .pc-shape{clip-path:none!important}
  .pc-shape--when{padding:26px 20px;clip-path:polygon(0 0,100% 0,100% 100%,0 96%)!important}
  .pc-shape--stmt{padding:24px 20px;clip-path:polygon(0 4%,100% 0,100% 100%,0 100%)!important}
  .pc-shape--act{padding:24px 20px;clip-path:polygon(0 0,100% 3%,100% 100%,0 100%)!important}
  .pc-shape--img{padding:12px 12px 8px;margin:0!important}
  .pc-shape--img img{height:190px}
  .pc-in,.pc-fields{padding-left:20px;padding-right:20px}
  .pc-strip ul{grid-template-columns:1fr;padding:0}
  .pc-strip li{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .pc-strip li:first-child{border-top:0}
  .pc-sec{padding:44px 0}
  .pc-field-in{padding:26px 20px}
  .pc-row{grid-template-columns:78px 1fr;gap:12px}
  .pc-cuts{grid-template-columns:1fr;gap:44px;margin-top:48px}
  .ft-links{flex-direction:column;gap:0}
}
