/* FCS destination-style experience: immersive welcome and distinct content pages. */
:root{scroll-behavior:auto;--royal-blue:#153f78;--ice-blue:#eaf2fa;--header-logo-size:128px;--header-height:152px;--header-inset:max(48px,calc((100vw - 1280px)/2));scroll-padding-top:0}
[hidden]{display:none!important}
body{background:#f8fbff}.menu-open{overflow:hidden}.wrap{width:min(1280px,calc(100% - 96px))}
.site-header{position:absolute;inset:0 0 auto;color:#fff;z-index:90;height:auto;min-height:var(--header-height);border:0;background:transparent;box-shadow:none;transition:background .2s}
.header-inner{max-width:none;min-height:var(--header-height);padding:12px var(--header-inset);gap:28px;position:relative;align-items:center}
body[data-page=home] .site-header{position:absolute;inset:0 0 auto;background:transparent;color:white}
body[data-page=home] .site-header .brand>span,body[data-page=home] .site-header .brand small{color:#fff}
.site-header .brand{gap:0;flex-shrink:0;align-self:center}.site-header .brand img{width:var(--header-logo-size);height:var(--header-logo-size);object-fit:contain;flex:none}
.header-actions{display:flex;align-items:center;gap:32px;margin-left:auto;flex-shrink:0}
.header-service-link{font-size:14px;font-weight:600;line-height:1.6;display:flex;align-items:center;gap:20px;border-bottom:1px solid #51789d;padding-block:9px}
.site-header .menu-toggle{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:18px;min-width:128px;width:auto;height:56px;padding:11px 0 11px 18px;border:0;border-radius:0;background:none;color:inherit;position:relative;z-index:110}
.site-header .menu-toggle>span{width:auto;height:auto;background:none;transform:none!important;transition:none}
.menu-copy{font-size:14px;line-height:1.6;font-weight:600}.menu-icon{display:flex;flex-direction:column;gap:8px;min-width:30px}.menu-icon i{display:block;width:30px;height:2px;background:currentColor;transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-5px) rotate(-45deg)}
body.menu-open .site-header{background:#0c2c50;color:#fff}body.menu-open .header-inner{position:fixed;inset:0 0 auto;background:#0c2c50}body.menu-open .site-header .brand>span,body.menu-open .site-header .brand small{color:#fff}
body.menu-open .header-service-link{border-color:#7397b6}
#primary-nav{position:fixed;inset:0;top:0;left:0;right:0;z-index:100;max-height:100dvh;height:100dvh;overflow-y:auto;padding:calc(var(--header-height) + 24px) var(--header-inset) 60px;background:#0c2c50;border:0;box-shadow:none;gap:70px;align-items:start;flex-direction:row;flex-wrap:nowrap;scrollbar-width:thin}
#primary-nav.open{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.site-header .brand,.header-actions{z-index:110}.menu-page-list{min-width:0;display:flex;flex-direction:column}
#primary-nav .menu-page-list>a{display:flex;align-items:center;gap:20px;padding:10px 0;min-height:48px;color:#fff;font-family:var(--font-navigation);font-size:clamp(22px,2vw,32px);line-height:1.25;letter-spacing:-.035em;white-space:normal;border-bottom:1px solid #9dbdd12e;transition:color .2s}
#primary-nav .menu-page-list>a:hover,#primary-nav .menu-page-list>a[aria-current=page]{color:#98ccf2}
.menu-page-list small{font:500 11px/1.5 var(--font-body);letter-spacing:.04em;color:#98b7d0;flex-shrink:0;min-width:20px}.menu-page-list>a>span{min-width:0;overflow-wrap:anywhere}.menu-page-list i{margin-left:auto;font-size:28px;font-style:normal;flex-shrink:0;color:#9dc8e7}
.menu-contact{border-left:1px solid #9dbdd145;padding:22px 0 20px 50px;min-width:0}.menu-contact .eyebrow{font-size:11px!important;color:#b6d2e8;letter-spacing:.12em}.menu-contact h2{font-size:clamp(36px,4vw,58px);line-height:1.2;color:white;font-weight:500;margin-bottom:24px}.menu-contact p{color:#bad0e3;font-size:16px;line-height:1.8}
#primary-nav .menu-contact>a{display:block;font-size:15px;line-height:1.8;overflow-wrap:anywhere;color:#e5f1fc;padding:6px 0;white-space:normal}.menu-contact .menu-location{font-size:13px;margin-top:26px}
/* Opening scene. Text and controls stay in normal flow on every viewport. */
.hero{display:flex;flex-direction:column;isolation:isolate;min-height:100svh;overflow:hidden;padding:0;background:#0f2c46;color:white}
.hero-art,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero:before{background:linear-gradient(180deg,#071d38a8 0%,#0b2b4c91 38%,#051b37c9 100%)}
.hero-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:calc(var(--header-height) + 24px);padding-bottom:28px;text-align:center;min-width:0}
.welcome-kicker{color:white;font-family:var(--font-brand);font-size:clamp(25px,2.2vw,34px);line-height:1.35;font-weight:700;margin:0 0 5px;letter-spacing:-.025em}
.hero h1{font-family:var(--font-brand);color:#fff;font-size:clamp(100px,12.8vw,188px);line-height:1.05;letter-spacing:-.045em;font-weight:650;margin:0 0 12px;max-width:100%;overflow-wrap:anywhere;text-wrap:initial}
.hero h1>span.sr-only{display:block;color:inherit;background:none;-webkit-text-fill-color:initial}
/* Supplied transparent FCS artwork with a matching native SVG contour. */
.hero .hero-wordmark{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:none;font-size:inherit;line-height:0;letter-spacing:normal;margin:0 0 18px}
.hero-symbol{position:relative;display:block;width:min(100%,620px,75svh);aspect-ratio:1023/364;isolation:isolate;transform:perspective(1200px) rotateX(5deg) rotateY(-5deg);transform-style:preserve-3d}
.hero-fcs-art{display:block;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 1px 0 #9edfff) drop-shadow(1px 2px 0 #146292) drop-shadow(2px 4px 0 #052441)}
.hero-company-signature{display:block;width:min(88%,640px);height:auto;aspect-ratio:2024/117;overflow:hidden;filter:brightness(0) invert(1)}
.hero .hero-disciplines{display:block;font-family:var(--font-body);font-size:clamp(9px,1vw,13px);line-height:1.6;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:none;background-clip:border-box;-webkit-background-clip:border-box;-webkit-text-fill-color:#fff}
/* Thin blue edging and a slow travelling highlight follow each letter.
   Zero-blur alpha shadows give the original artwork a crisp extruded edge. */
.hero .fcs-outline{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fcs-outline-base{stroke:#8edcff;stroke-width:1.1;opacity:1}
.fcs-outline-trace{stroke:#c4f3ff;stroke-width:1.5;stroke-dasharray:160 840;filter:drop-shadow(0 1px 0 #4bbcff)}
.fcs-outline use{vector-effect:non-scaling-stroke}
.fcs-outline-trace>use{animation:fcs-outline-travel 36s linear infinite}
.fcs-outline-trace>use:nth-child(2){animation-delay:-12s}
.fcs-outline-trace>use:nth-child(3){animation-delay:-24s}
@keyframes fcs-outline-travel{from{stroke-dashoffset:0}to{stroke-dashoffset:-1000}}
@media(prefers-reduced-motion:reduce){.fcs-outline-trace>use{animation:none;stroke-dasharray:none}}
.welcome-company{font-family:var(--font-navigation);font-weight:600;font-size:clamp(17px,1.7vw,25px);line-height:1.6;letter-spacing:.16em;color:white;margin:0 0 21px;max-width:100%;overflow-wrap:anywhere}
.hero-description{font-size:17px;line-height:1.85;color:#fff;max-width:550px;margin:0 0 30px}
.hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px 30px}
.welcome-enter{display:inline-flex;align-items:center;gap:28px;font-size:15px;font-weight:600;line-height:1.6;border:1px solid #c4dbea;padding:12px 13px 12px 24px;color:#fff;border-radius:0;min-height:58px;max-width:100%;text-align:left;transition:background .2s}
.welcome-enter i{display:grid;place-items:center;min-width:35px;height:35px;flex-shrink:0;font-size:23px;font-weight:400;font-style:normal;background:#edf7ff;color:#123957;border-radius:50%}.welcome-enter:hover{background:#ffffff14}
.welcome-about{display:inline-flex;align-items:center;gap:17px;font-size:14px;line-height:1.6;min-height:48px;color:#fff}.welcome-about>span{font-size:22px}
.hero-bottom{display:flex;position:relative;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding-bottom:26px;min-height:0;flex-direction:row}
.hero-scroll{display:flex;color:#e5f1fb;font-size:12px;position:static}.hero-scroll>span{color:#fff;background:transparent;border-color:#b0c9de;width:34px;height:34px}
.hero-note{position:static;margin-left:auto;padding:10px 13px;background:#092743a8;border:1px solid #91aec35c;border-radius:0;color:#e0edf7;gap:10px 14px;box-shadow:none;width:auto;max-width:100%;justify-content:flex-start}
.hero-note>span#hero-media-label{font-size:9px;letter-spacing:.08em;color:#dceaf5;width:auto}.hero-note .concept-tag{color:#ccdfed;font-size:10px}.hero-note .video-quality,.hero-note .video-toggle{background:#103553;border-color:#789ab5;color:#fff;font-size:11px;min-height:42px;padding:8px 10px;border-radius:2px}.hero-note .video-quality{width:128px}.hero-note .media-actions{width:auto;flex-wrap:wrap}.hero-note .video-toggle{flex:initial}
.page-title{margin:0;max-width:none;font-family:var(--font-brand);overflow-wrap:anywhere}.page-title>span{color:#397bb0}.capabilities .page-title>span{color:#99c9ef}.connect .page-title>span{color:#9dc9eb}
/* Content pages retain their original service scope, controls and films. */
main>section[data-page]:not(.hero){min-height:calc(100svh - var(--header-height));padding-top:72px;padding-bottom:80px}
main>.about,main>.lifecycle,main>.guide{margin-top:0}
.section-heading{margin-bottom:52px}.section-heading .page-title,.about .page-title,.connect .page-title{font-size:clamp(38px,4.6vw,68px);line-height:1.12;font-weight:500;letter-spacing:-.05em}
.section-heading>p{font-size:16px;line-height:1.85}.eyebrow{letter-spacing:.16em}.section-heading:before{height:1px;width:80px;background:#70a0c4;bottom:-24px}
.capabilities{background:#13395d}.capabilities:before{display:none}.capabilities .section-heading .page-title{font-size:clamp(40px,4.9vw,72px)}
.fcs-brand-art{grid-column:1/-1;margin:18px 0 0;border-top:1px solid #c9dce9;padding-top:32px;background:white}.fcs-brand-art img{width:min(100%,1060px);height:auto;max-height:450px;object-fit:contain;margin:auto}
.about .engineering-art{box-shadow:none;border-radius:2px}.about-principles>div>span{border-radius:2px;box-shadow:none}
.page-turner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:34px;border-top:1px solid #c2d7e8;min-width:0}
.page-turner>a{display:flex;align-items:center;gap:20px;font-size:16px;font-weight:500;line-height:1.6;color:#224e73;min-width:0;max-width:42%}.page-turner>a>span{overflow-wrap:anywhere}.page-turner>a>span[aria-hidden]{font-size:25px;flex-shrink:0}.page-turner>a:last-child{text-align:right;margin-left:auto}.page-turner>span{font-size:11px;letter-spacing:.1em;color:#526d85;white-space:nowrap}body[data-page=home] .page-turner{display:none}
.site-footer{background:#071f39;padding-top:48px}.footer-brand{display:block;width:min(100%,220px);align-self:start}.footer-brand img{display:block;width:100%;height:auto;object-fit:contain}.footer-brand .footer-brand-seal{width:96px;height:96px;margin:12px auto 0}.footer-top{grid-template-columns:1fr 1.4fr 1fr auto;gap:40px}.footer-contact{display:flex;flex-direction:column;gap:8px;min-width:0}.footer-contact>span{font-size:11px;color:#9dbbd4;letter-spacing:.08em;text-transform:uppercase}.footer-contact>a{font-size:13px;line-height:1.7;color:#d3e4f2;overflow-wrap:anywhere}.back-top{white-space:nowrap}
.section-heading .page-title:focus,.hero h1:focus,.about .page-title:focus,.connect .page-title:focus{outline:none}
@media(min-width:1800px){.hero{min-height:100svh}.hero-content{padding-top:calc(var(--header-height) + 24px);padding-bottom:70px}}
@media(max-width:1180px){:root{--header-logo-size:112px;--header-height:136px;--header-inset:32px}.wrap{width:calc(100% - 64px)}.header-inner{padding-inline:var(--header-inset);min-height:var(--header-height)}.site-header{min-height:var(--header-height)}.header-actions{gap:24px}#primary-nav{padding:calc(var(--header-height) + 24px) var(--header-inset) 50px;gap:40px}.menu-contact{padding-left:32px}main>section[data-page]:not(.hero){min-height:calc(100svh - var(--header-height))}.footer-top{grid-template-columns:1fr 1.35fr 1fr}.back-top{grid-column:3;grid-row:2}.hero-note .concept-tag{display:none}}
@media(max-width:900px){#primary-nav.open{grid-template-columns:1fr}.menu-contact{border-left:0;border-top:1px solid #9dbdd145;padding:28px 0 0}.menu-contact h2{display:none}.menu-contact .eyebrow{margin-bottom:12px}.menu-contact p:not(.eyebrow){display:none}.menu-contact .menu-location{display:block!important}.menu-page-list>a>span{font-size:26px}.hero-content{padding-top:calc(var(--header-height) + 24px)}.hero h1{font-size:clamp(105px,17vw,150px)}.hero-note>span#hero-media-label{font-size:9px}.hero-bottom{gap:16px}.section-heading .page-title,.about .page-title,.connect .page-title{font-size:50px}.footer-top{gap:28px}.footer-contact>a{font-size:12px}}
@media(max-width:700px){:root{--header-logo-size:96px;--header-height:116px;--header-inset:20px}.wrap{width:calc(100% - 40px)}.site-header,.header-inner{min-height:var(--header-height)}.header-inner{padding:10px var(--header-inset);gap:14px}.header-actions{gap:0}.header-service-link{display:none}.site-header .menu-toggle{min-width:112px;gap:14px;padding-left:0;height:52px}.menu-copy{font-size:13px}.menu-icon{min-width:28px}.menu-icon i{width:28px}.site-header .brand>span{font-size:19px}.site-header .brand small{font-size:7px;letter-spacing:.1em}.site-header .brand img{width:var(--header-logo-size);height:var(--header-logo-size)}.brand{gap:9px}
 #primary-nav{padding:calc(var(--header-height) + 24px) var(--header-inset) 35px;gap:20px}#primary-nav .menu-page-list>a{font-size:22px;padding:10px 0;gap:14px}.menu-page-list>a>span{font-size:22px}.menu-page-list small{font-size:10px;min-width:18px}.menu-page-list i{font-size:24px}.menu-contact .eyebrow{font-size:10px!important}#primary-nav .menu-contact>a{font-size:14px}.menu-contact{padding-top:24px}
 .hero{min-height:100svh}.hero-content{padding-top:calc(var(--header-height) + 24px);padding-bottom:36px;justify-content:center}.welcome-kicker{font-size:27px;margin-bottom:5px}.hero h1{font-size:clamp(96px,25vw,148px);line-height:1.1;margin-bottom:11px;letter-spacing:-.045em}.hero h1>span.sr-only{display:block}.welcome-company{font-size:16px;line-height:1.7;letter-spacing:.11em;max-width:360px;margin-bottom:20px}.hero-description{font-size:15px;line-height:1.8;max-width:350px;margin-bottom:25px}.hero-description br{display:block}.hero-actions{gap:12px 22px}.welcome-enter{font-size:14px;min-height:54px;padding:10px 11px 10px 18px;gap:22px}.welcome-enter i{width:32px;min-width:32px;height:32px;font-size:21px}.welcome-about{font-size:13px;min-height:44px}
 .hero-art,.hero-video{inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center}.hero:before{background:linear-gradient(180deg,#071e39ae,#092b4e99 40%,#051b37db)}.hero-bottom{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:20px;gap:0}.hero-scroll{display:none}.hero-note{margin:0;width:100%;padding:11px 12px;gap:10px 12px;justify-content:space-between;align-items:center}.hero-note>span#hero-media-label{font-size:8px;letter-spacing:.04em;width:auto;flex:1 1 105px}.hero-note .media-actions{width:auto;gap:7px;flex:0 1 auto}.hero-note .video-quality{width:112px;font-size:10px;min-height:42px;padding:8px}.hero-note .video-toggle{font-size:10px;min-height:42px;padding:8px;flex:0 1 auto}.hero-note .concept-tag{display:none}
 main>section[data-page]:not(.hero){padding-top:44px;padding-bottom:56px;min-height:calc(100svh - var(--header-height))}.section-heading .page-title,.about .page-title,.connect .page-title{font-size:clamp(36px,8.8vw,48px);line-height:1.18}.capabilities .section-heading .page-title{font-size:clamp(38px,9.5vw,50px)}.section-heading>p{font-size:15px}.section-heading{margin-bottom:38px}.section-heading:before{bottom:-18px}.fcs-brand-art{padding-top:25px;margin-top:0}.fcs-brand-art img{max-height:280px}.page-turner{padding-block:26px;gap:14px}.page-turner>a{font-size:13px;gap:9px;max-width:40%}.page-turner>a>span[aria-hidden]{font-size:21px}.page-turner>span{font-size:10px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 24px}.footer-top>div{grid-column:1;grid-row:2}.footer-contact{grid-column:1/-1;grid-row:2;justify-self:start!important}.footer-top>div:not(.footer-contact){grid-column:1;grid-row:3}.footer-contact>a{font-size:14px}.back-top{grid-column:2;grid-row:3;align-self:start}.footer-brand{grid-column:1/-1}.footer-brand .footer-brand-seal{width:84px;height:84px}
}
@media(max-width:380px){:root{--header-logo-size:88px;--header-height:108px;--header-inset:16px}.wrap{width:calc(100% - 32px)}.site-header,.header-inner{min-height:var(--header-height)}.header-inner{padding-inline:var(--header-inset)}main>section[data-page]:not(.hero){min-height:calc(100svh - var(--header-height))}.site-header .brand>span{font-size:17px}.site-header .brand small{font-size:6.4px}.site-header .brand img{width:var(--header-logo-size);height:var(--header-logo-size)}.site-header .menu-toggle{min-width:104px;gap:12px;height:50px}.hero-content{padding-top:calc(var(--header-height) + 24px);padding-bottom:28px}.hero h1{font-size:96px}.welcome-company{font-size:14px;letter-spacing:.1em}.hero-note>span#hero-media-label{flex-basis:100%;font-size:9px}.hero-note .media-actions{width:100%;justify-content:space-between}.hero-note .video-quality{width:125px}.hero-note .video-toggle{flex:1 1 100px}.page-turner>a{font-size:12px}.footer-top{gap:24px}.menu-page-list>a>span{font-size:20px}#primary-nav .menu-page-list>a{font-size:20px}}
@media(prefers-reduced-motion:reduce){.site-header,.menu-icon i,.welcome-enter,#primary-nav .menu-page-list>a{transition:none}}

.hero-note .video-quality option{background:#103553;color:#fff}

/* Tight logo viewports remove canvas space without changing the supplied artwork.
   Stretching the contact column aligns the registration row with the main mark. */
.footer-top>.footer-contact{display:flex;flex-direction:column;gap:8px;min-width:0;align-self:stretch}
.footer-contact .footer-registrations{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;width:min(100%,216px);margin:auto 0 0;padding:0}
.footer-registration{min-width:0;height:52px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:0;border-radius:4px;background:#c4d7e7;padding:2px}
.footer-registration-art{display:block;width:100%;height:48px;overflow:hidden}
@media(max-width:700px){.footer-top>.footer-contact{grid-column:1/-1;grid-row:2}.footer-contact .footer-registrations{width:min(100%,208px);margin-top:12px;gap:6px}.footer-registration{height:48px}.footer-registration-art{height:44px}}

/* Compact footer spacing while retaining the established logo alignment. */
.site-footer{padding-top:14px}
.site-footer .footer-top{padding-bottom:20px;row-gap:16px}
.site-footer .footer-brand-seal{margin-top:8px}
.site-footer .footer-bottom{padding-block:8px;gap:6px 20px}
@media(max-width:700px){.site-footer{padding-top:12px}.site-footer .footer-top{padding-bottom:18px;row-gap:18px}}

/* A permanent website QR is useful on screen and in downloaded print material. */
.footer-top>.footer-links{min-width:0}
.footer-website-qr{display:flex;align-items:center;gap:12px;margin-top:4px;min-width:0}
.footer-website-qr .website-qr-link{display:block;width:80px;flex:0 0 80px;border-radius:4px;overflow:hidden;line-height:0}
.website-qr-link img{display:block;width:80px;height:80px;max-width:none}
.footer-website-qr>div{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;line-height:1.6;color:#c9dfee}
.footer-website-qr>div>a{display:inline-flex;align-items:center;gap:8px;min-height:32px;flex-wrap:wrap;color:#b4e2ff;text-decoration:underline;text-underline-offset:4px}
.linkedin-contact:focus-visible,.website-qr-link:focus-visible,.footer-website-qr a:focus-visible{outline:2px solid #9edfff;outline-offset:4px}
@media(min-width:701px) and (max-width:1100px){.footer-website-qr{flex-wrap:wrap;gap:6px}.footer-website-qr>div{gap:2px}.footer-website-qr>div>span br{display:none}}
@media(max-width:700px){.site-footer .footer-top>.footer-links{grid-column:1/-1;grid-row:3}.site-footer .footer-top>.back-top{grid-column:1/-1;grid-row:4;justify-self:start}.footer-website-qr{margin-top:6px}}

/* White horizontal branding band inspired by the supplied footer reference. */
.site-footer .footer-logo-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 20px;margin-bottom:22px;background:#fff;border:1px solid #d4e2ed;border-radius:5px;min-width:0}
.footer-logo-band .footer-brand{display:flex;align-items:center;gap:16px;width:min(100%,390px);min-width:0;align-self:center}
.footer-logo-band .footer-brand>img:not(.footer-brand-seal){width:calc(100% - 120px);height:auto;filter:brightness(0) saturate(100%) invert(23%) sepia(42%) saturate(1462%) hue-rotate(170deg) brightness(93%) contrast(100%)}
.site-footer .footer-logo-band .footer-brand-seal{order:-1;flex:none;width:104px;height:104px;margin:0}
.footer-logo-band .footer-registrations{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px;width:260px;flex-shrink:0;margin:0;padding:0}
.footer-logo-band .footer-registration{height:64px;padding:2px;background:#fff;border:0;border-radius:0}.footer-logo-band .footer-registration-art{height:60px}
.site-footer .footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:28px;padding-bottom:20px}.site-footer .footer-top .back-top{grid-column:3;grid-row:1}
@media(max-width:800px){.site-footer .footer-logo-band{gap:18px;padding:12px}.footer-logo-band .footer-registrations{width:216px;gap:12px}.site-footer .footer-logo-band .footer-brand-seal{width:88px;height:88px}.footer-logo-band .footer-brand>img:not(.footer-brand-seal){width:calc(100% - 104px)}}
@media(max-width:700px){.site-footer .footer-logo-band{flex-direction:column;align-items:flex-start;gap:12px;padding:12px;margin-bottom:16px}.footer-logo-band .footer-brand{max-width:360px;align-self:flex-start}.footer-logo-band .footer-registrations{width:min(100%,244px);align-self:center;gap:16px}.footer-logo-band .footer-registration{height:54px}.footer-logo-band .footer-registration-art{height:50px}.site-footer .footer-top{grid-template-columns:1fr;gap:18px}.site-footer .footer-top>.footer-contact{grid-column:1;grid-row:1}.site-footer .footer-top>.footer-links{grid-column:1;grid-row:2}.site-footer .footer-top>.back-top{grid-column:1;grid-row:3;justify-self:start}}

/* Keep the website QR directly after the ISO mark in the white branding band. */
.footer-logo-band .footer-brand{flex:1 1 260px;max-width:390px}
.footer-registration-row{display:grid;grid-template-columns:260px 174px;align-items:center;gap:8px 20px;flex:0 0 auto;min-width:0;max-width:100%}
.footer-logo-band .footer-website-qr{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;width:174px;flex:0 0 174px;margin:0}
.footer-logo-band .footer-website-qr>div{font-size:10px;line-height:1.6;color:#234e70;gap:4px}
.footer-logo-band .footer-website-qr>div>a{color:#165f9b;min-height:32px;gap:5px}
.footer-logo-band .website-qr-link:focus-visible,.footer-logo-band .footer-website-qr a:focus-visible{outline-color:#1c74b6}
@media(max-width:900px){.site-footer .footer-logo-band{flex-direction:column;align-items:flex-start;gap:18px}.footer-logo-band .footer-brand{flex:none;width:min(100%,390px)}.footer-registration-row{align-self:flex-end;grid-template-columns:244px 174px}.footer-logo-band .footer-registrations{width:244px;gap:14px}}
@media(max-width:520px){.footer-registration-row{width:100%;grid-template-columns:minmax(0,1fr) 80px;gap:8px 12px;align-self:stretch}.footer-logo-band .footer-registrations{flex:1 1 0;min-width:0;width:auto;gap:8px}.footer-logo-band .footer-website-qr{width:80px;flex:0 0 80px;flex-direction:column;gap:2px}.footer-logo-band .footer-website-qr>div{align-items:center;text-align:center}.footer-logo-band .footer-website-qr>div>span{display:none}.footer-logo-band .footer-registration{height:50px}.footer-logo-band .footer-registration-art{height:46px}}

.footer-registration-row .footer-domain{grid-column:1/-1;display:block;min-width:0;max-width:100%;padding:3px 0;text-align:center;color:#194b73;font:500 clamp(12px,1.2vw,15px)/1.65 var(--font-body);letter-spacing:.025em;overflow-wrap:anywhere;text-decoration:none}.footer-domain:hover{text-decoration:underline;text-underline-offset:4px}.footer-domain:focus-visible{outline:2px solid #1c74b6;outline-offset:4px}.footer-design-credit{white-space:normal;overflow-wrap:anywhere}

/* Compact footer navigation shares the phone number's desktop baseline. */
.site-footer .footer-logo-band{margin-bottom:8px}
.site-footer .footer-top{grid-template-columns:minmax(0,1fr) max-content auto;align-items:end;gap:8px 24px;padding-bottom:8px}
.site-footer .footer-top>.footer-contact{grid-column:1;grid-row:1;align-self:end;gap:4px}
.site-footer .footer-top>.footer-links{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:baseline;align-self:end;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;max-width:100%}
.site-footer .footer-contact>a,.site-footer .footer-links>a{font-size:13px;line-height:1.7}
.site-footer .footer-links>a{display:inline-block;margin:0;padding:0;min-height:0;white-space:nowrap}
.site-footer .footer-top>.back-top{grid-column:3;grid-row:1;align-self:end}
.footer-registration-row .footer-domain{grid-column:1;grid-row:2;justify-self:center;width:max-content;font-size:clamp(11px,1.1vw,14px);letter-spacing:0}
@media(max-width:900px){.site-footer .footer-top{grid-template-columns:minmax(0,1fr) auto;gap:8px 18px}.site-footer .footer-top>.footer-links{grid-column:1/-1;grid-row:2;gap:4px 18px}.site-footer .footer-links>a{min-height:32px;padding-block:4px}.site-footer .footer-top>.back-top{grid-column:2;grid-row:1}}
@media(max-width:520px){.site-footer .footer-top{grid-template-columns:1fr;gap:6px;padding-bottom:6px}.site-footer .footer-top>.footer-contact{grid-column:1;grid-row:1}.site-footer .footer-top>.footer-links{grid-column:1;grid-row:2;gap:2px 16px}.site-footer .footer-top>.back-top{grid-column:1;grid-row:3;justify-self:end}}
@media(max-width:350px){.footer-registration-row .footer-domain{grid-column:1/-1}}

/* Keep the logo at the top; navigation remains reachable throughout the document. */
.header-actions{position:fixed;top:calc((var(--header-height) - 56px)/2);right:var(--header-inset)}
.site-header .menu-toggle{padding:10px 16px;background:#0c2c50ed;color:#fff;border:1px solid #a9d1ec66;border-radius:4px}
main>section[data-page]{scroll-margin-top:0}
@media(max-width:700px){.header-actions{top:24px}.site-header .menu-toggle{padding:10px 12px}}
