.landing-brand{display:grid;grid-template-columns:38px 183px;grid-template-rows:38px auto;column-gap:12px;row-gap:3px;align-items:center}
.landing-brand img.landing-brand-icon{grid-column:1;grid-row:1;width:38px;height:38px;object-fit:contain;flex:0 0 38px}
.landing-brand img.landing-wordmark{grid-column:2;grid-row:1;width:183px;height:28px;object-fit:contain;object-position:left center}
.landing-brand>span{grid-column:1/-1;grid-row:2;display:block;text-align:center}
.landing-brand:has(.landing-wordmark) small{display:block;margin:0;font-size:.62rem;line-height:1.15;letter-spacing:.075em}
.landing-nav a,.landing-link{font-size:.903rem}
.landing-button{font-size:.882rem}

/* Landing refinements */
.hero-content h1{font-size:clamp(1.71rem,3.15vw,3.24rem)}
.footer-company-details{font-style:normal;line-height:1.55}
.footer-company-details a{overflow-wrap:anywhere}
.footer-legal{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.back-to-top-icon{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid rgba(167,223,255,.28);border-radius:50%;color:#a7dfff;background:rgba(255,255,255,.05);font-size:.82rem;text-decoration:none;transition:background .18s ease,transform .18s ease}
.back-to-top-icon:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateY(-2px)}
@media(max-width:650px){.hero-content h1{font-size:1.62rem}.footer-legal{gap:12px}}

/* Automated hero showcase */
.hero-carousel {
    min-height: 430px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(130, 202, 255, .2);
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(6, 37, 82, .82), rgba(3, 20, 48, .76));
    box-shadow: 0 30px 80px rgba(0, 12, 38, .32), inset 0 1px rgba(255, 255, 255, .08);
}
.hero-carousel-glow {
    position: absolute;
    inset: -30%;
    z-index: -1;
    background: radial-gradient(circle at 22% 20%, rgba(47, 174, 255, .2), transparent 32%), radial-gradient(circle at 82% 72%, rgba(32, 224, 214, .14), transparent 29%);
    animation: heroGlowShift 9s ease-in-out infinite alternate;
}
.hero-slide-stage { position: absolute; inset: 16px 16px 62px; overflow: hidden; border-radius: 19px; }
.hero-slide {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    transform: translate3d(5%, 0, 0) scale(.965);
    filter: saturate(.9) brightness(.88);
    pointer-events: none;
    transition: opacity .72s ease, transform .85s cubic-bezier(.2,.7,.2,1), filter .72s ease;
}
.hero-slide.is-active { z-index: 2; opacity: 1; transform: translate3d(0,0,0) scale(1); filter: saturate(1) brightness(1); pointer-events: auto; }
.hero-slide img { width: 100%; height: 100%; display: block; border-radius: 19px; object-fit: contain; background: #061d40; box-shadow: 0 18px 45px rgba(0, 9, 30, .3); }
.hero-slide.is-active::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -18%;
    z-index: 2;
    width: 16%;
    border-right: 1px solid rgba(99, 231, 255, .8);
    background: linear-gradient(90deg, transparent, rgba(56, 201, 255, .04), rgba(90, 239, 221, .22), transparent);
    filter: drop-shadow(8px 0 14px rgba(47, 196, 255, .42));
    transform: skewX(-8deg);
    animation: heroAiScan 4.6s cubic-bezier(.35,.05,.2,1) infinite;
    pointer-events: none;
}
.hero-slide figcaption {
    position: absolute;
    left: 14px;
    bottom: 13px;
    max-width: calc(100% - 28px);
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    color: #fff;
    background: rgba(2, 17, 43, .78);
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 24px rgba(0, 7, 24, .22);
    font-size: .68rem;
    font-weight: 780;
    letter-spacing: .02em;
    z-index: 4;
}
.hero-slide figcaption span { color: #78dcff; font: 800 .64rem ui-monospace, monospace; }
.hero-ai-command{position:absolute;top:12px;left:12px;right:12px;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}
.hero-ai-mode,.hero-ai-confidence{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(130,221,255,.28);border-radius:13px;color:#fff;background:rgba(2,19,48,.78);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(0,8,31,.24)}
.hero-ai-mode>i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#062040;background:linear-gradient(135deg,#79e7ff,#63f0ce);box-shadow:0 0 22px rgba(83,224,255,.28)}
.hero-ai-mode span,.hero-ai-confidence span{display:flex;flex-direction:column;gap:2px}
.hero-ai-mode small,.hero-ai-confidence small{color:rgba(211,239,255,.66);font-size:.5rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.hero-ai-mode strong,.hero-ai-confidence strong{font-size:.66rem;font-weight:800;line-height:1.15}
.hero-ai-confidence{border-color:rgba(95,240,203,.25)}
.hero-ai-confidence strong{color:#72f0cb;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hero-ai-confidence>i{color:#72f0cb;font-size:.9rem}
.hero-ai-pipeline{position:absolute;right:14px;bottom:13px;z-index:5;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:rgba(255,255,255,.58);background:rgba(2,17,43,.76);backdrop-filter:blur(12px);font-size:.5rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.hero-ai-pipeline span{position:relative;padding-left:9px}
.hero-ai-pipeline span::before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.34);transform:translateY(-50%)}
.hero-ai-pipeline span.is-complete{color:#bdf8e9}
.hero-ai-pipeline span.is-complete::before{background:#64ebc5;box-shadow:0 0 0 3px rgba(100,235,197,.11)}
.hero-ai-pipeline i{width:13px;height:1px;background:linear-gradient(90deg,#64ebc5,rgba(100,235,197,.18))}
.hero-carousel-arrow {
    position: absolute;
    top: calc(50% - 22px);
    z-index: 5;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    color: #fff;
    background: rgba(3, 23, 53, .75);
    backdrop-filter: blur(12px);
    box-shadow: 0 9px 24px rgba(0, 8, 28, .28);
    opacity: .82;
    transition: opacity .18s ease, transform .18s ease, background .18s ease;
}
.hero-carousel-prev { left: 6px; }
.hero-carousel-next { right: 6px; }
.hero-carousel-arrow:hover,.hero-carousel-arrow:focus-visible { opacity: 1; color: #031735; background: #8fe1ff; transform: scale(1.07); outline: none; }
.hero-carousel-footer { position: absolute; left: 20px; right: 20px; bottom: 17px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hero-carousel-dots { display: flex; align-items: center; gap: 8px; }
.hero-carousel-dot { width: 10px; height: 8px; padding: 0; position: relative; overflow: hidden; border: 0; border-radius: 999px; background: rgba(255,255,255,.25); transition: width .3s ease, background .3s ease; }
.hero-carousel-dot.is-active { width: 42px; background: rgba(255,255,255,.18); }
.hero-carousel-dot span { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg,#49c7ff,#58f0d0); }
.hero-carousel-dot.is-active span { animation: heroDotProgress 4.6s linear forwards; }
.hero-carousel.is-paused .hero-carousel-dot.is-active span { animation-play-state: paused; }
.hero-carousel-status { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.68); font-size: .65rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hero-carousel-status i { width: 7px; height: 7px; border-radius: 50%; background: #55e5bc; box-shadow: 0 0 0 5px rgba(85,229,188,.1); animation: heroPulse 1.8s ease-in-out infinite; }
.hero-carousel.is-paused .hero-carousel-status i { background: #ffd166; animation-play-state: paused; }
@keyframes heroDotProgress { to { width: 100%; } }
@keyframes heroPulse { 50% { opacity: .45; transform: scale(.75); } }
@keyframes heroGlowShift { to { transform: translate3d(3%,2%,0) scale(1.04); } }
@keyframes heroAiScan { 0%,12% { left:-18%;opacity:0 } 20% { opacity:1 } 76% { opacity:.95 } 90%,100% { left:106%;opacity:0 } }
@media (prefers-reduced-motion: reduce) {
    .hero-carousel-glow,.hero-carousel-status i,.hero-carousel-dot.is-active span,.hero-slide.is-active::after { animation: none; }
    .hero-slide { transition-duration: .01ms; }
}
@media(max-width:920px){.hero-carousel{min-height:390px}.hero-slide-stage{inset:13px 13px 59px}}
@media(max-width:650px){
    .landing-brand{grid-template-columns:31px 150px;grid-template-rows:32px auto;column-gap:9px}
    .landing-brand img.landing-brand-icon{width:31px;height:31px;flex-basis:31px}
    .landing-brand img.landing-wordmark{width:150px;height:23px}
    .hero-carousel{width:100%;min-height:310px;transform:none}
    .hero-slide-stage{inset:9px 9px 54px}
    .hero-slide figcaption{left:9px;bottom:9px;max-width:calc(100% - 18px);font-size:.61rem}
    .hero-carousel-arrow{width:36px;height:36px;top:calc(50% - 24px)}
    .hero-carousel-prev{left:2px}.hero-carousel-next{right:2px}
    .hero-carousel-footer{left:14px;right:14px;bottom:15px}
    .hero-carousel-status span{display:none}
    .hero-ai-command{top:7px;left:7px;right:7px}
    .hero-ai-mode,.hero-ai-confidence{padding:6px 8px;border-radius:10px}
    .hero-ai-mode>i{width:24px;height:24px}
    .hero-ai-mode small,.hero-ai-confidence small{display:none}
    .hero-ai-mode strong,.hero-ai-confidence strong{font-size:.57rem}
    .hero-ai-pipeline{display:none}
}

/* Keep the media stage in normal flow for consistent browser sizing. */
.hero-carousel{padding:16px 16px 14px;display:flex;flex-direction:column}
.hero-slide-stage{position:relative;inset:auto;min-height:0;flex:1;display:grid;overflow:hidden;border-radius:19px}
.hero-slide{position:relative;inset:auto;grid-area:1/1;width:100%;height:100%}
.hero-carousel-footer{position:relative;left:auto;right:auto;bottom:auto;margin:13px 4px 0;flex:0 0 auto}
@media(max-width:920px){.hero-carousel{padding:13px 13px 12px}.hero-slide-stage{inset:auto}.hero-carousel-footer{margin-top:12px}}
@media(max-width:650px){.hero-carousel{padding:9px 9px 12px}.hero-slide-stage{inset:auto}.hero-carousel-footer{margin:11px 5px 0}}

/* Refined company footer: 25% brand, 50% address, 25% access. */
.landing-footer{padding:38px 0 22px}
.footer-main{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:0}
.footer-company-brand{padding-right:32px;display:flex;align-items:center;gap:14px;min-width:0}
.footer-company-brand img{width:58px;height:58px;flex:0 0 58px;padding:6px;border-radius:15px;background:#fff;object-fit:contain;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.footer-company-brand div{min-width:0;display:flex;flex-direction:column}
.footer-company-brand strong{color:#fff;font-size:.98rem;font-weight:800;line-height:1.3}
.footer-company-brand span{margin-top:5px;color:rgba(255,255,255,.55);font-size:.68rem}
.footer-address-panel{min-width:0;margin:0;padding:0 42px;display:flex;flex-direction:column;gap:9px;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);font-style:normal}
.footer-address-panel>strong,.footer-connect-panel>strong{color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.footer-address-line{color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.55;white-space:nowrap}
.footer-company-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.48);font-size:.65rem}
.footer-contact-links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.footer-contact-links a{display:inline-flex;align-items:center;gap:7px;color:#9fddff;font-size:.69rem;text-decoration:none}
.footer-contact-links a:hover{color:#fff}
.footer-connect-panel{padding-left:32px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-access-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.footer-access-links a{color:rgba(255,255,255,.68);font-size:.7rem;font-weight:650;text-decoration:none}
.footer-access-links a:hover{color:#fff}
.footer-connect-label{margin-top:4px;color:rgba(255,255,255,.45);font-size:.61rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.footer-socials{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.footer-social-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(151,218,255,.18);border-radius:10px;color:#9fddff;background:rgba(255,255,255,.045);font-size:.88rem;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.footer-social-icon:hover{color:#fff;background:rgba(36,155,235,.18);border-color:rgba(151,218,255,.42);transform:translateY(-2px)}
.footer-bottom{margin-top:28px;padding-top:18px}
@media(max-width:1150px){
    .footer-main{grid-template-columns:1fr 1.7fr 1fr}
    .footer-address-panel{padding:0 28px}
    .footer-address-line{white-space:normal}
    .footer-company-brand{padding-right:24px}
    .footer-connect-panel{padding-left:24px}
}
@media(max-width:820px){
    .footer-main{grid-template-columns:1fr}
    .footer-company-brand{padding:0 0 24px}
    .footer-address-panel{padding:24px 0;border-left:0;border-right:0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
    .footer-connect-panel{padding:24px 0 0}
    .footer-address-line{white-space:normal}
}
