@import url('https://fonts.googleapis.com/css2?family=Antic+Slab&family=Cabin:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'); :root { --primary: #0171B9; --primary-dark: #00568F; --primary-light: #3295CE; --accent: #19296E; --accent-dark: #19296E; --text: #2c3e50; --text-light: #5a6c7d; --text-muted: #8b8b9a; --bg: #f5f5f9; --white: #fff; --border: #d9d9e8; --font: 'Cabin', Arial, sans-serif; --heading-font: 'Antic Slab', Georgia, serif; --space-xs: .25rem; --space-sm: .5rem; --space-md: 1rem; --space-lg: 1.5rem; --space-xl: 2rem; --space-2xl: 3rem; --radius: 6px; --shadow-sm: 0 1px 2px rgba(0,0,0,.05); --shadow-md: 0 4px 6px rgba(0,0,0,.07); --shadow-lg: 0 10px 15px rgba(0,0,0,.1); }
/* Reset */ *{ box-sizing: border-box; }
::selection{ background: var(--primary); color: var(--white); }
html{ scroll-behavior: smooth; overflow-x: clip; margin: 0; }
body{ margin: 0; padding: 0; background: #F0F5FB; color: var(--text); font: 400 17px/1.65 var(--font); overflow-x: clip; }
body.admin-toolbar-horizontal,.toolbar-anti-flicker.toolbar-loading.toolbar-fixed body,.toolbar-anti-flicker.toolbar-loading.toolbar-fixed.toolbar-horizontal.toolbar-tray-open body{ padding-top: 0 !important; }
a{ color: var(--primary); text-decoration: none; transition: color .15s ease; }
a:hover{ color: var(--primary-dark); text-decoration: underline; }
img{ display: block; max-width: 100%; height: auto; }
:where(button, input, textarea, select):not(:where(#toolbar-administration, #toolbar-administration *)){ margin: 0; padding: 0; border: 0; font: inherit; }
button{ cursor: pointer; }
/* Typography */ h1,h2,h3,h4,h5,h6{ margin: var(--space-lg) 0 var(--space-md); color: var(--text); font-family: var(--heading-font); font-weight: 700; line-height: 1.2; }
h1{ font-size: 2.5rem; }
h2{ font-size: 2rem; }
h3{ font-size: 1.5rem; }
h4{ font-size: 1.25rem; }
h5{ font-size: 1.125rem; }
h6{ font-size: 1rem; }
p{ margin: 0 0 var(--space-md); color: var(--text); }
/* Alfasan header (compact). Replaces ALL previous header / nav / mobile-nav CSS: white brand row + floating red nav band,
   simple blue dropdowns, white language pill, slide-in mobile panel with logo. Keep your Bootstrap-Icons library attached. */
:root{--af-top:112px;--af-row:66px;--af-lap:30px;--af-cut:64px;--af-red:#19296E;--af-red-d:#19296E;--af-dark:#282828;--af-blue:#0171b9;--af-blue-d:#00568f;--af-ink:#1b2a36;--af-line:#e3eaf0;--af-soft:#f4f8fb;
--alfa-topbar-h:var(--af-top);--alfa-mainrow-h:var(--af-row);--alfa-header-h:calc(var(--af-top) + var(--af-row) - var(--af-lap));--alfa-purple:#0171B9;--alfa-purple-dark:#00568F;--alfa-red:#19296E;--alfa-red-dark:#19296E;--alfa-ink:#111;--alfa-hover:#f1f2f6;--alfa-soft:#f6f7fb;--alfa-line:#e6e8f0;}
body{padding-top:0!important;}
/* ---------- Shell ---------- */
.alfa-site-header{position:sticky;top:0;z-index:1000;width:100%;margin:0;padding:0;background:#fff;font-family:inherit;overflow:visible;transform:none!important;}
.alfa-site-header a:focus-visible,.alfa-site-header button:focus-visible{outline:2px solid var(--af-blue);outline-offset:2px;}
.alfa-site-header .alfa-main-row a:focus-visible,.alfa-site-header .alfa-main-row button:focus-visible{outline-color:#fff;}
.alfa-site-header .visually-hidden,.alfa-mobile-nav-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
/* ---------- White brand row: logo left, contact chips right ---------- */
.alfa-site-header .alfa-header-top{height:var(--af-top);background:#fff;}
.alfa-site-header .alfa-header-top-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:1740px;height:100%;margin:0 auto;padding:0 clamp(1.25rem,5.25vw,6.25rem);}
.alfa-site-header .alfa-logo,.alfa-mobile-nav-logo{display:flex;flex:0 0 auto;align-items:center;margin:0;padding:0;background:transparent;text-decoration:none;}
/* The PNG has transparent padding: size by width + crop box so the art fills it */
.alfa-site-header .alfa-logo img,.alfa-mobile-nav-logo img{display:block;width:clamp(220px,19vw,320px)!important;height:auto!important;max-width:100%;max-height:none!important;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;}
.alfa-site-header .alfa-header-contact{display:flex;align-items:center;align-self:flex-start;height:calc(var(--af-top) - var(--af-lap));gap:clamp(1rem,2.5vw,2.25rem);}
.alfa-site-header .alfa-header-contact a{display:flex;align-items:center;gap:.7rem;color:var(--af-ink);text-decoration:none;}
.alfa-contact-icon{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border-radius:50%;background:#eaf5fb;color:var(--af-red);font-size:1.05rem;transition:background .2s,color .2s,transform .2s;}
.alfa-contact-text{display:flex;align-items:center;line-height:1.1;}
.alfa-contact-text strong{font-size:1rem;font-weight:600;transition:color .2s;}
.alfa-site-header .alfa-header-contact a:hover .alfa-contact-icon,.alfa-site-header .alfa-header-contact a:focus-visible .alfa-contact-icon{background:var(--af-red);color:#fff;transform:translateY(-2px);}
.alfa-site-header .alfa-header-contact a:hover strong{color:var(--af-red);}
/* ---------- Red nav band (floats across header / hero boundary) ---------- */
.alfa-site-header .alfa-main-row{position:absolute;right:0;bottom:calc(var(--af-row) * -1 + var(--af-lap));left:0;z-index:5;height:var(--af-row);background:transparent;isolation:isolate;overflow:visible;}
.alfa-site-header .alfa-main-row::before{content:"";position:absolute;clip-path:polygon(var(--af-cut) 0,100% 0,100% 100%,0 100%);}
.alfa-site-header .alfa-main-row::before{z-index:-1;inset:0 0 0 26%;background:#0088CC;}
.alfa-site-header .alfa-main-inner{display:flex;align-items:center;justify-content:flex-end;width:100%;max-width:1740px;height:100%;min-height:0;margin:0 auto;padding:0 clamp(1.25rem,5.25vw,6.25rem);}
.alfa-site-header .alfa-header-right{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.75rem,1.6vw,1.75rem);min-width:0;height:100%;margin-left:auto;}
.alfa-site-header .alfa-primary-nav,.alfa-site-header .alfa-primary-nav>div{display:flex;height:100%;min-width:0;background:transparent;}
.alfa-site-header .alfa-menu-arrow{display:none;}
/* ---------- Main items: white on red, dark veil + white underline sweep ---------- */
.alfa-site-header .alfa-nav-menu--primary{display:flex;align-items:stretch;gap:clamp(.1rem,.6vw,.5rem);height:100%;margin:0;padding:0;list-style:none;}
.alfa-site-header .alfa-primary-nav .alfa-nav-item{position:relative;display:flex;margin:0;padding:0;}
.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item>.alfa-nav-link{display:flex;align-items:center;gap:.4rem;height:var(--af-row);padding:0 clamp(.55rem,.9vw,.95rem);color:#fff;font-size:clamp(.78rem,.9vw,.95rem);font-weight:800;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap;text-decoration:none;background-color:transparent;background-image:linear-gradient(#fff,#fff);background-repeat:no-repeat;background-position:50% 100%;background-size:0 4px;transition:background-color .2s,background-size .25s;}
.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item:hover>.alfa-nav-link,.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item:focus-within>.alfa-nav-link,.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item>.alfa-nav-link.is-active{background-color:rgba(0,0,0,.2);background-size:100% 4px;color:#fff;}
.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item.has-children>.alfa-nav-link::after{content:"";width:.42em;height:.42em;margin:-.22em 0 0 .3em;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s,margin .2s;}
.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item.has-children:hover>.alfa-nav-link::after,.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item.has-children:focus-within>.alfa-nav-link::after{margin-top:.2em;transform:rotate(-135deg);}
/* ---------- Sub menus: SIMPLE DROPDOWN. One white card under its own link (centred), a single column of blue links, a small pointer on top.
   The old mega-panel layout is gone: .alfa-submenu--mega and .alfa-submenu--products keep their class names but look like every other dropdown. ---------- */
.alfa-site-header .alfa-submenu{margin:0;padding:.6rem;list-style:none;}
.alfa-site-header .alfa-primary-nav .alfa-nav-item>.alfa-submenu{position:absolute;top:calc(100% + 10px);left:50%;z-index:1002;display:flex;flex-direction:column;gap:.1rem;width:max-content;min-width:240px;max-width:min(320px,calc(100vw - 2rem));max-height:none;overflow:visible;background:#fff;border:0;border-radius:12px;box-shadow:0 16px 40px rgba(8,40,66,.16),0 2px 6px rgba(8,40,66,.06);opacity:0;visibility:hidden;transform:translate(-50%,10px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;}
.alfa-site-header .alfa-primary-nav .alfa-nav-item:hover>.alfa-submenu,.alfa-site-header .alfa-primary-nav .alfa-nav-item:focus-within>.alfa-submenu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto;}
/* pointer on top + invisible bridge (keeps the menu open while the mouse moves down into it) */
.alfa-site-header .alfa-primary-nav .alfa-nav-item>.alfa-submenu::before{content:"";position:absolute;top:-8px;left:50%;margin-left:-8px;border:solid transparent;border-width:0 8px 8px;border-bottom-color:#fff;filter:drop-shadow(0 -2px 2px rgba(8,40,66,.06));}
.alfa-site-header .alfa-primary-nav .alfa-nav-item>.alfa-submenu::after{content:"";position:absolute;top:-18px;right:0;left:0;height:18px;}
.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-item{display:block;width:100%;}
.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;min-height:2.6rem;padding:.6rem 1rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--af-blue-d);font-size:.95rem;font-weight:600;line-height:1.35;text-decoration:none;white-space:normal;transition:background-color .18s,color .18s,border-color .18s;}
.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link::after{content:"\2192";color:var(--af-blue);font-size:1rem;opacity:0;transform:translateX(-6px);transition:opacity .18s,transform .18s,color .18s;}
.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link:hover,.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link:focus-visible,.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link.is-active{border-color:var(--af-blue);background:#eaf5fb;color:var(--af-blue-d);outline:0;}
.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link:hover::after,.alfa-site-header .alfa-primary-nav .alfa-submenu .alfa-nav-link:focus-visible::after{opacity:1;transform:none;}
/* the old mega-menu headings ("PRODUCT RANGE / Browse by species") are not used in a dropdown */
.alfa-site-header .alfa-primary-nav .alfa-submenu>.alfa-mega-heading,.alfa-site-header .alfa-primary-nav .alfa-submenu>.alfa-products-mega-heading{display:none;}
/* ---------- Actions: white language pill, search, hamburger ---------- */
.alfa-site-header .alfa-main-actions{display:flex;flex:0 0 auto;align-items:center;gap:.6rem;margin:0 0 0 .3rem;}
.alfa-site-header .alfa-language-control{position:relative;display:flex;align-items:center;}
.alfa-site-header .alfa-language-flag-library{position:absolute;width:0;height:0;overflow:hidden;}
#alfa-google-translate-engine{position:fixed;left:-10000px;top:0;width:240px;height:40px;overflow:hidden;opacity:0;pointer-events:none;}
.alfa-site-header .alfa-language-toggle{display:inline-flex;align-items:center;gap:.5rem;height:40px;padding:0 .9rem 0 .75rem;border:0;border-radius:999px;background:#fff;color:var(--af-ink);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.2);transition:box-shadow .2s,transform .2s,color .2s;}
.alfa-site-header .alfa-language-toggle:hover,.alfa-site-header .alfa-language-toggle:focus-visible,.alfa-site-header .alfa-language-toggle[aria-expanded="true"]{color:var(--af-red);box-shadow:0 6px 16px rgba(0,0,0,.28);transform:translateY(-1px);}
.alfa-site-header .alfa-language-current-flag{display:inline-flex;width:20px;height:20px;color:var(--af-red);}
.alfa-site-header .alfa-language-current-flag svg{width:100%;height:100%;}
.alfa-site-header .alfa-language-chevron{color:var(--af-red);transition:transform .2s;}
.alfa-site-header .alfa-language-toggle[aria-expanded="true"] .alfa-language-chevron{transform:rotate(180deg);}
.alfa-site-header .alfa-language-menu{position:absolute;top:calc(100% + 14px);right:0;z-index:1100;min-width:210px;padding:.4rem;background:#fff;border-top:3px solid var(--af-blue);border-radius:0 0 10px 10px;box-shadow:0 18px 40px rgba(8,40,66,.25);}
.alfa-site-header .alfa-language-menu[hidden]{display:none;}
.alfa-site-header .alfa-language-option{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .7rem;border:0;border-radius:6px;background:transparent;color:var(--af-ink);font-family:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;transition:background-color .15s,color .15s;}
.alfa-site-header .alfa-language-option:hover,.alfa-site-header .alfa-language-option:focus-visible{background:var(--af-blue);color:#fff;}
.alfa-site-header .alfa-language-flag-icon{flex:0 0 auto;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.14);}
.alfa-site-header .alfa-search-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:transparent;color:#fff;transition:background-color .2s,color .2s,transform .2s;}
.alfa-site-header .alfa-search-link:hover,.alfa-site-header .alfa-search-link:focus-visible{background:#fff;color:var(--af-red);transform:translateY(-1px);}
.alfa-site-header .alfa-hamburger-btn{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;padding:0;border:2px solid rgba(255,255,255,.6);border-radius:8px;background:rgba(255,255,255,.14);cursor:pointer;transition:background-color .2s;}
.alfa-site-header .alfa-hamburger-btn:hover{background:rgba(255,255,255,.28);}
.alfa-site-header .alfa-hamburger-btn span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .3s,opacity .3s;}
.alfa-site-header .alfa-hamburger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.alfa-site-header .alfa-hamburger-btn.open span:nth-child(2){opacity:0;}
.alfa-site-header .alfa-hamburger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* ---------- Mobile slide-in panel (logo header, accordion, clean contact footer) ---------- */
.alfa-mobile-nav-overlay{position:fixed;inset:0;z-index:1100;background:rgba(10,20,30,.6);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.alfa-mobile-nav-overlay.open{opacity:1;visibility:visible;}
html.alfa-nav-lock,html.alfa-nav-lock body{overflow:hidden;}
.alfa-mobile-nav-menu{position:fixed;top:0;bottom:0;left:0;z-index:1101;display:flex;flex-direction:column;width:88%;max-width:360px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;box-shadow:6px 0 28px rgba(0,0,0,.28);transform:translateX(-102%);visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;}
.alfa-mobile-nav-menu.open{transform:none;visibility:visible;}
.alfa-mobile-nav-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;background:#fff;border-bottom:3px solid var(--af-red);}
.alfa-mobile-nav-logo img{width:190px!important;}
.alfa-mobile-nav-close{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--af-red);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background-color .2s,transform .2s;}
.alfa-mobile-nav-close:hover{background:var(--af-dark);transform:rotate(90deg);}
.alfa-mobile-nav-menu .alfa-nav-menu{display:block;margin:0;padding:.35rem 0;list-style:none;}
.alfa-mobile-nav-menu .alfa-nav-item{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;border-bottom:1px solid var(--af-line);}
.alfa-mobile-nav-menu .alfa-nav-item>.alfa-nav-link{display:flex;flex:1 1 0;align-items:center;min-width:0;padding:.95rem 1.1rem;border-left:4px solid transparent;color:var(--af-ink);font-size:.92rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;}
.alfa-mobile-nav-menu .alfa-nav-item>.alfa-nav-link:hover,.alfa-mobile-nav-menu .alfa-nav-item>.alfa-nav-link:active,.alfa-mobile-nav-menu .alfa-nav-item.is-open>.alfa-nav-link{border-left-color:var(--af-red);background:#f0f2fa;color:var(--af-red);}
.alfa-mobile-nav-menu .alfa-menu-arrow,.alfa-mobile-nav-menu .alfa-mega-heading,.alfa-mobile-nav-menu .alfa-products-mega-heading{display:none;}
.alfa-sub-toggle{display:flex;flex:0 0 56px;align-items:center;justify-content:center;padding:0;border:0;border-left:1px solid var(--af-line);background:transparent;color:var(--af-red);cursor:pointer;}
.alfa-sub-toggle::before{content:"";width:9px;height:9px;margin-top:-4px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s,margin .25s;}
.alfa-sub-toggle[aria-expanded="true"]{background:#f0f2fa;}
.alfa-sub-toggle[aria-expanded="true"]::before{margin-top:4px;transform:rotate(-135deg);}
.alfa-mobile-nav-menu .alfa-nav-item>.alfa-submenu{position:static;display:block;flex:0 0 100%;width:100%;max-height:0;margin:0;padding:0;overflow:hidden;list-style:none;background:var(--af-soft);transition:max-height .3s;}
.alfa-mobile-nav-menu .alfa-nav-item.is-open>.alfa-submenu{max-height:80vh;border-top:1px solid var(--af-line);}
.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-item{display:block;border-bottom:1px solid rgba(0,0,0,.05);}
.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-item:last-child{border-bottom:0;}
.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-link{position:relative;display:block;padding:.8rem 1.1rem .8rem 2.5rem;border-left:4px solid transparent;color:var(--af-blue-d);font-size:.93rem;font-weight:600;letter-spacing:0;text-transform:none;text-decoration:none;transition:background-color .2s,color .2s,padding .2s;}
.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-link::before{content:"";position:absolute;left:1.35rem;top:50%;width:6px;height:6px;margin-top:-4px;border-top:2px solid var(--af-red);border-right:2px solid var(--af-red);transform:rotate(45deg);}
.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-link:hover,.alfa-mobile-nav-menu .alfa-submenu .alfa-nav-link:active{padding-left:2.8rem;background:var(--af-blue);color:#fff;}
.alfa-mobile-nav-footer{display:grid;gap:.6rem;margin-top:auto;padding:1rem 1.1rem 1.4rem;border-top:1px solid var(--af-line);background:var(--af-soft);}
.alfa-mobile-nav-donate{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem .85rem 1.15rem;border-radius:10px 10px 10px 0;background:var(--af-red);color:#fff;font-size:.92rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 18px rgba(25,40,109,.28);transition:background-color .2s,transform .2s;}
.alfa-mobile-nav-donate i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgba(255,255,255,.2);transition:transform .2s;}
.alfa-mobile-nav-donate:hover,.alfa-mobile-nav-donate:active{background:var(--af-red-d);color:#fff;transform:translateY(-1px);}
.alfa-mobile-nav-donate:hover i{transform:translateX(3px);}
.alfa-mobile-nav-info{display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border:1px solid var(--af-line);border-radius:10px;background:#fff;color:var(--af-ink);font-size:.9rem;font-weight:600;text-decoration:none;overflow-wrap:anywhere;transition:border-color .2s,color .2s;}
.alfa-mobile-nav-info:hover{border-color:var(--af-red);color:var(--af-red);}
.alfa-mobile-nav-info:hover .alfa-contact-icon{background:var(--af-red);color:#fff;}
/* ---------- Desktop only ---------- */
@media(min-width:993px){.alfa-mobile-nav-menu,.alfa-mobile-nav-overlay{display:none!important;}}
@media(min-width:993px) and (max-width:1199px){.alfa-site-header .alfa-nav-menu--primary>.alfa-nav-item>.alfa-nav-link{padding:0 .5rem;font-size:.74rem;letter-spacing:.02em;}.alfa-site-header .alfa-language-current-label{display:none;}}
/* ---------- Tablet / phone: logo row, then a normal-flow red band (nothing overlaps the logo) ---------- */
@media(max-width:992px){
.alfa-site-header .alfa-header-top{height:auto;}
.alfa-site-header .alfa-header-top-inner{padding:.8rem 1rem;}
.alfa-site-header .alfa-logo img{width:clamp(180px,52vw,250px)!important;}
.alfa-site-header .alfa-header-contact{align-self:center;height:auto;gap:.5rem;}
.alfa-site-header .alfa-contact-text{display:none;}
.alfa-site-header .alfa-main-row{position:relative;right:auto;bottom:auto;left:auto;height:56px;background:transparent;}
.alfa-site-header .alfa-main-row::before{inset:0 0 0 12px;clip-path:polygon(22px 0,100% 0,100% 100%,0 100%);}
.alfa-site-header .alfa-main-inner{padding:0 1rem;}
.alfa-site-header .alfa-primary-nav{display:none!important;}
.alfa-site-header .alfa-hamburger-btn{display:flex;}
.alfa-site-header .alfa-language-menu{right:-4.5rem;}
}
@media(max-width:480px){.alfa-site-header .alfa-language-current-label{display:none;}.alfa-site-header .alfa-language-toggle{padding:0 .7rem;}}
@media(prefers-reduced-motion:reduce){.alfa-site-header *,.alfa-mobile-nav-menu,.alfa-mobile-nav-menu *,.alfa-mobile-nav-overlay{transition:none!important;scroll-behavior:auto!important;}}

/* Alfasan footer (compact): black link field, slim light-blue connect bar, single logo, mobile-first.
   Accent colour (was red) is now #A8E3F5 â€” change it in ONE place: the --r variable on .alfa-footer. */
.alfa-footer{--r:#A8E3F5;--b:#a8e3f5;--ink:#092f49;--t:rgba(255,255,255,.88);margin:0!important;padding:0!important;background:#000;color:#fff;font-family:inherit;font-size:1rem;border-top:4px solid var(--r);}
.alfa-footer__top{max-width:1380px;margin:0 auto;padding:clamp(2.5rem,5vw,4.25rem) 1.25rem 0;}
.alfa-footer__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 1rem;}
.alfa-footer__contact{grid-column:1/-1;}
.alfa-footer__column{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;padding:0;}
.alfa-footer .alfa-footer__column h2{position:relative;margin:0 0 1.1rem;padding:0 0 .75rem;border:0;color:#fff;font-family:inherit;font-size:1.15rem;font-weight:700;letter-spacing:.02em;line-height:1.3;text-decoration:none;}
.alfa-footer .alfa-footer__column h2::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:2px;background:var(--r);}
.alfa-footer__column a,.alfa-footer__column p{position:relative;display:block;margin:0;padding:.42rem 0 .42rem 1.5rem;color:var(--t);font-size:.95rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere;transition:color .2s,transform .2s;}
/* Arrow-tip bullet */
.alfa-footer__column a::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-4px;border-top:2px solid var(--r);border-right:2px solid var(--r);transform:rotate(45deg);transition:transform .2s,border-color .2s;}
.alfa-footer__column a:hover,.alfa-footer__column a:focus-visible{color:var(--b);transform:translateX(4px);}
.alfa-footer__column a:hover::before,.alfa-footer__column a:focus-visible::before{border-color:var(--b);transform:translateX(3px) rotate(45deg);}
/* Contact column: icon chips */
.alfa-footer__contact a,.alfa-footer__contact p{padding-left:2.6rem;min-height:2rem;}
.alfa-footer__contact a::before,.alfa-footer__contact p::before{content:none;display:none;}
.alfa-footer__contact-icon{position:absolute;left:0;top:.3rem;display:inline-flex;width:1.9rem;height:1.9rem;align-items:center;justify-content:center;border-radius:8px;background:rgba(168,227,245,.16);color:var(--r);font-size:.95rem;transition:background .2s,color .2s;}
.alfa-footer__contact a:hover .alfa-footer__contact-icon,.alfa-footer__contact a:focus-visible .alfa-footer__contact-icon{background:var(--r);color:var(--ink);}
/* Company line */
.alfa-footer__legal{margin-top:1.5rem;padding:.9rem 0 .5rem;border-top:1px solid rgba(255,255,255,.12);text-align:center;}
.alfa-footer__legal p{margin:0;text-align:center;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.5;}
.alfa-footer__legal span{margin:0 .35rem;color:var(--r);}
/* Base: one full-width light-blue bar holding logo, social icons, copyright and back-to-top */
.alfa-footer__base{display:grid;grid-template-columns:1fr;background:var(--b);color:var(--ink);}
.alfa-footer__brand{display:flex;align-items:center;justify-content:center;padding:.9rem 1.25rem .1rem;background:transparent;}
.alfa-footer__brand a{display:inline-flex;align-items:center;text-decoration:none;}
.alfa-footer .alfa-footer__logo{display:block;width:clamp(220px,60vw,300px)!important;max-width:100%;height:auto!important;max-height:100px;object-fit:contain;object-position:center;}
.alfa-footer__connect{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"s s" "t c";align-items:center;justify-items:center;gap:.6rem .75rem;padding:.5rem 1.25rem .9rem;background:transparent;color:var(--ink);}
.alfa-footer__social{grid-area:s;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;}
.alfa-footer__social>span:first-child{width:100%;margin:0 0 .1rem;text-align:center;font-size:.85rem;font-weight:700;}
.alfa-footer__social-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:#fff;font-size:1.35rem;line-height:1;text-decoration:none;transition:background .2s,transform .2s;}
.alfa-footer__social a.alfa-footer__social-icon:hover,.alfa-footer__social a.alfa-footer__social-icon:focus-visible{background:var(--r);color:var(--ink);transform:translateY(-3px);}
.alfa-footer__social span.alfa-footer__social-icon{opacity:.45;}
.alfa-footer__copyright{grid-area:c;justify-self:start;margin:0;padding-right:4.5rem;font-size:.74rem;line-height:1.35;text-align:left;}
.alfa-footer__top-link{grid-area:t;display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--ink);font-size:1.15rem;text-decoration:none;transition:background .2s,color .2s;}
.alfa-footer__top-link:hover,.alfa-footer__top-link:focus-visible{background:var(--r);color:var(--ink);}
.alfa-footer a:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.alfa-footer__connect a:focus-visible{outline-color:var(--ink);}
/* Small tablets: 2 columns */
@media(min-width:36rem){.alfa-footer__links{gap:2.25rem 2rem;} .alfa-footer__social-icon{width:46px;height:46px;} }
/* Narrow phones: tighter side-by-side columns */
@media(max-width:35.99rem){.alfa-footer .alfa-footer__column h2{margin-bottom:.8rem;font-size:1.02rem;} .alfa-footer__column a,.alfa-footer__column p{padding-left:1.1rem;font-size:.86rem;} .alfa-footer__contact a,.alfa-footer__contact p{padding-left:2.5rem;} .alfa-footer__legal{margin-top:1rem;padding:.75rem 0 .4rem;} }
/* Tablet / desktop: 3 columns; logo | icons | copyright | top, all on one full-width blue bar */
@media(min-width:48rem){.alfa-footer__top{padding-right:clamp(2rem,8vw,9.7rem);padding-left:clamp(2rem,8vw,9.7rem);} .alfa-footer__links{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 3rem;} .alfa-footer__contact{grid-column:auto;} .alfa-footer__base{--pad:max(clamp(2rem,8vw,9.7rem),calc((100vw - 1380px)/2));grid-template-columns:auto 1fr;align-items:center;gap:0 clamp(1.5rem,4vw,3.5rem);padding:.55rem max(var(--pad),6.5rem) .55rem var(--pad);} .alfa-footer__brand{justify-content:flex-start;padding:0;} .alfa-footer__connect{display:flex;flex-direction:row;justify-content:space-between;gap:1.25rem;padding:0;} .alfa-footer__social{flex-wrap:nowrap;justify-content:flex-start;} .alfa-footer__social>span:first-child{width:auto;margin:0 .5rem 0 0;white-space:nowrap;} .alfa-footer__copyright{margin-left:auto;padding-right:0;text-align:right;white-space:nowrap;} .alfa-footer .alfa-footer__logo{width:clamp(250px,20vw,320px)!important;max-height:100px;} }
@media(max-width:22rem){.alfa-footer__social-icon{width:42px;height:42px;font-size:1.2rem;} }
@media(prefers-reduced-motion:reduce){.alfa-footer *,.alfa-footer *::before,.alfa-footer *::after{scroll-behavior:auto!important;transition:none!important;transform:none!important;} }

/* ALFASAN IMPACT: wave-ribbon statistics. Mobile-first: vertical rail <640px, 2x2 grid 640-999px, staggered wave >=1000px.
   Uses --primary #0171B9, --primary-dark #00568F, --accent #19296E, --heading-font, --font. Needs Bootstrap Icons. */
.alfa-imp{position:relative;overflow:hidden;isolation:isolate;padding:clamp(3.5rem,8vw,6rem) 1rem clamp(3rem,7vw,5rem);background:radial-gradient(ellipse at 15% 0%,#E6F1FB 0,transparent 55%),linear-gradient(180deg,#F7FAFE,#EEF5FC);font-family:var(--font)}
.alfa-imp::before,.alfa-imp::after{content:"";position:absolute;z-index:-1;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(50,149,206,.16),rgba(50,149,206,.05));pointer-events:none}
.alfa-imp::before{top:12%;right:-140px;width:340px;height:340px}
.alfa-imp::after{bottom:-120px;left:-100px;width:300px;height:300px}
.alfa-imp__inner{max-width:1320px;margin:0 auto}

/* intro */
.alfa-imp__intro{max-width:860px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center}
.alfa-imp__eyebrow{display:inline-flex;align-items:center;gap:.8rem;margin:0 0 1rem;color:var(--primary);font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.alfa-imp__eyebrow::before,.alfa-imp__eyebrow::after{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.alfa-imp__title{margin:0 0 1.1rem;color:var(--primary-dark);font-family:var(--heading-font);font-size:clamp(2rem,6vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.015em;text-wrap:balance}
.alfa-imp__lead{margin:0 auto;max-width:760px;color:#41546a;font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.8}

/* stage */
.alfa-imp__stage{position:relative}
.alfa-imp__wave{display:none}
.alfa-imp__list{position:relative;display:grid;gap:1.75rem;margin:0;padding:0;list-style:none}
/* mobile rail */
.alfa-imp__list::before{content:"";position:absolute;top:42px;bottom:42px;left:39px;width:6px;border-radius:6px;background:linear-gradient(180deg,#7CC0EA,#0171B9 60%,#00568F);box-shadow:0 0 18px rgba(1,113,185,.35)}
.alfa-imp__item{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);column-gap:1.25rem;align-items:start;margin:0;padding:0}

/* icon node */
.alfa-imp__icon{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#3295CE,#0171B9 55%,#00568F);color:#fff;font-size:2rem;box-shadow:0 10px 26px rgba(1,113,185,.45),inset 0 2px 6px rgba(255,255,255,.35);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.alfa-imp__icon .bi{line-height:1}
.alfa-imp__icon::before{content:"";position:absolute;inset:-12px;border:1.5px solid rgba(1,113,185,.35);border-radius:50%;background:radial-gradient(circle,rgba(124,192,234,.35),rgba(124,192,234,0) 70%);z-index:-1;transition:inset .4s ease,border-color .4s ease}
.alfa-imp__icon::after{content:"";position:absolute;top:-6px;right:6px;width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 2px 8px rgba(25,40,109,.5);animation:alfaOrbit 6s linear infinite;transform-origin:-36px 48px}
@keyframes alfaOrbit{to{transform:rotate(360deg)}}

/* text */
.alfa-imp__body{min-width:0;padding-top:.15rem}
.alfa-imp__value{margin:0;color:var(--primary-dark);font-family:var(--heading-font);font-size:clamp(2.6rem,9vw,3.6rem);font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;transition:color .3s ease}
.alfa-imp__label{margin:.4rem 0 0;color:var(--primary);font-family:var(--heading-font);font-size:1.3rem;font-weight:700;line-height:1.25}
.alfa-imp__rule{display:block;width:38px;height:3px;margin:.8rem 0;border-radius:3px;background:linear-gradient(90deg,var(--primary),#7CC0EA);transition:width .45s cubic-bezier(.22,1,.36,1),background .3s ease}
.alfa-imp__text{margin:0;max-width:30ch;color:#4a5b70;font-size:.96rem;line-height:1.7}
.alfa-imp__note{margin:clamp(2rem,5vw,3.5rem) 0 0;color:#7a8ba0;font-size:.78rem;text-align:center}

/* hover (pointer devices) */
@media(hover:hover) and (pointer:fine){
.alfa-imp__item:hover .alfa-imp__icon{transform:scale(1.1)}
.alfa-imp__item:hover .alfa-imp__icon::before{inset:-18px;border-color:var(--primary)}
.alfa-imp__item:hover .alfa-imp__rule{width:84px;background:linear-gradient(90deg,var(--accent),#19296E)}
.alfa-imp__item:hover .alfa-imp__value{color:var(--primary)}
}

/* reveal */
.alfa-js .alfa-imp .alfa-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--d,0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--d,0ms)}
.alfa-js .alfa-imp .alfa-rv.in{opacity:1;transform:none}

/* tablet: 2x2, no rail */
@media(min-width:640px){
.alfa-imp__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 2rem}
.alfa-imp__list::before{display:none}
.alfa-imp__item{padding:1.5rem;background:rgba(255,255,255,.7);border:1px solid rgba(1,113,185,.12);border-radius:0 32px 0 32px;box-shadow:0 14px 36px rgba(1,113,185,.08);backdrop-filter:blur(6px)}
}

/* desktop: staggered wave */
@media(min-width:1000px){
.alfa-imp__stage{min-height:480px}
.alfa-imp__wave{display:block;position:absolute;top:0;left:0;width:100%;height:340px;overflow:visible}
.alfa-imp__wave path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.alfa-imp__glow{stroke:#3295CE;stroke-width:58;opacity:.3}
.alfa-imp__ribbon{stroke:url(#alfaWaveGrad);stroke-width:40}
.alfa-imp__dots{stroke:#0171B9;stroke-width:2.5;stroke-dasharray:.1 9;opacity:.6}
.alfa-imp__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.alfa-imp__item{display:block;padding:0 1.25rem 0 0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.alfa-imp__icon{margin-left:calc(28% - 42px)}
.alfa-imp__body{margin-top:1.1rem;padding-top:0}
.alfa-imp__item:nth-child(1){margin-top:28px}
.alfa-imp__item:nth-child(2){margin-top:138px}
.alfa-imp__item:nth-child(3){margin-top:68px}
.alfa-imp__item:nth-child(4){margin-top:125px}
.alfa-imp__body{padding-left:max(0px,calc(28% - 60px))}
}
@media(min-width:1000px) and (max-width:1180px){.alfa-imp__value{font-size:2.9rem}.alfa-imp__label{font-size:1.15rem}.alfa-imp__text{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.alfa-imp__icon::after{animation:none}.alfa-js .alfa-imp .alfa-rv{opacity:1;transform:none;transition:none}.alfa-imp *{transition:none!important}}






/* ALFASAN UGANDA ABOUT PAGE: append to your theme CSS. Mobile-first. Uses --primary #0171B9, --accent #19296E, --font, --heading-font. Requires Bootstrap Icons (already used by .bi on the site). */ .alfa-about{background:#F0F5FB}
.alfa-wrap{width:calc(100% - 2rem);max-width:1240px;margin:0 auto}
.alfa-sec{padding:clamp(3rem,8vw,6rem) 0}
.alfa-soft{background:#fff}
.alfa-eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 .7rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.alfa-eyebrow::before{content:"";width:28px;height:3px;background:currentColor;border-radius:2px}
.alfa-eyebrow--light{color:#fff}
.alfa-h2{margin:0 0 1rem;color:var(--primary-dark);font-size:clamp(1.7rem,5vw,2.9rem);line-height:1.15;text-wrap:balance}
.alfa-lead{max-width:62ch;color:var(--text-light);font-size:1.08rem;line-height:1.75}
.alfa-head{max-width:720px;margin:0 0 clamp(2rem,5vw,3.5rem)}
.alfa-page p{hyphens:none;overflow-wrap:normal}
/* buttons */ .alfa-btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.75rem}
.alfa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.6rem;border:2px solid transparent;border-radius:6px 0 6px 6px;font-weight:700;text-decoration:none;transition:transform .25s,background .25s,box-shadow .25s}
.alfa-btn:hover{transform:translateY(-3px);text-decoration:none}
.alfa-btn--red{background:var(--accent);color:#fff}
.alfa-btn--red:hover{background:var(--accent-dark);color:#fff;box-shadow:0 10px 24px rgba(25,40,109,.35)}
.alfa-btn--ghost{border-color:rgba(255,255,255,.7);color:#fff}
.alfa-btn--ghost:hover{background:#fff;color:var(--primary)}
/* split layouts */ .alfa-split{display:grid;gap:2.5rem;align-items:center}
.alfa-media{position:relative}
.alfa-media img{display:block;width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;border:6px solid #fff;border-radius:0 72px 0 72px;box-shadow:0 26px 60px rgba(0,60,100,.22);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.alfa-media::before{content:"";position:absolute;z-index:1;top:0;left:0;width:60px;height:34px;background:var(--accent);border-radius:0 0 60px 0}
.alfa-media:hover img{transform:translateY(-6px)}
.alfa-badge{position:absolute;z-index:2;right:-.25rem;bottom:1.5rem;display:grid;place-items:center;width:112px;height:112px;border:5px solid #F0F5FB;border-radius:50%;background:var(--primary);color:#fff;text-align:center;line-height:1.1}
.alfa-badge strong{font-size:1.5rem}
.alfa-badge span{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:0 .5rem}
.alfa-ticks{margin:1.25rem 0 0;padding:0;list-style:none;display:grid;gap:.6rem}
.alfa-ticks li{position:relative;padding-left:2rem;color:var(--text)}
.alfa-ticks li::before{content:"\2713";position:absolute;left:0;top:.1rem;display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:rgba(25,40,109,.1);color:var(--accent);font-size:.8rem;font-weight:800}

.alfa-inner-hero .alfa-inner-hero__title{color:#19296E}
/* stats */ .alfa-stats{position:relative;z-index:2;margin-top:2rem;padding-top:0}
.alfa-stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;padding:0;overflow:hidden;list-style:none;background:var(--border);border-radius:0 32px 0 32px;box-shadow:0 20px 50px rgba(0,60,100,.18)}
.alfa-stats li{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1.5rem .75rem;background:#fff;text-align:center;transition:background .3s,transform .3s}
.alfa-stats li::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.alfa-stats li:hover::after{transform:scaleX(1)}
.alfa-stats .bi{color:var(--accent);font-size:1.6rem}
.alfa-stats b{color:var(--primary);font-size:clamp(1.9rem,7vw,2.9rem);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.alfa-stats span{color:var(--text-light);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
/* timeline */ .alfa-tl{position:relative;margin:0;padding:0 0 0 1.5rem;list-style:none;border-left:3px solid var(--border)}
.alfa-tl li{position:relative;margin:0 0 1.25rem;padding:1.2rem 1.3rem;background:#fff;border-radius:0 20px 0 20px;box-shadow:var(--shadow-md);transition:transform .35s,box-shadow .35s}
.alfa-tl li::before{content:"";position:absolute;left:calc(-1.5rem - 9px);top:1.5rem;width:15px;height:15px;border:3px solid #F0F5FB;border-radius:50%;background:var(--accent)}
.alfa-tl li:hover{transform:translateX(8px);box-shadow:var(--shadow-lg)}
.alfa-tl time{color:var(--accent);font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.alfa-tl h3{margin:.2rem 0 .35rem;color:var(--primary);font-size:1.2rem}
.alfa-tl p{margin:0;color:var(--text-light);font-size:.95rem;line-height:1.65}
/* cards */ .alfa-cards{display:grid;gap:1.1rem}
.alfa-card{position:relative;overflow:hidden;padding:1.75rem 1.5rem;background:#F0F5FB;border:1px solid var(--border);border-radius:0 28px 0 28px;transition:transform .4s,box-shadow .4s,background .4s}
.alfa-card::after{content:"";position:absolute;left:0;bottom:0;width:0;height:4px;background:var(--accent);transition:width .5s}
.alfa-card:hover{transform:translateY(-8px);background:#fff;box-shadow:0 24px 50px rgba(0,60,100,.16)}
.alfa-card:hover::after{width:100%}
.alfa-ic{display:grid;place-items:center;width:58px;height:58px;margin-bottom:1.1rem;border-radius:16px 4px 16px 4px;background:var(--primary);color:#fff;font-size:1.6rem;transition:background .3s,transform .4s}
.alfa-card:hover .alfa-ic{background:var(--accent);transform:rotate(-6deg) scale(1.06)}
.alfa-card h3{margin:0 0 .45rem;color:var(--primary-dark);font-size:1.2rem}
.alfa-card p{margin:0;color:var(--text-light);font-size:.95rem;line-height:1.65}
.alfa-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:2.25rem 0 0;padding:0;list-style:none}
.alfa-chips li{padding:.55rem 1.1rem;border:1.5px solid var(--primary);border-radius:999px;color:var(--primary);font-weight:700;font-size:.9rem;transition:background .25s,color .25s,transform .25s}
.alfa-chips li:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
/* Who We Are impact */ .alfa-impact{position:relative;overflow:hidden;background:#E9F3FC;color:#19296E}
.alfa-impact::before{content:"";position:absolute;top:-120px;right:-120px;width:380px;height:380px;border:1px solid rgba(25,41,110,.14);border-radius:50%;box-shadow:0 0 0 50px rgba(25,41,110,.04),0 0 0 100px rgba(25,41,110,.025)}
.alfa-impact .alfa-wrap{position:relative}
.alfa-impact .alfa-h2{color:#19296E}
.alfa-impact .alfa-lead{color:#40566a}
.alfa-impact .alfa-eyebrow{color:#19296E}
.alfa-impact__grid{display:grid;gap:1rem}
.alfa-impact article{padding:1.6rem;border:1px solid rgba(25,41,110,.16);border-radius:28px 4px 28px 4px;background:rgba(255,255,255,.76);box-shadow:0 10px 28px rgba(25,41,110,.06);transition:transform .4s,border-color .4s,background .4s}
.alfa-impact article:hover{transform:translateY(-8px);border-color:rgba(25,41,110,.32);background:#fff}
.alfa-impact b{display:block;color:#19296E;font-size:clamp(2.3rem,7vw,3.4rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.alfa-impact article::after{content:"";display:block;width:44px;height:4px;margin:.9rem 0;background:#0088CC;border-radius:2px}
.alfa-impact p{margin:0;color:#40566a;font-size:.97rem;line-height:1.6}
/* quality */ .alfa-feats{display:grid;gap:.8rem;margin-top:1.5rem}
.alfa-feats div{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center;padding:1rem 1.1rem;background:#fff;border-left:4px solid var(--accent);border-radius:0 14px 14px 0;box-shadow:var(--shadow-md);transition:transform .3s}
.alfa-feats div:hover{transform:translateX(8px)}
.alfa-feats .bi{grid-row:span 2;color:var(--primary);font-size:1.8rem}
.alfa-feats b{color:var(--primary-dark)}
.alfa-feats span{color:var(--text-light);font-size:.88rem}
/* partners */ .alfa-partners{display:grid;gap:1rem}
.alfa-partners div{padding:1.5rem 1rem;background:#F0F5FB;border:1px dashed var(--primary);border-radius:14px 14px 14px 0;text-align:center;transition:transform .3s,background .3s,color .3s}
.alfa-partners div:hover{transform:translateY(-6px);background:var(--primary)}
.alfa-partners b{display:block;color:var(--primary);font-size:1.1rem;transition:color .3s}
.alfa-partners span{color:var(--text-light);font-size:.88rem;transition:color .3s}
.alfa-partners div:hover b,.alfa-partners div:hover span{color:#fff}
.alfa-reach{margin:2rem 0 0;padding:1.1rem 1.3rem;background:#eaf0fb;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;color:var(--primary-dark)}
.alfa-reach .bi{color:var(--accent);margin-right:.4rem}
/* CTA */ .alfa-cta-wrap{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3rem,7vw,5rem)}
.alfa-cta{display:grid;gap:1.5rem;width:calc(100% - 2rem);max-width:1240px;margin:0 auto;padding:clamp(2rem,6vw,4rem);border-radius:0 clamp(60px,9vw,120px) 0 clamp(60px,9vw,120px);background:var(--primary);color:#fff}
.alfa-cta h2{margin:0 0 .6rem;color:#fff;font-size:clamp(1.6rem,4.5vw,2.6rem)}
.alfa-cta p{margin:0;max-width:52ch;color:rgba(255,255,255,.88)}
.alfa-cta .alfa-btns{margin:0}
/* reveal */ .alfa-js .alfa-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.alfa-js .alfa-rv.in{opacity:1;transform:none}
/* breakpoints */ @media(min-width:640px){.alfa-cards,.alfa-impact__grid,.alfa-partners{grid-template-columns:repeat(2,1fr)} .alfa-feats{grid-template-columns:repeat(3,1fr)} .alfa-feats div{grid-template-columns:1fr;text-align:center;border-left:0;border-top:4px solid var(--accent);border-radius:0 0 14px 14px} .alfa-feats .bi{grid-row:auto;margin-bottom:.3rem} }
@media(min-width:900px){.alfa-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,6vw,6rem)} .alfa-split--rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)} .alfa-stats{margin-top:2rem} .alfa-stats__grid{grid-template-columns:repeat(4,1fr)} .alfa-stats li{padding:2rem 1rem} .alfa-tl{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;padding:0;border:0} .alfa-tl::before{content:"";position:absolute;top:1.1rem;left:0;right:0;height:3px;background:var(--border)} .alfa-tl li{margin:0;padding-top:2.6rem} .alfa-tl li::before{left:1.3rem;top:.65rem} .alfa-tl li:hover{transform:translateY(-8px)} .alfa-cards{grid-template-columns:repeat(3,1fr)} .alfa-impact__grid{grid-template-columns:repeat(4,1fr)} .alfa-partners{grid-template-columns:repeat(4,1fr)} .alfa-cta{grid-template-columns:1fr auto;align-items:center;gap:3rem} }
@media(prefers-reduced-motion:reduce){.alfa-js .alfa-rv{opacity:1;transform:none;transition:none} .alfa-about *{transition:none!important} }
/* Semantic layout generated for the editable, class-free Who We Are body. */ .alfa-main{ display: block; width: 100%; margin: 0; overflow: clip; }
.alfa-main > .alfa-sec{ width: 100%; padding-block: clamp(3.25rem, 7vw, 5.5rem); }
.alfa-main > .alfa-intro{ padding-top: clamp(3rem, 6vw, 4.5rem); }
.alfa-intro__layout{ grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.alfa-intro__media{ min-width: 0; }
.alfa-intro__media > img{ aspect-ratio: 4 / 4.3; }
.alfa-intro__copy > .alfa-h2{ margin-top: 0; }
.alfa-intro__copy > p:not(.alfa-eyebrow){ color: var(--text-light); line-height: 1.75; }
.alfa-intro__copy > .alfa-lead{ font-size: 1.08rem; }
.alfa-stats{ display: block; width: min(1240px, calc(100% - 2rem)); margin: 2rem auto 0; }
.alfa-main .alfa-stats__grid{ list-style: none; }
.alfa-main .alfa-tl,.alfa-main .alfa-chips,.alfa-main .alfa-stats__grid{ padding-inline-start: 0; }
.alfa-products > .alfa-wrap > .alfa-h2,.alfa-journey > .alfa-wrap > .alfa-h2,.alfa-partner-reach > .alfa-wrap > .alfa-h2{ margin-top: 0; }
.alfa-products .alfa-head{ margin-bottom: 2rem; }
.alfa-products .alfa-cards{ margin-top: 1.5rem; }
.alfa-products .alfa-card{ min-width: 0; }
.alfa-products .alfa-card h3{ line-height: 1.3; }
.alfa-impact > .alfa-wrap > .alfa-head{ max-width: 800px; margin-bottom: 2rem; }
.alfa-quality__copy > .alfa-h2{ margin-top: 0; }
.alfa-quality__copy > p:not(.alfa-eyebrow){ color: var(--text-light); line-height: 1.75; }
.alfa-quality__media{ min-width: 0; }
.alfa-quality__media img{ aspect-ratio: 4 / 3.4; }
.alfa-partner-reach .alfa-partners{ margin-top: 1.5rem; }
.alfa-partner-reach__logo-window{width:100%;margin:1.75rem 0 .5rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.alfa-partner-reach__logo-track{display:flex;width:max-content;animation:alfa-partner-marquee 34s linear infinite;}
.alfa-partner-reach__logo-group{display:flex;flex:0 0 auto;align-items:center;gap:clamp(2rem,5vw,4.5rem);padding-right:clamp(2rem,5vw,4.5rem);}
.alfa-partner-reach__logo{display:grid;flex:0 0 auto;width:clamp(130px,15vw,200px);height:94px;place-items:center;padding:1rem 1.25rem;border:1px solid rgba(1,113,185,.1);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(0,65,105,.07);transition:transform .25s,box-shadow .25s;}
.alfa-partner-reach__logo:hover,.alfa-partner-reach__logo:focus-visible{transform:translateY(-4px);box-shadow:0 13px 28px rgba(0,65,105,.14);}
.alfa-partner-reach__logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.alfa-partner-reach__logo-window:hover .alfa-partner-reach__logo-track,.alfa-partner-reach__logo-window:focus-within .alfa-partner-reach__logo-track{animation-play-state:paused;}
@keyframes alfa-partner-marquee{to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.alfa-partner-reach__logo-track{animation:none}.alfa-partner-reach__logo:hover,.alfa-partner-reach__logo:focus-visible{transform:none}}

/* Who We Are statistics: compact layered cards with angled Alfasan blue icon panels. */
.alfa-main .alfa-stats{width:min(1320px,calc(100% - 2rem));margin:2.25rem auto 0;padding:0}
.alfa-main .alfa-stats__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin:0;padding:.5rem .65rem 1rem;overflow:visible;list-style:none;background:transparent;border-radius:0;box-shadow:none}
.alfa-main .alfa-stats__grid>li{position:relative;isolation:isolate;display:flex;min-width:0;min-height:156px;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;margin:0;padding:1.2rem 1rem 1.2rem 8rem;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;transition:transform .28s ease}
.alfa-main .alfa-stats__grid>li::before{position:absolute;z-index:0;inset:3px 10px 8px 26px;border:2px solid #829db3;border-radius:0 18px 0 18px;background:linear-gradient(115deg,#fff 0%,#fff 74%,#f7fbff 100%);clip-path:polygon(18% 0,100% 0,88% 100%,0 100%);filter:drop-shadow(0 0 2px rgba(0,70,115,.42)) drop-shadow(0 12px 14px rgba(0,67,112,.22)) drop-shadow(0 22px 24px rgba(0,67,112,.13));content:""}
.alfa-main .alfa-stats__grid>li::after{content:none!important}
.alfa-main .alfa-stats__edge{position:absolute;z-index:1;top:12px;right:-7px;bottom:0;width:28px;clip-path:polygon(34% 0,100% 0,78% 86%,0 100%);background:linear-gradient(145deg,#19296E,#19296E 55%,#19296E);transition:transform .28s ease,filter .28s ease}
.alfa-main .alfa-stats__icon{position:absolute;z-index:2;top:8px;bottom:10px;left:-8px;display:grid;width:132px;place-items:center;clip-path:polygon(22% 0,100% 0,70% 100%,0 100%,0 28%);border-radius:16px;background:linear-gradient(145deg,#19296E 0%,#19296E 58%,#19296E 100%);color:#fff;font-size:2rem;filter:drop-shadow(0 10px 8px rgba(25,40,109,.24));transition:transform .28s ease,filter .28s ease}
.alfa-main .alfa-stats__icon .bi{color:inherit;font-size:inherit}
.alfa-main .alfa-stats__grid>li:nth-child(even) .alfa-stats__icon{background:linear-gradient(145deg,#19296E 0%,#19296E 58%,#19296E 100%)}
.alfa-main .alfa-stats__grid>li:nth-child(4) .alfa-stats__value{color:#05a8d5}
.alfa-main .alfa-stats__value{position:relative;z-index:2;display:block;margin:0;color:#00568f;font-family:var(--font);font-size:clamp(2.2rem,7vw,3.1rem);font-weight:850;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.035em;transition:color .28s ease}
.alfa-main .alfa-stats__label{position:relative;z-index:2;display:block;margin:.45rem 0 1.25rem;color:#33495e;font-size:.73rem;font-weight:800;line-height:1.35;letter-spacing:.1em;text-transform:uppercase}
.alfa-main .alfa-stats__rule{position:absolute;z-index:2;left:8rem;bottom:1.2rem;display:block;width:40px;height:4px;border-radius:4px;background:#0171b9;font-size:0;line-height:0}
@media(hover:hover) and (pointer:fine){.alfa-main .alfa-stats__grid>li:hover{transform:translateY(-5px)}.alfa-main .alfa-stats__grid>li:hover .alfa-stats__edge{transform:translateX(3px);background:linear-gradient(145deg,#0171b9,#00568f)}.alfa-main .alfa-stats__grid>li:hover .alfa-stats__icon{transform:translateY(-2px);background:linear-gradient(145deg,#0171b9,#00568f);filter:drop-shadow(0 13px 10px rgba(0,82,143,.32))}.alfa-main .alfa-stats__grid>li:hover .alfa-stats__rule{width:40px;background:#0171b9}.alfa-main .alfa-stats__grid>li:hover .alfa-stats__value{color:#0171b9}}
@media(min-width:640px){.alfa-main .alfa-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}
@media(min-width:1000px){.alfa-main .alfa-stats__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem .65rem 1.2rem}.alfa-main .alfa-stats__grid>li{min-height:156px;padding:1rem .75rem 1rem 8rem}.alfa-main .alfa-stats__icon{width:124px}.alfa-main .alfa-stats__rule{left:8rem}.alfa-main .alfa-stats__label{font-size:.65rem;letter-spacing:.07em}}
@media(prefers-reduced-motion:reduce){.alfa-main .alfa-stats__grid>li,.alfa-main .alfa-stats__icon,.alfa-main .alfa-stats__edge,.alfa-main .alfa-stats__value,.alfa-main .alfa-stats__rule{transition:none!important}}
.alfa-main .alfa-reach{ line-height: 1.7; }
@media (max-width: 899px) {.alfa-intro__layout,.alfa-quality .alfa-split{ grid-template-columns: minmax(0, 1fr); } .alfa-intro__media{ width: min(100%, 460px); margin-inline: auto; } }
/* =========================================================================== ALFASAN FRONT PAGE (mobile-first). Styles the semantic wrappers generated from the editable Home body by _kipya_build_homepage_about_body(). Sections: 0 wrapper reset | 1 About | 2 Feature strip | 3 Products Brand: #0171B9 primary, #00568F dark, #19296E accent. =========================================================================== */ /* The Drupal Home body is transformed into these front-page sections before rendering. */ .alfa-homepage .alfa-main-content:has(.alfa-about){ width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; background: transparent; }
.alfa-homepage .alfa-main-content:has(.alfa-about) > .alfa-home-content-inner{ display: block; width: 100%; max-width: none; height: auto; margin: 0; padding: 0; }
.alfa-homepage .alfa-about{ display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 2.75rem; width: calc(100% - 2rem); max-width: 1320px; margin: 0 auto; padding: clamp(3rem, 8vw, 6rem) 0 2.5rem; background: transparent; }
.alfa-homepage .alfa-about__media{ position: relative; min-width: 0; padding: 0 0 2rem 1rem; }
.alfa-homepage .alfa-about__frame{ position: absolute; inset: -.9rem .7rem 1rem -.1rem; background: linear-gradient(145deg, #0171B9, #00568F); border-radius: 34px 90px 34px 34px; transform: rotate(-2.4deg); }
.alfa-homepage .alfa-about__media > img{ position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 4.5; object-fit: cover; border-radius: 26px 80px 26px 26px; box-shadow: 0 26px 60px rgba(0, 60, 100, .28); transform: rotate(.8deg); transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.alfa-homepage .alfa-about__media:hover > img{ transform: rotate(0) scale(1.015); }
.alfa-homepage .alfa-about__media > p:not(:has(img)){ position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; margin: 0; padding: .9rem 1.3rem .9rem 3.5rem; border-radius: 16px; background: #fff; box-shadow: 0 14px 34px rgba(0, 60, 100, .22); color: #5a6c7d; font-size: .85rem; line-height: 1.35; }
.alfa-homepage .alfa-about__media > p:not(:has(img))::before{ content: "\F3E8"; position: absolute; top: 50%; left: .9rem; display: grid; width: 34px; height: 34px; margin-top: -17px; place-items: center; border-radius: 50%; background: rgba(25,40,109, .1); color: #19296E; font-family: "bootstrap-icons"; font-size: 1rem; }
.alfa-homepage .alfa-about__media > p:not(:has(img)) strong{ color: #00568F; font-size: .95rem; }
.alfa-homepage .alfa-about__eyebrow{ display: flex; align-items: center; gap: .8rem; margin: 0 0 .9rem; color: #0171B9; font-size: .82rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.alfa-homepage .alfa-about__eyebrow::before{ content: ""; flex: 0 0 34px; height: 3px; border-radius: 2px; background: #19296E; }
.alfa-homepage .alfa-about__text h2{ margin: 0 0 .8rem; color: #123b58; font-family: var(--heading-font); font-size: clamp(2rem, 6vw, 3.5rem); font-weight: 700; line-height: 1.1; }
.alfa-homepage .alfa-about__text p{ color: #3d4d60; font-size: 1rem; line-height: 1.85; hyphens: none; }
.alfa-homepage .alfa-about__text h2 + p{ margin: 0 0 1.2rem; color: #4f6a86; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.alfa-homepage .alfa-about__text p:last-child{ margin: 1.4rem 0 0; }
.alfa-homepage .alfa-about__text p:last-child a{ display: inline-flex; align-items: center; gap: .7rem; min-height: 52px; padding: .8rem 1.7rem; border-radius: 999px; background: #19296E; color: #fff; font-weight: 700; text-decoration: none; transition: background .25s, gap .25s, transform .25s; }
.alfa-homepage .alfa-about__text p:last-child a::after{ content: "\2192"; }
.alfa-homepage .alfa-about__text p:last-child a:hover{ transform: translateY(-2px); gap: 1.1rem; background: #19296E; text-decoration: none; }
.alfa-homepage .alfa-about__tags{ grid-column: 1 / -1; }
.alfa-homepage .alfa-about__tags ul{ display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.75rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid rgba(1, 113, 185, .2); list-style: none; }
.alfa-homepage .alfa-about__tags li{ margin: 0; padding: .45rem 1rem; border: 1.5px solid #0171B9; border-radius: 999px; color: #0171B9; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; transition: background .25s, color .25s; }
.alfa-homepage .alfa-about__tags li:hover{ background: #0171B9; color: #fff; }
@media (min-width: 900px) {.alfa-homepage .alfa-about{ grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(3rem, 6vw, 6rem); } .alfa-homepage .alfa-about__media{ padding-left: 1.25rem; } }
/* WHO WE ARE â€” Compact editorial split: copy on the left, a neatly cropped image card on the right, with an offset Alfasan-color panel behind it. */
.alfa-homepage .alfa-about{grid-template-columns:minmax(0,1fr);gap:2rem;width:100%;max-width:none;padding:clamp(2.5rem,6vw,5rem) max(1rem,calc((100% - 1240px)/2)) 2rem;border-top:1px solid rgba(1,113,185,.16);background:linear-gradient(135deg,#eef7fc 0%,#f7fbfe 58%,#fff 100%);}
.alfa-homepage .alfa-about__text{grid-column:1;grid-row:1;max-width:38rem;}
.alfa-homepage .alfa-about--text-only{grid-template-columns:minmax(0,1fr);max-width:900px;}
.alfa-homepage .alfa-about__eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1rem;padding:.48rem .9rem .48rem .62rem;border:1px solid rgba(25,40,109,.18);border-radius:2px 14px 2px 14px;background:linear-gradient(100deg,#fff1f4,#fff);box-shadow:0 5px 16px rgba(25,40,109,.07);color:#19296E;font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;}
.alfa-homepage .alfa-about__eyebrow::before{width:.55rem;height:.55rem;flex:0 0 .55rem;border:2px solid #fff;border-radius:50%;background:#19296E;box-shadow:0 0 0 3px rgba(25,40,109,.16);content:"";}
.alfa-homepage .alfa-about__text h2{margin:0 0 1rem;padding-left:1rem;border-left:4px solid #19296E;color:#123b58;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;}
.alfa-homepage .alfa-about__text p{font-size:16px;line-height:1.65;}
.alfa-homepage .alfa-about__text h2+p{margin:0 0 1rem;color:#4f6a86;font-size:1.1rem;}
.alfa-homepage .alfa-about__text p:last-child{margin:1.25rem 0 0;}
.alfa-homepage .alfa-about__text p:last-child a{min-height:48px;padding:.7rem 1.5rem;background:#19296E;}
.alfa-homepage .alfa-about__media{grid-column:1;grid-row:2;min-height:0;padding:0 1.25rem 1.25rem .35rem;}
.alfa-homepage .alfa-about__frame{inset:1.35rem 0 0 1.4rem;border-radius:1.25rem;transform:none;clip-path:polygon(16% 0,100% 0,100% 78%,82% 100%,0 100%,0 17%);background:linear-gradient(140deg,#0171b9 0 62%,#19296E 100%);}
.alfa-homepage .alfa-about__media>img{z-index:1;width:100%;height:clamp(250px,68vw,350px);aspect-ratio:1.12;object-fit:cover;object-position:center 45%;border-radius:1.2rem;box-shadow:0 16px 38px rgba(10,55,82,.16);transform:none;clip-path:polygon(16% 0,93% 0,100% 8%,100% 80%,82% 100%,0 100%,0 17%);}
.alfa-homepage .alfa-about__media:hover>img{transform:scale(1.015);}
.alfa-homepage .alfa-about__media>p:not(:has(img)){z-index:2;left:.8rem;bottom:.5rem;padding:.55rem .85rem;border-radius:.45rem;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(10,55,82,.15);font-size:.78rem;}
.alfa-homepage .alfa-about__media>p:not(:has(img))::before{display:none;}
.alfa-homepage .alfa-about__tags{grid-column:1;grid-row:3;}
@media(min-width:900px){.alfa-homepage .alfa-about{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(3rem,6vw,5rem);}.alfa-homepage .alfa-about__text{grid-column:1;grid-row:1;}.alfa-homepage .alfa-about__media{grid-column:2;grid-row:1;padding:0 1.5rem 1.5rem 0;}.alfa-homepage .alfa-about__media>img{height:clamp(340px,34vw,450px);}}

/* Who We Are image card: shaped photo with a company-color offset backing. */
.alfa-homepage .alfa-about{background:#fff;}
.alfa-homepage .alfa-about__media{isolation:isolate;min-height:0;padding:0 1.25rem 1.25rem .35rem;}
.alfa-homepage .alfa-about__frame{inset:1.45rem 0 0 1.45rem;border-radius:0;transform:none;clip-path:polygon(18% 0,88% 0,100% 0,100% 47%,86% 63%,86% 82%,66% 100%,0 100%,0 22%);background:linear-gradient(140deg,#0171b9 0%,#00568f 54%,#19296E 100%);}
.alfa-homepage .alfa-about__media>img{position:relative;z-index:1;display:block;width:100%;height:clamp(310px,74vw,500px);aspect-ratio:1 / 1;object-fit:cover;object-position:center 45%;border:0;border-radius:0;clip-path:polygon(21% 0,91% 0,96% 1%,100% 6%,100% 87%,98% 92%,93% 97%,88% 100%,0 100%,0 24%);box-shadow:0 24px 58px rgba(13,58,75,.17);transform:none;transition:filter .35s ease,transform .45s cubic-bezier(.22,1,.36,1);}
.alfa-homepage .alfa-about__media:hover>img{filter:saturate(1.04);transform:translateY(-3px);}
.alfa-homepage .alfa-about__text h2{padding-left:1rem;border-left:4px solid #19296E;color:#123b58;}
.alfa-homepage .alfa-about__text p:last-child a{background:#19296E;}
.alfa-homepage .alfa-about__text p:last-child a:hover{background:#19296E;}
@media(min-width:900px){.alfa-homepage .alfa-about{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}.alfa-homepage .alfa-about__text{grid-column:1;grid-row:1;}.alfa-homepage .alfa-about__media{grid-column:2;grid-row:1;min-height:clamp(390px,39vw,540px);padding:0 1.5rem 1.5rem 0;}.alfa-homepage .alfa-about__frame{inset:clamp(2.2rem,5vw,4rem) 0 0 16%;}.alfa-homepage .alfa-about__media>img{width:100%;height:clamp(390px,39vw,540px);}}
@media(max-width:899px){.alfa-homepage .alfa-about__media{width:min(100%,560px);margin-inline:auto;}.alfa-homepage .alfa-about__frame{inset:1.2rem 0 0 13%;}.alfa-homepage .alfa-about__media>img{height:auto;aspect-ratio:1 / 1;}}
@media(prefers-reduced-motion:reduce){.alfa-homepage .alfa-about__media>img{transition:none;}}

/* Mission, vision and values: mobile tabs become a curved, vertical selector on desktop. */
.alfa-core-values{padding:2.5rem 0;background:#fff;border-top:1px solid rgba(1,113,185,.12)}
.alfa-core-values h2,.alfa-pillars__panel h2{margin:0 0 .8rem;color:#123b58;font-family:var(--heading-font);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.12}
.alfa-core-values__content{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;color:#425b70;font-size:1rem;line-height:1.7}
.alfa-core-values__content p{margin:.2rem 0}
.alfa-core-values__content ul{display:flex;flex-wrap:wrap;gap:.65rem;margin:.5rem 0 0;padding:0;list-style:none}
.alfa-core-values__content li{padding:.55rem .95rem;border:1px solid rgba(1,113,185,.23);border-radius:999px;background:#f1f8fc;color:#00568f;font-weight:700}
.alfa-pillars{overflow:hidden;padding:2.75rem 0 3.5rem;background:#f3f5f7;color:#263b4d}
.alfa-pillars__layout{display:grid;gap:1.5rem}
.alfa-pillars__nav{position:relative;z-index:2;display:flex;justify-content:space-around;gap:.35rem;padding:.4rem 0}
.alfa-pillars__nav::before{position:absolute;z-index:-1;top:50%;right:8%;left:8%;height:2px;background:linear-gradient(90deg,#d6e681,#0171b9);content:""}
.alfa-pillars__tab{display:flex;min-width:0;flex:1;flex-direction:column;align-items:center;gap:.35rem;padding:.25rem .15rem;border:0;background:transparent;color:#263b4d;font:700 .82rem var(--font);cursor:pointer}
.alfa-pillars__icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid #0171b9;border-radius:50%;background:#fff;box-shadow:0 0 0 5px #d7e9f6;transition:box-shadow .25s,background .25s,color .25s,transform .25s}
.alfa-pillars__icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.alfa-pillars__tab:hover .alfa-pillars__icon,.alfa-pillars__tab:focus-visible .alfa-pillars__icon,.alfa-pillars__tab.is-active .alfa-pillars__icon{background:#0171b9;color:#fff;box-shadow:0 0 0 6px #c6e2f3;transform:translateY(-2px)}
.alfa-pillars__tab:focus-visible{outline:2px solid #19296E;outline-offset:4px}
.alfa-pillars__stage{position:relative;min-height:370px;padding:5.5rem 0 0}
.alfa-pillars__image{position:absolute;inset:0 0 1.5rem 10%;background-color:#dcecf5;background-position:center;background-size:cover;box-shadow:0 18px 42px rgba(20,52,76,.13)}
.alfa-pillars__hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1}
.alfa-pillars__hero-image--alternate{opacity:0;animation:alfa-pillars-crossfade 12s ease-in-out infinite}
@keyframes alfa-pillars-crossfade{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
.alfa-pillars__image--three .alfa-pillars__hero-image{opacity:0;animation-duration:15s;animation-iteration-count:infinite;animation-timing-function:linear}
.alfa-pillars__image--three .alfa-pillars__hero-image--1{animation-name:alfa-pillars-image-one}
.alfa-pillars__image--three .alfa-pillars__hero-image--2{animation-name:alfa-pillars-image-two}
.alfa-pillars__image--three .alfa-pillars__hero-image--3{animation-name:alfa-pillars-image-three}
@keyframes alfa-pillars-image-one{0%,30%{opacity:1}34%,96%{opacity:0}100%{opacity:1}}
@keyframes alfa-pillars-image-two{0%,30%{opacity:0}34%,63%{opacity:1}67%,100%{opacity:0}}
@keyframes alfa-pillars-image-three{0%,63%{opacity:0}67%,96%{opacity:1}100%{opacity:0}}
.alfa-pillars__image::after{position:absolute;inset:0;background:linear-gradient(135deg,rgba(1,113,185,.08),rgba(0,49,84,.2));content:""}
.alfa-pillars__image--fallback{background-image:radial-gradient(circle at 75% 24%,rgba(255,255,255,.72) 0 7%,transparent 7.4%),linear-gradient(145deg,#d8eef9,#90c8e8 48%,#0171b9)}
.alfa-pillars__panels{position:relative;width:min(92%,560px);min-height:225px;padding:1.45rem;border-radius:18px;background:#fff;box-shadow:0 15px 40px rgba(20,52,76,.12);transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.alfa-pillars__panels:hover,.alfa-pillars__panels:focus-within{background:#0874b9;color:#fff;box-shadow:0 22px 48px rgba(1,75,125,.24);transform:translateY(-3px)}
.alfa-pillars__panels:hover .alfa-pillars__panel h2,.alfa-pillars__panels:focus-within .alfa-pillars__panel h2{color:#fff}
.alfa-pillars__panels:hover .alfa-pillars__eyebrow,.alfa-pillars__panels:focus-within .alfa-pillars__eyebrow{color:#d8efff}
.alfa-pillars__panels:hover .alfa-pillars__panel>div,.alfa-pillars__panels:focus-within .alfa-pillars__panel>div{color:rgba(255,255,255,.94)}
.alfa-pillars__panel[hidden]{display:none}
.alfa-pillars__panel{animation:alfa-pillar-in .35s ease both}
.alfa-pillars__panel h2{font-size:clamp(1.75rem,5vw,2.6rem)}
.alfa-pillars__panel>div{color:#526577;font-size:1rem;line-height:1.7}
.alfa-pillars__panel>div p{margin:.35rem 0}
.alfa-pillars__panel>div ul{display:grid;gap:.5rem;margin:.6rem 0 0;padding-left:1.15rem}
.alfa-pillars__eyebrow{margin:0 0 .5rem;color:#0171b9;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
@keyframes alfa-pillar-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:800px){.alfa-pillars{padding:5rem 0}.alfa-pillars__layout{grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);align-items:center;gap:clamp(2rem,5vw,5rem)}.alfa-pillars__nav{min-height:390px;flex-direction:column;align-items:flex-start;justify-content:space-evenly;padding-left:1rem}.alfa-pillars__nav::before{top:8%;right:auto;bottom:8%;left:-8px;width:76px;height:auto;border-right:2px solid #c5dd61;border-radius:0 55% 55% 0;background:none}.alfa-pillars__tab{flex:none;flex-direction:row;gap:1.1rem;text-align:left;font-size:1rem}.alfa-pillars__icon{width:66px;height:66px;box-shadow:0 0 0 7px #d7e9f6}.alfa-pillars__icon svg{width:38px;height:38px}.alfa-pillars__stage{min-height:440px;padding:2.5rem 0}.alfa-pillars__image{inset:0 0 0 34%;border-radius:0 0 0 0}.alfa-pillars__panels{width:min(58%,560px);min-height:260px;padding:2rem;align-self:center;top:0;margin-left:-5%;z-index:1}}
@media(prefers-reduced-motion:reduce){.alfa-pillars__panel{animation:none}.alfa-pillars__icon{transition:none}.alfa-pillars__hero-image--alternate,.alfa-pillars__image--three .alfa-pillars__hero-image{animation:none;opacity:0}.alfa-pillars__image--three .alfa-pillars__hero-image--1{opacity:1}}
/* Match the reference's circular, staggered selector: the S-curve runs through each icon center. */
@media(min-width:800px){
  .alfa-pillars__nav{min-height:470px;justify-content:space-evenly;padding:0;}
  .alfa-pillars__nav::before{top:0;right:auto;bottom:0;left:0;width:180px;height:100%;border:0;border-radius:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 470' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop stop-color='%23c5dd61' stop-opacity='0'/%3E%3Cstop offset='.18' stop-color='%23c5dd61'/%3E%3Cstop offset='.5' stop-color='%23a8cd20'/%3E%3Cstop offset='.82' stop-color='%23c5dd61'/%3E%3Cstop offset='1' stop-color='%23c5dd61' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M41 0 C41 55 41 96 41 96 C41 150 89 150 89 235 C89 320 41 320 41 374 C41 400 41 440 41 470' fill='none' stroke='url(%23g)' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:100% 100%;}
  .alfa-pillars__tab{position:relative;z-index:1;width:170px;min-height:86px;gap:1.1rem;padding:0;}
  .alfa-pillars__tab:nth-child(2){margin-left:48px;}
  .alfa-pillars__icon{width:82px;height:82px;flex:0 0 82px;box-shadow:0 0 0 9px #d7e9f6;}
  .alfa-pillars__icon svg{width:46px;height:46px;}
  .alfa-pillars__tab:hover .alfa-pillars__icon,.alfa-pillars__tab:focus-visible .alfa-pillars__icon,.alfa-pillars__tab.is-active .alfa-pillars__icon{box-shadow:0 0 0 10px #c6e2f3;}
}
/* ---- 2. FEATURE STRIP ---- */ .alfa-homepage .alfa-fv{width:calc(100% - 2rem);max-width:1320px;margin:1rem auto clamp(3rem,7vw,5rem)}
.alfa-homepage .alfa-fv__list{display:grid;margin:0;padding:0;overflow:hidden;list-style:none;background:#fff;border:1px solid rgba(25,40,109,.15);border-radius:28px;box-shadow:0 18px 44px rgba(18,59,88,.08)}
.alfa-homepage .alfa-fv__item{display:flex;align-items:flex-start;gap:1rem;margin:0;padding:1.5rem;border-bottom:1px solid rgba(25,40,109,.1);transition:background .3s}
.alfa-homepage .alfa-fv__item:last-child{border-bottom:0}
.alfa-homepage .alfa-fv__item:hover{background:#fff5f7}
.alfa-homepage .alfa-fv__ic{display:grid;flex:0 0 60px;place-items:center;height:60px;border-radius:50%;background:#eaf0fb;color:#19296E;font-size:1.55rem;transition:background .3s,color .3s,transform .4s}
.alfa-homepage .alfa-fv__item:hover .alfa-fv__ic{background:#19296E;color:#fff;transform:rotate(-8deg) scale(1.08)}
.alfa-homepage .alfa-fv__body h3{margin:.2rem 0 .35rem;color:#123b58;font-family:var(--font);font-size:1.1rem;font-weight:700}
.alfa-homepage .alfa-fv__body p{margin:0;color:#5a6c7d;font-size:.93rem;line-height:1.65}
@media(min-width:640px){.alfa-homepage .alfa-fv__list{grid-template-columns:repeat(2,1fr)} .alfa-homepage .alfa-fv__item:nth-child(odd){border-right:1px solid rgba(1,113,185,.1)} .alfa-homepage .alfa-fv__item:nth-child(3){border-bottom:0} }
@media(min-width:1000px){.alfa-homepage .alfa-fv__list{grid-template-columns:repeat(4,1fr)} .alfa-homepage .alfa-fv__item{flex-direction:column;border-bottom:0;border-right:1px solid rgba(1,113,185,.1);padding:1.75rem 1.5rem} .alfa-homepage .alfa-fv__item:last-child{border-right:0} }
/* ---- 3. PRODUCTS (optional) ---- */ .alfa-homepage .alfa-prod{width:calc(100% - 2rem);max-width:1320px;margin:0 auto;padding:clamp(2rem,6vw,4rem) 0 clamp(3.5rem,8vw,6rem)}
.alfa-homepage .alfa-prod__head{max-width:720px;margin-bottom:2.25rem}
.alfa-homepage .alfa-prod__head h2{margin:0;color:#123b58;font-family:var(--heading-font);font-size:clamp(1.9rem,5vw,3.2rem);line-height:1.12}
.alfa-homepage .alfa-prod__grid{display:grid;gap:1rem;align-items:stretch}
.alfa-homepage .alfa-prod__card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;padding:0;background:#fff;border:1px solid rgba(17,52,77,.12);border-radius:8px;box-shadow:0 4px 14px rgba(18,59,88,.04);transition:transform .25s,box-shadow .25s,border-color .25s}
.alfa-homepage .alfa-prod__no{display:none}
.alfa-homepage .alfa-prod__image{display:grid;flex:0 0 auto;height:180px;margin:0;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f4f8fb,#eaf3fa);border-bottom:1px solid rgba(17,52,77,.12)}
.alfa-homepage .alfa-prod__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.alfa-homepage .alfa-prod__card h4{min-height:3.4rem;margin:0;padding:1rem .9rem .25rem;color:#123b58;font-family:var(--heading-font);font-size:1.1rem;font-weight:700;line-height:1.3;text-align:center;transition:color .25s}
.alfa-homepage .alfa-prod__card p{flex:1;margin:0;padding:0 .9rem 1.1rem;color:#5a6c7d;font-size:.9rem;line-height:1.55;text-align:center;transition:color .25s}
.alfa-homepage .alfa-prod__card::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:#0171B9;transition:width .35s}
.alfa-homepage .alfa-prod__card:hover{transform:translateY(-3px);border-color:rgba(1,113,185,.5);box-shadow:0 12px 28px rgba(1,75,122,.12)}
.alfa-homepage .alfa-prod__card:hover::after{width:100%}
.alfa-homepage .alfa-prod__card:hover .alfa-prod__image img{transform:scale(1.04)}
@media(min-width:640px){.alfa-homepage .alfa-prod__grid{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1000px){.alfa-homepage .alfa-prod__grid{grid-template-columns:repeat(3,1fr);gap:1.4rem} }
@media(prefers-reduced-motion:reduce){.alfa-homepage .alfa-about *,.alfa-homepage .alfa-fv *,.alfa-homepage .alfa-prod *{transition:none!important} }
/* END NEW ALFASAN UGANDA CSS */ /* ============================================================================ MAIN CONTENT AREA ========================================================================== */ .alfa-main-content{ max-width: 100%; margin: 0; padding: var(--space-2xl) var(--space-lg); background: transparent; /* No background - inherit cream from body */ min-height: 60vh; }

/* ============================================================================ FORM STYLES - Inputs, buttons, form groups ========================================================================== */ .alfa-form-group{ margin-bottom: var(--space-lg); }
label{ display: block; margin-bottom: var(--space-sm); font-weight: 600; color: var(--text); /* Dark labels on white form */ }
input[type="text"],input[type="email"],input[type="phone"],input[type="password"],textarea,select{ width: 100%; padding: var(--space-md); border: 1px solid var(--border); border-radius: var(--radius); font-size: 1rem; transition: all 0.15s ease; background: var(--white); /* White input backgrounds */ color: var(--text); /* Dark text in inputs */ }
input[type="text"]:focus,input[type="email"]:focus,input[type="phone"]:focus,input[type="password"]:focus,textarea:focus,select:focus{ outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(46, 46, 116, 0.1); }
textarea{ resize: vertical; min-height: 120px; }
/* Buttons */ .alfa-btn,.alfa-btn-primary{ display: inline-block; padding: var(--space-md) var(--space-xl); background: var(--primary); color: var(--white); border-radius: var(--radius); font-weight: 600; font-size: 1rem; text-decoration: none; transition: all 0.15s ease; cursor: pointer; border: none; }
.alfa-btn:hover,.alfa-btn-primary:hover{ background: var(--primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.alfa-btn-secondary{ display: inline-block; padding: var(--space-md) var(--space-xl); background: transparent; color: var(--primary); border: 2px solid var(--primary); border-radius: var(--radius); font-weight: 600; font-size: 1rem; text-decoration: none; transition: all 0.15s ease; cursor: pointer; }
.alfa-btn-secondary:hover{ background: var(--primary); color: var(--white); }
.alfa-required{ color: var(--accent); font-weight: bold; }
.alfa-form-hint{ display: block; font-size: 0.85rem; color: var(--text-muted); margin-top: 0.5rem; }
.alfa-checkbox-group label{ display: flex; align-items: center; gap: 0.5rem; font-weight: 400; }
.alfa-checkbox-group input[type="checkbox"]{ width: auto; margin: 0; }
.alfa-form-actions{ display: flex; gap: var(--space-md); margin-top: var(--space-lg); }
/* ============================================================================ CARD COMPONENTS - Reusable card layouts with hover effects ========================================================================== */ .alfa-card{ background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-md); transition: all 0.3s ease; }
.alfa-card:hover{ box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.alfa-card-image{ width: 100%; height: 200px; overflow: hidden; background: var(--border); }
.alfa-card-image img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-card:hover .alfa-card-image img{ transform: scale(1.05); }
.alfa-card-body{ padding: var(--space-lg); }
.alfa-card-title{ margin: 0 0 var(--space-sm) 0; font-size: 1.25rem; font-weight: 700; color: var(--text); }
.alfa-card-text{ margin: 0 0 var(--space-md) 0; color: var(--text-light); font-size: 0.95rem; }
.alfa-card-meta{ font-size: 0.85rem; color: var(--text-muted); margin-bottom: var(--space-md); }
/* Fade in animation */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
/* Breadcrumb navigation */ .alfa-breadcrumb{ margin-bottom: var(--space-lg); }
.alfa-breadcrumb-list{ display: flex; justify-content: center; align-items: center; list-style: none; margin: 0; padding: 0; gap: var(--space-sm); flex-wrap: wrap; }
.alfa-breadcrumb-item{ display: flex; align-items: center; }
.alfa-breadcrumb-item::after{ content: '/'; display: inline-block; margin-left: var(--space-sm); opacity: 0.7; }
.alfa-breadcrumb-item:last-child::after{ display: none; }
.alfa-breadcrumb-item a{ color: rgba(255, 255, 255, 0.9); text-decoration: none; font-size: 0.9rem; transition: color 0.15s ease; font-weight: 500; }
.alfa-breadcrumb-item a:hover{ color: var(--accent); }
.alfa-breadcrumb-item span{ font-size: 0.9rem; color: rgba(255, 255, 255, 0.9); font-weight: 500; }
/* ============================================================================ CONTACT PAGE STYLES ========================================================================== */ .alfa-contact-wrapper{ max-width: 1200px; margin: 0 auto; padding: 0 var(--space-lg); background: transparent; }
.alfa-contact-container{ display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: start; width: 100%; }
.alfa-contact-form-section h2{ color: var(--primary); margin-bottom: 1.5rem; margin-top: 0; }
.alfa-contact-form{ background: var(--white); /* White form background sitting on blue */ padding: 2rem; border-radius: var(--radius); border: 1px solid var(--border); width: 100%; box-shadow: var(--shadow-lg); }
.alfa-contact-info-section{ display: flex; flex-direction: column; gap: 1.5rem; width: 100%; }
.alfa-contact-info-block{ background: var(--white); /* White info blocks sitting on blue */ padding: 1.5rem; border-radius: var(--radius); border-left: 4px solid var(--accent); width: 100%; box-shadow: var(--shadow-lg); }
.alfa-contact-info-block h3{ margin: 0 0 1rem 0; color: var(--primary); /* Dark purple headings on white */ font-size: 1.1rem; }
.alfa-contact-info-block p{ margin: 0; line-height: 1.8; color: var(--text); /* Dark text on white */ }
.alfa-contact-info-block a{ color: var(--primary); /* Purple links on white */ font-weight: 500; }
.alfa-social-links{ display: flex; gap: 1rem; margin-top: 1rem; flex-wrap: wrap; }
.alfa-social-link{ display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--primary); color: var(--white); border-radius: 50%; transition: all 0.3s ease; text-decoration: none; flex-shrink: 0; }
.alfa-social-link:hover{ background: var(--accent); transform: translateY(-2px); text-decoration: none; }
/* ============================================================================ ACCESSIBILITY - Focus states and screen reader support ========================================================================== */ .alfa-nav-link:focus,.alfa-submenu-link:focus,.alfa-tool-icon:focus,.alfa-btn:focus{ outline: 2px solid var(--accent); outline-offset: 2px; }
.skip-link{ position: absolute; top: -40px; left: 0; background: var(--primary); color: var(--white); padding: var(--space-md); text-decoration: none; z-index: 100; }
.skip-link:focus{ top: 0; }
.visually-hidden{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }


/* ============================================================================ FRONT PAGE SECTIONS - TEAM, PUBLICATIONS, GALLERIES, VIDEOS ========================================================================== */ /* General front page section styles */ .alfa-front-section{ padding: var(--space-2xl) var(--space-lg); background: var(--white); border-bottom: 1px solid var(--border); }
.alfa-section-container{ max-width: 1200px; margin: 0 auto; }
.alfa-section-title{ color: var(--primary); font-size: 2rem; font-weight: 800; margin-bottom: var(--space-sm); text-align: center; }
.alfa-section-subtitle{ color: var(--text-light); font-size: 1.1rem; text-align: center; margin-bottom: var(--space-xl); }
/* ============================================================================ TEAM MEMBERS SECTION ========================================================================== */ .alfa-front-team{ background: var(--bg); }
.alfa-team-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-team-card{ background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.alfa-team-card:hover{ transform: translateY(-4px); box-shadow: 0 8px 16px rgba(46, 46, 116, 0.15); }
.alfa-team-photo{ width: 100%; height: 300px; overflow: hidden; background: var(--bg); }
.alfa-team-image{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-team-card:hover .alfa-team-image{ transform: scale(1.05); }
.alfa-team-content{ padding: var(--space-lg); }
.alfa-team-name{ color: var(--primary); font-size: 1.3rem; font-weight: 800; margin-bottom: 0.25rem; }
.alfa-team-position{ color: var(--accent); font-weight: 600; font-size: 0.95rem; margin-bottom: var(--space-md); }
.alfa-team-bio{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin-bottom: var(--space-md); }
.alfa-team-contact{ display: flex; gap: var(--space-md); font-size: 0.9rem; }
.alfa-team-email,.alfa-team-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; }
.alfa-team-email:hover,.alfa-team-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ PUBLICATIONS SECTION ========================================================================== */ .alfa-front-publications{ background: var(--white); }
.alfa-publications-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-publication-card{ background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.3s ease, border-color 0.3s ease; }
.alfa-publication-card:hover{ box-shadow: 0 8px 16px rgba(46, 46, 116, 0.15); border-color: var(--accent); }
.alfa-pub-thumbnail{ width: 100%; height: 200px; background: var(--bg); overflow: hidden; }
.alfa-pub-image{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-publication-card:hover .alfa-pub-image{ transform: scale(1.05); }
.alfa-pub-content{ padding: var(--space-lg); }
.alfa-pub-title{ color: var(--primary); font-size: 1.1rem; font-weight: 800; margin-bottom: 0.5rem; line-height: 1.4; }
.alfa-pub-author{ color: var(--text-light); font-size: 0.85rem; margin-bottom: var(--space-sm); font-style: italic; }
.alfa-pub-description{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin-bottom: var(--space-md); }
.alfa-pub-actions{ display: flex; gap: var(--space-md); font-size: 0.9rem; }
.alfa-pub-download,.alfa-pub-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; }
.alfa-pub-download:hover,.alfa-pub-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ PHOTO GALLERIES SECTION ========================================================================== */ .alfa-front-galleries{ background: var(--bg); }
.alfa-galleries-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-gallery-card{ background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.alfa-gallery-card:hover{ transform: translateY(-4px); box-shadow: 0 8px 16px rgba(46, 46, 116, 0.15); }
.alfa-gallery-thumbnail{ position: relative; width: 100%; height: 250px; overflow: hidden; background: var(--bg); }
.alfa-gallery-image{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-gallery-card:hover .alfa-gallery-image{ transform: scale(1.05); }
.alfa-gallery-count{ position: absolute; bottom: var(--space-md); right: var(--space-md); }
.alfa-gallery-count-badge{ background: rgba(0, 0, 0, 0.7); color: var(--white); padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.85rem; font-weight: 600; }
.alfa-gallery-content{ padding: var(--space-lg); }
.alfa-gallery-title{ color: var(--primary); font-size: 1.2rem; font-weight: 800; margin-bottom: 0.5rem; }
.alfa-gallery-location{ color: var(--text-light); font-size: 0.9rem; margin-bottom: var(--space-sm); }
.alfa-gallery-description{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin-bottom: var(--space-md); }
.alfa-gallery-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; display: inline-block; }
.alfa-gallery-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ VIDEOS SECTION ========================================================================== */ .alfa-front-videos{ background: var(--white); }
.alfa-videos-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-video-card{ background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.3s ease, border-color 0.3s ease; }
.alfa-video-card:hover{ box-shadow: 0 8px 16px rgba(46, 46, 116, 0.15); border-color: var(--accent); }
.alfa-video-embed{ position: relative; width: 100%; padding-bottom: 56.25%; /* 16:9 aspect ratio */ background: #000; overflow: hidden; }
.alfa-video-player{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; background:#000; }
.alfa-video-thumbnail-link{ display:block; inset:0; position:absolute; }
.alfa-video-fallback{ align-items:center; color:#fff; display:flex; inset:0; justify-content:center; position:absolute; text-decoration:none; }
.alfa-video-thumbnail{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease, opacity 0.3s ease; }
.alfa-video-play-button{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60px; height: 60px; background: rgba(255, 107, 53, 0.9); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; color: var(--white); transition: background 0.3s ease, transform 0.3s ease; z-index: 2; border: none; cursor: pointer; }
.alfa-video-card:hover .alfa-video-play-button{ background: var(--primary); transform: translate(-50%, -50%) scale(1.1); }
.alfa-video-card:hover .alfa-video-thumbnail{ transform: scale(1.05); opacity: 0.7; }
.alfa-video-duration{ position: absolute; bottom: var(--space-sm); right: var(--space-sm); background: rgba(0, 0, 0, 0.8); color: var(--white); padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.8rem; font-weight: 600; z-index: 1; }
.alfa-video-content{ padding: var(--space-lg); }
.alfa-video-title{ color: var(--primary); font-size: 1.1rem; font-weight: 800; margin-bottom: 0.5rem; line-height: 1.4; }
.alfa-video-description{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin-bottom: var(--space-md); }
.alfa-video-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; display: inline-block; }
.alfa-video-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ VIEW ALL LINK ========================================================================== */ .alfa-view-all-link{ text-align: center; padding-top: var(--space-lg); }
.alfa-button-secondary{ background: var(--white); color: var(--primary); border: 2px solid var(--primary); padding: var(--space-md) var(--space-xl); border-radius: var(--radius); font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; cursor: pointer; transition: background 0.3s ease, color 0.3s ease; display: inline-block; text-decoration: none; }
.alfa-button-secondary:hover{ background: var(--primary); color: var(--white); }
.alfa-page-title{ font-size: 2.5rem; font-weight: 800; margin-bottom: var(--space-md); }
.alfa-page-subtitle{ font-size: 1.1rem; opacity: 0.95; }
/* ============================================================================ FILTER BUTTONS ========================================================================== */ .alfa-publication-filter,.alfa-gallery-filter,.alfa-video-filter{ background: var(--bg); padding: var(--space-xl) 0; margin-bottom: var(--space-2xl); border-radius: var(--radius); text-align: center; }
.alfa-filter-label{ color: var(--text); font-weight: 600; margin-bottom: var(--space-md); }
.alfa-filter-buttons{ display: flex; flex-wrap: wrap; gap: var(--space-md); justify-content: center; }
.alfa-filter-button{ padding: 0.5rem 1rem; border: 2px solid var(--border); background: var(--white); color: var(--text); border-radius: 20px; cursor: pointer; font-weight: 600; transition: all 0.3s ease; text-decoration: none; }
.alfa-filter-button:hover{ border-color: var(--accent); color: var(--accent); }
.alfa-filter-button.active{ background: var(--accent); color: var(--white); border-color: var(--accent); }
/* ============================================================================ RESPONSIVE DESIGN - FRONT SECTIONS ========================================================================== */ @media (max-width: 992px) {.alfa-front-section{ padding: var(--space-xl) var(--space-md); } .alfa-team-grid,.alfa-publications-grid,.alfa-galleries-grid,.alfa-videos-grid{ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--space-md); } .alfa-section-title{ font-size: 1.5rem; } .alfa-page-title{ font-size: 2rem; } }
@media (max-width: 768px) {.alfa-front-section{ padding: var(--space-lg) var(--space-md); } .alfa-team-grid,.alfa-publications-grid,.alfa-galleries-grid,.alfa-videos-grid{ grid-template-columns: 1fr; } .alfa-section-title{ font-size: 1.3rem; } .alfa-section-subtitle{ font-size: 1rem; } .alfa-page-title{ font-size: 1.5rem; } .alfa-page-subtitle{ font-size: 1rem; } .alfa-filter-buttons{ gap: var(--space-sm); } .alfa-filter-button{ padding: 0.4rem 0.8rem; font-size: 0.85rem; } .alfa-team-contact{ flex-direction: column; gap: var(--space-sm); } .alfa-pub-actions,.alfa-filter-buttons{ flex-direction: column; } }
@media (max-width: 480px) {.alfa-front-section{ padding: var(--space-md); } .alfa-section-title{ font-size: 1.1rem; } .alfa-page-title{ font-size: 1.25rem; } .alfa-team-card,.alfa-publication-card,.alfa-gallery-card,.alfa-video-card{ border-radius: 8px; } .alfa-team-photo{ height: 250px; } .alfa-gallery-thumbnail{ height: 200px; } .alfa-video-play-button{ width: 50px; height: 50px; font-size: 18px; } }
/* ============================================================================ UPCOMING EVENTS SECTION ========================================================================== */ .alfa-front-events{ background: linear-gradient(135deg, rgba(255, 107, 53, 0.05) 0%, rgba(46, 46, 116, 0.05) 100%); }
/* Homepage featured video and upcoming events */ .alfa-front-stories-events{ position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); background: radial-gradient(ellipse at 100% 0%, rgba(1, 113, 185, .12), transparent 34rem), #f7fafc; }
.alfa-front-stories-events .alfa-section-container{ max-width: 1400px; }
.alfa-stories-heading{ max-width: 860px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.alfa-stories-eyebrow,.alfa-video-content-label{ margin: 0 0 .65rem; color: #0171B9; font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.alfa-front-stories-events .alfa-section-title{ margin-bottom: .65rem; color: #12314a; }
.alfa-front-stories-events .alfa-section-subtitle{ margin: 0; color: #647687; }
.alfa-video-events-grid{ display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); align-items: stretch; gap: clamp(1.5rem, 3.5vw, 3.25rem); }
.alfa-featured-video-column,.alfa-featured-events{ min-width: 0; }
.alfa-featured-video-column{ display: flex; flex-direction: column; }
.alfa-video-card{ overflow: hidden; border: 1px solid rgba(1, 113, 185, .2); border-radius: 1rem; background: #fff; box-shadow: 0 16px 38px rgba(16, 40, 58, .1); }
.alfa-video-eyebrow{ display: flex; min-height: 3.5rem; align-items: center; gap: .7rem; padding: .75rem 1.4rem; color: #12314a; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.alfa-video-eyebrow-mark{ width: .55rem; height: .55rem; border-radius: 50%; background: #0171B9; box-shadow: 0 0 0 .3rem rgba(1, 113, 185, .15); }
.alfa-video-eyebrow-duration{ margin-left: auto; color: #647687; font-weight: 600; letter-spacing: .04em; }
.alfa-video-embed{ border-block: 1px solid rgba(1, 113, 185, .12); }
.alfa-video-content{ padding: clamp(1.25rem, 2.3vw, 2rem); color: #12314a; }
.alfa-video-content-label{ color: #0171B9; font-size: .68rem; }
.alfa-video-title{ margin: 0 0 .75rem; color: #12314a; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.2; }
.alfa-video-description{ display: -webkit-box; overflow: hidden; margin: 0 0 1.25rem; color: #647687; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.alfa-video-link{ display: inline-flex; align-items: center; gap: .65rem; color: #0171B9; font-weight: 800; text-decoration: none; }
.alfa-video-link span{ display: inline-grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #0171B9; color: #fff; transition: transform .2s ease, background-color .2s ease; }
.alfa-video-link:hover,.alfa-video-link:focus-visible{ color: #00568F; }
.alfa-video-link:hover span,.alfa-video-link:focus-visible span{ transform: translateX(3px); background: #00568F; }
.alfa-featured-events{ display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)) auto; align-content: stretch; gap: 1rem; }
.alfa-featured-links{ display: flex; justify-content: flex-start; margin-top: .25rem; }
.alfa-featured-events .alfa-event-card{ position: relative; display: flex; min-height: 0; overflow: hidden; flex-direction: column; border: 1px solid rgba(1, 113, 185, .2); border-radius: 1rem; background: #fff; box-shadow: 0 12px 28px rgba(16, 40, 58, .09); color: #12314a; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.alfa-featured-events .alfa-event-card:hover,.alfa-featured-events .alfa-event-card:focus-visible{ transform: translateY(-4px); border-color: rgba(1, 113, 185, .55); box-shadow: 0 18px 34px rgba(16, 40, 58, .14); outline: 2px solid rgba(1, 113, 185, .22); outline-offset: 2px; }
.alfa-featured-events .alfa-event-image{ position: relative; display: block; overflow: hidden; flex: 0 0 auto; width: 100%; height: clamp(8rem, 13vw, 10rem); background: linear-gradient(130deg, #0171B9, #12314a 72%); }
.alfa-featured-events .alfa-event-image::after{ position: absolute; right: 0; bottom: 0; left: 0; height: .35rem; background: #0171B9; content: ""; }
.alfa-featured-events .alfa-event-image-placeholder::before{ position: absolute; top: -3rem; right: -2rem; width: 12rem; height: 12rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(255, 255, 255, .05), 0 0 0 4rem rgba(255, 255, 255, .04); content: ""; }
.alfa-event-kicker{ color: #0171B9; font-size: .67rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.alfa-featured-events .alfa-event-title{ display: block; color: #12314a; font-size: 1.08rem; font-weight: 800; line-height: 1.25; }
.alfa-event-teaser{ display: grid; gap: .35rem; width: 100%; padding: 1rem 1.25rem .25rem; }
.alfa-featured-events .alfa-event-content{ position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: .25rem 1.25rem 1.2rem; background: #fff; color: #12314a; }
.alfa-event-content-kicker{ margin-bottom: .3rem; color: #647687; font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.alfa-event-content .alfa-event-title{ margin-bottom: .45rem; font-size: 1rem; }
.alfa-featured-events .alfa-event-card:hover .alfa-event-content,.alfa-featured-events .alfa-event-card:focus-visible .alfa-event-content{ color: #12314a; }
.alfa-featured-events .alfa-event-datetime,.alfa-featured-events .alfa-event-location{ display: block; margin: 0 0 .3rem; color: #647687; font-size: .78rem; }
.alfa-featured-events .alfa-event-description{ display: -webkit-box; overflow: hidden; margin: .3rem 0 .6rem; color: #647687; font-size: .78rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.alfa-featured-events .alfa-event-link{ display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; color: #0171B9; font-size: .78rem; font-weight: 800; }
.alfa-events-empty{ display: flex; min-height: 100%; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid rgba(1, 113, 185, .14); border-radius: 1rem; background: #fff; box-shadow: 0 14px 32px rgba(16, 40, 58, .08); }
.alfa-events-empty-mark{ display: grid; width: 2.7rem; height: 2.7rem; margin-bottom: 1.25rem; place-items: center; border-radius: 50%; background: #e8f5fc; color: #0171B9; font-size: 1.6rem; font-weight: 400; }
.alfa-events-empty-label{ margin: 0 0 .45rem; color: #19296E; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.alfa-events-empty h3{ margin: 0 0 .65rem; color: #12314a; font-size: clamp(1.2rem, 2vw, 1.55rem); }
.alfa-events-empty > p:not(.alfa-events-empty-label){ max-width: 28rem; margin: 0 0 1.15rem; color: #647687; line-height: 1.6; }
.alfa-events-empty a{ display: inline-flex; gap: .5rem; color: #0171B9; font-weight: 800; text-decoration: none; }
.alfa-events-empty a:hover,.alfa-events-empty a:focus-visible{ color: #19296E; }
@media (max-width: 800px) {.alfa-video-events-grid{ grid-template-columns: 1fr; gap: 1.5rem; } .alfa-featured-events{ grid-template-rows: none; grid-template-columns: 1fr; } .alfa-events-empty{ min-height: 260px; } }
@media (max-width: 560px) {.alfa-featured-video-column,.alfa-featured-events{ width: 100%; } .alfa-featured-links{ justify-content: center; } .alfa-featured-events .alfa-event-card{ min-height: 190px; } }
@media (prefers-reduced-motion: reduce) {.alfa-video-link span,.alfa-featured-events .alfa-event-card{ transition: none; } }
.alfa-events-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-event-card{ background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.alfa-event-card:hover{ transform: translateY(-4px); box-shadow: 0 8px 16px rgba(255, 107, 53, 0.15); }
.alfa-event-image{ width: 100%; height: 200px; background: var(--bg); overflow: hidden; }
.alfa-event-photo{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-event-card:hover .alfa-event-photo{ transform: scale(1.05); }
.alfa-event-content{ padding: var(--space-lg); }
.alfa-event-title{ color: var(--primary); font-size: 1.1rem; font-weight: 800; margin-bottom: var(--space-md); line-height: 1.4; }
.alfa-event-icon{ margin-right: 0.5rem; }
.alfa-event-datetime,.alfa-event-location{ color: var(--text-light); font-size: 0.9rem; margin-bottom: 0.5rem; }
.alfa-event-datetime{ color: var(--accent); font-weight: 600; }
.alfa-event-description{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin: var(--space-md) 0; }
.alfa-event-actions{ display: flex; gap: var(--space-md); font-size: 0.9rem; }
.alfa-event-register,.alfa-event-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; }
.alfa-event-register:hover,.alfa-event-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ NEWS SECTION ========================================================================== */ .alfa-news-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-news-card{ background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.3s ease, border-color 0.3s ease; display: flex; flex-direction: column; height: 100%; }
.alfa-news-card:hover{ box-shadow: 0 8px 16px rgba(46, 46, 116, 0.15); border-color: var(--accent); }
.alfa-news-image{ width: 100%; height: 180px; background: var(--bg); overflow: hidden; }
.alfa-news-photo{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.alfa-news-card:hover .alfa-news-photo{ transform: scale(1.05); }
.alfa-news-content{ padding: var(--space-lg); flex-grow: 1; display: flex; flex-direction: column; }
.alfa-news-date{ color: var(--accent); font-size: 0.85rem; font-weight: 600; margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; }
.alfa-news-title{ color: var(--primary); font-size: 1.1rem; font-weight: 800; margin-bottom: var(--space-md); line-height: 1.4; flex-grow: 1; }
.alfa-news-summary{ color: var(--text); font-size: 0.9rem; line-height: 1.5; margin-bottom: var(--space-md); }
.alfa-news-link{ color: var(--accent); text-decoration: none; font-weight: 600; transition: color 0.2s ease; display: inline-block; }
.alfa-news-link:hover{ color: var(--primary); text-decoration: underline; }
/* ============================================================================ NEWS LIST LAYOUT (Alternative - Uncomment in template to use) ========================================================================== */ .alfa-news-list{ display: flex; flex-direction: column; gap: var(--space-xl); margin-bottom: var(--space-2xl); }
.alfa-news-item{ background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; display: grid; grid-template-columns: 250px 1fr; gap: var(--space-lg); padding: var(--space-lg); transition: box-shadow 0.3s ease; }
.alfa-news-item:hover{ box-shadow: 0 4px 12px rgba(46, 46, 116, 0.1); }
.alfa-news-list-image{ width: 100%; height: 150px; overflow: hidden; border-radius: 8px; }
.alfa-news-list-image img{ width: 100%; height: 100%; object-fit: cover; }
.alfa-news-list-content{ display: flex; flex-direction: column; justify-content: center; }
.alfa-news-list-content .alfa-news-title{ margin-bottom: 0.5rem; }
/* ============================================================================ RESPONSIVE DESIGN - EVENTS & NEWS ========================================================================== */ @media (max-width: 992px) {.alfa-events-grid,.alfa-news-grid{ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--space-md); } .alfa-news-item{ grid-template-columns: 200px 1fr; gap: var(--space-md); padding: var(--space-md); } }
@media (max-width: 768px) {.alfa-events-grid,.alfa-news-grid{ grid-template-columns: 1fr; } .alfa-event-card,.alfa-news-card{ border-radius: 8px; } .alfa-event-image,.alfa-news-image{ height: 150px; } .alfa-news-item{ grid-template-columns: 150px 1fr; gap: var(--space-sm); padding: var(--space-md); } .alfa-news-list-image{ height: 120px; } .alfa-event-actions,.alfa-news-list-content .alfa-news-link{ flex-direction: column; } }
@media (max-width: 480px) {.alfa-event-content,.alfa-news-content{ padding: var(--space-md); } .alfa-event-actions{ flex-direction: column; gap: var(--space-sm); } .alfa-news-item{ grid-template-columns: 1fr; gap: 0; padding: 0; } .alfa-news-list-image{ width: 100%; height: 150px; border-radius: 0; } .alfa-news-list-content{ padding: var(--space-md); } }
/* ============================================================================ NEWS SECTION - Latest News Cards on Front Page ========================================================================== */ .alfa-section-container{ max-width: 1400px; margin: 0 auto; }
.alfa-section-title{ text-align: center; font-size: 2.5rem; font-weight: 800; color: var(--primary); margin: 0 0 var(--space-md) 0; letter-spacing: -0.5px; }
.alfa-section-subtitle{ text-align: center; font-size: 1.125rem; color: var(--text-light); margin: 0 0 var(--space-2xl) 0; max-width: 600px; margin-left: auto; margin-right: auto; }
/* News Grid - 4 columns fixed layout */ .alfa-news-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); margin-bottom: var(--space-2xl); }
.alfa-news-listing .kpy-news-card{ min-width: 0; overflow: hidden; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.alfa-news-listing .kpy-news-image-link,.alfa-news-listing .kpy-news-image{ display: block; width: 100%; aspect-ratio: 16 / 9; }
.alfa-news-listing .kpy-news-image{ background-position: center; background-size: cover; }
.alfa-news-listing .kpy-news-content{ padding: var(--space-lg); }
.alfa-news-listing .kipya-post-title{ margin-top: 0; }
@media (max-width: 1200px) {.alfa-news-grid{ grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 992px) {.alfa-news-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {.alfa-news-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) {/* Mobile slider on screens â‰¤480px */ .alfa-news-grid{ display: flex; grid-template-columns: unset; gap: 0; margin-bottom: var(--space-2xl); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: var(--space-md); -webkit-overflow-scrolling: touch; } }
/* Individual News Card */ .alfa-news-card{ background: var(--white); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-md); transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1); display: flex; flex-direction: column; height: 100%; }
.alfa-news-card:hover{ box-shadow: var(--shadow-lg); transform: translateY(-8px); }
/* Mobile slider card styling */ @media (max-width: 480px) {.alfa-news-card{ flex: 0 0 calc(100% - 1rem); min-width: calc(100% - 1rem); margin-right: 1rem; scroll-snap-align: start; scroll-snap-stop: always; } }
/* Card Image */ .alfa-news-image{ width: 100%; height: 250px; overflow: hidden; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); position: relative; }
.alfa-news-photo{ width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.4s ease; }
.alfa-news-card:hover .alfa-news-photo{ transform: scale(1.08); }
/* Card Content */ .alfa-news-content{ padding: var(--space-lg); display: flex; flex-direction: column; flex-grow: 1; }
/* Date Badge */ .alfa-news-date{ display: inline-block; width: fit-content; padding: 0.4rem 0.8rem; background: linear-gradient(135deg, var(--accent) 0%, #19296E 100%); color: var(--white); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; border-radius: 20px; margin-bottom: var(--space-md); }
/* Card Title */ .alfa-news-title{ margin: 0 0 var(--space-md) 0; font-size: 1.25rem; font-weight: 700; color: var(--primary); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* Card Summary (15 words max) */ .alfa-news-summary{ margin: 0 0 var(--space-md) 0; color: var(--text-light); font-size: 0.95rem; line-height: 1.6; flex-grow: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* Read More Link */ .alfa-news-link{ display: inline-flex; align-items: center; gap: 0.5rem; color: var(--primary); font-weight: 600; text-decoration: none; font-size: 0.95rem; transition: all 0.3s ease; margin-top: auto; width: fit-content; }
.alfa-news-link:hover{ color: var(--accent); }
/* View All News Button */ .alfa-view-all-link{ display: flex; justify-content: center; margin-top: var(--space-xl); }
.alfa-button{ display: inline-block; padding: 0.8rem 2rem; border-radius: var(--radius); font-weight: 600; font-size: 1rem; text-decoration: none; transition: all 0.3s ease; cursor: pointer; border: none; }
.alfa-button-secondary{ background: var(--white); color: var(--primary); border: 2px solid var(--primary); }
.alfa-button-secondary:hover{ background: var(--primary); color: var(--white); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.alfa-button-accent{ background: var(--accent); color: var(--white); }
.alfa-button-accent:hover{ background: var(--accent-dark); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 107, 53, 0.3); }
/* Responsive adjustments */ @media (max-width: 768px) {.alfa-section-title{ font-size: 2rem; } .alfa-section-subtitle{ font-size: 1rem; } .alfa-news-card{ margin-bottom: var(--space-md); } }
@media (max-width: 480px) {.alfa-section-title{ font-size: 1.75rem; } .alfa-news-image{ height: 160px; } .alfa-news-content{ padding: var(--space-md); } }
/* FHRI Newsroom: mobile-first editorial listing and article cards. */ .alfa-news-page{ background: #f4f6fa; }
.alfa-news-list-kicker{ margin: 0 0 .8rem; color: #19296E; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.alfa-news-page .alfa-main-content{ padding: clamp(2.5rem, 6vw, 5rem) 1rem; background: #f4f6fa; }
.alfa-news-page .alfa-main-inner{ max-width: 1400px; margin: 0 auto; }
.alfa-news-list-heading{ max-width: 680px; margin: 0 auto clamp(1.75rem, 4vw, 3rem); text-align: center; }
.alfa-news-list-kicker{ margin-bottom: .5rem; color: var(--accent); }
.alfa-news-list-heading h2{ margin: 0; color: var(--primary); font-size: clamp(1.8rem, 4vw, 2.7rem); font-weight: 800; letter-spacing: -.035em; }
.alfa-news-list-heading > p:last-child{ margin: .75rem 0 0; color: var(--text-light); font-size: 1rem; line-height: 1.7; }
.alfa-news-listing .alfa-news-grid{ display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 2rem 1.5rem; margin: 0; }
.alfa-news-listing .alfa-news-card{ display: flex; min-width: 0; flex-direction: column; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: transform .25s ease; }
.alfa-news-listing .alfa-news-card:hover{ transform: translateY(-4px); box-shadow: none; }
.alfa-news-listing .alfa-news-image-link{ position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 1.48 / 1; background: linear-gradient(135deg, #dce3f2, #b9c5df); }
.alfa-news-listing .alfa-news-card-image,.alfa-news-listing .alfa-news-image-fallback{ display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.alfa-news-listing .alfa-news-card:hover .alfa-news-card-image{ transform: scale(1.045); }
.alfa-news-listing .alfa-news-image-fallback{ display: grid; place-items: center; color: rgba(255, 255, 255, .85); background: linear-gradient(135deg, #282866, #656db0); font-size: 2rem; font-weight: 800; letter-spacing: .15em; }
.alfa-news-listing .alfa-news-card-content{ position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; align-items: flex-start; margin: -1.75rem .75rem 0 1.75rem; padding: 1.25rem; border-top: 4px solid var(--accent); background: #fff; box-shadow: 0 12px 30px rgba(24, 34, 74, .1); }
.alfa-news-card-meta{ display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-bottom: .8rem; color: var(--text-light); font-size: .75rem; font-weight: 650; }
.alfa-news-card-category{ color: var(--accent-dark); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.alfa-news-listing .alfa-news-card-title{ margin: 0 0 .75rem; color: var(--primary); font-size: 1.2rem; font-weight: 800; line-height: 1.35; }
.alfa-news-listing .alfa-news-card-title a{ color: inherit; }
.alfa-news-listing .alfa-news-card-excerpt{ display: -webkit-box; overflow: hidden; margin: 0 0 1rem; color: var(--text-light); font-size: .94rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.alfa-news-read-more{ display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; color: var(--primary); font-size: .9rem; font-weight: 800; }
.alfa-news-read-more:hover{ color: var(--accent-dark); }
.alfa-news-listing .pager{ margin-top: 2.5rem; }
.alfa-news-listing .pager__items{ display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; padding: 0; list-style: none; }
.alfa-news-listing .pager__item a,.alfa-news-listing .pager__item.is-active a{ display: grid; min-width: 2.7rem; min-height: 2.7rem; place-items: center; padding: .45rem .75rem; border: 1px solid var(--border); border-radius: 4px; background: #fff; color: var(--primary); font-weight: 700; text-decoration: none; }
.alfa-news-listing .pager__item.is-active a,.alfa-news-listing .pager__item a:hover{ border-color: var(--primary); background: var(--primary); color: #fff; }
@media (min-width: 600px) {.alfa-news-listing .alfa-news-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.5rem; } .alfa-news-listing .alfa-news-card-content{ margin-left: 1.5rem; padding: 1.4rem; } }
@media (min-width: 1024px) {.alfa-news-listing .alfa-news-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.75rem 1.75rem; } }
@media (prefers-reduced-motion: reduce) {.alfa-news-listing .alfa-news-card,.alfa-news-listing .alfa-news-card-image{ transition: none; } }
/* Event history timeline: light canvas, compact photo cards and centered date chips. */
.alfa-events-page .alfa-main-content{ padding: clamp(2.5rem, 6vw, 5rem) 1rem; background: #f3f5f6; }
.alfa-events-page .alfa-main-inner{ width: min(100%, 1400px); margin: 0 auto; }
.alfa-events-intro{ max-width: 850px; margin: 0 auto 2.5rem; text-align: center; }
.alfa-events-intro .alfa-section-title{ margin: 0 0 .65rem; color: #0171B9; font-family: var(--heading-font,Georgia,serif); font-size: clamp(2rem,6vw,3.25rem); line-height: 1.12; }
.alfa-events-intro .alfa-section-subtitle{ max-width: 760px; margin: 0 auto; color: #40596c; font-size: 16px; line-height: 1.65; }
.alfa-events-timeline{ position: relative; display: flow-root; width: 100%; padding: 0; }
.alfa-event-timeline-card{ position: relative; display: flex; justify-content: flex-end; width: 50%; margin: 0; padding: 0 3.25rem 2.6rem 0; }
.alfa-event-timeline-card:nth-child(even){ justify-content: flex-start; margin-left: 50%; padding: 0 0 2.6rem 3.25rem; }
.alfa-event-timeline-card::before{ position: absolute; z-index: 1; top: 3.175rem; right: 0; bottom: -3.175rem; width: 1px; background: #aeb9c2; content: ""; }
.alfa-event-timeline-card:nth-child(even)::before{ right: auto; left: 0; }
.alfa-event-timeline-card:last-child::before{ display: none; }
.alfa-event-timeline-date{ position: absolute; z-index: 4; top: 2.35rem; right: -2.25rem; display: grid; width: 4.5rem; min-height: 1.65rem; place-items: center; padding: .2rem .35rem; border: 1px solid #cbd3da; border-radius: 2rem; background: #fff; color: #173b56; font-size: .65rem; font-weight: 800; white-space: nowrap; box-shadow: 0 2px 8px rgba(20,40,60,.08); }
.alfa-event-timeline-card:nth-child(even) .alfa-event-timeline-date{ right: auto; left: -2.25rem; }
.alfa-event-timeline-panel{ position: relative; width: min(100%, 380px); overflow: visible; border-radius: 14px; background: #fff; box-shadow: 0 5px 16px rgba(20,40,60,.12); clip-path: polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%); transition: transform .22s ease, box-shadow .22s ease; }
.alfa-event-timeline-card:hover .alfa-event-timeline-panel,.alfa-event-timeline-card:focus-within .alfa-event-timeline-panel{ transform: translateY(-3px); box-shadow: 0 10px 24px rgba(20,40,60,.18); }
.alfa-event-timeline-image-link{ position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 7; background: #e6edf2; }
.alfa-event-timeline-image{ display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }
.alfa-event-timeline-image-fallback{ display: grid; width: 100%; height: 100%; place-items: center; color: #0171B9; font-size: 1.2rem; font-weight: 800; }
.alfa-event-timeline-card:hover .alfa-event-timeline-image{ transform: scale(1.055); }
.alfa-event-category{ position: absolute; z-index: 5; top: 2.35rem; right: 2.25rem; display: block; max-width: 8.5rem; overflow: hidden; padding: .42rem 1rem .42rem .55rem; background: #19d98b; color: #073b35; font-size: .62rem; font-weight: 850; letter-spacing: .035em; line-height: 1.2; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; clip-path: polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%); }
.alfa-event-timeline-card:nth-child(even) .alfa-event-category{ right: auto; left: 2.25rem; padding: .42rem .55rem .42rem 1rem; clip-path: polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%); }
.alfa-event-timeline-content{ display: flex; min-height: 132px; flex-direction: column; align-items: flex-start; padding: .8rem .9rem 1rem; }
.alfa-event-timeline-content h2{ margin: 0 0 .42rem; font-size: clamp(.95rem, 1.2vw, 1.08rem); line-height: 1.28; }
.alfa-event-timeline-content h2 a{ color: #12314a; text-decoration: none; }
.alfa-event-timeline-meta{ margin: 0 0 .3rem; color: #566a7d; font-size: .76rem; }
.alfa-event-timeline-meta span{ margin-right: .35rem; color: #0171B9; }
.alfa-event-timeline-description{ display: -webkit-box; overflow: hidden; margin: .2rem 0 .5rem; color: #566a7d; font-size: .76rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.alfa-event-timeline-actions{ display: flex; flex-wrap: wrap; gap: .8rem; margin-top: auto; padding-top: .35rem; }
.alfa-event-timeline-register,.alfa-event-timeline-details{ color: #0171B9; font-size: .75rem; font-weight: 800; text-decoration: none; }
.alfa-event-timeline-register:hover,.alfa-event-timeline-details:hover{ color: #19296E; }
.alfa-events-empty{ max-width: 700px; margin: 0 auto; padding: 3rem 1.5rem; border: 1px solid #e2e5ef; border-radius: 8px; background: #fff; text-align: center; box-shadow: 0 8px 24px rgba(24, 34, 74, .06); }
.alfa-events-empty-mark{ display: inline-grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: #eeeefa; color: var(--primary); font-size: .85rem; font-weight: 800; }
.alfa-events-empty h3{ margin: 1rem 0 .5rem; color: var(--primary); }
.alfa-events-empty p{ max-width: 500px; margin: 0 auto; color: var(--text-light); }
.alfa-events-listing .pager{ margin-top: 2.5rem; }
.alfa-events-listing .pager__items{ display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; padding: 0; list-style: none; }
.alfa-events-listing .pager__item a,.alfa-events-listing .pager__item.is-active a{ display: grid; min-width: 2.7rem; min-height: 2.7rem; place-items: center; padding: .45rem .75rem; border: 1px solid var(--border); border-radius: 4px; background: #fff; color: var(--primary); font-weight: 700; text-decoration: none; }
.alfa-events-listing .pager__item.is-active a,.alfa-events-listing .pager__item a:hover{ border-color: var(--primary); background: var(--primary); color: #fff; }
/* Contact page */ .alfa-contact-page .alfa-main-content{ padding: clamp(2.5rem, 6vw, 5rem) 1rem; background: #f4f6fa; }
.alfa-contact-layout{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; width: min(100%, 1400px); margin: 0 auto; }
.alfa-contact-information,.alfa-contact-form-panel{ min-width: 0; }
.alfa-contact-kicker{ margin: 0 0 .45rem; color: var(--accent-dark); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.alfa-contact-information h2,.alfa-contact-form-panel h2{ margin: 0; color: var(--primary); font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.025em; }
.alfa-contact-intro{ margin: .75rem 0 1.5rem; color: var(--text-light); line-height: 1.7; }
.alfa-contact-cards{ display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; }
.alfa-contact-card{ display: flex; align-items: flex-start; gap: 1rem; padding: 1.2rem; border: 1px solid #e3e6f0; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(24, 34, 74, .055); }
.alfa-contact-card-icon{ display: grid; flex: 0 0 2.8rem; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #eeeefa; color: var(--primary); }
.alfa-contact-card-icon svg{ width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.alfa-contact-card h3{ margin: .15rem 0 .55rem; color: var(--primary); font-size: 1rem; font-weight: 800; }
.alfa-contact-card address,.alfa-contact-card p{ margin: 0 0 .5rem; color: var(--text-light); font-size: .92rem; font-style: normal; line-height: 1.7; }
.alfa-contact-card a{ display: block; width: fit-content; margin: .18rem 0; color: var(--primary); font-size: .92rem; font-weight: 700; overflow-wrap: anywhere; }
.alfa-contact-card .alfa-contact-small{ margin-top: .6rem; font-size: .82rem; }
.alfa-contact-form-panel{ padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid #e2e5ef; border-radius: 10px; background: #fff; box-shadow: 0 14px 38px rgba(24, 34, 74, .09); }
.alfa-contact-form-panel .alfa-contact-intro{ margin-bottom: 1.4rem; }
.alfa-contact-form-content .region-content,.alfa-contact-form-content #block-kipya-content,.alfa-contact-form-content .block-system-main-block{ margin: 0; }
.alfa-contact-form-content .contact-form{ display: grid; gap: 1rem; }
.alfa-contact-form-content .form-item{ margin: 0; }
.alfa-contact-form-content label{ display: block; margin: 0 0 .4rem; color: #25254f; font-size: .9rem; font-weight: 750; }
.alfa-contact-form-content input:not([type="submit"]):not([type="hidden"]),.alfa-contact-form-content textarea,.alfa-contact-form-content select{ display: block; width: 100%; min-height: 3rem; padding: .8rem .9rem; border: 1px solid #d7dbea; border-radius: 5px; background: #fbfcfe; color: var(--text); font: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.alfa-contact-form-content textarea{ min-height: 10rem; resize: vertical; }
.alfa-contact-form-content input:focus,.alfa-contact-form-content textarea:focus,.alfa-contact-form-content select:focus{ border-color: var(--primary-light); outline: 0; box-shadow: 0 0 0 3px rgba(74, 74, 158, .13); }
.alfa-contact-form-content .form-actions{ display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .25rem; }
.alfa-contact-form-content input[type="submit"]{ min-height: 2.9rem; padding: .75rem 1.35rem; border: 0; border-radius: 5px; background: var(--primary); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.alfa-contact-form-content input[type="submit"]:hover{ background: var(--primary-dark); }
@media (max-width: 700px){.alfa-event-timeline-card,.alfa-event-timeline-card:nth-child(even){width:100%;margin:0;padding:0 0 2rem 2.25rem;justify-content:flex-start;}.alfa-event-timeline-card::before,.alfa-event-timeline-card:nth-child(even)::before{right:auto;left:.55rem;}.alfa-event-timeline-date,.alfa-event-timeline-card:nth-child(even) .alfa-event-timeline-date{top:2.35rem;right:auto;left:calc(.55rem - 2.25rem);width:4.5rem;min-width:0;min-height:1.4rem;padding:.12rem .3rem;font-size:.56rem;}.alfa-event-timeline-panel{width:100%;}.alfa-event-category,.alfa-event-timeline-card:nth-child(even) .alfa-event-category{top:2.35rem;right:auto;left:2.75rem;padding:.34rem .55rem .34rem 1rem;clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);}.alfa-event-timeline-content{min-height:0;padding:.75rem .8rem .85rem;}}
@media (prefers-reduced-motion: reduce){.alfa-event-timeline-panel,.alfa-event-timeline-image{transition:none;}}
/* -------------------------------------------------------------------------- ALFASAN CONTACT PAGE Contact details, enquiry form, and location map share one responsive system. -------------------------------------------------------------------------- */ .alfa-contact-page{ --contact-blue: #0171B9; --contact-red: #19296E; --contact-ink: #24384a; --contact-muted: #627486; --contact-border: #dce6ee; }
.alfa-contact-page .alfa-contact-layout{ grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
.alfa-contact-page .alfa-contact-information h2,.alfa-contact-page .alfa-contact-form-panel h2,.alfa-contact-map h2{ color: var(--contact-blue); font-family: var(--heading-font); }
.alfa-contact-page .alfa-contact-kicker{ color: var(--contact-red); font-family: var(--font); }
.alfa-contact-page .alfa-contact-intro{ color: var(--contact-muted); }
.alfa-contact-page .alfa-contact-cards{ gap: 1rem; }
.alfa-contact-page .alfa-contact-card{ min-height: 100%; border-color: var(--contact-border); border-radius: 12px 12px 12px 0; box-shadow: 0 12px 30px rgba(23, 61, 88, .07); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.alfa-contact-page .alfa-contact-card:hover{ border-color: rgba(1, 113, 185, .4); box-shadow: 0 16px 34px rgba(23, 61, 88, .12); transform: translateY(-3px); }
.alfa-contact-page .alfa-contact-card-icon{ background: rgba(1, 113, 185, .1); color: var(--contact-blue); }
.alfa-contact-page .alfa-contact-card h3{ color: var(--contact-ink); font-family: var(--font); }
.alfa-contact-page .alfa-contact-card address,.alfa-contact-page .alfa-contact-card p{ color: var(--contact-muted); }
.alfa-contact-page .alfa-contact-card a{ color: var(--contact-blue); text-underline-offset: .18em; }
.alfa-contact-page .alfa-contact-card a:hover{ color: var(--contact-red); }
/* Branded form panel; fields remain bright and high-contrast for readability. */ .alfa-contact-page .alfa-contact-form-panel{ position: relative; isolation: isolate; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.5rem); border: 0; border-radius: 18px 54px 0 18px; background: linear-gradient(145deg, #00568F, #0171B9 72%, #2186C4); box-shadow: 0 22px 50px rgba(0, 75, 124, .2); }
.alfa-contact-page .alfa-contact-form-panel::after{ position: absolute; z-index: -1; top: -7rem; right: -6rem; width: 17rem; height: 17rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(255, 255, 255, .045), 0 0 0 4rem rgba(255, 255, 255, .03); content: ""; pointer-events: none; }
.alfa-contact-page .alfa-contact-form-panel .alfa-contact-kicker{ color: rgba(255, 255, 255, .78); }
.alfa-contact-page .alfa-contact-form-panel h2,.alfa-contact-page .alfa-contact-form-panel .alfa-contact-intro{ position: relative; color: #fff; }
.alfa-contact-page .alfa-contact-form-content .contact-form{ position: relative; grid-template-columns: minmax(0, 1fr); gap: .85rem; }
.alfa-contact-page .alfa-contact-form-content .form-item,.alfa-contact-page .alfa-contact-form-content .form-wrapper{ min-width: 0; margin: 0; }
.alfa-contact-page .alfa-contact-form-content label{ color: #fff; font-family: var(--font); }
.alfa-contact-page .alfa-contact-form-content input:not([type="submit"]):not([type="hidden"]),.alfa-contact-page .alfa-contact-form-content textarea,.alfa-contact-page .alfa-contact-form-content select{ min-height: 3rem; border-color: rgba(255, 255, 255, .7); border-radius: 9px 9px 9px 0; background: #fff; color: var(--contact-ink); }
.alfa-contact-page .alfa-contact-form-content textarea{ min-height: 8rem; }
.alfa-contact-page .alfa-contact-form-content input:focus,.alfa-contact-page .alfa-contact-form-content textarea:focus,.alfa-contact-page .alfa-contact-form-content select:focus{ border-color: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .22); }
.alfa-contact-page .alfa-contact-form-content .description,.alfa-contact-page .alfa-contact-form-content .form-item--error-message{ color: #fff; }
.alfa-contact-page .alfa-contact-form-content .form-actions{ grid-column: 1 / -1; justify-content: flex-end; }
.alfa-contact-page .alfa-contact-form-content input[type="submit"]{ min-height: 3rem; padding: .75rem 1.5rem; border-radius: 9px 0 9px 9px; background: var(--contact-red); font-family: var(--font); transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.alfa-contact-page .alfa-contact-form-content input[type="submit"]:hover,.alfa-contact-page .alfa-contact-form-content input[type="submit"]:focus-visible{ background: #19296E; box-shadow: 0 8px 22px rgba(26, 31, 47, .24); transform: translateY(-2px); }
/* The map is deliberately the final content section before the site footer. */ .alfa-contact-map{ width: min(100%, 1400px); margin: clamp(3rem, 7vw, 5.5rem) auto 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--contact-border); border-radius: 16px 16px 16px 0; background: #fff; box-shadow: 0 14px 38px rgba(23, 61, 88, .08); }
.alfa-contact-map-heading{ margin-bottom: 1.25rem; }
.alfa-contact-map h2{ margin: 0 0 .5rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.alfa-contact-map-heading > p:last-child{ margin: 0; color: var(--contact-muted); }
.alfa-contact-map-frame{ overflow: hidden; min-height: 280px; border-radius: 10px 10px 10px 0; background: #e8f1f7; }
.alfa-contact-map-frame iframe{ display: block; width: 100%; height: clamp(280px, 42vw, 440px); border: 0; }
@media (min-width: 620px) {.alfa-contact-page .alfa-contact-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .alfa-contact-page .alfa-contact-card--address{ grid-column: 1 / -1; } .alfa-contact-page .alfa-contact-form-content .contact-form{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .alfa-contact-page .alfa-contact-form-content .form-item--name,.alfa-contact-page .alfa-contact-form-content .form-item--mail,.alfa-contact-page .alfa-contact-form-content [data-drupal-selector="edit-subject-wrapper"],.alfa-contact-page .alfa-contact-form-content [data-drupal-selector="edit-message-wrapper"],.alfa-contact-page .alfa-contact-form-content .form-actions{ grid-column: 1 / -1; } }
@media (min-width: 980px) {.alfa-contact-page .alfa-contact-layout{ grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: start; } .alfa-contact-page .alfa-contact-cards{ grid-template-columns: minmax(0, 1fr); } .alfa-contact-page .alfa-contact-card--address{ grid-column: auto; } }
@media (max-width: 619px) {.alfa-contact-page .alfa-contact-form-panel{ border-radius: 16px 38px 0 16px; } .alfa-contact-page .alfa-contact-form-content .form-actions{ justify-content: stretch; } .alfa-contact-page .alfa-contact-form-content input[type="submit"]{ width: 100%; } }
@media (prefers-reduced-motion: reduce) {.alfa-contact-page .alfa-contact-card,.alfa-contact-page .alfa-contact-form-content input,.alfa-contact-page .alfa-contact-form-content textarea,.alfa-contact-page .alfa-contact-form-content select,.alfa-contact-page .alfa-contact-form-content input[type="submit"]{ transition: none; } }
/* FHRI publications library: filters and document-first cards. */ .alfa-publications-inner{ max-width: 1240px; }
.alfa-publications-page .alfa-main-content{ background: #f5f7fb; padding: clamp(2rem, 5vw, 4rem) 1rem; }
.alfa-publication-library{ width: 100%; }
.alfa-publication-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin: 0 0 1.5rem; }
.alfa-publication-heading h2{ color: #202b68; font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.15; margin: .2rem 0 .55rem; }
.alfa-publication-heading > div > p:last-child{ color: #63708a; line-height: 1.65; margin: 0; max-width: 650px; }
.alfa-publication-result-count{ color: #59657c; flex: 0 0 auto; font-size: .92rem; margin: 0 0 .25rem; }
.alfa-publication-result-count strong{ color: #202b68; font-size: 1.15rem; }
.alfa-publication-filters{ background: #fff; border: 1px solid #e0e5ef; border-radius: 16px; box-shadow: 0 8px 24px rgba(27,39,87,.055); margin: 0 0 1.75rem; padding: 1rem 1.1rem 1.1rem; }
.alfa-publication-filter-label{ color: #39476d; display: block; font-size: .76rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .75rem; text-transform: uppercase; }
.alfa-publication-filter-list{ align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.alfa-publication-filter{ background: #f4f6fa; border: 1px solid #e1e6f0; border-radius: 999px; color: #3d4964; display: inline-flex; font-size: .88rem; font-weight: 650; justify-content: center; line-height: 1.2; min-height: 40px; padding: .65rem .95rem; text-decoration: none; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.alfa-publication-filter:hover,.alfa-publication-filter:focus-visible{ background: #eaf0fb; border-color: #19296E; color: #19296E; transform: translateY(-1px); }
.alfa-publication-filter.is-active{ background: #222d6b; border-color: #222d6b; box-shadow: 0 5px 12px rgba(34,45,107,.18); color: #fff; }
.alfa-publication-library-grid{ align-items: stretch; display: grid; gap: 1.2rem; grid-template-columns: minmax(0,1fr); }
.alfa-library-card{ background: #fff; border: 1px solid #e1e6f0; border-radius: 16px; box-shadow: 0 8px 24px rgba(27,39,87,.06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.alfa-library-card:hover{ border-color: #c8d0e2; box-shadow: 0 15px 32px rgba(27,39,87,.12); transform: translateY(-3px); }
.alfa-library-card-cover{ aspect-ratio: 16 / 10; background: linear-gradient(135deg,#e9edf6,#dce3f1); display: block; overflow: hidden; position: relative; text-decoration: none; }
.alfa-library-card-cover > img{ height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.alfa-library-card:hover .alfa-library-card-cover > img{ transform: scale(1.04); }
.alfa-library-cover-fallback{ align-items: center; background: radial-gradient(circle at 80% 10%,rgba(240,100,53,.3),transparent 35%),linear-gradient(145deg,#263371,#14214d); color: #fff; display: flex; flex-direction: column; height: 100%; justify-content: center; width: 100%; }
.alfa-library-cover-mark{ border: 1px solid rgba(255,255,255,.65); border-radius: 5px; font-size: 1.5rem; font-weight: 850; letter-spacing: .12em; padding: .6rem .8rem; }
.alfa-library-cover-type{ color: #a8d4ed; font-size: .72rem; font-weight: 750; letter-spacing: .16em; margin-top: .75rem; text-transform: uppercase; }
.alfa-library-category-badge{ background: #fff; border: 1px solid rgba(255,255,255,.75); border-radius: 999px; bottom: .8rem; box-shadow: 0 4px 12px rgba(10,20,50,.12); color: #28356f; font-size: .72rem; font-weight: 750; left: .8rem; max-width: calc(100% - 1.6rem); overflow: hidden; padding: .42rem .7rem; position: absolute; text-overflow: ellipsis; white-space: nowrap; }
.alfa-library-card-body{ display: flex; flex: 1; flex-direction: column; padding: 1.1rem 1.15rem 1.15rem; }
.alfa-library-card-meta{ align-items: center; color: #758098; display: flex; font-size: .77rem; gap: .6rem; justify-content: space-between; margin-bottom: .6rem; }
.alfa-library-file-type{ background: #eaf0fb; border-radius: 4px; color: #19296E; font-size: .68rem; font-weight: 850; letter-spacing: .06em; padding: .25rem .4rem; }
.alfa-library-card-body h3{ font-size: 1.12rem; line-height: 1.35; margin: 0 0 .4rem; overflow-wrap: anywhere; }
.alfa-library-card-body h3 a{ color: #222e6e; text-decoration: none; }
.alfa-library-card-body h3 a:hover{ color: #19296E; }
.alfa-library-author{ color: #66718a; font-size: .83rem; margin: 0 0 .6rem; }
.alfa-library-description{ color: #58647b; font-size: .9rem; line-height: 1.6; margin: 0 0 .9rem; }
.alfa-library-file-info{ border-top: 1px solid #edf0f5; color: #768097; display: flex; font-size: .72rem; gap: .5rem; justify-content: space-between; margin: auto 0 .85rem; overflow-wrap: anywhere; padding-top: .7rem; }
.alfa-library-card-actions,.alfa-publication-detail-actions{ align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; }
.alfa-library-open,.alfa-library-download{ align-items: center; border: 1px solid transparent; border-radius: 8px; display: inline-flex; font-size: .84rem; font-weight: 750; justify-content: center; min-height: 42px; padding: .65rem .85rem; text-decoration: none; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.alfa-library-open{ background: #263371; color: #fff; flex: 1; gap: .4rem; }
.alfa-library-open:hover,.alfa-library-open:focus-visible{ background: #172253; color: #fff; }
.alfa-library-download{ background: #fff; border-color: #e2e6ef; color: #36426f; }
.alfa-library-download:hover,.alfa-library-download:focus-visible{ background: #eaf0fb; border-color: #19296E; color: #19296E; }
.alfa-publications-page .pager{ margin: 2rem 0 0; }
.alfa-publications-page .pager__items{ display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; list-style: none; padding: 0; }
.alfa-publications-page .pager__item a,.alfa-publications-page .pager__item.is-active a{ align-items: center; background: #fff; border: 1px solid #e0e5ef; border-radius: 8px; color: #34416f; display: flex; justify-content: center; min-height: 40px; min-width: 40px; padding: .45rem .7rem; text-decoration: none; }
.alfa-publications-page .pager__item.is-active a,.alfa-publications-page .pager__item a:hover{ background: #263371; border-color: #263371; color: #fff; }
.alfa-publication-empty{ background: #fff; border: 1px dashed #cbd3e2; border-radius: 16px; padding: 2.5rem 1.25rem; text-align: center; }
.alfa-publication-empty-mark{ align-items: center; background: #eef1f8; border-radius: 50%; color: #28356f; display: inline-flex; font-size: .8rem; font-weight: 850; height: 56px; justify-content: center; letter-spacing: .06em; margin-bottom: .5rem; width: 56px; }
.alfa-publication-empty h3{ color: #25316c; margin: .25rem 0 .5rem; }
.alfa-publication-empty p{ color: #68738a; margin: 0 0 1rem; }
.alfa-publication-empty .alfa-library-open{ display: inline-flex; flex: 0 0 auto; }
.alfa-publication-detail{ margin: 0 auto; max-width: 1100px; padding: clamp(1.25rem,4vw,3rem) 1rem; }
.alfa-publication-detail-header{ margin: 0 auto 1.75rem; max-width: 850px; }
.alfa-publication-back{ color: #4c5a85; display: inline-block; font-size: .88rem; font-weight: 700; margin-bottom: 1.5rem; text-decoration: none; }
.alfa-publication-detail-categories{ color: #19296E; font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .55rem; text-transform: uppercase; }
.alfa-publication-detail-header h1{ color: #222e6e; font-size: clamp(1.8rem,5vw,3.2rem); line-height: 1.12; margin: 0 0 .8rem; overflow-wrap: anywhere; }
.alfa-publication-detail-meta{ color: #6c7790; display: flex; flex-wrap: wrap; font-size: .88rem; gap: .45rem 1rem; }
.alfa-publication-detail-intro{ color: #4f5c74; font-size: 1rem; line-height: 1.75; margin: 1rem 0 1.25rem; }
.alfa-publication-reader{ background: #303747; border: 1px solid #dbe0e9; border-radius: 12px; box-shadow: 0 12px 32px rgba(23,32,67,.12); margin: 0 auto; max-width: 1050px; overflow: hidden; }
.alfa-publication-reader iframe{ background: #fff; border: 0; display: block; height: min(82vh,1000px); min-height: 620px; width: 100%; }
.alfa-publication-detail-cover{ margin: 1.5rem auto; max-width: 900px; }
.alfa-publication-detail-cover img{ border-radius: 12px; height: auto; width: 100%; }
@media (min-width: 620px) {.alfa-publication-library-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 980px) {.alfa-publication-library-grid{ gap: 1.5rem; grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 600px) {.alfa-publication-heading{ align-items: start; flex-direction: column; gap: .55rem; } .alfa-publication-result-count{ margin: 0; } .alfa-publication-filter-list{ flex-wrap: nowrap; margin: 0 -.15rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .1rem .15rem .55rem; scrollbar-width: thin; } .alfa-publication-filter{ flex: 0 0 auto; } .alfa-library-card-body{ padding: 1rem; } .alfa-publication-reader iframe{ height: 75vh; min-height: 540px; } }
/* Shared, mobile-first FHRI image and video gallery. */ .alfa-media-gallery-page .alfa-main-content{ background: #f5f7fb; padding: clamp(2rem,5vw,4rem) 1rem; }
.alfa-media-gallery-page main.alfa-main-content > .alfa-main-inner{ display: block; }
.alfa-media-gallery-inner{ max-width: 1240px; min-width: 0; width: 100%; }
.alfa-media-library{ min-width: 0; width: 100%; }
.alfa-media-library-heading{ align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin: 0 0 1.5rem; }
.alfa-media-library-heading h2{ color: #202b68; font-size: clamp(1.6rem,3vw,2.2rem); line-height: 1.15; margin: .2rem 0 .55rem; }
.alfa-media-library-heading > div > p:last-child{ color: #63708a; line-height: 1.65; margin: 0; }
.alfa-media-library-count{ background: #fff; border: 1px solid #e1e6f0; border-radius: 999px; color: #34416f; flex: 0 0 auto; font-size: .85rem; font-weight: 750; padding: .55rem .85rem; }
.alfa-media-filters{ background: #fff; border: 1px solid #e0e5ef; border-radius: 16px; box-shadow: 0 8px 24px rgba(27,39,87,.055); margin: 0 0 1.75rem; padding: 1rem 1.1rem 1.1rem; }
.alfa-media-filter-label{ color: #39476d; display: block; font-size: .76rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .75rem; text-transform: uppercase; }
.alfa-media-filter-list{ align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.alfa-media-filter{ background: #f4f6fa; border: 1px solid #e1e6f0; border-radius: 999px; color: #3d4964; display: inline-flex; font-size: .87rem; font-weight: 650; justify-content: center; min-height: 40px; padding: .6rem .9rem; text-decoration: none; transition: background .18s ease,color .18s ease,border-color .18s ease; }
.alfa-media-filter:hover,.alfa-media-filter:focus-visible{ background: #eaf0fb; border-color: #19296E; color: #19296E; }
.alfa-media-filter.is-active{ background: #222d6b; border-color: #222d6b; box-shadow: 0 5px 12px rgba(34,45,107,.18); color: #fff; }
.alfa-media-gallery-grid{ display: grid; gap: 1.2rem; grid-template-columns: minmax(0,1fr); min-width: 0; width: 100%; }
.alfa-media-card{ background: #fff; border: 1px solid #e1e6f0; border-radius: 16px; box-shadow: 0 8px 24px rgba(27,39,87,.06); display: flex; flex-direction: column; min-width: 0; overflow: hidden; transition: box-shadow .2s ease,transform .2s ease; }
.alfa-media-card:hover{ box-shadow: 0 15px 32px rgba(27,39,87,.12); transform: translateY(-3px); }
.alfa-media-card-visual{ aspect-ratio: 16 / 9; background: #182047; overflow: hidden; position: relative; }
.alfa-media-card-visual iframe,.alfa-media-card-visual video{ border: 0; display: block; height: 100%; object-fit: cover; width: 100%; }
.alfa-media-card-cover-link{ display: block; height: 100%; position: relative; width: 100%; }
.alfa-media-card-cover-link img{ height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.alfa-media-card:hover .alfa-media-card-cover-link img{ transform: scale(1.04); }
.alfa-media-card-empty-cover{ align-items: center; background: radial-gradient(circle at 80% 10%,rgba(240,100,53,.3),transparent 35%),linear-gradient(145deg,#263371,#14214d); color: #fff; display: flex; height: 100%; justify-content: center; text-decoration: none; width: 100%; }
.alfa-media-card-empty-cover span{ border: 1px solid rgba(255,255,255,.7); border-radius: 6px; font-size: 1rem; font-weight: 800; letter-spacing: .09em; padding: .75rem 1rem; text-transform: uppercase; }
.alfa-media-play{ align-items: center; background: #19296E; border: 3px solid rgba(255,255,255,.88); border-radius: 50%; color: #fff; display: flex; font-size: 1.1rem; height: 58px; justify-content: center; left: 50%; padding-left: 4px; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 58px; }
.alfa-media-count-badge{ background: rgba(20,30,72,.88); border: 1px solid rgba(255,255,255,.35); border-radius: 999px; bottom: .8rem; color: #fff; font-size: .75rem; font-weight: 750; left: .8rem; padding: .4rem .65rem; position: absolute; }
.alfa-media-card-body{ display: flex; flex: 1; flex-direction: column; padding: 1rem 1.1rem 1.1rem; }
.alfa-media-card-meta{ align-items: center; color: #748098; display: flex; flex-wrap: wrap; font-size: .76rem; gap: .5rem; justify-content: space-between; margin-bottom: .55rem; }
.alfa-media-card-meta > span{ background: #eaf0fb; border-radius: 999px; color: #19296E; font-size: .7rem; font-weight: 750; padding: .3rem .55rem; }
.alfa-media-card-body h3{ font-size: 1.12rem; line-height: 1.35; margin: 0 0 .45rem; overflow-wrap: anywhere; }
.alfa-media-card-body h3 a{ color: #222e6e; text-decoration: none; }
.alfa-media-card-body h3 a:hover{ color: #19296E; }
.alfa-media-card-location{ color: #596680; font-size: .82rem; margin: 0 0 .5rem; }
.alfa-media-card-description{ color: #58647b; font-size: .88rem; line-height: 1.6; margin: 0 0 .85rem; }
.alfa-media-duration{ align-self: flex-start; background: #f0f2f7; border-radius: 4px; color: #46516c; font-size: .73rem; font-weight: 700; margin: auto 0 .75rem; padding: .25rem .45rem; }
.alfa-media-card-link{ align-items: center; color: #19296E; display: inline-flex; font-size: .88rem; font-weight: 750; gap: .4rem; margin-top: auto; text-decoration: none; }
.alfa-media-card-link:hover{ color: #19296E; text-decoration: underline; }
.alfa-media-gallery-page .pager{ margin: 2rem 0 0; }
.alfa-media-gallery-page .pager__items{ display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; list-style: none; padding: 0; }
.alfa-media-gallery-page .pager__item a,.alfa-media-gallery-page .pager__item.is-active a{ align-items: center; background: #fff; border: 1px solid #e0e5ef; border-radius: 8px; color: #34416f; display: flex; justify-content: center; min-height: 40px; min-width: 40px; padding: .45rem .7rem; text-decoration: none; }
.alfa-media-gallery-page .pager__item.is-active a,.alfa-media-gallery-page .pager__item a:hover{ background: #263371; border-color: #263371; color: #fff; }
.alfa-media-empty-state{ background: #fff; border: 1px dashed #cbd3e2; border-radius: 16px; padding: 2.5rem 1.25rem; text-align: center; }
.alfa-media-empty-mark{ align-items: center; background: #eef1f8; border-radius: 50%; color: #28356f; display: inline-flex; font-size: .8rem; font-weight: 850; height: 56px; justify-content: center; letter-spacing: .06em; margin-bottom: .5rem; width: 56px; }
.alfa-media-empty-state h3{ color: #25316c; margin: .25rem 0 .5rem; }
.alfa-media-empty-state p{ color: #68738a; margin: 0 0 1rem; }
.alfa-gallery-detail{ margin: 0 auto; max-width: 1240px; padding: clamp(1.25rem,4vw,3rem) 1rem; }
.alfa-gallery-detail-header{ margin: 0 auto 1.5rem; max-width: 900px; }
.alfa-gallery-back{ color: #4c5a85; display: inline-block; font-size: .88rem; font-weight: 700; margin-bottom: 1.2rem; text-decoration: none; }
.alfa-gallery-detail-category{ color: #19296E; font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .55rem; text-transform: uppercase; }
.alfa-gallery-detail-header h1{ color: #222e6e; font-size: clamp(1.8rem,5vw,3.1rem); line-height: 1.12; margin: 0 0 .8rem; overflow-wrap: anywhere; }
.alfa-gallery-detail-meta{ color: #6c7790; display: flex; flex-wrap: wrap; font-size: .88rem; gap: .45rem 1rem; }
.alfa-gallery-detail-header > p:last-child{ color: #4f5c74; font-size: 1rem; line-height: 1.75; margin: 1rem 0 0; }
.alfa-gallery-photo-grid{ display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.alfa-gallery-photo-grid a{ aspect-ratio: 1; background: #e9edf6; border-radius: 10px; display: block; overflow: hidden; position: relative; }
.alfa-gallery-photo-grid img{ height: 100%; object-fit: cover; transition: transform .3s ease; width: 100%; }
.alfa-gallery-photo-grid a:hover img{ transform: scale(1.04); }
.alfa-gallery-photo-grid a > span{ background: rgba(20,30,72,.78); bottom: 0; color: #fff; font-size: .78rem; left: 0; padding: .5rem .65rem; position: absolute; right: 0; }
.alfa-gallery-video-player{ aspect-ratio: 16 / 9; background: #111; border-radius: 12px; margin: 0 auto; max-width: 1000px; overflow: hidden; }
.alfa-gallery-video-player iframe,.alfa-gallery-video-player video{ border: 0; height: 100%; width: 100%; }
@media (min-width: 620px) {.alfa-media-gallery-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); } .alfa-gallery-photo-grid{ gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (min-width: 980px) {.alfa-media-gallery-grid{ gap: 1.5rem; grid-template-columns: repeat(3,minmax(0,1fr)); } .alfa-gallery-photo-grid{ grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 600px) {.alfa-media-library-heading{ align-items: start; flex-direction: column; gap: .65rem; } .alfa-media-filter-list{ flex-wrap: nowrap; margin: 0 -.15rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .1rem .15rem .55rem; scrollbar-width: thin; } .alfa-media-filter{ flex: 0 0 auto; } .alfa-media-card-body{ padding: .9rem; } .alfa-gallery-photo-grid{ gap: .5rem; } }
@media (prefers-reduced-motion: reduce) {.alfa-media-card,.alfa-media-card-cover-link img,.alfa-gallery-photo-grid img{ transition: none; } }
/* Donate page: use document scrolling while the contact panel stays sticky. */ .alfa-donate-main{ background: #f4f6fa; padding: clamp(1rem,3vw,2.25rem); }
.alfa-donate-workspace{ background: #fff; border: 1px solid #e1e5ef; border-radius: 18px; box-shadow: 0 18px 50px rgba(27,39,87,.09); display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.8fr); grid-template-rows: auto; height: auto; margin: 0 auto; max-width: 1360px; min-height: 0; overflow: visible; }
.alfa-donate-form-pane{ min-width: 0; overflow: visible; padding: clamp(1.25rem,3vw,2.75rem); }
.alfa-donate-kicker,.alfa-donate-contact-kicker{ color: #19296E; font-size: .76rem; font-weight: 850; letter-spacing: .12em; margin: 0 0 .55rem; text-transform: uppercase; }
.alfa-donate-intro h1{ color: #222e6e; font-size: clamp(1.9rem,4vw,3rem); line-height: 1.12; margin: 0 0 .9rem; }
.alfa-donate-intro > p{ color: #4f5c74; font-size: .96rem; line-height: 1.7; margin: 0 0 .7rem; }
.alfa-donate-intro > .alfa-donate-quote{ color: #465270; font-size: .92rem; }
.alfa-donate-intro .alfa-donate-callout{ color: #263371; font-size: .9rem; font-weight: 850; margin: .7rem 0 1.6rem; text-transform: uppercase; }
.alfa-donate-callout span{ color: #19296E; font-size: 1.3rem; margin-right: .45rem; }
.alfa-donate-form-card{ background: #fff; border: 1px solid #e4e8f0; border-radius: 14px; box-shadow: 0 7px 24px rgba(29,41,83,.045); padding: clamp(1rem,2.2vw,1.6rem); }
.alfa-donate-form-heading{ margin-bottom: 1rem; }
.alfa-donate-form-heading h2{ color: #263371; font-size: 1.35rem; margin: 0 0 .3rem; }
.alfa-donate-form-heading p{ color: #69748b; font-size: .87rem; line-height: 1.55; margin: 0; }
.alfa-donate-form-content .alfa-donation-form{ display: flex; flex-direction: column; gap: .75rem; }
.alfa-donate-form-content .alfa-donate-name-row{ display: grid; gap: .75rem; grid-template-columns: minmax(0,1fr); }
.alfa-donate-form-content .form-item{ margin: 0; min-width: 0; }
.alfa-donate-form-content .form-item__label{ color: #35405e; display: block; font-size: .83rem; font-weight: 750; margin: 0 0 .35rem; }
.alfa-donate-form-content input.form-text,.alfa-donate-form-content input.form-email,.alfa-donate-form-content input.form-tel,.alfa-donate-form-content input.form-number,.alfa-donate-form-content select,.alfa-donate-form-content textarea{ background: #fff; border: 1px solid #d4dbe7; border-radius: 7px; box-sizing: border-box; color: #26314b; font: inherit; font-size: .92rem; min-height: 46px; padding: .68rem .8rem; width: 100%; }
.alfa-donate-form-content textarea{ min-height: 108px; resize: vertical; }
.alfa-donate-form-content input:focus,.alfa-donate-form-content select:focus,.alfa-donate-form-content textarea:focus{ border-color: #45549a; box-shadow: 0 0 0 3px rgba(69,84,154,.13); outline: none; }
.alfa-donate-form-content .description{ color: #788298; font-size: .76rem; line-height: 1.5; margin-top: .3rem; }
.alfa-donate-form-content .form-item--error-message,.alfa-donate-form-content .messages--error{ color: #19296E; font-size: .82rem; }
.alfa-donate-form-content .alfa-donation-form .form-actions{ margin: .15rem 0 0; }
.alfa-donate-form-content .alfa-donation-form .button--primary{ background: #263371; border: 1px solid #263371; border-radius: 8px; color: #fff; cursor: pointer; font-size: .92rem; font-weight: 800; min-height: 48px; padding: .75rem 1.25rem; transition: background .18s ease,transform .18s ease; }
.alfa-donate-form-content .alfa-donation-form .button--primary:hover,.alfa-donate-form-content .alfa-donation-form .button--primary:focus-visible{ background: #192455; transform: translateY(-1px); }
.alfa-donate-cheque-note{ background: #f5f7fb; border-left: 3px solid #19296E; border-radius: 0 6px 6px 0; color: #59657c; font-size: .8rem; line-height: 1.55; margin: 0; padding: .7rem .8rem; }
.alfa-donate-form-unavailable{ background: #eaf0fb; border: 1px solid #d9dcef; border-radius: 8px; color: #19296E; line-height: 1.6; padding: 1rem; }
.alfa-donate-contact-pane{ background: linear-gradient(155deg,#202d70,#182354 72%,#121b43); color: #fff; min-width: 0; overflow: hidden; padding: clamp(1.25rem,3vw,2.4rem); }
.alfa-donate-contact-inner{ max-width: 440px; }
.alfa-donate-contact-kicker{ color: #19296E; }
.alfa-donate-contact-pane h2{ color: #fff; font-size: clamp(1.5rem,2.5vw,2rem); margin: 0 0 .45rem; }
/* FHRI About landing pages: mobile-first editorial layout. */ .alfa-about-page{ --alfa-about-ink:#17275f; --alfa-about-blue:#263678; --alfa-about-orange:#19296E; --alfa-about-muted:#64708a; background:#f4f6fa; color:#24304c; margin:0 auto; max-width:none; padding:0 0 3rem; }
.alfa-about-main{ margin:0; min-height:0; padding:0!important; }
.alfa-about-card__kicker{ color:#19296E; display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.1em; margin-bottom:.55rem; text-transform:uppercase; }
.alfa-about-content{ margin:0 auto; max-width:1120px; }
.alfa-about-empty{ align-items:center; background:#fff; border:1px solid #e4e8f1; border-radius:1rem; box-shadow:0 12px 34px rgba(30,43,84,.06); color:var(--alfa-about-muted); display:flex; gap:1rem; min-height:130px; padding:1.5rem; }
.alfa-about-empty span{ align-items:center; background:#eaf0fb; border-radius:50%; color:var(--alfa-about-orange); display:flex; flex:0 0 42px; font-size:1.2rem; height:42px; justify-content:center; }
.alfa-about-empty p{ line-height:1.65; margin:0; }
.alfa-faq-list{ display:grid; gap:.85rem; }
.alfa-faq-item{ background:#fff; border:1px solid #e1e6f0; border-radius:.9rem; box-shadow:0 8px 24px rgba(30,43,84,.045); overflow:hidden; }
.alfa-faq-item[open]{ border-color:#c7d0e8; box-shadow:0 12px 30px rgba(30,43,84,.08); }
.alfa-faq-item summary{ align-items:center; color:var(--alfa-about-ink); cursor:pointer; display:flex; font-size:1.02rem; font-weight:750; gap:1.2rem; justify-content:space-between; list-style:none; min-height:74px; padding:1.15rem 1.25rem; }
.alfa-faq-item summary::-webkit-details-marker{ display:none; }
.alfa-faq-item__icon{ border:1px solid #19296E; border-radius:50%; flex:0 0 32px; height:32px; position:relative; }
.alfa-faq-item__icon::before,.alfa-faq-item__icon::after{ background:var(--alfa-about-orange); content:""; height:2px; left:9px; position:absolute; top:14px; width:12px; }
.alfa-faq-item__icon::after{ transform:rotate(90deg); transition:transform .2s ease; }
.alfa-faq-item[open] .alfa-faq-item__icon::after{ transform:rotate(0); }
.alfa-faq-item__answer{ border-top:1px solid #edf0f5; color:#53607a; line-height:1.8; padding:1rem 1.25rem 1.4rem; }
.alfa-faq-item__answer > :first-child{ margin-top:0; }
.alfa-faq-item__answer > :last-child{ margin-bottom:0; }
.alfa-about-page.alfa-about-page--faqs .alfa-about-content{ padding-bottom:clamp(3rem,6vw,5rem)!important; }
.alfa-faq-item[hidden],.alfa-faq-load-more-wrap[hidden]{ display:none!important; }
.alfa-faq-load-more-wrap{ display:flex; justify-content:center; margin:1.6rem auto 0; }
.alfa-faq-load-more{ align-items:center; background:#19296E; border:1px solid #19296E; border-radius:7px; color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-size:.95rem; font-weight:750; gap:.8rem; justify-content:center; min-height:48px; padding:.7rem 1.15rem; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
.alfa-faq-load-more:hover,.alfa-faq-load-more:focus-visible{ background:#0171b9; border-color:#0171b9; color:#fff; transform:translateY(-1px); }
.alfa-faq-load-more:focus-visible{ outline:3px solid rgba(1,113,185,.25); outline-offset:3px; }
.alfa-achievement-grid,.alfa-team-grid{ display:grid; gap:1.25rem; grid-template-columns:minmax(0,1fr); }
.alfa-achievement-card,.alfa-team-card{ background:#fff; border:1px solid #e2e7f0; border-radius:1rem; box-shadow:0 10px 30px rgba(27,39,87,.07); min-width:0; overflow:hidden; }
.alfa-achievement-card__image,.alfa-team-card__image{ background:#eef1f8; max-height:270px; overflow:hidden; }
.alfa-achievement-card__image img,.alfa-team-card__image img{ display:block; height:230px; object-fit:cover; width:100%; }
.alfa-achievement-card__body,.alfa-team-card__body{ padding:1.35rem; }
.alfa-achievement-card h2,.alfa-team-card h2{ color:var(--alfa-about-ink); font-size:1.25rem; line-height:1.35; margin:0 0 .7rem; }
.alfa-achievement-card__description,.alfa-team-card__bio{ color:#59657d; line-height:1.75; }
.alfa-achievement-card__description > :first-child,.alfa-team-card__bio > :first-child{ margin-top:0; }
.alfa-achievement-card__description > :last-child,.alfa-team-card__bio > :last-child{ margin-bottom:0; }
.alfa-about-download{ align-items:center; background:var(--alfa-about-blue); border-radius:999px; color:#fff!important; display:inline-flex; font-size:.88rem; font-weight:700; gap:.65rem; margin:1rem .5rem 0 0; padding:.72rem 1rem; text-decoration:none!important; }
.alfa-about-download:hover,.alfa-about-download:focus{ background:var(--alfa-about-orange); }
.alfa-about-download--secondary{ background:#fff; border:1px solid #dce2ef; color:var(--alfa-about-blue)!important; }
.alfa-about-download--secondary:hover,.alfa-about-download--secondary:focus{ color:#fff!important; }
.alfa-team-card__image--empty{ align-items:center; display:flex; height:190px; justify-content:center; }
.alfa-team-card__image--empty span{ align-items:center; background:#fff; border-radius:50%; color:var(--alfa-about-blue); display:flex; font-size:2.5rem; height:90px; justify-content:center; width:90px; }
.alfa-team-card__contact{ color:var(--alfa-about-blue); display:block; font-size:.9rem; margin-top:.55rem; overflow-wrap:anywhere; text-decoration:none; }
.alfa-team-card__contact:hover{ color:var(--alfa-about-orange); text-decoration:underline; }
@media (min-width:640px) {.alfa-about-page{ padding-left:0; padding-right:0; } .alfa-achievement-grid,.alfa-team-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .alfa-achievement-card__image img{ height:220px; } }
@media (min-width:1000px) {.alfa-about-page{ padding-bottom:4.5rem; } .alfa-achievement-grid,.alfa-team-grid{ gap:1.5rem; grid-template-columns:repeat(3,minmax(0,1fr)); } .alfa-team-grid--structure{ grid-template-columns:repeat(2,minmax(0,1fr)); } .alfa-faq-list{ gap:1rem; } .alfa-faq-item summary{ font-size:1.08rem; padding:1.2rem 1.5rem; } .alfa-faq-item__answer{ padding:1.1rem 1.5rem 1.5rem; } }
@media (prefers-reduced-motion:reduce) {.alfa-faq-item__icon::after{ transition:none; } }
/* Achievement archive: an editorial impact index with a distinct split-card treatment. */ .alfa-about-content{ padding:2rem 1rem 0; }
.alfa-achievement-grid{ gap:1.15rem; grid-template-columns:minmax(0,1fr); }
.alfa-achievement-card{ border:1px solid #dfe4ed; border-radius:12px; box-shadow:0 12px 30px rgba(19,35,82,.07); display:grid; grid-template-columns:minmax(0,1fr); min-height:0; position:relative; transition:box-shadow .2s ease,transform .2s ease; }
.alfa-achievement-card::before{ background:linear-gradient(90deg,#19296E,#19296E); content:""; height:4px; left:0; position:absolute; right:0; top:0; z-index:2; }
.alfa-achievement-card:hover{ box-shadow:0 18px 42px rgba(19,35,82,.14); transform:translateY(-3px); }
.alfa-achievement-card__visual{ background:#1b285f; display:block; min-height:205px; overflow:hidden; position:relative; text-decoration:none; }
.alfa-achievement-card__image{ height:100%; max-height:none; min-height:205px; overflow:hidden; }
.alfa-achievement-card__image img{ display:block; height:100%; min-height:205px; object-fit:cover; opacity:.88; transition:transform .45s ease,opacity .3s ease; width:100%; }
.alfa-achievement-card:hover .alfa-achievement-card__image img{ opacity:1; transform:scale(1.035); }
.alfa-achievement-card__image--empty{ align-items:center; background:linear-gradient(145deg,#182456,#354889); display:flex; justify-content:center; }
.alfa-achievement-card__image--empty span{ color:rgba(255,255,255,.88); font-size:2.1rem; font-weight:850; letter-spacing:.14em; }
.alfa-achievement-card__index{ align-items:center; backdrop-filter:blur(8px); background:rgba(20,32,79,.84); border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#fff; display:flex; font-size:.78rem; font-weight:800; height:40px; justify-content:center; left:1rem; position:absolute; top:1.1rem; width:40px; }
.alfa-achievement-card__body{ display:flex; flex-direction:column; padding:1.25rem 1.3rem 1.2rem; }
.alfa-achievement-card__meta{ align-items:center; color:#19296E; display:flex; flex-wrap:wrap; font-size:.67rem; font-weight:850; gap:.55rem; letter-spacing:.12em; margin:0 0 .7rem; text-transform:uppercase; }
.alfa-achievement-card__meta time{ color:#78839a; font-size:.72rem; font-weight:650; letter-spacing:.03em; }
.alfa-achievement-card__meta time::before{ color:#d1d7e2; content:"/"; margin-right:.55rem; }
.alfa-achievement-card h2{ font-family:inherit; font-size:1.22rem; font-weight:760; letter-spacing:-.018em; line-height:1.3; margin:0 0 .65rem; }
.alfa-achievement-card h2 a{ color:#17275f; text-decoration:none; }
.alfa-achievement-card h2 a:hover,.alfa-achievement-card h2 a:focus{ color:#19296E; }
.alfa-achievement-card__description{ color:#5c677e; font-size:.91rem; line-height:1.7; margin:0; }
.alfa-achievement-card__actions{ align-items:center; border-top:1px solid #edf0f5; display:flex; flex-wrap:wrap; gap:.85rem; margin-top:auto; padding-top:1rem; }
.alfa-achievement-card__read{ color:#263678; font-size:.84rem; font-weight:800; text-decoration:none; }
.alfa-achievement-card__read span{ color:#19296E; display:inline-block; margin-left:.25rem; transition:transform .2s ease; }
.alfa-achievement-card__read:hover span{ transform:translateX(4px); }
.alfa-achievement-card__file{ color:#737e94; font-size:.79rem; font-weight:700; margin-left:auto; text-decoration:none; }
.alfa-achievement-card__file:hover{ color:#19296E; }
.alfa-about-content > .pager{ margin:2rem 0 0; }
.alfa-about-content .pager__items{ align-items:center; display:flex; flex-wrap:wrap; gap:.45rem; justify-content:center; list-style:none; margin:0; padding:0; }
.alfa-about-content .pager__item a,.alfa-about-content .pager__item.is-active{ align-items:center; background:#fff; border:1px solid #dfe4ed; border-radius:7px; color:#263678; display:flex; font-size:.84rem; font-weight:750; justify-content:center; min-height:42px; min-width:42px; padding:.45rem .7rem; text-decoration:none; }
.alfa-about-content .pager__item a:hover,.alfa-about-content .pager__item.is-active{ background:#263678; border-color:#263678; color:#fff; }
.alfa-achievement-detail{ margin:0 auto; max-width:1040px; padding-bottom:3rem; }
.alfa-achievement-detail__image{ background:#e9edf5; border-radius:14px; box-shadow:0 18px 42px rgba(19,35,82,.12); margin:0 0 1.5rem; overflow:hidden; }
.alfa-achievement-detail__image img{ display:block; height:auto; max-height:560px; object-fit:cover; width:100%; }
.alfa-achievement-detail__body{ background:#fff; border:1px solid #e1e6ee; border-radius:14px; box-shadow:0 12px 36px rgba(19,35,82,.055); padding:clamp(1.25rem,4vw,2.5rem); }
.alfa-achievement-detail__eyebrow{ color:#19296E; font-size:.75rem; font-weight:850; letter-spacing:.13em; margin:0 0 1rem; text-transform:uppercase; }
.alfa-achievement-detail__eyebrow span{ margin-right:.35rem; }
.alfa-achievement-detail__description{ color:#39445c; font-size:1rem; line-height:1.9; }
.alfa-achievement-detail__description > :first-child{ margin-top:0; }
.alfa-achievement-detail__description > :last-child{ margin-bottom:0; }
.alfa-achievement-detail__resource{ align-items:flex-start; background:#f4f6fa; border:1px solid #e4e8f0; border-radius:10px; display:flex; flex-direction:column; gap:.8rem; margin-top:1.5rem; padding:1rem; }
.alfa-achievement-detail__resource-label{ color:#737e94; display:block; font-size:.68rem; font-weight:850; letter-spacing:.1em; margin-bottom:.25rem; text-transform:uppercase; }
.alfa-achievement-detail__resource strong{ color:#1c2c66; display:block; font-size:.9rem; overflow-wrap:anywhere; }
.alfa-achievement-detail__resource-actions{ display:flex; flex-wrap:wrap; }
.alfa-achievement-detail__back{ color:#263678; display:inline-flex; font-size:.87rem; font-weight:800; gap:.45rem; margin-top:1.5rem; text-decoration:none; }
.alfa-achievement-detail__back:hover{ color:#19296E; }
@media (min-width:700px) {.alfa-achievement-card{ grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr); } .alfa-achievement-card__visual,.alfa-achievement-card__image,.alfa-achievement-card__image img{ height:100%; min-height:260px; } .alfa-achievement-card__body{ padding:1.35rem 1.5rem; } .alfa-achievement-grid{ gap:1.35rem; } .alfa-about-content{ padding:2.75rem 1.5rem 0; } .alfa-achievement-detail__resource{ align-items:center; flex-direction:row; justify-content:space-between; padding:1rem 1.2rem; } }
@media (min-width:1100px) {.alfa-achievement-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) {.alfa-achievement-card,.alfa-achievement-card__image img,.alfa-achievement-card__read span{ transition:none; } }
/* FHRI people cards follow the portrait-led reference design. */ .alfa-team-section-heading{ margin:0 auto 2rem; max-width:700px; text-align:center; }
.alfa-team-section-heading__eyebrow{ color:#19296E; display:block; font-size:.7rem; font-weight:850; letter-spacing:.14em; margin-bottom:.6rem; text-transform:uppercase; }
.alfa-team-section-heading h2{ color:#17275f; font-size:clamp(1.65rem,4vw,2.3rem); letter-spacing:-.025em; line-height:1.2; margin:0 0 .65rem; }
.alfa-team-section-heading p{ color:#687287; font-size:.98rem; line-height:1.7; margin:0 auto; max-width:620px; }
.alfa-about-page--structure .alfa-team-section-heading{ background:#f1f2f5; border-left:4px solid #302f78; margin-bottom:2.25rem; max-width:none; padding:1.35rem 1.5rem; text-align:left; }
.alfa-about-page--structure .alfa-team-section-heading__eyebrow{ display:none; }
.alfa-about-page--structure .alfa-team-section-heading h2{ display:none; }
.alfa-about-page--structure .alfa-team-section-heading p{ color:#39435b; font-size:1.05rem; font-style:italic; line-height:1.75; max-width:none; }
.alfa-structure-general{ margin:0 0 2rem; }
.alfa-structure-general h2,.alfa-team-group__heading h2{ color:#263678; font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:800; line-height:1.3; margin:0 0 .35rem; }
.alfa-structure-general p,.alfa-team-group__heading p{ color:#46516a; line-height:1.7; margin:0; }
.alfa-team-group{ margin:0 0 2.6rem; }
.alfa-team-group__heading{ margin:0 0 1.15rem; }
.alfa-team-group__term{ color:#263678!important; font-size:.86rem; font-weight:750; margin-top:.45rem!important; }
.alfa-team-grid{ gap:1.15rem; grid-template-columns:minmax(0,1fr); }
.alfa-team-card{ align-items:center; background:#fff; border:1px solid #edf0f4; border-radius:25px; box-shadow:0 14px 38px rgba(23,39,95,.07); display:flex; flex-direction:column; font-family:Inter,"Segoe UI",Arial,sans-serif; min-height:0; padding:1.5rem 1.2rem 1rem; position:relative; text-align:center; transition:box-shadow .2s ease,transform .2s ease; }
.alfa-team-card:hover{ box-shadow:0 20px 44px rgba(23,39,95,.12); transform:translateY(-3px); }
.alfa-team-card__portrait{ align-items:center; background:#fff; border:2px solid #d9dcef; border-radius:50%; box-shadow:0 14px 28px rgba(24,36,79,.08); display:flex; flex:0 0 146px; height:146px; justify-content:center; margin:0 auto 1.1rem; overflow:hidden; padding:5px; position:relative; width:146px; }
.alfa-team-card__portrait::before,.alfa-team-card__portrait::after{ content:none; }
.alfa-team-card__portrait .field--name-field-team-photo,.alfa-team-card__portrait .field__item{ border-radius:50%; display:block; height:100%; overflow:hidden; width:100%; }
.alfa-team-card__portrait img{ border-radius:50%; display:block; filter:none; height:100%; object-fit:cover; object-position:center; opacity:1; transition:none; width:100%; }
.alfa-team-card__portrait--empty{ background:linear-gradient(135deg,#f5e8ec,#eceff6); color:#19296E; font-size:2.5rem; font-weight:800; }
.alfa-team-card__body{ display:flex; flex:1; flex-direction:column; padding:.3rem .4rem 0; width:100%; }
.alfa-team-card__body h2{ color:#202b3e; font-size:1.35rem; font-weight:750; letter-spacing:-.02em; line-height:1.25; margin:0 0 .75rem; }
.alfa-team-card__position{ align-self:center; background:#f0f2fa; border:1px solid #d9dcef; border-radius:999px; color:#19296E; display:inline-block; font-size:.68rem; font-weight:850; letter-spacing:.08em; line-height:1; max-width:100%; padding:.65rem .95rem; text-transform:uppercase; }
.alfa-team-card__bio-action{ align-items:center; border-top:1px solid #eceef2; color:#273044; display:flex; font-size:.82rem; font-weight:750; justify-content:space-between; margin-top:1.45rem; min-height:58px; padding:.75rem .1rem .1rem; text-align:left; }
.alfa-team-dialog{ background:transparent; border:0; border-radius:20px; box-sizing:border-box; color:#26314a; font-family:Inter,"Segoe UI",Arial,sans-serif; margin:auto; max-height:min(86vh,850px); max-width:min(680px,calc(100vw - 28px)); overflow:visible; padding:0; width:100%; }
.alfa-team-dialog::backdrop{ background:rgba(12,20,47,.66); backdrop-filter:blur(5px); }
.alfa-team-dialog__panel{ background:#fff; border:1px solid rgba(255,255,255,.55); border-radius:20px; box-shadow:0 30px 90px rgba(5,13,40,.3); max-height:min(86vh,850px); overflow:auto; padding:1.5rem; position:relative; }
.alfa-team-dialog__close{ align-items:center; background:#f4f5f8; border:0; border-radius:50%; color:#25315a; cursor:pointer; display:flex; font-size:1.6rem; height:40px; justify-content:center; line-height:1; position:absolute; right:1rem; top:1rem; width:40px; }
.alfa-team-dialog__close:hover,.alfa-team-dialog__close:focus-visible{ background:#19296E; color:#fff; outline:3px solid rgba(25,40,109,.18); }
.alfa-team-dialog__header{ align-items:center; border-bottom:1px solid #eceef2; display:flex; flex-direction:column; gap:1rem; padding:1.3rem 2rem 1.2rem 0; text-align:center; }
.alfa-team-dialog__portrait{ border:2px solid #d9dcef; border-radius:50%; box-sizing:border-box; flex:0 0 112px; height:112px; overflow:hidden; padding:4px; width:112px; }
.alfa-team-dialog__portrait .field--name-field-team-photo,.alfa-team-dialog__portrait .field__item{ border-radius:50%; display:block; height:100%; overflow:hidden; width:100%; }
.alfa-team-dialog__portrait img{ border-radius:50%; display:block; filter:none; height:100%; object-fit:cover; object-position:center; opacity:1; width:100%; }
.alfa-team-dialog__eyebrow{ color:#19296E; font-size:.68rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.alfa-team-dialog__header h2{ color:#17275f; font-size:1.55rem; line-height:1.2; margin:.35rem 0; }
.alfa-team-dialog__header p{ color:#737e94; font-size:.87rem; margin:0; }
.alfa-team-dialog__bio{ color:#536078; font-size:.96rem; line-height:1.85; max-height:min(34vh,18rem); overflow-y:auto; overscroll-behavior:contain; padding:1.1rem .65rem 1.1rem 0; scrollbar-color:#9aa5c4 #f0f2f7; scrollbar-width:thin; }
.alfa-team-dialog__bio > :first-child{ margin-top:0; }
.alfa-team-dialog__bio > :last-child{ margin-bottom:0; }
.alfa-team-dialog__bio::-webkit-scrollbar{ width:8px; }
.alfa-team-dialog__bio::-webkit-scrollbar-track{ background:#f0f2f7; border-radius:999px; }
.alfa-team-dialog__bio::-webkit-scrollbar-thumb{ background:#9aa5c4; border:2px solid #f0f2f7; border-radius:999px; }
.alfa-team-dialog__contact{ border-top:1px solid #eceef2; display:flex; flex-wrap:wrap; gap:.65rem; padding-top:1rem; }
.alfa-team-dialog__contact-link{ align-items:center; background:#f5f7fb; border:1px solid #e5e9f2; border-radius:999px; color:#263678; display:inline-flex; font-size:.86rem; font-weight:700; gap:.55rem; max-width:100%; min-height:40px; padding:.45rem .85rem .45rem .55rem; text-decoration:none; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.alfa-team-dialog__contact-icon{ fill:none; flex:0 0 18px; height:18px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:18px; }
.alfa-team-dialog__contact-link span{ overflow-wrap:anywhere; }
.alfa-team-dialog__contact-link:hover,.alfa-team-dialog__contact-link:focus-visible{ background:#eaf0fb; border-color:#d9dcef; color:#19296E; outline:3px solid rgba(25,40,109,.12); outline-offset:2px; transform:translateY(-1px); }
@media (min-width:620px) {.alfa-team-grid{ gap:1.5rem; grid-template-columns:repeat(2,minmax(0,1fr)); } .alfa-team-card{ padding:1.7rem 1.4rem 1rem; } .alfa-team-card__portrait{ flex-basis:162px; height:162px; width:162px; } .alfa-team-dialog__panel{ padding:2rem; } .alfa-team-dialog__header{ flex-direction:row; text-align:left; } }
@media (min-width:1000px) {.alfa-team-grid{ gap:1.75rem; grid-template-columns:repeat(3,minmax(0,1fr)); } .alfa-team-grid--structure{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) {.alfa-team-card,.alfa-team-card__portrait img,.alfa-team-card__open{ transition:none; } }
@media (max-width:619px) {.alfa-team-grid-hint{ align-items:center; color:#7b8499; display:flex; font-size:.72rem; font-weight:750; gap:.45rem; justify-content:flex-end; letter-spacing:.04em; margin:-.45rem 0 .3rem; } .alfa-team-grid-hint span{ color:#19296E; font-size:1rem; } .alfa-team-grid{ display:grid; grid-auto-columns:min(86%,360px); grid-auto-flow:column; grid-template-columns:none; margin:0 -.5rem; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; padding:.55rem .5rem 1rem; scroll-padding-inline:.5rem; scroll-snap-type:x mandatory; scrollbar-color:#9aa5c4 #e9edf5; scrollbar-width:thin; -webkit-overflow-scrolling:touch; } .alfa-team-grid:focus-visible{ border-radius:.8rem; outline:3px solid rgba(25,40,109,.24); outline-offset:2px; } .alfa-team-grid::-webkit-scrollbar{ height:7px; } .alfa-team-grid::-webkit-scrollbar-track{ background:#e9edf5; border-radius:999px; } .alfa-team-grid::-webkit-scrollbar-thumb{ background:#9aa5c4; border:1px solid #e9edf5; border-radius:999px; } .alfa-team-grid > .alfa-team-card{ min-width:0; scroll-snap-align:start; scroll-snap-stop:always; } }
.alfa-donate-contact-intro{ color: #d5dbef; font-size: .9rem; line-height: 1.55; margin: 0 0 1.2rem; }
.alfa-donate-contact-card{ align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,.15); display: flex; gap: .8rem; padding: 1rem 0; }
.alfa-donate-contact-icon{ align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); border-radius: 10px; color: #19296E; display: flex; flex: 0 0 40px; height: 40px; justify-content: center; }
.alfa-donate-contact-icon svg{ fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 21px; }
.alfa-donate-contact-card h3{ color: #fff; font-size: .88rem; font-weight: 800; margin: .1rem 0 .35rem; }
.alfa-donate-contact-card address,.alfa-donate-contact-card a{ color: #dbe1f2; display: block; font-size: .84rem; font-style: normal; line-height: 1.65; margin: 0; text-decoration: none; }
.alfa-donate-contact-card a:hover{ color: #19296E; text-decoration: underline; }
.alfa-donate-cheque-aside{ background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 9px; color: #dbe1f2; font-size: .8rem; line-height: 1.6; margin: 1.1rem 0 0; padding: .85rem; }
.alfa-donate-cheque-aside strong{ color: #fff; }
@media (min-width: 680px) {.alfa-donate-form-content .alfa-donate-name-row{ grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 860px) {.alfa-donate-main{ padding: .75rem; } .alfa-donate-workspace{ display: flex; flex-direction: column; height: auto; max-height: none; min-height: 0; overflow: visible; } .alfa-donate-form-pane{ overflow: visible; order: 0; padding: 1.2rem; } .alfa-donate-contact-pane{ order: 1; overflow: visible; padding: 1.3rem 1.2rem; } .alfa-donate-contact-inner{ max-width: none; } }
@media (prefers-reduced-motion: reduce) {.alfa-donate-form-content .alfa-donation-form .button--primary{ transition: none; } }
/* Alfasan team profiles */ .alfa-team-page{ --alfa-blue: #0171B9; --alfa-blue-dark: #00568F; --alfa-red: #19296E; background: #eef7fc; color: #26394b; font-family: inherit; padding-bottom: clamp(3rem, 7vw, 6rem); }
.alfa-team-heading__eyebrow{ color: var(--alfa-blue); display: block; font-size: .76rem; font-weight: 850; letter-spacing: .16em; margin: 0 0 .8rem; text-transform: uppercase; }
.alfa-team-content{ margin: 0 auto; max-width: 1500px; padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 4vw, 3rem) 0; }
.alfa-team-heading{ margin: 0 auto clamp(1.75rem, 4vw, 3rem); max-width: 780px; text-align: center; }
.alfa-team-heading h2{ color: var(--alfa-blue-dark); font-family: var(--heading-font, inherit); font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.035em; line-height: 1.2; margin: 0 0 .7rem; }
.alfa-team-heading p{ color: #5c7183; font-size: 1rem; line-height: 1.7; margin: 0 auto; max-width: 670px; }
.alfa-team-general{ background: #fff; border-left: 4px solid var(--alfa-blue); border-radius: 0 14px 14px 0; box-shadow: 0 8px 24px rgba(0, 86, 143, .07); margin: 0 0 2rem; padding: 1.2rem 1.4rem; }
.alfa-team-general h2,.alfa-team-group__heading h2{ color: var(--alfa-blue-dark); font-size: clamp(1.25rem, 2.5vw, 1.65rem); font-weight: 750; line-height: 1.3; margin: 0 0 .4rem; }
.alfa-team-general p,.alfa-team-group__heading p{ color: #586d7f; line-height: 1.7; margin: 0; }
.alfa-team-group{ margin: 0 0 2rem; }
.alfa-team-group__heading{ margin: 0 0 1.25rem; }
.alfa-team-group__term{ color: var(--alfa-blue) !important; font-size: .84rem; font-weight: 750; margin-top: .5rem !important; }
.alfa-team-grid{ display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
.alfa-team-card{ background: #fff; border: 1px solid #e5f0f8; border-radius: 20px; box-shadow: 0 8px 24px rgba(1, 113, 185, .09); display: flex; flex-direction: column; min-width: 0; padding: 2rem 1.5rem 1.75rem; text-align: center; transition: box-shadow .25s ease, transform .25s ease; }
.alfa-team-card:hover{ box-shadow: 0 16px 40px rgba(1, 113, 185, .14); transform: translateY(-3px); }
.alfa-team-card__portrait{ aspect-ratio: 1; background: linear-gradient(135deg, #c8e6f5 0%, #e0f0f8 100%); border: 4px solid #a8d4ed; border-radius: 50%; display: grid; flex: 0 0 160px; height: 160px; margin: 0 auto 1.5rem; overflow: hidden; place-items: center; width: 160px; }
.alfa-team-card__portrait .field--name-field-team-photo,.alfa-team-card__portrait .field__item{ border-radius: 50%; height: 100%; width: 100%; }
.alfa-team-card__portrait img{ border-radius: 50%; display: block; height: 100%; object-fit: cover; object-position: center 35%; transition: transform .4s ease; width: 100%; }
.alfa-team-card:hover .alfa-team-card__portrait img{ transform: scale(1.04); }
.alfa-team-card__portrait--empty{ color: var(--alfa-blue); font-size: 3.5rem; font-weight: 750; }
.alfa-team-card__body{ align-items: center; display: flex; flex: 1; flex-direction: column; padding: 0; }
.alfa-team-card__body h2{ color: var(--alfa-blue-dark); font-size: 1.4rem; font-weight: 750; line-height: 1.3; margin: 0 0 1rem; }
.alfa-team-card__position{ background: #f5e8ed; border: 1px solid #e8d5dd; border-radius: 25px; color: #19296E; display: inline-block; font-size: .75rem; font-weight: 800; letter-spacing: .05em; line-height: 1.4; margin-bottom: 1.2rem; padding: .65rem 1.1rem; text-transform: uppercase; }
.alfa-team-card__open{ align-items: center; background: transparent; border: 0; color: var(--alfa-blue); cursor: pointer; display: inline-flex; font: inherit; font-size: .95rem; font-weight: 700; gap: .5rem; line-height: 1.3; margin-top: 1.5rem; padding: 0; text-decoration: none; transition: color .2s ease, gap .2s ease; }
.alfa-team-card__open span{ color: var(--alfa-red); font-size: 1.1rem; font-weight: 600; transition: transform .2s ease; }
.alfa-team-card__open:hover,.alfa-team-card__open:focus-visible{ color: var(--alfa-red); outline: none; }
.alfa-team-card__open:hover span{ transform: translateX(3px); }
.alfa-team-dialog{ background: transparent; border: 0; border-radius: 20px; box-sizing: border-box; color: #344c60; margin: auto; max-height: min(88vh, 900px); max-width: min(760px, calc(100vw - 28px)); overflow: visible; padding: 0; width: 100%; }
.alfa-team-dialog::backdrop{ backdrop-filter: blur(5px); background: rgba(0, 39, 67, .68); }
.alfa-team-dialog__panel{ background: #fff; border-radius: 20px; box-shadow: 0 28px 80px rgba(0, 33, 57, .32); max-height: min(88vh, 900px); overflow: auto; padding: clamp(1.25rem, 4vw, 2.2rem); position: relative; }
.alfa-team-dialog__close{ align-items: center; background: #edf6fb; border: 0; border-radius: 50%; color: var(--alfa-blue-dark); cursor: pointer; display: flex; font-size: 1.7rem; height: 42px; justify-content: center; line-height: 1; position: absolute; right: 1rem; top: 1rem; width: 42px; }
.alfa-team-dialog__close:hover,.alfa-team-dialog__close:focus-visible{ background: var(--alfa-red); color: #fff; outline: 3px solid rgba(25,40,109, .18); }
.alfa-team-dialog__header{ align-items: center; border-bottom: 1px solid #e5eef4; display: flex; flex-direction: column; gap: 1rem; padding: .25rem 2.75rem 1.4rem; text-align: center; }
.alfa-team-dialog__portrait{ aspect-ratio: 1; background: #d9ecf7; border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px rgba(1, 113, 185, .25), 0 10px 25px rgba(0, 70, 116, .15); flex: 0 0 124px; height: 124px; overflow: hidden; width: 124px; }
.alfa-team-dialog__portrait .field--name-field-team-photo,.alfa-team-dialog__portrait .field__item{ height: 100%; width: 100%; }
.alfa-team-dialog__portrait img{ display: block; height: 100%; object-fit: cover; object-position: center 35%; width: 100%; }
.alfa-team-dialog__identity{ min-width: 0; }
.alfa-team-dialog__eyebrow{ color: var(--alfa-red); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.alfa-team-dialog__header h2{ color: var(--alfa-blue-dark); font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.2; margin: .4rem 0; }
.alfa-team-dialog__header p{ color: #5d7486; font-size: .95rem; font-weight: 650; margin: 0; }
.alfa-team-dialog__biography{ padding: 1.35rem 0; }
.alfa-team-dialog__biography h3{ color: var(--alfa-blue-dark); font-size: 1.05rem; margin: 0 0 .7rem; }
.alfa-team-dialog__bio{ color: #536a7d; font-size: .98rem; line-height: 1.8; max-height: min(35vh, 22rem); overflow-y: auto; overscroll-behavior: contain; padding-right: .5rem; scrollbar-color: #9fc9e0 #edf6fb; scrollbar-width: thin; }
.alfa-team-dialog__bio > :first-child{ margin-top: 0; }
.alfa-team-dialog__bio > :last-child{ margin-bottom: 0; }
.alfa-team-dialog__contact{ border-top: 1px solid #e5eef4; display: flex; flex-wrap: wrap; gap: .65rem; padding-top: 1.1rem; }
.alfa-team-dialog__contact-link{ align-items: center; background: #f1f8fc; border: 1px solid #d8eaf5; border-radius: 999px; color: var(--alfa-blue-dark); display: inline-flex; font-size: .86rem; font-weight: 700; gap: .5rem; max-width: 100%; min-height: 40px; padding: .45rem .85rem; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.alfa-team-dialog__contact-icon{ fill: none; flex: 0 0 18px; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 18px; }
.alfa-team-dialog__contact-link span{ overflow-wrap: anywhere; }
.alfa-team-dialog__contact-link:hover,.alfa-team-dialog__contact-link:focus-visible{ background: #f0f2fa; border-color: #d9dcef; color: var(--alfa-red); outline: 3px solid rgba(1, 113, 185, .12); outline-offset: 2px; }
.alfa-team-empty{ background: #fff; border: 1px solid rgba(1, 113, 185, .12); border-radius: 16px; box-shadow: 0 10px 28px rgba(0, 70, 116, .06); color: #586f82; margin: 0 auto; max-width: 740px; padding: 2rem; text-align: center; }
.alfa-team-empty > span{ color: var(--alfa-red); }
.alfa-team-empty p{ line-height: 1.7; margin: .5rem 0 0; }
@media (min-width: 620px) {.alfa-team-grid{ gap: 1.4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) {.alfa-team-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) {.alfa-team-grid{ gap: 1.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 620px) {.alfa-team-dialog__header{ flex-direction: row; text-align: left; } }
@media (prefers-reduced-motion: reduce) {.alfa-team-page *,.alfa-team-page *::before,.alfa-team-page *::after{ scroll-behavior: auto !important; transition-duration: .01ms !important; } }
/* Opportunity directory, applications and stories of change */ .alfa-editorial-page,.alfa-story-detail,.alfa-membership-page{color:#18234d;font-family:inherit}
.alfa-editorial-content{margin:0 auto;max-width:1280px;padding:clamp(2.5rem,6vw,5rem) 1rem 4rem}
.alfa-editorial-heading{margin:0 auto 2rem;max-width:680px;text-align:center}
.alfa-editorial-heading>span,.alfa-story-card__location{color:#19296E;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.alfa-editorial-heading h2{color:#192553;font-size:clamp(1.65rem,3vw,2.5rem);margin:.5rem 0}
.alfa-editorial-heading p{color:#59657d;line-height:1.7}
.alfa-story-grid,.alfa-opportunity-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
.alfa-story-card,.alfa-opportunity-card{background:#fff;border:1px solid #e3e7ef;border-radius:16px;box-shadow:0 12px 34px rgba(25,37,83,.07);min-width:0;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.alfa-story-card:hover,.alfa-opportunity-card:hover{box-shadow:0 20px 44px rgba(25,37,83,.13);transform:translateY(-3px)}
.alfa-story-card__image{background:#e9edf5;display:block;height:220px;overflow:hidden;position:relative}
.alfa-story-card__image .field__item{height:100%;width:100%}
.alfa-story-card__image img{display:block;height:100%;object-fit:cover;transition:transform .35s ease;width:100%}
.alfa-story-card:hover .alfa-story-card__image img{transform:scale(1.04)}
.alfa-story-card__mark{align-items:center;background:#19296E;border:4px solid rgba(255,255,255,.8);border-radius:50%;color:white;display:flex;font-size:1.3rem;height:46px;justify-content:center;position:absolute;right:1rem;top:1rem;width:46px}
.alfa-story-card__placeholder{align-items:center;background:linear-gradient(140deg,#202052,#343a80);color:#fff;display:flex;font-weight:800;height:100%;justify-content:center;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.alfa-story-card__body,.alfa-opportunity-card__body{padding:1.25rem}
.alfa-story-card__location{margin:0 0 .55rem}
.alfa-story-card h2,.alfa-opportunity-card h2{font-size:1.25rem;line-height:1.35;margin:0 0 .7rem}
.alfa-story-card h2 a,.alfa-opportunity-card h2 a{color:#1d2b5e;text-decoration:none}
.alfa-story-card__body>p:not(.alfa-story-card__location),.alfa-opportunity-card__body>p{color:#5b667d;line-height:1.7}
.alfa-story-card__link,.alfa-opportunity-card__link{color:#19296E;display:inline-block;font-weight:800;margin-top:.7rem;text-decoration:none}
.alfa-editorial-pager{margin-top:2rem}
.alfa-story-detail__content{display:grid;gap:2rem;margin:0 auto;max-width:1060px;padding:2.5rem 1rem 5rem}
.alfa-story-detail__image{margin:0}
.alfa-story-detail__image img{border-radius:16px;display:block;height:auto;max-height:560px;object-fit:cover;width:100%}
.alfa-story-detail__text{color:#39445e;font-size:1.05rem;line-height:1.85}
.alfa-story-detail__credit{border-top:1px solid #e3e7ef;color:#727b8f;font-size:.9rem;margin-top:2rem;padding-top:1rem}
.alfa-opportunity-filters{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin:0 auto 2rem}
.alfa-opportunity-filter{background:#fff;border:1px solid #d9deea;border-radius:999px;color:#28345f;font-size:.9rem;font-weight:750;padding:.7rem 1rem;text-decoration:none}
.alfa-opportunity-filter.is-active,.alfa-opportunity-filter:hover{background:#292e70;border-color:#292e70;color:#fff}
.alfa-opportunity-card__image{background:#e9edf5;display:block;height:185px;overflow:hidden}
.alfa-opportunity-card__image img{height:100%;object-fit:cover;width:100%}
.alfa-opportunity-card__eyebrow{color:#19296E;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.alfa-editorial-empty{background:#fff;border:1px solid #e3e7ef;border-radius:16px;margin:0 auto;max-width:720px;padding:2rem;text-align:center}
.alfa-editorial-empty>span{color:#19296E;font-size:.75rem;font-weight:800;letter-spacing:.14em}
.alfa-editorial-empty h2{color:#1d2b5e}
.alfa-editorial-empty p{color:#657087;line-height:1.7}
.alfa-opportunity-detail,.alfa-opportunity-application{margin:0 auto;max-width:1060px;padding:2rem 1rem 5rem}
.alfa-opportunity-detail__card,.alfa-application-card,.alfa-membership-main{background:#fff;border:1px solid #e2e6ef;border-radius:16px;box-shadow:0 12px 36px rgba(25,37,83,.08);padding:clamp(1.2rem,4vw,2.5rem)}
.alfa-opportunity-detail__meta{color:#59657d;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}
.alfa-opportunity-detail__body{color:#39445e;line-height:1.8}
.alfa-opportunity-detail__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.alfa-opportunity-detail__actions a,.alfa-application-card .form-submit,.alfa-membership-main .form-submit{background:#292e70;border:0;border-radius:6px;color:#fff;display:inline-block;font-weight:800;padding:.9rem 1.2rem;text-decoration:none}
.alfa-opportunity-application{max-width:820px}
.alfa-application-card label,.alfa-membership-main label{color:#202b50;display:block;font-weight:750;margin:.9rem 0 .4rem}
.alfa-application-card input,.alfa-application-card textarea,.alfa-membership-main input,.alfa-membership-main textarea,.alfa-membership-main select{background:#fff;border:1px solid #cfd5e2;border-radius:6px;box-sizing:border-box;max-width:100%;padding:.8rem;width:100%}
.alfa-application-card textarea,.alfa-membership-main textarea{min-height:130px}
.alfa-membership-page{margin:0 auto;max-width:1280px;padding-bottom:4rem}
.alfa-membership-main{margin:2rem auto;max-width:980px}
@media(min-width:680px){.alfa-story-grid,.alfa-opportunity-grid{gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))} .alfa-story-card__image{height:245px} .alfa-story-detail__content{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding-top:3.5rem} }
@media(min-width:1000px){.alfa-story-grid,.alfa-opportunity-grid{grid-template-columns:repeat(3,minmax(0,1fr))} .alfa-editorial-content{padding-left:2rem;padding-right:2rem} }
@media(max-width:679px){.alfa-story-card__image{height:210px} .alfa-editorial-content{padding-top:2.2rem} .alfa-opportunity-filters{justify-content:flex-start} .alfa-opportunity-filter{font-size:.82rem;padding:.6rem .8rem} }
@media(prefers-reduced-motion:reduce){.alfa-story-card,.alfa-opportunity-card,.alfa-story-card__image img{transition:none} }
/* Opportunity-specific editorial layout */ .alfa-opportunity-page{color:#18234d}
.alfa-opportunity-inner{margin:0 auto;max-width:1280px;padding:clamp(2.5rem,6vw,5rem) 1rem 4rem}
.alfa-opportunity-heading{align-items:end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 0 1.4rem}
.alfa-opportunity-heading h2{color:#192553;font-size:clamp(1.6rem,3vw,2.35rem);margin:.3rem 0}
.alfa-opportunity-heading p{color:#59657d;line-height:1.7;margin:.4rem 0}
.alfa-opportunity-eyebrow{color:#19296E;font-size:.74rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.alfa-opportunity-current,.alfa-opportunity-card__category{background:#eaf0fb;border-radius:999px;color:#19296E;font-size:.78rem;font-weight:800;padding:.55rem .8rem}
.alfa-opportunity-card__image{position:relative}
.alfa-opportunity-card__category{left:.8rem;position:absolute;top:.8rem}
.alfa-opportunity-card__image-placeholder{align-items:center;background:linear-gradient(140deg,#202052,#343a80);color:white;display:flex;height:100%;justify-content:center;letter-spacing:.15em}
.alfa-opportunity-card__meta{color:#69748a;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.45rem 1rem;margin-bottom:.7rem}
.alfa-opportunity-card h3{font-size:1.2rem;line-height:1.35;margin:0}
.alfa-opportunity-card h3 a{color:#1d2b5e;text-decoration:none}
.alfa-opportunity-empty{align-items:center;background:#fff;border:1px solid #e3e7ef;border-radius:16px;display:flex;gap:1rem;margin:1rem auto;padding:clamp(1.2rem,4vw,2.2rem)}
.alfa-opportunity-empty>span{align-items:center;background:#292e70;border-radius:50%;color:#fff;display:flex;flex:0 0 52px;font-size:.7rem;font-weight:850;height:52px;justify-content:center}
.alfa-opportunity-empty h3{color:#1d2b5e;margin:0 0 .4rem}
.alfa-opportunity-empty p{color:#657087;line-height:1.6;margin:0}
.alfa-opportunity-detail{margin:0 auto;max-width:1060px;padding:2rem 1rem 5rem}
.alfa-opportunity-detail__image img{border-radius:12px;display:block;max-height:440px;object-fit:cover;width:100%}
.alfa-opportunity-detail__body{background:#fff;border:1px solid #e2e6ef;border-radius:16px;box-shadow:0 12px 36px rgba(25,37,83,.08);color:#39445e;line-height:1.8;margin-top:1.5rem;padding:clamp(1.2rem,4vw,2.5rem)}
.alfa-opportunity-detail__requirements{border-top:1px solid #e3e7ef;margin-top:2rem;padding-top:1rem}
.alfa-opportunity-apply-button{background:#292e70;border-radius:6px;color:#fff;display:inline-block;font-weight:800;margin-top:1.2rem;padding:.9rem 1.2rem;text-decoration:none}
.alfa-application-layout{display:grid;gap:1.4rem;margin:0 auto;max-width:980px;padding:2rem 1rem 5rem}
.alfa-application-intro,.alfa-application-form-card,.alfa-membership-form-intro,.alfa-membership-form-card{background:#fff;border:1px solid #e2e6ef;border-radius:16px;box-shadow:0 12px 36px rgba(25,37,83,.07);padding:clamp(1.25rem,4vw,2rem)}
.alfa-application-intro h2,.alfa-membership-form-intro h2{color:#1d2b5e;font-size:1.6rem}
.alfa-application-intro p,.alfa-membership-form-intro p{color:#59657d;line-height:1.75}
.alfa-application-form-card label{color:#202b50;display:block;font-weight:750;margin:.9rem 0 .4rem}
.alfa-application-form-card input,.alfa-application-form-card textarea{background:#fff;border:1px solid #cfd5e2;border-radius:6px;box-sizing:border-box;max-width:100%;padding:.8rem;width:100%}
.alfa-application-form-card textarea{min-height:130px}
.alfa-application-form-card .form-submit{background:#292e70;border:0;border-radius:6px;color:#fff;font-weight:800;padding:.9rem 1.2rem}
.alfa-membership-application{display:grid;gap:1.4rem}
.alfa-membership-form-intro{background:linear-gradient(145deg,#202052,#343a80);color:white}
.alfa-membership-form-intro h2,.alfa-membership-form-intro p{color:white}
.alfa-membership-promise{border-top:1px solid rgba(255,255,255,.2);margin-top:1.5rem;padding-top:1rem}
.alfa-membership-form-card{box-shadow:none;padding:0}
.alfa-membership-main{border:0;box-shadow:none;margin:2rem auto;max-width:1020px;padding:0}
.alfa-membership-privacy,.alfa-application-privacy{color:#69748a;font-size:.85rem;line-height:1.6}
@media(min-width:760px){.alfa-application-layout,.alfa-membership-application{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)} .alfa-membership-form-card{padding:2rem} .alfa-membership-page .alfa-membership-main{padding:0 1rem} }
.alfa-membership-form-intro h2{font-size:clamp(1.55rem,3vw,2rem);line-height:1.2;margin:.65rem 0}
.alfa-membership-form-card .form-item{margin:0 0 1.15rem}
.alfa-membership-form-card .form-item label{color:#202b50;display:block;font-size:.92rem;font-weight:750;margin:0 0 .45rem}
.alfa-membership-form-card input:not([type=checkbox]),.alfa-membership-form-card textarea,.alfa-membership-form-card select{background:#fff;border:1px solid #cfd5e2;border-radius:6px;box-sizing:border-box;color:#263252;max-width:100%;min-height:46px;padding:.75rem .85rem;width:100%}
.alfa-membership-form-card textarea{min-height:140px}
.alfa-membership-form-card .form-checkboxes{display:grid;gap:.55rem;grid-template-columns:1fr;margin-top:.4rem}
.alfa-membership-form-card .form-type-checkbox{align-items:flex-start;display:flex;gap:.55rem;margin:0}
.alfa-membership-form-card .form-type-checkbox input{accent-color:#292e70;margin-top:.28rem}
.alfa-membership-form-card .form-type-checkbox label{font-weight:500;margin:0}
.alfa-membership-form-card .form-actions{margin-top:1.4rem}
.alfa-membership-form-card .form-submit{background:#292e70;border:0;border-radius:6px;color:#fff;cursor:pointer;font-weight:800;min-height:48px;padding:.85rem 1.25rem}
.alfa-membership-form-card .form-submit:hover,.alfa-membership-form-card .form-submit:focus-visible{background:#1c2055;outline:3px solid rgba(41,46,112,.18);outline-offset:2px}
@media(max-width:679px){.alfa-membership-form-card .form-checkboxes{grid-template-columns:1fr} }
@media(min-width:680px){.alfa-membership-form-card .form-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* Membership page: use the available viewport and protect the form from narrow grid columns. */ .alfa-membership-page{box-sizing:border-box;margin:0;max-width:none;padding:0 0 4rem;width:100%}
.alfa-membership-main{box-sizing:border-box;margin:clamp(1.5rem,4vw,3rem) auto 0;max-width:1240px;padding:0 clamp(1rem,3vw,2rem);width:100%}
.alfa-membership-application{align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);margin:0 auto;max-width:1180px;width:100%}
.alfa-membership-form-intro,.alfa-membership-form-card{box-sizing:border-box;min-width:0;width:100%}
.alfa-membership-form-intro{padding:clamp(1.25rem,3vw,2.25rem)}
.alfa-membership-form-intro h2{font-size:clamp(1.55rem,2.6vw,2rem);overflow-wrap:normal;word-break:normal}
.alfa-membership-form-card{padding:clamp(1.1rem,3vw,2rem)}
.alfa-membership-form-card form,.alfa-membership-form-card .form-item,.alfa-membership-form-card .fieldset__wrapper{min-width:0;width:100%}
.alfa-membership-form-card .form-item label,.alfa-membership-form-card .fieldset__label{color:#202b50;font-size:.95rem;font-weight:700;line-height:1.45;overflow-wrap:normal;word-break:normal}
.alfa-membership-form-card input:not([type=checkbox]),.alfa-membership-form-card textarea,.alfa-membership-form-card select{display:block;font-size:1rem;line-height:1.45;min-height:48px;width:100%}
.alfa-membership-form-card fieldset{border:1px solid #dfe4ed;border-radius:8px;margin:0 0 1.15rem;min-width:0;padding:1rem}
.alfa-membership-form-card .form-checkboxes{display:grid;gap:.7rem;grid-template-columns:minmax(0,1fr);width:100%}
.alfa-membership-form-card .form-type--checkbox{align-items:start;display:grid;gap:.65rem;grid-template-columns:1.1rem minmax(0,1fr);min-width:0;width:100%}
.alfa-membership-form-card .form-type--checkbox input[type=checkbox]{accent-color:#292e70;height:1rem;margin:.2rem 0 0;width:1rem}
.alfa-membership-form-card .form-type--checkbox label{display:block;font-weight:500;line-height:1.45;margin:0;min-width:0;width:auto}
.alfa-membership-form-card .form-actions{margin-top:1.25rem}
.alfa-membership-form-card .form-submit{font-size:1rem;min-height:50px}
@media(min-width:960px){.alfa-membership-application{gap:1.5rem;grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr)} .alfa-membership-form-card .form-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:959px){.alfa-membership-form-intro{padding:1.5rem} .alfa-membership-form-card{padding:clamp(1rem,4vw,1.5rem)} }
.alfa-what-we-do-page,.alfa-what-we-do-main,.alfa-what-we-do-wrapper,.alfa-what-we-do-main .node-full{width:100%;margin:0;padding:0;overflow-x:clip}
.alfa-what-we-do-main{display:block}
.alfa-what-we-do-wrapper{margin:0 auto}
.alfa-what-we-do-wrapper>*{width:100%;margin:0 auto;overflow-x:clip}
@media (max-width:992px){.alfa-what-we-do-page,.alfa-what-we-do-main,.alfa-what-we-do-wrapper{width:100vw;margin-left:calc(-50vw + 50%)} }
/* Shar
/* FHRI Home page last section CTA: flat dark-navy block with a big curve on the top-right and bottom-left corners (other corners square). Top: eyebrow + heading (red highlight) over a divider line; below: text left, buttons right (stack <760px). Replace the whole old CTA block (remove clip-path). Change --cta-bg to var(--primary) for the brand purple. */ /* remove bottom padding on page wrappers; spacing moves inside */ .alfa-about-page,.alfa-membership-page,.alfa-editorial-page,.alfa-story-detail,.alfa-opportunity-page,.alfa-news-page{padding-bottom:0!important;margin-bottom:0!important}

body>*:last-child{margin-bottom:0!important;padding-bottom:0!important}
/* kill top margin on the first thing after the header */ .alfa-main-content,.alfa-about-page,.alfa-news-page,.alfa-editorial-page,.alfa-opportunity-page,.alfa-membership-page{margin-top:0!important}
.alfa-home-slider{margin-top:0!important}
.alfa-main-content>:first-child,.alfa-about-page>:first-child{margin-top:0!important}
/* FHRI INTERNSHIP PAGE (mobile-first). Reuses the Membership design system (.mem-*: key-figures ribbon, numbered chapters, arch/cut photo frames, purple band, CTA) and adds: photo with caption tag + overlapping Overall Objective card, glass objective cards (numbered), two terms info cards, and a checklist of requirements. Content comes from the body (h3 titles, no editor classes). Requires the membership CSS to be loaded too. Uses --primary, --accent. */ .int-feature{padding:clamp(2.5rem,6vw,4.5rem) 0 0}
.int-feature__grid{display:grid}
.int-photo{position:relative;margin:0}
.int-photo::after{content:"";position:absolute;top:0;left:0;width:60px;height:34px;border-radius:0 0 60px 0;background:var(--accent);transition:width .45s cubic-bezier(.22,1,.36,1)}
.int-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0 56px 0 56px;box-shadow:0 24px 60px rgba(30,30,100,.22);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease}
.int-photo__tag{position:absolute;top:1.25rem;right:1.25rem;max-width:calc(100% - 6rem);padding:.55rem .9rem;background:#fff;border-right:4px solid var(--accent);border-radius:10px 0 0 10px;box-shadow:0 8px 24px rgba(0,0,0,.18);color:var(--primary);font-size:.78rem;font-weight:800;line-height:1.35;text-align:right}
.int-goal{position:relative;z-index:2;margin:-2.5rem 1rem 0;padding:1.6rem 1.5rem 1.75rem;background:var(--primary);border-radius:0 28px 0 28px;box-shadow:0 22px 50px rgba(30,30,100,.35);color:#fff}
.int-goal blockquote{margin:0;padding:0;border:0;background:none}
.int-goal p{margin:0;color:#fff}
.int-goal p>br{display:none}
.int-goal p>em{font-style:normal}
.int-goal p>em:first-child{display:block;margin-bottom:.7rem;color:#19296E;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.int-goal p>em:first-child strong{font-weight:800}
.int-goal p>em:last-child{display:block;font-size:clamp(1.2rem,4.6vw,1.75rem);font-weight:600;line-height:1.4}
.int-steps ol{counter-reset:s;display:grid;gap:1rem;margin:2rem 0 0;padding:0;list-style:none}
.int-steps li{position:relative;counter-increment:s;padding:3.6rem 1.4rem 1.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:0 26px 0 26px;color:#fff;font-size:1rem;line-height:1.7;transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .3s ease}
.int-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;top:.9rem;left:1.4rem;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55);font-size:2.3rem;font-weight:800;line-height:1}
.int-steps li::after{content:"";position:absolute;top:0;left:0;width:56px;height:4px;background:var(--accent);transition:width .45s cubic-bezier(.22,1,.36,1)}
.int-terms{display:grid;gap:1rem;margin-top:2rem}
.int-terms p{position:relative;margin:0;padding:3.6rem 1.5rem 1.6rem;background:#f4f6fa;border-top:5px solid var(--primary);border-radius:0 28px 0 28px;color:#46526d;font-size:1rem;line-height:1.8;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}
.int-terms p:first-child{border-top-color:var(--accent)}
.int-terms p::before{position:absolute;top:1.2rem;left:1.5rem;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.int-terms p:nth-child(1)::before{content:"Voluntary placement"}
.int-terms p:nth-child(2)::before{content:"Duration"}
.int-terms strong,.int-checks strong{background:linear-gradient(transparent 62%,rgba(25,40,109,.18) 62%);color:var(--primary);font-weight:800}
.int-checks>p:first-child{margin:0 0 1.25rem;padding:1.1rem 1.25rem;background:var(--primary);border-radius:0 20px 0 0;color:#fff;font-size:1.05rem;line-height:1.5}
.int-checks>p:first-child strong{background:none;color:#fff}
.int-checks ol{counter-reset:c;display:grid;gap:.75rem;margin:0;padding:0;list-style:none}
.int-checks li{position:relative;padding:1rem 1.1rem 1rem 3.6rem;background:#fff;border-radius:10px;box-shadow:var(--shadow-md);color:#46526d;font-size:.98rem;line-height:1.7;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}
.int-checks li::before{content:"\2713";position:absolute;top:1rem;left:1rem;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:rgba(25,40,109,.1);color:var(--accent);font-size:.95rem;font-weight:800;transition:background-color .3s ease,color .3s ease}
.int-reqs .mem-media{margin-top:2rem}
@media(min-width:640px){.int-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))} .int-terms{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem} }
@media(min-width:900px){.int-feature{padding-bottom:3rem} .int-feature__grid{grid-template-columns:repeat(12,minmax(0,1fr))} .int-photo{grid-column:1/9;grid-row:1} .int-goal{grid-column:7/13;grid-row:1;align-self:end;margin:0;padding:2rem 2.25rem 2.25rem;transform:translateY(3rem)} .int-reqs.mem-split{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start} .int-reqs .mem-media{margin-top:0} }
@media(min-width:1180px){.int-steps ol{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (hover:hover) and (pointer:fine){.int-feature__grid:hover .int-photo img{transform:translateY(-6px);box-shadow:0 32px 70px rgba(30,30,100,.3)} .int-photo:hover::after{width:100px} .int-steps li:hover{transform:translateY(-8px);background:rgba(255,255,255,.15)} .int-steps li:hover::after{width:100%} .int-terms p:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(30,30,100,.16)} .int-checks li:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)} .int-checks li:hover::before{background:var(--accent);color:#fff} }
@media(prefers-reduced-motion:reduce){.int-photo::after,.int-photo img,.int-steps li,.int-steps li::after,.int-terms p,.int-checks li,.int-checks li::before{transition:none} }
/* FHRI news article detail */ .alfa-news-article{ --alfa-article-blue:#0171B9; --alfa-article-red:#19296E; color:#29344d; }
.alfa-article-breadcrumb{ align-items:center; color:#d4d8f3; display:flex; flex-wrap:wrap; font-size:.82rem; gap:.55rem; margin:0 0 1.15rem; }
.alfa-article-breadcrumb a{ color:#fff; text-decoration:none; }
.alfa-article-breadcrumb a:hover,.alfa-article-breadcrumb a:focus-visible{ color:#19296E; text-decoration:underline; }
.alfa-article-categories{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 .8rem; }
.alfa-article-categories span{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.08em; padding:.4rem .75rem; text-transform:uppercase; }
.alfa-article-meta{ align-items:center; color:#e0e3f6; display:flex; flex-wrap:wrap; font-size:.88rem; gap:.55rem .8rem; margin-top:1.25rem; }
.alfa-article-meta a{ color:#fff; font-weight:700; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:3px; }
.alfa-article-meta__divider{ color:#19296E; }
.alfa-article-details{align-items:center;border-bottom:1px solid #e2e9ee;color:#52697a;display:flex;flex-wrap:wrap;font-size:.95rem;gap:.5rem .9rem;margin:0 0 1.3rem;padding:0 0 1rem;}
.alfa-article-details>span:not(:first-child)::before{color:#19296E;content:"â€¢";font-weight:900;margin-right:.55rem;}
.alfa-article-details time{font-weight:700;}
.alfa-article-photo-credit{color:#687d8c;font-size:.85rem!important;font-style:italic;margin:-.35rem 0 1.25rem;}
.alfa-article-layout{ align-items:start; display:grid; gap:clamp(2rem,5vw,4.25rem); grid-template-columns:minmax(0,1fr) minmax(270px,340px); margin:0 auto; max-width:1360px; padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem) 5rem; }
.alfa-article-main{ min-width:0; }
.alfa-article-dek{ border-left:4px solid var(--alfa-article-red); color:#495570; font-size:clamp(1.05rem,1.7vw,1.3rem); font-style:italic; line-height:1.7; margin:0 0 1.5rem; padding:.2rem 0 .2rem 1.1rem; }
.alfa-article-featured{ background:#eef1f8; border-radius:12px; margin:0 0 2rem; overflow:hidden; position:relative; }
.alfa-article-featured img{ aspect-ratio:1.48/1; display:block; height:auto; object-fit:cover; object-position:center; width:100%; }
.alfa-article-featured figcaption{ background:rgba(22,30,73,.83); bottom:0; color:#fff; font-size:.76rem; line-height:1.5; padding:.55rem .8rem; position:absolute; right:0; }
.alfa-article-featured--empty{ align-items:center; aspect-ratio:1.48/1; background:linear-gradient(135deg,#282866,#656db0); color:rgba(255,255,255,.9); display:flex; font-size:2rem; font-weight:850; justify-content:center; letter-spacing:.15em; }
.alfa-article-body{ color:#343d52; font-family:'Tiempos Text','Georgia',serif; font-size:1.08rem; hyphens:auto; line-height:1.9; overflow-wrap:anywhere; text-align:justify; text-justify:inter-word; }
.alfa-article-body p{ margin:0 0 1.35rem; }
.alfa-article-body h2,.alfa-article-body h3,.alfa-article-body h4{ color:var(--alfa-article-blue); font-family:'Tiempos Headline','Georgia',serif; font-weight:800; line-height:1.3; margin:2rem 0 .8rem; text-align:left; }
.alfa-article-body blockquote{ border-left:4px solid var(--alfa-article-red); color:#59647a; font-style:italic; margin:1.75rem 0; padding:.35rem 0 .35rem 1.25rem; }
.alfa-article-body img{ border-radius:10px; height:auto; max-width:100%; }
.alfa-article-sidebar{ min-width:0; }
.alfa-article-sidebar__heading{ border-bottom:2px solid #e7e9f0; margin:0 0 1.1rem; padding:0 0 .85rem; }
.alfa-article-sidebar__heading > span{ color:var(--alfa-article-red); font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.alfa-article-sidebar__heading h2{ color:var(--alfa-article-blue); font-size:1.55rem; font-weight:850; line-height:1.25; margin:.25rem 0; }
.alfa-article-sidebar__heading p{ color:#727d92; font-size:.83rem; line-height:1.5; margin:0; }
.kpy-sn-latest-list{ display:grid; gap:.85rem; }
.alfa-article-sidebar .alfa-news-card{ background:#fff; border:1px solid #e4e8f0; border-radius:10px; box-shadow:0 6px 20px rgba(30,43,84,.06); display:grid; grid-template-columns:112px minmax(0,1fr); min-width:0; overflow:hidden; transition:border-color .2s ease,transform .2s ease; }
.alfa-article-sidebar .alfa-news-card:hover{ border-color:#c6cbe0; transform:translateY(-2px); }
.alfa-article-sidebar .alfa-news-image-link{ align-self:stretch; aspect-ratio:auto; background:#e9edf6; min-height:100px; overflow:hidden; }
.alfa-article-sidebar .alfa-news-card-image,.alfa-article-sidebar .alfa-news-image-fallback{ display:block; height:100%; min-height:100px; object-fit:cover; width:100%; }
.alfa-article-sidebar .alfa-news-image-fallback{ align-items:center; background:linear-gradient(135deg,#282866,#656db0); color:#fff; display:flex; font-size:.9rem; font-weight:850; justify-content:center; letter-spacing:.12em; }
.alfa-article-sidebar .alfa-news-card-content{ min-width:0; padding:.72rem .8rem; }
.alfa-article-sidebar .alfa-news-card-meta{ align-items:center; color:#737d92; display:flex; flex-wrap:wrap; font-size:.65rem; gap:.25rem .45rem; line-height:1.4; }
.alfa-article-sidebar .alfa-news-card-category{ color:var(--alfa-article-red); font-size:.61rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.alfa-article-sidebar .alfa-news-card-title{ font-size:.93rem; font-weight:750; line-height:1.38; margin:.32rem 0 0; }
.alfa-article-sidebar .alfa-news-card-title a{ color:var(--alfa-article-blue); text-decoration:none; }
.alfa-article-sidebar .alfa-news-card-title a:hover,.alfa-article-sidebar .alfa-news-card-title a:focus-visible{ color:var(--alfa-article-red); text-decoration:underline; }
.alfa-article-sidebar .alfa-news-card-excerpt,.alfa-article-sidebar .alfa-news-read-more{ display:none; }
.alfa-article-sidebar__empty{ background:#f5f6fa; border-radius:8px; color:#6c778d; font-size:.88rem; line-height:1.6; padding:1rem; }
.alfa-article-edit{ border-top:1px solid #e5e8ef; margin-top:2rem; padding-top:1rem; }
@media(min-width:701px) {.alfa-article-sidebar{ align-self:start; position:sticky; top:132px; } }
@media(max-width:900px) {.alfa-article-layout{ grid-template-columns:minmax(0,1fr) 290px; gap:1.5rem; } }
@media(max-width:700px) {.alfa-article-layout{ grid-template-columns:minmax(0,1fr); padding:1.5rem 1rem 3rem; } .alfa-article-sidebar{ border-top:2px solid #e7e9f0; padding-top:1.5rem; } .alfa-article-sidebar .kpy-sn-latest-list{ display:flex; gap:.85rem; overflow-x:auto; overscroll-behavior-x:contain; padding:0 0 .75rem; scroll-snap-type:x mandatory; scrollbar-color:#b9bfd4 #edf0f6; scrollbar-width:thin; -webkit-overflow-scrolling:touch; } .alfa-article-sidebar .alfa-news-card{ flex:0 0 min(82vw,340px); grid-template-columns:96px minmax(0,1fr); scroll-snap-align:start; } .alfa-article-breadcrumb{ font-size:.75rem; } .alfa-article-body{ font-size:1rem; line-height:1.8; text-align:left; } .alfa-article-featured figcaption{ font-size:.68rem; } }
@media(prefers-reduced-motion:reduce) {.alfa-article-sidebar .alfa-news-card{ transition:none; } }



/* Homepage stories: compact branded video and image-first event cards. */ .alfa-front-stories-events{ overflow: visible; padding-block: clamp(3.5rem, 7vw, 6rem); background: #fff; }
.alfa-front-stories-events .alfa-stories-heading{ max-width: none; margin: 0 0 clamp(2rem, 4vw, 3.25rem); text-align: left; }
.alfa-front-stories-events .alfa-stories-eyebrow{ color: #0171B9; }
.alfa-front-stories-events .alfa-section-title{ max-width: none; margin-bottom: .75rem; color: #12314a; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.08; letter-spacing: -.045em; }
.alfa-front-stories-events .alfa-section-subtitle{ max-width: 38rem; color: #526b7c; font-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.alfa-front-stories-events .alfa-video-events-grid{ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: clamp(2rem, 6vw, 5.5rem); padding: .75rem .35rem 1rem; }
.alfa-front-stories-events .alfa-featured-video-column,.alfa-front-stories-events .alfa-featured-events{ position: relative; min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); border: 2px solid #12314a; border-radius: 0; background: #fff; box-shadow: 0 12px 28px rgba(16, 40, 58, .06); }
.alfa-front-stories-events .alfa-featured-video-column{ transform: rotate(-.8deg); }
.alfa-front-stories-events .alfa-featured-events{ transform: rotate(.8deg); }
.alfa-front-stories-events .alfa-featured-video-column::before,.alfa-front-stories-events .alfa-featured-events::before{ position: absolute; z-index: 3; top: -1rem; left: .5rem; padding: .45rem .75rem; border: 2px solid #12314a; background: #0171B9; color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .045em; line-height: 1; white-space: nowrap; }
.alfa-front-stories-events .alfa-featured-video-column::before{ content: "01 / FEATURED STORY"; transform: rotate(-2deg); }
.alfa-front-stories-events .alfa-featured-events::before{ right: .5rem; left: auto; background: #e8f5fc; color: #00568F; content: "02 / UPCOMING EVENTS"; transform: rotate(2deg); }
.alfa-front-stories-events .alfa-video-card{ overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.alfa-front-stories-events .alfa-video-eyebrow{ min-height: 2.8rem; padding: .35rem 0 .65rem; color: #173b56; letter-spacing: .1em; }
.alfa-front-stories-events .alfa-video-eyebrow-duration{ color: #647687; }
.alfa-front-stories-events .alfa-video-embed{ position: relative; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; border-block: 0; background: #0171B9; }
.alfa-front-stories-events .alfa-video-player{ display: block; width: 100%; height: 100%; border: 0; background: #0171B9; }
.alfa-front-stories-events .alfa-video-content{ padding: 1rem 0 .25rem; color: #173b56; }
.alfa-front-stories-events .alfa-video-content-label{ margin-bottom: .4rem; color: #0171B9; }
.alfa-front-stories-events .alfa-video-title{ margin-bottom: .5rem; color: #173b56; font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.alfa-front-stories-events .alfa-video-description{ margin-bottom: .8rem; color: #647687; font-size: .92rem; line-height: 1.5; -webkit-line-clamp: 2; }
.alfa-front-stories-events .alfa-video-link{ color: #0171B9; }
.alfa-front-stories-events .alfa-video-link:hover,.alfa-front-stories-events .alfa-video-link:focus-visible{ color: #00568F; }
.alfa-front-stories-events .alfa-video-link span{ width: 1.55rem; height: 1.55rem; background: #0171B9; }
.alfa-front-stories-events .alfa-video-link:hover span,.alfa-front-stories-events .alfa-video-link:focus-visible span{ background: #00568F; }
.alfa-front-stories-events .alfa-featured-events{ grid-template-rows: repeat(2, minmax(0, auto)) auto; align-content: stretch; gap: .75rem; }
.alfa-front-stories-events .alfa-event-card{ min-height: 0; align-items: stretch; flex-direction: column; border: 0; border-bottom: 1px solid rgba(18, 49, 74, .22); border-radius: 0; background: #fff; color: #173b56; box-shadow: none; }
.alfa-front-stories-events .alfa-event-image{ position: relative; z-index: auto; inset: auto; flex: 0 0 125px; width: 100%; height: 125px; background: #e8f5fc; }
.alfa-front-stories-events .alfa-event-image::after{ display: none; content: none; }
.alfa-front-stories-events .alfa-event-image-placeholder::before{ border-color: rgba(1, 113, 185, .2); box-shadow: 0 0 0 2rem rgba(1, 113, 185, .06), 0 0 0 4rem rgba(1, 113, 185, .04); }
.alfa-front-stories-events .alfa-event-photo{ display: block; width: 100%; height: 100%; object-fit: cover; }
.alfa-front-stories-events .alfa-event-teaser{ position: relative; z-index: auto; display: grid; flex: 1; align-content: center; justify-items: center; gap: .3rem; padding: .8rem .5rem 1rem; text-align: center; }
.alfa-front-stories-events .alfa-event-kicker{ color: #00568F; font-size: .62rem; }
.alfa-front-stories-events .alfa-event-teaser .alfa-event-title{ display: -webkit-box; overflow: hidden; color: #173b56; font-size: 1rem; line-height: 1.25; text-align: center; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.alfa-front-stories-events .alfa-event-content{ display: none; }
.alfa-front-stories-events .alfa-event-datetime,.alfa-front-stories-events .alfa-event-location{ margin: 0 0 .2rem; color: #647687; font-size: .75rem; }
.alfa-front-stories-events .alfa-event-description{ display: -webkit-box; overflow: hidden; margin: .2rem 0 .35rem; color: #647687; font-size: .78rem; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.alfa-front-stories-events .alfa-event-link{ display: inline-flex; align-items: center; justify-content: center; gap: .4rem; margin-top: auto; color: #0171B9 !important; font-size: .78rem; font-weight: 800; text-decoration: none; visibility: visible; opacity: 1; }
.alfa-front-stories-events .alfa-event-link:hover,.alfa-front-stories-events .alfa-event-link:focus-visible{ color: #00568F !important; text-decoration: underline; text-underline-offset: 3px; }
.alfa-front-stories-events .alfa-featured-links{ margin-top: .1rem; }
.alfa-front-stories-events .alfa-featured-more-link{ display: inline-flex; min-height: 2.5rem; align-items: center; gap: .5rem; color: #0171B9; font-size: .9rem; font-weight: 800; text-decoration: none; transition: color .2s ease; }
.alfa-front-stories-events .alfa-featured-more-link:hover,.alfa-front-stories-events .alfa-featured-more-link:focus-visible{ color: #19296E; text-decoration: underline; text-underline-offset: 4px; }
.alfa-front-stories-events .alfa-featured-more-link span{ transition: transform .2s ease; }
.alfa-front-stories-events .alfa-featured-more-link:hover span,.alfa-front-stories-events .alfa-featured-more-link:focus-visible span{ transform: translateX(3px); }
@media (max-width: 800px) {.alfa-front-stories-events .alfa-video-events-grid{ grid-template-columns: minmax(0, 1fr); gap: 2.5rem; } .alfa-front-stories-events .alfa-featured-video-column,.alfa-front-stories-events .alfa-featured-events{ transform: none; } .alfa-front-stories-events .alfa-featured-events{ grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; } .alfa-front-stories-events .alfa-featured-events .alfa-featured-links{ grid-column: 1 / -1; } }
@media (max-width: 560px) {.alfa-front-stories-events .alfa-stories-heading{ margin-bottom: 2.5rem; } .alfa-front-stories-events .alfa-section-title{ font-size: clamp(2.2rem, 11vw, 3.25rem); } .alfa-front-stories-events .alfa-video-events-grid{ gap: 2rem; padding-inline: .25rem; } .alfa-front-stories-events .alfa-featured-video-column,.alfa-front-stories-events .alfa-featured-events{ padding: 1.15rem; } .alfa-front-stories-events .alfa-featured-events{ grid-template-columns: minmax(0, 1fr); } .alfa-front-stories-events .alfa-featured-events .alfa-featured-links{ grid-column: auto; } .alfa-front-stories-events .alfa-event-card{ min-height: 0; } .alfa-front-stories-events .alfa-event-image{ flex-basis: 110px; height: 110px; } }
@media (prefers-reduced-motion: reduce) {.alfa-front-stories-events .alfa-featured-more-link,.alfa-front-stories-events .alfa-featured-more-link span{ transition: none; } }
.alfa-publication-detail{ max-width: none; padding: 0 0 3rem; }
.alfa-publication-detail-header{ margin: 0 0 1.75rem; padding-left: 0; padding-right: 0; }
.alfa-publication-detail-reader,.alfa-publication-reader,.alfa-publication-detail-cover{ margin-left: auto; margin-right: auto; max-width: 1100px; }

/* Alfasan publication library and document detail refresh. */
.alfa-publications-page .alfa-main-content{background:#f4f8fb;padding:clamp(2.5rem,6vw,5rem) 1rem 4rem}
.alfa-publications-inner{max-width:1220px}
.alfa-publication-library{max-width:1100px;margin:0 auto}
.alfa-publication-heading{display:block;margin:0 auto 2rem;text-align:center;max-width:790px}
.alfa-publication-heading .alfa-news-list-kicker{color:#0171b9;font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.alfa-publication-heading h2{color:#19296E;font-size:clamp(2rem,4vw,3.1rem);font-weight:800;line-height:1.12;margin:.35rem 0 .8rem}
.alfa-publication-heading>p:not(.alfa-news-list-kicker):not(.alfa-publication-result-count){color:#43576b;font-size:1.08rem;line-height:1.7;margin:0 auto;max-width:740px}
.alfa-publication-result-count{color:#43576b;margin:1rem 0 0}
.alfa-publication-result-count strong{color:#0171b9}
.alfa-publication-controls{display:flex;justify-content:center;gap:.75rem;margin:0 auto 1.5rem;max-width:920px}
.alfa-publication-controls select,.alfa-publication-controls input{background:#fff;border:1.5px solid #8ba9bd;border-radius:9px;color:#173e58;font:inherit;min-height:48px;padding:.65rem .9rem}
.alfa-publication-controls select{min-width:240px}
.alfa-publication-controls input{flex:1;max-width:370px}
.alfa-publication-controls select:focus,.alfa-publication-controls input:focus{border-color:#0171b9;box-shadow:0 0 0 3px rgba(1,113,185,.13);outline:0}
.alfa-publication-controls button{background:#0171b9;border:1px solid #0171b9;border-radius:9px;color:#fff;cursor:pointer;font:inherit;font-weight:750;padding:.65rem 1.2rem}
.alfa-publication-controls button:hover{background:#00568f}
.alfa-publication-active-filter{align-items:center;color:#43576b;display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.alfa-publication-active-filter strong{background:#e5f2f9;border-radius:999px;color:#00568f;padding:.45rem .8rem}

/* Floating WhatsApp chat control. */
.it-whatsapp-chat{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1000}
.it-whatsapp-button{display:grid;width:60px;height:60px;place-items:center;border:0;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 5px 18px rgba(18,67,41,.3);font-size:1.8rem;cursor:pointer;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.it-whatsapp-button:hover{transform:translateY(-2px);background:#1fbd5b;box-shadow:0 8px 22px rgba(18,67,41,.36)}
.it-whatsapp-button:focus-visible,.it-whatsapp-close:focus-visible,.it-whatsapp-start:focus-visible{outline:3px solid #123b58;outline-offset:3px}
.it-whatsapp-panel{position:absolute;right:0;bottom:calc(100% + .85rem);width:min(340px,calc(100vw - 2rem));overflow:hidden;border:1px solid #d9e5dc;border-radius:12px;background:#fff;box-shadow:0 14px 38px rgba(15,43,27,.2);color:#183448}
.it-whatsapp-panel[hidden]{display:none}
.it-whatsapp-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:#128c4a;color:#fff}
.it-whatsapp-panel-heading strong{font-size:1rem}
.it-whatsapp-close{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.it-whatsapp-close:hover{background:rgba(255,255,255,.16)}
.it-whatsapp-panel>p{margin:0;padding:1rem 1rem .75rem;color:#40596c;font-size:.95rem;line-height:1.5}
.it-whatsapp-start{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:0 1rem 1rem;padding:.75rem 1rem;border-radius:6px;background:#25d366;color:#fff;font-weight:800;text-decoration:none}
.it-whatsapp-start:hover{background:#1fbd5b;color:#fff}
@media(max-width:480px){.it-whatsapp-chat{right:.85rem;bottom:.85rem}.it-whatsapp-button{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.it-whatsapp-button{transition:none}}
.alfa-publication-active-filter a{color:#0171b9;font-weight:700;margin-left:auto}
.alfa-publication-list{display:grid;gap:1rem}
.alfa-publication-row{align-items:center;background:#fff;border:1.5px solid #b8cad7;border-radius:12px;box-shadow:0 5px 18px rgba(0,63,103,.07);display:grid;gap:1.2rem;grid-template-columns:110px minmax(0,1fr) auto;min-height:154px;padding:1.1rem 1.25rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.alfa-publication-row:hover{border-color:#8ba9bd;box-shadow:0 10px 25px rgba(0,63,103,.13);transform:translateY(-2px)}
.alfa-publication-row-cover{align-items:center;aspect-ratio:3/4;background:#e9f3f8;border:1px solid #c4d6e1;border-radius:6px;display:flex;justify-content:center;overflow:hidden}
.alfa-publication-row-cover img{height:100%;object-fit:cover;width:100%}
.alfa-publication-cover-placeholder{align-items:center;background:linear-gradient(145deg,#00568f,#0171b9);color:#fff;display:flex;flex-direction:column;font-size:1.1rem;font-weight:850;height:100%;justify-content:center;letter-spacing:.08em;width:100%}
.alfa-publication-cover-placeholder small{border-top:1px solid rgba(255,255,255,.55);font-size:.65rem;margin-top:.6rem;padding-top:.5rem}
.alfa-publication-row-content{min-width:0}
.alfa-publication-row-category{background:#eaf0fb;border:1px solid #d9dcef;border-radius:999px;color:#19296E;display:inline-flex;font-size:.7rem;font-weight:800;letter-spacing:.045em;margin-bottom:.45rem;padding:.3rem .65rem;text-transform:uppercase}
.alfa-publication-row-content h3{font-size:1.18rem;line-height:1.35;margin:0 0 .45rem}
.alfa-publication-row-content h3 a{color:#00568f;text-decoration:none}
.alfa-publication-row-content h3 a:hover{color:#0171b9;text-decoration:underline}
.alfa-publication-row-content>p{color:#4e6274;line-height:1.55;margin:0 0 .6rem}
.alfa-publication-row-meta{color:#617486;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.45rem 1rem}
.alfa-publication-row-meta>*+*{border-left:1px solid #c7d4dd;padding-left:1rem}
.alfa-publication-row-actions{align-items:stretch;display:flex;flex-direction:column;gap:.55rem;min-width:132px}
.alfa-publication-read,.alfa-publication-download{align-items:center;border:1.5px solid #0171b9;border-radius:8px;display:inline-flex;font-size:.88rem;font-weight:800;justify-content:center;min-height:42px;padding:.55rem .9rem;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}
.alfa-publication-read{background:#19296E;border-color:#19296E;color:#fff}
.alfa-publication-read:hover,.alfa-publication-read:focus-visible{background:#19296E;border-color:#19296E;color:#fff}
.alfa-publication-download{background:#fff;color:#00568f}
.alfa-publication-download:hover,.alfa-publication-download:focus-visible{background:#eaf5fb;border-color:#00568f;color:#00568f}
.alfa-publications-page .pager{margin:2rem 0 0}
.alfa-publications-page .pager__items{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;list-style:none;padding:0}
.alfa-publications-page .pager__item a,.alfa-publications-page .pager__item.is-active a{align-items:center;background:#fff;border:1px solid #abc1d0;border-radius:8px;color:#00568f;display:flex;justify-content:center;min-height:40px;min-width:40px;padding:.45rem .7rem;text-decoration:none}
.alfa-publications-page .pager__item.is-active a,.alfa-publications-page .pager__item a:hover{background:#0171b9;border-color:#0171b9;color:#fff}
.alfa-publication-detail{background:#f4f8fb;max-width:none;padding:clamp(2rem,5vw,4rem) 1rem}
.alfa-publication-detail-inner{margin:0 auto;max-width:1120px}
.alfa-publication-detail-header{background:#fff;border:1.5px solid #b8cad7;border-radius:12px;box-shadow:0 6px 22px rgba(0,63,103,.07);margin:0 auto 1.5rem;max-width:100%;padding:clamp(1.25rem,3vw,2.25rem);text-align:center}
.alfa-publication-detail-categories{color:#19296E}
.alfa-publication-detail-header h1{color:#19296E;font-size:clamp(1.8rem,4vw,2.75rem);margin:.2rem 0 .75rem}
.alfa-publication-detail-meta{justify-content:center}
.alfa-publication-detail-intro{font-size:1.06rem;margin:.9rem auto 1.2rem;max-width:850px}
.alfa-publication-detail-actions{justify-content:center}
.alfa-publication-document{background:#fff;border:2px solid #7898ad;border-radius:12px;box-shadow:0 10px 30px rgba(0,63,103,.12);margin:0 auto;max-width:1000px;overflow:hidden}
.alfa-publication-document-heading{align-items:center;background:#eaf3f8;border-bottom:2px solid #9cb5c5;color:#00568f;display:flex;font-size:.9rem;font-weight:800;gap:1rem;justify-content:space-between;padding:.8rem 1rem}
.alfa-publication-document-heading span+span{color:#617486;font-size:.78rem;font-weight:600;overflow-wrap:anywhere;text-align:right}
.alfa-publication-document iframe{background:#fff;border:0;display:block;height:min(78vh,950px);min-height:580px;width:100%}
.alfa-publication-document-fallback{padding:2rem;text-align:center}
.alfa-publication-document-fallback h2{color:#00568f}
.alfa-publication-detail-cover{margin:1.5rem auto;max-width:850px}
.alfa-publication-detail-cover img{border:2px solid #7898ad;border-radius:12px;height:auto;width:100%}
.alfa-publication-related{margin:2.5rem auto 0;max-width:1120px}
.alfa-publication-related-heading{align-items:end;display:flex;justify-content:space-between;gap:1rem;margin:0 0 .9rem}
.alfa-publication-related-heading p{margin:0 0 .2rem}
.alfa-publication-related-heading h2{color:#00568f;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.2;margin:0}
.alfa-publication-related-heading>span{color:#617486;font-size:.85rem}
.alfa-publication-related-track{display:grid;gap:.8rem;grid-template-columns:repeat(5,minmax(0,1fr))}
.alfa-publication-mini-card{background:#fff;border:1.5px solid #b8cad7;border-radius:9px;box-shadow:0 3px 12px rgba(0,63,103,.05);display:flex;flex-direction:column;min-height:158px;min-width:0;padding:.85rem;transition:box-shadow .18s ease,border-color .18s ease}
.alfa-publication-mini-card:hover{border-color:#8ba9bd;box-shadow:0 7px 17px rgba(0,63,103,.1)}
.alfa-publication-mini-category{align-self:flex-start;background:#eaf0fb;border:1px solid #d9dcef;border-radius:999px;color:#19296E;font-size:.65rem;font-weight:800;letter-spacing:.06em;line-height:1.3;padding:.28rem .5rem;text-transform:uppercase}
.alfa-publication-mini-card h3{font-size:.94rem;line-height:1.35;margin:.45rem 0 .8rem;overflow-wrap:anywhere}
.alfa-publication-mini-card h3 a{color:#00568f;text-decoration:none}
.alfa-publication-mini-card h3 a:hover{text-decoration:underline}
.alfa-publication-mini-actions{display:flex;gap:.4rem;margin-top:auto}
.alfa-publication-mini-actions a{align-items:center;border:1px solid #0171b9;border-radius:6px;color:#00568f;display:inline-flex;font-size:.72rem;font-weight:750;justify-content:center;line-height:1.2;min-height:32px;padding:.35rem .5rem;text-align:center;text-decoration:none}
.alfa-publication-mini-actions a:first-child{background:#19296E;border-color:#19296E;color:#fff;flex:0 0 auto;min-width:54px}
.alfa-publication-mini-actions a:hover{background:#eaf5fb;color:#00568f}
.alfa-publication-mini-actions a:first-child:hover{background:#19296E;border-color:#19296E;color:#fff}
@media(max-width:700px){.alfa-publication-controls{align-items:stretch;flex-direction:column}.alfa-publication-controls select,.alfa-publication-controls input{max-width:none;width:100%}.alfa-publication-controls button{min-height:46px}.alfa-publication-row{align-items:start;grid-template-columns:76px minmax(0,1fr);padding:.85rem}.alfa-publication-row-cover{grid-row:1/3;width:76px}.alfa-publication-row-actions{flex-direction:row;flex-wrap:wrap;grid-column:2;min-width:0}.alfa-publication-row-actions>*{flex:1}.alfa-publication-row-meta>*+*{border-left:0;padding-left:0}.alfa-publication-document iframe{height:70vh;min-height:420px}.alfa-publication-document-heading{align-items:flex-start;flex-direction:column}.alfa-publication-document-heading span+span{text-align:left}}
@media(max-width:900px){.alfa-publication-related-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.alfa-publication-related-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.alfa-publication-related-track{display:flex;gap:.75rem;margin:0 -.25rem;overflow-x:auto;overscroll-behavior-x:contain;padding:.2rem .25rem .75rem;scroll-snap-type:x mandatory;scrollbar-color:#8ba9bd #e6eef3;scrollbar-width:thin}.alfa-publication-mini-card{flex:0 0 min(78vw,245px);min-height:160px;scroll-snap-align:start}}



/* Alfasan homepage contact collage. */ .alfa-connect{ box-sizing: border-box; overflow: hidden; background: #f5f5f3; padding: clamp(2rem, 5vw, 4rem) 0 4rem; }
.alfa-connect__stage{ --alfa-connect-panel-half: clamp(170px, 12.5vw, 210px); display: grid; place-items: center; position: relative; width: min(100%, 1600px); height: clamp(540px, 48vw, 760px); margin: 0 auto; background: transparent; }
.alfa-connect__panel{ position: relative; z-index: auto; grid-area: 1 / 1; display: flex; width: clamp(340px, 25vw, 460px); height: clamp(340px, 25vw, 420px); flex-direction: column; align-items: center; justify-content: center; gap: clamp(1.25rem, 2vw, 2.2rem); padding: clamp(1.5rem, 2vw, 2.2rem); background: linear-gradient(180deg, #0171b9 0%, #0166a8 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); color: #fff; text-align: center; }
.alfa-connect__panel h2{ position: relative; z-index: 7; display: flex; flex-direction: column; gap: .2rem; margin: 0; color: #fff; font-family: var(--font); font-size: clamp(2.9rem, 4vw, 5.2rem); font-weight: 800; line-height: .9; letter-spacing: -.06em; text-transform: none; }
.alfa-connect__socials{ position: relative; z-index: 7; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.alfa-connect__socials a{ display: inline-flex; width: clamp(52px, 3.8vw, 74px); height: clamp(52px, 3.8vw, 74px); align-items: center; justify-content: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); color: #0171b9; font-size: clamp(1.4rem, 2vw, 2.35rem); font-weight: 700; line-height: 1; text-decoration: none; box-shadow: 0 8px 18px rgba(0, 0, 0, .12); transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.alfa-connect__socials a:hover,.alfa-connect__socials a:focus-visible,.alfa-connect__play:hover,.alfa-connect__play:focus-visible{ transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0, 0, 0, .18); }
.alfa-connect__play{ position: relative; z-index: 7; display: inline-flex; width: clamp(68px, 5vw, 96px); height: clamp(68px, 5vw, 96px); align-items: center; justify-content: center; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); color: #0171b9; font-size: clamp(2rem, 2vw, 2.7rem); text-decoration: none; box-shadow: 0 10px 22px rgba(0, 0, 0, .12); transition: transform .2s ease, box-shadow .2s ease; }
.alfa-connect__play span{ margin-left: .35rem; line-height: 1; }
.alfa-connect__image{ position: absolute; z-index: 6; display: block; overflow: hidden; border: 4px solid rgba(255, 255, 255, .9); border-radius: 10px; box-shadow: 0 10px 18px rgba(42, 62, 93, .12); object-fit: cover; }
.alfa-connect__image--cattle{ top: 50%; left: 50%; width: clamp(100px, 7vw, 120px); height: clamp(100px, 7vw, 120px); border-radius: 14px; transform: translate( calc(-1 * var(--alfa-connect-panel-half) + 18px - 100%), calc(-1 * var(--alfa-connect-panel-half) + 18px - 100%) ); }
.alfa-connect__image--injectable{ top: 50%; left: 50%; width: clamp(140px, 11vw, 175px); height: clamp(100px, 8vw, 125px); border-radius: 14px; transform: translate( calc(var(--alfa-connect-panel-half) - 18px), calc(-1 * var(--alfa-connect-panel-half) + 18px - 100%) ); }
.alfa-connect__image--ointment{ top: 50%; left: 50%; width: clamp(110px, 8vw, 135px); height: clamp(130px, 10vw, 165px); border-radius: 14px; transform: translate( calc(var(--alfa-connect-panel-half) - 16px), -50% ); }
.alfa-connect__image--tablets{ top: 50%; left: 50%; width: clamp(145px, 11vw, 175px); height: clamp(110px, 8vw, 130px); border-radius: 14px; transform: translate( calc(-1 * var(--alfa-connect-panel-half) + 18px - 100%), calc(var(--alfa-connect-panel-half) - 18px) ); }
.alfa-connect__image--udder{ top: 50%; left: 50%; width: clamp(115px, 8.5vw, 140px); height: clamp(125px, 9.5vw, 155px); border-radius: 14px; transform: translate( calc(-1 * var(--alfa-connect-panel-half) + 16px - 100%), -50% ); }
.alfa-connect__image--parasite{ top: 50%; left: 50%; width: clamp(100px, 7vw, 120px); height: clamp(100px, 7vw, 120px); border-radius: 14px; transform: translate( calc(var(--alfa-connect-panel-half) - 18px), calc(var(--alfa-connect-panel-half) - 18px) ); }
.alfa-connect__image--cows{ top: 50%; left: 50%; width: clamp(110px, 8vw, 135px); height: clamp(82px, 6vw, 100px); border-radius: 14px; transform: translate( -50%, calc(-1 * var(--alfa-connect-panel-half) + 10px - 100%) ); }
.alfa-connect__image--tick{ top: 50%; left: 50%; width: clamp(95px, 7vw, 115px); height: clamp(95px, 7vw, 115px); border-radius: 14px; transform: translate( -50%, calc(var(--alfa-connect-panel-half) - 10px) ); }
@media (max-width: 1000px) {.alfa-connect__stage{ height: 610px; } }
@media (max-width: 760px) {.alfa-connect{ padding: 1rem 0 2rem; } .alfa-connect__stage{ display: grid; width: min(100% - 1.25rem, 560px); height: auto; gap: 1rem; } .alfa-connect__panel{ position: relative; top: auto; left: auto; grid-area: auto; width: min(100%, 440px); height: auto; min-height: 270px; transform: none; grid-column: 1 / -1; order: -1; } .alfa-connect__stage{ grid-template-columns: minmax(0, 1fr); } .alfa-connect__image{ display: none; } }
@media (prefers-reduced-motion: reduce) {.alfa-connect__socials a,.alfa-connect__play{ transition: none; } }
/* Alfasan inner-page hero, mobile first: full-bleed image above a pale footer band. */ .alfa-inner-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:18rem;overflow:hidden;background:#eff4fa;}
/* The image stage stops above the pale band, matching the reference composition. */ .alfa-inner-hero__media{position:absolute;z-index:0;inset:0 0 3.75rem;overflow:hidden;}
.alfa-inner-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
/* If two menu images are assigned, crossfade them in the same full-bleed frame. */ .alfa-inner-hero__image--alternate{opacity:0;animation:alfa-inner-hero-crossfade 12s ease-in-out infinite;}
@keyframes alfa-inner-hero-crossfade{0%,42%{opacity:0;} 50%,92%{opacity:1;} 100%{opacity:0;} }
/* With three images, give each selected menu image its own place in the rotation. */ .alfa-inner-hero--three-images .alfa-inner-hero__image{opacity:0;animation-duration:15s;animation-iteration-count:infinite;animation-timing-function:linear;}
.alfa-inner-hero--three-images .alfa-inner-hero__image--1{animation-name:alfa-inner-hero-image-one;}
.alfa-inner-hero--three-images .alfa-inner-hero__image--2{animation-name:alfa-inner-hero-image-two;}
.alfa-inner-hero--three-images .alfa-inner-hero__image--3{animation-name:alfa-inner-hero-image-three;}
@keyframes alfa-inner-hero-image-one{0%,30%{opacity:1;} 34%,96%{opacity:0;} 100%{opacity:1;} }
@keyframes alfa-inner-hero-image-two{0%,30%{opacity:0;} 34%,63%{opacity:1;} 67%,100%{opacity:0;} }
@keyframes alfa-inner-hero-image-three{0%,63%{opacity:0;} 67%,96%{opacity:1;} 100%{opacity:0;} }
/* Shared Alfasan inner-page hero card and red titles. */ .alfa-inner-hero__card{position:relative;z-index:3;align-self:flex-end;width:calc(100% - 1rem);min-height:6.75rem;margin:0;padding:1.1rem 1rem;border-radius:0 .75rem 0 0;border-bottom:4px solid #0171b9;background:#fff;color:#123b58;box-shadow:0 8px 24px rgba(18,59,88,.14);}
.alfa-inner-hero__title{margin:0;color:#19296E;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,5vw,1.7rem);line-height:1.12;}
.alfa-inner-hero__description{max-width:65ch;margin:.35rem 0 0;color:#36566d;font-size:.95rem;line-height:1.45;}
/* The narrow blue and red rule finishes every inner-page hero. */ .alfa-inner-hero::after{position:absolute;z-index:2;right:0;bottom:0;left:0;height:4px;background:linear-gradient(to right,#3375b8 0 78%,#19296E 78% 100%);content:"";}
@media(min-width:48rem){.alfa-inner-hero{min-height:clamp(22rem,30vw,30rem);} .alfa-inner-hero__media{bottom:4.25rem;} .alfa-inner-hero__card{width:56.25%;min-height:8rem;padding:1.4rem 1.5rem;} .alfa-inner-hero__title{font-size:clamp(1.55rem,1.7vw,1.8rem);} .alfa-inner-hero__description{font-size:1rem;} }
@media(prefers-reduced-motion:reduce){.alfa-inner-hero__image--alternate{animation:none;opacity:0;} .alfa-inner-hero--three-images .alfa-inner-hero__image--1{animation:none;opacity:1;} }



/* Alfasan recruitment pages: centered editorial details, clear application steps, and distinct role cards. */
.alfa-opportunity-page{--career-blue:#0171b9;--career-navy:#123b58;--career-red:#19296E;--career-ink:#26384a;--career-soft:#eaf5fb;color:var(--career-ink);}
.alfa-opportunity-site-page .alfa-inner-hero:not(.alfa-inner-hero--with-images){background:radial-gradient(ellipse at 78% 28%,rgba(116,207,239,.52),transparent 34%),linear-gradient(125deg,#dff3fb 0%,#f0f8fc 48%,#c9eaf7 100%);}
.alfa-opportunity-site-page .alfa-inner-hero:not(.alfa-inner-hero--with-images)::before{color:rgba(1,113,185,.13);content:"ALFASAN";font-size:clamp(3.5rem,13vw,10rem);font-weight:900;letter-spacing:.1em;line-height:1;position:absolute;right:3vw;top:16%;}
.alfa-opportunity-inner{max-width:1180px;padding:clamp(3rem,6vw,5.5rem) 1.25rem 5rem;}
.alfa-opportunity-heading{align-items:center;justify-content:center;margin:0 auto 2rem;max-width:800px;text-align:center;}
.alfa-opportunity-heading h2{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.12;margin:.55rem 0 .8rem;}
.alfa-opportunity-heading p{color:#536b7d;margin:.5rem auto 0;max-width:68ch;}
.alfa-opportunity-eyebrow{color:var(--career-red);font-size:.82rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;}
.alfa-opportunity-current,.alfa-opportunity-card__category{background:#e5f4fb;border:1px solid #c7e5f4;border-radius:999px;color:#005d98;font-size:.9rem;font-weight:800;padding:.55rem .9rem;}
.alfa-opportunity-filters{margin-bottom:2.5rem;}
.alfa-opportunity-filter{border-color:#c9dce8;color:var(--career-navy);font-size:1rem;padding:.7rem 1.1rem;}
.alfa-opportunity-filter.is-active,.alfa-opportunity-filter:hover{background:var(--career-blue);border-color:var(--career-blue);color:#fff;}
.alfa-opportunity-grid{gap:1.4rem;}
.alfa-opportunity-card{display:flex;flex-direction:column;border:1px solid #dbe7ee;border-radius:20px;box-shadow:0 12px 34px rgba(18,59,88,.09);}
.alfa-opportunity-card:hover{border-color:#9ecde4;box-shadow:0 22px 48px rgba(18,59,88,.15);}
.alfa-opportunity-card__topline{align-items:center;display:flex;justify-content:space-between;padding:1rem 1.2rem .7rem;}
.alfa-opportunity-card__index{align-items:center;background:#f0f2fa;border-radius:50%;color:var(--career-red);display:flex;font-size:.85rem;font-weight:850;height:2.4rem;justify-content:center;width:2.4rem;}
.alfa-opportunity-card__visual{align-items:center;background:linear-gradient(125deg,#e4f5fc 0%,#f5fbfe 58%,#d8edf7 100%);color:var(--career-navy);display:flex;height:158px;justify-content:center;overflow:hidden;position:relative;text-decoration:none;}
.alfa-opportunity-card__visual::after{background:var(--career-red);bottom:0;content:"";height:5px;left:0;position:absolute;width:24%;}
.alfa-opportunity-card__visual img{height:100%;object-fit:cover;width:100%;}
.alfa-opportunity-card__visual--empty{align-items:flex-start;flex-direction:column;padding:1.4rem 1.7rem;}
.alfa-opportunity-card__visual--empty span{color:var(--career-blue);font-size:.73rem;font-weight:900;letter-spacing:.2em;}
.alfa-opportunity-card__visual--empty strong{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:1.75rem;line-height:1.05;margin-top:.55rem;}
.alfa-opportunity-card__body{display:flex;flex:1;flex-direction:column;padding:1.25rem 1.35rem 1.4rem;}
.alfa-opportunity-card__meta{color:#617587;font-size:.95rem;gap:.55rem 1rem;margin-bottom:.8rem;}
.alfa-opportunity-card h3{font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.28;margin:0 0 .55rem;}
.alfa-opportunity-card h3 a{color:var(--career-navy);}
.alfa-opportunity-card__body>p{color:#52697a;margin:.2rem 0 1rem;}
.alfa-opportunity-card__link{align-items:center;border-top:1px solid #e1eaf0;color:var(--career-blue);display:flex;font-size:1rem;justify-content:space-between;margin-top:auto;padding-top:1rem;text-decoration:none;}
.alfa-opportunity-card__link span{align-items:center;background:var(--career-blue);border-radius:50%;color:#fff;display:flex;height:2rem;justify-content:center;width:2rem;}

.alfa-opportunity-detail{max-width:1100px;padding:clamp(2.5rem,5vw,4.25rem) 1.25rem 5rem;}
.alfa-opportunity-detail__heading{margin:0 auto 2.4rem;max-width:850px;text-align:center;}
.alfa-opportunity-detail__heading h2{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:clamp(2.1rem,4.5vw,3.6rem);line-height:1.1;margin:.5rem 0 .75rem;}
.alfa-opportunity-detail__heading>p{color:#536b7d;margin:.5rem auto 1.25rem;max-width:68ch;}
.alfa-opportunity-detail__meta{justify-content:center;}
.alfa-opportunity-detail__meta span{background:#e7f4fa;border-radius:999px;color:#075f93;font-size:.95rem;font-weight:750;padding:.55rem .85rem;}
.alfa-opportunity-detail__layout{align-items:start;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);margin:0 auto;max-width:1000px;}
.alfa-opportunity-detail__main{background:#fff;border:1px solid #dce8ef;border-radius:20px;box-shadow:0 14px 38px rgba(18,59,88,.08);min-width:0;overflow:hidden;}
.alfa-opportunity-detail__image img{display:block;height:auto;max-height:380px;object-fit:cover;width:100%;}
.alfa-opportunity-detail__section{padding:clamp(1.35rem,3vw,2.2rem);}
.alfa-opportunity-detail__section h3{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:clamp(1.45rem,2.3vw,1.9rem);margin:0 0 1rem;}
.alfa-opportunity-detail__copy,.alfa-opportunity-requirements{color:#40586a;line-height:1.8;}
.alfa-opportunity-requirements{border-top:1px solid #e0eaf0;margin:0;padding-top:1.5rem;}
.alfa-opportunity-requirements ul{padding-left:1.35rem;}
.alfa-opportunity-requirements li{margin:.45rem 0;}
.alfa-opportunity-detail__aside{background:linear-gradient(160deg,#f0f9fd,#fff 70%);border:1px solid #cfe5f0;border-radius:20px;box-shadow:0 14px 38px rgba(18,59,88,.07);padding:1.6rem;position:sticky;top:7rem;}
.alfa-opportunity-detail__aside-mark{align-items:center;background:var(--career-blue);border-radius:14px;color:#fff;display:flex;font-family:var(--heading-font,Georgia,serif);font-size:1.7rem;font-weight:800;height:3.2rem;justify-content:center;margin-bottom:1.1rem;width:3.2rem;}
.alfa-opportunity-detail__aside h3{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:1.7rem;line-height:1.15;margin:.55rem 0;}
.alfa-opportunity-detail__aside>p{color:#52697a;}
.alfa-opportunity-apply-button{align-items:center;background:var(--career-blue);border-radius:8px;display:flex;justify-content:space-between;margin-top:1rem;padding:1rem 1.1rem;}
.alfa-opportunity-apply-button:hover{background:#005d98;color:#fff;}
.alfa-opportunity-back-link{color:var(--career-blue);display:inline-block;font-size:1rem;font-weight:750;margin-top:1rem;text-decoration:none;}

.alfa-application-layout{--career-blue:#0171b9;--career-navy:#123b58;--career-red:#19296E;--career-ink:#26384a;--career-soft:#eaf5fb;display:flex;flex-direction:column;gap:1.4rem;margin:0 auto;max-width:1000px;padding:3rem 1.25rem 5rem;}
.alfa-application-intro{background:linear-gradient(135deg,#e9f7fc,#f8fcfe);border:1px solid #cfe5f0;border-radius:20px;box-shadow:0 12px 34px rgba(18,59,88,.06);margin:0 auto;max-width:850px;padding:clamp(1.5rem,4vw,2.6rem);text-align:center;width:100%;}
.alfa-application-intro h2{color:var(--career-navy);font-family:var(--heading-font,Georgia,serif);font-size:clamp(1.9rem,3.5vw,2.7rem);line-height:1.15;margin:.55rem 0 .7rem;}
.alfa-application-intro p{color:#52697a;margin:0 auto;max-width:70ch;}
.alfa-application-form-card{margin:0 auto;max-width:850px;padding:clamp(1.25rem,4vw,2.5rem);width:100%;}
.alfa-application-form-card fieldset{background:#f8fbfd;border:1px solid #d8e5ed;border-radius:12px;margin:1.5rem 0;padding:1.1rem 1.25rem;}
.alfa-application-form-card legend{color:var(--career-navy);font-size:1.2rem;font-weight:800;padding:0 .4rem;}
.alfa-application-form-card label{font-size:1.05rem;}
.alfa-application-form-card input:not([type=checkbox]),.alfa-application-form-card textarea,.alfa-application-form-card select{color:#26384a;font:inherit;font-size:1rem;line-height:1.5;min-height:3rem;padding:.75rem .85rem;width:100%;}
.alfa-application-form-card textarea{min-height:8rem;}
.alfa-application-form-card input[type=file]{background:#fff;border:1px dashed #8bbbd2;border-radius:8px;color:#364f60;cursor:pointer;font-size:1rem;padding:.85rem;width:100%;}
.alfa-application-form-card .description{color:#5a7080;font-size:.98rem;line-height:1.55;margin-top:.4rem;}
.alfa-application-form-card .form-item{margin:0 0 1.15rem;}
.alfa-application-form-card .form-submit{background:var(--career-blue);border-radius:8px;font-size:1.05rem;min-height:3.2rem;padding:.9rem 1.4rem;}
.alfa-application-form-card .form-submit:hover{background:#005d98;}
.alfa-application-privacy{color:#5a7080;font-size:.98rem;}
.alfa-application-form-card .form-item-consent,.alfa-application-form-card .form-type-checkbox,.alfa-application-form-card .form-type--checkbox{align-items:start;display:grid!important;gap:.7rem;grid-template-columns:1.2rem minmax(0,1fr);margin:1.25rem 0!important;min-width:0;width:100%;}
.alfa-application-form-card .form-item-consent input[type=checkbox],.alfa-application-form-card .form-type-checkbox input[type=checkbox],.alfa-application-form-card .form-type--checkbox input[type=checkbox]{accent-color:#0171b9;appearance:auto;background:transparent;border:0;height:1.1rem;margin:.2rem 0 0;padding:0;width:1.1rem;}
.alfa-application-form-card .form-item-consent label,.alfa-application-form-card .form-type-checkbox label,.alfa-application-form-card .form-type--checkbox label{display:block;font-size:1rem;font-weight:550;line-height:1.5;margin:0!important;min-width:0;width:auto;}
@media(max-width:720px){.alfa-opportunity-detail__layout{grid-template-columns:1fr}.alfa-opportunity-detail__aside{position:static}.alfa-opportunity-card__visual{height:145px}.alfa-opportunity-detail__meta span{font-size:.88rem}.alfa-application-layout{padding-left:1rem;padding-right:1rem}.alfa-application-form-card fieldset{padding:.9rem}}

/* Keep public form notices light, readable, and consistent with Alfasan blue. */
[data-drupal-messages] [role="contentinfo"].messages,
[data-drupal-messages] [role="contentinfo"].messages--status,
[data-drupal-messages] [role="contentinfo"].messages--error,
[data-drupal-messages] [role="contentinfo"].messages--warning {
  border: 1px solid #cfe5f0 !important;
  border-left: 5px solid #0171b9 !important;
  border-radius: 12px !important;
  background: #eff8fc !important;
  box-shadow: 0 10px 28px rgba(18, 59, 88, .12) !important;
  color: #123b58 !important;
  margin: 1.25rem auto !important;
  max-width: 850px;
  padding: 1rem 1.25rem !important;
}
[data-drupal-messages] [role="contentinfo"].messages--error {
  background: #fff5f4 !important;
  border-color: #f0ceca !important;
  border-left-color: #c84d46 !important;
  color: #6f2925 !important;
}
[data-drupal-messages] [role="contentinfo"].messages--warning {
  background: #fff9e9 !important;
  border-color: #f0dfb4 !important;
  border-left-color: #d39a24 !important;
  color: #604b1f !important;
}
[data-drupal-messages] [role="contentinfo"].messages p:last-child,
[data-drupal-messages] [role="contentinfo"].messages--status p:last-child,
[data-drupal-messages] [role="contentinfo"].messages--error p:last-child,
[data-drupal-messages] [role="contentinfo"].messages--warning p:last-child {
  margin-bottom: 0;
}




/* Alfasan Photo Gallery: distinctive editorial introduction, filters and collection cards. */
.alfa-media-gallery-page--photo{--gallery-blue:#0171b9;--gallery-navy:#123b58;--gallery-red:#19296E;--gallery-ink:#304a5b;--gallery-pale:#eaf5fb;background:#f3f8fb;color:var(--gallery-ink);font-family:var(--font,'Cabin',Arial,sans-serif);}
.alfa-media-gallery-page--photo .alfa-main-content{background:linear-gradient(180deg,#eaf5fb 0,#f7fafc 22rem,#f7fafc 100%);}
.alfa-media-gallery-page--photo .alfa-media-library{padding-top:clamp(1rem,3vw,2rem);}
.alfa-media-photo-intro{background:linear-gradient(115deg,#fff 0%,#f4fbfe 72%,#e7f4fa 100%);border:1px solid #cfe5f0;border-left:6px solid var(--gallery-red);box-shadow:0 18px 44px rgba(18,59,88,.09);margin:0 auto clamp(2.25rem,5vw,3.75rem);max-width:1080px;overflow:hidden;padding:clamp(1.5rem,5vw,3.5rem);position:relative;}
.alfa-media-photo-intro::after{background:linear-gradient(135deg,transparent 49.5%,rgba(1,113,185,.1) 50%);content:"";inset:0 0 0 auto;pointer-events:none;position:absolute;width:30%;}
.alfa-media-photo-intro__eyebrow{color:var(--gallery-red);font-size:.82rem;font-weight:800;letter-spacing:.14em;margin:0 0 .7rem;text-transform:uppercase;}
.alfa-media-photo-intro h2{color:var(--gallery-navy);font-family:var(--heading-font,'Antic Slab',Georgia,serif);font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.08;margin:0 0 .85rem;max-width:18ch;position:relative;z-index:1;}
.alfa-media-photo-intro>p:not(.alfa-media-photo-intro__eyebrow){color:#486478;font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.7;margin:0;max-width:62ch;position:relative;z-index:1;}
.alfa-media-photo-intro>a{align-items:center;background:var(--gallery-blue);border-radius:4px;color:#fff;display:inline-flex;font-size:1rem;font-weight:750;gap:.75rem;margin-top:1.4rem;padding:.8rem 1.05rem;position:relative;text-decoration:none;z-index:1;}
.alfa-media-photo-intro>a:hover,.alfa-media-photo-intro>a:focus-visible{background:#00568f;outline:3px solid rgba(1,113,185,.2);outline-offset:2px;}
.alfa-media-gallery-page--photo .alfa-media-library-heading h2{color:var(--gallery-navy);font-family:var(--heading-font,'Antic Slab',Georgia,serif);}
.alfa-media-gallery-page--photo .alfa-media-library-heading>div>p:last-child{color:#536d7e;font-family:var(--font,'Cabin',Arial,sans-serif);font-size:1.05rem;}
.alfa-media-gallery-page--photo .alfa-media-library-count{background:#fff;border:1px solid #cfe5f0;color:var(--gallery-navy);}
.alfa-media-gallery-page--photo .alfa-media-filters{background:linear-gradient(115deg,#fff,#f2f9fc);border:1px solid #cfe5f0;border-radius:8px;border-top:3px solid var(--gallery-blue);box-shadow:0 12px 28px rgba(18,59,88,.07);padding:1.1rem 1.25rem 1.2rem;}
.alfa-media-gallery-page--photo .alfa-media-filter-label{color:var(--gallery-navy);font-family:var(--font,'Cabin',Arial,sans-serif);letter-spacing:.12em;}
.alfa-media-gallery-page--photo .alfa-media-filter-list{counter-reset:gallery-filter;gap:.55rem;}


.alfa-media-gallery-page--photo .alfa-media-filter{background:#fff;border:1px solid #d2e2eb;border-radius:5px;color:#38566b;font-family:var(--font,'Cabin',Arial,sans-serif);font-size:.92rem;gap:.55rem;justify-content:flex-start;min-height:44px;padding:.58rem .85rem;position:relative;}
.alfa-media-gallery-page--photo .alfa-media-filter::before{color:var(--gallery-red);content:counter(gallery-filter,decimal-leading-zero);counter-increment:gallery-filter;font-size:.72rem;font-weight:850;letter-spacing:.04em;}
.alfa-media-gallery-page--photo .alfa-media-filter:hover,.alfa-media-gallery-page--photo .alfa-media-filter:focus-visible{background:#eaf5fb;border-color:var(--gallery-blue);color:#00568f;outline:2px solid rgba(1,113,185,.15);outline-offset:1px;}
.alfa-media-gallery-page--photo .alfa-media-filter.is-active{background:var(--gallery-blue);border-color:var(--gallery-blue);box-shadow:inset 0 -3px 0 var(--gallery-red);color:#fff;}
.alfa-media-gallery-page--photo .alfa-media-filter.is-active::before{color:#fff;}
.alfa-media-gallery-page--photo .alfa-media-card{border:1px solid #d7e6ee;border-radius:8px;box-shadow:0 9px 24px rgba(18,59,88,.07);}
.alfa-media-gallery-page--photo .alfa-media-card:hover{border-color:#9ac9df;box-shadow:0 18px 36px rgba(18,59,88,.14);}
.alfa-media-gallery-page--photo .alfa-media-card-visual{background:#dceef6;}
.alfa-media-gallery-page--photo .alfa-media-card-body h3 a{color:var(--gallery-navy);font-family:var(--heading-font,'Antic Slab',Georgia,serif);}
.alfa-media-gallery-page--photo .alfa-media-card-meta>span{background:#eaf5fb;color:#005f94;}
.alfa-media-gallery-page--photo .alfa-media-card-link{color:var(--gallery-blue);}
.alfa-media-gallery-page--photo .alfa-media-card-empty-cover{background:linear-gradient(135deg,#0171b9,#123b58);}
.alfa-media-gallery-page--photo .pager__item a,.alfa-media-gallery-page--photo .pager__item.is-active a{border-color:#cfe1eb;color:#00568f;}
.alfa-media-gallery-page--photo .pager__item.is-active a,.alfa-media-gallery-page--photo .pager__item a:hover{background:var(--gallery-blue);border-color:var(--gallery-blue);color:#fff;}
.alfa-photo-gallery-detail{background:#f3f8fb;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__description{border-color:#cfe5f0;color:#405a6d;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__featured{border-color:#d4e5ee;box-shadow:0 14px 36px rgba(18,59,88,.1);}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__featured>a{background:#123b58;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__view{background:rgba(1,86,143,.9);}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__more{color:#123b58;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__section-heading>span{color:#19296E;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__section-heading h2{color:#123b58;font-family:var(--heading-font,'Antic Slab',Georgia,serif);}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__grid>a{background:#dceef6;}
.alfa-photo-gallery-detail .alfa-photo-gallery-detail__grid>a>span{background:rgba(18,59,88,.88);}
.alfa-media-gallery-page--photo .alfa-media-gallery-grid{align-items:start;gap:clamp(1rem,2vw,1.5rem);}
.alfa-media-gallery-page--photo .alfa-media-card{align-self:start;border-radius:8px;}
.alfa-media-gallery-page--photo .alfa-media-card-visual{aspect-ratio:1.9/1;flex:0 0 auto;}
.alfa-media-gallery-page--photo .alfa-media-card-body{flex:0 0 auto;gap:0;min-height:0;padding:.8rem 1rem .85rem;}
.alfa-media-gallery-page--photo .alfa-media-card-meta{font-size:.76rem;margin-bottom:.35rem;}
.alfa-media-gallery-page--photo .alfa-media-card-body h3{font-size:1.12rem;line-height:1.25;margin:0;}
.alfa-media-gallery-page--photo .alfa-media-card-body h3 a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.alfa-media-gallery-page--photo .alfa-media-card-link{border-top:1px solid #e3edf2;font-size:.88rem;margin-top:.55rem;padding-top:.5rem;}
.alfa-media-gallery-page--photo .alfa-media-count-badge{background:#123b58;border:1px solid rgba(255,255,255,.8);bottom:.65rem;box-shadow:0 5px 15px rgba(7,39,58,.2);left:.65rem;}
@media(max-width:600px){.alfa-media-gallery-page--photo .alfa-media-card-visual{aspect-ratio:1.65/1}.alfa-media-gallery-page--photo .alfa-media-card-body{padding:.75rem .85rem}.alfa-media-gallery-page--photo .alfa-media-card-link{margin-top:.4rem}}
@media(max-width:600px){.alfa-media-photo-intro{margin-bottom:2rem;padding:1.4rem 1.2rem}.alfa-media-photo-intro::after{width:18%;opacity:.5}.alfa-media-gallery-page--photo .alfa-media-filter-list{flex-wrap:nowrap;}.alfa-media-gallery-page--photo .alfa-media-filters{padding:.9rem;}}

/* Alfasan careers empty state: keep the no openings message on brand. */
.alfa-opportunity-empty{align-items:center;background:linear-gradient(120deg,#f3fafe,#fff 72%);border:1px solid #cfe5f0;border-radius:18px;box-shadow:0 14px 34px rgba(18,59,88,.07);color:#40586a;display:flex;gap:1.15rem;margin:1rem auto;padding:clamp(1.25rem,4vw,2.25rem);}
.alfa-opportunity-empty>span{align-items:center;background:linear-gradient(135deg,#0171b9,#00568f);border-radius:14px;color:#fff;display:flex;flex:0 0 76px;font-size:.66rem;font-weight:900;height:64px;justify-content:center;letter-spacing:.08em;padding:.4rem;text-align:center;}
.alfa-opportunity-empty h3{color:#123b58;font-family:var(--heading-font,Georgia,serif);font-size:clamp(1.3rem,2.3vw,1.7rem);margin:0 0 .4rem;}
.alfa-opportunity-empty p{color:#52697a;line-height:1.65;margin:0;}
@media(max-width:520px){.alfa-opportunity-empty{align-items:flex-start;flex-direction:column}.alfa-opportunity-empty>span{flex-basis:auto;width:76px}}


/* Final Who We Are image-card alignment and brand-color refinements. */
.alfa-homepage .alfa-about__text,
.alfa-homepage .alfa-about__text h2,
.alfa-homepage .alfa-about__text p{ text-align:left; }
.alfa-homepage .alfa-about__media{ overflow:visible; padding:0 0 3.75rem; }
.alfa-homepage .alfa-about__frame{ inset:14% 0 0 14%; clip-path:polygon(16% 0,86% 0,100% 0,100% 48%,87% 63%,87% 82%,68% 100%,0 100%,0 18%); background:linear-gradient(145deg,#078bc9 0%,#0171b9 52%,#00568f 100%); box-shadow:0 24px 48px rgba(0,86,143,.3); }
.alfa-homepage .alfa-about__media>img{ width:86%; max-width:560px; height:auto; aspect-ratio:1/1; object-fit:cover; object-position:center 45%; clip-path:polygon(19% 0,94% 0,100% 6%,100% 94%,94% 100%,0 100%,0 19%); border-radius:0; box-shadow:0 24px 58px rgba(7,45,71,.2); }
@media(min-width:900px){.alfa-homepage .alfa-about__media{min-height:clamp(440px,43vw,590px);padding:0 0 4rem;}.alfa-homepage .alfa-about__frame{inset:14% 0 0 14%;}.alfa-homepage .alfa-about__media>img{height:auto;}}
@media(max-width:899px){.alfa-homepage .alfa-about__media{width:min(100%,600px);padding:0 0 3rem;}.alfa-homepage .alfa-about__frame{inset:13% 0 0 13%;}}

/* Who We Are page: editorial split with the same shaped photo treatment as the
   front page, using Alfasan blues for the offset backing. */
.alfa-about-page .alfa-main>.alfa-about{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);width:min(100% - 2rem,1320px);margin:0 auto;padding:clamp(3rem,7vw,5.5rem) 0;background:#fff;}
.alfa-about-page .alfa-about__media{position:relative;isolation:isolate;grid-column:1;grid-row:1;width:100%;min-width:0;min-height:0;margin:0;padding:0 1.1rem 1.1rem .25rem;overflow:visible;}
.alfa-about-page .alfa-about__frame{position:absolute;z-index:-1;inset:1.4rem 0 0 1.35rem;clip-path:polygon(18% 0,88% 0,100% 0,100% 48%,86% 64%,86% 82%,66% 100%,0 100%,0 22%);background:linear-gradient(140deg,#48a9dd 0%,#0171b9 52%,#00568f 100%);box-shadow:0 22px 48px rgba(0,86,143,.25);}
.alfa-about-page .alfa-about__media>img{position:relative;z-index:1;display:block;width:100%;height:clamp(280px,72vw,520px);aspect-ratio:1.05;object-fit:cover;object-position:center 45%;clip-path:polygon(18% 0,88% 0,96% 2%,100% 8%,100% 82%,96% 91%,88% 100%,0 100%,0 22%);border:0;border-radius:0;box-shadow:0 22px 54px rgba(13,58,75,.2);transition:filter .35s ease,transform .45s cubic-bezier(.22,1,.36,1);}
.alfa-about-page .alfa-about__media:hover>img{filter:saturate(1.04);transform:translateY(-3px);}
.alfa-about-page .alfa-about__media>p:not(:has(img)){position:absolute;z-index:2;left:.6rem;bottom:.2rem;display:flex;flex-direction:column;margin:0;padding:.65rem .95rem;border:1px solid rgba(1,113,185,.12);border-radius:.65rem;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(10,55,82,.16);color:#526b7d;font-size:.82rem;line-height:1.4;}
.alfa-about-page .alfa-about__media>p:not(:has(img))::before{display:none;}
.alfa-about-page .alfa-about__media>p:not(:has(img)) strong{color:#00568f;}
.alfa-about-page .alfa-about__text{grid-column:1;grid-row:2;min-width:0;text-align:left;}
.alfa-about-page .alfa-about__eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1rem;padding:.48rem .9rem .48rem .62rem;border:1px solid rgba(1,113,185,.22);border-radius:999px;background:#f1f8fc;color:#00568f;font-size:.72rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;}
.alfa-about-page .alfa-about__eyebrow::before{width:.55rem;height:.55rem;flex:0 0 .55rem;border:2px solid #fff;border-radius:50%;background:#0171b9;box-shadow:0 0 0 3px rgba(1,113,185,.16);content:"";}
.alfa-about-page .alfa-about__text h1,.alfa-about-page .alfa-about__text h2{margin:0 0 1rem;padding-left:1rem;border-left:4px solid #0171b9;color:#123b58;font-size:clamp(1.9rem,4vw,3rem);line-height:1.15;text-align:left;}
.alfa-about-page .alfa-about__text p{color:#40596c;font-size:1rem;line-height:1.8;text-align:left;}
.alfa-about-page .alfa-about__text p:last-child a{display:inline-flex;align-items:center;gap:.65rem;min-height:48px;margin-top:.3rem;padding:.7rem 1.4rem;border-radius:999px;background:#0171b9;color:#fff;font-weight:750;text-decoration:none;transition:background .2s ease,transform .2s ease;}
.alfa-about-page .alfa-about__text p:last-child a:hover,.alfa-about-page .alfa-about__text p:last-child a:focus-visible{transform:translateY(-2px);background:#00568f;}
.alfa-about-page .alfa-about__tags{grid-column:1;grid-row:3;}
@media(min-width:900px){.alfa-about-page .alfa-main>.alfa-about{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}.alfa-about-page .alfa-about__media{grid-column:1;grid-row:1;min-height:clamp(390px,39vw,540px);padding:0 1.5rem 1.5rem 0;}.alfa-about-page .alfa-about__frame{inset:clamp(2.2rem,5vw,4rem) 0 0 16%;}.alfa-about-page .alfa-about__media>img{height:clamp(390px,39vw,540px);}.alfa-about-page .alfa-about__text{grid-column:2;grid-row:1;}.alfa-about-page .alfa-about__tags{grid-column:1/-1;grid-row:2;}}
@media(max-width:899px){.alfa-about-page .alfa-about__media{width:min(100%,600px);margin-inline:auto;}.alfa-about-page .alfa-about__frame{inset:1.2rem 0 0 13%;}.alfa-about-page .alfa-about__media>img{height:auto;aspect-ratio:1/1;}}

/* Statistics: clear the red trailing wedges and give each card a visible blue edge. */
.alfa-main .alfa-stats__grid>li::before{border:2px solid #0171b9;filter:drop-shadow(0 0 2px rgba(1,113,185,.3)) drop-shadow(0 12px 14px rgba(0,67,112,.18)) drop-shadow(0 22px 24px rgba(0,67,112,.1));}
.alfa-main .alfa-stats__edge{display:none!important;}
.alfa-main .alfa-stats__icon{filter:drop-shadow(0 8px 10px rgba(0,82,143,.2));}
.alfa-main .alfa-stats__grid>li:nth-child(even) .alfa-stats__icon{background:linear-gradient(145deg,#078bc9 0%,#0171b9 58%,#00568f 100%);}
@media(hover:hover) and (pointer:fine){.alfa-main .alfa-stats__grid>li:hover .alfa-stats__icon{background:linear-gradient(145deg,#0171b9,#00568f);}}

/* The live Who We Are body uses the editable intro component (not the home
   page's alfa-about markup). Give its photo a deliberate Alfasan-blue frame. */
.alfa-about-page .alfa-intro__layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);}
.alfa-about-page .alfa-intro__media{position:relative;isolation:isolate;width:100%;max-width:620px;margin:0 auto;padding:1.2rem 1.2rem 1.4rem .3rem;}
.alfa-about-page .alfa-intro__media::before{position:absolute;z-index:-1;top:9%;right:0;bottom:0;left:11%;width:auto;height:auto;border-radius:2.2rem 6rem 2.2rem 2.2rem;background:linear-gradient(145deg,#31a9dd 0%,#0171b9 55%,#00568f 100%);box-shadow:0 26px 58px rgba(0,86,143,.28);content:"";}
.alfa-about-page .alfa-intro__media::after{position:absolute;z-index:2;top:.4rem;left:.3rem;width:4.4rem;height:1.15rem;border-radius:0 0 1.2rem 0;background:#0171b9;content:"";}
.alfa-about-page .alfa-intro__media img{position:relative;z-index:1;display:block;width:100%;height:clamp(300px,72vw,540px);aspect-ratio:1.06;object-fit:cover;object-position:center 45%;border:5px solid #fff;border-radius:2.3rem 6.2rem 2.3rem 2.3rem;box-shadow:0 24px 58px rgba(13,58,75,.2);transition:transform .4s ease,box-shadow .4s ease;}
.alfa-about-page .alfa-intro__media:hover img{transform:translateY(-4px);box-shadow:0 30px 65px rgba(0,86,143,.25);}
.alfa-about-page .alfa-intro__media .alfa-badge{right:-.15rem;bottom:1.8rem;border:5px solid #fff;background:#00568f;box-shadow:0 10px 28px rgba(0,61,102,.25);}
.alfa-about-page .alfa-intro__copy{min-width:0;text-align:left;}
.alfa-about-page .alfa-intro__copy>.alfa-h2{max-width:18ch;color:#00568f;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.08;text-align:left;}
.alfa-about-page .alfa-intro__copy>p:not(.alfa-eyebrow){max-width:70ch;color:#40596c;font-size:1rem;line-height:1.8;text-align:left;}
.alfa-about-page .alfa-intro__copy>.alfa-eyebrow{color:#0171b9;}
.alfa-about-page .alfa-ticks li::before{background:rgba(1,113,185,.12);color:#0171b9;}
@media(min-width:900px){.alfa-about-page .alfa-intro__layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(3rem,6vw,6rem);}.alfa-about-page .alfa-intro__media{min-height:clamp(430px,40vw,590px);padding:0 1.25rem 1.25rem 0;}.alfa-about-page .alfa-intro__media::before{top:9%;right:0;bottom:0;left:12%;}.alfa-about-page .alfa-intro__media::after{top:.3rem;left:0;}.alfa-about-page .alfa-intro__media img{height:clamp(420px,39vw,560px);}.alfa-about-page .alfa-intro__copy{padding-block:1rem;}}
@media(max-width:899px){.alfa-about-page .alfa-intro__media{width:min(100%,560px);}.alfa-about-page .alfa-intro__media img{height:auto;aspect-ratio:1/1;}}

/* Full blue boundary around every Who We Are statistic card. */
.alfa-main .alfa-stats__grid>li{min-height:142px;padding:1rem .8rem 1rem 7.1rem;overflow:hidden;border:2px solid #0171b9;border-radius:1.15rem;background:#fff;box-shadow:0 12px 28px rgba(0,70,115,.12);}
.alfa-main .alfa-stats__grid>li::before{content:none!important;}
.alfa-main .alfa-stats__edge{display:none!important;}
.alfa-main .alfa-stats__icon{top:0;bottom:0;left:0;width:5.55rem;clip-path:none;border-radius:.95rem 0 0 .95rem;background:linear-gradient(145deg,#078bc9,#0171b9 58%,#00568f);filter:none;}
.alfa-main .alfa-stats__grid>li:nth-child(even) .alfa-stats__icon{background:linear-gradient(145deg,#078bc9,#0171b9 58%,#00568f);}
.alfa-main .alfa-stats__label{margin-bottom:1.1rem;}
.alfa-main .alfa-stats__rule{left:7.1rem;}
@media(min-width:1000px){.alfa-main .alfa-stats__grid>li{min-height:148px;padding-left:6.8rem;}.alfa-main .alfa-stats__icon{width:5.3rem;}.alfa-main .alfa-stats__rule{left:6.8rem;}}

/* Event detail pages render the event fields and uploaded photo in a full-width hero. */
.alfa-event-detail{--event-blue:#0171b9;--event-deep:#00568f;--event-ink:#14354d;color:#344b5d;}
.alfa-event-detail__hero{position:relative;isolation:isolate;display:flex;min-height:clamp(22rem,42vw,36rem);align-items:flex-end;overflow:hidden;background:linear-gradient(135deg,#0171b9,#00568f);}
.alfa-event-detail__hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.alfa-event-detail__hero--no-image{background:radial-gradient(ellipse at 78% 18%,rgba(70,190,225,.72),transparent 38%),linear-gradient(125deg,#00568f 0%,#0171b9 58%,#063d69 100%);}
.alfa-event-detail__hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,31,50,.86) 0%,rgba(3,43,70,.55) 58%,rgba(3,43,70,.13) 100%),linear-gradient(0deg,rgba(0,32,54,.46),transparent 62%);}
.alfa-event-detail__hero-copy{width:min(100%,1320px);margin:0 auto;padding:clamp(2rem,7vw,5.5rem) clamp(1.25rem,5vw,4rem);color:#fff;}
.alfa-event-detail__category{display:inline-flex;margin:0 0 1rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(1,113,185,.62);color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.alfa-event-detail__hero h1{max-width:19ch;margin:0 0 1rem;color:#fff;font-family:var(--heading-font,Georgia,serif);font-size:clamp(2rem,5vw,4rem);line-height:1.08;}
.alfa-event-detail__meta{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;color:#fff;font-size:1rem;font-weight:650;}
.alfa-event-detail__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;width:min(100% - 2rem,1160px);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) 0;}
.alfa-event-detail__body{min-width:0;color:#40596c;font-size:1.05rem;line-height:1.8;}
.alfa-event-detail__body p{margin:0 0 1.1rem;}
.alfa-event-detail__facts{margin:0 0 2rem;padding:1.35rem 1.5rem;border:1px solid #dce4e9;border-radius:1rem;background:#f8fafb;}
.alfa-event-detail__facts h2,.alfa-event-detail__description h2{margin:0 0 1rem;color:#123b58;font-family:var(--heading-font,Georgia,serif);font-size:1.45rem;line-height:1.25;}
.alfa-event-detail__facts dl{display:grid;grid-template-columns:1fr;gap:.9rem;margin:0;}
.alfa-event-detail__facts dl>div{min-width:0;}
.alfa-event-detail__facts dt{color:#35556d;font-size:.8rem;font-weight:800;}
.alfa-event-detail__facts dd{margin:.15rem 0 0;color:#596f80;line-height:1.5;}
.alfa-event-detail__description{margin:0 0 1.25rem;}
.alfa-event-detail__related{align-self:start;padding:1.25rem;border:1px solid #dce4e9;border-radius:1rem;background:#fff;box-shadow:0 10px 28px rgba(16,43,61,.07);}
.alfa-event-detail__related-heading{margin:0 0 1rem;}
.alfa-event-detail__related-heading p{margin:0 0 .2rem;color:#667b8b;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.alfa-event-detail__related-heading h2{margin:0;color:#123b58;font-size:1.25rem;line-height:1.25;}
.alfa-event-detail__related-list{display:grid;gap:.7rem;}
.alfa-event-detail__related-card{display:grid;grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.5rem;padding:.55rem;border:1px solid #e0e7eb;border-radius:.75rem;background:#fff;color:inherit;text-decoration:none;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
.alfa-event-detail__related-card:hover,.alfa-event-detail__related-card:focus-visible{transform:translateY(-2px);border-color:#c8d5dd;box-shadow:0 8px 20px rgba(16,43,61,.1);}
.alfa-event-detail__related-card img,.alfa-event-detail__related-date{display:grid;width:4rem;height:3.4rem;place-items:center;border-radius:.5rem;background:#eef5f8;color:#286181;font-size:.75rem;font-weight:800;object-fit:cover;}
.alfa-event-detail__related-copy{display:grid;min-width:0;gap:.25rem;}
.alfa-event-detail__related-copy strong{display:-webkit-box;overflow:hidden;color:#183b55;font-size:.86rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.alfa-event-detail__related-copy small{color:#718392;font-size:.72rem;line-height:1.25;}
.alfa-event-detail__related-arrow{padding:0 .2rem;color:#567488;font-size:1rem;}
.alfa-event-detail__related-empty{margin:0;color:#657989;font-size:.9rem;line-height:1.6;}
.alfa-event-detail__register{display:inline-flex;gap:.6rem;margin-top:1.25rem;padding:.75rem 1rem;border-radius:999px;background:var(--event-blue);color:#fff;font-weight:750;text-decoration:none;}
.alfa-event-detail__register:hover,.alfa-event-detail__register:focus-visible{background:var(--event-deep);color:#fff;}


.alfa-event-detail__edit{margin-top:2rem;}
@media(min-width:700px){.alfa-event-detail__facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;}}
@media(min-width:900px){.alfa-event-detail__layout{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);gap:clamp(2rem,5vw,4rem);}.alfa-event-detail__related{position:sticky;top:6rem;}}
@media(prefers-reduced-motion:reduce){.alfa-event-detail *{scroll-behavior:auto;}}

.alfa-video-detail__heading{width:min(100% - 2rem,1040px);margin:0 auto;padding:clamp(2rem,5vw,4rem) 0 1.5rem;text-align:left;}
.alfa-video-detail__category{margin:0 0 .55rem;color:#0171b9;font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;}
.alfa-video-detail__heading h1{margin:0 0 .7rem;color:#123b58;font-family:var(--heading-font,Georgia,serif);font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;}
.alfa-video-detail__heading>p:not(.alfa-video-detail__category){max-width:68ch;margin:0;color:#536d80;line-height:1.7;}
.alfa-video-detail__heading time{display:block;margin-top:.8rem;color:#718697;font-size:.9rem;}
.alfa-video-detail .alfa-gallery-video-player{width:min(100% - 2rem,1040px);margin:0 auto clamp(2rem,5vw,4rem);overflow:hidden;border:1px solid rgba(1,113,185,.18);border-radius:1rem;background:#071b29;box-shadow:0 20px 54px rgba(12,47,69,.16);}




/* 1. Centre the page wrappers (they had max-width but no auto margins) */
.alfa-publications-inner,.alfa-media-gallery-inner,
.alfa-publications-page .alfa-main-inner,.alfa-media-gallery-page .alfa-main-inner,
.alfa-videos-page .alfa-main-inner,.alfa-photo-gallery-page .alfa-main-inner{width:100%;max-width:1240px;margin-inline:auto;}

/* 2. Centre card grids when there are fewer cards than columns */
.alfa-media-gallery-grid,.alfa-videos-grid,.alfa-galleries-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),380px));justify-content:center;}

/* 3. Publications: let the search row use its intended width and stay centred */
.alfa-publications-page .alfa-publication-controls{max-width:920px;margin:0 auto 1.5rem;}


/* ============================================================================ HIDE COMPONENTS ON WHO WE ARE PAGE ========================================================================== */
/* Hide the red circular badge component */
.alfa-badge {
  display: none !important;
}

/* =========================================================================
   ALFASAN UGANDA â€” SUSTAINABILITY & CSR PAGE        assets/css/alfa-csr.css
   ========================================================================= */

/* 0. TOKENS & BASE ------------------------------------------------------- */
.csr{
  --c-blue:var(--primary,#0171B9); --c-deep:var(--primary-dark,#00568F);
  --c-ink:#123B58; --c-red:var(--accent,#19296E); --c-red-d:var(--accent-dark,#19296E);
  --c-sky:#EAF5FB; --c-mist:#F3F8FB; --c-text:#40596C; --c-line:#D7E6EE;
  --cut:0 28px 0 28px;                       /* signature notched corners  */
  --ease:cubic-bezier(.22,1,.36,1);
  --f-head:var(--heading-font,'Antic Slab',Georgia,serif);
  display:block;overflow-x:clip;background:var(--c-mist);color:var(--c-text);
  font:400 1.0625rem/1.7 var(--font,'Cabin',Arial,sans-serif);
}
.csr *,.csr *::before,.csr *::after{box-sizing:border-box}
.csr h2,.csr h3,.csr p,.csr ul,.csr ol,.csr figure,.csr details{margin:0;padding:0}
.csr ul,.csr ol{list-style:none}
.csr p{color:inherit}
.csr a{text-decoration:none}.csr a:hover{text-decoration:none}
.csr img{display:block;max-width:100%;height:auto}
.csr [id]{scroll-margin-top:7rem}                       /* clears sticky header */
.csr a:focus-visible,.csr summary:focus-visible{outline:3px solid var(--c-red);outline-offset:3px}

/* 1. LAYOUT & TYPE ------------------------------------------------------- */
.csr-wrap{width:min(100% - 2rem,1240px);margin-inline:auto}
.csr-sec{padding-block:clamp(3rem,8vw,6rem)}
.csr-eyebrow{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem;color:var(--c-red);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.csr-eyebrow::before{content:"";width:2rem;height:3px;border-radius:2px;background:currentColor}
.csr-eyebrow--light{color:#19296E}
.csr-display{font:400 clamp(2.2rem,8.2vw,4.5rem)/1.05 var(--f-head);color:var(--c-ink);letter-spacing:-.01em}
.csr-display em{font-style:normal;color:var(--c-red);background:linear-gradient(transparent 66%,rgba(25,40,109,.14) 66%)}
.csr-title{font:400 clamp(1.9rem,6vw,3.2rem)/1.12 var(--f-head);color:var(--c-ink)}
.csr-title--light{color:#fff}
.csr-lead{max-width:62ch;margin-top:1rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.75}
.csr-lead--light{color:#dcebf5}
.csr-head{max-width:50rem;margin-bottom:clamp(1.75rem,4vw,3rem)}
.csr-head--light .csr-title{color:#fff}.csr-head--light .csr-lead{color:#cfe3f0}

/* 2. BUTTONS ------------------------------------------------------------- */
.csr-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.csr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.7rem 1.4rem;border:2px solid transparent;border-radius:6px 0 6px 6px;font-weight:700;line-height:1.2;transition:background-color .25s,color .25s,border-color .25s,transform .3s var(--ease),box-shadow .3s}
.csr-btn i{transition:transform .3s var(--ease)}
.csr-btn:hover{transform:translateY(-3px)}.csr-btn:hover i{transform:translateX(4px)}
.csr-btn--red{background:var(--c-red);color:#fff}.csr-btn--red:hover{background:var(--c-red-d);color:#fff;box-shadow:0 12px 26px rgba(25,40,109,.3)}
.csr-btn--line{border-color:var(--c-blue);color:var(--c-blue);background:#fff}.csr-btn--line:hover{background:var(--c-blue);color:#fff}
.csr-btn--light{background:#fff;color:var(--c-deep)}.csr-btn--light:hover{background:var(--c-red);color:#fff}
.csr-btn--ghost{border-color:rgba(255,255,255,.75);color:#fff}.csr-btn--ghost:hover{background:#fff;color:var(--c-deep)}

/* 3. PHOTO FRAMES -------------------------------------------------------- */
/* Each photo is a CSS background so a missing file falls back to the branded
   gradient. Drop files in assets/images/csr/ using the names below. */
.csr-photo{position:relative;isolation:isolate;overflow:hidden;min-height:11rem;background:var(--c-deep)}
.csr-photo::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--csr-img,none),repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 14px,transparent 14px 28px),linear-gradient(145deg,#0171B9,#00568F);background-size:cover;background-position:center;transition:transform 1s var(--ease)}
.csr-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}   /* optional <img> inside */
.csr-photo:hover::before{transform:scale(1.06)}
.csr-photo figcaption{position:absolute;inset:auto 0 0;padding:2.4rem 1rem .85rem;background:linear-gradient(0deg,rgba(7,36,56,.85),transparent);color:#fff;font-size:.9rem;font-weight:600;line-height:1.35}
.csr-photo figcaption i{margin-right:.35rem;color:#19296E}
.csr-photo--hero-a{--csr-img:url("../images/csr/csr-hero-a.jpg")}
.csr-photo--hero-b{--csr-img:url("../images/csr/csr-hero-b.jpg")}
.csr-photo--hero-c{--csr-img:url("../images/csr/csr-hero-c.jpg")}
.csr-photo--factory{--csr-img:url("../images/csr/csr-factory.jpg")}
.csr-photo--vaccine{--csr-img:url("../images/csr/csr-vaccine.jpg")}
.csr-photo--g1{--csr-img:url("../images/csr/csr-gallery-1.jpg")}
.csr-photo--g2{--csr-img:url("../images/csr/csr-gallery-2.jpg")}
.csr-photo--g3{--csr-img:url("../images/csr/csr-gallery-3.jpg")}
.csr-photo--g4{--csr-img:url("../images/csr/csr-gallery-4.jpg")}
.csr-photo--g5{--csr-img:url("../images/csr/csr-gallery-5.jpg")}
/* Offset colour block behind a photo (echoes the Who We Are page) */
.csr-frame{position:relative;isolation:isolate;padding:0 1rem 1rem 0}
.csr-frame::before{content:"";position:absolute;inset:1.2rem 0 0 1.2rem;z-index:-1;border-radius:var(--cut);background:linear-gradient(145deg,#31a9dd,#0171B9 55%,#00568F);box-shadow:0 22px 48px rgba(0,86,143,.25)}
.csr-frame .csr-photo{min-height:21rem;border:5px solid #fff;border-radius:var(--cut);box-shadow:0 22px 54px rgba(13,58,75,.2)}
.csr-frame--light::before{background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08))}
.csr-frame--light .csr-photo{border-color:rgba(255,255,255,.9)}

/* 4. OPENING / HERO ------------------------------------------------------ */
.csr-open{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,var(--c-sky))}
/* heartbeat motif: a slowly travelling pulse line */
.csr-open::before{content:"";position:absolute;inset:auto 0 2.2rem;height:40px;opacity:.4;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 40'%3E%3Cpath d='M0 20h70l8-14 10 30 10-22 6 6h136' fill='none' stroke='%230171B9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x;animation:csr-pulse 9s linear infinite}
.csr-open__grid{position:relative;display:grid;gap:2.75rem;padding-block:clamp(2.5rem,7vw,5.5rem) clamp(4rem,9vw,7rem)}
.csr-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.csr-tags li{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border:1px solid #c9dde9;border-radius:999px;background:#fff;color:var(--c-deep);font-size:.86rem;font-weight:700}
.csr-tags i{color:var(--c-red)}
.csr-collage{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:9rem 9rem;gap:.6rem}
.csr-collage .csr-photo{min-height:0}
.csr-photo--hero-a{grid-row:1/3;border-radius:0 40px 0 40px}
.csr-photo--hero-b{border-radius:28px 0 0 0}
.csr-photo--hero-c{border-radius:0 0 28px 0}
.csr-seal{position:absolute;left:-.2rem;bottom:-1.6rem;z-index:2;display:grid;place-content:center;justify-items:center;width:6.4rem;height:6.4rem;border:4px solid #fff;border-radius:50%;background:var(--c-blue);color:#fff;text-align:center;font-size:.72rem;line-height:1.15;box-shadow:0 14px 30px rgba(0,86,143,.35)}
.csr-seal i{font-size:1.5rem;color:#19296E}.csr-seal b{display:block;font-size:.9rem}
.csr-seal::after{content:"";position:absolute;inset:-.55rem;border:2px dashed rgba(1,113,185,.55);border-radius:50%;animation:csr-spin 24s linear infinite}

/* 5. WHY IT MATTERS ------------------------------------------------------ */
.csr-need{background:var(--c-ink);color:#cfe3f0}
.csr-stats{display:grid;gap:1rem}
.csr-stat{position:relative;padding:1.4rem 1.3rem 1.4rem 4.9rem;border:1px solid rgba(255,255,255,.16);border-radius:0 24px 0 24px;background:rgba(255,255,255,.06);transition:background-color .3s,transform .4s var(--ease)}
.csr-stat>i{position:absolute;left:1.1rem;top:1.35rem;display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:12px 2px 12px 2px;background:var(--c-red);color:#fff;font-size:1.35rem}
.csr-stat__pre{display:block;color:#19296E;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.csr-stat b{display:block;margin:.1rem 0 .35rem;color:#fff;font:400 clamp(2.4rem,9vw,3.5rem)/1 var(--f-head);font-variant-numeric:tabular-nums}
.csr-stat p{font-size:.97rem;line-height:1.6}
.csr-source{margin-top:1.4rem;color:#8fb2c9;font-size:.82rem}

/* 6. FIVE COMMITMENTS ---------------------------------------------------- */
/* phones: swipeable row Â· desktop: 3 + 2 grid */
.csr-pillars{display:flex;gap:1rem;margin-inline:-1rem;padding:.5rem 1rem 1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--c-blue) var(--c-line)}
.csr-pillar{position:relative;display:flex;flex:0 0 min(84%,22rem);flex-direction:column;gap:.8rem;padding:1.7rem 1.4rem 1.4rem;overflow:hidden;border:1px solid var(--c-line);border-radius:var(--cut);background:#fff;scroll-snap-align:center;transition:transform .45s var(--ease),box-shadow .45s,border-color .3s}
.csr-pillar::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--c-red);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.csr-pillar__no{position:absolute;top:.8rem;right:1.2rem;color:transparent;font:400 3.4rem/1 var(--f-head);-webkit-text-stroke:1.5px rgba(1,113,185,.28)}
.csr-ic{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:16px 4px 16px 4px;background:var(--c-blue);color:#fff;font-size:1.65rem;transition:background-color .3s,transform .4s var(--ease)}
.csr-pillar h3{margin-top:.4rem;color:var(--c-ink);font:400 1.4rem/1.2 var(--f-head)}
.csr-pillar p{font-size:.98rem}
.csr-tag-row{display:flex;gap:.4rem;margin-top:auto;padding-top:.6rem}
.csr-tag-row b{padding:.25rem .6rem;border-radius:999px;background:var(--c-sky);color:var(--c-deep);font-size:.72rem;font-weight:800;letter-spacing:.06em}

/* 7. JOURNEY + TIMELINE -------------------------------------------------- */
.csr-story{background:#fff}
.csr-story__grid{display:grid;gap:2.5rem}
.csr-tl{position:relative;display:grid;gap:1rem;padding-left:1.9rem}
.csr-tl::before{content:"";position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:3px;border-radius:3px;background:linear-gradient(var(--c-blue),var(--c-red))}
.csr-tl li{position:relative;padding:1rem 1.1rem;border:1px solid var(--c-line);border-radius:0 18px 0 18px;background:var(--c-mist);transition:transform .4s var(--ease),background-color .3s,box-shadow .3s}
.csr-tl li::before{content:"";position:absolute;left:-1.78rem;top:1.25rem;width:.95rem;height:.95rem;border:3px solid #fff;border-radius:50%;background:var(--c-red);box-shadow:0 0 0 2px var(--c-red)}
.csr-tl b{display:block;margin-bottom:.3rem;color:var(--c-red);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.csr-tl span{font-size:.97rem}

/* 8. FLAGSHIP VACCINE ---------------------------------------------------- */
.csr-vax{background:linear-gradient(135deg,#0171B9,#00568F);color:#fff}
.csr-vax__grid{display:grid;gap:2.5rem}
.csr-callout{display:grid;gap:.25rem;margin-top:1.4rem;padding:1.1rem 1.25rem;border-left:4px solid var(--c-red);border-radius:0 14px 14px 0;background:rgba(255,255,255,.12)}
.csr-callout strong{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#19296E}
.csr-callout span{font-size:.98rem;color:#eaf5fb}
.csr-steps{display:grid;gap:1rem;margin-top:clamp(2rem,5vw,3.5rem);counter-reset:csr-step}
.csr-steps li{position:relative;counter-increment:csr-step;padding:1.4rem 1.3rem 1.4rem 4.6rem;border:1px solid rgba(255,255,255,.22);border-radius:0 22px 0 22px;background:rgba(255,255,255,.08);transition:transform .4s var(--ease),background-color .3s}
.csr-steps li::before{content:counter(csr-step,decimal-leading-zero);position:absolute;left:1.1rem;top:1.15rem;color:transparent;font:400 2.2rem/1 var(--f-head);-webkit-text-stroke:1.4px rgba(255,255,255,.65)}
.csr-steps i{display:inline-block;margin-bottom:.35rem;color:#19296E;font-size:1.4rem}
.csr-steps h3{font:400 1.3rem/1.2 var(--f-head);color:#fff}
.csr-steps p{margin-top:.35rem;font-size:.96rem;color:#dcebf5}

/* 9. AT-A-GLANCE NUMBERS ------------------------------------------------- */
.csr-numbers{background:#fff;border-block:4px solid var(--c-red)}
.csr-numbers__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem;padding-block:2.25rem}
.csr-numbers b{display:block;color:var(--c-deep);font:400 clamp(2.1rem,8vw,3.4rem)/1 var(--f-head);font-variant-numeric:tabular-nums}
.csr-numbers span{display:block;margin-top:.4rem;font-size:.9rem;line-height:1.45}

/* 10. GALLERY MOSAIC ----------------------------------------------------- */
.csr-mosaic{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:9.5rem;gap:.6rem}
.csr-mosaic .csr-photo{min-height:0;border-radius:0 22px 0 22px}
.csr-mosaic .csr-photo--g1{grid-column:1/-1;grid-row:span 2}

/* 11. SDG TILES ---------------------------------------------------------- */
.csr-sdg{background:var(--c-sky)}
.csr-sdg__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.csr-sdg__grid li{display:flex;flex-direction:column;gap:.5rem;min-height:9rem;padding:1.1rem 1rem;border:1px solid var(--c-line);border-radius:0 20px 0 20px;background:#fff;transition:background-color .3s,color .3s,transform .4s var(--ease)}
.csr-sdg__grid b{color:var(--c-red);font:400 2.6rem/1 var(--f-head);transition:color .3s}
.csr-sdg__grid span{color:var(--c-ink);font-size:.92rem;font-weight:700;line-height:1.35;transition:color .3s}

/* 12. ACCOUNTABILITY & PARTNERS ----------------------------------------- */
.csr-trust{display:grid;gap:3rem}
.csr-trust .csr-title{margin-bottom:1.4rem}
.csr-acc{display:grid;gap:.7rem}
.csr-acc details{border:1px solid var(--c-line);border-radius:0 16px 0 16px;background:#fff;transition:border-color .3s,box-shadow .3s}
.csr-acc details[open]{border-color:#9ecde4;box-shadow:0 10px 26px rgba(18,59,88,.08)}
.csr-acc summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;color:var(--c-ink);font-weight:800;cursor:pointer;list-style:none}
.csr-acc summary::-webkit-details-marker{display:none}
.csr-acc summary i{display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--c-sky);color:var(--c-red);transition:transform .35s var(--ease),background-color .3s}
.csr-acc details[open] summary i{transform:rotate(45deg);background:var(--c-red);color:#fff}
.csr-acc p{padding:0 1.2rem 1.1rem;font-size:.97rem}
.csr-partners{display:grid;gap:.6rem}
.csr-partners li{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border:1px solid var(--c-line);border-radius:10px;background:#fff;color:var(--c-ink);font-weight:700;transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.csr-partners i{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border-radius:8px;background:var(--c-sky);color:var(--c-blue);font-size:1.15rem}
.csr-partners small{display:block;margin-left:auto;color:#6d8394;font-size:.78rem;font-weight:600;text-align:right}

/* 13. CALL TO ACTION ----------------------------------------------------- */
.csr-cta{padding-block:0 clamp(3rem,8vw,6rem)}
.csr-cta__box{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2rem,6vw,4.5rem) clamp(1.4rem,5vw,4rem);border-radius:0 56px 0 56px;background:linear-gradient(135deg,#123B58,#0171B9);color:#fff}
.csr-cta__box::before{content:"";position:absolute;z-index:-1;top:-7rem;right:-6rem;width:19rem;height:19rem;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 2.2rem rgba(255,255,255,.05),0 0 0 4.4rem rgba(255,255,255,.035)}
.csr-cta h2{max-width:20ch;margin-top:.2rem;color:#fff;font:400 clamp(1.9rem,6vw,3.2rem)/1.12 var(--f-head)}
.csr-cta p:not(.csr-eyebrow){max-width:56ch;margin-top:1rem;color:#dcebf5}

/* 14. MOTION & BREAKPOINTS ---------------------------------------------- */
@keyframes csr-pulse{to{background-position-x:-240px}}
@keyframes csr-spin{to{transform:rotate(360deg)}}
/* scroll reveal: only active when alfa-csr.js adds .csr-js (no-JS visitors still see everything) */
.csr-js [data-csr-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s var(--ease)}
.csr-js [data-csr-reveal].is-in{opacity:1;transform:none}
.csr-pillar:nth-child(2),.csr-stat:nth-child(2),.csr-tl li:nth-child(2){transition-delay:.08s}
.csr-pillar:nth-child(3),.csr-stat:nth-child(3),.csr-tl li:nth-child(3){transition-delay:.16s}

@media(hover:hover){            /* hover effects for mouse devices only */
  .csr-stat:hover{background:rgba(255,255,255,.12);transform:translateY(-5px)}
  .csr-pillar:hover{transform:translateY(-8px);border-color:#9ecde4;box-shadow:0 24px 48px rgba(1,113,185,.16)}
  .csr-pillar:hover::after{transform:scaleX(1)}.csr-pillar:hover .csr-ic{background:var(--c-red);transform:rotate(-6deg) scale(1.06)}
  .csr-tl li:hover{transform:translateX(6px);background:#fff;box-shadow:0 12px 28px rgba(18,59,88,.1)}
  .csr-steps li:hover{transform:translateY(-6px);background:rgba(255,255,255,.15)}
  .csr-sdg__grid li:hover{background:var(--c-blue);transform:translateY(-6px)}.csr-sdg__grid li:hover b,.csr-sdg__grid li:hover span{color:#fff}
  .csr-partners li:hover{transform:translateX(6px);border-color:#9ecde4;box-shadow:0 10px 24px rgba(18,59,88,.09)}
}

@media(min-width:40rem){          /* â‰¥640px  large phones / small tablets */
  .csr-wrap{width:min(100% - 3rem,1240px)}
  .csr-collage{grid-template-rows:11rem 11rem}
  .csr-stats{grid-template-columns:repeat(3,1fr)}
  .csr-stat{padding:5.2rem 1.3rem 1.4rem}.csr-stat>i{left:1.3rem;top:1.3rem}
  .csr-steps{grid-template-columns:repeat(3,1fr)}
  .csr-steps li{padding:4.2rem 1.3rem 1.4rem}
  .csr-numbers__grid{grid-template-columns:repeat(4,1fr);gap:1rem 2rem}
  .csr-sdg__grid{grid-template-columns:repeat(3,1fr)}
  .csr-partners{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:56rem){          /* â‰¥900px  tablets landscape / desktop */
  .csr-open__grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2.5rem,5vw,5rem)}
  .csr-collage{grid-template-rows:14rem 14rem}
  .csr-pillars{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;margin:0;padding:0;overflow:visible}
  .csr-pillar{grid-column:span 2;flex:none}.csr-pillar:nth-child(n+4){grid-column:span 3}
  .csr-story__grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2.5rem,5vw,5rem)}
  .csr-frame .csr-photo{min-height:34rem}
  .csr-vax__grid{grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,5rem)}
  .csr-mosaic{grid-template-columns:repeat(12,1fr);grid-auto-rows:11rem;gap:.8rem}
  .csr-mosaic .csr-photo--g1{grid-column:span 5;grid-row:span 2}.csr-mosaic .csr-photo--g2{grid-column:span 4}
  .csr-mosaic .csr-photo--g3{grid-column:span 3}.csr-mosaic .csr-photo--g4{grid-column:span 3}.csr-mosaic .csr-photo--g5{grid-column:span 4}
  .csr-trust{grid-template-columns:1.1fr .9fr;gap:clamp(3rem,6vw,6rem)}
  .csr-cta__box{border-radius:0 90px 0 90px}
}
@media(min-width:75rem){          /* â‰¥1200px wide desktop */
  .csr-sdg__grid{grid-template-columns:repeat(6,1fr)}
  .csr-partners{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){   /* respect reduced-motion settings */
  .csr *,.csr *::before,.csr *::after{animation:none!important;transition:none!important}
  .csr-js [data-csr-reveal]{opacity:1;transform:none}
}


/* ============================================================================ CSR PAGE FIXES - Target alfa-csr-page instead of .csr ========================================================================== */
/* Allow all .csr-* classes to work within .alfa-csr-page and its children */
.alfa-csr-page .alfa-main { --c-red: #19296E; --c-deep: #123b58; --c-sky: #eaf5fb; --c-blue: #0171b9; --c-ink: #183448; --c-line: #d4e5f1; --f-head: Georgia, serif; }
.alfa-csr-page .alfa-main > * { all: revert; }
.alfa-csr-page .csr-wrap { width: min(100% - 2rem, 1240px); margin: 0 auto; padding: 0; }
.alfa-csr-page .csr-eyebrow { margin: 0 0 0.65rem; color: #19296E; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; display: block; }
.alfa-csr-page .csr-title { margin: 0 0 1.5rem; color: #123b58; font-family: Georgia, serif; font-size: clamp(1.9rem, 6vw, 3.2rem); line-height: 1.12; font-weight: 400; }
.alfa-csr-page .csr-open { padding-block: clamp(3rem, 8vw, 6rem); }
.alfa-csr-page .csr-open__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: center; margin: 0 auto; }
.alfa-csr-page .csr-collage { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 8.5rem; gap: 0.6rem; }
.alfa-csr-page .csr-photo { width: 100%; height: 100%; object-fit: cover; border-radius: 0 16px 0 16px; }
.alfa-csr-page .csr-pillars { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.alfa-csr-page .csr-pillar { display: flex; align-items: flex-start; gap: 1rem; padding: 1.5rem; border: 1px solid #d4e5f1; border-radius: 0 20px 0 20px; background: #fff; transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.3s, box-shadow 0.3s; }
.alfa-csr-page .csr-pillar:hover { transform: translateY(-8px); border-color: #9ecde4; box-shadow: 0 24px 48px rgba(1, 113, 185, 0.16); }
.alfa-csr-page .csr-ic { display: grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: #19296E; color: #fff; font-size: 1.2rem; font-weight: 800; }
.alfa-csr-page .csr-pillar h3 { margin: 0; color: #123b58; font-size: 1.1rem; font-weight: 700; line-height: 1.35; }
.alfa-csr-page .csr-stats { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin: 2rem 0; }
.alfa-csr-page .csr-stat { padding: 2rem 1.3rem 1.4rem; background: #eaf5fb; border-radius: 0 16px 0 16px; text-align: center; transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s; }
.alfa-csr-page .csr-stat:hover { transform: translateY(-5px); background: rgba(1, 113, 185, 0.08); }
.alfa-csr-page .csr-stat i { display: block; font-size: 2.2rem; margin-bottom: 0.5rem; }
.alfa-csr-page .csr-stat b { display: block; color: #123b58; font-size: clamp(1.8rem, 5vw, 2.8rem); line-height: 1.1; font-weight: 400; margin: 0.5rem 0; }
.alfa-csr-page .csr-stat span { display: block; color: #647687; font-size: 0.9rem; line-height: 1.5; }
.alfa-csr-page .csr-steps { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: clamp(2rem, 5vw, 3.5rem); counter-reset: csr-step; list-style: none; padding: 0; }
.alfa-csr-page .csr-steps li { position: relative; counter-increment: csr-step; padding: 1.4rem 1.3rem 1.4rem 4.6rem; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 0 22px 0 22px; background: rgba(1, 113, 185, 0.08); transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s; }
.alfa-csr-page .csr-steps li:hover { transform: translateY(-6px); background: rgba(1, 113, 185, 0.12); }
.alfa-csr-page .csr-steps li::before { content: counter(csr-step, decimal-leading-zero); position: absolute; left: 1.1rem; top: 1.15rem; color: transparent; font: 400 2.2rem/1 Georgia, serif; -webkit-text-stroke: 1.4px rgba(1, 113, 185, 0.65); }
.alfa-csr-page .csr-steps i { display: inline-block; margin-bottom: 0.35rem; color: #19296E; font-size: 1.4rem; margin-right: 0.5rem; }
.alfa-csr-page .csr-steps h3 { font: 400 1.3rem/1.2 Georgia, serif; color: #123b58; margin: 0 0 0.5rem; }
.alfa-csr-page .csr-steps p { margin-top: 0.35rem; font-size: 0.96rem; color: #647687; }
.alfa-csr-page .csr-steps strong { color: #19296E; font-weight: 700; }
.alfa-csr-page .csr-story { padding-block: clamp(3rem, 8vw, 5rem); }
.alfa-csr-page .csr-story__grid { display: grid; grid-template-columns: 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.alfa-csr-page .csr-story__grid > div:last-child { order: -1; }
.alfa-csr-page .csr-frame { position: relative; min-height: 24rem; }
.alfa-csr-page .csr-frame .csr-photo { width: 100%; height: 100%; object-fit: cover; }
.alfa-csr-page .csr-tl { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 0.7rem; }
.alfa-csr-page .csr-tl li { display: flex; align-items: flex-start; gap: 1.2rem; padding: 1rem 1.2rem; border: 1px solid #d4e5f1; border-radius: 0 12px 0 12px; background: #fff; transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s; }
.alfa-csr-page .csr-tl li:hover { transform: translateX(6px); box-shadow: 0 12px 28px rgba(18, 59, 88, 0.1); }
.alfa-csr-page .csr-tl strong { color: #19296E; font-weight: 800; font-size: 0.95rem; min-width: 110px; }
.alfa-csr-page .csr-tl span { color: #647687; font-size: 0.95rem; line-height: 1.5; }
.alfa-csr-page .csr-vax { padding-block: clamp(3rem, 8vw, 5rem); }
.alfa-csr-page .csr-vax__grid { display: grid; grid-template-columns: 1fr; gap: clamp(2.5rem, 5vw, 5rem); align-items: center; }
.alfa-csr-page .csr-numbers { background: #fff; border-block: 4px solid #19296E; padding-block: 2.25rem; }
.alfa-csr-page .csr-numbers__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem 1rem; padding: 0; margin: 0; }
.alfa-csr-page .csr-numbers b { display: block; color: #123b58; font: 400 clamp(2.1rem, 8vw, 3.4rem)/1 Georgia, serif; font-variant-numeric: tabular-nums; }
.alfa-csr-page .csr-numbers span { display: block; margin-top: 0.4rem; font-size: 0.9rem; line-height: 1.45; color: #647687; }
.alfa-csr-page .csr-mosaic { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 9.5rem; gap: 0.6rem; padding-block: clamp(3rem, 8vw, 5rem); }
.alfa-csr-page .csr-mosaic .csr-photo { min-height: 0; border-radius: 0 22px 0 22px; }
.alfa-csr-page .csr-mosaic .csr-photo--g1 { grid-column: 1/-1; grid-row: span 2; }
.alfa-csr-page .csr-sdg { background: #eaf5fb; padding-block: clamp(3rem, 8vw, 5rem); }
.alfa-csr-page .csr-sdg__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.8rem; list-style: none; padding: 0; margin: 2rem 0; }
.alfa-csr-page .csr-sdg__grid li { display: flex; flex-direction: column; gap: 0.5rem; min-height: 9rem; padding: 1.1rem 1rem; border: 1px solid #d4e5f1; border-radius: 0 20px 0 20px; background: #fff; transition: background-color 0.3s, color 0.3s, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }
.alfa-csr-page .csr-sdg__grid li:hover { background: #0171b9; transform: translateY(-6px); }
.alfa-csr-page .csr-sdg__grid li:hover b, .alfa-csr-page .csr-sdg__grid li:hover span { color: #fff; }
.alfa-csr-page .csr-sdg__grid b { color: #19296E; font: 400 2.6rem/1 Georgia, serif; transition: color 0.3s; }
.alfa-csr-page .csr-sdg__grid span { color: #123b58; font-size: 0.92rem; font-weight: 700; line-height: 1.35; transition: color 0.3s; }
.alfa-csr-page .csr-trust { display: grid; gap: 3rem; padding-block: clamp(3rem, 8vw, 5rem); }
.alfa-csr-page .csr-acc { display: grid; gap: 0.7rem; }
.alfa-csr-page .csr-acc details { border: 1px solid #d4e5f1; border-radius: 0 16px 0 16px; background: #fff; transition: border-color 0.3s, box-shadow 0.3s; }
.alfa-csr-page .csr-acc details[open] { border-color: #9ecde4; box-shadow: 0 10px 26px rgba(18, 59, 88, 0.08); }
.alfa-csr-page .csr-acc summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; color: #123b58; font-weight: 800; cursor: pointer; list-style: none; }
.alfa-csr-page .csr-acc summary::-webkit-details-marker { display: none; }
.alfa-csr-page .csr-acc summary span { flex: 1; }
.alfa-csr-page .csr-acc summary i { display: grid; place-items: center; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: #eaf5fb; color: #19296E; transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.3s; }
.alfa-csr-page .csr-acc details[open] summary i { transform: rotate(45deg); background: #19296E; color: #fff; }
.alfa-csr-page .csr-acc p { padding: 0 1.2rem 1.1rem; font-size: 0.97rem; color: #647687; }
.alfa-csr-page .csr-partners { list-style: none; padding: 0; margin: 2rem 0; display: grid; gap: 0.6rem; }
.alfa-csr-page .csr-partners li { display: flex; align-items: center; gap: 0.8rem; padding: 0.8rem 1rem; border: 1px solid #d4e5f1; border-radius: 10px; background: #fff; color: #123b58; font-weight: 700; transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.3s, box-shadow 0.3s; }
.alfa-csr-page .csr-partners li:hover { transform: translateX(6px); border-color: #9ecde4; box-shadow: 0 10px 24px rgba(18, 59, 88, 0.09); }
.alfa-csr-page .csr-partners i { display: grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 8px; background: #eaf5fb; color: #0171b9; font-size: 1.15rem; }
.alfa-csr-page .csr-partners span { flex: 1; }
.alfa-csr-page .csr-partners strong { display: block; color: #123b58; }
.alfa-csr-page .csr-partners small { display: block; color: #6d8394; font-size: 0.78rem; font-weight: 600; }
.alfa-csr-page .csr-cta { padding-block: 0 clamp(3rem, 8vw, 6rem); }
.alfa-csr-page .csr-cta__box { position: relative; isolation: isolate; overflow: hidden; padding: clamp(2rem, 6vw, 4.5rem) clamp(1.4rem, 5vw, 4rem); border-radius: 0 56px 0 56px; background: linear-gradient(135deg, #123b58, #0171b9); color: #fff; }
.alfa-csr-page .csr-cta__box::before { content: ""; position: absolute; z-index: -1; top: -7rem; right: -6rem; width: 19rem; height: 19rem; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 50%; box-shadow: 0 0 0 2.2rem rgba(255, 255, 255, 0.05), 0 0 0 4.4rem rgba(255, 255, 255, 0.035); }
.alfa-csr-page .csr-cta h2 { max-width: 20ch; margin-top: 0.2rem; color: #fff; font: 400 clamp(1.9rem, 6vw, 3.2rem)/1.12 Georgia, serif; }
.alfa-csr-page .csr-cta p:not(.csr-eyebrow) { max-width: 56ch; margin-top: 1rem; color: #dcebf5; }
.alfa-csr-page .csr-cta a { color: #fff; text-decoration: underline; font-weight: 800; }
/* Responsive: Tablet & Desktop */
@media(min-width: 40rem) {
  .alfa-csr-page .csr-collage { grid-template-rows: 11rem 11rem; }
  .alfa-csr-page .csr-stats { grid-template-columns: repeat(3, 1fr); }
  .alfa-csr-page .csr-steps { grid-template-columns: repeat(3, 1fr); }
  .alfa-csr-page .csr-numbers__grid { grid-template-columns: repeat(4, 1fr); gap: 1rem 2rem; }
  .alfa-csr-page .csr-sdg__grid { grid-template-columns: repeat(3, 1fr); }
  .alfa-csr-page .csr-partners { grid-template-columns: repeat(2, 1fr); }
}
@media(min-width: 56rem) {
  .alfa-csr-page .csr-open__grid { grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: clamp(2.5rem, 5vw, 5rem); }
  .alfa-csr-page .csr-collage { grid-template-rows: 14rem 14rem; }
  .alfa-csr-page .csr-story__grid { grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 5vw, 5rem); }
  .alfa-csr-page .csr-story__grid > div:last-child { order: 0; }
  .alfa-csr-page .csr-frame .csr-photo { min-height: 34rem; }
  .alfa-csr-page .csr-vax__grid { grid-template-columns: 1.05fr 0.95fr; gap: clamp(2.5rem, 5vw, 5rem); }
  .alfa-csr-page .csr-mosaic { grid-template-columns: repeat(12, 1fr); grid-auto-rows: 11rem; gap: 0.8rem; }
  .alfa-csr-page .csr-mosaic .csr-photo--g1 { grid-column: span 5; grid-row: span 2; }
  .alfa-csr-page .csr-mosaic .csr-photo--g2 { grid-column: span 4; }
  .alfa-csr-page .csr-mosaic .csr-photo--g3 { grid-column: span 3; }
  .alfa-csr-page .csr-mosaic .csr-photo--g4 { grid-column: span 3; }
  .alfa-csr-page .csr-mosaic .csr-photo--g5 { grid-column: span 4; }
  .alfa-csr-page .csr-trust { grid-template-columns: 1.1fr 0.9fr; gap: clamp(3rem, 6vw, 6rem); }
  .alfa-csr-page .csr-cta__box { border-radius: 0 90px 0 90px; }
}
@media(min-width: 75rem) {
  .alfa-csr-page .csr-sdg__grid { grid-template-columns: repeat(6, 1fr); }
  .alfa-csr-page .csr-partners { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion: reduce) {
  .alfa-csr-page * { animation: none !important; transition: none !important; }
}

/* CSR opening copy with a dynamic image from the newest published story. */
.alfa-csr-page .csr-intro-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.alfa-csr-page .csr-intro-copy { min-width: 0; }
.alfa-csr-page .csr-intro-copy .csr-lead { max-width: 68ch; text-align: justify; text-justify: inter-word; }
.alfa-csr-page .csr-stories .csr-title { hyphens: none; word-break: normal; overflow-wrap: normal; }
.alfa-csr-page .csr-latest-image { position: relative; display: block; min-width: 0; overflow: hidden; aspect-ratio: 4 / 3; border-radius: .85rem; background: #e5eef3; box-shadow: 0 18px 42px rgba(18, 59, 88, .16); }
.alfa-csr-page .csr-latest-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.alfa-csr-page .csr-latest-image:hover img, .alfa-csr-page .csr-latest-image:focus-visible img { transform: scale(1.035); }
.alfa-csr-page .csr-latest-image__caption { position: absolute; inset: auto 0 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; background: linear-gradient(transparent, rgba(10, 30, 55, .82)); color: #fff; font-weight: 750; }
@media(max-width: 55.99rem) {
  .alfa-csr-page .csr-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .alfa-csr-page .csr-latest-image { width: min(100%, 38rem); }
}
@media(prefers-reduced-motion: reduce) {
  .alfa-csr-page .csr-latest-image img { transition: none; }
}

/* Center and evenly space the final CSR sections; keep stories visible without scroll reveal delay. */
.alfa-csr-page .csr-commitments,
.alfa-csr-page .csr-stories { padding-block: clamp(2rem, 4vw, 3rem); }
.alfa-csr-page .csr-commitments .csr-head,
.alfa-csr-page .csr-stories .csr-head { width: min(100%, 56rem); margin: 0 auto clamp(1.5rem, 3vw, 2rem); text-align: center; }
.alfa-csr-page .csr-commitments .csr-head .csr-eyebrow,
.alfa-csr-page .csr-stories .csr-head .csr-eyebrow { display: flex; justify-content: center; }
.alfa-csr-page .csr-commitments .csr-head .csr-title,
.alfa-csr-page .csr-stories .csr-head .csr-title { max-width: none; text-align: center; }
.alfa-csr-page .csr-commitments .csr-head .csr-lead,
.alfa-csr-page .csr-stories .csr-head .csr-lead { max-width: 62ch; margin: .75rem auto 0; text-align: center; }
