:root{--on-accent:#fff;--ink-rgb:27,42,61;--paper-rgb:244,241,236;--copper-rgb:201,124,61;--ink:#1b2a3d;--paper:#f4f1ec;--teal:#789493;--teal-dark:#2b3636;--sand:#d9c7b0;--copper:#c97c3d;--line:rgba(var(--paper-rgb),.2);--font:"Helvetica Neue",Helvetica,Arial,sans-serif;--page-left:clamp(90px,12.6vw,258px);--page-right:clamp(40px,5.6vw,110px);--nav-right:clamp(36px,7vw,140px);--section-right:calc(var(--page-right) + var(--nav-right));--header-logo-full:72px;--header-logo-compact:132px;--header-logo-mobile:40px;--header-logo-box:132px;--header-height-expanded:200px;--header-height-compact:80px;--spa-scrollbar-size:10px;--spa-scrollbar-hover-size:14px;--spa-scrollbar-thumb:#e3e2dd;--spa-scrollbar-hover:#c97c3d;--spa-scrollbar-canvas:#1b2a3d}
*{box-sizing:border-box}
spa-header{display:contents}
spa-footer{display:block}
html{scroll-behavior:auto;background-color:var(--spa-scrollbar-canvas)}
@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--spa-scrollbar-thumb) var(--spa-scrollbar-canvas)}}

/* Keep native scrollbar dragging direct and precise. Only its appearance is
   branded: quiet at rest, clearer in copper while hovering or dragging. */
::-webkit-scrollbar{width:var(--spa-scrollbar-hover-size);height:var(--spa-scrollbar-hover-size);background:var(--spa-scrollbar-canvas)}
::-webkit-scrollbar-track,::-webkit-scrollbar-track-piece{background:var(--spa-scrollbar-canvas);box-shadow:none}
::-webkit-scrollbar-thumb{box-sizing:border-box;min-height:48px;border-style:solid;border-color:transparent;border-top-width:0;border-bottom-width:0;border-left-width:calc((var(--spa-scrollbar-hover-size) - var(--spa-scrollbar-size)) * .5);border-right-width:calc((var(--spa-scrollbar-hover-size) - var(--spa-scrollbar-size)) * .5);border-radius:999px;background-color:var(--spa-scrollbar-thumb);background-clip:padding-box;transition:border-width .16s ease,background-color .16s ease}
::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{border-left-width:0;border-right-width:0;background-color:var(--spa-scrollbar-hover);background-clip:padding-box}
::-webkit-scrollbar-corner{background:var(--spa-scrollbar-canvas)}
body{margin:0;padding:0 var(--page-right) 0 var(--page-left);background:var(--ink);color:var(--paper);font-family:var(--font);font-weight:400;letter-spacing:.018em}
.smooth-content{position:relative;width:100%}
/* ScrollSmoother gives its content element an inline 100% width. Recreate the
   original body gutters with padding on that same element so the inline width
   can never push the layout past the right edge. */
body.spa-smooth-active .smooth-content{padding:var(--header-height-expanded) var(--page-right) 0 var(--page-left)}
.header-at-top::before{content:"";position:fixed;z-index:10;top:0;left:0;width:100%;height:var(--header-height-expanded);background:var(--ink)}
.header-is-scrolled::before{content:"";position:fixed;z-index:10;top:0;left:0;width:100%;height:var(--header-height-compact);background:var(--paper);box-shadow:0 1px 10px rgba(var(--ink-rgb),.08)}
.skip-link{position:fixed;z-index:10;top:8px;left:8px;transform:translateY(-140%);padding:12px;background:var(--paper);color:var(--ink)}
.skip-link:focus{transform:translateY(0)}
a{color:inherit;text-decoration:none}
.site-header{min-height:var(--header-height-expanded);margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding-left:var(--page-left);padding-right:var(--page-right);display:grid;grid-template-columns:410px 1fr;align-items:stretch;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;isolation:isolate;background:var(--ink);transition:min-height .3s ease,background-color .3s ease,color .3s ease,box-shadow .3s ease}
.brand{display:block;align-self:center;margin-left:0;width:82px;filter:invert(1)}
.site-header>.brand{width:var(--header-logo-full)}
.brand img{display:block;width:100%;height:auto}
.brand-compact{display:none!important}
.brand-mark{display:flex;gap:6px;align-items:flex-start}
.brand-mark i{display:block;width:17px;height:64px;background:var(--paper)}
.brand-name{font-size:30px;line-height:.82;font-weight:800;letter-spacing:-1.3px}
.brand-name em{display:block;margin-top:5px;border-top:2px solid var(--paper);font-style:normal;font-size:16px;letter-spacing:-.7px}
.header-main{display:grid;grid-template-rows:1fr;align-items:center;padding:0;min-width:0}
.header-top{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;padding-right:clamp(36px,7vw,140px)}
.notice{--notice-gap:clamp(32px,3vw,56px);display:grid;grid-template-columns:7px minmax(0,1fr);column-gap:22px;width:100%;max-width:100%;min-width:0;margin:0;align-items:center;overflow:hidden;font-size:12px;font-weight:300;letter-spacing:.04em;white-space:nowrap;transform:translateX(-16px)}
.notice-accent{display:block;width:7px;height:24px;background:var(--copper)}
.notice-viewport{position:relative;display:block;width:100%;max-width:100%;min-width:0;overflow:hidden}
.notice-track{display:flex;width:max-content;will-change:transform;animation:notice-marquee 20s linear infinite;animation-play-state:running}
.notice-item{display:block;flex:0 0 auto;padding-right:var(--notice-gap)}
@keyframes notice-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.header-search{display:flex;align-items:center;gap:8px;width:330px;padding:0 0 8px;border-bottom:1px solid #657170;color:#657170}
.header-search span{font-size:17px;line-height:1}
.header-search input{width:100%;border:0;outline:0;background:transparent;color:var(--paper);font:inherit;font-size:13px;font-weight:400}
.header-search input::placeholder{color:#657170;opacity:1}
.desktop-nav{display:flex;align-self:center;justify-content:space-between;gap:18px;padding-right:var(--nav-right);white-space:nowrap;overflow:visible}
.desktop-nav a{font-size:15px;font-weight:400;line-height:26px;letter-spacing:.025em;text-decoration-thickness:1px;text-underline-offset:4px;transition:opacity .3s}
.desktop-nav>a:first-child{transform:translateX(-16px)}
.desktop-nav>a,.desktop-nav .nav-trigger{position:relative;text-decoration:none}
/* The language control keeps this row taller than the text's line box.
   Center direct labels just like Association, without shrinking menu anchors. */
.desktop-nav>a{display:flex;align-items:center}
.desktop-nav>a::after,.desktop-nav .nav-trigger::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
/* Direct links fill the nav row; Association already hugs its text line.
   Match that line's bottom without moving labels, hit areas or menu anchors. */
.desktop-nav>a::after{bottom:calc((100% - 1.25em) / 2);bottom:calc((100% - 1lh) / 2)}
.desktop-nav>a:hover,.desktop-nav>a:focus-visible,.desktop-nav .nav-trigger:hover,.desktop-nav .nav-trigger:focus-visible{text-decoration:none}
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after,.desktop-nav .nav-trigger:hover::after,.desktop-nav .nav-trigger:focus-visible::after,.about-group:hover .nav-trigger::after,.about-group:focus-within .nav-trigger::after,.about-group.is-open .nav-trigger::after{transform:scaleX(1)}
.nav-group{position:relative;z-index:2;display:flex;align-items:center;gap:12px}
.nav-toggle{display:grid;gap:3px;width:18px;padding:0;border:0;background:transparent;color:currentColor;cursor:pointer}
.nav-toggle i{display:block;width:11px;height:1px;background:currentColor;transition:background-color .2s ease}
.site-header::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--ink) 0 425px,rgba(225,226,224,.68) 425px 100%);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}
.site-header:has(.about-group:hover)::after,.site-header:has(.about-group.is-open)::after{opacity:1;visibility:visible}
.site-header:has(.about-group:hover) .header-top,.site-header:has(.about-group.is-open) .header-top,.site-header:has(.about-group:hover) .desktop-nav>a,.site-header:has(.about-group.is-open) .desktop-nav>a{opacity:.35}
.about-panel{position:absolute;z-index:3;top:calc(100% + 58px);left:0;display:grid;width:270px;padding:0;background:transparent;color:var(--paper);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.about-panel a{display:flex;align-items:center;gap:16px;padding:6px 0;font-size:16px;line-height:1.34;letter-spacing:.02em;font-weight:400;text-decoration:none}
.about-panel a span{display:block;width:26px;height:16px;flex:0 0 26px;font-size:0;color:#5c6362;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 16'%3E%3Cpath d='M1,8H23M17,2L23,8L17,14' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/26px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 16'%3E%3Cpath d='M1,8H23M17,2L23,8L17,14' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E") center/26px 16px no-repeat;transition:transform .2s,color .2s}
.about-panel a span::before,.about-panel a span::after{content:none}
.about-panel a:hover,.about-panel a:focus-visible{text-decoration:none}
.about-panel a:hover span,.about-panel a:focus-visible span{color:var(--copper);transform:translateX(5px)}
.about-group:hover .about-panel,.about-group:focus-within .about-panel,.about-group.is-open .about-panel{opacity:1;visibility:visible;transform:translateY(0)}
.about-group:hover .nav-trigger,.about-group:focus-within .nav-trigger,.about-group.is-open .nav-trigger{text-decoration:none}
.about-group:hover .nav-toggle i,.about-group:focus-within .nav-toggle i,.about-group.is-open .nav-toggle i{background:var(--copper)}
.site-header:not(.is-scrolled) .brand{transform:scale(1);transform-origin:left center}
.site-header.is-scrolled{min-height:var(--header-height-compact);background:var(--paper);color:var(--ink);border-bottom-color:rgba(var(--ink-rgb),.15)}
.site-header.is-scrolled .brand{width:var(--header-logo-mobile);transform:none;filter:none}
.site-header.is-scrolled .header-main{display:grid;grid-template-rows:1fr;padding:0}
.site-header.is-scrolled .header-top{display:none}
.site-header.is-scrolled .desktop-nav{align-self:center;width:100%}
.site-header.is-scrolled .brand-mark i{background:var(--ink)}
.site-header.is-scrolled .brand-name em{border-top-color:var(--ink)}
.site-header.is-scrolled::after{background:linear-gradient(to bottom,var(--paper) 0 245px,rgba(225,226,224,.68) 245px 100%)}
.site-header.is-scrolled .about-panel{top:calc(100% + 28px)}
.site-header.is-scrolled .about-panel{color:var(--ink)}
.site-header.is-scrolled .about-panel a span{color:#dedfdd}
.site-header.is-scrolled .about-panel a:hover span,.site-header.is-scrolled .about-panel a:focus-visible span{color:var(--copper)}
.menu-toggle,.mobile-menu{display:none}
.hero{min-height:720px;margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(var(--ink-rgb),.78),rgba(var(--ink-rgb),.42) 54%,rgba(var(--ink-rgb),.52))}
.hero-copy{position:relative;z-index:2;min-height:720px;padding:66px var(--section-right) 28px var(--page-left);display:grid;grid-template-rows:1fr auto}
.eyebrow{margin:0 0 48px;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;color:#bfc7c7}
.hero h1{margin:0}
.hero-heading{margin-top:38px}
.hero-line{display:block;font-size:clamp(50px,4.6vw,90px);font-weight:400;letter-spacing:-.012em;line-height:.96}
.hero-line+.hero-line{margin-top:10px}
.hero-word{color:rgba(var(--paper-rgb),.28);transition:color .18s cubic-bezier(.25,.1,.25,1);white-space:nowrap}
.hero-word.is-flashing{color:var(--copper)}
.hero-word.is-lit{color:var(--paper)}
.hero-image{position:absolute;z-index:0;inset:0;background:url('../images/hero-welding-loop.gif') center 58%/cover no-repeat}
.hero-bottom{display:grid;grid-template-columns:1fr minmax(280px,360px);gap:48px;align-items:end;border-top:1px solid rgba(var(--paper-rgb),.28);padding-top:20px;margin-bottom:34px}
.hero .eyebrow,.hero .hero-bottom{opacity:0;transform:translate3d(0,18px,0);transition:opacity .45s ease,transform .52s cubic-bezier(.2,0,0,1)}
.hero.hero-copy-visible .eyebrow,.hero.hero-copy-visible .hero-bottom{opacity:1;transform:translate3d(0,0,0)}
.hero.hero-copy-visible .hero-bottom{transition-delay:.1s}
.scroll-prompt{position:absolute;z-index:3;bottom:62px;left:var(--page-left);margin:0;font-size:12px;font-weight:500;letter-spacing:.1px;animation:scroll-cue-breathe 1.55s ease-in-out infinite}
.hero.hero-intro-started .scroll-prompt{animation:none;opacity:1}
@keyframes scroll-cue-breathe{0%,100%{opacity:.38}50%{opacity:1}}
.hero-action{grid-column:2;justify-self:end;max-width:360px}
.hero-action p{margin:0 0 16px;font-size:12px;line-height:1.5;color:#e0e1df}
.hero-cta.hero-membership-link{min-width:0;margin-left:0;gap:32px;text-transform:uppercase}
.latest-update{margin:24px 0 0;font-size:17px;line-height:1.6}
.latest-update a{text-decoration:underline;text-underline-offset:4px}
.contact-intro .wpd-programme-note{margin-top:20px;font-size:14px;line-height:1.55}
/* A clear enquiry action, followed by two quiet, aligned resource rows. */
.wpd-actions{--wpd-foreground:var(--ink);--wpd-rule:rgba(var(--ink-rgb),.18);--wpd-muted:rgba(var(--ink-rgb),.7);display:grid;gap:22px;margin-top:20px;min-width:0;color:var(--wpd-foreground)}
.wpd-actions a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0;min-height:48px;margin:0;font-size:16px;font-weight:400;letter-spacing:0;line-height:1.45;text-decoration:none;overflow-wrap:anywhere}
.wpd-actions a>span[aria-hidden]{flex:none;font-size:21px;line-height:1;transition:transform .2s ease}
.wpd-actions .wpd-enquiry-link{padding:15px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);transition:border-color .2s ease,box-shadow .2s ease}
.wpd-actions .wpd-enquiry-link:hover{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper)}
.wpd-actions .wpd-enquiry-link:hover>span{transform:translateX(3px)}
.wpd-resources{border-top:1px solid var(--wpd-rule)}
.wpd-actions .wpd-website-link,.wpd-actions .wpd-poster-link{padding:16px 0;color:var(--wpd-foreground);background:transparent;border:0}
.wpd-website-note{display:block;margin:0;padding:0 30px 18px 0;color:var(--wpd-muted);font-size:14px;line-height:1.55;letter-spacing:0}
.wpd-actions .wpd-poster-link{border-top:1px solid var(--wpd-rule);border-bottom:1px solid var(--wpd-rule)}
.wpd-actions :is(.wpd-website-link,.wpd-poster-link):hover>span{transform:translateX(3px)}
.wpd-actions a:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
.contact-stage.is-dark .wpd-actions{--wpd-foreground:var(--paper);--wpd-rule:rgba(var(--paper-rgb),.24);--wpd-muted:rgba(var(--paper-rgb),.75)}
.contact-stage.is-dark .wpd-enquiry-link{border-color:rgba(var(--paper-rgb),.55)}
@media(max-width:600px){.wpd-actions{gap:20px}.wpd-actions .wpd-enquiry-link{padding:14px 16px}.wpd-website-note{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.wpd-actions a,.wpd-actions a>span[aria-hidden]{transition:none}.wpd-actions a:hover>span{transform:none}}
.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:180px;padding:12px 15px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:500;transition:background-color .2s,transform .2s}
.hero-cta:hover{background:#d8dddb;transform:translateY(-2px)}
.section-heading h2{font-size:clamp(48px,3.5vw,68px);font-weight:400;letter-spacing:-.02em;line-height:1.03;margin:0}
/* A quiet, centered introduction leading into the photographic story. */
.intro{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:clamp(88px,8vw,140px) var(--section-right) 48px var(--page-left);background:var(--paper);color:var(--ink)}
.intro-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.intro-statement{min-width:0;width:100%;max-width:820px;margin:0 auto;text-align:center}
.intro-kicker{display:flex;justify-content:center;align-items:baseline;gap:10px;margin:0 0 24px;font-size:.875rem;line-height:1.6;letter-spacing:.04em;text-transform:uppercase}
.intro-kicker span{color:rgba(var(--ink-rgb),.65)}
.intro h2.intro-title{margin:0;color:rgba(var(--ink-rgb),.72);font-size:clamp(2rem,3.2vw,3rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word}
.intro-emphasis{color:var(--ink)}
.intro-title .intro-colour-word{color:rgba(var(--ink-rgb),.45)}
.intro-title.is-intro-colour-playing .intro-colour-word{animation:intro-colour-flow 480ms cubic-bezier(.4,0,.2,1) var(--intro-colour-delay,180ms) both}
.intro h2.intro-title.is-intro-colour-complete,.intro-title.is-intro-colour-complete .intro-emphasis,.intro-title.is-intro-colour-complete .intro-colour-word{color:var(--ink);animation:none}
@keyframes intro-colour-flow{0%{color:rgba(var(--ink-rgb),.45)}42%{color:var(--copper)}100%{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.intro-title .intro-colour-word{animation:none!important;color:var(--ink)}}
.intro-actions{margin-top:32px;text-align:center}
.intro-action{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:180px;max-width:100%;margin-top:0;padding:12px 15px;border:1px solid currentColor;border-radius:0;background:transparent;color:var(--ink);font-size:14px;line-height:1.4;letter-spacing:.02em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.intro-action-label{display:inline}
.intro-action-arrow{display:inline-block;flex:0 0 auto;color:inherit;font-size:18px;line-height:1;transition:transform .2s ease}
.intro-action:hover,.intro-action:focus-visible{border-color:var(--copper);transform:translateY(-2px)}
.intro-action:hover .intro-action-arrow,.intro-action:focus-visible .intro-action-arrow{transform:translateX(5px)}
.intro-action:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){
  .intro.is-intro-visible .intro-statement{animation:intro-arrive .6s ease both}
}
@keyframes intro-arrive{from{opacity:.65;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.text-link{display:inline-flex;align-items:center;gap:22px;margin-top:25px;font-size:18px;border-bottom:1px solid var(--paper);padding-bottom:7px}
.text-link span{font-size:27px}
/* Reference layout: split introduction above two photographic panels. */
.industry-exchange{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:32px var(--section-right) 80px var(--page-left);background:var(--paper);color:var(--ink)}
.exchange-layout{width:100%;max-width:1440px;margin:0 auto;--exchange-gap:clamp(16px,2vw,32px)}
.exchange-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--exchange-gap);align-items:start;min-width:0;margin:0 0 36px;text-align:left}
.exchange-heading{min-width:0}
.exchange-eyebrow{margin:0 0 16px;color:rgba(var(--ink-rgb),.72);font-size:.875rem;line-height:1.6;letter-spacing:.04em}
.exchange-heading h2{max-width:17ch;margin:0;color:var(--ink);font-size:clamp(2rem,3.1vw,3rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;overflow-wrap:break-word;text-wrap:balance}
.exchange-copy{min-width:0;margin-top:calc(.875rem * 1.6 + 16px)}
.exchange-description{min-width:0;max-width:44ch;margin:0;color:rgba(var(--ink-rgb),.76);font-size:1rem;line-height:1.65}
@media(min-width:901px){
  .exchange-intro{grid-template-columns:minmax(0,var(--exchange-copy-left,calc((100% + var(--exchange-gap)) / 2))) minmax(0,1fr);column-gap:0}
  .exchange-heading{padding-right:var(--exchange-gap)}
}
.exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--exchange-gap);min-width:0;width:100%}
.exchange-photo{display:grid;grid-template-columns:minmax(0,1fr);position:relative;isolation:isolate;min-width:0;margin:0;background:var(--ink)}
.exchange-image{grid-area:1/1;position:relative;width:100%;min-height:100%;aspect-ratio:7/6;overflow:hidden;border-radius:0;background:var(--ink)}
.exchange-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.exchange-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,29,0) 20%,rgba(8,18,29,.32) 55%,rgba(8,18,29,.9) 100%);pointer-events:none}
/* Shared grid cell keeps copy inside the image but lets larger text grow the panel. */
.exchange-photo figcaption{grid-area:1/1;align-self:end;position:relative;z-index:1;min-width:0;margin:0;padding:clamp(20px,2.5vw,40px);text-align:left;color:#fff}
.exchange-photo h3{max-width:22ch;margin:0 0 10px;color:#fff;font-size:clamp(1.5rem,2.25vw,2.25rem);font-weight:400;line-height:1.18;letter-spacing:-.02em;overflow-wrap:break-word;text-wrap:balance}
.exchange-photo figcaption p{margin:0;color:rgba(255,255,255,.9);font-size:.875rem;line-height:1.6}
.exchange-footer{margin-top:20px;text-align:left}
/* Underline the whole control, not separately sized text and arrow glyphs. */
.exchange-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;max-width:100%;padding:6px 0;border-bottom:1px solid currentColor;color:var(--ink);font-size:1rem;line-height:1.5;text-decoration:none}
.exchange-link span{flex:0 0 auto;font-size:1.25rem;line-height:1}
.exchange-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:900px){
  .industry-exchange{margin:0;padding:24px 24px 64px}
}
@media(max-width:760px){
  .exchange-intro{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:28px}
  .exchange-copy{margin-top:0}
  .exchange-description{max-width:48ch}
  .exchange-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .exchange-photo figcaption{padding:24px}
}
.awards{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:0 var(--section-right) 0 var(--page-left);background:var(--paper);color:var(--ink)}
.awards-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(36px,4.5vw,80px);align-items:start;max-width:1440px;margin:0 auto;padding-top:0;padding-bottom:24px}
.awards+.awards{padding-top:0;padding-bottom:64px}
.awards-figure{min-width:0;width:100%;margin:0}
.awards-image{width:100%;aspect-ratio:10/11;overflow:hidden;background:rgba(var(--ink-rgb),.06)}
.awards-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 45%}
.awards-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-content:start;min-width:0;padding:12px 0 32px}
.awards-heading,.awards-detail{min-width:0}
.awards-eyebrow{display:block;margin:0 0 clamp(36px,4vw,64px);color:rgba(var(--ink-rgb),.72);font-size:.875rem;line-height:1.6;letter-spacing:.04em;text-transform:uppercase}
.awards.is-title-revealed .awards-eyebrow{opacity:1;transform:none}
.awards-copy h2{max-width:13ch;margin:0;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;letter-spacing:-.025em;line-height:1.12;overflow-wrap:break-word}
.awards-detail>p{max-width:44ch;margin:0;font-size:1.125rem;line-height:1.65;letter-spacing:0;color:rgba(var(--ink-rgb),.76)}
.awards-info{display:block;max-width:100%;margin:14px 0 0;font-size:.875rem;font-weight:400;line-height:1.55;letter-spacing:0;color:rgba(var(--ink-rgb),.72)}
.awards-links{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:0;margin:28px 0 0}
.awards-links a{position:relative;min-width:0;display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid currentColor;font-size:1rem;font-weight:400;letter-spacing:0;line-height:1.45;text-transform:none;overflow-wrap:anywhere;text-decoration:none;transition:background-color .22s ease,color .22s ease}
.awards-links a>span[aria-hidden]{flex:0 0 auto;font-size:1.375rem;line-height:1;transition:transform .22s ease}
.awards-links a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.awards-links a:hover>span[aria-hidden],.awards-links a:focus-visible>span[aria-hidden]{transform:translateX(3px)}
.awards-copy h2,.awards-image,.awards-detail>p,.awards-info,.awards-links a{opacity:1;transform:none;transition:opacity .55s ease,transform .65s cubic-bezier(.2,0,0,1),background-color .22s ease,color .22s ease}
.awards.is-reveal-ready :where(.awards-image,.awards-eyebrow,.awards-copy h2,.awards-detail>p,.awards-info,.awards-links a){opacity:0;transform:translate3d(0,16px,0)}
.awards.is-title-revealed .awards-copy h2{opacity:1;transform:translate3d(0,0,0)}
.awards.is-image-revealed .awards-image{opacity:1;transform:translate3d(0,0,0)}
.awards.is-content-revealed .awards-detail>p{opacity:1;transform:translate3d(0,0,0)}
.awards.is-info-revealed .awards-info{opacity:1;transform:translate3d(0,0,0)}
.awards.is-link-one-revealed .awards-links a:nth-child(1),.awards.is-link-two-revealed .awards-links a:nth-child(2),.awards.is-link-three-revealed .awards-links a:nth-child(3){opacity:1;transform:translate3d(0,0,0)}
.awards.is-reveal-ready .awards-links a:focus-visible{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.awards-eyebrow,.awards-copy h2,.awards-image,.awards-detail>p,.awards-info,.awards-links a{opacity:1;transform:none;transition:none}.awards-links a>span[aria-hidden]{transition:none}}
/* WPD: oversized backdrop, portrait poster, then centered event information. */
.contact-stage{position:relative;margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:88px 24px 96px;background:var(--paper);color:var(--ink)}
.contact-sticky{position:relative;width:100%}
.contact-copy{position:relative;z-index:0;width:100%;text-align:center}
.wpd-heading{width:min(100%,1280px);margin:0 auto}
.wpd-eyebrow{margin:0 0 24px;color:rgba(var(--ink-rgb),.74);font-size:.875rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.contact-copy h2.wpd-title{margin:0 auto;font-size:clamp(64px,8.2vw,156px);font-weight:400;letter-spacing:-.055em;line-height:.96;text-align:center;color:rgba(var(--ink-rgb),.56)}
.contact-copy h2.wpd-title>span{display:block}
.contact-copy h2.wpd-title>span:first-child>.wpd-word:first-child{display:block}
.wpd-word{color:inherit}
.wpd-foreground{position:relative;z-index:1;display:flow-root;width:min(100%,680px);margin:48px auto 0}
.contact-sheet{position:relative;width:clamp(260px,25vw,420px);max-width:100%;aspect-ratio:1415 / 2000;margin:0 auto;overflow:hidden;background:var(--paper);box-shadow:0 12px 36px rgba(var(--ink-rgb),.12)}
.contact-sheet img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.contact-intro{position:relative;width:100%;max-width:640px;margin:40px auto 0;text-align:center}
.contact-intro p{margin:0;color:rgba(var(--ink-rgb),.78);font-size:1.125rem;line-height:1.65}
.contact-intro p:first-child{margin-bottom:20px;color:var(--ink);font-size:clamp(1.375rem,2vw,1.75rem);font-weight:400}
.contact-intro>.wpd-actions{width:min(100%,360px);margin:28px auto 0;text-align:left}
/* JS opts into the pinned sequence only where all copy fits comfortably. */
.contact-stage.is-wpd-scene{height:var(--wpd-scene-height);padding:0}
.contact-stage.is-wpd-scene .contact-sticky{position:absolute;inset:0 0 auto;height:var(--wpd-viewport);overflow:hidden;transform:translate3d(0,var(--wpd-pin-y,0px),0);will-change:transform}
.contact-stage.is-wpd-scene .contact-copy{position:absolute;inset:0 24px auto;width:auto;padding-top:var(--wpd-heading-top);opacity:var(--wpd-title-opacity,1);will-change:opacity}
.contact-stage.is-wpd-scene .wpd-foreground{position:absolute;top:0;left:24px;right:24px;width:auto;max-width:680px;margin:0 auto;transform:translate3d(0,var(--wpd-story-y,70vh),0);will-change:transform}
.contact-stage.is-wpd-scene .contact-intro{opacity:var(--wpd-copy-opacity,0)}
.contact-stage.is-wpd-scene.is-wpd-copy-hidden .contact-intro{pointer-events:none}
.contact-stage.is-wpd-scene:focus-within .contact-intro{pointer-events:auto}
@media(max-width:900px){
  .contact-stage{margin:0;padding:72px 24px 80px}
  .contact-copy h2.wpd-title{font-size:clamp(40px,9.2vw,80px)}
  .wpd-eyebrow{margin-bottom:20px}
  .wpd-foreground{margin-top:36px}
  .contact-sheet{width:min(76vw,360px)}
  .contact-intro{margin-top:32px}
  .contact-intro p{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){
  .contact-copy h2.wpd-title{color:var(--ink)}
}
.resources{padding:180px 60px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end}
.section-heading .text-link{margin-bottom:10px}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:80px}
.resource-card{min-height:390px;padding:28px;display:flex;flex-direction:column;position:relative}
.resource-card span{font-size:15px}
.resource-card h3{font-size:clamp(32px,3.4vw,56px);line-height:.94;letter-spacing:-.04em;font-weight:400;margin:auto 0 0}
.resource-card a{position:absolute;right:25px;top:20px;font-size:34px}
.card-teal{background:var(--teal);color:var(--ink)}
.card-sand{background:var(--sand);color:var(--ink)}
.card-copper{background:var(--copper);color:var(--on-accent)}
.news{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:54px var(--section-right) 172px;padding-left:var(--page-left);background:var(--ink);color:var(--paper)}
.news-heading{display:flex;align-items:center;justify-content:space-between;gap:35px}
.news-heading h2{margin:0;font-size:clamp(45px,3.5vw,68px);font-weight:400;letter-spacing:-.04em;line-height:1}
.all-news-link{display:flex;align-items:center;gap:37px;margin-right:clamp(0px,2.7vw,54px);font-size:17px;font-weight:500}
.all-news-link span{display:block;width:54px;height:86px;background:#3c4442;transition:background-color .2s}
.all-news-link:hover span{background:var(--teal)}
.news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4.1vw,80px);margin-top:63px}
.news-card{min-width:0}
.news-image{width:100%;aspect-ratio:1.2/1;background-size:cover;background-position:center;overflow:hidden}
.image-one{background-image:linear-gradient(90deg,rgba(var(--ink-rgb),.08),rgba(var(--ink-rgb),.08)),repeating-linear-gradient(0deg,#ad663f 0 9px,#c88255 9px 11px,#9b522f 11px 18px);background-size:auto,100% 42px}
.image-two{background-image:linear-gradient(90deg,rgba(9,12,11,.17),rgba(9,12,11,.02)),linear-gradient(135deg,#273636 0 30%,#a9b49d 30% 53%,#c5b192 53% 100%);position:relative}
.image-two:after{content:"";position:absolute;top:0;bottom:0;left:36%;width:15%;background:repeating-linear-gradient(90deg,#725844 0 5px,#d9c9ab 5px 8px)}
.image-three{background:#1d2020;position:relative}
.image-three:before{content:"";position:absolute;inset:18% 18%;border:19px solid #d5b46b;border-radius:50%;box-shadow:58px 0 0 -10px #d5b46b}
.image-three:after{content:"";position:absolute;top:0;right:0;width:68%;height:47%;background:linear-gradient(135deg,#c8d2ce,#708b8d);clip-path:polygon(45% 0,100% 0,100% 100%,0 100%)}
.image-four{background:linear-gradient(135deg,#b42d43 0 72%,#83283a 72%);position:relative}
.image-four:before{content:"";position:absolute;inset:13% 9%;border:5px solid #e6c775}
.image-four:after{content:"";position:absolute;right:-16%;bottom:-43%;width:85%;height:85%;border:3px solid rgba(230,199,117,.25);transform:rotate(45deg)}
.news-card h3{max-width:100%;margin:42px 0 0;font-size:clamp(22px,1.6vw,31px);line-height:1.2;letter-spacing:-.01em;font-weight:400}
.news-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.whatsapp-cta{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:clamp(90px,10vw,160px) var(--section-right) clamp(100px,11vw,180px);padding-left:var(--page-left);background:var(--ink);color:var(--paper)}
.whatsapp-cta-inner{display:flex;max-width:900px;margin:0 auto;flex-direction:column;align-items:center;text-align:center}
.whatsapp-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:29px;color:#9aacab;font-size:42px;font-weight:300;line-height:1;opacity:0;transform:translate3d(0,12px,0);transition:opacity .4s ease,transform .45s cubic-bezier(.2,0,0,1)}
.whatsapp-cta h2{margin:0;font-size:clamp(44px,5.2vw,90px);font-weight:400;letter-spacing:-.045em;line-height:.98}
.whatsapp-word{color:rgba(var(--paper-rgb),.27);transition:color .2s cubic-bezier(.25,.1,.25,1)}
.whatsapp-word.is-flashing{color:var(--copper)}
.whatsapp-word.is-lit{color:var(--paper)}
.whatsapp-cta p{max-width:740px;margin:34px 0 0;color:#bec3c1;font-size:clamp(16px,1.2vw,20px);font-weight:200;letter-spacing:.008em;line-height:1.48;opacity:0;transform:translate3d(0,14px,0);transition:opacity .45s ease,transform .5s cubic-bezier(.2,0,0,1)}
.whatsapp-button{display:inline-flex;align-items:center;gap:11px;margin-top:43px;padding:17px 23px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:500!important;letter-spacing:.01em;opacity:0;transform:translate3d(0,14px,0);transition:background-color .2s,color .2s,transform .45s cubic-bezier(.2,0,0,1),opacity .4s ease}
.whatsapp-cta.is-mark-visible .whatsapp-mark,.whatsapp-cta.is-copy-visible p,.whatsapp-cta.is-button-visible .whatsapp-button{opacity:1;transform:translate3d(0,0,0)}
.whatsapp-button svg{width:20px;height:20px;flex:0 0 20px;fill:currentColor}
.whatsapp-button .whatsapp-arrow{width:0;overflow:hidden;font-size:23px;line-height:.7;opacity:0;transform:translateX(-8px);transition:width .2s,opacity .2s,transform .2s}
.whatsapp-button:hover{background:var(--teal);transform:translateY(-2px)}
.whatsapp-cta.is-button-visible .whatsapp-button:hover{transform:translateY(-2px)}
.whatsapp-button:hover .whatsapp-arrow{width:20px;opacity:1;transform:translateX(0)}
footer{margin-left:calc(var(--page-left) * -1);margin-right:calc(var(--page-right) * -1);padding:0 var(--section-right) 40px;padding-left:var(--page-left);background:var(--ink);color:var(--paper)}
.footer-main{--footer-identity-gap:clamp(40px,4.2vw,82px);display:grid;grid-template-columns:minmax(0,calc(82px + var(--footer-identity-gap) + var(--spa-footer-text-width,320px))) minmax(0,1fr) auto;gap:clamp(30px,3vw,58px);min-height:440px;padding:64px 0 30px;border-top:1px solid rgba(var(--paper-rgb),.35)}
.footer-identity{display:flex;align-items:flex-start;min-width:0;gap:var(--footer-identity-gap)}
.footer-identity .brand{flex:0 0 auto;align-self:flex-start;margin:0;transform:scale(.82);transform-origin:left top}
.footer-address{width:var(--spa-footer-text-width,320px);max-width:100%;min-width:0;overflow-wrap:anywhere;color:#878a88;font-size:15px;line-height:1.48}
.footer-address p{margin:0 0 27px}
.footer-address>a{display:block;margin-bottom:25px;color:#878a88;text-decoration:none;transition:color .2s}
.footer-address>a:hover,.footer-legal a:hover{color:var(--paper)}
.social-links{display:flex;align-items:center;gap:15px;margin-top:56px;color:#a7aaa8;font-size:20px;font-weight:700;line-height:1}
.social-links a{transition:color .2s}
.social-links a:hover{color:var(--paper)}
.social-links a:nth-child(3){font-size:16px}.social-links a:nth-child(4){font-size:24px}.social-links a:nth-child(5){font-size:14px}
.social-links span{display:grid;place-items:center;width:26px;height:26px;color:#6c716f}
.footer-legal{margin-top:39px!important;font-size:13px;line-height:2!important;color:#676b69}
.footer-legal a{text-decoration:none}
.footer-nav{display:grid;min-width:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:34px;align-content:start;font-size:15px;line-height:1.43}
.footer-nav>div{display:grid;min-width:0;overflow-wrap:anywhere;align-content:start;gap:2px}
.footer-nav a{color:#898c8a;transition:color .2s}
.footer-nav a:hover{color:var(--paper)}
.footer-nav .footer-nav-title{margin-bottom:7px;color:var(--paper);font-size:17px}
.footer-contact{align-self:start;display:grid;place-items:center;width:131px;height:58px;background:#778787;color:var(--paper);font-size:17px;font-weight:500;transition:background-color .2s,transform .2s}
.footer-contact:hover{background:var(--teal);transform:translateY(-2px)}
main h1,main h2,main h3{font-weight:400!important}
main p,main a{font-weight:400}
.intro-more a{font-weight:600!important}

/* Interior pages use the same compositor-only scrolling canvas as Home. */
body.spa-smooth-active{overflow-x:hidden;overscroll-behavior:none}
.spa-smooth-wrapper{z-index:0}
.page-smooth-content{position:relative;z-index:0;width:100%}
.interior-page.spa-smooth-active .page-smooth-content{padding:var(--header-height-expanded) var(--page-right) 0 var(--page-left)}
.legal-page.spa-smooth-active .page-smooth-content{padding-top:var(--header-height-expanded)}

@media(min-width:901px){
  .site-header.is-scrolled>.brand{width:var(--header-logo-compact);height:auto}
  .site-header.is-scrolled>.brand .brand-full{display:none}
  .site-header.is-scrolled>.brand .brand-compact{display:block!important;width:var(--header-logo-compact);height:auto}
}

@media(max-width:1400px) and (min-width:901px){:root{--nav-right:36px}.site-header{grid-template-columns:330px minmax(0,1fr)}.header-top{grid-template-columns:minmax(0,1fr);padding-right:36px}.header-search{width:190px}.notice{font-size:12px}.desktop-nav{min-width:0;gap:12px;padding-right:36px}.desktop-nav a{font-size:13px}.nav-group{gap:8px}}

@media(max-width:1100px){.site-header{grid-template-columns:300px 1fr}.desktop-nav{gap:18px}.desktop-nav a{font-size:14px}.header-top{grid-template-columns:minmax(0,1fr)}.header-search{width:230px}.notice{font-size:14px}}

@media(max-width:1400px) and (min-width:901px){.footer-main{grid-template-columns:minmax(0,1fr) auto}.footer-identity{grid-column:1/-1}.footer-contact{justify-self:end}.footer-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(max-width:900px){.site-header{grid-template-columns:1fr;min-height:96px;margin:0;padding:0 24px}
.site-header.is-scrolled{min-height:72px}
.header-at-top::before{height:96px}
.header-is-scrolled::before{height:72px}
.site-header.is-scrolled .menu-toggle{color:var(--ink)}
.site-header.is-scrolled .menu-toggle b{background:var(--ink)}
.site-header.is-scrolled .brand{width:35px}
body{padding:0}
.smooth-content{width:100%}
body.spa-smooth-active .smooth-content{padding:96px 0 0}
.interior-page .page-smooth-content,.legal-page .page-smooth-content{width:100%}
.interior-page.spa-smooth-active .page-smooth-content,.legal-page.spa-smooth-active .page-smooth-content{padding:96px 0 0}
.brand{margin-left:0;width:var(--header-logo-mobile)}
.brand-mark i{width:8px;height:31px}
.brand-name{font-size:16px}
.brand-name em{font-size:9px}
.header-main{display:none}
.menu-toggle{display:flex;position:absolute;right:24px;top:32px;gap:7px;align-items:center;border:0;background:none;color:var(--paper);font:inherit;text-transform:uppercase;font-size:11px;letter-spacing:1px}
.menu-toggle b{display:block;width:18px;height:1px;background:var(--paper)}
.menu-toggle b:last-child{margin-left:-23px;transform:translateY(5px)}
.mobile-menu{position:absolute;top:96px;left:0;right:0;background:var(--ink);padding:0 24px;max-height:0;overflow:hidden;display:grid;transition:max-height .35s;border-bottom:1px solid var(--line)}
.mobile-menu.open{max-height:430px;padding:20px 24px}
.mobile-menu a{padding:15px 0;font-size:25px;border-bottom:1px solid var(--line)}
.hero{min-height:680px;margin:0}
.hero-copy{min-height:680px;padding:42px 24px 24px}
.hero-heading{margin-top:20px}
.hero-image{background-position:64% center}
.hero .eyebrow{margin-bottom:35px}
.hero-line{font-size:clamp(52px,14vw,76px)}
.hero-line+.hero-line{margin-top:8px}
.hero-bottom{grid-template-columns:1fr;gap:28px;padding-top:16px}
.scroll-prompt{left:24px;bottom:58px}
.hero-action{grid-column:auto;justify-self:start;max-width:300px}
.intro{margin:0;padding:72px 24px 40px}
.intro h2.intro-title{font-size:clamp(1.875rem,4.5vw,2.5rem)}
.section-heading h2{font-size:clamp(52px,14vw,74px)}
.awards{margin:0;padding:0 24px}
.awards-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:0;padding-bottom:48px}
.awards+.awards{padding-bottom:16px}
.awards-image{aspect-ratio:4/3}
.awards-copy{gap:24px;padding:0}
.awards-eyebrow{margin-bottom:28px}
.awards-copy h2{max-width:18ch;font-size:clamp(2rem,7.8vw,3.25rem)}
.awards-detail>p{font-size:1.125rem}
.awards-links{grid-template-columns:1fr;gap:0}
.awards-links a{min-height:60px;padding:16px 0}
.resources{padding:100px 24px}
.section-heading{align-items:flex-start;flex-direction:column;gap:15px}
.resource-grid{grid-template-columns:1fr;margin-top:45px}
.resource-card{min-height:260px}
.news{margin:0;padding:54px 24px 120px}
.news-heading{align-items:flex-start}
.news-heading h2{font-size:clamp(46px,13vw,70px)}
.all-news-link{gap:13px;margin:0;font-size:14px}
.all-news-link span{width:38px;height:57px}
.news-grid{grid-template-columns:1fr;gap:48px;margin-top:48px}
.news-card h3{margin-top:22px;font-size:30px}
.whatsapp-cta{margin:0;padding:84px 24px 98px}
.whatsapp-mark{margin-bottom:24px}
.whatsapp-cta h2{font-size:clamp(45px,13vw,70px)}
.whatsapp-cta p{margin-top:27px;font-size:16px}
.whatsapp-button{margin-top:35px}
footer{margin:0;padding:0 24px 35px}
.footer-main{grid-template-columns:1fr;gap:46px;min-height:0;padding:50px 0 0}
.footer-identity{gap:25px;flex-direction:column}
.footer-identity .brand{width:70px;transform:scale(.9)}
.footer-address{width:100%;max-width:none;font-size:14px}
.social-links{margin-top:35px}
.footer-legal{margin-top:28px!important}
.footer-nav{grid-template-columns:repeat(2,1fr);gap:30px;font-size:14px}
.footer-nav .footer-nav-title{font-size:16px}
.footer-contact{width:125px;height:54px}
}

@media(max-width:700px){
  .intro-actions{margin-top:28px}
}

/* Formal palette interaction and action accents */
.hero-cta,
.whatsapp-button,
.footer-contact{
  border:1px solid var(--paper);
  background:transparent;
  color:var(--paper);
}
.hero-cta:hover,
.hero-cta:focus-visible,
.intro-action:hover,
.intro-action:focus-visible,
.whatsapp-button:hover,
.whatsapp-button:focus-visible,
.footer-contact:hover,
.footer-contact:focus-visible{
  background:var(--copper);
  color:var(--on-accent);
  filter:brightness(1.06);
}
.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.mobile-menu a:hover,
.mobile-menu a:focus-visible,
.about-panel a:hover,
.about-panel a:focus-visible,
.intro-more a:hover,
.intro-more a:focus-visible,
.text-link:hover,
.text-link:focus-visible,
.all-news-link:hover,
.all-news-link:focus-visible,
.news-card h3 a:hover,
.news-card h3 a:focus-visible,
.footer-address>a:hover,
.footer-address>a:focus-visible,
.footer-legal a:hover,
.footer-legal a:focus-visible,
.footer-nav a:hover,
.footer-nav a:focus-visible,
.social-links a:hover,
.social-links a:focus-visible{
  color:var(--copper);
}
.notice-accent,
.whatsapp-mark,
.all-news-link span{
  background:var(--copper);
  color:var(--copper);
}
.all-news-link:hover span,
.all-news-link:focus-visible span{
  background:var(--copper);
}
.resource-card>a{color:var(--copper)}
.card-copper>a{color:var(--on-accent)}

/* Shared navigation morph
   -----------------------
   Brick uses one state change followed by one 300 ms Material-style curve.
   Background, height, text, divider and logo all start together, so wheel
   speed cannot stretch the transition into uneven grey stages. */
body.header-motion-enhanced::before{
  content:"";
  position:fixed;
  z-index:10;
  top:0;
  left:0;
  width:100%;
  height:var(--header-height-expanded);
  background-color:var(--ink);
  box-shadow:0 1px 10px rgba(var(--ink-rgb),0);
  transition:height .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced.header-is-scrolled::before{
  height:var(--header-height-compact);
  background-color:var(--paper);
  box-shadow:0 1px 10px rgba(var(--ink-rgb),.08);
}
body.header-motion-enhanced .site-header,
body.header-motion-enhanced .site-header.is-scrolled{
  height:var(--header-height-expanded);
  min-height:0;
  border-bottom-color:rgba(var(--paper-rgb),.2);
  background-color:var(--ink);
  color:var(--paper);
  box-shadow:0 1px 10px rgba(var(--ink-rgb),0);
  transition:height .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced .site-header.is-scrolled{
  height:var(--header-height-compact);
  border-bottom-color:rgba(var(--ink-rgb),.15);
  background-color:var(--paper);
  color:var(--ink);
  box-shadow:0 1px 10px rgba(var(--ink-rgb),.08);
}
body.header-motion-enhanced .site-header .header-main,
body.header-motion-enhanced .site-header.is-scrolled .header-main{
  position:relative;
  display:block;
  height:100%;
  padding:0;
}
body.header-motion-enhanced .site-header .header-top,
body.header-motion-enhanced .site-header.is-scrolled .header-top{
  position:absolute;
  top:calc(var(--header-height-expanded) * .17);
  right:0;
  left:0;
  display:grid;
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0);
  pointer-events:auto;
  will-change:opacity,transform;
  transition:opacity .18s cubic-bezier(.4,0,.2,1) .12s,transform .3s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;
}
body.header-motion-enhanced .site-header.is-scrolled .header-top{
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,-10px,0);
  pointer-events:none;
  transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),visibility 0s linear .3s;
}
body.header-motion-enhanced .site-header .desktop-nav,
body.header-motion-enhanced .site-header.is-scrolled .desktop-nav{
  position:absolute;
  right:0;
  bottom:calc((var(--header-height-expanded) - 26px) / 2);
  left:0;
  width:auto;
  align-self:auto;
  transition:bottom .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced .site-header.is-scrolled .desktop-nav{bottom:calc((var(--header-height-compact) - 26px) / 2)}
body.header-motion-enhanced .site-header .about-panel,
body.header-motion-enhanced .site-header.is-scrolled .about-panel{
  top:calc(100% + max(18px, calc(var(--header-height-expanded) - 142px)));
  transition:top .3s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .2s ease,visibility .2s;
}
body.header-motion-enhanced .site-header.is-scrolled .about-panel{top:calc(100% + max(14px, calc(var(--header-height-compact) - 52px)))}
body.header-motion-enhanced .site-header .brand,
body.header-motion-enhanced .site-header.is-scrolled .brand{
  position:relative;
  align-self:stretch;
  width:var(--header-logo-box);
  height:100%;
  filter:none;
  transform:none;
}
body.header-motion-enhanced .site-header .brand img,
body.header-motion-enhanced .site-header.is-scrolled .brand img{
  position:absolute;
  top:50%;
  left:0;
  display:block!important;
  height:auto;
  filter:invert(1);
  transform-origin:left center;
  will-change:opacity,transform,filter;
  transition:filter .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced .site-header.is-scrolled .brand img{filter:invert(0)}
body.header-motion-enhanced .site-header .brand .brand-full,
body.header-motion-enhanced .site-header.is-scrolled .brand .brand-full{
  width:var(--header-logo-full);
  opacity:1;
  transform:translateY(-50%) scale(1);
  transition:opacity .14s cubic-bezier(.4,0,.2,1) .14s,filter .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced .site-header.is-scrolled .brand .brand-full{
  opacity:0;
  transform:translateY(-50%) scale(.92);
  transition-delay:0s,0s,0s;
}
body.header-motion-enhanced .site-header .brand .brand-compact,
body.header-motion-enhanced .site-header.is-scrolled .brand .brand-compact{
  width:var(--header-logo-compact);
  opacity:0;
  transform:translateY(-50%) scale(.96);
  transition:opacity .14s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);
}
body.header-motion-enhanced .site-header.is-scrolled .brand .brand-compact{
  opacity:1;
  transform:translateY(-50%) scale(1);
  transition-delay:.14s,0s,0s;
}
body.header-is-morphing .site-header::after,
body.header-is-morphing .site-header:has(.about-group:hover)::after,
body.header-is-morphing .site-header:has(.about-group.is-open)::after{
  opacity:0;
  visibility:hidden;
}
body.header-is-morphing .about-panel{
  opacity:0!important;
  visibility:hidden!important;
}

@media(max-width:900px){
  body.header-motion-enhanced::before{height:96px}
  body.header-motion-enhanced.header-is-scrolled::before{height:72px}
  body.header-motion-enhanced .site-header,
  body.header-motion-enhanced .site-header.is-scrolled{
    height:96px;
  }
  body.header-motion-enhanced .site-header.is-scrolled{height:72px}
  body.header-motion-enhanced .site-header .brand,
  body.header-motion-enhanced .site-header.is-scrolled .brand{
    width:var(--header-logo-mobile);
  }
  body.header-motion-enhanced .site-header .brand .brand-full,
  body.header-motion-enhanced .site-header.is-scrolled .brand .brand-full{
    width:var(--header-logo-mobile);
    opacity:1;
    transform:translateY(-50%) scale(1);
  }
  body.header-motion-enhanced .site-header .brand .brand-compact,
  body.header-motion-enhanced .site-header.is-scrolled .brand .brand-compact{
    display:none!important;
  }
  body.header-motion-enhanced .site-header .menu-toggle,
  body.header-motion-enhanced .site-header.is-scrolled .menu-toggle{
    top:32px;
    color:var(--paper);
    transition:top .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);
  }
  body.header-motion-enhanced .site-header.is-scrolled .menu-toggle{top:20px;color:var(--ink)}
  body.header-motion-enhanced .site-header .menu-toggle b,
  body.header-motion-enhanced .site-header.is-scrolled .menu-toggle b{
    background:var(--paper);
    transition:background-color .3s cubic-bezier(.4,0,.2,1);
  }
  body.header-motion-enhanced .site-header.is-scrolled .menu-toggle b{background:var(--ink)}
}

@media(prefers-reduced-motion:reduce){
  body.header-motion-enhanced::before,
  body.header-motion-enhanced .site-header,
  body.header-motion-enhanced .site-header .header-top,
  body.header-motion-enhanced .site-header .desktop-nav,
  body.header-motion-enhanced .site-header .about-panel,
  body.header-motion-enhanced .site-header .brand img,
  body.header-motion-enhanced .site-header .menu-toggle,
  body.header-motion-enhanced .site-header .menu-toggle b{transition:none!important}
}

@media (max-width:600px){
  .hero-copy{min-height:760px}
  .hero-bottom{padding-bottom:50px}
  .hero-cta.hero-membership-link{margin-left:0}
}
@media (max-width:900px){
  body.header-motion-enhanced .site-header .header-main,
  body.header-motion-enhanced .site-header.is-scrolled .header-main{display:none}
}

/* Language belongs to the navigation, immediately after THE ASSOCIATION. */
.nav-language{position:relative;z-index:3;display:flex;align-items:center;flex:0 0 auto;align-self:center;height:26px;color:inherit;font-family:var(--font)}
.language-trigger{position:relative;display:flex;align-items:center;gap:10px;min-height:var(--header-language-height,32px);margin:0;padding:4px var(--header-language-padding-x,8px);border:.5px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:14px;font-weight:400;line-height:1.25;letter-spacing:.025em;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.language-trigger:hover,.language-trigger:focus-visible,.nav-language.is-open .language-trigger{background:var(--copper);border-color:var(--copper);color:#fff}
/* Reference CTA roll: two identical rows move up through a one-line window. */
.language-label-roll{position:relative;display:block;height:1.25em;overflow:hidden;line-height:inherit}
.language-label-roll>span{display:block;white-space:nowrap;transition:transform .3s cubic-bezier(.4,0,.2,1)}
.language-label-roll>span[aria-hidden="true"]{position:absolute;left:0;top:100%}
@media(hover:hover) and (pointer:fine){.language-trigger:hover .language-label-roll>span{transform:translateY(-100%)}}
.language-trigger:focus-visible .language-label-roll>span{transform:translateY(-100%)}
.nav-language svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.language-menu-icon{display:grid;gap:3px;width:11px;flex:0 0 11px}
.language-menu-icon i{display:block;width:11px;height:1px;background:currentColor}
.language-panel{position:absolute;right:0;top:calc(100% + 18px);width:280px;max-width:calc(100vw - 48px);max-height:calc(100svh - 240px);overflow-y:auto;overscroll-behavior:contain;padding:20px;border:1px solid rgba(var(--ink-rgb),.15);border-radius:6px;background:var(--paper);box-shadow:0 8px 26px rgba(var(--ink-rgb),.12);color:var(--ink);letter-spacing:0}
.language-panel[hidden]{display:none}
.language-panel h2{margin:0 0 12px;font-size:13px;font-weight:400;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.language-options{display:grid}
.language-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:12px 0;border:0;border-top:1px solid rgba(var(--ink-rgb),.15);border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;font-size:16px;line-height:1.5;cursor:pointer}
.language-option:not(:disabled):hover{color:var(--copper)}
.language-option:disabled{color:rgba(var(--ink-rgb),.65);cursor:not-allowed}
.language-status{font-size:12px;white-space:nowrap}
.nav-language button:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
.nav-language.is-open .language-panel{animation:language-panel-enter .18s ease-out both}
body.home-floating-nav .site-header:has(.nav-language.is-open)>.intro-nav-shade{opacity:0}
@keyframes language-panel-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:901px) and (max-width:1400px){.language-trigger{font-size:13px}}
@media(min-width:901px) and (max-width:1100px){
  body:not(.home-floating-nav) .site-header{grid-template-columns:calc(var(--header-logo-compact) + 24px) minmax(0,1fr);padding-left:48px;padding-right:36px}
  body:not(.home-floating-nav) .desktop-nav{gap:10px}
  body:not(.home-floating-nav) .desktop-nav a{font-size:13px}
}
@media(max-width:900px){
  .site-header>.nav-language{position:absolute;right:116px;top:26px;transition:top .3s ease}
  .language-trigger{min-height:max(38px,var(--header-language-height,32px));padding-inline:min(8px,var(--header-language-padding-x,8px))}
  .site-header.is-scrolled>.nav-language{top:14px}
  .language-panel{right:-92px;top:calc(100% + 20px);max-width:calc(100vw - 72px);max-height:calc(100svh - 150px)}
  body.home-floating-nav .site-header.is-scrolled>.nav-language{top:calc((var(--home-nav-height) - 26px) / 2)}
}
@media(prefers-reduced-motion:reduce){.nav-language.is-open .language-panel{animation:none}.site-header>.nav-language{transition:none}}
@media(prefers-reduced-motion:reduce){.language-label-roll>span{transition:none}.language-trigger:is(:hover,:focus-visible) .language-label-roll>span{transform:none}}
