/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.size-full{width:100%;height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--navy:#071b31;--navy-soft:#0d2946;--green:#0bad58;--green-dark:#078846;--ink:#101c2c;--muted:#5d6877;--line:#dfe5e9;--cream:#f7f8f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-geist), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit}main{overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{min-height:790px;color:var(--white);background:var(--navy);position:relative}.hero-photo{background:url(/assets/photo-may-day-1.jpg) 50% 35%/cover no-repeat;position:absolute;inset:0;transform:scale(1.015)}.hero-photo:after{content:"";background-image:linear-gradient(105deg,#021120fa 0%,#021120e0 37%,#02112059 70%,#021120a8 100%);position:absolute;inset:0}.hero-overlay{background:linear-gradient(#05142440,#05142426 65%,#051424f0);position:absolute;inset:0}.site-header{z-index:20;border-bottom:1px solid #ffffff24;align-items:center;gap:32px;max-width:1440px;height:92px;margin:0 auto;padding:12px 34px;display:flex;position:relative}.brand{flex:0 0 64px;width:64px}.brand img{object-fit:contain;filter:drop-shadow(0 8px 18px #0000003d);width:58px;height:62px}.desktop-nav{flex:1;justify-content:center;align-items:center;gap:clamp(14px,1.5vw,25px);display:flex}.desktop-nav a{color:#ffffffeb;white-space:nowrap;font-size:13px;font-weight:650;transition:color .2s}.desktop-nav a:hover{color:#51e58f}.button{background:linear-gradient(135deg, var(--green), var(--green-dark));color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 22px;font-size:14px;font-weight:750;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 12px 28px #05a75238}.button:hover{transform:translateY(-2px);box-shadow:0 16px 36px #05a75252}.button-small{white-space:nowrap;min-height:42px;padding:0 18px;font-size:12px}.button-outline{box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05142459;border-color:#ffffff8c}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid #ffffff59;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:700;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--navy);border-radius:16px;gap:2px;width:230px;padding:14px;display:grid;position:absolute;top:52px;right:0;box-shadow:0 18px 50px #0000004d}.mobile-menu nav a{border-radius:8px;padding:10px 12px}.mobile-menu nav a:hover{background:#ffffff14}.hero-content{z-index:5;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:end;gap:70px;max-width:1320px;margin:0 auto;padding:90px 56px 160px;display:grid;position:relative}.hero-copy{max-width:710px}.eyebrow{color:var(--green-dark);letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:850;line-height:1.4;display:block}.eyebrow.light{color:#ffffffb8}.eyebrow.light-green{color:#4ae388}.hero h1{letter-spacing:-.07em;text-transform:uppercase;margin:12px 0 16px;font-size:clamp(68px,7.5vw,112px);font-weight:920;line-height:.83}.hero h1 em,.join-banner h2 em{color:var(--green);font-style:normal}.hero h2{letter-spacing:-.03em;text-transform:uppercase;max-width:670px;margin:0 0 17px;font-size:clamp(24px,2.35vw,38px);line-height:1.12}.hero-copy>p{color:#ffffffc7;max-width:610px;margin:0;font-size:17px;line-height:1.65}.hero-actions{gap:13px;margin-top:32px;display:flex}.congress-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#04182acc;border:1px solid #ffffff40;border-radius:20px;align-self:end;padding:24px;box-shadow:0 25px 70px #00000047}.congress-heading{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:18px;display:flex}.congress-heading .eyebrow{color:#4ae388;margin:0}.congress-heading strong{color:#ffffffbf;font-size:13px}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding-top:18px;display:grid}.countdown-unit{text-align:center;min-width:0}.countdown-unit span{letter-spacing:-.05em;font-size:clamp(25px,3vw,39px);font-weight:850;line-height:1;display:block}.countdown-unit small{color:#ffffff94;letter-spacing:.09em;text-transform:uppercase;margin-top:7px;font-size:9px;display:block}.congress-live{color:#4ae388;margin:18px 0 0;font-size:28px;font-weight:800}.stats-wrap{z-index:10;margin-top:-70px;padding:0 40px;position:relative}.stats-card{color:#fff;background:var(--navy);border:1px solid #ffffff47;border-radius:18px;grid-template-columns:repeat(4,1fr);max-width:1220px;margin:0 auto;padding:28px 25px;display:grid;box-shadow:0 20px 50px #04182a29}.stats-card>div{text-align:center;border-right:1px solid #ffffff2e;flex-direction:column;justify-content:center;align-items:center;min-height:65px;display:flex}.stats-card>div:last-child{border-right:0}.stats-card span{letter-spacing:-.04em;font-size:clamp(25px,3vw,38px);font-weight:850}.stats-card small{color:#ffffff9e;letter-spacing:.09em;text-transform:uppercase;margin-top:4px;font-size:9px}.section{max-width:1280px;margin:0 auto;padding:84px 40px}.section-heading{text-align:center;max-width:720px;margin:0 auto 36px}.section-heading h2,.campaign-copy h2,.join-banner h2{letter-spacing:-.055em;margin:0;font-size:clamp(36px,4.5vw,60px);line-height:1.02}.section-heading p{color:var(--muted);margin:16px auto 0;line-height:1.7}.work-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.work-card{border:1px solid var(--line);background:#ffffffd1;border-radius:15px;min-height:300px;padding:26px 22px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}.work-card:hover{border-color:#0bad588c;transform:translateY(-7px);box-shadow:0 22px 45px #061b311a}.work-icon{width:46px;height:46px;color:var(--green-dark);background:#e8f7ee;border-radius:13px;place-items:center;margin-bottom:25px;font-size:25px;font-weight:800;display:grid}.work-card h3{letter-spacing:-.025em;margin:0;font-size:17px;line-height:1.2}.work-card p{color:var(--muted);margin:13px 0 48px;font-size:12px;line-height:1.65}.circle-arrow{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:18px;right:18px}.campaign-card{background:var(--navy);color:#fff;border-radius:20px;grid-template-columns:1.05fr .95fr;min-height:445px;display:grid;overflow:hidden;box-shadow:0 24px 60px #071b3121}.campaign-image{min-height:420px;position:relative}.campaign-image:after{content:"";background:linear-gradient(90deg, transparent 65%, var(--navy));position:absolute;inset:0}.campaign-image img{object-fit:cover;width:100%;height:100%}.campaign-copy{align-self:center;padding:65px 65px 55px 42px}.campaign-copy p{color:#ffffffb3;max-width:470px;margin:20px 0 28px;line-height:1.75}.row-heading{text-align:left;justify-content:space-between;align-items:end;max-width:none;display:flex}.text-link{color:var(--green-dark);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.affiliate-grid{grid-template-columns:repeat(6,1fr);gap:11px;display:grid}.affiliate-card{border:1px solid var(--line);background:#fff;border-radius:14px;place-items:center;height:124px;padding:20px;display:grid}.affiliate-card img{object-fit:contain;max-width:150px;max-height:80px}.content-grid{grid-template-columns:.9fr 1.25fr .85fr;gap:18px;padding-top:25px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:28px}.event{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr;gap:18px;padding:18px 0;display:grid}.event:last-child{border-bottom:0}.event time{color:var(--green-dark);border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;display:flex}.event time strong{font-size:20px}.event time span{text-transform:uppercase;font-size:9px}.event h3{margin:0 0 4px;font-size:14px}.event p{color:var(--muted);margin:0 0 7px;font-size:11px}.event a{color:var(--green-dark);font-size:10px;font-weight:750}.featured-news{color:#fff;border-radius:12px;height:210px;margin-bottom:13px;display:block;position:relative;overflow:hidden}.featured-news:after{content:"";background:linear-gradient(#0000 32%,#041627f0);position:absolute;inset:0}.featured-news img{object-fit:cover;width:100%;height:100%}.featured-news>span{z-index:2;position:absolute;bottom:15px;left:18px;right:18px}.featured-news strong{font-size:16px;line-height:1.3;display:block}.featured-news small,.news-row small{opacity:.7;margin-top:5px;font-size:9px;display:block}.news-row{border-bottom:1px solid var(--line);grid-template-columns:82px 1fr;align-items:center;gap:12px;padding:9px 0;font-size:12px;font-weight:750;display:grid}.news-row img{object-fit:cover;border-radius:8px;width:82px;height:54px}.news-panel>.text-link{margin-top:16px}.resource-list>a{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:16px 0;display:grid}.resource-list>a:last-child{border-bottom:0}.resource-icon{border:1px solid var(--line);width:40px;height:40px;color:var(--green-dark);border-radius:10px;place-items:center;font-weight:800;display:grid}.resource-list strong{font-size:13px;display:block}.resource-list small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.join-banner{color:#fff;background:linear-gradient(100deg,#021626fa,#021626b8),url(/assets/photo-event-3.jpg) 50%/cover;border-radius:18px;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;min-height:245px;padding:45px 58px;display:grid}.join-banner h2{text-transform:uppercase;font-size:clamp(34px,4.4vw,58px)}.join-banner p{color:#ffffffc2;max-width:380px;margin:0 0 24px;line-height:1.6}footer{color:#fff;background:var(--navy);padding:70px 42px 24px}.footer-grid{grid-template-columns:1.35fr repeat(4,1fr);gap:42px;max-width:1280px;margin:0 auto;display:grid}.footer-grid h3{color:#ffffff8c;text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px;font-size:10px}.footer-grid>div:not(.footer-about){flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-grid a,.footer-grid span,.footer-grid p{color:#ffffffa8;font-size:12px;line-height:1.65}.footer-grid a:hover{color:#4ae388}.footer-about img{object-fit:contain;width:62px;height:66px;margin-bottom:16px}.footer-about p{max-width:250px}.footer-about span{margin-top:17px;font-size:10px;display:block}.footer-grid form{width:100%}.footer-grid input{width:100%;min-height:42px;color:var(--ink);border:0;border-radius:999px;outline:none;padding:0 15px}.footer-grid button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:999px;min-height:36px;margin-top:8px;padding:0 20px;font-size:11px;font-weight:750}.footer-bottom{border-top:1px solid #ffffff1f;justify-content:space-between;max-width:1280px;margin:50px auto 0;padding-top:20px;display:flex}.footer-bottom span,.footer-bottom a{color:#ffffff73;font-size:10px}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:.75s cubic-bezier(.2,.75,.25,1) both rise}@media (width<=1160px){.desktop-nav{display:none}.site-header{justify-content:space-between}.mobile-menu{order:4;display:block}.site-header>.button-small{margin-left:auto}.work-grid{grid-template-columns:repeat(3,1fr)}.work-card{min-height:265px}.footer-grid{grid-template-columns:1.3fr repeat(2,1fr)}}@media (width<=820px){.hero{min-height:980px}.site-header{height:82px;padding:10px 20px}.site-header>.button-small{display:none}.hero-content{grid-template-columns:1fr;gap:45px;padding:62px 24px 160px}.hero h1{font-size:clamp(56px,16vw,84px)}.congress-card{max-width:520px}.stats-wrap{padding:0 20px}.stats-card{grid-template-columns:repeat(2,1fr);gap:18px 0}.stats-card>div:nth-child(2){border-right:0}.stats-card>div:nth-child(-n+2){border-bottom:1px solid #ffffff24;padding-bottom:16px}.section{padding:66px 22px}.work-grid{grid-template-columns:repeat(2,1fr)}.campaign-card{grid-template-columns:1fr}.campaign-image{min-height:340px}.campaign-image:after{background:linear-gradient(0deg, var(--navy), transparent 45%)}.campaign-copy{z-index:2;margin-top:-55px;padding:35px 30px 45px;position:relative}.affiliate-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1fr}.join-banner{grid-template-columns:1fr;gap:28px;padding:38px 30px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-about{grid-column:1/-1}}@media (width<=520px){.hero{min-height:1010px}.hero-content{padding-top:52px}.hero h1{font-size:54px}.hero h2{font-size:24px}.hero-copy>p{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.congress-heading{flex-direction:column;align-items:flex-start;gap:5px}.countdown-unit span{font-size:25px}.stats-card{padding:24px 12px}.stats-card span{font-size:23px}.work-grid{grid-template-columns:1fr}.work-card{min-height:230px}.row-heading{flex-direction:column;align-items:flex-start;gap:18px}.affiliate-grid{grid-template-columns:repeat(2,1fr)}.affiliate-card{height:105px;padding:15px}footer{padding-left:24px;padding-right:24px}.footer-grid{grid-template-columns:1fr}.footer-about{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.inner-nav-wrap{z-index:30;background:var(--navy);position:relative}.inner-header{border-bottom-color:#ffffff1f;height:86px}.inner-hero{color:#fff;background:var(--navy);place-items:end start;min-height:430px;display:grid;position:relative;overflow:hidden}.inner-hero-photo{background:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url(/assets/photo-event-2.jpg) 50% 45%/cover;position:absolute;inset:0}.inner-hero-content{z-index:2;width:min(100%,1280px);margin:0 auto;padding:80px 40px 72px;position:relative}.inner-hero-content h1{letter-spacing:-.065em;text-transform:uppercase;max-width:900px;margin:0;font-size:clamp(54px,7vw,92px);line-height:.94}.inner-hero-content p{color:#ffffffbf;max-width:720px;margin:22px 0 0;font-size:18px;line-height:1.65}.inner-section{max-width:1280px;margin:0 auto;padding:86px 40px}.inner-section h2{letter-spacing:-.04em}.split-story{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px;display:grid}.split-story h2{max-width:520px;margin:0;font-size:clamp(38px,5vw,64px);line-height:1.02}.split-story>div:last-child{padding-top:18px}.split-story p{color:var(--muted);margin:0 0 22px;font-size:17px;line-height:1.85}.value-band{grid-template-columns:repeat(3,1fr);gap:1px;max-width:1200px;padding:0 40px 86px;display:grid}.value-band>div{color:#fff;background:var(--navy);min-height:270px;padding:38px}.value-band>div:first-child{border-radius:18px 0 0 18px}.value-band>div:last-child{border-radius:0 18px 18px 0}.value-band span{color:#4ae388;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:850}.value-band h3{letter-spacing:-.035em;margin:45px 0 0;font-size:24px;line-height:1.35}.simple-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.simple-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:135px;padding:25px}.simple-card span{color:var(--green);font-weight:900}.simple-card h3{margin:25px 0 0;font-size:16px;line-height:1.35}.detail-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.detail-grid.compact{grid-template-columns:repeat(3,1fr);margin-top:22px}.detail-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:300px;padding:36px}.detail-card>span{color:var(--green);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:850}.detail-card h2{text-transform:capitalize;margin:62px 0 12px;font-size:32px}.detail-card p{color:var(--muted);line-height:1.75}.detail-card a{color:var(--green-dark);margin-top:16px;font-size:13px;font-weight:800;display:inline-block}.page-cta{color:#fff;background:var(--navy);border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-top:60px;padding:42px 48px;display:flex}.page-cta h2{margin:0;font-size:36px}.union-list{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.union-list article{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;min-height:225px;padding:28px;display:flex}.union-list strong{color:var(--green-dark);letter-spacing:.12em;font-size:13px}.union-list h2{margin:28px 0 25px;font-size:20px;line-height:1.35}.union-list a{color:var(--muted);margin-top:auto;font-size:12px;font-weight:750}.feature-story{color:#fff;background:var(--navy);border-radius:18px;grid-template-columns:1.1fr .9fr;display:grid;overflow:hidden}.feature-story>img{object-fit:cover;width:100%;height:100%;min-height:450px}.feature-story>div{align-self:center;padding:56px}.feature-story h2{margin:0;font-size:48px;line-height:1.05}.feature-story p{color:#ffffffb8;margin:22px 0 30px;line-height:1.75}.article-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.article-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.article-card>img{object-fit:cover;width:100%;height:220px}.article-card>div{padding:26px}.article-card time{color:var(--green-dark);text-transform:uppercase;font-size:11px;font-weight:800}.article-card h2{margin:15px 0 10px;font-size:23px;line-height:1.25}.article-card p{color:var(--muted);line-height:1.65}.article-card a{color:var(--green-dark);margin-top:15px;font-size:13px;font-weight:800;display:inline-block}.archive-link{text-align:center;margin-top:42px}.congress-feature{color:#fff;background:linear-gradient(100deg,#04182af5,#04182abf),url(/assets/photo-may-day-1.jpg) 50%/cover;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:58px;display:grid}.congress-feature h2{margin:0;font-size:58px}.congress-feature p{color:#ffffffb8;max-width:630px;line-height:1.7}.big-date{border-left:1px solid #ffffff38;align-items:center;gap:18px;min-width:230px;padding-left:45px;display:flex}.big-date strong{color:#4ae388;font-size:100px;line-height:1}.big-date span{text-transform:uppercase;font-size:19px;line-height:1.25}.document-list{gap:10px;display:grid}.document-list>a{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:60px 1fr auto;align-items:center;gap:24px;min-height:120px;padding:24px 28px;display:grid}.document-list>a>span{width:54px;height:62px;color:var(--green-dark);border:1px solid var(--line);border-radius:8px;place-items:center;font-size:11px;font-weight:900;display:grid}.document-list h2{margin:0;font-size:21px}.document-list p{color:var(--muted);margin:7px 0 0;font-size:13px}.document-list>a>strong{color:var(--green-dark);font-size:13px}.contact-layout{grid-template-columns:.9fr 1.1fr;gap:25px;display:grid}.contact-cards{gap:15px;display:grid}.contact-cards article,.contact-form-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:36px}.contact-cards h2,.contact-form-card h2{margin:0 0 18px;font-size:34px}.contact-cards p{color:var(--muted);line-height:1.75}.contact-cards a{color:var(--green-dark);font-weight:800}.contact-form-card form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form-card label{color:var(--muted);gap:8px;font-size:12px;font-weight:750;display:grid}.contact-form-card label:nth-child(4){grid-column:1/-1}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fbfcfb;border-radius:9px;padding:12px 14px}.contact-form-card .button{justify-self:start}.form-note{color:var(--muted);margin:18px 0 0;font-size:11px}.leadership-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.leadership-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px 18px 28px}.portrait-placeholder{color:#fff;background:linear-gradient(135deg, var(--navy-soft), var(--green-dark));border-radius:11px;place-items:center;height:260px;display:grid}.portrait-placeholder span{opacity:.25;font-size:72px;font-weight:900}.leadership-grid p{color:var(--green-dark);text-transform:uppercase;margin:22px 0 5px;font-size:11px;font-weight:800}.leadership-grid h2{margin:0 0 18px;font-size:23px}.leadership-grid a{color:var(--muted);font-size:12px;font-weight:750}.gallery-grid{columns:3 280px;column-gap:14px}.gallery-grid figure{break-inside:avoid;background:#fff;border-radius:14px;margin:0 0 14px;overflow:hidden}.gallery-grid img{width:100%}.gallery-grid figcaption{color:var(--muted);padding:13px 16px;font-size:11px}.faq-layout{grid-template-columns:340px 1fr;align-items:start;gap:55px;display:grid}.faq-helper{position:sticky;top:24px}.faq-helper h2{margin:0 0 25px;font-size:38px;line-height:1.05}.faq-search{display:block;position:relative}.faq-search input{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;width:100%;height:56px;padding:0 48px 0 18px}.faq-search input:focus{border-color:var(--green);box-shadow:0 0 0 4px #0bad581f}.faq-search>span:last-child{color:var(--green-dark);font-size:26px;position:absolute;top:13px;right:18px}.faq-categories{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.faq-categories button{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:750}.faq-categories button.active,.faq-categories button:hover{color:#fff;border-color:var(--green-dark);background:var(--green-dark)}.result-count{color:var(--muted);margin:0 0 12px;font-size:12px}.faq-item{border-top:1px solid var(--line);background:0 0}.faq-item:last-of-type{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:22px 8px;font-size:19px;font-weight:780;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary strong{width:30px;height:30px;color:var(--green-dark);border:1px solid var(--line);border-radius:50%;flex:0 0 30px;place-items:center;transition:transform .2s;display:grid}.faq-item[open] summary strong{transform:rotate(45deg)}.faq-item>div{padding:0 52px 28px 8px}.faq-item p{color:var(--muted);margin:0;font-size:15px;line-height:1.75}.faq-item a{color:var(--green-dark);margin-top:15px;font-size:12px;font-weight:800;display:inline-block}.faq-disclaimer{color:var(--muted);border:1px solid var(--line);background:#f0f4f1;border-radius:12px;grid-column:1/-1;margin-top:15px;padding:20px 24px;font-size:12px;line-height:1.65}.empty-faq{text-align:center;border:1px dashed var(--line);border-radius:14px;padding:50px}.empty-faq h3{margin:0;font-size:25px}.empty-faq p{color:var(--muted)}.empty-faq .button{margin-top:10px}@media (width<=980px){.inner-hero{min-height:380px}.split-story,.feature-story,.contact-layout{grid-template-columns:1fr;gap:38px}.value-band{grid-template-columns:1fr}.value-band>div:first-child{border-radius:18px 18px 0 0}.value-band>div:last-child{border-radius:0 0 18px 18px}.simple-grid,.union-list,.article-grid,.leadership-grid{grid-template-columns:repeat(2,1fr)}.detail-grid.compact,.congress-feature{grid-template-columns:1fr}.big-date{border-top:1px solid #ffffff38;border-left:0;padding:25px 0 0}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-helper{position:static}}@media (width<=620px){.inner-hero-content,.inner-section{padding-left:22px;padding-right:22px}.inner-hero-content h1{font-size:48px}.inner-hero-content p{font-size:15px}.simple-grid,.detail-grid,.union-list,.article-grid,.leadership-grid{grid-template-columns:1fr}.page-cta{flex-direction:column;align-items:flex-start;padding:34px 28px}.feature-story>div,.congress-feature{padding:34px 26px}.feature-story h2,.congress-feature h2{font-size:38px}.big-date{min-width:0}.big-date strong{font-size:72px}.document-list>a{grid-template-columns:54px 1fr}.document-list>a>strong{grid-column:2}.contact-form-card form{grid-template-columns:1fr}.contact-form-card label:nth-child(4){grid-column:auto}.faq-item summary{font-size:16px}.faq-item>div{padding-right:8px}}.union-logo{border:1px solid var(--line);background:#fff;border-radius:11px;place-items:center;height:92px;margin-bottom:20px;padding:10px;display:grid}.union-logo img{object-fit:contain;max-width:150px;max-height:72px}.union-list article>strong{margin-top:4px}.union-list .no-link{color:var(--muted);margin-top:auto;font-size:12px}.archive-tools{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:1fr 210px auto;align-items:end;gap:15px;margin-bottom:28px;padding:22px;display:grid}.archive-tools label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:11px;font-weight:800;display:grid}.archive-tools input,.archive-tools select{min-height:48px;color:var(--ink);border:1px solid var(--line);font:inherit;text-transform:none;letter-spacing:normal;background:#fafcfa;border-radius:9px;outline:none;padding:0 14px}.archive-tools input:focus,.archive-tools select:focus{border-color:var(--green);box-shadow:0 0 0 4px #0bad581a}.archive-tools p{color:var(--muted);white-space:nowrap;margin:0 0 15px;font-size:12px}.archive-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.archive-card{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.archive-card>img,.archive-image-fallback{object-fit:cover;width:100%;height:190px}.archive-image-fallback{color:#ffffff4d;background:linear-gradient(135deg, var(--navy), var(--green-dark));place-items:center;font-size:34px;font-weight:900;display:grid}.archive-card>div:last-child{padding:22px}.archive-card time{color:var(--green-dark);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800}.archive-card h2{margin:13px 0 10px;font-size:20px;line-height:1.3}.archive-card p{max-height:4.8em;color:var(--muted);margin:0;font-size:12px;line-height:1.6;overflow:hidden}.archive-read{color:var(--green-dark);margin-top:18px;font-size:12px;font-weight:800;display:inline-block}.archive-article{max-width:980px}.archive-hero-image{object-fit:cover;border-radius:17px;width:100%;max-height:520px;margin-bottom:42px}.archive-body{border:1px solid var(--line);background:#fff;border-radius:17px;padding:50px}.archive-body .elementor-element,.archive-body .e-con-inner{display:contents}.archive-body p,.archive-body li{color:#354153;font-size:17px;line-height:1.85}.archive-body a{color:var(--green-dark);text-decoration:underline}.archive-body img{height:auto;margin:25px auto}.archive-back{margin-top:30px}.mobile-dock{display:none}@media (width<=820px){body{padding-bottom:72px}.site-header .mobile-menu{display:none}.mobile-dock{z-index:100;color:#fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#04182af5;border:1px solid #ffffff2e;border-radius:18px;grid-template-columns:repeat(5,1fr);align-items:center;height:62px;padding:5px 7px;display:grid;position:fixed;bottom:9px;left:10px;right:10px;box-shadow:0 14px 45px #0000004d}.mobile-dock>a,.mobile-dock>details>summary{cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;height:52px;list-style:none;display:flex}.mobile-dock>a:active,.mobile-dock>details[open]>summary{color:#4ae388;background:#ffffff14}.mobile-dock span{font-size:20px;font-weight:800;line-height:1}.mobile-dock small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.mobile-dock details{position:static}.mobile-dock summary::-webkit-details-marker{display:none}.mobile-dock-sheet{background:var(--navy);border:1px solid #ffffff26;border-radius:18px;grid-template-columns:repeat(2,1fr);gap:5px;padding:20px;display:grid;position:absolute;bottom:70px;left:0;right:0;box-shadow:0 -18px 55px #00000047}.mobile-dock-sheet strong{color:#4ae388;text-transform:uppercase;letter-spacing:.1em;grid-column:1/-1;padding:5px 8px 12px;font-size:11px}.mobile-dock-sheet a{background:#ffffff0d;border-radius:9px;padding:11px 10px;font-size:12px}.archive-tools{grid-template-columns:1fr 180px}.archive-tools p{grid-column:1/-1;margin:0}.archive-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.brand{flex-basis:58px;width:58px}.brand img{width:52px;height:56px}.archive-tools,.archive-grid{grid-template-columns:1fr}.archive-body{padding:25px 20px}.archive-body p,.archive-body li{font-size:15px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
/* WordPress integration */
body { margin: 0; }
.fedusa-consent { display:flex; gap:.5rem; align-items:flex-start; font-size:.72rem; margin:.65rem 0; color:#d5e0ea; }
.fedusa-consent input { width:auto !important; margin-top:.2rem; }
.fedusa-hp { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.fedusa-form-message { margin:.65rem 0 0 !important; font-size:.85rem; }
.fedusa-form-message.is-success { color:#7ee29b; }
.fedusa-form-message.is-error { color:#ffb6b6; }
.fedusa-form-shell { max-width:1000px; margin:0 auto; }
.fedusa-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; background:#fff; border:1px solid #dbe2e8; padding:clamp(1.25rem,3vw,2.5rem); border-radius:18px; box-shadow:0 18px 50px rgba(4,25,48,.08); }
.fedusa-form label { display:flex; flex-direction:column; gap:.45rem; color:#09223c; font-weight:700; font-size:.9rem; }
.fedusa-form label.full, .fedusa-form .full { grid-column:1/-1; }
.fedusa-form input,.fedusa-form select,.fedusa-form textarea { width:100%; border:1px solid #b8c4ce; border-radius:9px; padding:.85rem; font:inherit; background:#fff; box-sizing:border-box; }
.fedusa-form textarea { min-height:120px; resize:vertical; }
.fedusa-form .checkbox { flex-direction:row; font-weight:500; }
.fedusa-form .checkbox input { width:auto; }
.fedusa-form .fedusa-form-message { color:#17324c; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.archive-card { overflow:hidden; border-radius:14px; background:#fff; border:1px solid #e0e6eb; }
.archive-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.archive-card div { padding:1.2rem; }
.archive-card h2 { font-size:1.15rem; line-height:1.35; }
.archive-card a { color:#087b42; font-weight:700; }
.single-article { max-width:850px; margin:0 auto; }
.single-article .post-image { width:100%; border-radius:16px; margin-bottom:2rem; }
.single-article .entry-content { font-size:1.08rem; line-height:1.8; }
.single-article .entry-content p { margin:0 0 1.15rem; }
@media (max-width:800px) { .fedusa-form,.archive-grid { grid-template-columns:1fr; } .fedusa-form label.full,.fedusa-form .full { grid-column:auto; } }
body.home .site-header:not(.inner-header) { background:#061a2d; }
body.home .site-header:not(.inner-header) .desktop-nav a { color:#fff; }
.hero-photo { background:url('images/banner-news.jpg') center 40%/cover no-repeat!important; }
.inner-hero-photo { background:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/photo-event-2.jpg') center 45%/cover!important; }
.congress-feature { background:linear-gradient(100deg,rgba(4,24,42,.96),rgba(4,24,42,.75)),url('images/photo-may-day-1.jpg') center/cover!important; }
.join-banner { background:linear-gradient(100deg,rgba(2,22,38,.98),rgba(2,22,38,.72)),url('images/photo-event-3.jpg') center/cover!important; }

/* Full-width header and complete desktop navigation */
.site-nav-wrap { width:100%; background:var(--navy); }
.site-nav-wrap .site-header { width:100%; max-width:1600px; background:var(--navy); gap:20px; padding-inline:28px; }
.site-nav-wrap .desktop-nav { gap:clamp(9px,1vw,18px); }
.site-nav-wrap .desktop-nav a { font-size:12px; }

/* Page-specific authentic FEDUSA banner photography */
.inner-hero--about .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-about.jpg')!important; background-position:center 42%!important; }
.inner-hero--our-work .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/training-workshop.jpg')!important; background-position:center 48%!important; }
.inner-hero--affiliated-unions .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-unions.jpg')!important; background-position:center 44%!important; }
.inner-hero--campaigns .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/photo-event-1.jpg')!important; background-position:center 52%!important; }
.inner-hero--news .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-news.jpg')!important; background-position:center 42%!important; }
.inner-hero--events-and-programmes .inner-hero-photo,.inner-hero--events .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/photo-may-day-1.jpg')!important; background-position:center 34%!important; }
.inner-hero--resources .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-resources.jpg')!important; background-position:center 38%!important; }
.inner-hero--faq .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-faq.jpg')!important; background-position:center 38%!important; }
.inner-hero--contact .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-contact.jpg')!important; background-position:center 46%!important; }
.inner-hero--training .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/training-workshop.jpg')!important; background-position:center 48%!important; }
.inner-hero--gallery .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-gallery.jpg')!important; background-position:center 52%!important; }
.inner-hero--become-an-affiliate .inner-hero-photo { background-image:linear-gradient(90deg,rgba(3,20,36,.98),rgba(3,20,36,.77) 45%,rgba(3,20,36,.34)),url('images/banner-affiliate.jpg')!important; background-position:center 44%!important; }

/* Multi-level navigation */
.desktop-nav-group { position:relative; height:62px; display:flex; align-items:center; }
.desktop-nav-group>summary { display:flex; align-items:center; gap:5px; color:#fff; cursor:pointer; list-style:none; white-space:nowrap; font-size:12px; font-weight:650; }
.desktop-nav-group>summary::-webkit-details-marker { display:none; }
.desktop-nav-group>summary span { color:#56e797; font-size:13px; transition:transform .2s; }
.desktop-nav-group[open]>summary span { transform:rotate(180deg); }
.desktop-dropdown { position:absolute; top:68px; left:50%; z-index:80; width:330px; max-height:min(68vh,620px); padding:12px; display:grid; gap:3px; overflow:auto; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-8px); color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 28px 70px rgba(2,18,32,.28); transition:opacity .18s,transform .18s,visibility .18s; }
.desktop-nav-group:first-child .desktop-dropdown { width:610px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.desktop-nav-group:nth-last-child(-n+3) .desktop-dropdown { right:0; left:auto; transform:translateY(-8px); }
.desktop-nav-group[open] .desktop-dropdown,.desktop-nav-group:hover .desktop-dropdown,.desktop-nav-group:focus-within .desktop-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.desktop-nav-group:nth-last-child(-n+3)[open] .desktop-dropdown,.desktop-nav-group:nth-last-child(-n+3):hover .desktop-dropdown,.desktop-nav-group:nth-last-child(-n+3):focus-within .desktop-dropdown { transform:translateY(0); }
.desktop-dropdown a { display:flex; justify-content:space-between; gap:12px; min-height:44px; padding:11px 13px; color:var(--ink)!important; border-radius:10px; white-space:normal; line-height:1.35; }
.desktop-dropdown a:hover,.desktop-dropdown a:focus { color:var(--green-dark)!important; background:#eef8f2; }
.desktop-dropdown a span { color:var(--green-dark); }

/* Migrated FEDUSA subpages */
.migration-rich { display:grid; gap:34px; }
.migration-rich>h2 { margin:20px 0 -12px; font-size:clamp(32px,4vw,52px); line-height:1.05; }
.migration-rich>p,.migration-rich li { color:#405064; font-size:16px; line-height:1.8; }
.migration-rich a:not(.button) { color:var(--green-dark); font-weight:750; }
.content-lead { max-width:980px; padding:42px 46px; color:#fff; background:linear-gradient(135deg,var(--navy),var(--navy-soft)); border-radius:20px; }
.content-lead p { margin:0 0 18px; color:#d8e2ea; font-size:20px; line-height:1.7; }
.content-lead p:last-child { margin-bottom:0; }
.content-columns { columns:2 330px; column-gap:50px; margin:0; }
.content-columns li,.check-list li { position:relative; break-inside:avoid; padding:10px 0 10px 28px; border-bottom:1px solid var(--line); }
.content-columns li:before,.check-list li:before { content:""; position:absolute; left:2px; top:19px; width:9px; height:9px; background:var(--green); border-radius:50%; }
.check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.content-card { padding:40px 44px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.content-card>span,.programme-feature>div>span,.document-callout span { color:var(--green-dark); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:850; }
.content-card h2 { margin:12px 0 24px; font-size:42px; }
.feature-content { color:#fff; background:var(--navy); border-color:var(--navy); }
.feature-content .check-list li { color:#d8e2ea; border-color:#ffffff20; }
.value-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.value-card-grid article { min-height:190px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:15px; }
.value-card-grid h3 { margin:0 0 22px; font-size:24px; }
.value-card-grid p { margin:0; color:var(--muted); line-height:1.7; }
.structure-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.structure-links>a { min-height:140px; padding:27px; display:grid; grid-template-columns:46px 1fr; align-items:start; gap:4px 16px; color:var(--ink)!important; background:#fff; border:1px solid var(--line); border-radius:15px; }
.structure-links>a:hover { border-color:#9bd8b7; transform:translateY(-2px); box-shadow:0 18px 45px rgba(7,27,49,.09); }
.structure-links>a>span { grid-row:1/3; display:grid; place-items:center; width:46px; height:46px; color:#fff; background:var(--green-dark); border-radius:50%; font-size:10px; }
.structure-links strong { font-size:20px; line-height:1.25; }
.structure-links small { color:var(--muted); font-weight:500; line-height:1.5; }
.province-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.province-grid span { padding:18px; color:#fff; background:var(--navy-soft); border-radius:11px; font-weight:750; }
.profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.profile-grid article { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:17px; }
.profile-grid img { width:100%; height:310px; object-fit:cover; object-position:top center; background:#edf1ef; }
.profile-grid article>div { padding:25px; }
.profile-grid span { color:var(--green-dark); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:850; }
.profile-grid h2 { margin:13px 0; font-size:25px; line-height:1.15; }
.profile-grid p { min-height:100px; margin:0 0 17px; color:var(--muted); font-size:14px; line-height:1.65; }
.document-callout { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:36px 40px; color:#fff; background:var(--navy); border-radius:17px; }
.document-callout h2 { margin:9px 0 0; font-size:34px; }
.document-callout p { margin:8px 0 0; color:#ffffffb5; }
.compact-documents { grid-template-columns:repeat(2,minmax(0,1fr)); }
.compact-documents>a { min-height:105px; }
.programme-feature { display:grid; grid-template-columns:minmax(280px,.8fr) 1.2fr; overflow:hidden; color:#fff; background:var(--navy); border-radius:20px; }
.programme-feature>img { width:100%; height:100%; min-height:420px; object-fit:cover; background:#fff; }
.programme-feature>div { align-self:center; padding:48px; }
.programme-feature h2 { margin:12px 0 22px; font-size:clamp(36px,4vw,56px); line-height:1.05; }
.programme-feature p { color:#d8e2ea; font-size:17px; line-height:1.75; }
.programme-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:38px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 20px 55px rgba(7,27,49,.08); }
.programme-form label { display:grid; gap:8px; color:var(--ink); font-size:13px; font-weight:750; }
.programme-form input,.programme-form select,.programme-form textarea { width:100%; min-height:49px; padding:12px 14px; color:var(--ink); background:#fbfcfb; border:1px solid #bdc9d2; border-radius:9px; font:inherit; }
.programme-form textarea { min-height:120px; }
.programme-form .full { grid-column:1/-1; }
.programme-form .checkbox { display:flex; flex-direction:row; align-items:flex-start; font-weight:500; }
.programme-form .checkbox input { width:auto; min-height:0; margin-top:3px; }
.subpage-archive { margin-top:58px; }

/* Banners for migrated subpages */
.inner-hero--leadership .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-about.jpg')!important; }
.inner-hero--mission-vision-values .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/photo-may-day-1.jpg')!important; }
.inner-hero--structures .inner-hero-photo,.inner-hero--fedusa-national-executive-committee .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-unions.jpg')!important; }
.inner-hero--management-committee-mancom .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-faq.jpg')!important; }
.inner-hero--training-and-education-committee-tec .inner-hero-photo,.inner-hero--financial-wellness-programme .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/training-workshop.jpg')!important; }
.inner-hero--social-justice-committee .inner-hero-photo,.inner-hero--training-feedback .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-contact.jpg')!important; }
.inner-hero--development-committee-dc .inner-hero-photo,.inner-hero--upcoming-training .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-gallery.jpg')!important; }
.inner-hero--public-sector-committee-psc .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/photo-event-3.jpg')!important; }
.inner-hero--provincial-executive-committee .inner-hero-photo,.inner-hero--legislative-submissions .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-news.jpg')!important; }
.inner-hero--publications .inner-hero-photo,.inner-hero--speeches .inner-hero-photo,.inner-hero--policy-booklets .inner-hero-photo,.inner-hero--workplace-insights .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-resources.jpg')!important; }
.inner-hero--media-statements .inner-hero-photo,.inner-hero--fedusa-in-the-media .inner-hero-photo,.inner-hero--archived-media-statements .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/banner-news.jpg')!important; }
.inner-hero--mental-health-awareness-webinar .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/mental-health-webinar.png')!important; }
.inner-hero--bargaining-voices .inner-hero-photo { background-image:linear-gradient(90deg,#031424fa,#031424c4 45%,#03142457),url('images/bargaining-voices.png')!important; }

@media (width<=1180px){.desktop-nav-group>summary,.site-nav-wrap .desktop-nav a{font-size:11px}.site-nav-wrap .desktop-nav{gap:8px}.site-nav-wrap .site-header{gap:14px;padding-inline:20px}}
@media (width<=1460px) and (width>1160px){.social-links--header{display:none}.site-nav-wrap .site-header{gap:14px}.site-nav-wrap .desktop-nav{gap:10px}.language-switcher{min-width:112px}}
@media (width<=980px){.profile-grid,.value-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-feature{grid-template-columns:1fr}.programme-feature>img{max-height:480px}.check-list{grid-template-columns:1fr}}
@media (width<=820px){.mobile-dock-sheet{grid-template-columns:1fr;max-height:calc(100vh - 105px);overflow:auto;padding:16px}.mobile-dock-sheet>strong{position:sticky;top:-16px;z-index:2;background:var(--navy);padding-top:16px}.mobile-nav-group{background:#ffffff0a;border-radius:11px}.mobile-nav-group>summary{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;cursor:pointer;list-style:none;font-size:13px;font-weight:750}.mobile-nav-group>summary::-webkit-details-marker{display:none}.mobile-nav-group[open]>summary span{transform:rotate(45deg)}.mobile-nav-group>div{display:grid;gap:3px;padding:0 7px 8px}.mobile-nav-group a{background:#ffffff0a!important;padding:10px 12px!important;font-size:11px!important}.mobile-nav-direct{padding:13px 14px!important}.content-lead{padding:32px 28px}.content-lead p{font-size:17px}.structure-links{grid-template-columns:1fr}.compact-documents{grid-template-columns:1fr}.document-callout{align-items:flex-start;flex-direction:column}.programme-form{grid-template-columns:1fr;padding:27px 22px}.programme-form .full{grid-column:auto}}
@media (width<=620px){.profile-grid,.value-card-grid,.province-grid{grid-template-columns:1fr}.profile-grid img{height:330px}.content-card{padding:30px 25px}.content-columns{columns:1}.programme-feature>div{padding:34px 26px}.migration-rich>h2{font-size:34px}}

/* Newsletter visibility */
.footer-grid .fedusa-newsletter input[type="email"] { min-height:48px; color:var(--navy); background:#45df86; border:2px solid #45df86; border-radius:999px; padding:0 18px; font-weight:750; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.footer-grid .fedusa-newsletter input[type="email"]::placeholder { color:#0b2941; opacity:.78; }
.footer-grid .fedusa-newsletter input[type="email"]:focus { outline:3px solid rgba(255,255,255,.75); outline-offset:3px; }
.footer-grid .fedusa-consent { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:9px; margin-top:14px; color:#fff; font-size:12px; line-height:1.45; }
.footer-grid .fedusa-consent input { width:20px; height:20px; margin:0; accent-color:var(--green); }

/* Training */
.training-feature { display:grid; grid-template-columns:1.08fr .92fr; min-height:560px; overflow:hidden; color:#fff; background:var(--navy); border-radius:20px; box-shadow:0 25px 65px rgba(7,27,49,.18); }
.training-photo { min-height:560px; position:relative; }
.training-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 68%,var(--navy)); }
.training-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.training-copy { align-self:center; padding:60px 60px 60px 42px; }
.training-copy h2 { margin:0; font-size:clamp(38px,4.7vw,64px); line-height:1.02; }
.training-copy p { color:rgba(255,255,255,.75); margin:24px 0 30px; font-size:16px; line-height:1.75; }
.training-topics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:24px; }
.training-topics article { min-height:230px; padding:30px; background:#fff; border:1px solid var(--line); border-radius:15px; }
.training-topics span { color:var(--green-dark); letter-spacing:.12em; font-size:11px; font-weight:850; }
.training-topics h3 { margin:42px 0 12px; font-size:24px; line-height:1.15; }
.training-topics p { color:var(--muted); margin:0; line-height:1.7; }
.training-hub { display:grid; gap:42px; }
.training-hub-intro { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr); align-items:end; gap:60px; }
.training-hub-intro h2 { max-width:720px; margin:0; font-size:clamp(40px,5vw,66px); letter-spacing:-.055em; line-height:1; }
.training-hub-intro>p { margin:0; color:var(--muted); font-size:17px; line-height:1.75; }
.training-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.training-course-card { min-height:230px; display:grid; grid-template-columns:60px 1fr; gap:22px; padding:32px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; transition:transform .22s,border-color .22s,box-shadow .22s; }
.training-course-card:hover,.training-course-card:focus { transform:translateY(-4px); border-color:#82d4a8; box-shadow:0 24px 55px rgba(7,27,49,.1); }
.training-course-card>span { display:grid; place-items:center; width:54px; height:54px; color:#fff; background:var(--navy); border-radius:50%; font-size:12px; font-weight:850; }
.training-course-card h3 { margin:3px 0 12px; font-size:27px; line-height:1.15; }
.training-course-card p { margin:0 0 28px; color:var(--muted); line-height:1.7; }
.training-course-card strong { color:var(--green-dark); font-size:12px; }
.training-calendar-callout { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:42px 46px; color:#fff; background:linear-gradient(130deg,var(--navy),var(--navy-soft)); border-radius:20px; }
.training-calendar-callout h2 { margin:5px 0 10px; font-size:36px; }
.training-calendar-callout p { max-width:650px; margin:0; color:#d3dde6; line-height:1.65; }
.training-course-page { display:grid; gap:64px; }
.training-course-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:28px; align-items:stretch; }
.training-course-copy { padding:50px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.course-number { color:var(--green-dark); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:850; }
.training-course-copy h2 { max-width:760px; margin:14px 0 24px; font-size:clamp(42px,5vw,68px); letter-spacing:-.055em; line-height:1; }
.training-course-lead { max-width:830px; margin:0; color:#39485b; font-size:19px; line-height:1.75; }
.training-course-actions { display:flex; align-items:center; gap:25px; margin-top:36px; }
.training-course-note { display:flex; flex-direction:column; justify-content:center; padding:42px; color:#fff; background:var(--navy); border-radius:20px; }
.training-course-note h3 { margin:5px 0 20px; font-size:30px; line-height:1.2; }
.training-course-note p { margin:0; color:#c9d5df; line-height:1.75; }
.training-enquiry-shell { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(0,1.15fr); align-items:start; gap:45px; scroll-margin-top:30px; }
.training-enquiry-heading { position:sticky; top:25px; }
.training-enquiry-heading h2 { margin:5px 0 16px; font-size:46px; line-height:1; }
.training-enquiry-heading p { color:var(--muted); line-height:1.7; }
.training-enquiry-form input[readonly] { color:var(--navy); background:#eaf7ef; border-color:#a9d9bc; font-weight:800; cursor:not-allowed; }
.training-enquiry-form .fedusa-form-message.is-success { color:var(--green-dark); }
.training-enquiry-form .fedusa-form-message.is-error { color:#a51919; }
@media (width<=980px) {
  .training-hub-intro,.training-course-layout,.training-enquiry-shell { grid-template-columns:1fr; }
  .training-hub-intro { gap:20px; }
  .training-enquiry-heading { position:static; }
}
@media (width<=700px) {
  .training-course-grid { grid-template-columns:1fr; }
  .training-course-card { min-height:0; grid-template-columns:48px 1fr; padding:25px 22px; }
  .training-course-card>span { width:44px; height:44px; }
  .training-course-card h3 { font-size:23px; }
  .training-calendar-callout,.training-course-actions { align-items:flex-start; flex-direction:column; }
  .training-calendar-callout,.training-course-copy,.training-course-note { padding:30px 25px; }
  .training-course-lead { font-size:16px; }
}

/* Contact offices */
.office-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.office-card { min-height:520px; padding:46px; color:#fff; background:linear-gradient(145deg,#071b31,#0d2946); border-radius:20px; box-shadow:0 22px 55px rgba(7,27,49,.14); }
.office-card-green { background:linear-gradient(145deg,#075e3a,#0a8f50); }
.office-card-top { display:flex; align-items:flex-start; gap:22px; padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.18); }
.office-number { display:grid; place-items:center; flex:0 0 56px; width:56px; height:56px; color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-weight:850; }
.office-card .eyebrow { color:#54ee98; margin-bottom:7px; }
.office-card h2 { margin:0; font-size:38px; line-height:1.05; }
.office-card address { min-height:145px; margin:34px 0; color:rgba(255,255,255,.78); font-size:17px; font-style:normal; line-height:1.8; }
.office-card address span { color:rgba(255,255,255,.58); }
.office-links { display:grid; gap:14px; }
.office-links>a:not(.office-map) { display:grid; grid-template-columns:145px 1fr; align-items:center; gap:16px; padding:15px 0; border-top:1px solid rgba(255,255,255,.14); }
.office-links small { color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.08em; font-size:9px; }
.office-links strong { color:#fff; font-size:15px; overflow-wrap:anywhere; }
.office-map { display:inline-flex; margin-top:10px; color:#54ee98; font-size:13px; font-weight:800; }
.contact-strip { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:24px; padding:44px 50px; color:#fff; background:var(--navy); border-radius:18px; }
.contact-strip h2 { margin:0; font-size:36px; }

/* Interactive events calendar */
.calendar-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:30px; }
.calendar-intro h2 { margin:0; font-size:clamp(40px,5vw,64px); line-height:1; }
.calendar-intro p { max-width:650px; color:var(--muted); margin:15px 0 0; line-height:1.7; }
.calendar-key { display:flex; gap:18px; color:var(--muted); font-size:12px; white-space:nowrap; }
.calendar-key span { display:flex; align-items:center; gap:7px; }
.key-dot { width:9px; height:9px; border-radius:50%; background:var(--green); }
.key-past { background:#9ba7b2; }
.calendar-shell { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:0 24px 70px rgba(7,27,49,.09); }
.calendar-toolbar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:22px 24px; color:#fff; background:var(--navy); }
.calendar-toolbar h3 { margin:0; text-align:center; font-size:22px; }
.calendar-navigation,.calendar-views { display:flex; align-items:center; gap:7px; }
.calendar-views { justify-self:end; }
.calendar-toolbar button { min-width:44px; min-height:42px; padding:0 13px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); border-radius:10px; cursor:pointer; font-weight:750; }
.calendar-toolbar button:hover,.calendar-toolbar button.active { color:var(--navy); background:#52e493; border-color:#52e493; }
.calendar-weekdays { display:grid; grid-template-columns:repeat(7,1fr); color:var(--muted); background:#f4f7f5; border-bottom:1px solid var(--line); }
.calendar-weekdays span { padding:13px 10px; text-align:center; text-transform:uppercase; letter-spacing:.09em; font-size:9px; font-weight:850; }
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.calendar-loading { grid-column:1/-1; padding:70px 25px; text-align:center; color:var(--muted); }
.calendar-day { min-height:145px; padding:12px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.is-outside { background:#f7f9f8; color:#aab2ba; }
.calendar-day.is-today { background:#effaf3; box-shadow:inset 0 0 0 2px rgba(11,173,88,.35); }
.calendar-day-number { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; font-size:12px; font-weight:850; }
.calendar-day.is-today .calendar-day-number { color:#fff; background:var(--green-dark); }
.calendar-event { display:block; width:100%; margin-top:8px; padding:9px 10px; text-align:left; color:#fff; background:var(--navy-soft); border:0; border-radius:9px; cursor:pointer; font-size:11px; font-weight:780; line-height:1.25; }
.calendar-event:hover { background:var(--green-dark); transform:translateY(-1px); }
.calendar-event.is-past { color:#39495a; background:#e8edef; }
.calendar-event time { display:block; margin-bottom:3px; color:#58e89a; font-size:9px; font-weight:850; }
.calendar-event.is-past time { color:#677480; }
.calendar-list-view { padding:12px 24px 24px; }
.calendar-list-item { display:grid; grid-template-columns:82px 1fr auto; align-items:center; gap:22px; padding:22px 4px; border-bottom:1px solid var(--line); }
.calendar-list-item:last-child { border-bottom:0; }
.calendar-list-date { display:grid; place-items:center; min-height:72px; color:#fff; background:var(--navy); border-radius:13px; text-align:center; }
.calendar-list-date strong { font-size:28px; line-height:1; }
.calendar-list-date span { text-transform:uppercase; font-size:9px; }
.calendar-list-item h4 { margin:0 0 7px; font-size:20px; }
.calendar-list-item p { color:var(--muted); margin:0; font-size:12px; }
.calendar-list-item button { min-height:44px; color:var(--green-dark); background:#edf8f1; border:1px solid #ccebd8; border-radius:999px; padding:0 17px; cursor:pointer; font-weight:800; }
.calendar-note { display:grid; grid-template-columns:180px 1fr; gap:24px; margin-top:18px; padding:22px 26px; color:var(--muted); background:#eef3f0; border-radius:13px; font-size:13px; line-height:1.6; }
.calendar-note strong { color:var(--ink); }

.event-dialog { width:min(760px,calc(100% - 30px)); max-height:90vh; margin:auto; padding:0; color:var(--ink); background:#fff; border:0; border-radius:22px; overflow:auto; box-shadow:0 35px 100px rgba(2,15,28,.4); }
.event-dialog::backdrop { background:rgba(2,15,28,.78); backdrop-filter:blur(6px); }
.dialog-close { position:absolute; top:18px; right:18px; z-index:3; display:grid; place-items:center; width:44px; height:44px; color:#fff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); border-radius:50%; cursor:pointer; font-size:26px; }
.dialog-date { display:flex; align-items:end; gap:13px; padding:40px 80px 24px 34px; color:#fff; background:linear-gradient(135deg,var(--navy),var(--green-dark)); }
.dialog-date strong { font-size:70px; line-height:.85; }
.dialog-date span { text-transform:uppercase; letter-spacing:.08em; font-weight:850; }
.dialog-content { padding:34px; }
.dialog-content h2 { margin:0; font-size:clamp(34px,5vw,52px); line-height:1.02; }
.dialog-meta { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.dialog-meta span { padding:9px 13px; color:#244059; background:#edf3f0; border-radius:999px; font-size:12px; font-weight:750; }
.dialog-content>p { color:var(--muted); font-size:16px; line-height:1.75; }
.dialog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:26px; }
.button-navy { background:var(--navy); box-shadow:none; }
.event-rsvp { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:30px; padding-top:30px; border-top:1px solid var(--line); }
.rsvp-heading { grid-column:1/-1; }
.rsvp-heading h3 { margin:0; font-size:30px; }
.rsvp-heading p { color:var(--muted); margin:8px 0 4px; }
.event-rsvp label { display:grid; gap:7px; color:#304253; font-size:12px; font-weight:750; }
.event-rsvp input,.event-rsvp textarea { width:100%; padding:13px 14px; color:var(--ink); background:#f9fbfa; border:1px solid #bdc9d1; border-radius:10px; }
.event-rsvp input:focus,.event-rsvp textarea:focus { outline:3px solid rgba(11,173,88,.18); border-color:var(--green); }
.event-rsvp .checkbox { grid-template-columns:22px 1fr; align-items:start; }
.event-rsvp .checkbox input { width:20px; height:20px; margin:0; accent-color:var(--green); }
.event-rsvp .full { grid-column:1/-1; }
.event-rsvp .fedusa-form-message { color:var(--ink); }
body.dialog-open { overflow:hidden; }

@media (max-width:900px) {
  .training-feature { grid-template-columns:1fr; }
  .training-photo { min-height:430px; }
  .training-photo:after { background:linear-gradient(0deg,var(--navy),transparent 45%); }
  .training-copy { margin-top:-70px; padding:40px 30px 46px; position:relative; z-index:2; }
  .training-topics { grid-template-columns:repeat(2,1fr); }
  .office-grid { grid-template-columns:1fr; }
  .calendar-intro { align-items:flex-start; flex-direction:column; }
  .calendar-toolbar { grid-template-columns:1fr auto; }
  .calendar-toolbar h3 { grid-column:1/-1; grid-row:1; }
  .calendar-navigation { grid-column:1; grid-row:2; }
  .calendar-views { grid-column:2; grid-row:2; }
  .calendar-day { min-height:120px; padding:8px; }
}
@media (max-width:620px) {
  .training-photo { min-height:330px; }
  .training-topics { grid-template-columns:1fr; }
  .training-topics article { min-height:190px; }
  .office-card { min-height:0; padding:30px 24px; }
  .office-card h2 { font-size:31px; }
  .office-card address { min-height:0; font-size:15px; }
  .office-links>a:not(.office-map) { grid-template-columns:1fr; gap:4px; }
  .contact-strip { align-items:flex-start; flex-direction:column; padding:34px 26px; }
  .contact-strip h2 { font-size:30px; }
  .calendar-intro h2 { font-size:40px; }
  .calendar-key { flex-wrap:wrap; }
  .calendar-toolbar { padding:17px 14px; }
  .calendar-toolbar h3 { font-size:19px; }
  .calendar-navigation button[data-calendar-today] { display:none; }
  .calendar-weekdays span { padding:10px 2px; letter-spacing:0; }
  .calendar-day { min-height:76px; padding:5px; }
  .calendar-day-number { width:25px; height:25px; font-size:10px; }
  .calendar-event { min-height:42px; padding:5px; font-size:8px; overflow:hidden; }
  .calendar-event time { font-size:8px; }
  .calendar-list-view { padding:8px 16px 20px; }
  .calendar-list-item { grid-template-columns:62px 1fr; gap:13px; }
  .calendar-list-item button { grid-column:2; justify-self:start; }
  .calendar-note { grid-template-columns:1fr; gap:5px; }
  .dialog-date { padding:34px 70px 22px 24px; }
  .dialog-content { padding:26px 22px 32px; }
  .event-rsvp { grid-template-columns:1fr; }
  .event-rsvp .full,.rsvp-heading { grid-column:auto; }
  .dialog-actions .button { width:100%; }
}

/* Language selection */
.language-switcher { position:relative; display:flex; align-items:center; flex:0 0 auto; min-width:128px; height:42px; color:#fff; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.34); border-radius:999px; transition:border-color .2s,background .2s; }
.language-switcher:hover,.language-switcher:focus-within { background:rgba(255,255,255,.13); border-color:#50e891; }
.language-switcher-icon { margin-left:13px; color:#50e891; font-size:14px; font-weight:850; line-height:1; }
.language-switcher select { z-index:1; width:100%; height:100%; padding:0 30px 0 8px; color:#fff; cursor:pointer; background:transparent; border:0; outline:0; appearance:none; font-size:11px; font-weight:750; }
.language-switcher select option { color:var(--navy); background:#fff; }
.language-switcher-chevron { pointer-events:none; position:absolute; right:12px; top:10px; color:#50e891; font-size:15px; }
.translation-engine { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; }
.goog-te-banner-frame.skiptranslate,.goog-te-balloon-frame { display:none!important; }
body { top:0!important; }

/* One mobile navigation system across portrait, landscape and tablet widths. */
@media (width<=1160px) {
  body { padding-bottom:72px; }
  .site-header .mobile-menu { display:none; }
  .site-header .language-switcher { margin-left:auto; }
  .site-header>.button-small { margin-left:0; }
  .mobile-dock { z-index:100; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; position:fixed; right:10px; bottom:9px; left:10px; height:62px; padding:5px 7px; color:#fff; background:rgba(4,24,42,.96); border:1px solid rgba(255,255,255,.18); border-radius:18px; box-shadow:0 14px 45px rgba(0,0,0,.3); backdrop-filter:blur(16px); }
  .mobile-dock>a,.mobile-dock>details>summary { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; min-width:0; height:52px; cursor:pointer; border-radius:12px; list-style:none; }
  .mobile-dock>a:active,.mobile-dock>details[open]>summary { color:#4ae388; background:rgba(255,255,255,.08); }
  .mobile-dock span { font-size:20px; font-weight:800; line-height:1; }
  .mobile-dock small { max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:9px; }
  .mobile-dock details { position:static; }
  .mobile-dock summary::-webkit-details-marker { display:none; }
  .mobile-dock-sheet { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; position:absolute; right:0; bottom:70px; left:0; max-height:calc(100dvh - 98px); overflow:auto; padding:18px; background:var(--navy); border:1px solid rgba(255,255,255,.15); border-radius:18px; box-shadow:0 -18px 55px rgba(0,0,0,.28); }
  .mobile-dock-sheet>strong { position:sticky; top:-18px; z-index:2; grid-column:1/-1; padding:18px 8px 12px; color:#4ae388; background:var(--navy); text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
  .mobile-nav-group { background:rgba(255,255,255,.04); border-radius:11px; }
  .mobile-nav-group>summary { display:flex; justify-content:space-between; align-items:center; padding:13px 14px; cursor:pointer; list-style:none; font-size:13px; font-weight:750; }
  .mobile-nav-group>summary::-webkit-details-marker { display:none; }
  .mobile-nav-group[open]>summary span { transform:rotate(45deg); }
  .mobile-nav-group>div { display:grid; gap:3px; padding:0 7px 8px; }
  .mobile-nav-group a { padding:10px 12px!important; background:rgba(255,255,255,.04)!important; font-size:11px!important; }
  .mobile-nav-direct { padding:13px 14px!important; background:rgba(255,255,255,.05); border-radius:9px; font-size:12px; }
}

@media (width<=820px) {
  .language-switcher { margin-left:auto; min-width:116px; }
}

@media (width<=420px) {
  .site-nav-wrap .site-header { gap:8px; padding-inline:14px; }
  .language-switcher { min-width:108px; height:40px; }
  .language-switcher-icon { margin-left:10px; }
}

/* Phone landscape: preserve the full hero, keep controls clear and contain the menu sheet. */
@media (width<=1160px) and (orientation:landscape) and (height<=650px) {
  .site-header { height:70px; padding-block:6px; }
  .brand { flex-basis:52px; width:52px; }
  .brand img { width:48px; height:52px; }
  .site-header>.button-small { min-height:40px; padding-inline:15px; }
  .language-switcher { height:40px; min-width:118px; }
  .hero { min-height:calc(100svh - 70px); }
  .hero-content { grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr); align-items:center; gap:28px; padding:30px 28px 92px; }
  .hero-copy { max-width:620px; }
  .hero .eyebrow { margin-bottom:5px; font-size:9px; }
  .hero h1 { margin:7px 0 11px; font-size:clamp(48px,7.3vw,72px); line-height:.84; }
  .hero h2 { margin-bottom:10px; font-size:clamp(18px,2.4vw,27px); }
  .hero-copy>p { max-width:540px; font-size:12px; line-height:1.45; }
  .hero-actions { margin-top:16px; gap:9px; }
  .hero-actions .button { min-height:40px; padding-inline:16px; font-size:11px; }
  .congress-card { padding:17px; border-radius:16px; }
  .congress-heading { align-items:center; padding-bottom:12px; }
  .congress-heading strong { font-size:10px; }
  .countdown-grid { padding-top:13px; }
  .countdown-unit span { font-size:26px; }
  .countdown-unit small { margin-top:4px; font-size:7px; }
  .stats-wrap { margin-top:0; padding:22px 20px 92px; background:var(--cream); }
  .inner-hero { min-height:300px; }
  .inner-hero-content { padding:55px 28px 88px; }
  .inner-hero-content h1 { font-size:clamp(42px,7vw,64px); }
  .inner-hero-content p { margin-top:14px; font-size:14px; }
  .mobile-dock-sheet { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:calc(100dvh - 92px); }
}

/* FEDUSA in the Media */
.media-centre { max-width:1360px; }
.media-overview { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr); align-items:end; gap:70px; padding:18px 0 78px; }
.media-overview h2,.media-section-heading h2 { margin:0; letter-spacing:-.055em; font-size:clamp(42px,5vw,70px); line-height:1; }
.media-overview>div>p { max-width:720px; margin:24px 0 0; color:var(--muted); font-size:17px; line-height:1.8; }
.media-metrics { display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; color:#fff; background:var(--navy); border-radius:18px; box-shadow:0 24px 55px rgba(7,27,49,.14); }
.media-metrics article { min-height:155px; padding:27px 20px; border-right:1px solid rgba(255,255,255,.13); display:flex; flex-direction:column; justify-content:flex-end; }
.media-metrics article:last-child { border-right:0; }
.media-metrics strong { color:#51e58f; letter-spacing:-.05em; font-size:38px; line-height:1; }
.media-metrics span { margin-top:11px; color:rgba(255,255,255,.68); font-size:11px; line-height:1.4; }
.media-video-section { margin:0 -40px; padding:82px 40px 88px; color:#fff; background:linear-gradient(145deg,#06192c,#0b2945); border-radius:26px; }
.media-section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:36px; }
.media-video-section .media-section-heading p { color:rgba(255,255,255,.66); }
.media-section-heading>p { max-width:390px; margin:0; color:var(--muted); line-height:1.65; }
.media-video-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.media-video-card { min-height:280px; padding:25px; color:#fff; text-align:left; cursor:pointer; background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.035)); border:1px solid rgba(255,255,255,.14); border-radius:17px; display:flex; flex-direction:column; transition:transform .25s,border-color .25s,background .25s; }
.media-video-card:hover { transform:translateY(-6px); border-color:#51e58f; background:linear-gradient(155deg,rgba(11,173,88,.28),rgba(255,255,255,.05)); }
.media-video-featured { grid-column:span 2; background:linear-gradient(145deg,rgba(11,173,88,.5),rgba(255,255,255,.05)); }
.media-video-top { display:flex; justify-content:space-between; color:#55e998; text-transform:uppercase; letter-spacing:.11em; font-size:9px; font-style:normal; font-weight:850; }
.media-video-card>strong { max-width:390px; margin:55px 0 30px; letter-spacing:-.03em; font-size:23px; line-height:1.25; }
.media-video-featured>strong { max-width:650px; font-size:35px; }
.media-play { display:flex; align-items:center; gap:10px; margin-top:auto; color:rgba(255,255,255,.72); font-size:11px; font-weight:750; }
.media-play i { width:38px; height:38px; display:grid; place-items:center; color:var(--navy); background:#51e58f; border-radius:50%; font-size:12px; font-style:normal; }
.coverage-section { padding-top:96px; }
.coverage-toolbar { position:sticky; top:10px; z-index:12; display:grid; grid-template-columns:1fr 220px 155px auto; gap:10px; padding:12px; background:rgba(255,255,255,.9); border:1px solid var(--line); border-radius:17px; box-shadow:0 16px 45px rgba(7,27,49,.08); backdrop-filter:blur(18px); }
.coverage-toolbar input,.coverage-toolbar select { width:100%; height:50px; padding:0 16px; color:var(--ink); background:#f6f8f7; border:1px solid #d7dfe3; border-radius:11px; outline:0; }
.coverage-toolbar input:focus,.coverage-toolbar select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(11,173,88,.14); }
.coverage-search { position:relative; }
.coverage-search input { padding-right:46px; }
.coverage-search i { position:absolute; top:9px; right:15px; color:var(--green-dark); font-size:24px; font-style:normal; }
.coverage-toolbar button { padding:0 18px; color:var(--green-dark); cursor:pointer; background:#e8f7ee; border:1px solid #caead6; border-radius:11px; font-size:12px; font-weight:800; }
.coverage-results-bar { display:flex; justify-content:space-between; align-items:center; margin:24px 2px 13px; color:var(--muted); font-size:12px; }
.coverage-results-bar p { margin:0; color:var(--ink); font-weight:850; }
.coverage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.coverage-card { min-width:0; }
.coverage-card>a { min-height:330px; height:100%; padding:26px; background:#fff; border:1px solid var(--line); border-radius:17px; display:flex; flex-direction:column; transition:transform .25s,border-color .25s,box-shadow .25s; }
.coverage-card>a:hover { transform:translateY(-6px); border-color:rgba(11,173,88,.55); box-shadow:0 24px 55px rgba(7,27,49,.1); }
.coverage-card-top { display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:12px; }
.coverage-card-top>i { width:44px; height:44px; display:grid; place-items:center; color:#fff; background:var(--navy); border-radius:12px; font-size:12px; font-style:normal; font-weight:900; }
.coverage-card-top>span { min-width:0; }
.coverage-card-top strong,.coverage-card-top small { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.coverage-card-top strong { font-size:12px; }
.coverage-card-top small { margin-top:3px; color:var(--muted); font-size:9px; }
.coverage-card-top>b { color:var(--green-dark); font-size:18px; }
.coverage-topic { align-self:flex-start; margin-top:34px; padding:7px 10px; color:var(--green-dark); background:#eaf7ef; border-radius:999px; font-size:9px; font-weight:850; }
.coverage-card h3 { margin:18px 0 28px; letter-spacing:-.025em; font-size:21px; line-height:1.35; }
.coverage-read { margin-top:auto; color:var(--muted); font-size:11px; font-weight:750; }
.coverage-read b { margin-left:5px; color:var(--green-dark); }
.coverage-load { text-align:center; padding-top:34px; }
.coverage-empty { padding:65px 25px; text-align:center; color:var(--muted); border:1px dashed #b9c6ce; border-radius:17px; }
.coverage-empty strong,.coverage-empty span { display:block; }
.coverage-empty strong { color:var(--ink); font-size:24px; }
.coverage-empty span { margin-top:8px; }
.media-video-dialog { width:min(980px,calc(100% - 30px)); max-height:92vh; padding:0; margin:auto; overflow:auto; color:#fff; background:var(--navy); border:0; border-radius:22px; box-shadow:0 35px 100px rgba(2,15,28,.55); }
.media-video-dialog::backdrop { background:rgba(2,15,28,.84); backdrop-filter:blur(8px); }
.media-video-dialog>button { position:absolute; top:15px; right:15px; z-index:2; width:44px; height:44px; color:#fff; cursor:pointer; background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.35); border-radius:50%; font-size:25px; }
.media-video-frame { aspect-ratio:16/9; background:#000; }
.media-video-frame iframe { width:100%; height:100%; border:0; }
.media-video-dialog>div:last-child { padding:28px 32px 34px; }
.media-video-dialog h2 { margin:0; font-size:30px; line-height:1.2; }

@media (max-width:980px) {
  .media-overview { grid-template-columns:1fr; gap:35px; }
  .media-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .coverage-toolbar { grid-template-columns:1fr 1fr; }
  .coverage-search { grid-column:1/-1; }
  .coverage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .media-overview { padding-bottom:55px; }
  .media-metrics { grid-template-columns:1fr; }
  .media-metrics article { min-height:105px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .media-video-section { margin-inline:-22px; padding:60px 22px 68px; border-radius:0; }
  .media-section-heading { align-items:flex-start; flex-direction:column; gap:17px; }
  .media-video-grid,.coverage-grid { grid-template-columns:1fr; }
  .media-video-featured { grid-column:auto; }
  .media-video-featured>strong { font-size:28px; }
  .coverage-toolbar { position:static; grid-template-columns:1fr; }
  .coverage-search { grid-column:auto; }
  .coverage-results-bar { align-items:flex-start; flex-direction:column; gap:5px; }
  .coverage-card>a { min-height:290px; }
  .media-video-dialog>div:last-child { padding:22px; }
  .media-video-dialog h2 { font-size:22px; }
}

/* Event album gallery */
.gallery-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.gallery-intro h2{max-width:660px;margin:10px 0 8px;font-size:46px;line-height:1.06;letter-spacing:-.04em}.gallery-intro p{color:var(--muted);margin:0;font-size:16px}.gallery-totals{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 12px;flex:0 0 auto;padding:22px 28px;border:1px solid var(--line);border-radius:15px;background:#fff}.gallery-totals strong{color:var(--green-dark);font-size:28px;line-height:1}.gallery-totals span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.event-album-grid{columns:3 280px;column-gap:14px}.event-album-card{break-inside:avoid;margin:0 0 14px;border-radius:15px;overflow:hidden;background:var(--navy);box-shadow:0 8px 25px rgba(4,24,42,.08)}.event-album-card button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;overflow:hidden}.event-album-card img{display:block;width:100%;height:auto;min-height:245px;max-height:470px;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.event-album-card button:hover img,.event-album-card button:focus-visible img{transform:scale(1.035)}.event-album-card button:focus-visible{outline:4px solid var(--green);outline-offset:-4px}.album-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,17,30,.9) 100%)}.album-card-copy{position:absolute;inset:auto 0 0;display:grid;gap:8px;padding:25px}.album-card-copy small{color:#72f3a8;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-style:normal;font-weight:850}.album-card-copy strong{font-size:22px;line-height:1.15;letter-spacing:-.025em}.album-card-copy em{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:11px;font-style:normal;font-weight:800;opacity:.82}.album-card-copy i{font-style:normal;font-size:16px;transition:transform .2s}.event-album-card button:hover .album-card-copy i{transform:translateX(4px)}
.gallery-dialog{width:min(1180px,calc(100% - 24px));max-width:none;max-height:94dvh;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:var(--navy);color:#fff;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.55)}.gallery-dialog::backdrop{background:rgba(1,11,20,.82);backdrop-filter:blur(7px)}.gallery-dialog-shell{max-height:94dvh;padding:25px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--green) rgba(255,255,255,.1)}.gallery-dialog-header{position:sticky;z-index:4;top:-25px;display:flex;align-items:start;justify-content:space-between;gap:30px;margin:-25px -25px 22px;padding:25px;background:rgba(4,24,42,.95);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.12)}.gallery-dialog-header h2{margin:7px 0 4px;font-size:30px;line-height:1.1}.gallery-dialog-header p{margin:0;color:rgba(255,255,255,.63);font-size:12px}.gallery-dialog-header button{flex:0 0 46px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:27px;cursor:pointer}.gallery-dialog-header button:hover,.gallery-dialog-header button:focus-visible{background:var(--green);border-color:var(--green);outline:none}.gallery-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:16px}.gallery-stage figure{display:grid;place-items:center;margin:0;min-height:420px;border-radius:15px;background:#020d17;overflow:hidden}.gallery-stage figure img{display:block;width:auto;max-width:100%;height:auto;max-height:56dvh;object-fit:contain}.gallery-stage figcaption{width:100%;padding:12px 17px;color:rgba(255,255,255,.66);background:rgba(255,255,255,.05);font-size:11px}.gallery-arrow{width:50px;height:50px;border:1px solid rgba(255,255,255,.23);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:21px;cursor:pointer}.gallery-arrow:hover,.gallery-arrow:focus-visible{background:var(--green);border-color:var(--green);outline:none}.gallery-scroll-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 11px}.gallery-scroll-heading strong{font-size:14px}.gallery-scroll-heading span{color:rgba(255,255,255,.55);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.gallery-thumbnails{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-height:230px;padding:2px 8px 2px 2px;overflow-y:auto;overscroll-behavior:contain}.gallery-thumbnails button{position:relative;min-width:0;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:9px;background:#10293d;overflow:hidden;cursor:pointer;opacity:.62;transition:opacity .2s,border-color .2s,transform .2s}.gallery-thumbnails button:hover,.gallery-thumbnails button:focus-visible,.gallery-thumbnails button.is-active{border-color:#4ae388;opacity:1;outline:none;transform:translateY(-1px)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}.gallery-thumbnails span{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;min-width:24px;height:20px;padding:0 4px;border-radius:5px;background:rgba(2,13,23,.8);color:#fff;font-size:9px;font-weight:800}
@media (max-width:820px){.gallery-intro{align-items:start;flex-direction:column}.gallery-intro h2{font-size:38px}.gallery-totals{width:100%;grid-template-columns:auto 1fr auto 1fr}.gallery-dialog{width:calc(100% - 12px);max-height:96dvh;border-radius:16px}.gallery-dialog-shell{max-height:96dvh;padding:15px}.gallery-dialog-header{top:-15px;margin:-15px -15px 15px;padding:17px 15px}.gallery-dialog-header h2{font-size:23px}.gallery-stage{grid-template-columns:1fr;position:relative;gap:0}.gallery-stage figure{min-height:310px}.gallery-stage figure img{max-height:55dvh}.gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);background:rgba(4,24,42,.78)}.gallery-arrow-prev{left:9px}.gallery-arrow-next{right:9px}.gallery-thumbnails{grid-template-columns:repeat(4,1fr);max-height:30dvh}.gallery-scroll-heading span{display:none}}@media (max-width:520px){.gallery-intro h2{font-size:33px}.gallery-totals{padding:18px}.event-album-grid{columns:1}.event-album-card img{max-height:430px}.album-card-copy{padding:22px}.gallery-stage figure{min-height:250px}.gallery-thumbnails{grid-template-columns:repeat(3,1fr)}}
/* Official social channels and homepage social wall */
.social-links { display:flex; align-items:center; gap:8px; }
.social-link { display:grid; place-items:center; flex:0 0 auto; width:35px; height:35px; color:#fff; border:1px solid rgba(255,255,255,.32); border-radius:10px; line-height:1; transition:color .2s,background .2s,border-color .2s,transform .2s; }
.social-link:hover,.social-link:focus-visible { color:var(--navy); background:#4ae388; border-color:#4ae388; transform:translateY(-2px); }
.social-link span { display:block; width:18px; height:18px; line-height:1; }
.social-link svg { display:block; width:100%; height:100%; fill:currentColor; }
.social-links--header { flex:0 0 auto; }
.social-links--header .social-link { width:30px; height:30px; border-radius:8px; }
.social-links--footer { margin-top:20px; }
.footer-grid .social-links--footer a { color:#fff; line-height:1; }

.social-wall-section { max-width:1280px; margin:20px auto 0; padding:70px 54px 56px; color:#fff; background:radial-gradient(circle at 92% 0,rgba(11,173,88,.23),transparent 31%),linear-gradient(145deg,#061a2e,#0a2947); border:1px solid rgba(255,255,255,.14); border-radius:26px; box-shadow:0 30px 75px rgba(7,27,49,.16); }
.social-wall-heading { align-items:end; margin-bottom:34px; }
.social-wall-heading>div:first-child { max-width:760px; }
.social-wall-heading h2 { color:#fff; }
.social-wall-heading p { max-width:700px; margin:15px 0 0; color:rgba(255,255,255,.68); }
.social-links--wall .social-link { width:42px; height:42px; border-radius:12px; }
.social-feed-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.social-feed-card { min-width:0; overflow:hidden; color:var(--ink); background:#fff; border:1px solid rgba(255,255,255,.14); border-radius:19px; box-shadow:0 18px 48px rgba(1,17,31,.24); }
.social-feed-card>header { min-height:74px; padding:15px 19px; display:flex; justify-content:space-between; align-items:center; gap:16px; background:#fff; border-bottom:1px solid var(--line); }
.social-feed-card>header>a { flex:0 0 auto; color:var(--green-dark); font-size:11px; font-weight:850; }
.social-feed-brand { min-width:0; display:flex; align-items:center; gap:11px; }
.social-feed-brand>div { min-width:0; }
.social-feed-brand strong,.social-feed-brand small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.social-feed-brand strong { color:var(--ink); font-size:14px; }
.social-feed-brand small { max-width:300px; margin-top:2px; color:var(--muted); font-size:10px; }
.social-feed-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; color:#fff; background:var(--navy); border-radius:11px; font-family:Arial,Helvetica,sans-serif; font-size:17px; font-weight:900; }
.social-feed-card--facebook .social-feed-icon { background:#1877f2; font-size:23px; }
.social-feed-card--x .social-feed-icon { background:#0f1419; }
.social-feed-card--instagram .social-feed-icon { background:linear-gradient(135deg,#833ab4,#fd1d1d 55%,#fcb045); font-size:25px; font-weight:500; }
.social-feed-card--linkedin .social-feed-icon { background:#0a66c2; font-size:14px; }
.social-feed-embed { height:500px; overflow:hidden; background:#f3f6f7; }
.social-feed-embed iframe { display:block; width:100%; max-width:none; height:500px; border:0; }
.x-curated-feed { min-height:500px; padding:38px; color:#fff; background:radial-gradient(circle at 100% 0,rgba(255,255,255,.12),transparent 38%),linear-gradient(145deg,#090d12,#18222d); }
.x-feed-intro { display:flex; align-items:center; gap:22px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.16); }
.x-feed-intro .social-feed-big-icon { flex:0 0 66px; margin:0; color:#0f1419; background:#fff; }
.x-feed-intro .eyebrow { margin-bottom:7px; }
.x-feed-intro h3 { margin:0; color:#fff; font-size:29px; letter-spacing:-.035em; }
.x-update-list { display:grid; }
.x-update-list>a { display:grid; grid-template-columns:76px 1fr auto; align-items:center; gap:16px; min-height:103px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.x-update-list>a:last-child { border-bottom:0; }
.x-update-list time { color:#55e998; text-transform:uppercase; letter-spacing:.08em; font-size:9px; font-weight:850; }
.x-update-list strong { color:#fff; font-size:13px; line-height:1.45; }
.x-update-list span { color:#8ef6b9; white-space:nowrap; font-size:10px; font-weight:800; }
.instagram-feed { display:grid; grid-template-columns:1.12fr .88fr; grid-template-rows:repeat(2,250px); height:500px; background:#091c31; }
.instagram-feed>a { position:relative; min-width:0; overflow:hidden; background:#0b243d; }
.instagram-feed>a:first-child { grid-row:1 / 3; }
.instagram-feed img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.instagram-feed>a:hover img { transform:scale(1.045); }
.instagram-feed>a:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,14,26,.93),rgba(2,14,26,0) 62%); }
.instagram-feed>a>span { position:absolute; z-index:2; right:16px; bottom:16px; left:16px; color:#fff; }
.instagram-feed time { display:block; margin-bottom:6px; color:#56ec98; text-transform:uppercase; letter-spacing:.09em; font-size:9px; font-weight:850; }
.instagram-feed strong { display:block; font-size:12px; line-height:1.45; }
.instagram-feed>a:first-child strong { font-size:15px; }
.social-feed-fallback,.linkedin-feed { min-height:500px; padding:48px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; color:#fff; background:radial-gradient(circle at 100% 0,rgba(10,102,194,.45),transparent 46%),linear-gradient(145deg,#071b31,#0c3156); }
.social-feed-big-icon { display:grid; place-items:center; width:66px; height:66px; margin-bottom:32px; color:#fff; background:#0a66c2; border-radius:17px; font-family:Arial,Helvetica,sans-serif; font-size:24px; font-weight:900; box-shadow:0 15px 35px rgba(0,0,0,.22); }
.social-feed-card--instagram .social-feed-big-icon { background:linear-gradient(135deg,#833ab4,#fd1d1d 55%,#fcb045); font-size:34px; font-weight:500; }
.social-feed-fallback h3,.linkedin-feed h3 { max-width:470px; margin:0; color:#fff; font-size:clamp(30px,3.2vw,45px); line-height:1.04; letter-spacing:-.045em; }
.social-feed-fallback p,.linkedin-feed p { max-width:470px; margin:20px 0 27px; color:rgba(255,255,255,.72); line-height:1.7; }
.linkedin-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.linkedin-actions>a:not(.button) { color:#69efa2; font-size:12px; font-weight:800; }

@media (width<=1360px){.social-wall-section{max-width:calc(100% - 80px)}.social-links--header{display:none}}
@media (width<=980px){.social-feed-grid{grid-template-columns:1fr}.social-wall-section{max-width:calc(100% - 44px);padding:60px 34px 40px}.social-feed-brand small{max-width:470px}}
@media (width<=620px){.social-wall-section{max-width:100%;margin-top:0;padding:54px 22px 28px;border-right:0;border-left:0;border-radius:0}.social-wall-heading{align-items:flex-start}.social-links--wall .social-link{width:39px;height:39px}.social-feed-card>header{padding:14px}.social-feed-brand small{max-width:185px}.social-feed-embed{height:470px}.social-feed-embed iframe{height:470px}.x-curated-feed{min-height:470px;padding:30px 24px}.x-feed-intro{align-items:flex-start;flex-direction:column;gap:14px;padding-bottom:22px}.x-feed-intro .social-feed-big-icon{width:50px;height:50px;flex-basis:50px;margin:0;font-size:20px}.x-feed-intro h3{font-size:25px}.x-update-list>a{grid-template-columns:1fr auto;gap:6px 10px;min-height:100px}.x-update-list time{grid-column:1/-1}.x-update-list strong{font-size:12px}.instagram-feed{grid-template-columns:1fr 1fr;grid-template-rows:280px 190px;height:470px}.instagram-feed>a:first-child{grid-column:1/-1;grid-row:auto}.instagram-feed>a:first-child strong{font-size:13px}.instagram-feed strong{font-size:10px}.social-feed-fallback,.linkedin-feed{min-height:470px;padding:34px 25px}.social-feed-fallback h3,.linkedin-feed h3{font-size:32px}}


/* FEDUSA desktop dropdown viewport fix — 2026-07-23 */
@media (width > 1160px) {
  .desktop-nav-group:first-child .desktop-dropdown {
    left: 0;
    right: auto;
    width: min(610px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    transform: translateY(-8px);
  }
  .desktop-nav-group:first-child[open] .desktop-dropdown,
  .desktop-nav-group:first-child:hover .desktop-dropdown,
  .desktop-nav-group:first-child:focus-within .desktop-dropdown {
    transform: translateY(0);
  }
}
