/* One navigation item, one flexible page area. Content is never clipped to a screen. */
.design-constellation{--header-height:88px}
.design-constellation .site-header{height:var(--header-height);max-width:none;background:#f8fbfff2;border-bottom:1px solid #cbd7ed80;backdrop-filter:blur(14px)}
.design-constellation.is-home .site-header{position:fixed;left:0;transform:none;z-index:12}
.design-constellation #main-nav{gap:clamp(14px,2.2vw,34px);font-size:14px}
.design-constellation #main-nav .nav-cta{margin-left:0;min-height:42px;padding:9px 16px}
.design-constellation #main-nav a[aria-current="location"]{color:var(--blue)}
.design-constellation #main-nav>a:not(.button)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transition:transform .2s}
.design-constellation #main-nav>a[aria-current="location"]::after{transform:scaleX(1)}
.design-constellation.is-home main>section{scroll-margin-top:var(--header-height);min-height:calc(100svh - var(--header-height));padding-block:clamp(64px,9vh,112px);align-content:center}
.design-constellation.is-home .hero{height:100svh;min-height:720px;max-height:none;padding:0;background:radial-gradient(ellipse at 80% 64%,#e6efff 0,transparent 52%),#f8fbff}
.design-constellation .hero-content{height:auto;min-height:100%;padding-top:clamp(150px,23vh,235px);padding-bottom:220px;pointer-events:none}
.design-constellation .hero-content a{pointer-events:auto}
.design-constellation .hero h1{font-size:clamp(48px,6.5vw,94px);line-height:1.25;letter-spacing:-.05em}
.design-constellation .hero-kicker{margin-bottom:28px}
.design-constellation .hero-intro{font-size:clamp(20px,2.3vw,29px);margin-top:26px}
.design-constellation .hero-actions{margin-top:32px}
.design-constellation .hero-art img{top:10%;height:90%;object-fit:cover;opacity:.08}
.design-constellation .interaction-hint{margin-top:22px}
.design-constellation .services{align-items:center;grid-template-columns:44% 1fr}
.design-constellation .section h2{font-size:clamp(34px,4.2vw,60px);line-height:1.4;letter-spacing:-.035em}
.design-constellation .service strong{font-size:26px}
.design-constellation .approach{align-items:center;grid-template-columns:26% 1fr;background:#f5f8ff}
.design-constellation .approach-steps{margin-top:46px;gap:32px}
.design-constellation .approach-steps li{border-top:1px solid #b8c7e5;padding-top:22px}
.design-constellation .approach-steps span{font-size:12px;margin-bottom:12px}
.design-constellation .approach-steps strong{font-size:20px;font-weight:600}
.design-constellation .about{display:grid;background:#fff}
.design-constellation .about-grid{align-items:center;gap:8%}
.design-constellation .company-facts strong{font-size:clamp(20px,2.5vw,32px);font-weight:600}
.design-constellation .qualifications{display:grid;grid-template-columns:35% 1fr;gap:8%;align-items:center;background:#eef4ff}
.design-constellation .qualifications .qualification-links{grid-column:auto;grid-template-columns:1fr;gap:30px}
.design-constellation .qualifications .qualification-links>a{padding:22px 30px 24px 0;border-top:1px solid #a9bcdf}
.design-constellation .qualifications .qualification-links span{margin-top:10px;font-size:28px}
.design-constellation .qualifications .qualification-links p{font-size:14px;margin-top:14px;color:var(--muted)}
.design-constellation .qualifications .qualification-links small{font-size:12px}
.design-constellation .qualifications .qualification-links b{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--blue);margin-top:18px;font-weight:550}
.design-constellation .qualifications .qualification-links .icon{position:static;width:18px;height:18px}
.design-constellation .contact{display:grid}
.design-constellation .contact-art{opacity:.14}
.design-constellation .contact-actions>a[href^="tel:"]{font-size:clamp(26px,3vw,40px)}
.design-constellation .contact-actions{align-content:center}
.design-constellation.is-home .site-footer{padding-bottom:80px}
.design-constellation [tabindex="-1"]:focus{outline:none}
html:has(.design-constellation){scroll-padding-top:0}
@media(max-width:1050px){.design-constellation .brand>span{font-size:23px}.design-constellation .brand>img{width:48px}.design-constellation #main-nav{gap:16px;font-size:13px}.design-constellation .nav-cta .icon{display:none}.design-constellation .hero-content{padding-top:175px}}
@media(max-width:900px){.design-constellation{--header-height:76px}.design-constellation .menu-toggle{display:flex}.design-constellation #main-nav{display:none;position:absolute;left:var(--pad);right:var(--pad);top:70px;padding:18px 22px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #11224416;flex-direction:column;align-items:stretch;gap:12px;max-height:calc(100svh - 100px);overflow:auto}.design-constellation #main-nav.is-open{display:flex}.design-constellation #main-nav .nav-cta{margin-top:8px}.design-constellation .nav-cta .icon{display:inline}}
@media(max-width:760px){.design-constellation.is-home main>section{min-height:calc(100svh - var(--header-height));padding-block:56px}.design-constellation.is-home .hero{height:auto;min-height:780px;padding:0}.design-constellation .hero-content{padding-top:136px;padding-bottom:350px}.design-constellation .hero h1{font-size:clamp(36px,8.8vw,60px)}.design-constellation .hero-intro{font-size:18px!important;margin-top:22px}.design-constellation .hero-actions{gap:20px;margin-top:28px}.design-constellation .hero-kicker{font-size:9px;margin-bottom:23px}.design-constellation .services,.design-constellation .approach,.design-constellation .qualifications{grid-template-columns:1fr;gap:34px}.design-constellation .section h2{font-size:34px}.design-constellation .service strong{font-size:23px}.design-constellation .approach-steps{gap:22px;margin-top:28px}.design-constellation .approach-steps li{padding:16px 0 0 30px}.design-constellation .approach-steps span{top:20px}.design-constellation .approach-steps strong{font-size:18px}.design-constellation .about-grid{gap:30px}.design-constellation .qualifications .qualification-links{gap:18px}.design-constellation .qualifications .qualification-links span{font-size:25px}.design-constellation .contact-details{gap:25px}.design-constellation .hero-art img{top:350px;left:0;width:100%;height:430px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.design-constellation #main-nav>a::after{transition:none}}

/* Keep link centers fixed while emphasizing the selected node and its label. */
.design-constellation .star-link{transition:transform .24s ease-out;transform-origin:50% 50%}
.design-constellation .star-link:is(.is-featured,:hover,:focus-visible,.is-clicked){transform:translate(-50%,-50%) scale(1.25);z-index:1}
@media(prefers-reduced-motion:reduce){.design-constellation .star-link{transition:none}}
