/* Compact material study, borderless partner rail and complete source-based footer. */
.material-info.section{position:relative;isolation:isolate;padding:44px 0;background:#ebf3ff;overflow:hidden;scroll-margin-top:24px}
.material-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 16% 60%,#c5dbff85,transparent 52%),linear-gradient(125deg,#e8f2ff,#f7faff 55%,#e8efff);background-size:140% 140%;animation:material-wash 18s ease-in-out infinite alternate}
.material-atmosphere:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#4277b90b 1px,transparent 1px),linear-gradient(90deg,#4277b90b 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.material-atmosphere svg{position:absolute;inset:0;width:100%;height:100%;color:#6393d0;opacity:.14;stroke-width:1;stroke-dasharray:1500;animation:material-trace 18s ease-in-out infinite alternate}
.material-info-inner{grid-template-columns:minmax(240px,.65fr) minmax(0,1.6fr);gap:22px 38px;align-items:center}
.material-info .polymer-visual{display:grid;position:relative;top:auto;margin:0;height:300px;min-height:0;overflow:hidden;isolation:isolate;border:1px solid #9ebde150;border-radius:8px;background:radial-gradient(ellipse at 50% 30%,#fff9,#b9d3f452);perspective:900px}
.polymer-visual:after{content:'';position:absolute;left:15%;right:15%;bottom:12px;height:30px;background:#3268a733;filter:blur(16px);border-radius:50%;z-index:-1;transition:transform .6s}
.material-info .polymer-visual img{width:100%;height:290px;object-fit:contain;mix-blend-mode:normal;translate:none;transition:transform .7s cubic-bezier(.2,.7,.2,1);z-index:2}
.material-info .polymer-code{inset:16px auto auto 18px;font-size:90px;line-height:1;letter-spacing:-7px;color:#416da618;font-weight:650;z-index:0}
.material-info .polymer-crosshair{position:absolute;inset:18px;display:block;border:1px solid #9ebde12e;border-radius:50%;transform:rotate(-25deg) scaleY(.7);z-index:0}
.polymer-crosshair:before,.polymer-crosshair:after{content:'';position:absolute;left:-7px;right:-7px;top:50%;height:1px;background:#6c96c73b}.polymer-crosshair:after{inset:-7px auto -7px 50%;width:1px;height:auto}
.material-info .polymer-visual:hover img{transform:translateY(-6px) rotateY(-9deg) rotateZ(-2deg)}.polymer-visual:hover:after{transform:scale(.85)}
.material-info-copy h2{margin-top:10px;font-size:38px}.material-info-copy>p{margin-top:15px;font-size:16px;line-height:1.75;color:#425e7d}.material-info-copy>p:last-child{margin-top:15px}
.material-info .polymer-types{grid-column:1/-1;margin:0;gap:20px;align-items:stretch}
.material-info .polymer-types>article{position:relative;padding:21px 24px;border:1px solid #b6cde9;background:linear-gradient(125deg,#ffffffc9,#eef5ffd9);border-radius:6px;overflow:hidden;transition:transform .4s,box-shadow .4s,border-color .4s}
.polymer-types>article:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 100% 0,#8abaff33,transparent 65%);opacity:0;transition:opacity .4s}.polymer-types>article:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#4a84d9;transform:scaleY(.4);transform-origin:top;transition:transform .5s}
.material-info .polymer-types h3{font-size:25px}.material-info .polymer-types p{font-size:16px;line-height:1.7;margin-top:10px;color:#425e7d;max-width:none}
.polymer-types>article:hover{transform:translateY(-4px);box-shadow:0 15px 25px #285d9814;border-color:#78a2db}.polymer-types>article:hover:after{opacity:1}.polymer-types>article:hover:before{transform:scaleY(1)}
.material-info .polymer-link{grid-column:1/-1;justify-self:end;margin:0;padding:10px 0;font-size:16px;transition:gap .35s,color .35s}.polymer-link:hover{gap:27px;color:#0c4cb4}
.partners.section{position:relative;isolation:isolate;padding:46px 0 48px;overflow:hidden;background:linear-gradient(180deg,#f8fbff,#eff5fe)}
.partners:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 75% 90%,#cfe0ff80,transparent 60%)}
.partners-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px}.partners h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin:0}.partner-motion{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;color:#3f6797;border:1px solid #bfd0e7;border-radius:50%;transition:background .3s,color .3s}.partner-motion:hover{background:#245caa;color:white}.partner-motion .play-triangle{display:none}.partner-motion[aria-pressed=true] .pause-bars{display:none}.partner-motion[aria-pressed=true] .play-triangle{display:block}
.partner-rail{overflow:hidden;position:relative;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);padding:8px 0}
.partner-track{display:flex;width:max-content;mix-blend-mode:multiply;animation:partner-travel 42s linear infinite}.partner-group{display:flex;align-items:center;gap:34px;padding-right:34px;flex-shrink:0}.partner-logo{position:relative;width:180px;height:114px;border:0!important;padding:0;background:none;border-radius:10px;overflow:hidden;transition:background .4s,box-shadow .4s,transform .4s}
.partner-logo img{position:absolute;height:auto;max-width:none;object-fit:initial;mix-blend-mode:multiply;filter:grayscale(.35);opacity:.9;transition:filter .4s,opacity .4s}.partner-logo:hover{background:#ffffffb8;box-shadow:0 10px 25px #254b7c10;transform:translateY(-3px)}.partner-logo:hover img{filter:none;opacity:1;transform:none}
.partner-rail:hover .partner-track,.partners.is-paused .partner-track{animation-play-state:paused}
.footer.footer-v9{position:relative;padding:0;isolation:isolate;background:#0b2243;color:#c4d5ed;overflow:hidden}
.footer-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 0,#1b4e8f80,transparent 60%),radial-gradient(ellipse at 95% 80%,#244f9560,transparent 65%),linear-gradient(125deg,#102d54,#091d39)}
.footer-atmosphere:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#8aade309 1px,transparent 1px),linear-gradient(90deg,#8aade309 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,#0008,transparent 85%)}
.footer-atmosphere>div{position:absolute;width:900px;height:900px;right:-460px;top:-370px;border:1px solid #8fb8f418;border-radius:50%;box-shadow:0 0 0 100px #8fb8f407,0 0 0 200px #8fb8f407;animation:footer-orbit 25s ease-in-out infinite alternate}
.footer-v9 .footer-mast{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:38px 0 32px;border-bottom:1px solid #9cbae72b}
.footer-v9 .footer-brand{display:flex;align-items:center;gap:26px;min-width:0}.footer-v9 .footer-brand .logo{display:flex;background:#fff;padding:12px 16px;border-radius:5px;flex:0 0 auto;line-height:0;margin:0}.footer-v9 .footer-brand .logo img{width:220px;height:auto;max-width:100%}.footer-v9 .footer-brand p{font-size:16px;line-height:1.65;color:#a7c1e3;margin:0}.footer-v9 .footer-brand p strong{font-weight:500;color:#e4efff}
.footer-reach{display:flex;align-items:center;gap:35px;flex:0 0 auto}.footer-call{display:grid;gap:7px}.footer-call>a{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.4px;color:#f2f7ff;transition:color .3s}.footer-call>a:hover{color:#83b7ff}.footer-schedule{padding-left:28px;border-left:1px solid #9cbae72b}.footer-schedule>span{font-size:14px;color:#88a8d0}.footer-schedule>p{font-size:16px;line-height:1.7;margin-top:8px;color:#c4d5ed}
.footer-directory{display:grid;grid-template-columns:.78fr 1fr 1.35fr 1.3fr;gap:35px;padding:36px 0 32px}.footer-column{min-width:0}.footer-v9 .footer-column h2{font-size:20px;line-height:1.3;font-weight:500;color:#f0f6ff;margin:0 0 20px;letter-spacing:-.3px}.footer-column nav{display:grid;gap:11px}.footer-column nav>a{position:relative;font-size:16px;line-height:1.55;color:#b5cbe8;transition:color .3s,translate .3s}.footer-column nav>a:hover{color:#fff;translate:4px 0}.footer-column nav>a:before{content:'';position:absolute;left:-13px;top:.7em;width:4px;height:4px;border-radius:50%;background:#7faff5;opacity:0;transition:opacity .3s}.footer-column nav>a:hover:before{opacity:1}
.footer-location address{font-size:16px;font-style:normal;line-height:1.65;color:#c4d5ed}.footer-location .footer-email{display:inline-block;font-size:16px;margin-top:12px;color:#8fbaff;border-bottom:1px solid #8fbaff40;padding-bottom:3px}.footer-email:hover{color:white}
.footer-column summary{list-style:none;cursor:pointer}.footer-column summary::-webkit-details-marker{display:none}.footer-column summary:focus-visible{outline:2px solid #85b8ff;outline-offset:5px}
.footer-map{position:relative;margin-top:20px;border:1px solid #95b8e64d;border-radius:6px;overflow:hidden;background:#dfe9f4;box-shadow:0 12px 25px #0002}.footer-map iframe{display:block;width:100%;height:190px;border:0;filter:saturate(.6);transition:filter .5s}.footer-map:hover iframe{filter:saturate(1)}.footer-map-link{display:flex;justify-content:space-between;align-items:center;min-height:45px;padding:10px 14px;background:#173d6e;color:#e6f0ff;font-size:14px;line-height:1.5;transition:background .3s}.footer-map-link:hover{background:#24528c}
.footer-v9 .footer-bottom{display:flex;align-items:center;gap:28px;border-top:1px solid #9cbae72b;padding:20px 0;font-size:14px;letter-spacing:.2px;color:#88a7ce}.footer-bottom>a{font-size:14px;line-height:1.5}.footer-v9 .footer-up{margin-left:auto;display:flex;align-items:center;gap:15px;color:#c8ddf8}.footer-up>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #789ed14d;border-radius:50%;font-size:20px;transition:transform .3s,background .3s}.footer-up:hover>span{transform:translateY(-3px);background:#2b5d9c}.footer-v9 a:focus-visible,.partner-motion:focus-visible{outline:2px solid #85b8ff;outline-offset:5px}
@keyframes partner-travel{to{transform:translateX(-50%)}}@keyframes material-wash{to{background-position:100% 70%}}@keyframes material-trace{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}@keyframes footer-orbit{to{transform:translate(-8%,12%) scale(1.08)}}
@media(max-width:1250px){.footer-v9 .footer-brand{gap:20px}.footer-v9 .footer-brand .logo img{width:190px}.footer-v9 .footer-brand p{font-size:14px}.footer-reach{gap:22px}.footer-call>a{font-size:22px}.footer-schedule{padding-left:22px}.footer-directory{gap:28px;grid-template-columns:.8fr 1fr 1.25fr 1.25fr}.footer-column nav>a{font-size:16px}.material-info-inner{gap:20px 28px}.material-info .polymer-visual{height:310px}.material-info-copy h2{font-size:34px}}
@media(max-width:1000px){.footer-v9 .footer-mast{align-items:flex-start}.footer-v9 .footer-brand{display:grid;gap:15px}.footer-reach{align-items:flex-start;flex-direction:column;gap:15px}.footer-schedule{border-left:0;padding-left:0}.footer-directory{grid-template-columns:1fr 1.2fr;gap:32px 45px}.footer-services{grid-column:1}.footer-location{grid-column:2;grid-row:2}.footer-map iframe{height:210px}.material-info-inner{grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr)}.material-info .polymer-visual{height:100%;min-height:300px}.material-info .polymer-visual img{height:300px}.material-info-copy h2{font-size:32px}.material-info .polymer-code{font-size:70px}.material-info .polymer-types>article{padding:18px 20px}.partners h2{font-size:32px}}
@media(max-width:760px){.material-info.section{padding:32px 0}.material-info-inner{grid-template-columns:1fr;gap:20px}.material-info-copy{grid-row:1}.material-info .polymer-visual{display:none}.material-info .polymer-types{grid-column:1;grid-template-columns:1fr;gap:14px}.material-info-copy h2{font-size:32px}.material-info-copy>p{font-size:16px;line-height:1.75}.material-info .polymer-types>article{padding:18px 20px}.material-info .polymer-link{grid-column:1;justify-self:start;padding:7px 0}.partners.section{padding:32px 0 30px}.partners h2{font-size:30px}.partners-head{margin-bottom:12px}.partner-logo{width:170px;height:104px}.partner-group{gap:18px;padding-right:18px}.partner-track{animation-duration:45s}.partner-motion{width:38px;height:38px}.partner-rail{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.footer-v9 .footer-mast{display:block;padding:30px 0 26px}.footer-v9 .footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.footer-v9 .footer-brand .logo img{width:200px}.footer-v9 .footer-brand p{font-size:16px}.footer-reach{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;margin-top:27px}.footer-call>a{font-size:21px}.footer-schedule{padding-left:18px;border-left:1px solid #9cbae72b}.footer-schedule>p{font-size:14px;line-height:1.65}.footer-directory{grid-template-columns:1fr 1fr;gap:30px 24px;padding:28px 0}.footer-v9 .footer-column h2{font-size:19px;margin-bottom:16px}.footer-column nav{gap:11px}.footer-column nav>a{font-size:16px}.footer-services{grid-column:1/-1}.footer-location{grid-column:1/-1;grid-row:auto;border-top:1px solid #9cbae72b;padding-top:25px}.footer-location address{font-size:16px}.footer-map iframe{height:220px}.footer-map-link{font-size:15px}.footer-v9 .footer-bottom{flex-wrap:wrap;gap:17px 20px;padding:20px 0}.footer-bottom>span{max-width:none;flex-basis:100%}.footer-v9 .footer-up{margin-left:auto}.footer-atmosphere>div{right:-650px;top:150px}}
@media(max-width:420px){.footer-reach{align-items:flex-start;flex-direction:column;gap:20px}.footer-call>a{font-size:25px}.footer-schedule{border:0;padding-left:0}.footer-schedule>p{font-size:16px}.footer-directory{grid-template-columns:1fr;gap:27px}.footer-services,.footer-location{grid-column:1;grid-row:auto}.footer-v9 .footer-brand{display:grid}.footer-column nav{gap:10px}.footer-v9 .footer-bottom{gap:16px}.footer-bottom>a{font-size:14px}}
@media(max-width:760px){.footer-directory{grid-template-columns:1fr;gap:0}.footer-directory details{grid-column:1;border-bottom:1px solid #9cbae72b;padding:0}.footer-column summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0}.footer-v9 .footer-column summary h2{margin:0;font-size:19px}.footer-column summary:after{content:'+';font-size:24px;font-weight:300;color:#87b5f4;line-height:1}.footer-column[open] summary:after{content:'−'}.footer-column nav{padding:0 5px 22px;gap:12px}.footer-location{grid-column:1;border-top:0;padding-top:28px}.footer-services{grid-column:1}}
@media(prefers-reduced-motion:reduce){.material-atmosphere,.material-atmosphere svg,.footer-atmosphere>div{animation:none}.partner-track{animation:none;width:100%}.partner-group{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0}.partner-group[aria-hidden=true]{display:none}.partner-logo{width:100%}.partner-rail{mask-image:none}.partner-motion{display:none}.partner-logo img{filter:none;opacity:1}.material-info .polymer-visual img,.material-info .polymer-types>article,.footer-v9 a,.partner-logo{transition:none}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.partner-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
