/* Bootstrap v5.3.3 (MIT), trimmed to the classes this site uses by tools/purge-bootstrap.mjs. Do not edit by hand. */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-danger-rgb:220,53,69;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-bg:#e9ecef;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-bg:#f8f9fa;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-lg:0.5rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-bg:#343a40;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-bg:#2b3035;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15)}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,pre{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.figure{display:inline-block}.container{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{max-width:1320px}}:root{}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.col-6{flex:0 0 auto;width:50%}.col-12{flex:0 0 auto;width:100%}.g-0{--bs-gutter-x:0}.g-0{--bs-gutter-y:0}.g-3{--bs-gutter-x:1rem}.g-3{--bs-gutter-y:1rem}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}.g-5{--bs-gutter-x:3rem}.g-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}}@media (min-width:768px){.row-cols-md-2>*{flex:0 0 auto;width:50%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}}@media (min-width:992px){.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.g-lg-4{--bs-gutter-x:1.5rem}.g-lg-4{--bs-gutter-y:1.5rem}.g-lg-5{--bs-gutter-x:3rem}.g-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-9{flex:0 0 auto;width:75%}.g-xl-5{--bs-gutter-x:3rem}.g-xl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}[data-bs-theme=dark] .form-select{}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-height: ;--bs-card-bg:var(--bs-body-bg);position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}[data-bs-theme=dark] .accordion-button::after{}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-item-next,.carousel-item-prev{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas{--bs-offcanvas-zindex:1045;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-transition:transform 0.3s ease-in-out}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.border-0{border:0!important}.w-100{width:100%!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}.align-items-stretch{align-items:stretch!important}.align-self-start{align-self:flex-start!important}.m-0{margin:0!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.mt-0{margin-top:0!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-1{margin-right:.25rem!important}.me-3{margin-right:1rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.ms-3{margin-left:1rem!important}.ms-auto{margin-left:auto!important}.pt-4{padding-top:1.5rem!important}.pb-0{padding-bottom:0!important}.gap-2{gap:.5rem!important}.fs-5{font-size:1.25rem!important}.fw-bold{font-weight:700!important}.text-center{text-align:center!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.visible{visibility:visible!important}@media (min-width:768px){.pe-md-3{padding-right:1rem!important}}@media (min-width:992px){.d-lg-block{display:block!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.pt-lg-5{padding-top:3rem!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.align-items-xl-center{align-items:center!important}.ms-xl-3{margin-left:1rem!important}}
/* icons.css: GENERATED by tools/build-icons.py. Bootstrap Icons (MIT) subset: only the 62 icons this site uses. Do not edit by hand. */
@font-face { font-display: block; font-family: 'bootstrap-icons'; src: url('../vendor/bootstrap-icons/bootstrap-icons.subset.woff2') format('woff2'); }
.bi::before, [class^='bi-']::before, [class*=' bi-']::before { display: inline-block; font-family: 'bootstrap-icons' !important; font-style: normal; font-weight: normal !important; font-variant: normal; text-transform: none; line-height: 1; vertical-align: -.125em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.bi-activity::before { content: "\f66b"; }
.bi-arrow-left::before { content: "\f12f"; }
.bi-arrow-repeat::before { content: "\f130"; }
.bi-arrow-right::before { content: "\f138"; }
.bi-arrow-up::before { content: "\f148"; }
.bi-award::before { content: "\f154"; }
.bi-balloon-heart::before { content: "\f708"; }
.bi-bandaid::before { content: "\f681"; }
.bi-box-seam::before { content: "\f1c7"; }
.bi-briefcase::before { content: "\f1cc"; }
.bi-building::before { content: "\f1dd"; }
.bi-calendar-event::before { content: "\f1e8"; }
.bi-calendar3::before { content: "\f214"; }
.bi-capsule::before { content: "\f7df"; }
.bi-chat-dots::before { content: "\f24a"; }
.bi-check-circle-fill::before { content: "\f26a"; }
.bi-chevron-down::before { content: "\f282"; }
.bi-chevron-left::before { content: "\f284"; }
.bi-chevron-right::before { content: "\f285"; }
.bi-clipboard2-pulse::before { content: "\f730"; }
.bi-clock::before { content: "\f293"; }
.bi-collection-play::before { content: "\f2cb"; }
.bi-diagram-3::before { content: "\f2ee"; }
.bi-droplet-half::before { content: "\f30c"; }
.bi-egg-fried::before { content: "\f312"; }
.bi-envelope::before { content: "\f32f"; }
.bi-envelope-fill::before { content: "\f32c"; }
.bi-exclamation-circle-fill::before { content: "\f332"; }
.bi-facebook::before { content: "\f344"; }
.bi-file-earmark-text::before { content: "\f38b"; }
.bi-flag::before { content: "\f3cc"; }
.bi-geo-alt::before { content: "\f3e8"; }
.bi-geo-alt-fill::before { content: "\f3e7"; }
.bi-graph-up-arrow::before { content: "\f673"; }
.bi-hand-thumbs-up::before { content: "\f407"; }
.bi-heart::before { content: "\f417"; }
.bi-heart-pulse::before { content: "\f76f"; }
.bi-hourglass-split::before { content: "\f41f"; }
.bi-images::before { content: "\f42b"; }
.bi-info-circle-fill::before { content: "\f430"; }
.bi-instagram::before { content: "\f437"; }
.bi-journal-check::before { content: "\f43e"; }
.bi-lightbulb::before { content: "\f46b"; }
.bi-lightning-charge::before { content: "\f46d"; }
.bi-link-45deg::before { content: "\f470"; }
.bi-linkedin::before { content: "\f472"; }
.bi-list::before { content: "\f479"; }
.bi-megaphone::before { content: "\f484"; }
.bi-patch-check::before { content: "\f4b6"; }
.bi-people::before { content: "\f4d0"; }
.bi-person::before { content: "\f4e1"; }
.bi-person-check::before { content: "\f4d6"; }
.bi-person-walking::before { content: "\f8fa"; }
.bi-play-circle::before { content: "\f4f3"; }
.bi-rocket-takeoff::before { content: "\f845"; }
.bi-shield-check::before { content: "\f52f"; }
.bi-telephone::before { content: "\f5c1"; }
.bi-telephone-fill::before { content: "\f5b4"; }
.bi-twitter-x::before { content: "\f8db"; }
.bi-whatsapp::before { content: "\f618"; }
.bi-x-lg::before { content: "\f659"; }
.bi-zoom-in::before { content: "\f62c"; }

/* style.css: Alfa Biomed design system, written from scratch on top of Bootstrap 5. Every class is prefixed .alfa-. */

/* ==========================================================================
   1. Fonts (self-hosted, SIL Open Font License): Montserrat for headings, Mulish for text
   ========================================================================== */
@font-face {
   font-family: 'Montserrat';
   font-weight: 600;
   font-display: swap;
   src: url('../fonts/montserrat-600.woff2') format('woff2');
}

@font-face {
   font-family: 'Montserrat';
   font-weight: 700;
   font-display: swap;
   src: url('../fonts/montserrat-700.woff2') format('woff2');
}

@font-face {
   font-family: 'Montserrat';
   font-weight: 800;
   font-display: swap;
   src: url('../fonts/montserrat-800.woff2') format('woff2');
}

@font-face {
   font-family: 'Mulish';
   font-weight: 400;
   font-display: swap;
   src: url('../fonts/mulish-400.woff2') format('woff2');
}

@font-face {
   font-family: 'Mulish';
   font-weight: 600;
   font-display: swap;
   src: url('../fonts/mulish-600.woff2') format('woff2');
}

@font-face {
   font-family: 'Mulish';
   font-weight: 700;
   font-display: swap;
   src: url('../fonts/mulish-700.woff2') format('woff2');
}

/* Bricolage Grotesque ExtraBold (SIL Open Font License), used only for the Home tagline band */
@font-face {
   font-family: 'Bricolage Grotesque';
   font-weight: 800;
   font-display: swap;
   src: url('../fonts/bricolage-800.woff2') format('woff2');
}

/* ==========================================================================
   2. Tokens
   ========================================================================== */
:root {
   --alfa-blue: #1B4E9A;
   /* logo blue */
   --alfa-blue-600: #2A62B8;
   --alfa-blue-700: #153F7E;
   --alfa-navy: #0C2A57;
   --alfa-orange: #EF7E1A;
   /* logo orange */
   --alfa-orange-700: #A94F04;
   /* orange for small text on white (AA) */
   --alfa-red: #E31D24;
   /* logo red */
   --alfa-red-700: #C4161C;

   --alfa-ink: #0F1E36;
   --alfa-text: #33415C;
   --alfa-muted: #454F66;
   /* secondary text: darkened for readability */
   --alfa-line: #E2E8F2;
   --alfa-tint: #F4F7FC;
   --alfa-tint-2: #E9EFF9;
   --alfa-white: #FFFFFF;

   --alfa-gradient: linear-gradient(90deg, var(--alfa-blue) 0 55%, var(--alfa-orange) 55% 78%, var(--alfa-red) 78%);
   --alfa-navy-gradient: linear-gradient(135deg, var(--alfa-navy) 0%, var(--alfa-blue) 100%);
   --alfa-chevron: polygon(0 0, 45% 0, 100% 50%, 45% 100%, 0 100%, 55% 50%);

   --alfa-font-head: 'Montserrat', system-ui, 'Segoe UI', sans-serif;
   --alfa-font-body: 'Mulish', system-ui, 'Segoe UI', sans-serif;
   --alfa-fs-sm: .9375rem;
   --alfa-fs-lead: 1.125rem;
   --alfa-fs-h3: clamp(1.125rem, 1rem + .4vw, 1.3rem);
   --alfa-fs-h2: clamp(1.7rem, 1.25rem + 1.6vw, 2.5rem);
   --alfa-fs-h1: clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem);

   --alfa-radius-sm: 8px;
   --alfa-radius: 12px;
   --alfa-radius-lg: 20px;
   --alfa-shadow: 0 10px 30px rgba(12, 42, 87, .08);
   --alfa-shadow-hover: 0 18px 44px rgba(12, 42, 87, .16);
   --alfa-section-y: clamp(2.75rem, 2rem + 3vw, 4.75rem);
   --alfa-ease: cubic-bezier(.2, .7, .2, 1);

   --bs-body-font-family: var(--alfa-font-body);
   --bs-body-color: var(--alfa-text);
   --bs-link-color: var(--alfa-blue);
   --bs-link-color-rgb: 27, 78, 154;
   --bs-link-hover-color-rgb: 21, 63, 126;
}

/* ==========================================================================
   3. Base
   ========================================================================== */
body {
   font-family: var(--alfa-font-body);
   color: var(--alfa-text);
   font-size: 1rem;
   line-height: 1.7;
   background: var(--alfa-white);
   -webkit-font-smoothing: antialiased;
}

main {
   overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: var(--alfa-font-head);
   color: var(--alfa-ink);
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: -.01em;
}

img {
   max-width: 100%;
   height: auto;
}

a {
   color: var(--alfa-blue);
}

address {
   font-style: normal;
}

:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 3px;
   border-radius: 4px;
}

.alfa-skip {
   position: absolute;
   left: 1rem;
   top: -100px;
   z-index: 2000;
   background: var(--alfa-navy);
   color: #fff;
   padding: .75rem 1rem;
   border-radius: var(--alfa-radius-sm);
}

.alfa-skip:focus {
   top: 1rem;
   color: #fff;
}

.alfa-hp {
   position: absolute;
   left: -9999px;
   width: 1px;
   height: 1px;
   overflow: hidden;
}

.container {
   max-width: 1240px;
}

@media (min-width: 992px) {
   .container {
      --bs-gutter-x: 3rem;
   }
}

/* matches .g-lg-5 rows so gutters never overflow */

/* Reveal on scroll (main.js adds .is-visible) */
.alfa-js [data-reveal] {
   opacity: 0;
   transform: translateY(24px);
   transition: opacity .8s var(--alfa-ease), transform .8s var(--alfa-ease);
   transition-delay: var(--reveal-delay, 0ms);
}

/* two-column rows: each side slides in from its own edge (set by main.js) */
.alfa-js [data-reveal='left'] {
   transform: translateX(-40px);
}

.alfa-js [data-reveal='right'] {
   transform: translateX(40px);
}

.alfa-js [data-reveal='zoom'] {
   transform: scale(.94);
}

.alfa-js [data-reveal].is-visible {
   opacity: 1;
   transform: none;
}

@media (prefers-reduced-motion: reduce) {
   .alfa-js [data-reveal] {
      opacity: 1;
      transform: none;
   }

   *,
   *::before,
   *::after {
      transition: none !important;
      animation: none !important;
   }
}

/* ==========================================================================
   4. Signature motif: the chevron trio from the logo (blue · orange · red)
   ========================================================================== */
.alfa-chev {
   display: inline-flex;
   gap: 2px;
   flex: none;
}

.alfa-chev i {
   width: 9px;
   height: 14px;
   background: var(--alfa-blue);
   clip-path: var(--alfa-chevron);
}

.alfa-chev i:nth-child(2) {
   background: var(--alfa-orange);
}

.alfa-chev i:nth-child(3) {
   background: var(--alfa-red);
}

.alfa-chev--lg i {
   width: 16px;
   height: 26px;
}

.alfa-chev--light i:first-child {
   background: #fff;
}

/* ==========================================================================
   5. Section heads: kicker (chevron + label) → heading → segmented underline → lead
   ========================================================================== */
.alfa-section {
   padding: var(--alfa-section-y) 0;
   position: relative;
}

.alfa-section--tint {
   background: var(--alfa-tint);
}

.alfa-section--tight {
   padding-top: calc(var(--alfa-section-y) * .6);
}

.alfa-head {
   margin-bottom: 2rem;
   max-width: 760px;
}

.alfa-head--center {
   margin-left: auto;
   margin-right: auto;
   text-align: center;
}

.alfa-kicker {
   display: inline-flex;
   align-items: center;
   gap: .6rem;
   font-family: var(--alfa-font-head);
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: var(--alfa-blue);
   margin-bottom: .85rem;
}

.alfa-kicker--light {
   color: #fff;
}

.alfa-title {
   font-size: var(--alfa-fs-h2);
   font-weight: 800;
   margin-bottom: 0;
   text-wrap: balance;
}

.alfa-rule {
   display: block;
   width: 84px;
   height: 5px;
   margin: 1.1rem 0 0;
   background: var(--alfa-gradient);
   clip-path: polygon(0 0, 94% 0, 100% 50%, 94% 100%, 0 100%);
}

.alfa-head--center .alfa-rule {
   margin-left: auto;
   margin-right: auto;
}

.alfa-lead {
   font-size: var(--alfa-fs-lead);
   color: var(--alfa-muted);
   margin: 1.1rem 0 0;
}

.alfa-prose p {
   margin-bottom: 1rem;
}

.alfa-prose p:last-child {
   margin-bottom: 0;
}

.alfa-lead-quote {
   font-size: 1.1rem;
   color: var(--alfa-ink);
   padding: .25rem 0 .25rem 1.25rem;
   border-left: 4px solid var(--alfa-orange);
   margin: 1.25rem 0;
}

/* ==========================================================================
   6. Buttons: 8px radius, arrow that slides on hover
   ========================================================================== */
.alfa-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: .6rem;
   min-height: 48px;
   padding: .75rem 1.4rem;
   border-radius: var(--alfa-radius-sm);
   border: 2px solid transparent;
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .92rem;
   letter-spacing: .01em;
   text-decoration: none;
   cursor: pointer;
   transition: background-color .25s var(--alfa-ease), color .25s var(--alfa-ease), border-color .25s var(--alfa-ease), box-shadow .25s var(--alfa-ease);
}

.alfa-btn .bi-arrow-right {
   transition: transform .25s var(--alfa-ease);
}

.alfa-btn:hover .bi-arrow-right,
.alfa-btn:focus-visible .bi-arrow-right {
   transform: translateX(5px);
}

.alfa-btn--primary {
   background: var(--alfa-blue);
   color: #fff;
   box-shadow: 0 8px 20px rgba(27, 78, 154, .22);
}

.alfa-btn--primary:hover {
   background: var(--alfa-blue-700);
   color: #fff;
}

.alfa-btn--accent {
   background: var(--alfa-orange);
   color: var(--alfa-navy);
   box-shadow: 0 8px 20px rgba(239, 126, 26, .28);
}

.alfa-btn--accent:hover {
   background: #F5963F;
   color: var(--alfa-navy);
}

.alfa-btn--outline {
   background: transparent;
   color: var(--alfa-blue);
   border-color: var(--alfa-blue);
}

.alfa-btn--outline:hover {
   background: var(--alfa-blue);
   color: #fff;
}

.alfa-btn--light {
   background: #fff;
   color: var(--alfa-blue);
}

.alfa-btn--light:hover {
   background: var(--alfa-tint-2);
   color: var(--alfa-navy);
}

.alfa-btn--ghost {
   background: transparent;
   color: #fff;
   border-color: rgba(255, 255, 255, .6);
}

.alfa-btn--ghost:hover {
   background: #fff;
   color: var(--alfa-blue);
   border-color: #fff;
}

.alfa-btn--block {
   width: 100%;
}

.alfa-btn-row {
   display: flex;
   flex-wrap: wrap;
   gap: .75rem;
}

.alfa-link {
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   min-height: 44px;
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .9rem;
   color: var(--alfa-blue);
   text-decoration: none;
}

.alfa-link .bi {
   transition: transform .25s var(--alfa-ease);
}

.alfa-link:hover .bi,
a:hover .alfa-link .bi {
   transform: translateX(4px);
}

/* Chips: filters, pagination, share */
.alfa-chips {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem;
}

.alfa-chips--center {
   justify-content: center;
}

.alfa-chip {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: .4rem;
   min-height: 44px;
   min-width: 44px;
   padding: .4rem 1rem;
   border-radius: 999px;
   border: 1.5px solid #D3DCEA;
   background: #fff;
   color: var(--alfa-text);
   font-weight: 700;
   font-size: .875rem;
   text-decoration: none;
   cursor: pointer;
   transition: all .2s var(--alfa-ease);
}

.alfa-chip:hover {
   border-color: var(--alfa-blue);
   color: var(--alfa-blue);
}

.alfa-chip.is-active {
   background: var(--alfa-blue);
   border-color: var(--alfa-blue);
   color: #fff;
}

.alfa-filter {
   margin-bottom: 1.25rem;
}

.alfa-filter__label {
   font-family: var(--alfa-font-head);
   font-size: .75rem;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--alfa-muted);
   margin: 0 0 .6rem;
}

.alfa-results {
   color: var(--alfa-muted);
   font-size: .92rem;
   margin: 0 0 1.5rem;
}

/* Badges */
.alfa-badge {
   display: inline-flex;
   align-items: center;
   gap: .35rem;
   padding: .25rem .7rem;
   border-radius: 999px;
   background: var(--alfa-tint-2);
   color: var(--alfa-blue-700);
   font-size: .78rem;
   font-weight: 700;
   line-height: 1.4;
   text-decoration: none;
}

a.alfa-badge:hover {
   background: var(--alfa-blue);
   color: #fff;
}

.alfa-badge--orange {
   background: #FDEBD9;
   color: var(--alfa-orange-700);
}

.alfa-badge--sample {
   background: #FFECEC;
   color: var(--alfa-red-700);
}

/* ==========================================================================
   7. Header + navigation (Bootstrap navbar, our styling)
   ========================================================================== */
.alfa-header {
   position: sticky;
   top: 0;
   z-index: 1030;
   background: rgba(255, 255, 255, .97);
   backdrop-filter: blur(8px);
   border-bottom: 1px solid transparent;
   transition: box-shadow .3s, border-color .3s;
}

.alfa-header.is-scrolled {
   box-shadow: 0 6px 24px rgba(12, 42, 87, .08);
   border-color: var(--alfa-line);
}

.alfa-header .navbar {
   padding: .55rem 0;
}

/* Top bar (desktop only): head office on the left, utility links on the right */
.alfa-topbar {
   background: var(--alfa-navy);
   color: rgba(255, 255, 255, .78);
   font-size: .8rem;
}

.alfa-topbar .container {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1.5rem;
   min-height: 38px;
}

.alfa-topbar__info {
   display: flex;
   align-items: center;
   gap: .5rem;
   margin: 0;
}

.alfa-topbar__info .bi {
   color: var(--alfa-orange);
}

.alfa-topbar__contact {
   display: flex;
   list-style: none;
   margin: 0;
   padding: 0;
}

.alfa-topbar__contact li + li {
   border-left: 1px solid rgba(255, 255, 255, .2);
}

.alfa-topbar__contact a {
   display: inline-flex;
   align-items: center;
   gap: .45rem;
   padding: .35rem .9rem;
   color: #fff;
   font-weight: 600;
   text-decoration: none;
   transition: color .2s;
}

.alfa-topbar__contact li:last-child a {
   padding-right: 0;
}

.alfa-topbar__contact .bi {
   color: var(--alfa-orange);
   font-size: .85rem;
}

.alfa-topbar__contact a:hover {
   color: var(--alfa-orange);
}

@media (min-width: 1200px) {

   /* eight menu items + the button: compact spacing so they fit on one line from 1200px */
   .alfa-nav .nav-link {
      padding: .65rem .6rem !important;
      font-size: .88rem;
   }

   .alfa-logo {
      margin-right: 1rem;
   }
}

@media (min-width: 1400px) {
   .alfa-nav .nav-link {
      padding: .65rem .8rem !important;
      font-size: .92rem;
   }
}

.alfa-logo {
   padding: 0;
   margin-right: 1.5rem;
}

.alfa-logo img {
   height: 58px;
   width: auto;
}

.alfa-nav .nav-link {
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .9rem;
   color: var(--alfa-ink);
   padding: .65rem .85rem !important;
   min-height: 44px;
   display: flex;
   align-items: center;
   gap: .3rem;
   position: relative;
}

.alfa-nav .nav-link:hover,
.alfa-nav .nav-link:focus-visible,
.alfa-nav .nav-link.active,
.alfa-nav .nav-link.show {
   color: var(--alfa-blue);
}

.alfa-nav .dropdown-toggle::after {
   border: 0;
   width: 8px;
   height: 12px;
   margin: 0 0 0 .2rem;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
   transform: rotate(90deg);
   vertical-align: middle;
}

@media (min-width: 1200px) {
   .alfa-nav .nav-link.active::before {
      content: '';
      position: absolute;
      left: .85rem;
      right: .85rem;
      bottom: .15rem;
      height: 3px;
      background: var(--alfa-gradient);
      border-radius: 2px;
   }

   .alfa-nav .dropdown:hover>.dropdown-menu {
      display: block;
   }
}

.alfa-nav .dropdown-menu {
   border: 0;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow-hover);
   padding: .5rem;
   min-width: 290px;
   margin-top: 0;
}

.alfa-nav .dropdown-menu::before {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   height: 4px;
   background: var(--alfa-gradient);
   border-radius: var(--alfa-radius) var(--alfa-radius) 0 0;
}

.alfa-nav .dropdown-item {
   border-radius: var(--alfa-radius-sm);
   padding: .7rem .85rem;
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .92rem;
   color: var(--alfa-ink);
   display: flex;
   gap: .75rem;
   align-items: flex-start;
   white-space: normal;
}

.alfa-nav .dropdown-item small {
   display: block;
   font-family: var(--alfa-font-body);
   font-weight: 400;
   color: var(--alfa-muted);
   font-size: .8rem;
   margin-top: .1rem;
}

.alfa-nav .dropdown-item .bi {
   color: var(--alfa-orange-700);
   font-size: 1.15rem;
   margin-top: 1px;
}

.alfa-nav .dropdown-item:hover,
.alfa-nav .dropdown-item:focus,
.alfa-nav .dropdown-item.active {
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
}

.alfa-toggler {
   border: 0;
   width: 48px;
   height: 48px;
   border-radius: var(--alfa-radius-sm);
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
   font-size: 1.6rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

.alfa-toggler:focus {
   box-shadow: 0 0 0 3px rgba(27, 78, 154, .3);
}

@media (max-width: 1199.98px) {
   .alfa-nav {
      padding: .75rem 0 1.25rem;
   }

   .alfa-nav .dropdown-menu {
      box-shadow: none;
      background: var(--alfa-tint);
      margin: 0 0 .5rem;
   }

   .alfa-nav .dropdown-menu::before {
      display: none;
   }

   .alfa-nav .alfa-btn {
      margin-top: .75rem;
      width: 100%;
   }
}

@media (max-width: 575.98px) {
   .alfa-logo img {
      height: 48px;
   }
}

/* ==========================================================================
   8. Home hero slider: full-width banner images that cross-fade (the images carry their own headline)
   ========================================================================== */
.alfa-slider {
   position: relative;
   background: var(--alfa-navy);
   overflow: hidden;
}

.alfa-slider__track {
   display: grid;
}

.alfa-slider__slide {
   grid-area: 1 / 1;
   opacity: 0;
   visibility: hidden;
   transition: opacity .9s var(--alfa-ease), visibility 0s linear .9s;
}

.alfa-slider__slide.is-active {
   opacity: 1;
   visibility: visible;
   transition: opacity .9s var(--alfa-ease);
}

/* every slide shares the first banner's proportions, so slides of other sizes do not change the height */
.alfa-slider__slide img {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 1931 / 814;
   object-fit: cover;
   object-position: 50% 50%;
}

/* slides 2 and 3 are 16:9: crop from nearer the top so their full headline and faces stay in frame */
.alfa-slider__slide:nth-child(2) img,
.alfa-slider__slide:nth-child(3) img {
   object-position: 50% 22%;
}

/* the line is printed on the image: the caption is kept for screen readers and search engines only */
.alfa-slider__caption {
   position: absolute;
   width: 1px;
   height: 1px;
   margin: 0;
   overflow: hidden;
   clip: rect(0 0 0 0);
   white-space: nowrap;
}

.alfa-slider__arrow {
   display: none;
}

.alfa-slider__nav {
   position: absolute;
   left: 50%;
   bottom: .4rem;
   z-index: 2;
   display: flex;
   align-items: center;
   gap: 0;
   padding: 0 .25rem;
   border-radius: 999px;
   background: rgba(12, 42, 87, .6);
   backdrop-filter: blur(6px);
   transform: translateX(-50%);
}

.alfa-slider__pause,
.alfa-slider__dot {
   display: grid;
   place-items: center;
   width: 24px;
   height: 24px;
   padding: 0;
   border: 0;
   border-radius: 999px;
   background: none;
   color: #fff;
   cursor: pointer;
}

.alfa-slider__icon-play,
.alfa-slider.is-paused .alfa-slider__icon-pause {
   display: none;
}

.alfa-slider.is-paused .alfa-slider__icon-play {
   display: block;
}

.alfa-slider__dot::before {
   content: '';
   width: 7px;
   height: 7px;
   border-radius: 999px;
   background: rgba(255, 255, 255, .55);
   transition: width .3s var(--alfa-ease), background-color .3s;
}

.alfa-slider__dot:hover::before {
   background: #fff;
}

.alfa-slider__dot.is-active {
   width: 30px;
}

.alfa-slider__dot.is-active::before {
   width: 18px;
   background: var(--alfa-orange);
}

.alfa-slider__pause:focus-visible,
.alfa-slider__dot:focus-visible,
.alfa-slider__arrow:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 2px;
}

@media (min-width: 768px) {
   .alfa-slider__arrow {
      position: absolute;
      top: 50%;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 40px;
      height: 40px;
      padding: 0;
      border: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, .85);
      color: var(--alfa-navy);
      box-shadow: 0 8px 24px rgba(4, 18, 42, .25);
      cursor: pointer;
      transform: translateY(-50%);
      transition: background-color .2s, color .2s;
   }

   .alfa-slider__arrow:hover {
      background: #fff;
      color: var(--alfa-orange);
   }

   .alfa-slider__arrow--prev {
      left: 1rem;
   }

   .alfa-slider__arrow--next {
      right: 1rem;
   }

   .alfa-slider__nav {
      bottom: .8rem;
      gap: .15rem;
      padding: .2rem .45rem;
   }

   .alfa-slider__pause,
   .alfa-slider__dot {
      width: 28px;
      height: 28px;
   }

   .alfa-slider__dot::before {
      width: 9px;
      height: 9px;
   }

   .alfa-slider__dot.is-active {
      width: 40px;
   }

   .alfa-slider__dot.is-active::before {
      width: 26px;
   }
}

@media (min-width: 1200px) {
   .alfa-slider__arrow {
      width: 48px;
      height: 48px;
   }

   .alfa-slider__arrow--prev {
      left: 1.5rem;
   }

   .alfa-slider__arrow--next {
      right: 1.5rem;
   }

   .alfa-slider__nav {
      bottom: 1.1rem;
   }
}

@media (prefers-reduced-motion: reduce) {

   .alfa-slider__slide,
   .alfa-slider__slide.is-active {
      transition: none;
   }
}

/* Enquiry card (blog sidebar) */
.alfa-form-card {
   background: #fff;
   color: var(--alfa-text);
   border-radius: var(--alfa-radius-lg);
   padding: 1.5rem;
   box-shadow: 0 24px 60px rgba(4, 18, 42, .35);
   position: relative;
}

.alfa-form-card::before {
   content: '';
   position: absolute;
   left: 1.5rem;
   right: 1.5rem;
   top: 0;
   height: 4px;
   background: var(--alfa-gradient);
   border-radius: 0 0 4px 4px;
}

.alfa-form-card__title {
   font-size: 1.15rem;
   font-weight: 800;
   margin: .25rem 0 .2rem;
   display: flex;
   align-items: center;
   gap: .6rem;
}

.alfa-form-card__note {
   font-size: .85rem;
   color: var(--alfa-muted);
   margin: 0 0 1rem;
}

.alfa-form-card--flat {
   box-shadow: var(--alfa-shadow);
}

/* ==========================================================================
   9. Forms
   ========================================================================== */
.alfa-field {
   margin-bottom: .9rem;
}

.alfa-label {
   display: block;
   font-weight: 700;
   font-size: .85rem;
   color: var(--alfa-ink);
   margin-bottom: .3rem;
}

.alfa-label .alfa-req {
   color: var(--alfa-red-700);
}

.alfa-input {
   display: block;
   width: 100%;
   min-height: 46px;
   padding: .6rem .85rem;
   border: 1.5px solid #C5D1E3;
   border-radius: var(--alfa-radius-sm);
   background: var(--alfa-tint);
   color: var(--alfa-ink);
   font: inherit;
   transition: border-color .2s, background-color .2s, box-shadow .2s;
}

.alfa-input:focus {
   outline: none;
   border-color: var(--alfa-blue);
   background: #fff;
   box-shadow: 0 0 0 4px rgba(27, 78, 154, .15);
}

textarea.alfa-input {
   min-height: 110px;
   resize: vertical;
}

select.alfa-input {
   appearance: auto;
}

.alfa-input[aria-invalid="true"] {
   border-color: var(--alfa-red);
   background: #FFF6F6;
}

.alfa-input[type="file"] {
   padding: .55rem;
   background: #fff;
}

.alfa-error {
   display: block;
   color: var(--alfa-red-700);
   font-size: .82rem;
   font-weight: 700;
   margin-top: .25rem;
}

.alfa-help {
   font-size: .8rem;
   color: var(--alfa-muted);
   margin-top: .25rem;
}

.alfa-alert {
   display: flex;
   gap: .7rem;
   align-items: flex-start;
   border-radius: var(--alfa-radius-sm);
   padding: .9rem 1rem;
   margin-bottom: 1.25rem;
   font-weight: 700;
   font-size: .95rem;
}

.alfa-alert--success {
   background: #E8F6EE;
   color: #14532D;
}

.alfa-alert--error {
   background: #FDECEC;
   color: #7F1D1D;
}

.alfa-panel {
   background: #fff;
   border-radius: var(--alfa-radius-lg);
   box-shadow: var(--alfa-shadow);
   padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
   position: relative;
   overflow: hidden;
}

.alfa-panel::before {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   height: 5px;
   background: var(--alfa-gradient);
}

/* ==========================================================================
   10. Tagline band: logo card + three-colour headline on a slim navy band.
       Phones: logo left, headline wraps to two lines beside it.
       768px and up: the headline stays on one line; its size is set per container width
       (the full line is about 20.2em wide).
   ========================================================================== */
.alfa-tagline {
   position: relative;
   overflow: hidden;
   background: linear-gradient(120deg, #0A2148 0%, var(--alfa-navy) 55%, #123A73 100%);
   padding: 1rem 0;
}

.alfa-tagline::before,
.alfa-tagline::after {
   content: '';
   position: absolute;
   top: -20%;
   width: 160px;
   height: 140%;
   background: rgba(255, 255, 255, .04);
   clip-path: var(--alfa-chevron);
   pointer-events: none;
}

.alfa-tagline::before {
   right: 3%;
}

.alfa-tagline::after {
   right: calc(3% + 90px);
   background: rgba(239, 126, 26, .07);
}

.alfa-tagline__inner {
   position: relative;
   display: flex;
   align-items: center;
   gap: .9rem;
}

.alfa-tagline__logo {
   flex: none;
   display: inline-flex;
   padding: .4rem .55rem;
   border-radius: var(--alfa-radius);
   background: #fff;
   box-shadow: 0 10px 26px rgba(4, 18, 42, .35);
}

.alfa-tagline__logo img {
   display: block;
   width: 64px;
   height: auto;
}

.alfa-tagline__text {
   margin: 0;
   min-width: 0;
   font-family: 'Bricolage Grotesque', var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(1.05rem, .7rem + 1.9vw, 1.5rem);
   line-height: 1.15;
   letter-spacing: -.01em;
   text-wrap: balance;
}

.alfa-tagline__red {
   color: #FF5331;
}

.alfa-tagline__yellow {
   color: #FFC000;
}

.alfa-tagline__blue {
   color: #69ABFF;
}

@media (min-width: 768px) {
   .alfa-tagline {
      padding: 1.1rem 0;
   }

   .alfa-tagline__inner {
      justify-content: center;
      gap: 1.25rem;
   }

   .alfa-tagline__logo {
      padding: .45rem .65rem;
   }

   .alfa-tagline__logo img {
      width: 84px;
   }

   /* thin divider between logo and headline */
   .alfa-tagline__text {
      padding-left: 1.25rem;
      border-left: 2px solid rgba(255, 255, 255, .18);
      font-size: 1.65rem;
      white-space: nowrap;
   }
}

@media (min-width: 992px) {
   .alfa-tagline__inner {
      gap: 1.75rem;
   }

   .alfa-tagline__logo img {
      width: 100px;
   }

   .alfa-tagline__text {
      padding-left: 1.75rem;
      font-size: 2.2rem;
   }
}

@media (min-width: 1200px) {
   .alfa-tagline {
      padding: 1.25rem 0;
   }

   .alfa-tagline__inner {
      gap: 2rem;
   }

   .alfa-tagline__logo img {
      width: 110px;
   }

   .alfa-tagline__text {
      padding-left: 2rem;
      font-size: 2.6rem;
   }
}

/* ==========================================================================
   11. Purpose (Feel / Move / Live Better.): navy section, stacked statement + expanding photo panels
   ========================================================================== */
.alfa-purpose {
   position: relative;
   isolation: isolate;
   overflow: hidden;
   background: var(--alfa-navy-gradient);
   color: rgba(255, 255, 255, .86);
   padding: var(--alfa-section-y) 0;
}

.alfa-purpose::before {
   content: '';
   position: absolute;
   z-index: -1;
   left: -120px;
   bottom: -160px;
   width: 420px;
   height: 560px;
   background: rgba(255, 255, 255, .04);
   clip-path: var(--alfa-chevron);
}

.alfa-purpose__title {
   margin: 0 0 1.5rem;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.6rem);
   line-height: 1.05;
   color: #fff;
}

.alfa-purpose__title span {
   display: block;
}

.alfa-purpose__title span+span {
   margin-top: .15em;
}

.alfa-purpose__title em {
   font-style: normal;
   color: var(--alfa-orange);
}

.alfa-purpose__line {
   font-size: 1.1rem;
   line-height: 1.7;
   max-width: 460px;
   padding-left: 1rem;
   border-left: 3px solid var(--alfa-orange);
   margin-bottom: 1.75rem;
}

.alfa-panels {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: .75rem;
}

.alfa-panels__item {
   position: relative;
   isolation: isolate;
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   min-height: 190px;
   outline: none;
}

.alfa-panels__item img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: -2;
   transition: transform .8s var(--alfa-ease);
}

/* keep each person in frame when a panel is narrow (desktop) or short (phones) */
.alfa-panels__item:nth-child(1) img {
   object-position: 38% 30%;
}

.alfa-panels__item:nth-child(2) img {
   object-position: 52% 35%;
}

.alfa-panels__item:nth-child(3) img {
   object-position: 58% 30%;
}

.alfa-panels__item::before {
   content: '';
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(180deg, rgba(12, 42, 87, 0) 35%, rgba(12, 42, 87, .92) 100%);
}

.alfa-panels__item::after {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   height: 5px;
   background: var(--alfa-blue-600);
}

.alfa-panels__item:nth-child(2)::after {
   background: var(--alfa-orange);
}

.alfa-panels__item:nth-child(3)::after {
   background: var(--alfa-red);
}

.alfa-panels__item:focus-visible {
   box-shadow: 0 0 0 3px var(--alfa-orange);
}

.alfa-panels__num {
   position: absolute;
   top: 1rem;
   left: 1rem;
   display: inline-flex;
   align-items: center;
   gap: .45rem;
   padding: .3rem .7rem;
   border-radius: 999px;
   background: rgba(12, 42, 87, .6);
   backdrop-filter: blur(4px);
   color: #fff;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: .8rem;
   letter-spacing: .12em;
}

.alfa-panels__label {
   position: absolute;
   left: 1.25rem;
   right: 1.25rem;
   bottom: 1.25rem;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: 1.5rem;
   line-height: 1.1;
   color: #fff;
   white-space: nowrap;
}

@media (min-width: 992px) {
   .alfa-panels {
      display: flex;
      gap: 1rem;
      height: 460px;
   }

   .alfa-panels__item {
      flex: 1 1 0;
      min-height: 0;
      transition: flex-grow .6s var(--alfa-ease);
   }

   .alfa-panels__item:first-child,
   .alfa-panels:hover .alfa-panels__item:hover,
   .alfa-panels__item:focus-visible {
      flex-grow: 2.4;
   }

   .alfa-panels:hover .alfa-panels__item:first-child:not(:hover),
   .alfa-panels:focus-within .alfa-panels__item:first-child:not(:focus-visible) {
      flex-grow: 1;
   }

   .alfa-panels__item:hover img {
      transform: scale(1.05);
   }

   /* Collapsed panels show the phrase rotated; the open one shows it upright */
   .alfa-panels__label {
      font-size: 1.9rem;
      transition: opacity .4s;
   }

   .alfa-panels__item:not(:first-child) .alfa-panels__label,
   .alfa-panels:hover .alfa-panels__item:first-child:not(:hover) .alfa-panels__label {
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      left: 1.1rem;
      right: auto;
      bottom: 1.25rem;
      font-size: 1.35rem;
   }

   .alfa-panels:hover .alfa-panels__item:not(:first-child):hover .alfa-panels__label,
   .alfa-panels__item:not(:first-child):focus-visible .alfa-panels__label {
      writing-mode: horizontal-tb;
      transform: none;
      left: 1.25rem;
      font-size: 1.9rem;
   }
}

/* Company Overview */
.alfa-overview {
   overflow: hidden;
}

.alfa-overview::before {
   content: '';
   position: absolute;
   right: -140px;
   top: -100px;
   width: 420px;
   height: 560px;
   background: rgba(27, 78, 154, .05);
   clip-path: var(--alfa-chevron);
}

.alfa-overview .container {
   position: relative;
}

.alfa-overview__media {
   position: relative;
}

.alfa-overview__media img {
   aspect-ratio: 4 / 5;
}

.alfa-overview__badge {
   position: absolute;
   left: -.5rem;
   bottom: 2.5rem;
   z-index: 3;
   display: flex;
   align-items: center;
   gap: .8rem;
   max-width: 280px;
   background: #fff;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow-hover);
   padding: .9rem 1rem;
   font-size: .88rem;
   color: var(--alfa-muted);
   line-height: 1.4;
}

.alfa-overview__badge strong {
   display: block;
   color: var(--alfa-ink);
   font-family: var(--alfa-font-head);
   font-size: .95rem;
}

.alfa-flow {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: .5rem 1.6rem;
}

.alfa-flow li {
   position: relative;
   display: inline-flex;
   align-items: center;
   gap: .5rem;
   padding: .6rem 1.1rem;
   border-radius: 999px;
   background: #fff;
   border: 1.5px solid #D3DCEA;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   color: var(--alfa-navy);
}

.alfa-flow li .bi {
   color: var(--alfa-blue);
}

.alfa-flow li+li::before {
   content: '';
   position: absolute;
   left: -1.25rem;
   top: 50%;
   width: 10px;
   height: 16px;
   transform: translateY(-50%);
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

@media (max-width: 575.98px) {
   .alfa-flow {
      gap: .5rem;
   }

   .alfa-flow li+li::before {
      display: none;
   }
}

.alfa-overview__quote {
   margin: 1.75rem 0 0;
   padding: 1.25rem 1.4rem 1.25rem 1.6rem;
   background: #fff;
   border-radius: var(--alfa-radius);
   border-left: 5px solid var(--alfa-orange);
   box-shadow: var(--alfa-shadow);
   font-size: 1.02rem;
   line-height: 1.7;
   color: var(--alfa-ink);
}

/* ==========================================================================
   12. Cards: 12px radius, soft shadow, gradient accent bar, hover lift
   ========================================================================== */
.alfa-card {
   position: relative;
   height: 100%;
   width: 100%;
   background: #fff;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow);
   overflow: hidden;
   transition: transform .3s var(--alfa-ease), box-shadow .3s var(--alfa-ease);
   color: var(--alfa-text);
   text-decoration: none;
   display: flex;
   flex-direction: column;
}

.alfa-card::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   right: 0;
   height: 4px;
   background: var(--alfa-gradient);
   z-index: 2;
}

.alfa-card--side::before {
   right: auto;
   bottom: 0;
   width: 4px;
   height: auto;
   background: linear-gradient(180deg, var(--alfa-blue) 0 55%, var(--alfa-orange) 55% 78%, var(--alfa-red) 78%);
}

a.alfa-card:hover,
.alfa-card--hover:hover {
   transform: translateY(-6px);
   box-shadow: var(--alfa-shadow-hover);
   color: var(--alfa-text);
}

.alfa-card__body {
   padding: 1.5rem;
   display: flex;
   flex-direction: column;
   flex: 1;
}

.alfa-card__icon {
   width: 54px;
   height: 54px;
   border-radius: var(--alfa-radius);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
   font-size: 1.55rem;
   margin-bottom: 1rem;
   flex: none;
   transition: background-color .3s, color .3s;
}

.alfa-card--hover:hover .alfa-card__icon,
a.alfa-card:hover .alfa-card__icon {
   background: var(--alfa-blue);
   color: #fff;
}

.alfa-card__corner {
   position: absolute;
   right: 1.1rem;
   top: 1.3rem;
}

.alfa-card__title {
   font-size: var(--alfa-fs-h3);
   font-weight: 700;
   margin: 0 0 .5rem;
   color: var(--alfa-ink);
}

.alfa-card__text {
   font-size: var(--alfa-fs-sm);
   color: var(--alfa-muted);
   margin: 0 0 1rem;
}

.alfa-card__text:last-child {
   margin-bottom: 0;
}

.alfa-card__footer {
   margin-top: auto;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: .5rem .75rem;
   flex-wrap: wrap;
}

.alfa-card__meta {
   font-size: .82rem;
   color: var(--alfa-muted);
   display: inline-flex;
   gap: .35rem;
   align-items: center;
}

.alfa-card__media {
   position: relative;
   aspect-ratio: 16 / 10;
   overflow: hidden;
   background: var(--alfa-tint);
}

.alfa-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .6s var(--alfa-ease);
}

a.alfa-card:hover .alfa-card__media img {
   transform: scale(1.05);
}

.alfa-card__media .alfa-badge {
   position: absolute;
   left: .85rem;
   top: .95rem;
   z-index: 1;
}

.alfa-card__kicker {
   font-size: .75rem;
   font-weight: 800;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: var(--alfa-orange-700);
   margin: 0 0 .35rem;
}

.alfa-clamp-2,
.alfa-clamp-3 {
   display: -webkit-box;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.alfa-clamp-2 {
   -webkit-line-clamp: 2;
}

.alfa-clamp-3 {
   -webkit-line-clamp: 3;
}

.alfa-card__title.alfa-clamp-2 {
   min-height: 2.4em;
}

/* Highlight card (One Team. One Purpose. One Alfa.) */
.alfa-card--navy {
   background: var(--alfa-navy-gradient);
   color: #fff;
}

.alfa-card--navy .alfa-card__body {
   justify-content: center;
}

.alfa-card--navy .alfa-card__title {
   color: #fff;
   font-size: 1.35rem;
   font-weight: 800;
   line-height: 1.3;
   margin: 0;
}

.alfa-card--navy .alfa-card__title span {
   display: block;
}

/* Product cards: packshot on tint */
.alfa-card__media--packshot {
   aspect-ratio: 1 / 1;
}

.alfa-card__media--packshot img {
   object-fit: contain;
   padding: 6%;
}

.alfa-composition {
   font-size: .875rem;
   color: var(--alfa-muted);
   margin: 0 0 1rem;
}

/* ==========================================================================
   13. Photo accent (brief): offset brand block + chevron mark. One reusable class: .alfa-frame
   ========================================================================== */
.alfa-frame {
   position: relative;
   isolation: isolate;
   margin: 0 18px 18px 0;
}

.alfa-frame img {
   position: relative;
   z-index: 1;
   width: 100%;
   display: block;
   border-radius: var(--alfa-radius-lg);
   object-fit: cover;
}

.alfa-frame::before {
   content: '';
   position: absolute;
   z-index: 0;
   left: 18px;
   top: 18px;
   right: -18px;
   bottom: -18px;
   border-radius: var(--alfa-radius-lg);
   background: linear-gradient(135deg, var(--alfa-tint-2) 0%, var(--alfa-tint-2) 55%, rgba(239, 126, 26, .45) 100%);
}

.alfa-frame::after {
   content: '';
   position: absolute;
   z-index: 2;
   left: -10px;
   bottom: 30px;
   width: 24px;
   height: 38px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
   filter: drop-shadow(12px 0 0 var(--alfa-red));
}

.alfa-frame--right {
   margin: 0 0 18px 18px;
}

.alfa-frame--right::before {
   left: -18px;
   right: 18px;
}

.alfa-frame--right::after {
   left: auto;
   right: 2px;
   bottom: auto;
   top: 30px;
}

.alfa-frame--4x3 img {
   aspect-ratio: 4 / 3;
}

.alfa-frame--3x2 img {
   aspect-ratio: 3 / 2;
}

.alfa-frame--tall img {
   aspect-ratio: 4 / 5;
}

/* ==========================================================================
   14. Lists, pills, focus panel
   ========================================================================== */
.alfa-checklist {
   list-style: none;
   padding: 0;
   margin: 0;
}

.alfa-checklist li {
   position: relative;
   padding-left: 1.7rem;
   margin-bottom: .85rem;
}

.alfa-checklist li::before {
   content: '';
   position: absolute;
   left: 0;
   top: .42em;
   width: 10px;
   height: 15px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

.alfa-checklist li:nth-child(3n+2)::before {
   background: var(--alfa-red);
}

.alfa-checklist li:nth-child(3n+3)::before {
   background: var(--alfa-blue);
}

.alfa-checklist strong {
   color: var(--alfa-ink);
}

.alfa-pill-row {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem;
}

.alfa-pill {
   padding: .5rem 1.1rem;
   border-radius: 999px;
   font-weight: 700;
   font-size: .9rem;
   color: #fff;
   background: var(--alfa-blue);
}

.alfa-pill:nth-child(2) {
   background: var(--alfa-orange-700);
}

.alfa-pill:nth-child(3) {
   background: var(--alfa-red-700);
}

/* ==========================================================================
   14b. Vision & Mission (About): two plain columns, line icons, dashed divider
   ========================================================================== */
.alfa-vm__col {
   padding: 1.75rem 0;
}

.alfa-vm__col:first-child {
   padding-top: 0;
}

.alfa-vm__col+.alfa-vm__col {
   border-top: 1px dashed rgba(12, 42, 87, .28);
   padding-bottom: 0;
}

.alfa-vm__icon {
   display: block;
   width: 60px;
   height: 60px;
   margin-bottom: 1.4rem;
   fill: none;
   stroke: var(--alfa-blue);
   stroke-width: 2;
   stroke-linecap: round;
   stroke-linejoin: round;
}

.alfa-vm__accent {
   stroke: var(--alfa-orange);
}

.alfa-vm__dot {
   fill: var(--alfa-orange);
}

.alfa-vm__title {
   margin: 0 0 .9rem;
   font-size: clamp(1.5rem, 1.3rem + .8vw, 1.9rem);
   font-weight: 600;
   letter-spacing: -.01em;
   color: var(--alfa-navy);
}

.alfa-vm__text {
   margin: 0;
   font-size: 1.05rem;
   line-height: 1.85;
   color: var(--alfa-muted);
}

@media (min-width: 768px) {

   .alfa-vm__col,
   .alfa-vm__col:first-child {
      padding: .5rem clamp(1.5rem, .5rem + 3vw, 3.5rem) .75rem 0;
   }

   .alfa-vm__col+.alfa-vm__col {
      border-top: 0;
      border-left: 1px dashed rgba(12, 42, 87, .28);
      padding: .5rem 0 .75rem clamp(1.5rem, .5rem + 3vw, 3.5rem);
   }

   .alfa-vm__text {
      text-align: justify;
      hyphens: auto;
   }
}

/* ==========================================================================
   15. Quote band: full-bleed photo under a navy overlay (Promise)
   ========================================================================== */
.alfa-quote-band {
   position: relative;
   isolation: isolate;
   padding: var(--alfa-section-y) 0;
   color: #fff;
   background: var(--alfa-navy);
   overflow: hidden;
}

.alfa-quote-band__bg {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: -2;
}

.alfa-quote-band::before {
   content: '';
   position: absolute;
   inset: 0;
   z-index: -1;
   background: linear-gradient(100deg, rgba(12, 42, 87, .95) 0%, rgba(12, 42, 87, .84) 50%, rgba(27, 78, 154, .72) 100%);
}

.alfa-quote-band .alfa-kicker {
   color: #fff;
}

.alfa-quote {
   max-width: 900px;
   margin: 0 auto;
   text-align: center;
}

.alfa-quote__text {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem);
   line-height: 1.3;
   color: #fff;
   margin: 1rem 0 0;
}

.alfa-quote__text span {
   display: block;
}

.alfa-quote__text span:nth-child(2) {
   color: #FFC58F;
}

/* ==========================================================================
   16. Journey timeline (chevron connectors)
   ========================================================================== */
/* Journey So Far: vertical road on phones, horizontal road with nodes on tablets/desktop.
   The road fills in from the start when the section scrolls into view. */
.alfa-journey {
   --road: 3px;
   position: relative;
   display: grid;
   gap: 1.5rem;
   margin: 0 auto;
   padding: 0 0 0 2.25rem;
   max-width: 1100px;
   list-style: none;
}

.alfa-journey::before,
.alfa-journey::after {
   content: '';
   position: absolute;
   top: .5rem;
   bottom: .5rem;
   left: .65rem;
   width: var(--road);
   border-radius: 3px;
   background: var(--alfa-line);
}

.alfa-journey::after {
   background: var(--alfa-gradient);
   transform: scaleY(0);
   transform-origin: top center;
   transition: transform 1.4s var(--alfa-ease) .2s;
}

.alfa-journey.is-visible::after,
.alfa-journey:not([data-reveal])::after {
   transform: none;
}

.alfa-journey__item {
   position: relative;
}

.alfa-journey__year {
   display: block;
   margin-bottom: .5rem;
   color: var(--alfa-blue);
   font-family: var(--alfa-font-head);
   font-size: 1.5rem;
   font-weight: 800;
   line-height: 1;
}

.alfa-journey__dot {
   position: absolute;
   top: .1rem;
   left: -2.25rem;
   z-index: 1;
   width: 1.4rem;
   height: 1.4rem;
   border: 4px solid #fff;
   border-radius: 999px;
   background: var(--alfa-blue);
   box-shadow: 0 0 0 2px var(--alfa-blue);
}

.alfa-journey__card {
   position: relative;
   display: flex;
   align-items: center;
   gap: 1rem;
   padding: 1rem 1.1rem;
   border: 1px solid var(--alfa-line);
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 12px 30px rgba(12, 42, 87, .07);
   transition: transform .35s var(--alfa-ease), box-shadow .35s var(--alfa-ease);
}

.alfa-journey__item:hover .alfa-journey__card {
   transform: translateY(-5px);
   box-shadow: 0 22px 44px rgba(12, 42, 87, .14);
}

.alfa-journey__logo {
   display: grid;
   flex: none;
   place-items: center;
   width: 92px;
   height: 64px;
   padding: .5rem;
   border-radius: 12px;
   background: var(--alfa-tint);
}

.alfa-journey__logo img {
   display: block;
   width: auto;
   height: auto;
   max-width: 100%;
   max-height: 44px;
   object-fit: contain;
}

@media (min-width: 768px) {
   .alfa-journey__logo img {
      max-height: 54px;
   }
}

.alfa-journey__name {
   margin: 0;
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-weight: 700;
   line-height: 1.35;
}

/* 2026: the launch */
.alfa-journey__item.is-now .alfa-journey__year {
   color: var(--alfa-orange-700);
}

.alfa-journey__item.is-now .alfa-journey__dot {
   background: var(--alfa-orange);
   box-shadow: 0 0 0 2px var(--alfa-orange), 0 0 0 8px rgba(239, 126, 26, .2);
   animation: alfa-pulse 2s ease-out infinite;
}

.alfa-journey__item.is-now .alfa-journey__card {
   border-color: transparent;
   background: var(--alfa-navy-gradient);
}

.alfa-journey__item.is-now .alfa-journey__logo {
   background: #fff;
}

.alfa-journey__item.is-now .alfa-journey__name {
   color: #fff;
}

.alfa-journey__badge {
   position: absolute;
   top: -.7rem;
   right: 1rem;
   padding: .2rem .7rem;
   border-radius: 999px;
   background: var(--alfa-orange);
   color: #fff;
   font-size: .72rem;
   font-weight: 800;
   letter-spacing: .08em;
   text-transform: uppercase;
}

@keyframes alfa-pulse {
   0% { box-shadow: 0 0 0 2px var(--alfa-orange), 0 0 0 0 rgba(239, 126, 26, .45); }
   100% { box-shadow: 0 0 0 2px var(--alfa-orange), 0 0 0 14px rgba(239, 126, 26, 0); }
}

@media (min-width: 768px) {
   .alfa-journey {
      grid-template-columns: repeat(4, 1fr);
      gap: 1.25rem;
      padding: 0;
   }

   /* horizontal road through the nodes */
   .alfa-journey::before,
   .alfa-journey::after {
      top: 3.35rem;
      bottom: auto;
      left: 12.5%;
      right: 12.5%;
      width: auto;
      height: var(--road);
   }

   .alfa-journey::after {
      transform: scaleX(0);
      transform-origin: left center;
   }

   .alfa-journey__item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
   }

   .alfa-journey__year {
      margin-bottom: .75rem;
      font-size: 1.9rem;
   }

   .alfa-journey__dot {
      position: relative;
      top: auto;
      left: auto;
      margin-bottom: 1.25rem;
   }

   .alfa-journey__card {
      flex: 1;
      flex-direction: column;
      width: 100%;
      padding: 1.4rem 1rem 1.3rem;
   }

   .alfa-journey__logo {
      width: 120px;
      height: 76px;
   }
}

/* ==========================================================================
   17. Promise card, CTA band, leadership
   ========================================================================== */
.alfa-promise {
   background: var(--alfa-navy-gradient);
   color: #fff;
   border-radius: var(--alfa-radius-lg);
   padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
   position: relative;
   overflow: hidden;
   box-shadow: var(--alfa-shadow-hover);
}

.alfa-promise::after {
   content: '';
   position: absolute;
   right: -30px;
   bottom: -40px;
   width: 150px;
   height: 190px;
   background: rgba(255, 255, 255, .07);
   clip-path: var(--alfa-chevron);
}

.alfa-promise__text {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: 1.45rem;
   line-height: 1.35;
   color: #fff;
   margin: .5rem 0 0;
}

.alfa-promise__text span {
   display: block;
}

.alfa-cta {
   background: var(--alfa-navy-gradient);
   color: rgba(255, 255, 255, .88);
   border-radius: var(--alfa-radius-lg);
   padding: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
   position: relative;
   overflow: hidden;
}

.alfa-cta::after {
   content: '';
   position: absolute;
   right: 4%;
   top: 50%;
   width: 120px;
   height: 190px;
   transform: translateY(-50%);
   background: rgba(239, 126, 26, .25);
   clip-path: var(--alfa-chevron);
}

.alfa-cta h2 {
   color: #fff;
   font-size: var(--alfa-fs-h2);
   font-weight: 800;
}

.alfa-cta__address {
   display: flex;
   gap: .6rem;
   margin: 1rem 0 1.5rem;
   max-width: 620px;
   font-size: 1.05rem;
   position: relative;
   z-index: 1;
}

.alfa-cta__address .bi {
   color: var(--alfa-orange);
   font-size: 1.2rem;
}

.alfa-cta .alfa-btn-row {
   position: relative;
   z-index: 1;
}

/* People card. Rest: portrait over a white info panel. Hover/focus: an orange block appears behind the
   portrait's top-left corner and the info panel turns navy with white text (reference design, brand colours). */
.alfa-pcard {
   position: relative;
   isolation: isolate;
   display: flex;
   flex-direction: column;
   width: 100%;
   padding: 1rem 0 0 1rem;
}

/* orange corner block */
.alfa-pcard::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
   width: 42%;
   height: 38%;
   border-radius: 6px;
   background: var(--alfa-orange);
   opacity: 0;
   transform: translate(10px, 10px);
   transition: opacity .35s var(--alfa-ease), transform .35s var(--alfa-ease);
}

/* info panel: from 55% of the portrait down to the bottom */
.alfa-pcard::after {
   content: '';
   position: absolute;
   top: 48%;
   right: 0;
   bottom: 0;
   left: 2rem;
   z-index: -1;
   border-radius: 6px;
   background: #fff;
   box-shadow: 0 18px 40px rgba(12, 42, 87, .12);
   transition: background-color .35s var(--alfa-ease), box-shadow .35s var(--alfa-ease);
}

.alfa-pcard:hover::before,
.alfa-pcard:focus-within::before {
   opacity: 1;
   transform: none;
}

.alfa-pcard:hover::after,
.alfa-pcard:focus-within::after {
   background: var(--alfa-navy-gradient);
   box-shadow: 0 24px 50px rgba(12, 42, 87, .3);
}

.alfa-pcard__photo {
   position: relative;
   overflow: hidden;
   margin-right: 1rem;
   aspect-ratio: 4 / 5;
   border: 2px solid var(--alfa-line);
   border-radius: 6px;
   background: #fff;
   transition: border-color .35s;
}

.alfa-pcard:hover .alfa-pcard__photo,
.alfa-pcard:focus-within .alfa-pcard__photo {
   border-color: var(--alfa-navy);
}

.alfa-pcard__photo picture {
   display: block;
   width: 100%;
   height: 100%;
}

.alfa-pcard__photo img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 0;
   transition: transform .6s var(--alfa-ease);
}

.alfa-pcard:hover .alfa-pcard__photo img {
   transform: scale(1.04);
}

.alfa-pcard__initials {
   display: grid;
   place-items: center;
   width: 100%;
   height: 100%;
   background: var(--alfa-navy-gradient);
   color: #fff;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: 3rem;
}

.alfa-pcard__info {
   flex: 1;
   padding: 1.1rem 1.1rem 1.4rem 3rem;
}

.alfa-pcard__name {
   margin: 0 0 .25rem;
   font-size: 1.08rem;
   font-weight: 800;
   color: var(--alfa-navy);
   transition: color .35s;
}

.alfa-pcard__role {
   margin: 0 0 1.1rem;
   color: var(--alfa-muted);
   font-size: .88rem;
   line-height: 1.45;
   transition: color .35s;
}

.alfa-pcard:hover .alfa-pcard__name,
.alfa-pcard:focus-within .alfa-pcard__name {
   color: #fff;
}

.alfa-pcard:hover .alfa-pcard__role,
.alfa-pcard:focus-within .alfa-pcard__role {
   color: rgba(255, 255, 255, .85);
}

.alfa-pcard__btn {
   padding: .55rem 1.2rem;
   border: 0;
   border-radius: 6px;
   background: var(--alfa-blue);
   color: #fff;
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .85rem;
   cursor: pointer;
   transition: background-color .3s, color .3s;
}

.alfa-pcard:hover .alfa-pcard__btn,
.alfa-pcard:focus-within .alfa-pcard__btn {
   background: #fff;
   color: var(--alfa-blue);
}

.alfa-pcard .alfa-pcard__btn:hover {
   background: var(--alfa-orange);
   color: #fff;
}

.alfa-pcard__btn:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 2px;
}

/* "Know more" profile window: navy header with a small portrait, name and title; text scrolls below */
.alfa-profile .modal-content {
   overflow: hidden;
   border: 0;
   border-radius: 20px;
   box-shadow: 0 30px 80px rgba(4, 18, 42, .35);
}

.alfa-profile__head {
   position: relative;
   display: flex;
   align-items: center;
   gap: 1.25rem;
   padding: 1.5rem 3.75rem 1.5rem 1.5rem;
   overflow: hidden;
   background: var(--alfa-navy-gradient);
   color: #fff;
}

.alfa-profile__head::after {
   content: '';
   position: absolute;
   right: -30px;
   top: -40px;
   width: 140px;
   height: 200px;
   background: rgba(255, 255, 255, .06);
   clip-path: var(--alfa-chevron);
}

.alfa-profile__photo {
   flex: none;
   width: 96px;
   height: 96px;
   overflow: hidden;
   border: 3px solid #fff;
   border-radius: 999px;
   background: #fff;
   box-shadow: 0 10px 24px rgba(4, 18, 42, .35);
}

/* zoom in on the face: the portraits are head-and-shoulders */
.alfa-profile__photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 50% 0;
   transform: scale(1.55);
   transform-origin: 50% 12%;
}

.alfa-profile__photo .alfa-pcard__initials {
   font-size: 1.8rem;
}

.alfa-profile__team {
   margin: 0 0 .2rem;
   color: var(--alfa-orange);
   font-family: var(--alfa-font-head);
   font-size: .72rem;
   font-weight: 800;
   letter-spacing: .14em;
   text-transform: uppercase;
}

.alfa-profile__name {
   margin: 0 0 .2rem;
   font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem);
   font-weight: 800;
   color: #fff;
}

.alfa-profile__role {
   margin: 0;
   color: rgba(255, 255, 255, .85);
   font-weight: 600;
}

.alfa-profile__close {
   position: absolute;
   top: 1rem;
   right: 1rem;
   z-index: 1;
   display: grid;
   place-items: center;
   width: 38px;
   height: 38px;
   border: 0;
   border-radius: 999px;
   background: rgba(255, 255, 255, .14);
   color: #fff;
   cursor: pointer;
   transition: background-color .2s;
}

.alfa-profile__close:hover,
.alfa-profile__close:focus-visible {
   background: var(--alfa-orange);
   outline: none;
}

.alfa-profile__body {
   padding: 1.5rem 1.75rem 1.75rem;
}

.alfa-profile__body p {
   margin: 0 0 1rem;
   color: var(--alfa-text);
   line-height: 1.8;
}

.alfa-profile__body p:last-child {
   margin-bottom: 0;
}

.alfa-profile__soon {
   color: var(--alfa-muted) !important;
   font-style: italic;
}

@media (max-width: 575.98px) {
   .alfa-profile__head {
      gap: 1rem;
      padding: 1.25rem 3.5rem 1.25rem 1.25rem;
   }

   .alfa-profile__photo {
      width: 72px;
      height: 72px;
   }
}

/* ==========================================================================
   18. Inner-page hero with breadcrumb
   ========================================================================== */
.alfa-page-hero {
   position: relative;
   isolation: isolate;
   overflow: hidden;
   background: var(--alfa-navy);
   color: #fff;
   padding: clamp(2.5rem, 1.75rem + 3vw, 4.25rem) 0 clamp(2.25rem, 1.75rem + 2.5vw, 3.75rem);
}

.alfa-page-hero__bg {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   width: 55%;
   height: 100%;
   object-fit: cover;
   /* favour the top of the photo so heads are not cut off when the banner is taller than the image */
   object-position: 50% 15%;
   z-index: -2;
   clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}

/* Contact banner: the head office photo is portrait, so show the top of the tower with the Greenscape sign */
.alfa-page-hero__bg[src*="hq-vashi"] {
   object-position: 50% 8%;
}

/* Desktop/tablet: banner height follows the width of the photo area (55% of the screen, ~16:9),
   so a landscape photo is shown almost in full instead of being cut to a thin strip */
@media (min-width: 768px) {
   .alfa-page-hero {
      display: flex;
      align-items: center;
      min-height: clamp(320px, 25vw, 540px);
   }

   .alfa-page-hero>.container {
      width: 100%;
   }
}

/* Page banners: keep the people in each photo in view */
/* Takes the Field banner: the audience fills the lower part of the photo, the ceiling the upper part */
.alfa-page-hero__bg[src*="field-force-2026/13"] {
   object-position: 50% 80%;
}

.alfa-page-hero__bg[src*="hero-about"] {
   object-position: 45% 35%;
}

.alfa-page-hero__bg[src*="hero-people"] {
   object-position: 60% 60%;
}

.alfa-page-hero__bg[src*="hero-compliance"] {
   object-position: 55% 55%;
}

.alfa-page-hero__bg[src*="hero-products"] {
   object-position: 45% 40%;
}

/* Careers banner: keep the figure on the staircase in view */
.alfa-page-hero__bg[src*="careers-hero"] {
   object-position: 40% 38%;
}

.alfa-page-hero::before {
   content: '';
   position: absolute;
   inset: 0;
   z-index: -1;
   /* no gradient: on desktop the photo shows as-is beside the solid navy text area */
   background: none;
}

.alfa-page-hero__title {
   color: #fff;
   font-size: var(--alfa-fs-h1);
   font-weight: 800;
   margin: .5rem 0 0;
   max-width: 760px;
   text-wrap: balance;
}

.alfa-page-hero__lead {
   color: rgba(255, 255, 255, .86);
   font-size: var(--alfa-fs-lead);
   max-width: 620px;
   margin: 1rem 0 0;
}

/* Keep the heading and lead inside the navy area: the photo starts at 45% of the screen width,
   so the text may run from the container's left edge up to just before that line. */
@media (min-width: 768px) {
   .alfa-page-hero {
      --alfa-cw: 720px;
   }

   .alfa-page-hero__title,
   .alfa-page-hero__lead {
      max-width: min(760px, calc(45vw - (100vw - var(--alfa-cw)) / 2 - 12px - 3rem));
   }
}

@media (min-width: 992px) {
   .alfa-page-hero {
      --alfa-cw: 960px;
   }
}

@media (min-width: 1200px) {
   .alfa-page-hero {
      --alfa-cw: 1140px;
   }
}

@media (min-width: 1400px) {
   .alfa-page-hero {
      --alfa-cw: 1320px;
   }
}

.alfa-crumbs {
   display: flex;
   flex-wrap: wrap;
   gap: .3rem .5rem;
   list-style: none;
   margin: 0 0 .75rem;
   padding: 0;
   font-size: .85rem;
   font-weight: 700;
}

.alfa-crumbs li {
   display: inline-flex;
   align-items: center;
   gap: .5rem;
   color: rgba(255, 255, 255, .78);
}

.alfa-crumbs li+li::before {
   content: '';
   width: 6px;
   height: 10px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

.alfa-crumbs a {
   color: #fff;
   text-decoration: none;
}

.alfa-crumbs a:hover {
   text-decoration: underline;
}

@media (max-width: 767.98px) {
   .alfa-page-hero__bg {
      width: 100%;
      clip-path: none;
   }

   .alfa-page-hero::before {
      /* phones: photo sits behind the text, so a flat navy tint keeps the heading readable */
      background: rgba(12, 42, 87, .86);
   }
}

/* ==========================================================================
   19. Alternating feature rows (therapy areas, services) + detail blocks
   ========================================================================== */
.alfa-feature+.alfa-feature {
   margin-top: clamp(3.5rem, 2.5rem + 3vw, 5.5rem);
}

.alfa-feature__num {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: 3.25rem;
   line-height: 1;
   color: transparent;
   -webkit-text-stroke: 1.5px var(--alfa-blue);
   margin-bottom: .5rem;
}

.alfa-feature__title {
   font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem);
   font-weight: 800;
   display: flex;
   gap: .7rem;
   align-items: flex-start;
}

.alfa-feature__title .bi {
   color: var(--alfa-orange-700);
}

.alfa-note {
   display: flex;
   gap: .75rem;
   align-items: flex-start;
   background: #FFF6EC;
   border-left: 4px solid var(--alfa-orange);
   border-radius: 0 var(--alfa-radius-sm) var(--alfa-radius-sm) 0;
   padding: .9rem 1.1rem;
   font-size: .92rem;
   color: var(--alfa-ink);
   margin: 1.25rem 0;
}

.alfa-note .bi {
   color: var(--alfa-orange-700);
   font-size: 1.2rem;
}

.alfa-specs {
   display: grid;
   grid-template-columns: max-content 1fr;
   gap: .6rem 1.5rem;
   margin: 1.25rem 0;
   padding: 1.25rem 0;
   border-top: 1px solid var(--alfa-line);
   border-bottom: 1px solid var(--alfa-line);
}

.alfa-specs dt {
   font-weight: 700;
   color: var(--alfa-muted);
   font-size: .9rem;
}

.alfa-specs dd {
   margin: 0;
   color: var(--alfa-ink);
   font-weight: 700;
}

.alfa-packshot {
   background: var(--alfa-tint);
   border-radius: var(--alfa-radius-lg);
   padding: 6%;
   position: relative;
   box-shadow: inset 0 0 0 1px var(--alfa-line);
}

.alfa-packshot img {
   display: block;
   width: 100%;
   aspect-ratio: 1 / 1;
   object-fit: contain;
}

.alfa-packshot .alfa-badge {
   position: absolute;
   left: 1rem;
   top: 1rem;
}

.alfa-empty {
   text-align: center;
   color: var(--alfa-muted);
   padding: 2rem;
   background: var(--alfa-tint);
   border-radius: var(--alfa-radius);
}

/* ==========================================================================
   20. Blog article + sidebar + share
   ========================================================================== */
.alfa-post__cover {
   border-radius: var(--alfa-radius-lg);
   overflow: hidden;
   margin-bottom: 1.5rem;
}

.alfa-post__cover img {
   width: 100%;
   aspect-ratio: 16 / 9;
   object-fit: cover;
   display: block;
}

.alfa-post__meta {
   display: flex;
   flex-wrap: wrap;
   gap: .4rem 1.25rem;
   color: var(--alfa-muted);
   font-size: .92rem;
   margin: .75rem 0 1.5rem;
}

.alfa-post__meta .bi {
   color: var(--alfa-orange-700);
}

.alfa-post__title {
   font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem);
   font-weight: 800;
   margin: .5rem 0 0;
}

.alfa-post__body {
   font-size: 1.075rem;
   line-height: 1.8;
   color: var(--alfa-text);
}

.alfa-post__body h2 {
   font-size: 1.55rem;
   font-weight: 800;
   margin: 2.25rem 0 .75rem;
}

.alfa-post__body h3 {
   font-size: 1.25rem;
   margin: 1.75rem 0 .5rem;
}

.alfa-post__body p {
   margin-bottom: 1.1rem;
}

.alfa-post__body ul,
.alfa-post__body ol {
   padding-left: 0;
   list-style: none;
   margin: 0 0 1.25rem;
}

.alfa-post__body li {
   position: relative;
   padding-left: 1.6rem;
   margin-bottom: .5rem;
}

.alfa-post__body li::before {
   content: '';
   position: absolute;
   left: 0;
   top: .5em;
   width: 9px;
   height: 14px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

.alfa-post__body blockquote {
   margin: 2rem 0;
   padding: 1.5rem 1.75rem 1.5rem 2.25rem;
   background: var(--alfa-tint-2);
   border-radius: var(--alfa-radius);
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: 1.2rem;
   line-height: 1.5;
   color: var(--alfa-navy);
   position: relative;
}

.alfa-post__body blockquote::before {
   content: '';
   position: absolute;
   left: -8px;
   top: 1.6rem;
   width: 16px;
   height: 26px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

.alfa-post__body figure {
   margin: 2rem 0;
}

.alfa-post__body figure img {
   width: 100%;
   border-radius: var(--alfa-radius);
}

.alfa-post__body figcaption {
   font-size: .85rem;
   color: var(--alfa-muted);
   margin-top: .5rem;
}

.alfa-post__body a {
   color: var(--alfa-blue);
   text-decoration-thickness: 1px;
   text-underline-offset: 3px;
}

.alfa-share {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: .5rem;
   padding: 1.25rem 0;
   margin-top: 2rem;
   border-top: 1px solid var(--alfa-line);
   border-bottom: 1px solid var(--alfa-line);
}

.alfa-share__label {
   font-weight: 700;
   color: var(--alfa-ink);
   margin-right: .25rem;
}

.alfa-author {
   display: flex;
   gap: 1rem;
   align-items: center;
   background: var(--alfa-tint);
   border-radius: var(--alfa-radius);
   padding: 1.25rem;
   margin-top: 2rem;
}

.alfa-author img {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   background: #fff;
   padding: 4px;
   flex: none;
}

.alfa-author__name {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   color: var(--alfa-ink);
   margin: 0;
}

.alfa-author p {
   margin: 0;
   font-size: .92rem;
}

.alfa-sidebar {
   display: grid;
   gap: 1.5rem;
}

@media (min-width: 992px) {
   .alfa-sidebar {
      position: sticky;
      top: 110px;
   }
}

.alfa-sidebar__block {
   background: #fff;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow);
   padding: 1.25rem;
}

.alfa-sidebar__title {
   font-size: 1.05rem;
   font-weight: 800;
   display: flex;
   align-items: center;
   gap: .55rem;
   margin: 0 0 1rem;
}

.alfa-mini-posts {
   list-style: none;
   padding: 0;
   margin: 0;
}

.alfa-mini-posts li+li {
   border-top: 1px solid var(--alfa-line);
}

.alfa-mini-posts a {
   display: grid;
   grid-template-columns: 64px 1fr;
   gap: .85rem;
   align-items: center;
   padding: .75rem 0;
   text-decoration: none;
   color: var(--alfa-ink);
   font-weight: 700;
   font-size: .9rem;
   line-height: 1.35;
}

.alfa-mini-posts img {
   width: 64px;
   height: 64px;
   border-radius: var(--alfa-radius-sm);
   object-fit: cover;
}

.alfa-mini-posts time {
   display: block;
   font-weight: 400;
   color: var(--alfa-muted);
   font-size: .8rem;
   margin-top: .2rem;
}

.alfa-mini-posts a:hover {
   color: var(--alfa-blue);
}

.alfa-featured-post {
   display: grid;
   gap: 2rem;
   align-items: center;
   margin-bottom: 3rem;
}

@media (min-width: 992px) {
   .alfa-featured-post {
      grid-template-columns: 1.1fr 1fr;
      gap: 3rem;
   }
}

.alfa-featured-post__title {
   font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
   font-weight: 800;
}

.alfa-featured-post__title a {
   color: inherit;
   text-decoration: none;
}

.alfa-featured-post__title a:hover {
   color: var(--alfa-blue);
}

/* ==========================================================================
   21. Contact page
   ========================================================================== */
.alfa-map {
   border-radius: var(--alfa-radius-lg);
   overflow: hidden;
   height: 100%;
   min-height: 380px;
   box-shadow: var(--alfa-shadow);
}

.alfa-map iframe {
   width: 100%;
   height: 100%;
   min-height: 380px;
   border: 0;
   display: block;
}

.alfa-contact-item {
   display: flex;
   gap: 1rem;
   align-items: flex-start;
}

.alfa-contact-item .alfa-card__icon {
   margin: 0;
}

.alfa-contact-item h2 {
   font-size: 1.05rem;
   margin: .15rem 0 .25rem;
}

.alfa-contact-item p {
   margin: 0;
}

/* ==========================================================================
   22. Footer
   ========================================================================== */
.alfa-footer {
   background: var(--alfa-navy);
   color: rgba(255, 255, 255, .78);
   font-size: .95rem;
}

.alfa-footer::before {
   content: '';
   display: block;
   height: 6px;
   background: var(--alfa-gradient);
}

.alfa-footer__main {
   padding: clamp(3rem, 2.5rem + 2vw, 4.5rem) 0 2.5rem;
}

.alfa-footer__logo {
   display: inline-block;
   background: #fff;
   border-radius: var(--alfa-radius);
   padding: .6rem 1rem;
}

.alfa-footer__logo img {
   height: 60px;
   width: auto;
   display: block;
}

.alfa-footer__tag {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   color: #fff;
   font-size: 1.15rem;
   line-height: 1.35;
   margin: 1.25rem 0 .4rem;
}

.alfa-footer__tag span {
   display: block;
}

.alfa-footer__heading {
   font-family: var(--alfa-font-head);
   font-size: .8rem;
   font-weight: 800;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #fff;
   margin: 0 0 1rem;
   display: flex;
   align-items: center;
   gap: .55rem;
}

.alfa-footer__links {
   list-style: none;
   padding: 0;
   margin: 0;
}

.alfa-footer__links a {
   display: inline-flex;
   min-height: 34px;
   align-items: center;
   color: rgba(255, 255, 255, .8);
   text-decoration: none;
}

.alfa-footer__links a:hover {
   color: #fff;
   text-decoration: underline;
   text-underline-offset: 3px;
}

.alfa-footer__contact {
   display: flex;
   gap: .65rem;
   margin-bottom: .9rem;
}

.alfa-footer__contact .bi {
   color: var(--alfa-orange);
   font-size: 1.1rem;
}

.alfa-footer__contact a {
   color: #fff;
}

.alfa-footer__bottom {
   border-top: 1px solid rgba(255, 255, 255, .12);
   padding: 1.25rem 0;
   font-size: .85rem;
   color: rgba(255, 255, 255, .66);
}

.alfa-footer__bottom a {
   color: rgba(255, 255, 255, .85);
   text-decoration: none;
}

.alfa-footer__bottom a:hover {
   color: #fff;
   text-decoration: underline;
}

@media (max-width: 767.98px) {
   .alfa-footer__links a {
      min-height: 44px;
   }
}

/* ==========================================================================
   23. 404
   ========================================================================== */
.alfa-404 {
   text-align: center;
   max-width: 640px;
   margin: 0 auto;
}

.alfa-404__code {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(4rem, 3rem + 5vw, 7rem);
   line-height: 1;
   color: transparent;
   -webkit-text-stroke: 2px var(--alfa-blue);
}

.alfa-sticky-offset {
   top: 110px;
}

/* ==========================================================================
   24. Products (client range): filter counts, trademark symbols, pack shots, composition panel, lightbox
   ========================================================================== */
[data-category][hidden] {
   display: none !important;
}

.alfa-chip__count {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 1.5em;
   height: 1.5em;
   padding: 0 .35em;
   border-radius: 999px;
   background: var(--alfa-tint-2);
   color: var(--alfa-blue-700);
   font-size: .75rem;
}

.alfa-chip.is-active .alfa-chip__count {
   background: rgba(255, 255, 255, .2);
   color: #fff;
}

.alfa-tm {
   font-size: .6em;
   line-height: 0;
   margin-left: .02em;
   vertical-align: .4em;
}

.alfa-reg {
   font-size: .6em;
   line-height: 0;
   vertical-align: super;
   margin-left: .03em;
}

p.alfa-page-hero__title {
   line-height: 1.12;
   margin-bottom: 0;
}

.alfa-badge--wrap {
   white-space: normal;
   text-align: left;
   border-radius: 8px;
}

.alfa-card__media--packshot {
   aspect-ratio: 4 / 3;
   background: linear-gradient(180deg, #fff 0%, var(--alfa-tint) 100%);
}

.alfa-card__media--packshot img {
   object-fit: contain;
   padding: 8%;
}

a.alfa-card:hover .alfa-card__media--packshot img {
   transform: scale(1.04);
}

.alfa-packshot--zoom {
   display: block;
   width: 100%;
   border: 0;
   cursor: zoom-in;
   background: linear-gradient(180deg, #fff 0%, var(--alfa-tint) 100%);
}

.alfa-packshot--zoom img {
   aspect-ratio: 4 / 3;
}

.alfa-packshot__hint {
   position: absolute;
   right: 1rem;
   bottom: 1rem;
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   padding: .35rem .75rem;
   border-radius: 999px;
   background: rgba(12, 42, 87, .75);
   color: #fff;
   font-size: .8rem;
   font-weight: 700;
}

.alfa-composition-panel {
   background: var(--alfa-tint);
   border: 1px solid var(--alfa-line);
   border-left: 4px solid var(--alfa-blue);
   border-radius: var(--alfa-radius-sm);
   padding: 1rem 1.15rem;
   line-height: 1.75;
   overflow-wrap: break-word;
   hyphens: manual;
   color: var(--alfa-ink);
}

.alfa-composition-panel p {
   margin: 0;
}

.alfa-composition-panel p+p {
   margin-top: .5rem;
}

.alfa-detail-label {
   font-family: var(--alfa-font-head);
   font-size: .75rem;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--alfa-muted);
   margin: 1.25rem 0 .4rem;
}

.alfa-product-title {
   font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.6rem);
   font-weight: 800;
   margin: .5rem 0 0;
}

.alfa-benefits {
   background: #fff;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow);
   padding: 1.25rem 1.4rem;
   height: 100%;
   border-top: 4px solid var(--alfa-orange);
}

.alfa-benefits h3 {
   font-size: 1.1rem;
   margin-bottom: .5rem;
}

.alfa-lightbox .modal-content {
   border: 0;
   border-radius: var(--alfa-radius-lg);
   overflow: hidden;
}

.alfa-lightbox .modal-body {
   background: #fff;
   padding: 1.5rem;
}

.alfa-lightbox img {
   width: 100%;
   height: auto;
   max-height: 80vh;
   object-fit: contain;
}

.alfa-disclaimer {
   margin: 0;
}

.alfa-nowrap {
   white-space: nowrap;
}

/* ==========================================================================
   25. Category filter sidebar (shared by Our Products and Therapy Areas)
   Desktop: sticky card in the left column. Below 992px: a "Filter: …" button that opens the same list.
   ========================================================================== */
:root {
   --alfa-header-h: 76px;
}

/* updated by main.js to the real header height */
.alfa-filter-sidebar__toggle {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   width: 100%;
   min-height: 48px;
   padding: .75rem 1rem;
   border: 1px solid var(--alfa-line);
   border-radius: var(--alfa-radius);
   background: #fff;
   box-shadow: var(--alfa-shadow);
   color: var(--alfa-ink);
   font: inherit;
   font-weight: 600;
   text-align: left;
}

.alfa-filter-sidebar__toggle-label {
   color: var(--alfa-muted);
   font-weight: 600;
}

.alfa-filter-sidebar__toggle strong {
   color: var(--alfa-blue);
   font-weight: 700;
}

.alfa-filter-sidebar__toggle .bi {
   transition: transform .25s var(--alfa-ease);
   color: var(--alfa-muted);
}

.alfa-filter-sidebar__toggle[aria-expanded="true"] .bi {
   transform: rotate(180deg);
}

.alfa-filter-sidebar__panel {
   margin-top: .5rem;
}

.alfa-filter-sidebar__card {
   background: #fff;
   border: 1px solid var(--alfa-line);
   border-radius: 12px;
   box-shadow: var(--alfa-shadow);
   padding: 20px;
}

.alfa-filter-sidebar__heading {
   margin: 0 0 .85rem;
   padding-bottom: .85rem;
   border-bottom: 1px solid var(--alfa-line);
   font-family: var(--alfa-font-head);
   font-size: .75rem;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--alfa-muted);
}

.alfa-filter-sidebar__list {
   list-style: none;
   margin: 0;
   padding: 0;
   display: grid;
   gap: 2px;
}

.alfa-filter-sidebar__item {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: .75rem;
   min-height: 44px;
   padding: .65rem .85rem;
   border-radius: 8px;
   color: #3A4458;
   font-size: .95rem;
   font-weight: 500;
   line-height: 1.3;
   text-decoration: none;
   transition: background-color .2s var(--alfa-ease), color .2s var(--alfa-ease);
}

.alfa-filter-sidebar__item:hover {
   background: #EEF2F8;
   color: var(--alfa-ink);
}

.alfa-filter-sidebar__item.is-active {
   background: rgba(27, 78, 154, .08);
   color: var(--alfa-blue);
   font-weight: 700;
}

.alfa-filter-sidebar__item.is-active::before {
   content: '';
   position: absolute;
   left: 0;
   top: 8px;
   bottom: 8px;
   width: 3px;
   border-radius: 0 3px 3px 0;
   background: var(--alfa-blue);
}

.alfa-filter-sidebar__item:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 1px;
}

.alfa-filter-sidebar__count {
   flex: none;
   min-width: 1.9em;
   padding: .1rem .5rem;
   border-radius: 999px;
   background: #EEF2F8;
   color: #5B6780;
   font-size: .75rem;
   font-weight: 700;
   text-align: center;
}

.alfa-filter-sidebar__item.is-active .alfa-filter-sidebar__count {
   background: #fff;
   color: var(--alfa-blue);
}

@media (min-width: 992px) {

   /* The sticky element itself must not be the scroll container (Chrome then scrolls the page when a row gets focus),
     so the card inside it scrolls when the list is taller than the viewport. */
   .alfa-filter-sidebar {
      position: sticky;
      top: calc(var(--alfa-header-h) + 24px);
   }

   .alfa-filter-sidebar__card {
      max-height: calc(100vh - var(--alfa-header-h) - 48px);
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: #D3DCEA transparent;
   }

   .alfa-filter-sidebar__card::-webkit-scrollbar {
      width: 6px;
   }

   .alfa-filter-sidebar__card::-webkit-scrollbar-thumb {
      background: #D3DCEA;
      border-radius: 3px;
   }

   .alfa-filter-sidebar__toggle {
      display: none;
   }

   .alfa-filter-sidebar__panel.collapse,
   .alfa-filter-sidebar__panel.collapsing {
      display: block !important;
      height: auto !important;
      margin-top: 0;
      transition: none;
   }
}

/* Bar above the filtered grid */
.alfa-filter-toolbar {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   min-height: calc(44px + .75rem + 1px);
   /* room for the 44px reset link, so showing it never shifts the grid */
   margin-bottom: 1.25rem;
   padding-bottom: .75rem;
   border-bottom: 1px solid var(--alfa-line);
}

.alfa-filter-toolbar__status {
   margin: 0;
   font-size: .875rem;
   color: var(--alfa-muted);
}

.alfa-filter-toolbar__status strong {
   color: var(--alfa-ink);
}

.alfa-filter-toolbar__reset {
   display: inline-flex;
   align-items: center;
   gap: .35rem;
   min-height: 44px;
   padding: 0 .25rem;
   font-size: .875rem;
   font-weight: 600;
   color: var(--alfa-blue);
   text-decoration: none;
   white-space: nowrap;
}

.alfa-filter-toolbar__reset[hidden] {
   display: none;
}

.alfa-filter-toolbar__reset:hover {
   text-decoration: underline;
}

.alfa-filter-empty {
   margin: 0;
   padding: 1.25rem;
   border-radius: var(--alfa-radius);
   background: var(--alfa-tint);
   color: var(--alfa-muted);
}

.alfa-filter-empty[hidden] {
   display: none;
}

/* Newly shown items fade/rise in (opacity + transform only, so nothing jumps) */
@keyframes alfa-filter-in {
   from {
      opacity: 0;
      transform: translateY(8px);
   }

   to {
      opacity: 1;
      transform: none;
   }
}

.is-filter-in {
   animation: alfa-filter-in .35s var(--alfa-ease) both;
}

@media (prefers-reduced-motion: reduce) {
   .is-filter-in {
      animation: none;
   }
}

[data-category][hidden] {
   display: none !important;
}

/* Filterable list of feature rows (Therapy Areas): spacing via gap, so hiding the first row never shifts the rest */
.alfa-filter-results {
   display: flex;
   flex-direction: column;
   gap: clamp(3rem, 2rem + 2.5vw, 4.5rem);
}

.alfa-filter-results>.alfa-feature {
   margin-top: 0;
}

/* ==========================================================================
   Careers: "Why Work With Us" (heading row, tall photo, bordered value rows) + full-width application panel
   ========================================================================== */
.alfa-why__head {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: .4rem;
   text-align: center;
   margin-bottom: 1.25rem;
}

.alfa-why__brand {
   margin: 0;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: .8rem;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: var(--alfa-orange-700);
}

.alfa-why__title {
   margin: 0;
   font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem);
   font-weight: 600;
   letter-spacing: -.02em;
   color: var(--alfa-navy);
}

.alfa-why__lead {
   max-width: 860px;
   margin: 0 auto 2.75rem;
   text-align: center;
}

.alfa-why__media {
   height: 100%;
   margin: 0;
}

.alfa-why__media img {
   display: block;
   width: 100%;
   height: 100%;
   aspect-ratio: 4 / 3;
   object-fit: cover;
   object-position: 50% 58%;
   border-radius: var(--alfa-radius-lg);
}

.alfa-why__list {
   list-style: none;
   margin: 0;
   padding: 0;
   border-top: 1px solid var(--alfa-line);
}

.alfa-why__row {
   display: grid;
   grid-template-columns: 76px 1fr;
   border-bottom: 1px solid var(--alfa-line);
   transition: background-color .3s, box-shadow .3s;
}

.alfa-why__row:hover {
   background: #fff;
   box-shadow: 0 14px 34px rgba(12, 42, 87, .08);
}

.alfa-why__icon {
   display: grid;
   place-items: center;
   border-right: 1px solid var(--alfa-line);
   isolation: isolate;
   font-size: 1.9rem;
   color: var(--alfa-blue);
}

.alfa-why__icon i {
   position: relative;
}

/* small orange disc behind each icon */
.alfa-why__icon i::after {
   content: '';
   position: absolute;
   left: -.15em;
   bottom: -.05em;
   width: .62em;
   height: .62em;
   border-radius: 999px;
   background: rgba(239, 126, 26, .35);
   z-index: -1;
}

.alfa-why__body {
   padding: 1.35rem 1.1rem;
}

.alfa-why__name {
   margin: 0 0 .35rem;
   font-size: 1.2rem;
   font-weight: 600;
   color: var(--alfa-navy);
}

.alfa-why__text {
   margin: 0;
   line-height: 1.7;
   color: var(--alfa-muted);
}

@media (min-width: 768px) {
   .alfa-why__head {
      flex-direction: row;
      justify-content: center;
      gap: 1.5rem;
   }

   .alfa-why__brand {
      padding-right: 1.5rem;
      border-right: 1px solid rgba(12, 42, 87, .35);
   }

   .alfa-why__row {
      grid-template-columns: 150px 1fr;
   }

   .alfa-why__icon {
      font-size: 2.3rem;
   }

   .alfa-why__body {
      padding: 1.6rem 2.25rem;
   }
}

@media (min-width: 992px) {
   .alfa-why__media img {
      aspect-ratio: auto;
   }
}

.alfa-apply {
   padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
}

/* ==========================================================================
   Therapy Areas page: one full-width block per area, photo shown uncropped, sides alternating
   ========================================================================== */
.alfa-area {
   padding: clamp(2.5rem, 1.75rem + 3vw, 4.5rem) 0;
}

.alfa-area--flip {
   background: var(--alfa-tint);
}

.alfa-area__media {
   position: relative;
   isolation: isolate;
   margin: 0 1.25rem 1.25rem 0;
}

/* photo keeps its own shape: no cropping */
.alfa-area__media img {
   display: block;
   width: 100%;
   height: auto;
   border-radius: var(--alfa-radius-lg);
   box-shadow: 0 30px 60px rgba(12, 42, 87, .18);
}

/* offset brand block behind the photo */
.alfa-area__media::before {
   content: '';
   position: absolute;
   inset: 1.25rem -1.25rem -1.25rem 1.25rem;
   z-index: -1;
   border-radius: var(--alfa-radius-lg);
   background: linear-gradient(135deg, var(--alfa-blue), var(--alfa-navy));
}

.alfa-area--flip .alfa-area__media {
   margin: 0 0 1.25rem 1.25rem;
}

.alfa-area--flip .alfa-area__media::before {
   inset: 1.25rem 1.25rem -1.25rem -1.25rem;
   background: linear-gradient(135deg, var(--alfa-orange), var(--alfa-red));
}

.alfa-area__badge {
   position: absolute;
   left: 1rem;
   bottom: 1rem;
   display: flex;
   align-items: center;
   gap: .7rem;
   padding: .6rem 1rem .6rem .6rem;
   border-radius: 14px;
   background: #fff;
   color: var(--alfa-muted);
   font-size: .9rem;
   box-shadow: 0 14px 30px rgba(4, 18, 42, .22);
}

.alfa-area__badge strong {
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
}

.alfa-area__badge-icon {
   display: grid;
   place-items: center;
   width: 40px;
   height: 40px;
   border-radius: 10px;
   background: var(--alfa-blue);
   color: #fff;
   font-size: 1.15rem;
}

.alfa-area--flip .alfa-area__badge {
   left: auto;
   right: 1rem;
}

.alfa-area--flip .alfa-area__badge-icon {
   background: var(--alfa-orange-700);
}

/* large outlined number */
.alfa-area__num {
   margin: 0 0 .25rem;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(3.5rem, 2.5rem + 4vw, 6rem);
   line-height: 1;
   color: transparent;
   -webkit-text-stroke: 2px rgba(27, 78, 154, .22);
}

.alfa-area--flip .alfa-area__num {
   -webkit-text-stroke-color: rgba(239, 126, 26, .35);
}

.alfa-area__title {
   margin: .4rem 0 1rem;
   font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem);
   font-weight: 800;
   line-height: 1.15;
   color: var(--alfa-navy);
}

@media (max-width: 991.98px) {

   /* stacked: leave room below the offset block, keep the badge small */
   .alfa-area__media,
   .alfa-area--flip .alfa-area__media {
      margin-bottom: 2rem;
   }

   .alfa-area__badge {
      left: .75rem;
      bottom: .75rem;
      gap: .5rem;
      padding: .4rem .75rem .4rem .4rem;
      font-size: .8rem;
   }

   .alfa-area--flip .alfa-area__badge {
      right: .75rem;
   }

   .alfa-area__badge-icon {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      font-size: .95rem;
   }
}

@media (min-width: 992px) {
   .alfa-area__badge {
      left: -1.25rem;
      bottom: 2rem;
   }

   .alfa-area--flip .alfa-area__badge {
      left: auto;
      right: -1.25rem;
   }
}

/* ==========================================================================
   Header dropdown: level 1 panel + level 2 flyout attached to it
   (phones: level 2 listed under its parent inside the menu)
   ========================================================================== */
.alfa-sub__caret {
   display: none;
}

.alfa-sub__head {
   display: none;
}

.alfa-sub__menu {
   margin: -.35rem 0 .35rem 2.55rem;
   padding: 0 0 0 .75rem;
   border-left: 2px solid var(--alfa-line);
   list-style: none;
}

.alfa-nav .alfa-sub__item {
   display: flex;
   align-items: center;
   gap: .55rem;
   padding: .45rem .65rem;
   border-radius: var(--alfa-radius-sm);
   color: var(--alfa-text);
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .88rem;
   text-decoration: none;
   transition: background-color .2s, color .2s;
}

.alfa-nav .alfa-sub__item::before {
   content: '';
   flex: none;
   width: 5px;
   height: 8px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

.alfa-nav .alfa-sub__item:hover,
.alfa-nav .alfa-sub__item:focus-visible,
.alfa-nav .alfa-sub__item.active {
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
}

@media (min-width: 1200px) {

   /* level 1 panel: small gap under the bar, bridged so hover does not drop */
   .alfa-nav .dropdown-menu {
      margin-top: .6rem !important;
      min-width: 300px;
      padding: .6rem;
      border-radius: 14px;
      box-shadow: 0 22px 50px rgba(12, 42, 87, .16);
   }

   .alfa-nav .dropdown-menu::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: -.7rem;
      height: .7rem;
   }

   /* panels line up with the right edge of their menu item, leaving room for level 2 to open to the right */
   .alfa-nav .navbar-nav .dropdown-menu {
      left: auto;
      right: 0;
   }

   .alfa-nav .dropdown-menu::before {
      border-radius: 14px 14px 0 0;
   }

   /* parent row: caret on the right, highlighted while its flyout is open */
   .alfa-sub {
      position: relative;
   }

   .alfa-sub>.dropdown-item {
      align-items: center;
   }

   .alfa-sub>.dropdown-item>span {
      flex: 1;
   }

   .alfa-sub__caret {
      display: block;
      color: var(--alfa-orange-700);
      font-size: .85rem;
      transition: transform .2s var(--alfa-ease);
   }

   .alfa-sub:hover>.dropdown-item,
   .alfa-sub:focus-within>.dropdown-item {
      background: var(--alfa-tint-2);
      color: var(--alfa-blue);
   }

   .alfa-sub:hover .alfa-sub__caret,
   .alfa-sub:focus-within .alfa-sub__caret {
      transform: translateX(3px);
   }

   /* level 2 flyout: same card style, top-aligned with its parent row, just outside the panel */
   .alfa-sub__menu {
      position: absolute;
      top: -.6rem;
      left: calc(100% + .95rem);
      z-index: 2;
      display: block;
      min-width: 250px;
      margin: 0;
      padding: .6rem;
      border: 0;
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 22px 50px rgba(12, 42, 87, .16);
      opacity: 0;
      visibility: hidden;
      transform: translateX(-8px);
      transition: opacity .2s, transform .2s var(--alfa-ease), visibility 0s linear .2s;
   }

   /* stripe + bridge across the gap to the panel */
   .alfa-sub__menu::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      border-radius: 14px 14px 0 0;
      background: var(--alfa-gradient);
   }

   .alfa-sub__menu::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -1rem;
      width: 1rem;
   }

   .alfa-sub:hover>.alfa-sub__menu,
   .alfa-sub:focus-within>.alfa-sub__menu {
      opacity: 1;
      visibility: visible;
      transform: none;
      transition: opacity .2s, transform .2s var(--alfa-ease);
   }

   .alfa-sub__head {
      display: block;
      padding: .45rem .65rem .35rem;
      color: var(--alfa-muted);
      font-family: var(--alfa-font-head);
      font-size: .7rem;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
   }

   /* no room on the right (main.js adds .is-left): open to the left instead */
   .alfa-sub.is-left>.alfa-sub__menu {
      left: auto;
      right: calc(100% + .95rem);
      transform: translateX(8px);
   }

   .alfa-sub.is-left:hover>.alfa-sub__menu,
   .alfa-sub.is-left:focus-within>.alfa-sub__menu {
      transform: none;
   }

   .alfa-sub.is-left>.alfa-sub__menu::after {
      left: auto;
      right: -1rem;
   }

   .alfa-sub.is-left .alfa-sub__caret {
      transform: rotate(180deg);
   }

   .alfa-sub.is-left:hover .alfa-sub__caret,
   .alfa-sub.is-left:focus-within .alfa-sub__caret {
      transform: rotate(180deg) translateX(3px);
   }
}

/* ==========================================================================
   Home: Our Partners (compact band with a continuous logo scroller)
   ========================================================================== */
.alfa-marquee {
   --alfa-marquee-gap: 2.5rem;
   margin-top: 1.5rem;
}

.alfa-marquee+.alfa-marquee {
   margin-top: 2.5rem;
}

.alfa-marquee__label {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: .5rem;
   margin: 0 0 .75rem;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: .78rem;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: var(--alfa-blue);
}

/* soft fade at both edges */
.alfa-marquee__viewport {
   overflow: hidden;
   -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
   mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.alfa-marquee__track {
   display: flex;
   width: max-content;
   animation: alfa-marquee 60s linear infinite;
}

.alfa-marquee--reverse .alfa-marquee__track {
   animation-direction: reverse;
   animation-duration: 45s;
}

.alfa-marquee:hover .alfa-marquee__track,
.alfa-marquee:focus-within .alfa-marquee__track {
   animation-play-state: paused;
}

/* each group ends with one gap, so moving by exactly half the track loops seamlessly */
.alfa-marquee__group {
   display: flex;
   flex: none;
   align-items: center;
   gap: var(--alfa-marquee-gap);
   margin: 0;
   padding: .75rem var(--alfa-marquee-gap) .75rem 0;
   list-style: none;
}

.alfa-marquee__group a {
   display: block;
   border-radius: var(--alfa-radius);
}

.alfa-marquee__group a:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 4px;
}

/* partners: logos on light tiles */
.alfa-marquee--partner li {
   display: grid;
   place-items: center;
   height: 72px;
   padding: 0 1.75rem;
   border-radius: 14px;
   background: var(--alfa-tint);
   transition: background-color .3s, transform .3s var(--alfa-ease), box-shadow .3s;
}

.alfa-marquee--partner li:hover {
   background: #fff;
   transform: translateY(-3px);
   box-shadow: 0 10px 24px rgba(12, 42, 87, .12);
}

.alfa-marquee--partner img {
   display: block;
   width: auto;
   max-width: 150px;
   height: auto;
   max-height: 44px;
}

@keyframes alfa-marquee {
   to {
      transform: translateX(-50%);
   }
}

@media (max-width: 767.98px) {
   .alfa-marquee {
      --alfa-marquee-gap: 1.5rem;
   }

   .alfa-marquee--partner li {
      height: 62px;
      padding: 0 1.25rem;
   }

   .alfa-marquee--partner img {
      max-width: 120px;
      max-height: 36px;
   }
}

/* no movement for people who prefer reduced motion: the row can be scrolled sideways instead */
@media (prefers-reduced-motion: reduce) {
   .alfa-marquee__track {
      animation: none;
   }

   .alfa-marquee__viewport {
      overflow-x: auto;
   }

   .alfa-marquee__group[aria-hidden='true'] {
      display: none;
   }
}

.alfa-partners {
   padding: clamp(2rem, 1.5rem + 2vw, 3rem) 0;
   background: #fff;
}

.alfa-partners__inner {
   border: 1px solid var(--alfa-line);
   display: grid;
   gap: 1.25rem;
   align-items: center;
   padding: 1.5rem 1.25rem;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 16px 40px rgba(12, 42, 87, .08);
}

.alfa-partners__head {
   text-align: center;
}

.alfa-partners__head .alfa-kicker {
   justify-content: center;
}

.alfa-partners__title {
   margin: 0;
   font-size: clamp(1.4rem, 1.2rem + .8vw, 1.75rem);
   font-weight: 800;
   color: var(--alfa-navy);
}

.alfa-partners__text {
   margin: .25rem 0 0;
   font-size: .92rem;
   color: var(--alfa-muted);
}

.alfa-partners__rail {
   min-width: 0;
}

.alfa-partners .alfa-marquee {
   margin: 0;
   --alfa-marquee-gap: 1.25rem;
}

@media (min-width: 992px) {
   .alfa-partners__inner {
      grid-template-columns: 240px 1fr;
      gap: 2rem;
      padding: 1.5rem 1.75rem;
   }

   .alfa-partners__head {
      padding-right: 2rem;
      border-right: 1px solid var(--alfa-line);
      text-align: left;
   }

   .alfa-partners__head .alfa-kicker {
      justify-content: flex-start;
   }
}

/* ==========================================================================
   Motion & interaction (reduced-motion users get none of this: see the global rule near the top)
   ========================================================================== */

/* section heading underline draws in */
.alfa-js .alfa-head[data-reveal] .alfa-rule {
   transform: scaleX(0);
   transform-origin: left center;
   transition: transform .9s var(--alfa-ease) .3s;
}

.alfa-js .alfa-head--center[data-reveal] .alfa-rule {
   transform-origin: center;
}

.alfa-js .alfa-head.is-visible .alfa-rule {
   transform: scaleX(1);
}

/* hero: slow zoom-out on the active slide */
.alfa-slider__slide.is-active img {
   animation: alfa-kenburns 7s ease-out both;
}

@keyframes alfa-kenburns {
   from {
      transform: scale(1.05);
   }

   to {
      transform: scale(1);
   }
}

/* tagline band: logo pops in, then the three phrases one after another */
.alfa-js .alfa-tagline__inner[data-reveal] {
   opacity: 1;
   transform: none;
}

.alfa-js .alfa-tagline__inner[data-reveal] .alfa-tagline__logo {
   opacity: 0;
   transform: scale(.8);
   transition: opacity .6s var(--alfa-ease), transform .6s var(--alfa-ease);
}

.alfa-js .alfa-tagline__inner[data-reveal] .alfa-tagline__text>span {
   display: inline-block;
   opacity: 0;
   transform: translateY(16px);
   transition: opacity .6s var(--alfa-ease), transform .6s var(--alfa-ease);
}

.alfa-js .alfa-tagline__inner.is-visible .alfa-tagline__logo,
.alfa-js .alfa-tagline__inner.is-visible .alfa-tagline__text>span {
   opacity: 1;
   transform: none;
}

.alfa-js .alfa-tagline__inner.is-visible .alfa-tagline__text>span:nth-child(1) {
   transition-delay: .2s;
}

.alfa-js .alfa-tagline__inner.is-visible .alfa-tagline__text>span:nth-child(2) {
   transition-delay: .4s;
}

.alfa-js .alfa-tagline__inner.is-visible .alfa-tagline__text>span:nth-child(3) {
   transition-delay: .6s;
}

/* buttons: the arrow nudges forward */
.alfa-btn .bi-arrow-right,
.alfa-link .bi-arrow-right {
   display: inline-block;
   transition: transform .25s var(--alfa-ease);
}

.alfa-btn:hover .bi-arrow-right,
.alfa-link:hover .bi-arrow-right,
a:hover>.alfa-link .bi-arrow-right {
   transform: translateX(4px);
}

/* Home cards: tilt towards the pointer (main.js sets --rx / --ry) */
.alfa-tilt {
   transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0));
   transition: transform .25s ease-out, box-shadow .3s var(--alfa-ease);
   will-change: transform;
}

a.alfa-card.alfa-tilt:hover,
.alfa-card--hover.alfa-tilt:hover {
   --ty: -6px;
   transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0));
}

/* scroll progress under the header */
.alfa-progress {
   position: absolute;
   left: 0;
   right: 0;
   bottom: -1px;
   height: 3px;
   pointer-events: none;
}

.alfa-progress span {
   display: block;
   height: 100%;
   background: var(--alfa-gradient);
   transform: scaleX(0);
   transform-origin: left center;
}

/* back to top */
.alfa-totop {
   position: fixed;
   right: 1.25rem;
   bottom: 1.25rem;
   z-index: 1020;
   display: grid;
   place-items: center;
   width: 48px;
   height: 48px;
   border: 0;
   border-radius: 999px;
   background: var(--alfa-blue);
   color: #fff;
   font-size: 1.2rem;
   box-shadow: 0 12px 28px rgba(12, 42, 87, .3);
   opacity: 0;
   visibility: hidden;
   transform: translateY(12px);
   transition: opacity .3s, transform .3s var(--alfa-ease), visibility 0s linear .3s, background-color .2s;
   cursor: pointer;
}

.alfa-totop.is-shown {
   opacity: 1;
   visibility: visible;
   transform: none;
   transition: opacity .3s, transform .3s var(--alfa-ease), background-color .2s;
}

.alfa-totop:hover {
   background: var(--alfa-orange-700);
}

.alfa-totop:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 3px;
}

/* ==========================================================================
   Newsroom & Compliance pages
   ========================================================================== */

/* "nothing here yet" panel */
.alfa-empty {
   position: relative;
   overflow: hidden;
   max-width: 760px;
   margin: 0 auto;
   padding: clamp(2.5rem, 2rem + 3vw, 4rem) clamp(1.5rem, 1rem + 3vw, 4rem);
   border-radius: var(--alfa-radius-lg);
   background: linear-gradient(160deg, var(--alfa-tint) 0%, #fff 70%);
   border: 1px solid var(--alfa-line);
   text-align: center;
}

.alfa-empty::after {
   content: '';
   position: absolute;
   right: -40px;
   bottom: -60px;
   width: 180px;
   height: 240px;
   background: rgba(239, 126, 26, .08);
   clip-path: var(--alfa-chevron);
}

.alfa-empty__icon {
   display: inline-grid;
   place-items: center;
   width: 84px;
   height: 84px;
   margin-bottom: 1.25rem;
   border-radius: 24px;
   background: var(--alfa-navy-gradient);
   color: #fff;
   font-size: 2.2rem;
   box-shadow: 0 16px 34px rgba(27, 78, 154, .3);
}

.alfa-empty__title {
   margin: 0 0 .6rem;
   font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem);
   font-weight: 800;
   color: var(--alfa-navy);
}

.alfa-empty__text {
   max-width: 520px;
   margin: 0 auto 1.75rem;
   color: var(--alfa-muted);
   line-height: 1.7;
}

/* Newsroom landing: colour tiles */
.alfa-nr-tile {
   position: relative;
   display: flex;
   flex-direction: column;
   width: 100%;
   min-height: 260px;
   overflow: hidden;
   padding: 2rem;
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-navy-gradient);
   color: #fff;
   text-decoration: none;
   transition: transform .35s var(--alfa-ease), box-shadow .35s var(--alfa-ease);
}

.alfa-nr-tile--2 {
   background: linear-gradient(135deg, #C45F0B 0%, var(--alfa-orange) 100%);
}

.alfa-nr-tile--3 {
   background: linear-gradient(135deg, #0C2A57 0%, #1B4E9A 55%, #3A78C9 100%);
}

.alfa-nr-tile::after {
   content: '';
   position: absolute;
   right: -30px;
   bottom: -40px;
   width: 150px;
   height: 200px;
   background: rgba(255, 255, 255, .08);
   clip-path: var(--alfa-chevron);
   transition: transform .5s var(--alfa-ease);
}

.alfa-nr-tile:hover {
   transform: translateY(-6px);
   box-shadow: 0 24px 48px rgba(12, 42, 87, .25);
   color: #fff;
}

.alfa-nr-tile:hover::after {
   transform: translateX(-14px);
}

.alfa-nr-tile__icon {
   display: grid;
   place-items: center;
   width: 56px;
   height: 56px;
   margin-bottom: 1.5rem;
   border-radius: 16px;
   background: rgba(255, 255, 255, .16);
   font-size: 1.5rem;
}

.alfa-nr-tile__title {
   margin: 0 0 .5rem;
   font-size: 1.4rem;
   font-weight: 800;
   color: #fff;
}

.alfa-nr-tile__text {
   margin: 0 0 1.5rem;
   color: rgba(255, 255, 255, .85);
}

.alfa-nr-tile__go {
   margin-top: auto;
   font-family: var(--alfa-font-head);
   font-weight: 700;
}

/* Upcoming products: coming-soon cards */
.alfa-soon {
   display: flex;
   flex-direction: column;
   width: 100%;
   padding: 1.75rem;
   border: 1px solid var(--alfa-line);
   border-radius: var(--alfa-radius-lg);
   background: #fff;
}

.alfa-soon__tag {
   align-self: flex-start;
   padding: .3rem .8rem;
   border-radius: 999px;
   background: #FDEBD9;
   color: var(--alfa-orange-700);
   font-size: .8rem;
   font-weight: 700;
}

.alfa-soon__title {
   margin: 1rem 0 .3rem;
   font-size: 1.3rem;
   color: var(--alfa-navy);
}

.alfa-soon__date {
   margin: 0 0 .75rem;
   color: var(--alfa-blue);
   font-weight: 700;
   font-size: .9rem;
}

.alfa-soon__text {
   color: var(--alfa-muted);
}

/* Latest launches: timeline */
.alfa-launches {
   position: relative;
   max-width: 860px;
   margin: 0 auto;
   padding: 0;
   list-style: none;
}

.alfa-launches::before {
   content: '';
   position: absolute;
   top: .5rem;
   bottom: .5rem;
   left: 7px;
   width: 2px;
   background: linear-gradient(180deg, var(--alfa-orange), var(--alfa-blue));
}

.alfa-launches__item {
   position: relative;
   padding: 0 0 2rem 2.25rem;
}

.alfa-launches__item::before {
   content: '';
   position: absolute;
   top: .35rem;
   left: 0;
   width: 16px;
   height: 16px;
   border: 3px solid #fff;
   border-radius: 999px;
   background: var(--alfa-orange);
   box-shadow: 0 0 0 2px var(--alfa-orange);
}

.alfa-launches__date {
   color: var(--alfa-orange-700);
   font-weight: 700;
   font-size: .88rem;
}

.alfa-launches__card {
   margin-top: .5rem;
   padding: 1.4rem 1.5rem;
   border-radius: var(--alfa-radius);
   background: #fff;
   box-shadow: var(--alfa-shadow);
}

.alfa-launches__card h3 {
   margin: 0 0 .4rem;
   font-size: 1.2rem;
   color: var(--alfa-navy);
}

/* Events / Webinars entry cards */
.alfa-ew {
   position: relative;
   display: flex;
   flex-direction: column;
   width: 100%;
   overflow: hidden;
   padding: 2.25rem;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 16px 40px rgba(12, 42, 87, .08);
   color: var(--alfa-navy);
   text-decoration: none;
   transition: transform .35s var(--alfa-ease), box-shadow .35s var(--alfa-ease);
}

.alfa-ew::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   width: 6px;
   background: var(--alfa-blue);
}

.alfa-ew--2::before {
   background: var(--alfa-orange);
}

.alfa-ew:hover {
   transform: translateY(-6px);
   box-shadow: 0 24px 48px rgba(12, 42, 87, .16);
   color: var(--alfa-navy);
}

.alfa-ew__icon {
   display: grid;
   place-items: center;
   width: 60px;
   height: 60px;
   margin-bottom: 1.25rem;
   border-radius: 16px;
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
   font-size: 1.6rem;
}

.alfa-ew--2 .alfa-ew__icon {
   background: #FDEBD9;
   color: var(--alfa-orange-700);
}

.alfa-ew__count {
   color: var(--alfa-muted);
   font-size: .85rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
}

.alfa-ew__title {
   margin: .35rem 0 1.25rem;
   font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem);
   font-weight: 800;
}

.alfa-ew__go {
   margin-top: auto;
   color: var(--alfa-blue);
   font-family: var(--alfa-font-head);
   font-weight: 700;
}

/* Upcoming webinars: event card with date badge */
.alfa-event {
   display: grid;
   grid-template-columns: 92px 1fr;
   width: 100%;
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: var(--alfa-shadow);
}

.alfa-event__date {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   padding: 1rem .5rem;
   background: var(--alfa-navy-gradient);
   color: #fff;
   text-align: center;
}

.alfa-event__day {
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: 2rem;
   line-height: 1;
}

.alfa-event__month {
   margin-top: .3rem;
   font-size: .8rem;
   text-transform: uppercase;
   letter-spacing: .08em;
}

.alfa-event__body {
   padding: 1.4rem 1.5rem;
}

.alfa-event__body h3 {
   margin: 0 0 .4rem;
   font-size: 1.2rem;
   color: var(--alfa-navy);
}

.alfa-event__meta {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   color: var(--alfa-muted);
   font-size: .88rem;
}

.alfa-event__meta .bi {
   margin-right: .35rem;
   color: var(--alfa-orange-700);
}

/* Past webinars: recording cards */
.alfa-rec {
   display: flex;
   flex-direction: column;
   width: 100%;
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: var(--alfa-shadow);
}

.alfa-rec__thumb {
   display: grid;
   place-items: center;
   aspect-ratio: 16 / 9;
   background: var(--alfa-navy-gradient);
   color: #fff;
   font-size: 3rem;
}

.alfa-rec__body {
   display: flex;
   flex: 1;
   flex-direction: column;
   padding: 1.4rem 1.5rem;
}

.alfa-rec__body time {
   color: var(--alfa-orange-700);
   font-size: .85rem;
   font-weight: 700;
}

.alfa-rec__body h3 {
   margin: .3rem 0 .5rem;
   font-size: 1.15rem;
   color: var(--alfa-navy);
}

/* Compliance: policy document cards */
.alfa-doc-card {
   position: relative;
   display: flex;
   flex-direction: column;
   width: 100%;
   padding: 2rem;
   border: 1px solid var(--alfa-line);
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   transition: box-shadow .3s, transform .3s var(--alfa-ease);
}

.alfa-doc-card::before {
   content: '';
   position: absolute;
   top: -1px;
   left: 2rem;
   right: 2rem;
   height: 4px;
   border-radius: 0 0 4px 4px;
   background: var(--alfa-gradient);
}

.alfa-doc-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 20px 44px rgba(12, 42, 87, .12);
}

.alfa-doc-card__icon {
   display: grid;
   place-items: center;
   width: 60px;
   height: 60px;
   border-radius: 16px;
   background: var(--alfa-navy-gradient);
   color: #fff;
   font-size: 1.6rem;
}

.alfa-doc-card__status {
   position: absolute;
   top: 2rem;
   right: 2rem;
   padding: .25rem .75rem;
   border-radius: 999px;
   background: #FDEBD9;
   color: var(--alfa-orange-700);
   font-size: .78rem;
   font-weight: 700;
}

.alfa-doc-card__status.is-ready {
   background: #E3F4EA;
   color: #1E7A45;
}

.alfa-doc-card__title {
   margin: 1.25rem 0 .5rem;
   font-size: 1.4rem;
   font-weight: 800;
}

.alfa-doc-card__title a {
   color: var(--alfa-navy);
   text-decoration: none;
}

.alfa-doc-card__text {
   margin: 0 0 1.5rem;
   color: var(--alfa-muted);
}

.alfa-doc-card__actions {
   display: flex;
   flex-wrap: wrap;
   gap: .6rem;
   margin-top: auto;
}

/* Policy page: document layout */
.alfa-doc {
   margin: 0 auto;
}

.alfa-doc__layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: 1.5rem;
   align-items: start;
}

@media (min-width: 992px) {
   .alfa-doc__layout {
      grid-template-columns: 290px minmax(0, 1fr);
      gap: 3rem;
   }
}

.alfa-doc__head {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 1.25rem;
   margin-bottom: 1.5rem;
   padding: 1.75rem;
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-navy-gradient);
   color: #fff;
}

.alfa-doc__icon {
   display: grid;
   flex: none;
   place-items: center;
   width: 64px;
   height: 64px;
   border-radius: 18px;
   background: rgba(255, 255, 255, .14);
   font-size: 1.8rem;
}

.alfa-doc__meta {
   flex: 1;
   min-width: 220px;
}

.alfa-doc__org {
   margin: 0 0 .25rem;
   color: rgba(255, 255, 255, .75);
   font-size: .85rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
}

.alfa-doc__title {
   margin: 0;
   font-size: clamp(1.25rem, 1.1rem + .8vw, 1.7rem);
   font-weight: 800;
   line-height: 1.25;
   color: #fff;
}

/* Policy section index: sticky sidebar (desktop) / collapsible panel (phones); main.js highlights the section in view */
.alfa-doc__toc {
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-tint);
}

.alfa-doc__toc summary {
   display: flex;
   align-items: center;
   gap: .5rem;
   padding: 1rem 1.25rem;
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-weight: 800;
   cursor: pointer;
   list-style: none;
}

.alfa-doc__toc summary::-webkit-details-marker {
   display: none;
}

.alfa-doc__toc summary span {
   color: var(--alfa-muted);
   font-weight: 600;
}

.alfa-doc__toc summary::after {
   content: '';
   width: 8px;
   height: 12px;
   margin-left: auto;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
   transform: rotate(90deg);
   transition: transform .2s;
}

.alfa-doc__toc[open] summary::after {
   transform: rotate(-90deg);
}

.alfa-doc__toc ol {
   margin: 0;
   padding: 0 .6rem .8rem;
   list-style: none;
}

.alfa-doc__toc a {
   display: block;
   padding: .5rem .75rem;
   border-left: 3px solid transparent;
   border-radius: 0 var(--alfa-radius-sm) var(--alfa-radius-sm) 0;
   color: var(--alfa-text);
   font-size: .88rem;
   font-weight: 600;
   line-height: 1.35;
   text-decoration: none;
   transition: background-color .2s, color .2s, border-color .2s;
}

.alfa-doc__toc a:hover {
   background: #fff;
   color: var(--alfa-blue);
}

.alfa-doc__toc a.is-current {
   border-left-color: var(--alfa-orange);
   background: #fff;
   color: var(--alfa-blue);
   font-weight: 700;
}

@media (min-width: 992px) {
   .alfa-doc__toc {
      position: sticky;
      top: calc(var(--alfa-header-h, 80px) + 1.25rem);
      max-height: calc(100vh - var(--alfa-header-h, 80px) - 2.5rem);
      overflow-y: auto;
   }

   .alfa-doc__toc summary {
      cursor: default;
      pointer-events: none;
   }

   .alfa-doc__toc summary::after {
      display: none;
   }
}

.alfa-doc__foot {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 1rem;
   margin-top: 3rem;
   padding-top: 1.5rem;
   border-top: 1px solid var(--alfa-line);
}

/* Policy text: committee table, address block, contact strip */
.alfa-policy__table {
   overflow-x: auto;
   margin: 0 0 1.25rem;
   border: 1px solid var(--alfa-line);
   border-radius: var(--alfa-radius);
}

.alfa-policy__table table {
   width: 100%;
   min-width: 460px;
   border-collapse: collapse;
}

.alfa-policy__table th,
.alfa-policy__table td {
   padding: .75rem 1rem;
   border-bottom: 1px solid var(--alfa-line);
   text-align: left;
}

.alfa-policy__table th {
   background: var(--alfa-tint);
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-size: .88rem;
}

.alfa-policy__table tr:last-child td {
   border-bottom: 0;
}

.alfa-policy__address {
   margin: 0 0 1rem;
   padding: 1.1rem 1.25rem;
   border-left: 4px solid var(--alfa-orange);
   border-radius: 0 var(--alfa-radius) var(--alfa-radius) 0;
   background: var(--alfa-tint);
   font-style: normal;
   line-height: 1.7;
}

.alfa-policy__contact {
   display: grid;
   gap: 1rem;
   margin-top: 2rem;
   padding: 1.5rem;
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-tint);
}

.alfa-policy__contact h4 {
   margin: 0 0 .3rem;
}

.alfa-policy__contact p {
   margin: 0;
}

@media (min-width: 768px) {
   .alfa-policy__contact {
      grid-template-columns: 2fr 1fr 1fr;
   }
}

/* ==========================================================================
   Launches: feature card (Latest Launches), story + gallery + lightbox (launch-details.php)
   ========================================================================== */
.alfa-launch {
   display: grid;
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 20px 50px rgba(12, 42, 87, .10);
}

.alfa-launch+.alfa-launch {
   margin-top: 2rem;
}

.alfa-launch__media {
   position: relative;
   display: block;
   overflow: hidden;
   aspect-ratio: 16 / 10;
}

.alfa-launch__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .8s var(--alfa-ease);
}

.alfa-launch:hover .alfa-launch__media img {
   transform: scale(1.04);
}

.alfa-launch__count {
   position: absolute;
   left: 1rem;
   bottom: 1rem;
   padding: .4rem .8rem;
   border-radius: 999px;
   background: rgba(12, 42, 87, .75);
   backdrop-filter: blur(4px);
   color: #fff;
   font-size: .82rem;
   font-weight: 700;
}

.alfa-launch__body {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   padding: clamp(1.5rem, 1rem + 2.5vw, 3rem);
}

.alfa-launch__date {
   display: inline-flex;
   align-items: center;
   gap: .5rem;
   margin: 0 0 .75rem;
   padding: .35rem .85rem;
   border-radius: 999px;
   background: #FDEBD9;
   color: var(--alfa-orange-700);
   font-size: .85rem;
   font-weight: 700;
}

.alfa-launch__title {
   margin: 0 0 .4rem;
   font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.3rem);
   font-weight: 800;
}

.alfa-launch__title a {
   color: var(--alfa-navy);
   text-decoration: none;
}

.alfa-launch__title a:hover {
   color: var(--alfa-blue);
}

.alfa-launch__tagline {
   margin: 0 0 1rem;
   color: var(--alfa-blue);
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: 1.1rem;
}

.alfa-launch__text {
   margin: 0 0 1.5rem;
   color: var(--alfa-muted);
   line-height: 1.75;
}

@media (min-width: 992px) {
   .alfa-launch {
      grid-template-columns: 1.15fr 1fr;
   }

   .alfa-launch__media {
      aspect-ratio: auto;
      min-height: 420px;
   }
}

.alfa-launch__quote {
   position: relative;
   margin: clamp(2.5rem, 2rem + 2vw, 4rem) 0 0;
   padding: clamp(1.75rem, 1.2rem + 2vw, 3rem);
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-navy-gradient);
   color: #fff;
   text-align: center;
}

.alfa-launch__quote::after {
   content: '';
   position: absolute;
   right: -30px;
   top: -40px;
   width: 160px;
   height: 240px;
   background: rgba(255, 255, 255, .06);
   clip-path: var(--alfa-chevron);
}

.alfa-launch__quote span {
   display: block;
   font-family: var(--alfa-font-head);
   font-weight: 800;
   font-size: clamp(1.15rem, 1rem + .9vw, 1.7rem);
   line-height: 1.45;
}

.alfa-launch__quote span:last-child {
   color: var(--alfa-orange);
}

/* gallery: masonry-style columns, photos keep their own shape */
.alfa-gallery {
   columns: 2 160px;
   column-gap: 1rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.alfa-gallery__item {
   margin: 0 0 1rem;
   break-inside: avoid;
}

.alfa-gallery__item a {
   position: relative;
   display: block;
   overflow: hidden;
   border-radius: var(--alfa-radius);
   box-shadow: var(--alfa-shadow);
}

.alfa-gallery__item img {
   display: block;
   width: 100%;
   height: auto;
   transition: transform .6s var(--alfa-ease);
}

.alfa-gallery__item a::after {
   content: '\F62C';
   position: absolute;
   inset: 0;
   display: grid;
   place-items: center;
   background: rgba(12, 42, 87, .45);
   color: #fff;
   font-family: 'bootstrap-icons';
   font-size: 1.8rem;
   opacity: 0;
   transition: opacity .3s;
}

.alfa-gallery__item a:hover img,
.alfa-gallery__item a:focus-visible img {
   transform: scale(1.05);
}

.alfa-gallery__item a:hover::after,
.alfa-gallery__item a:focus-visible::after {
   opacity: 1;
}

@media (min-width: 768px) {
   .alfa-gallery {
      columns: 3;
   }
}

@media (min-width: 1200px) {
   .alfa-gallery {
      columns: 4;
   }
}

/* only a few photos: two wide columns instead of a thin grid */
.alfa-gallery--few {
   columns: 1;
   max-width: 1000px;
   margin-inline: auto;
}

@media (min-width: 768px) {

   .alfa-gallery--few,
   .alfa-gallery.alfa-gallery--few {
      columns: 2;
   }
}

/* alternate the card layout so consecutive launches do not look identical */
@media (min-width: 992px) {
   .alfa-launch:nth-of-type(even) {
      grid-template-columns: 1fr 1.15fr;
   }

   .alfa-launch:nth-of-type(even) .alfa-launch__media {
      order: 2;
   }
}

/* lightbox */
.alfa-viewer {
   position: fixed;
   inset: 0;
   z-index: 2000;
   display: grid;
   grid-template-columns: auto 1fr auto;
   align-items: center;
   gap: .5rem;
   padding: 3.5rem .75rem 1.5rem;
   background: rgba(6, 18, 40, .94);
}

.alfa-viewer[hidden] {
   display: none;
}

.alfa-viewer__figure {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: .75rem;
   min-width: 0;
   margin: 0;
}

.alfa-viewer__figure img {
   max-width: 100%;
   max-height: calc(100vh - 7rem);
   border-radius: 8px;
   box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
}

.alfa-viewer__figure figcaption {
   color: rgba(255, 255, 255, .75);
   font-size: .9rem;
   font-weight: 700;
}

.alfa-viewer__btn {
   display: grid;
   place-items: center;
   width: 48px;
   height: 48px;
   padding: 0;
   border: 0;
   border-radius: 999px;
   background: rgba(255, 255, 255, .12);
   color: #fff;
   font-size: 1.3rem;
   cursor: pointer;
   transition: background-color .2s;
}

.alfa-viewer__btn:hover,
.alfa-viewer__btn:focus-visible {
   background: var(--alfa-orange);
   outline: none;
}

.alfa-viewer__close {
   position: absolute;
   top: .75rem;
   right: .75rem;
}

@media (max-width: 575.98px) {

   .alfa-viewer__prev,
   .alfa-viewer__next {
      width: 40px;
      height: 40px;
   }
}

/* Latest Launches: grouped by year */
.alfa-years {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: .5rem;
   margin: -.5rem 0 2.5rem;
}

.alfa-years a {
   padding: .45rem 1.1rem;
   border-radius: 999px;
   background: var(--alfa-tint);
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-weight: 800;
   text-decoration: none;
   transition: background-color .2s, color .2s;
}

.alfa-years a:hover {
   background: var(--alfa-blue);
   color: #fff;
}

.alfa-year {
   scroll-margin-top: calc(var(--alfa-header-h, 80px) + 1.5rem);
}

.alfa-year+.alfa-year {
   margin-top: 3.5rem;
}

.alfa-year__label {
   display: flex;
   align-items: center;
   gap: 1rem;
   margin: 0 0 1.5rem;
}

.alfa-year__label span {
   padding: .35rem 1.1rem;
   border-radius: 12px;
   background: var(--alfa-navy-gradient);
   color: #fff;
   font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem);
   font-weight: 800;
   line-height: 1.2;
}

.alfa-year__label small {
   color: var(--alfa-muted);
   font-family: var(--alfa-font-body);
   font-size: .95rem;
   font-weight: 600;
}

/* thin rule running from the year label to the edge */
.alfa-year__label::after {
   content: '';
   flex: 1;
   height: 2px;
   background: linear-gradient(90deg, var(--alfa-line), transparent);
}

/* ==========================================================================
   Manufacturing facility: navy band + bento photo grid (Home compact, About full)
   ========================================================================== */
.alfa-factory {
   position: relative;
   overflow: hidden;
   padding: var(--alfa-section-y) 0;
   background: linear-gradient(160deg, #0A2148 0%, var(--alfa-navy) 50%, #123A73 100%);
   color: #fff;
}

.alfa-factory::before {
   content: '';
   position: absolute;
   top: -60px;
   right: -60px;
   width: 260px;
   height: 360px;
   background: rgba(255, 255, 255, .04);
   clip-path: var(--alfa-chevron);
}

.alfa-factory__head {
   position: relative;
   display: grid;
   gap: 1.25rem;
   align-items: end;
   margin-bottom: 2rem;
}

.alfa-factory__title {
   margin: .4rem 0 .6rem;
   font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);
   font-weight: 800;
   color: #fff;
}

.alfa-factory__line {
   margin: 0;
   color: rgba(255, 255, 255, .8);
   font-size: 1.08rem;
}

.alfa-factory__addr {
   display: flex;
   gap: .75rem;
   margin: 0;
   padding: 1rem 1.25rem;
   border: 1px solid rgba(255, 255, 255, .14);
   border-radius: var(--alfa-radius);
   background: rgba(255, 255, 255, .06);
   color: rgba(255, 255, 255, .78);
   font-size: .88rem;
   line-height: 1.55;
}

.alfa-factory__addr .bi {
   color: var(--alfa-orange);
   font-size: 1.1rem;
}

.alfa-factory__addr strong {
   display: block;
   color: #fff;
   font-family: var(--alfa-font-head);
}

@media (min-width: 992px) {
   .alfa-factory__head {
      grid-template-columns: 1fr minmax(0, 380px);
      gap: 3rem;
   }
}

.alfa-bento {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   grid-auto-rows: 150px;
   gap: .75rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.alfa-bento__item--1 {
   grid-column: span 2;
   grid-row: span 2;
}

.alfa-bento__item a {
   position: relative;
   display: block;
   width: 100%;
   height: 100%;
   overflow: hidden;
   border-radius: var(--alfa-radius);
}

.alfa-bento__item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .8s var(--alfa-ease);
}

.alfa-bento__item a::after {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, transparent 50%, rgba(6, 18, 40, .8));
}

.alfa-bento__cap {
   position: absolute;
   left: .9rem;
   right: .9rem;
   bottom: .75rem;
   z-index: 1;
   display: flex;
   align-items: center;
   gap: .45rem;
   color: #fff;
   font-family: var(--alfa-font-head);
   font-weight: 700;
   font-size: .88rem;
}

.alfa-bento__cap::before {
   content: '';
   flex: none;
   width: 6px;
   height: 10px;
   background: var(--alfa-orange);
   clip-path: var(--alfa-chevron);
}

@media (max-width: 575.98px) {
   .alfa-bento__cap {
      left: .6rem;
      right: .6rem;
      bottom: .5rem;
      font-size: .74rem;
   }
}

.alfa-bento__item a:hover img,
.alfa-bento__item a:focus-visible img {
   transform: scale(1.06);
}

.alfa-bento__item a:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 3px;
}

@media (min-width: 992px) {
   .alfa-bento {
      grid-template-columns: repeat(4, 1fr);
      grid-auto-rows: 200px;
      gap: 1rem;
   }

   /* full set: 8 photos fill a 4 x 3 grid */
   .alfa-bento__item--6 {
      grid-column: span 2;
   }

   .alfa-bento__item--1 .alfa-bento__cap {
      font-size: 1.05rem;
   }
}

/* ==========================================================================
   Home Quality: lab photo with the promise card over its lower edge
   ========================================================================== */
.alfa-qfig {
   position: relative;
   margin: 0;
}

/* photo shown in full; the promise card only overlaps its bottom edge */
.alfa-qfig img {
   display: block;
   width: 100%;
   aspect-ratio: 4 / 3;
   object-fit: cover;
   border-radius: var(--alfa-radius-lg);
   box-shadow: 0 24px 50px rgba(12, 42, 87, .18);
}

.alfa-qfig__card {
   position: relative;
   z-index: 1;
   margin: -1.5rem 1rem 0;
   padding: 1.25rem 1.4rem;
}

.alfa-qfig__card .alfa-promise__text {
   margin: .35rem 0 0;
   font-size: clamp(1rem, .92rem + .4vw, 1.2rem);
   line-height: 1.4;
}

@media (min-width: 992px) {
   .alfa-qfig__card {
      margin: -1.75rem 2rem 0 -2rem;
   }
}

/* ==========================================================================
   Contact page
   ========================================================================== */
.alfa-cquick {
   position: relative;
   z-index: 2;
   margin-top: -2.5rem;
}

.alfa-cquick__card {
   display: flex;
   flex-direction: column;
   gap: .35rem;
   width: 100%;
   padding: 1.4rem 1.4rem 1.5rem;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 18px 44px rgba(12, 42, 87, .12);
   color: var(--alfa-muted);
   font-size: .9rem;
   text-decoration: none;
   transition: transform .3s var(--alfa-ease), box-shadow .3s var(--alfa-ease);
}

.alfa-cquick__card strong {
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-size: 1.05rem;
}

.alfa-cquick__card:hover {
   transform: translateY(-5px);
   box-shadow: 0 26px 54px rgba(12, 42, 87, .18);
   color: var(--alfa-muted);
}

.alfa-cquick__icon {
   display: grid;
   flex: none;
   place-items: center;
   width: 48px;
   height: 48px;
   margin-bottom: .5rem;
   border-radius: 14px;
   background: var(--alfa-tint-2);
   color: var(--alfa-blue);
   font-size: 1.3rem;
   transition: background-color .3s, color .3s;
}

.alfa-cquick__card:hover .alfa-cquick__icon {
   background: var(--alfa-orange);
   color: #fff;
}

@media (max-width: 575.98px) {
   .alfa-cquick__card {
      padding: 1rem;
      font-size: .8rem;
   }

   .alfa-cquick__card strong {
      font-size: .92rem;
   }

   .alfa-cquick__icon {
      width: 40px;
      height: 40px;
      margin-bottom: .25rem;
      font-size: 1.1rem;
   }
}

.alfa-cbox {
   display: grid;
   overflow: hidden;
   border-radius: 22px;
   background: #fff;
   box-shadow: 0 24px 60px rgba(12, 42, 87, .12);
}

.alfa-cbox__info {
   position: relative;
   display: flex;
   flex-direction: column;
   overflow: hidden;
   padding: clamp(1.75rem, 1.2rem + 2vw, 3rem);
   background: var(--alfa-navy-gradient);
   color: rgba(255, 255, 255, .85);
}

.alfa-cbox__info::after {
   content: '';
   position: absolute;
   right: -50px;
   bottom: -70px;
   width: 200px;
   height: 280px;
   background: rgba(255, 255, 255, .05);
   clip-path: var(--alfa-chevron);
}

.alfa-cbox__title {
   margin: .4rem 0 .6rem;
   font-size: clamp(1.8rem, 1.4rem + 1.4vw, 2.5rem);
   font-weight: 800;
   color: #fff;
}

.alfa-cbox__lead {
   margin: 0 0 1.75rem;
   line-height: 1.7;
}

.alfa-cbox__list {
   display: grid;
   gap: 1.25rem;
   margin: 0 0 2rem;
   padding: 0;
   list-style: none;
}

.alfa-cbox__list li {
   display: flex;
   gap: .9rem;
   font-size: .92rem;
   line-height: 1.6;
}

.alfa-cbox__list .bi {
   display: grid;
   flex: none;
   place-items: center;
   width: 40px;
   height: 40px;
   border-radius: 12px;
   background: rgba(255, 255, 255, .12);
   color: var(--alfa-orange);
   font-size: 1.1rem;
}

.alfa-cbox__list strong {
   display: block;
   color: #fff;
   font-family: var(--alfa-font-head);
}

.alfa-cbox__list a {
   color: #fff;
}

.alfa-cbox__list address {
   font-style: normal;
}

.alfa-cbox__form {
   padding: clamp(1.75rem, 1.2rem + 2vw, 3rem);
}

.alfa-cbox__form-title {
   margin: 0 0 .35rem;
   font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem);
   font-weight: 800;
   color: var(--alfa-navy);
}

@media (min-width: 992px) {
   .alfa-cbox {
      grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
   }
}

.alfa-cmap {
   position: relative;
   height: 440px;
   background: var(--alfa-tint);
}

.alfa-cmap iframe {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0;
   filter: saturate(.85);
}

.alfa-cmap .container {
   position: relative;
   height: 100%;
   pointer-events: none;
}

.alfa-cmap__card {
   position: absolute;
   left: 12px;
   right: 12px;
   bottom: 1.25rem;
   display: flex;
   gap: 1rem;
   padding: 1.25rem 1.4rem;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 18px 44px rgba(12, 42, 87, .2);
   pointer-events: auto;
}

.alfa-cmap__card .alfa-cquick__icon {
   margin: 0;
}

.alfa-cmap__card strong {
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
}

.alfa-cmap__card p {
   margin: .2rem 0 .5rem;
   color: var(--alfa-muted);
   font-size: .9rem;
}

@media (min-width: 768px) {
   .alfa-cmap__card {
      left: 12px;
      right: auto;
      top: 50%;
      bottom: auto;
      max-width: 380px;
      transform: translateY(-50%);
   }
}

/* About: Company Overview pillars card */
.alfa-pillars {
   position: relative;
   overflow: hidden;
   padding: clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem);
   border-radius: var(--alfa-radius-lg);
   background: var(--alfa-navy-gradient);
   color: #fff;
   box-shadow: 0 24px 50px rgba(12, 42, 87, .22);
}

.alfa-pillars::after {
   content: '';
   position: absolute;
   right: -40px;
   bottom: -60px;
   width: 170px;
   height: 240px;
   background: rgba(255, 255, 255, .05);
   clip-path: var(--alfa-chevron);
}

.alfa-pillars__title {
   margin: 0 0 1.25rem;
   font-size: 1.2rem;
   font-weight: 800;
   line-height: 1.35;
   color: #fff;
}

.alfa-pillars__list {
   position: relative;
   z-index: 1;
   display: grid;
   gap: .75rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.alfa-pillars__list li {
   display: flex;
   align-items: center;
   gap: 1rem;
   padding: .9rem 1rem;
   border-radius: var(--alfa-radius);
   background: rgba(255, 255, 255, .08);
   transition: background-color .3s, transform .3s var(--alfa-ease);
}

.alfa-pillars__list li:hover {
   background: rgba(255, 255, 255, .14);
   transform: translateX(4px);
}

.alfa-pillars__list strong {
   display: block;
   font-family: var(--alfa-font-head);
   font-size: 1.05rem;
}

.alfa-pillars__list span:not(.alfa-pillars__icon) {
   color: rgba(255, 255, 255, .8);
   font-size: .9rem;
   line-height: 1.5;
}

.alfa-pillars__icon {
   display: grid;
   flex: none;
   place-items: center;
   width: 46px;
   height: 46px;
   border-radius: 12px;
   background: var(--alfa-blue);
   font-size: 1.25rem;
}

.alfa-pillars__icon--2 {
   background: var(--alfa-orange);
}

.alfa-pillars__icon--3 {
   background: var(--alfa-red);
}

/* ==========================================================================
   Our Global Presence: stats, country chips, office cards
   ========================================================================== */
.alfa-global__head {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-end;
   justify-content: space-between;
   gap: 1.5rem;
   margin-bottom: 1.5rem;
}

.alfa-global__head .alfa-title {
   margin: 0;
}

.alfa-global__stats {
   display: flex;
   gap: .75rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.alfa-global__stats li {
   display: flex;
   align-items: baseline;
   gap: .4rem;
   padding: .6rem 1.1rem;
   border-radius: var(--alfa-radius);
   background: var(--alfa-navy-gradient);
   color: rgba(255, 255, 255, .8);
   font-size: .85rem;
}

.alfa-global__stats strong {
   color: #fff;
   font-family: var(--alfa-font-head);
   font-size: 1.6rem;
   line-height: 1;
}

.alfa-global__chips {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem;
   margin-bottom: 1.75rem;
}

.alfa-global__chips button {
   padding: .45rem 1.05rem;
   border: 1px solid var(--alfa-line);
   border-radius: 999px;
   background: #fff;
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-size: .85rem;
   font-weight: 700;
   cursor: pointer;
   transition: background-color .2s, color .2s, border-color .2s;
}

.alfa-global__chips button:hover {
   border-color: var(--alfa-blue);
   color: var(--alfa-blue);
}

.alfa-global__chips button.is-active {
   border-color: var(--alfa-blue);
   background: var(--alfa-blue);
   color: #fff;
}

.alfa-global__chips button:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 2px;
}

.alfa-office {
   display: flex;
   flex-direction: column;
   width: 100%;
   overflow: hidden;
   border-radius: var(--alfa-radius-lg);
   background: #fff;
   box-shadow: 0 14px 36px rgba(12, 42, 87, .09);
   transition: transform .35s var(--alfa-ease), box-shadow .35s var(--alfa-ease);
}

.alfa-office:hover {
   transform: translateY(-5px);
   box-shadow: 0 24px 50px rgba(12, 42, 87, .16);
}

.alfa-office__media {
   position: relative;
   overflow: hidden;
   aspect-ratio: 16 / 10;
}

.alfa-office__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .8s var(--alfa-ease);
}

.alfa-office:hover .alfa-office__media img {
   transform: scale(1.05);
}

.alfa-office__pin {
   position: absolute;
   left: 1rem;
   bottom: 1rem;
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   padding: .35rem .85rem;
   border-radius: 999px;
   background: #fff;
   color: var(--alfa-navy);
   font-family: var(--alfa-font-head);
   font-size: .82rem;
   font-weight: 800;
   box-shadow: 0 8px 20px rgba(4, 18, 42, .25);
}

.alfa-office__pin .bi {
   color: var(--alfa-red);
}

.alfa-office__body {
   position: relative;
   flex: 1;
   padding: 1.25rem 1.4rem 1.4rem;
   border-top: 4px solid transparent;
   border-image: var(--alfa-gradient) 1;
}

.alfa-office__type {
   margin: 0 0 .3rem;
   color: var(--alfa-orange-700);
   font-size: .78rem;
   font-weight: 800;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.alfa-office__name {
   margin: 0 0 .4rem;
   font-size: 1.12rem;
   font-weight: 800;
   color: var(--alfa-navy);
}

.alfa-office__addr {
   margin: 0;
   color: var(--alfa-muted);
   font-size: .9rem;
   line-height: 1.6;
}

/* filtered-out office cards: beat Bootstrap's .d-flex { display: flex !important } */
[data-global-grid]>[hidden] {
   display: none !important;
}

/* ==========================================================================
   Floating social links: white rail on the right edge with round brand icons;
   the name shows as a small tooltip to the left on hover/focus
   ========================================================================== */
.alfa-social-float {
   position: fixed;
   /* sits low on the right, just above the back-to-top button, clear of banner headlines */
   top: auto;
   bottom: 5.25rem;
   right: 0;
   z-index: 1025;
   display: flex;
   flex-direction: column;
   gap: .5rem;
   margin: 0;
   padding: .6rem .5rem;
   border-radius: 16px 0 0 16px;
   background: #fff;
   box-shadow: 0 10px 30px rgba(12, 42, 87, .18);
   list-style: none;
}

.alfa-social-float li {
   position: relative;
}

.alfa-social-float a {
   display: grid;
   place-items: center;
   width: 38px;
   height: 38px;
   border-radius: 999px;
   color: #fff;
   font-size: 1.05rem;
   text-decoration: none;
   transition: transform .2s var(--alfa-ease), box-shadow .2s;
}

.alfa-social-float a:hover,
.alfa-social-float a:focus-visible {
   transform: scale(1.1);
   box-shadow: 0 6px 14px rgba(12, 42, 87, .25);
   color: #fff;
}

.alfa-social-float a:focus-visible {
   outline: 3px solid var(--alfa-orange);
   outline-offset: 2px;
}

/* tooltip */
.alfa-social-float span {
   position: absolute;
   top: 50%;
   right: calc(100% + .9rem);
   padding: .3rem .65rem;
   border-radius: 6px;
   background: var(--alfa-navy);
   color: #fff;
   font-family: var(--alfa-font-head);
   font-size: .78rem;
   font-weight: 700;
   white-space: nowrap;
   opacity: 0;
   pointer-events: none;
   transform: translate(6px, -50%);
   transition: opacity .2s, transform .2s var(--alfa-ease);
}

.alfa-social-float a:hover + span,
.alfa-social-float a:focus-visible + span,
.alfa-social-float li:hover span {
   opacity: 1;
   transform: translate(0, -50%);
}

.alfa-social-float__facebook {
   background: #1877F2;
}

.alfa-social-float__whatsapp {
   background: #25D366;
}

.alfa-social-float__linkedin {
   background: #0A66C2;
}

.alfa-social-float__instagram {
   background: radial-gradient(circle at 30% 110%, #FDCB52 0%, #FD5949 35%, #D6249F 60%, #285AEB 95%);
}

@media (max-width: 575.98px) {
   .alfa-social-float {
      gap: .4rem;
      padding: .45rem .35rem;
   }

   .alfa-social-float a {
      width: 32px;
      height: 32px;
      font-size: .9rem;
   }
}


