/* Editorial refinements: video, word collage, network, resources and contacts. */
.section-kicker { font-size:12.5px; letter-spacing:.1em }
.quote-copy > .eyebrow { font-size:12.5px }
.project-word { position:relative; white-space:nowrap }
.project-arrow { position:absolute; width:140px; height:150px; top:100%; left:50%; transform:translateX(-50%); fill:none; stroke:var(--wine); stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; overflow:visible }

/* A conversation framed as an editorial film, separate from the introductory hero. */
.partner-film { display:grid; grid-template-columns:.85fr 1.8fr; background:var(--wine); color:var(--white); border-radius:24px; overflow:hidden }
.partner-film-copy { display:flex; flex-direction:column; padding:38px 34px; position:relative }
.partner-film-copy > .tiny-label { color:#f4cbdc; font-size:10px; letter-spacing:.12em }
.partner-film-copy h3 { margin-top:28px; font-size:clamp(30px,2.7vw,39px); line-height:1.1; letter-spacing:-.05em }
.partner-film-copy h3 em { color:var(--yellow); font-style:normal }
.partner-film-copy > p { max-width:260px; font-size:13px; line-height:1.8; margin-top:20px; color:#fae8ef }
.partner-film-arrow { width:116px; height:70px; fill:none; stroke:var(--yellow); stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; margin-top:4px; align-self:flex-end; margin-right:8px }
.partner-film-names { display:flex; flex-wrap:wrap; gap:5px 16px; font-size:10px; font-weight:600; margin-top:auto; padding-top:28px; color:#fff }
.partner-film-media { min-width:0; padding:30px 30px 30px 0; align-self:center }
.partner-film-label { display:flex; justify-content:space-between; gap:20px; font-size:10px; font-weight:700; letter-spacing:.1em; margin-bottom:14px; color:#fff }
.partner-video-frame { border:0; border-radius:14px; box-shadow:none }
.partner-video-cover .play-orbit { width:78px; height:78px; background:var(--ink); color:var(--white); box-shadow:0 0 0 10px rgba(35,19,50,.15) }
.partner-video-cover:hover .play-orbit { box-shadow:0 0 0 15px rgba(35,19,50,.22) }
.partner-video-cover .video-cover-caption { top:auto; bottom:16px; align-items:center; color:var(--white) }
.partner-video-cover .video-cover-caption > .icon { padding:4px; width:30px; height:30px; border-radius:50%; background:var(--ink) }
.partner-film :focus-visible { outline-color:var(--yellow) }

/* Final consultant words: a responsive printed collage with room for long phrases. */
.keyword-collage { position:relative; border-radius:24px; background:var(--wine); color:var(--white); isolation:isolate; overflow:hidden; container-type:inline-size }
.keyword-collage::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.11; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' opacity='.7' d='M0 0h200v200H0z'/%3E%3C/svg%3E") }
.keyword-cloud { position:relative; list-style:none; padding:48px 42px 62px; margin:0; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:minmax(82px,auto); align-items:center; gap:28px 20px }
.keyword-piece { --turn:0deg; position:relative; min-width:0; width:fit-content; max-width:100%; justify-self:center; padding:12px 16px; transform:rotate(var(--turn)); transform-origin:center; font-family:var(--display); font-weight:600; line-height:1.12; letter-spacing:-.05em; text-align:center; transition:transform 300ms var(--ease),box-shadow 300ms var(--ease) }
.keyword-piece .keyword-text { --word-size:2.7cqi; --word-min:15px; --word-max:42px; display:block; max-width:100%; font-size:clamp(var(--word-min),var(--word-size),var(--word-max)); line-height:1.12; letter-spacing:-.05em; text-wrap:balance }
.keyword-1 { grid-area:1/1/2/5; --turn:-5deg; padding:4px 0; color:#fff }
.keyword-1 .keyword-text { --word-size:5.3cqi; --word-min:30px; --word-max:68px }
.keyword-2 { grid-area:1/5/2/10; --turn:4deg; padding:16px 20px; background:#fff; color:var(--ink); box-shadow:5px 6px 0 #661035 }
.keyword-2 .keyword-text { --word-size:3.15cqi }
.keyword-3 { grid-area:2/2/3/9; --turn:-3deg; padding:17px 24px; background:var(--yellow); color:var(--ink); box-shadow:7px 8px 0 #661035 }
.keyword-3 .keyword-text { --word-size:5.5cqi; --word-min:32px; --word-max:72px }
.keyword-4 { grid-area:3/1/4/6; --turn:-4deg; padding:14px 20px; background:#fff; color:var(--wine); clip-path:polygon(0 3%,99% 0,100% 95%,2% 100%) }
.keyword-4 .keyword-text { --word-size:3.2cqi }
.keyword-5 { grid-area:1/10/2/13; --turn:7deg; border:1.5px solid var(--yellow); border-radius:50%; color:var(--yellow); padding:18px 16px }
.keyword-5 .keyword-text { --word-size:2.5cqi }
.keyword-6 { grid-area:3/6/4/10; --turn:4deg; padding:8px 0 }
.keyword-6 .keyword-text { --word-size:2.65cqi }
.keyword-7 { grid-area:4/3/5/11; --turn:3deg; padding:16px 24px; background:#fff; color:var(--ink); box-shadow:5px 6px 0 #661035 }
.keyword-7 .keyword-text { --word-size:3.2cqi; max-width:18ch }
.keyword-8 { grid-area:5/1/6/5; --turn:4deg; padding:14px 14px; background:#fff; color:var(--wine); clip-path:polygon(1% 0,100% 4%,98% 100%,0 95%) }
.keyword-8 .keyword-text { --word-size:2.65cqi }
.keyword-9 { grid-area:2/10/3/13; --turn:6deg; padding:15px 12px; background:#fff; color:var(--wine) }
.keyword-9 .keyword-text { --word-size:2.25cqi }
.keyword-10 { grid-area:5/5/6/10; --turn:-4deg; padding:4px 0; color:var(--yellow) }
.keyword-10 .keyword-text { --word-size:2.8cqi }
.keyword-11 { grid-area:3/10/4/13; --turn:-6deg; padding:8px 0; color:var(--yellow) }
.keyword-11 .keyword-text { --word-size:2.35cqi }
.keyword-12 { grid-area:5/10/6/13; --turn:5deg; border:1.5px solid #fff; border-radius:50px; padding:15px 13px }
.keyword-12 .keyword-text { --word-size:2.4cqi }
.collage-arrow { position:absolute; fill:none; stroke:var(--yellow); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; opacity:.85 }
.collage-arrow-one { left:1.5%; top:142px; width:65px; height:60px; transform:rotate(-15deg) }
.collage-arrow-two { left:48%; bottom:12px; width:65px; height:50px; transform:rotate(70deg) }
@media (hover:hover) and (pointer:fine) {
  .keyword-piece:hover { transform:rotate(0deg) translateY(-4px); z-index:2 }
}
@container (max-width:560px) {
  .keyword-cloud { padding:36px 22px 50px; grid-auto-rows:minmax(44px,auto); gap:24px 16px }
  .keyword-piece { padding:10px 10px }
  .keyword-piece .keyword-text { --word-min:14px; --word-max:32px }
  .keyword-1 { grid-area:1/1/2/7; padding:4px 0 }
  .keyword-1 .keyword-text { --word-size:8cqi }
  .keyword-2 { grid-area:1/7/2/13; padding:12px 10px }
  .keyword-2 .keyword-text { --word-size:5.1cqi }
  .keyword-3 { grid-area:2/1/3/13; padding:16px 20px; margin-block:5px }
  .keyword-3 .keyword-text { --word-size:10.6cqi; --word-min:28px; --word-max:56px }
  .keyword-4 { grid-area:3/1/4/8; padding:12px 10px }
  .keyword-4 .keyword-text { --word-size:5.1cqi }
  .keyword-5 { grid-area:3/8/4/13; padding:14px 8px }
  .keyword-5 .keyword-text { --word-size:4.8cqi }
  .keyword-6 { grid-area:4/1/5/7; padding:8px 0 }
  .keyword-6 .keyword-text { --word-size:5.2cqi }
  .keyword-7 { grid-area:5/1/6/13; padding:16px 18px; margin-block:4px }
  .keyword-7 .keyword-text { --word-size:7cqi }
  .keyword-8 { grid-area:4/7/5/13; padding:12px 8px }
  .keyword-8 .keyword-text { --word-size:4.9cqi }
  .keyword-9 { grid-area:6/1/7/7; padding:13px 10px }
  .keyword-9 .keyword-text { --word-size:5.1cqi }
  .keyword-10 { grid-area:7/2/8/12; padding:6px 0 }
  .keyword-10 .keyword-text { --word-size:8cqi }
  .keyword-11 { grid-area:6/7/7/13; padding:8px 0 }
  .keyword-11 .keyword-text { --word-size:5.4cqi }
  .keyword-12 { grid-area:8/3/9/11; padding:13px 22px }
  .keyword-12 .keyword-text { --word-size:5.9cqi }
  .collage-arrow-one { left:43%; top:7px; width:45px; height:28px; transform:rotate(0deg) }
  .collage-arrow-two { left:auto; right:18px; bottom:21px; width:45px; height:45px; transform:rotate(15deg) }
}


/* Preserve the reference's hierarchy and authentic brand colors. */
.brand-signature { padding:16px 0 12px; background:#fff; color:var(--ink) }
.brand-promoters { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:64px; align-items:center }
.brand-partner { display:flex; align-items:center; justify-content:center; min-width:0; min-height:150px }
.brand-partner > img { width:100%; height:126px; object-fit:contain }
.brand-edulife > img { max-width:260px }
.brand-adoa > img { max-width:215px; height:142px }
.brand-csv > img { max-width:350px }
.brand-supporters { display:grid; grid-template-columns:1fr 1fr; gap:100px; margin:58px auto 0; max-width:950px; align-items:start }
.brand-group { display:flex; flex-direction:column; align-items:center; gap:22px }
.brand-group > p { color:var(--wine); font-family:var(--display); font-size:24px; font-weight:700; letter-spacing:-.035em; line-height:1.3 }
.brand-group > img { object-fit:contain; width:100%; height:112px }
.brand-hub > img { max-width:300px; height:126px }
.brand-cattolica > img { max-width:350px }
.podcast-heading { position:relative; isolation:isolate; overflow:visible }
.podcast-title-group { position:static; display:block; min-width:0; z-index:1 }
.podcast-title-group > div,.podcast-heading-note { position:relative; z-index:1 }
.podcast-section-logo { position:absolute; top:50%; right:18px; width:clamp(420px,50vw,720px); height:auto; margin:0; transform:translateY(-50%) rotate(-9deg); opacity:.17; z-index:0; pointer-events:none; user-select:none }
.podcast-heading-note { max-width:280px; flex-shrink:0 }
.podcast-heading-note > p { font-size:14px; line-height:1.85 }
.episode-organization { min-height:44px }
.episode-organization-link { display:inline-flex; align-items:baseline; gap:6px; padding:6px 0; text-decoration:underline; text-decoration-color:#8c8195; text-underline-offset:4px; line-height:1.6; transition:color var(--fast),text-decoration-color var(--fast) }
.episode-organization-link > .icon { width:13px; height:13px; align-self:center }
.episode-organization-link:hover { color:var(--yellow); text-decoration-color:var(--yellow) }

/* Quiet download documents on the left, a bold active invitation on the right. */
.downloads-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:26px; align-items:stretch }
.document-downloads { display:grid; gap:20px; align-content:start; min-width:0 }
.download-card { position:relative; display:flex; gap:20px; align-items:flex-start; padding:28px; border:1px solid #7b6b87; border-radius:14px; background:#2c1b3c; min-width:0; transition:background var(--fast),border-color var(--fast) }
.download-number { font-family:var(--display); font-size:12px; color:#c7bacf; padding-top:3px }
.download-copy { display:flex; flex-direction:column; min-width:0 }
.download-copy > .tiny-label { font-size:9px; letter-spacing:.1em; color:#c7bacf }
.download-copy > strong { font-family:var(--display); font-size:clamp(23px,2.3vw,32px); line-height:1.2; letter-spacing:-.04em; margin-top:12px; font-weight:600 }
.download-copy > span:not(.tiny-label):not(.download-action) { color:#d9cedf; font-size:12px; margin-top:7px; line-height:1.7 }
.download-action { font-size:12px; margin-top:20px; color:var(--white); font-weight:600 }
.download-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:var(--wine); color:#fff; border-radius:50%; margin-left:auto; align-self:center }
.download-card[aria-disabled="true"] { cursor:not-allowed }
.download-card[aria-disabled="true"] .download-icon { background:#4b3b59; color:#cdc2d5 }
.download-card[aria-disabled="true"] .download-action { color:#cdc2d5 }
.download-card[href]:hover { background:#382245; border-color:var(--yellow) }
.project-explore { display:flex; position:relative; isolation:isolate; align-self:stretch; flex-direction:column; align-items:flex-start; text-align:left; padding:32px; border-radius:14px; overflow:hidden; background:var(--yellow); color:var(--ink); min-height:438px }
.explore-topline { position:relative; z-index:1; display:flex; justify-content:space-between; width:100%; gap:20px; font-size:9px; letter-spacing:.09em; font-weight:700 }
.explore-title { display:block; position:relative; z-index:1; margin-top:28px; font-family:var(--display); font-size:clamp(46px,4.5vw,64px); font-weight:700; letter-spacing:-.065em; line-height:1.03 }
.explore-title > em { font-style:normal; color:var(--wine) }
.explore-description { position:relative; z-index:1; margin-top:20px; font-size:13px }
.explore-art { position:absolute; inset:0; z-index:0; pointer-events:none; user-select:none }
.explore-drawing { display:block; position:absolute; right:18px; bottom:74px; width:clamp(230px,23vw,330px); height:auto; transform:rotate(12deg); fill:none; stroke:var(--wine); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; opacity:.16; transition:transform 350ms var(--ease) }
.document-sheets { fill:var(--yellow) }
.explore-action { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:auto; padding-top:12px; gap:20px; font-family:var(--display); font-size:19px; font-weight:600; letter-spacing:-.025em; position:relative; z-index:1 }
.explore-arrow { display:flex; align-items:center; justify-content:center; width:54px; height:54px; border-radius:50%; background:var(--ink); color:var(--white); transition:transform 350ms var(--ease),background var(--fast) }
.project-explore:hover .explore-arrow { transform:rotate(45deg); background:var(--wine) }
.project-explore:hover .explore-drawing { transform:rotate(8deg) translateY(-4px) }
.project-explore:focus-visible { outline-color:#fff }
.gallery-main > img { object-fit:cover }
.image-dialog[data-kind="gallery"] .lightbox-stage > img { object-fit:cover }

/* A clear, human contact point with large, readable direct links. */
.contact-section { padding-block:104px; --anchor-inset:104px }
.contact-section .section-kicker { border-color:#bc6087; color:#fff }
.contact-section .section-kicker > span:last-child { color:#fae8ef }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center }
.contact-copy { position:relative }
.contact-copy h2 { font-size:clamp(62px,7.5vw,108px); letter-spacing:-.07em; line-height:1.02 }
.contact-copy h2 > span { color:var(--yellow) }
.contact-copy > p { margin-top:26px; font-size:16px; line-height:1.8; color:#fae8ef }
.contact-curve { width:150px; height:85px; margin:20px 0 0 180px; fill:none; stroke:var(--yellow); stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round }
.contact-details { font-style:normal; min-width:0 }
.contact-details > .tiny-label { font-size:11px; letter-spacing:.13em; color:#fae8ef }
.contact-link { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #bc6087; padding:25px 0; transition:color var(--fast) }
.contact-link > span { min-width:0 }
.contact-link small { display:block; font-size:9px; color:#fae8ef; font-weight:600; letter-spacing:.13em; margin-bottom:7px }
.contact-link > span > span { display:block; font-family:var(--display); font-size:clamp(20px,2.15vw,30px); font-weight:500; letter-spacing:-.04em; line-height:1.3; overflow-wrap:anywhere }
.contact-link > .icon { width:28px; height:28px; transition:transform 200ms var(--ease) }
.contact-link:hover { color:var(--yellow) }
.contact-link:hover > .icon { transform:translate(3px,-3px) }

/* One recognizable network signature, repeated at a larger scale in the footer. */
.site-footer { padding-block:64px }
.footer-composition { display:grid; grid-template-columns:1fr 2.5fr; gap:80px; align-items:start }
.footer-logo { display:inline-block; width:128px }
.footer-logo > img { width:100%; height:auto }
.footer-identity > p { font-size:12px; color:#c7bacf; margin-top:20px; line-height:1.8 }
.footer-identity > p > strong { color:var(--yellow); font-weight:500 }
.footer-navigation { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:28px; font-size:12px }
.footer-navigation > a { padding:4px 0 }
.footer-navigation > a:hover { color:var(--yellow) }
.footer-social { display:flex; gap:12px; margin-top:24px }
.footer-social > a { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:1px solid #7b6b87; color:#fff; transition:background var(--fast),color var(--fast),border-color var(--fast) }
.footer-social > a:hover { background:var(--yellow); color:var(--ink); border-color:var(--yellow) }
.instagram-icon { fill:currentColor; stroke:none; width:22px; height:22px }
.facebook-icon { fill:currentColor; stroke:none; width:20px; height:20px }
.footer-partner-panel { min-width:0; background:#fff; border-radius:16px; padding:28px 32px }
.footer-partner-panel .brand-signature { padding:0 }
.footer-partner-panel .brand-promoters { gap:32px }
.footer-partner-panel .brand-partner { min-height:110px }
.footer-partner-panel .brand-partner > img { height:84px }
.footer-partner-panel .brand-adoa > img { max-width:135px; height:104px }
.footer-partner-panel .brand-supporters { gap:40px; margin-top:24px }
.footer-partner-panel .brand-group { gap:16px }
.footer-partner-panel .brand-group > p { font-size:17px }
.footer-partner-panel .brand-group > img { height:70px }
.footer-partner-panel .brand-hub > img { max-width:205px; height:86px }

@media (max-width:1023px) {
  .partner-film { grid-template-columns:1fr }
  .partner-film-copy { padding:30px; display:grid; grid-template-columns:1fr 1fr; gap:20px 40px }
  .partner-film-copy > .tiny-label { grid-column:1/-1 }
  .partner-film-copy h3 { margin-top:0; font-size:38px; grid-row:2/4 }
  .partner-film-copy > p { margin-top:0; max-width:none }
  .partner-film-arrow { display:none }
  .partner-film-names { margin-top:0; padding-top:0 }
  .partner-film-media { padding:8px 30px 30px }
  .brand-promoters { gap:34px; grid-template-columns:1fr .9fr 1.2fr }
  .brand-supporters { gap:50px }
  .brand-group > p { font-size:21px }
  .downloads-layout { gap:22px }
  .download-card { padding:24px 20px; gap:12px }
  .download-number { display:none }
  .download-copy > strong { font-size:24px }
  .download-icon { width:38px; height:38px }
  .project-explore { padding:28px 24px }
  .explore-title { font-size:44px }
  .explore-topline { font-size:8px; letter-spacing:.04em }
  .contact-layout { gap:50px }
  .contact-link > span > span { font-size:21px }
  .contact-copy h2 { font-size:70px }
  .contact-copy > p { font-size:14px }
  .contact-curve { margin-left:100px }
  .footer-composition { gap:40px; grid-template-columns:1fr 2fr }
  .footer-partner-panel { padding:22px }
  .footer-partner-panel .brand-promoters { gap:20px }
  .footer-partner-panel .brand-group > p { font-size:14px }
  .footer-partner-panel .brand-supporters { gap:20px }
}
@media (max-width:700px) {
  .downloads-layout { grid-template-columns:1fr }
  .download-card { padding:26px; gap:20px }
  .download-number { display:block }
  .download-copy > strong { font-size:29px }
  .project-explore { min-height:380px; padding:30px }
  .explore-title { font-size:54px; margin-top:30px }
  .explore-action { font-size:19px }
  .explore-topline { font-size:9px }
  .contact-layout { grid-template-columns:1fr; gap:38px }
  .contact-copy h2 { font-size:80px }
  .contact-curve { position:absolute; bottom:0; right:0; margin:0; width:100px; height:60px }
  .contact-details > .tiny-label { font-size:11px }
  .contact-link > span > span { font-size:25px }
  .footer-composition { grid-template-columns:1fr; gap:32px }
  .footer-identity { display:grid; grid-template-columns:128px 1fr; column-gap:30px; align-items:center }
  .footer-identity > p { margin-top:0 }
  .footer-navigation { grid-column:1/-1; margin-top:20px }
  .footer-social { grid-column:1/-1; margin-top:20px }
  .footer-partner-panel { padding:26px }
}
@media (max-width:600px) {
  .section-kicker { font-size:11px; letter-spacing:.065em }
  .quote-copy > .eyebrow { font-size:11px }
  .section-kicker > span:last-child { display:block; text-align:right; font-size:9px; max-width:42%; line-height:1.5; font-weight:500 }
  .section-kicker > span:first-child { max-width:58%; line-height:1.5 }
  .partner-film { border-radius:18px }
  .partner-film-copy { display:flex; gap:0; padding:28px 24px 20px }
  .partner-film-copy h3 { margin-top:24px; font-size:36px }
  .partner-film-copy > p { margin-top:16px; font-size:13px; max-width:275px }
  .partner-film-names { padding-top:22px; gap:5px 14px }
  .partner-film-media { padding:8px 16px 16px }
  .partner-film-label { font-size:8px; margin-bottom:10px }
  .partner-video-frame { border-radius:10px }
  .partner-video-cover .play-orbit { width:58px; height:58px; box-shadow:0 0 0 7px rgba(35,19,50,.15) }
  .partner-video-cover .video-cover-caption { bottom:10px; left:10px; right:10px; font-size:7px }
  .partner-video-cover .video-cover-caption > .icon { width:24px; height:24px }
  .brand-promoters { grid-template-columns:1fr .85fr 1.1fr; gap:18px }
  .brand-partner { min-height:88px }
  .brand-partner > img { height:70px }
  .brand-adoa > img { height:78px }
  .brand-supporters { margin-top:38px; gap:24px }
  .brand-group { gap:18px }
  .brand-group > p { font-size:15px; text-align:center }
  .brand-group > img { height:65px }
  .brand-hub > img { height:72px }
  .podcast-heading-note > p { font-size:13px }
  .download-card { padding:23px 20px; gap:14px }
  .download-copy > strong { font-size:27px }
  .download-copy > .tiny-label { font-size:8px }
  .download-copy > span:not(.tiny-label):not(.download-action) { font-size:11px }
  .download-action { font-size:11px; margin-top:16px }
  .download-icon { width:40px; height:40px }
  .project-explore { padding:26px; min-height:370px }
  .explore-topline { font-size:8px }
  .explore-title { font-size:50px }
  .explore-description { max-width:210px; font-size:12px }
  .explore-action { font-size:17px; gap:12px }
  .explore-arrow { width:48px; height:48px }
  .contact-section { padding-block:64px; --anchor-inset:64px }
  .contact-copy h2 { font-size:76px }
  .contact-copy > p { font-size:14px; padding-right:30px }
  .contact-curve { right:0; bottom:-18px; width:80px; height:46px }
  .contact-link { gap:12px; padding:24px 0 }
  .contact-link > span > span { font-size:22px }
  .contact-link > .icon { width:22px; height:22px }
  .site-footer { padding-block:42px }
  .footer-identity { grid-template-columns:110px 1fr; column-gap:25px }
  .footer-logo { width:110px }
  .footer-identity > p { font-size:11px }
  .footer-navigation { gap:8px 20px }
  .footer-partner-panel { padding:23px 18px; border-radius:14px }
  .footer-partner-panel .brand-promoters { gap:12px }
  .footer-partner-panel .brand-partner { min-height:65px }
  .footer-partner-panel .brand-partner > img { height:51px }
  .footer-partner-panel .brand-adoa > img { height:62px }
  .footer-partner-panel .brand-supporters { gap:15px; margin-top:26px }
  .footer-partner-panel .brand-group { gap:14px }
  .footer-partner-panel .brand-group > p { font-size:12px }
  .footer-partner-panel .brand-group > img { height:44px }
  .footer-partner-panel .brand-hub > img { height:58px }
}
@media (prefers-reduced-motion:reduce) {
  .keyword-piece,.explore-arrow,.explore-drawing,.contact-link > .icon { transition:none }
  .keyword-piece:hover { transform:rotate(var(--turn)) }
  .project-explore:hover .explore-arrow { transform:none }
  .project-explore:hover .explore-drawing { transform:rotate(12deg) }
}
@media (forced-colors:active) {
  .keyword-piece { border:1px solid CanvasText; box-shadow:none }
  .download-card,.project-explore,.footer-social > a { border:1px solid ButtonText }
}
@media print {
  .partner-film,.keyword-collage { break-inside:avoid }
  .contact-layout,.footer-composition { grid-template-columns:1fr 1fr }
}

body.no-js .project-explore { display:none }
.no-script-projects { margin-top:28px; font-size:14px; line-height:2 }
.no-script-projects a { text-decoration:underline; text-underline-offset:4px }


@media (max-width:1150px) {
  .podcast-heading { flex-wrap:wrap; gap:28px }
  .podcast-title-group { width:100% }
  .podcast-section-logo { width:clamp(400px,58vw,650px); right:14px; top:40% }
  .podcast-heading-note { max-width:none }
}
@media (min-width:851px) and (max-width:1150px) {
  .downloads-layout { grid-template-columns:1.2fr 1fr; gap:22px }
  .explore-title { font-size:44px }
}
@media (max-width:850px) {
  .downloads-layout { grid-template-columns:1fr }
  .project-explore { min-height:390px }
  .explore-title { font-size:54px; margin-top:24px }
  .explore-description { margin-top:14px }
  .explore-drawing { width:290px; right:24px; bottom:64px }
}
@media (max-width:600px) {
  .podcast-section-logo { width:clamp(255px,80vw,450px); top:38%; right:12px; opacity:.13 }
  .podcast-heading h2 { font-size:clamp(44px,12vw,60px) }
  .explore-title { font-size:50px }
  .explore-drawing { width:235px; right:6px; bottom:64px; opacity:.13 }
}
@media (forced-colors:active) {
  .keyword-piece { border:1px solid CanvasText; box-shadow:none }
}

/* Intro-only play treatment: white disc, dark triangle and a neutral halo. */
[data-play-intro] .play-orbit { background:#fff; color:var(--ink); box-shadow:0 0 0 10px rgba(35,19,50,.12) }
[data-play-intro]:hover .play-orbit { box-shadow:0 0 0 14px rgba(35,19,50,.18) }
