/* Public-page visual layer. Scoped to existing page components and light theme. */
:root[data-theme=light] body #app{--public-ink:#1f2024;--public-muted:#494a50;--public-blue:var(--ui-accent-text);--public-soft:#eaf2ff;--public-border:#e8e9f1;--public-surface:#fff;--public-shadow:0 10px 30px rgba(25,57,108,.055)}
:root[data-theme=light] body #app .public-discovery{max-width:1280px}
:root[data-theme=light] body #app :is(.discovery-hero,.discovery-map-feature,.home-map-preview,.discovery-services-intro){border-color:var(--public-border);box-shadow:var(--public-shadow)}
:root[data-theme=light] body #app .discovery-hero{border-radius:28px;background:var(--public-surface)}
:root[data-theme=light] body #app .discovery-hero h1{color:var(--public-ink);letter-spacing:0;line-height:1.55}
:root[data-theme=light] body #app :is(.discovery-hero-copy>p,.discovery-page-heading>p,.story-card p,.discovery-map-feature p){color:var(--public-muted);line-height:1.95}
:root[data-theme=light] body #app :is(.discovery-eyebrow,.public-discovery em,.discovery-hero-link,.story-card-action,.discovery-section-heading>a,.discovery-intro-map b){color:var(--public-blue)}
:root[data-theme=light] body #app .discovery-request>div{border-color:#e8e9f1;background:#f8f9fe}
:root[data-theme=light] body #app .discovery-request select{color:var(--public-ink)}
:root[data-theme=light] body #app .discovery-orbit{background:#f8f9fe;border-color:var(--public-border)}
:root[data-theme=light] body #app .orbit-core{background:#fff;border-color:#b4dbff;box-shadow:0 0 0 12px #eaf2ff}
:root[data-theme=light] body #app .orbit-ring{border-color:#b4dbff}
:root[data-theme=light] body #app .orbit-tag{border-color:#e8e9f1;box-shadow:0 5px 15px rgba(25,57,108,.05)}
:root[data-theme=light] body #app .story-card{border-color:var(--public-border);border-radius:22px;box-shadow:var(--public-shadow);grid-template-rows:auto auto minmax(58px,1fr) auto}
:root[data-theme=light] body #app .story-card:hover{border-color:#6fbaff;box-shadow:0 12px 28px rgba(25,75,150,.1)}
:root[data-theme=light] body #app .story-icon{background:var(--public-soft);border-radius:15px}
:root[data-theme=light] body #app .story-card h2{font-size:20px;line-height:1.7;overflow-wrap:anywhere}
:root[data-theme=light] body #app .story-card-action{border-color:var(--public-border)}
:root[data-theme=light] body #app .discovery-map-feature{border-radius:24px}
:root[data-theme=light] body #app .discovery-account{background:#eaf2ff;border-color:#e8e9f1;border-radius:22px}
:root[data-theme=light] body #app :is(.future-card,.magazine-card,.service-detail .card){border:1px solid var(--public-border);border-radius:20px;background:#fff;box-shadow:var(--public-shadow)}
:root[data-theme=light] body #app :is(.magazine-card,.future-card){min-width:0;overflow-wrap:anywhere}
:root[data-theme=light] body #app :is(.magazine-card:hover,.future-card:hover){border-color:#6fbaff}
:root[data-theme=light] body #app :is(.magazine-heading h1,.service-detail h1){letter-spacing:0;line-height:1.6}
:root[data-theme=light] body #app .service-detail :is(p,li){line-height:1.95}
:root[data-theme=light] body #app :is(.public-discovery,.service-detail,.magazine-page) :is(a,button,input,select,textarea):focus-visible{outline:3px solid #0056c8;outline-offset:3px}
:root[data-theme=light] body #app :is(.public-discovery,.service-detail,.magazine-page) :is(input,select,textarea){background-color:#fff;color:#1f2024}
@media(max-width:767px){
 :root[data-theme=light] body #app .discovery-hero{border-radius:22px}
 :root[data-theme=light] body #app .discovery-hero h1{font-size:clamp(27px,8vw,36px);line-height:1.6}
 :root[data-theme=light] body #app .story-card{grid-template-rows:auto auto minmax(44px,auto) auto;min-height:0;padding:18px;border-radius:18px}
 :root[data-theme=light] body #app .story-card h2{font-size:18px}
 :root[data-theme=light] body #app :is(.discovery-section-heading,.discovery-account,.discovery-services-intro){min-width:0}
 :root[data-theme=light] body #app .discovery-section-heading>a{white-space:normal;text-align:end}
 :root[data-theme=light] body #app :is(.public-discovery,.service-detail,.magazine-page) :is(input,select,textarea){font-size:16px}
}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .story-card{transition:none}}
/* Radar concept for the homepage preview. */
:root[data-theme=light] body #app .discovery-hero{min-height:510px;border-radius:30px;background:linear-gradient(145deg,#fff 35%,#f8f9fe 100%);box-shadow:0 24px 70px #0056c812}
:root[data-theme=light] body #app .discovery-hero-copy{padding:clamp(28px,4vw,60px);gap:20px}
:root[data-theme=light] body #app .discovery-hero h1{font-size:clamp(34px,4.2vw,58px);font-weight:800;line-height:1.55;max-width:610px}
:root[data-theme=light] body #app .discovery-hero h1 em{color:#006ffd}
:root[data-theme=light] body #app .discovery-start{min-height:54px;padding-inline:30px;border-radius:16px;background:#0056c8;color:#fff;box-shadow:0 12px 25px #0056c830}
:root[data-theme=light] body #app .discovery-orbit{min-height:510px;border:0;background:radial-gradient(circle at center,#eaf2ff 0,#f8f9fe 45%,#eaf2ff 72%,#f8f9fe 100%)}
:root[data-theme=light] body #app .discovery-orbit::before{content:"";position:absolute;width:min(92%,470px);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 290deg,#2897ff00 300deg,#2897ff2b 350deg,#2897ff6b 359deg);animation:radar-sweep 8s linear infinite;pointer-events:none}
:root[data-theme=light] body #app .discovery-orbit::after{content:"";position:absolute;width:min(92%,470px);aspect-ratio:1;border:1px solid #b4dbff;border-radius:50%;box-shadow:0 0 0 28px #eaf2ff66,inset 0 0 45px #6fbaff1f;pointer-events:none}
:root[data-theme=light] body #app .orbit-ring{border-color:#6fbaff;z-index:0}
:root[data-theme=light] body #app .ring-outer{width:72%;max-width:360px;border-style:dashed;animation:radar-sweep 35s linear infinite}
:root[data-theme=light] body #app .ring-inner{width:51%;max-width:255px;border-style:dashed;animation:radar-sweep 24s linear infinite reverse}
:root[data-theme=light] body #app .orbit-axis{background:#b4dbff;opacity:.6}
:root[data-theme=light] body #app .orbit-core{width:170px;height:170px;background:linear-gradient(145deg,#fff,#f8f9fe);border:1px solid #b4dbff;box-shadow:0 0 0 12px #fff9,0 18px 48px #0056c825;z-index:1}
:root[data-theme=light] body #app .orbit-core img{width:128px;height:128px}
:root[data-theme=light] body #app .orbit-tag{border:1px solid #b4dbff;border-radius:15px;background:#fffffff2;color:#2f3036;box-shadow:0 12px 28px #0056c81a;animation:radar-tag 9s ease-in-out infinite}
:root[data-theme=light] body #app .tag-repair{top:18%;inset-inline-start:8%;animation-delay:0s}
:root[data-theme=light] body #app .tag-emergency{top:43%;inset-inline-end:4%;animation-delay:3s}
:root[data-theme=light] body #app .tag-tow{bottom:17%;inset-inline-start:13%;animation-delay:6s}
@keyframes radar-sweep{to{transform:rotate(360deg)}}
@keyframes radar-tag{0%,100%{opacity:.32;transform:translateY(4px) scale(.97)}12%,27%{opacity:1;transform:translateY(0) scale(1)}40%,90%{opacity:.32;transform:translateY(4px) scale(.97)}}
@media(max-width:767px){:root[data-theme=light] body #app .discovery-hero{min-height:0}:root[data-theme=light] body #app .discovery-hero-copy{padding:26px 22px;gap:14px}:root[data-theme=light] body #app .discovery-hero h1{font-size:clamp(30px,8vw,38px)}:root[data-theme=light] body #app .discovery-orbit{min-height:320px}:root[data-theme=light] body #app .discovery-orbit::before,:root[data-theme=light] body #app .discovery-orbit::after{width:min(90%,300px)}:root[data-theme=light] body #app .ring-outer{width:235px}:root[data-theme=light] body #app .ring-inner{width:175px}:root[data-theme=light] body #app .orbit-core{width:116px;height:116px}:root[data-theme=light] body #app .orbit-core img{width:88px;height:88px}:root[data-theme=light] body #app .orbit-tag{font-size:11px;padding:8px 10px}:root[data-theme=light] body #app .tag-repair{top:12%;inset-inline-start:4%}:root[data-theme=light] body #app .tag-emergency{top:46%;inset-inline-end:3%}:root[data-theme=light] body #app .tag-tow{bottom:12%;inset-inline-start:8%}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .discovery-orbit::before,:root[data-theme=light] body #app .orbit-ring,:root[data-theme=light] body #app .orbit-tag{animation:none}:root[data-theme=light] body #app .orbit-tag{opacity:1;transform:none}}
:root[data-theme=light] body #app .tag-wash{bottom:12%;inset-inline-end:8%;animation-delay:7s}
:root[data-theme=light] body #app .orbit-tag{animation-duration:12s}
:root[data-theme=light] body #app .tag-tow{animation-delay:6s}
:root[data-theme=light] body #app .tag-wash{animation-delay:9s}
@media(max-width:767px){:root[data-theme=light] body #app .tag-wash{bottom:6%;inset-inline-end:4%}}
/* Sequential radar labels: each appears and fully fades before the next. */
:root[data-theme=light] body #app .radar-item{opacity:0;animation:radar-reveal 8s ease-in-out infinite;animation-delay:var(--radar-delay);white-space:normal;max-width:min(210px,48%);line-height:1.7}
:root[data-theme=light] body #app .radar-slot-0{top:16%;bottom:auto;inset-inline-start:6%;inset-inline-end:auto}
:root[data-theme=light] body #app .radar-slot-1{top:44%;bottom:auto;inset-inline-start:auto;inset-inline-end:4%}
:root[data-theme=light] body #app .radar-slot-2{top:auto;bottom:13%;inset-inline-start:8%;inset-inline-end:auto}
@keyframes radar-reveal{0%,1%{opacity:0;transform:translateY(8px) scale(.94)}5%,18%{opacity:1;transform:translateY(0) scale(1)}25%,100%{opacity:0;transform:translateY(-5px) scale(.97)}}
/* Complementary visual language for service details and map header. */
:root[data-theme=light] body #app .service-detail-hero{position:relative;overflow:hidden;isolation:isolate;border:1px solid #e8e9f1;border-radius:28px;background:linear-gradient(130deg,#fff 25%,#eaf2ff 100%);box-shadow:0 18px 48px #0056c810;padding:clamp(24px,4vw,48px)}
:root[data-theme=light] body #app .service-detail-hero::after{content:"";position:absolute;z-index:-1;inset-inline-end:7%;top:50%;width:250px;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;border:1px solid #b4dbff;box-shadow:0 0 0 28px #eaf2ff80,0 0 0 58px #eaf2ff70}
:root[data-theme=light] body #app .service-detail-hero img{position:relative;z-index:1;filter:drop-shadow(0 14px 20px #0056c820)}
:root[data-theme=light] body #app .explorer-heading{padding:24px 28px;border:1px solid #e8e9f1;border-radius:24px;background:radial-gradient(circle at 12% 50%,#eaf2ff 0,transparent 31%),linear-gradient(110deg,#fff,#f8f9fe);box-shadow:0 14px 35px #0056c810}
:root[data-theme=light] body #app .explorer-heading h1{line-height:1.6}
@media(max-width:767px){:root[data-theme=light] body #app .radar-item{max-width:58%;font-size:11px}:root[data-theme=light] body #app .radar-slot-0{top:11%;inset-inline-start:4%}:root[data-theme=light] body #app .radar-slot-1{top:44%;inset-inline-end:3%}:root[data-theme=light] body #app .radar-slot-2{bottom:10%;inset-inline-start:4%}:root[data-theme=light] body #app .service-detail-hero::after{width:145px;inset-inline-end:10%;top:75%}:root[data-theme=light] body #app .explorer-heading{padding:18px;border-radius:20px}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .radar-item{animation:none;opacity:0;transform:none}:root[data-theme=light] body #app .radar-item[style="--radar-delay:0s"]{opacity:1}}
@media(min-width:768px){
 :root[data-theme=light] body #app .discovery-orbit .radar-item{font-size:15px;line-height:1.7;padding:13px 18px;gap:10px;border-radius:17px;max-width:min(245px,48%)}
 :root[data-theme=light] body #app .discovery-orbit .radar-item img{width:29px;height:29px;flex:0 0 29px}
}
/* Four equal service cards on desktop, with a two-column intermediate layout. */
@media(min-width:1100px){:root[data-theme=light] body #app .discovery-services .story-grid{grid-template-columns:repeat(4,minmax(0,1fr))}:root[data-theme=light] body #app .discovery-services .story-card{min-width:0;grid-template-rows:auto auto minmax(74px,1fr) auto}}
@media(min-width:768px) and (max-width:1099px){:root[data-theme=light] body #app .discovery-services .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Remove the redundant eyebrow from service cards. */
:root[data-theme=light] body #app .discovery-services .story-card .story-kicker{display:none}
/* Dashed grid behind the hero and directional markers on rotating rings. */
:root[data-theme=light] body #app .discovery-hero{background-color:#f8f9fe;background-image:linear-gradient(90deg,#b4dbff 50%,transparent 50%),linear-gradient(0deg,#b4dbff 50%,transparent 50%);background-size:12px 1px,1px 12px;background-position:0 0,0 0}
:root[data-theme=light] body #app .discovery-hero-copy{background:rgba(255,255,255,.9)}
:root[data-theme=light] body #app .discovery-orbit{background-color:rgba(239,247,255,.9);background-image:radial-gradient(circle at center,#eaf2ffbb 0,#f8f9fecc 45%,#eaf2ffee 100%),repeating-linear-gradient(90deg,#b4dbff 0 4px,transparent 4px 10px),repeating-linear-gradient(0deg,#b4dbff 0 4px,transparent 4px 10px);background-size:auto,100% 1px,1px 100%;background-repeat:no-repeat,repeat-y,repeat-x}
:root[data-theme=light] body #app .orbit-ring::after{content:"";position:absolute;width:11px;height:11px;border-top:2px solid #2897ff;border-right:2px solid #2897ff;top:50%;right:-5px;transform:translateY(-50%) rotate(45deg);background:#f8f9fe}
:root[data-theme=light] body #app .ring-inner::after{border-color:#2897ff;right:auto;left:-5px;transform:translateY(-50%) rotate(225deg)}
:root[data-theme=light] body #app .discovery-hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M0 0H32M0 0V32' fill='none' stroke='%23a9c9ed' stroke-width='1' stroke-dasharray='3 5'/%3E%3C/svg%3E");background-size:32px 32px}
:root[data-theme=light] body #app .discovery-orbit{background-image:radial-gradient(circle at center,#eaf2ff99,#f8f9febb),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M0 0H32M0 0V32' fill='none' stroke='%238fb7e5' stroke-width='1' stroke-dasharray='3 5'/%3E%3C/svg%3E");background-size:auto,32px 32px;background-repeat:no-repeat,repeat}
:root[data-theme=light] body #app .discovery-hero-copy{background:rgba(255,255,255,.72)}
/* Slogan samples follow the four-service radar cycle; the H1 remains stable. */
:root[data-theme=light] body #app .hero-rotating-eyebrow{display:flex;align-items:center;gap:8px;max-width:100%}
:root[data-theme=light] body #app .hero-slogan-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:root[data-theme=light] body #app .hero-slogans{display:grid;min-width:0;max-width:100%;align-items:center}
:root[data-theme=light] body #app .hero-slogans>span{grid-area:1/1;opacity:0;animation:hero-slogan-cycle 8s ease-in-out infinite;line-height:1.8}
:root[data-theme=light] body #app .hero-slogans>span:nth-child(2){animation-delay:2s}
:root[data-theme=light] body #app .hero-slogans>span:nth-child(3){animation-delay:4s}
:root[data-theme=light] body #app .hero-slogans>span:nth-child(4){animation-delay:6s}
@keyframes hero-slogan-cycle{0%,1%{opacity:0;transform:translateY(5px)}5%,18%{opacity:1;transform:translateY(0)}25%,100%{opacity:0;transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .hero-slogans>span{animation:none;opacity:0;transform:none}:root[data-theme=light] body #app .hero-slogans>span:first-child{opacity:1}}
/* Rotate the main headline in step with the radar, with a slower rhythm. */
:root[data-theme=light] body #app .radar-item{animation-duration:12s}
:root[data-theme=light] body #app .hero-rotating-title{width:100%;max-width:610px}
:root[data-theme=light] body #app .hero-title-slides{display:grid;align-items:center;width:100%}
:root[data-theme=light] body #app .hero-title-slides>span{grid-area:1/1;opacity:0;animation:hero-slogan-cycle 12s ease-in-out infinite;line-height:1.55}
:root[data-theme=light] body #app .hero-title-slides>span:nth-child(2){animation-delay:3s}
:root[data-theme=light] body #app .hero-title-slides>span:nth-child(3){animation-delay:6s}
:root[data-theme=light] body #app .hero-title-slides>span:nth-child(4){animation-delay:9s}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .hero-title-slides>span{animation:none;opacity:0;transform:none}:root[data-theme=light] body #app .hero-title-slides>span:first-child{opacity:1}}
/* Keep the rotating headline on one line on laptop and desktop. */
@media(min-width:768px){:root[data-theme=light] body #app .discovery-hero .hero-rotating-title{font-size:clamp(22px,2.45vw,36px);max-width:none}:root[data-theme=light] body #app .hero-title-slides>span{white-space:nowrap}}
@media(max-width:767px){:root[data-theme=light] body #app .hero-title-slides>span{white-space:normal;overflow-wrap:normal}}
@media(min-width:768px){:root[data-theme=light] body #app .discovery-hero h1.hero-rotating-title{font-size:clamp(21px,2.1vw,32px)!important;line-height:1.65!important}}
@media(max-width:767px){:root[data-theme=light] body #app .discovery-hero h1.hero-rotating-title{font-size:clamp(14px,4vw,24px)!important;line-height:1.7!important;max-width:100%}:root[data-theme=light] body #app .hero-title-slides>span{white-space:nowrap}}
/* Compact desktop hero so the service cards enter the initial viewport. */
@media(min-width:1024px){
 :root[data-theme=light] body #app .discovery-home .discovery-hero{min-height:0;height:clamp(280px,38vh,350px)}
 :root[data-theme=light] body #app .discovery-home .discovery-hero-copy{padding:22px 36px;gap:12px}
 :root[data-theme=light] body #app .discovery-home .discovery-orbit{min-height:0;height:100%}
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::before,:root[data-theme=light] body #app .discovery-home .discovery-orbit::after{width:min(72%,320px,calc(38vh - 16px))}
 :root[data-theme=light] body #app .discovery-home .ring-outer{width:min(58%,250px,calc(30vh - 12px))}
 :root[data-theme=light] body #app .discovery-home .ring-inner{width:min(42%,180px,calc(22vh - 8px))}
 :root[data-theme=light] body #app .discovery-home .orbit-core{width:120px;height:120px;box-shadow:0 0 0 8px #fff9,0 12px 30px #0056c825}
 :root[data-theme=light] body #app .discovery-home .orbit-core img{width:90px;height:90px}
 :root[data-theme=light] body #app .discovery-home .discovery-core{margin-block:18px}
}
/* Eight home options fill the available row on wide screens. */
@media(min-width:1280px){:root[data-theme=light] body #app .discovery-home .home-options-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1279px){:root[data-theme=light] body #app .discovery-home .home-options-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
:root[data-theme=light] body #app .discovery-home .home-option{min-width:0}
:root[data-theme=light] body #app .discovery-home .home-option-title{max-width:100%;overflow-wrap:anywhere}
/* Editorial card and footer redesign. */
:root[data-theme=light] body #app .home-magazine.editorial-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:0;align-items:stretch;padding:0;margin:20px 0 40px;border:1px solid #e8e9f1;border-radius:26px;background:#fff;overflow:hidden;box-shadow:0 12px 40px #0056c80d}
:root[data-theme=light] body #app .editorial-content{padding:clamp(24px,3vw,42px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-width:0}
:root[data-theme=light] body #app .editorial-label{font-size:12px;font-weight:700;color:#0056c8}
:root[data-theme=light] body #app .editorial-content h2{font-size:clamp(21px,2.3vw,30px);line-height:1.65;margin:0;color:#1f2024}
:root[data-theme=light] body #app .editorial-content p{font-size:14px;line-height:1.9;color:#494a50;margin:0}
:root[data-theme=light] body #app .editorial-link{display:inline-flex;align-items:center;gap:20px;min-height:48px;margin-top:8px;padding:10px 18px;border:1px solid #b4dbff;border-radius:14px;color:#0056c8;font-weight:700;text-decoration:none;background:#f8f9fe}
:root[data-theme=light] body #app .editorial-link:hover{background:#eaf2ff}
:root[data-theme=light] body #app .editorial-art{position:relative;min-height:220px;overflow:hidden;background:#eaf2ff}
:root[data-theme=light] body #app .editorial-art img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
:root[data-theme=light] body #app .editorial-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2f30361f,transparent 70%)}
:root[data-theme=light] body #app .editorial-art-label{position:absolute;z-index:1;inset-inline-start:18px;bottom:18px;border-radius:12px;padding:7px 12px;background:#ffffffed;color:#1f2024;font-size:12px;font-weight:700}
:root[data-theme=light] body .redesign-footer{display:grid!important;grid-template-columns:minmax(230px,1.35fr) repeat(3,minmax(145px,1fr));gap:32px 38px;padding:48px max(24px,calc((100vw - 1280px)/2)) 22px!important;background:#fff!important;border-top:1px solid #e8e9f1!important;align-items:start}
:root[data-theme=light] body .redesign-footer>*{min-width:0}
:root[data-theme=light] body .redesign-footer .footer-brand .brand-symbol{width:170px;height:auto;max-width:100%}
:root[data-theme=light] body .redesign-footer .footer-brand p{margin:10px 0 0;color:#494a50!important;line-height:1.9;font-size:13px}
:root[data-theme=light] body .redesign-footer .footer-brand .footer-tagline{font-size:16px;font-weight:700;color:#1f2024!important;margin-top:18px}
:root[data-theme=light] body .redesign-footer .footer-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
:root[data-theme=light] body .redesign-footer .footer-group h2{margin:0 0 12px;font-size:15px;line-height:1.8;color:#1f2024}
:root[data-theme=light] body .redesign-footer .footer-group a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.8;color:#494a50!important;text-decoration:none;overflow-wrap:anywhere}
:root[data-theme=light] body .redesign-footer .footer-group a:hover{color:#0056c8!important}
:root[data-theme=light] body .redesign-footer .footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #e8e9f1;padding-top:16px;color:#494a50;font-size:12px}
:root[data-theme=light] body .redesign-footer .footer-bottom a{color:#0056c8!important;min-height:44px;display:inline-flex;align-items:center;gap:8px;font-weight:700}
:root[data-theme=light] body .redesign-footer :is(a,button):focus-visible,:root[data-theme=light] body #app .editorial-link:focus-visible{outline:3px solid #0056c8;outline-offset:3px}
@media(max-width:900px){:root[data-theme=light] body .redesign-footer{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important}:root[data-theme=light] body .redesign-footer .footer-brand{grid-column:1/-1}}
@media(max-width:600px){:root[data-theme=light] body #app .home-magazine.editorial-feature{grid-template-columns:1fr;margin-bottom:28px}:root[data-theme=light] body #app .editorial-content{padding:24px}:root[data-theme=light] body #app .editorial-art{order:-1;min-height:190px}:root[data-theme=light] body .redesign-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding:32px 16px calc(26px + env(safe-area-inset-bottom))!important;gap:24px 16px!important}:root[data-theme=light] body .redesign-footer .footer-bottom{flex-wrap:wrap}:root[data-theme=light] body.has-quick-nav .redesign-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}}
:root[data-theme=light] body .redesign-footer .footer-bottom{flex-direction:row}
@media(max-width:600px){:root[data-theme=light] body .redesign-footer .footer-bottom{flex-direction:row}}
/* Desktop services page: the main navigation already provides the home route. */
@media(min-width:1024px){:root[data-theme=light] body:has(#app .discovery-services)>.journey-nav{display:none!important}}
:root[data-theme=light] body #app .editorial-actions{display:flex;align-items:center;gap:8px;max-width:100%;margin-top:8px}
:root[data-theme=light] body #app .editorial-actions .editorial-link{margin:0;white-space:nowrap}
:root[data-theme=light] body #app .editorial-controls{display:flex;flex:none;gap:6px;align-items:center}
@media(max-width:600px){
 :root[data-theme=light] body #app .editorial-actions .editorial-link{gap:8px;padding-inline:12px;font-size:14px}
}
:root[data-theme=light] body #app .editorial-control{width:44px;min-width:44px;min-height:48px;padding:8px;margin:0;border:1px solid #b4dbff;border-radius:12px;background:#fff;color:#0056c8;font:inherit;font-size:13px;font-weight:700}
:root[data-theme=light] body #app .editorial-control:focus-visible{outline:3px solid #0056c8;outline-offset:3px}
/* The owner removed the global journey bar throughout the preview. */
body > .journey-nav{display:none!important}

/* The magazine remains available outside the site header. */
body > header nav a[data-magazine-link]{display:none!important}
/* Service overview: moving route and quiet service symbols, independent of the home radar. */
:root[data-theme=light] body #app .discovery-services-intro{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#eaf2ff,#eaf2ff 55%,#f8f9fe);border-color:#e8e9f1}
:root[data-theme=light] body #app .discovery-services-intro>.discovery-page-heading,:root[data-theme=light] body #app .discovery-services-intro>.discovery-intro-map{position:relative;z-index:2}
:root[data-theme=light] body #app .services-motion{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
:root[data-theme=light] body #app .service-routes{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
:root[data-theme=light] body #app .route-base{fill:none;stroke:#b4dbff;stroke-width:1.2;opacity:.55}
:root[data-theme=light] body #app .route-dash{fill:none;stroke:#2897ff;stroke-width:2;stroke-dasharray:5 17;opacity:.65;animation:services-route 8s linear infinite}
:root[data-theme=light] body #app .route-dot{fill:#2897ff;opacity:.5;animation:services-glow 3.5s ease-in-out infinite alternate}
:root[data-theme=light] body #app .dot-two{animation-delay:1.4s}
:root[data-theme=light] body #app .service-motion-icon{position:absolute;display:grid;place-items:center;width:42px;height:42px;padding:10px;border:1px solid #b4dbff;border-radius:14px;background:#ffffffa8;box-shadow:0 8px 20px #0056c80f;animation:services-float 5s ease-in-out infinite;opacity:.55}
:root[data-theme=light] body #app .service-motion-icon img{width:100%;height:100%;object-fit:contain}
:root[data-theme=light] body #app .icon-spanner{top:12%;inset-inline-start:30%}
:root[data-theme=light] body #app .icon-wheel{bottom:10%;inset-inline-start:43%;animation-delay:-1.5s}
:root[data-theme=light] body #app .icon-location{top:16%;inset-inline-end:26%;animation-delay:-3s}
@keyframes services-route{to{stroke-dashoffset:-88}}
@keyframes services-glow{from{opacity:.2}to{opacity:.85}}
@keyframes services-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:767px){:root[data-theme=light] body #app .service-motion-icon{width:34px;height:34px;padding:8px;opacity:.38}:root[data-theme=light] body #app .icon-spanner{inset-inline-start:12%}:root[data-theme=light] body #app .icon-wheel{inset-inline-start:54%}:root[data-theme=light] body #app .icon-location{inset-inline-end:8%}:root[data-theme=light] body #app .service-routes{opacity:.5}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app :is(.route-dash,.route-dot,.service-motion-icon){animation:none}}
/* More depth and a travelling marker for the services motion. */
:root[data-theme=light] body #app .discovery-services-intro{background:radial-gradient(circle at 20% 30%,#b4dbff 0,transparent 24%),radial-gradient(circle at 70% 75%,#eaf2ff 0,transparent 26%),linear-gradient(110deg,#f8f9fe,#eaf2ff 55%,#f8f9fe)}
:root[data-theme=light] body #app .services-motion::before,:root[data-theme=light] body #app .services-motion::after{content:"";position:absolute;border:1px solid #6fbaff66;border-radius:50%;width:260px;height:260px;inset-inline-start:25%;top:-140px;box-shadow:0 0 0 30px #b4dbff18,0 0 0 60px #b4dbff12;animation:services-ring 8s ease-in-out infinite alternate}
:root[data-theme=light] body #app .services-motion::after{width:170px;height:170px;inset-inline-start:64%;top:auto;bottom:-105px;animation-delay:-4s}
:root[data-theme=light] body #app .service-traveler{fill:#0056c8;stroke:#fff;stroke-width:4;paint-order:stroke;filter:drop-shadow(0 0 8px #2897ff)}
:root[data-theme=light] body #app .service-orb{position:absolute;width:8px;height:8px;border-radius:50%;background:#6fbaff;box-shadow:0 0 0 7px #b4dbff44;animation:services-glow 2.8s ease-in-out infinite alternate}
:root[data-theme=light] body #app .orb-one{top:23%;inset-inline-start:39%}:root[data-theme=light] body #app .orb-two{bottom:24%;inset-inline-start:61%;animation-delay:-1s}:root[data-theme=light] body #app .orb-three{top:28%;inset-inline-start:77%;animation-delay:-2s}
:root[data-theme=light] body #app .service-motion-icon{opacity:.8;background:#ffffffd9;border-color:#b4dbff;box-shadow:0 10px 25px #0056c819}
:root[data-theme=light] body #app .route-base{stroke-width:2;opacity:.6}:root[data-theme=light] body #app .route-dash{stroke-width:2.5;opacity:.8}
@keyframes services-ring{from{transform:scale(.92);opacity:.4}to{transform:scale(1.06);opacity:.8}}
@media(max-width:767px){:root[data-theme=light] body #app .service-motion-icon{opacity:.5}:root[data-theme=light] body #app .services-motion::before{width:170px;height:170px}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app :is(.service-orb,.service-motion-icon),:root[data-theme=light] body #app .services-motion::before,:root[data-theme=light] body #app .services-motion::after{animation:none}:root[data-theme=light] body #app .service-traveler{display:none}}
/* Subtle, interaction-only motion; the target card remains stationary. */
:root[data-theme=light] body #app .discovery-home .home-option-icon{transition:transform .2s ease,background-color .2s ease}
:root[data-theme=light] body #app .discovery-home .home-option:focus-visible{outline:3px solid #0056c8;outline-offset:3px}
:root[data-theme=light] body #app .discovery-home .home-option:focus-visible .home-option-icon{transform:translateY(-3px);background:#eaf2ff}
@media(hover:hover) and (pointer:fine){:root[data-theme=light] body #app .discovery-home .home-option:hover .home-option-icon{transform:translateY(-3px);background:#eaf2ff}}
@media(hover:none){:root[data-theme=light] body #app .discovery-home .home-option:active .home-option-icon{background:#eaf2ff}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .discovery-home .home-option-icon{transition:none!important}:root[data-theme=light] body #app .discovery-home .home-option:is(:hover,:focus-visible) .home-option-icon{transform:none}}
/* Match service-card interaction to the homepage cards. */
:root[data-theme=light] body #app .discovery-services .story-card .story-icon{transition:transform .2s ease,background-color .2s ease}
:root[data-theme=light] body #app .discovery-services .story-card:focus-visible{outline:3px solid #0056c8;outline-offset:3px}
:root[data-theme=light] body #app .discovery-services .story-card:focus-visible .story-icon{transform:translateY(-3px);background:#eaf2ff}
@media(hover:hover) and (pointer:fine){:root[data-theme=light] body #app .discovery-services .story-card:hover .story-icon{transform:translateY(-3px);background:#eaf2ff}}
@media(hover:none){:root[data-theme=light] body #app .discovery-services .story-card:active .story-icon{background:#eaf2ff}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .discovery-services .story-card .story-icon{transition:none!important}:root[data-theme=light] body #app .discovery-services .story-card:is(:hover,:focus-visible) .story-icon{transform:none}}
/* Two decorative concepts for products under development. */
:root[data-theme=light] body #app .module-development{background:linear-gradient(145deg,#fff,#f8f9fe);border:1px solid #e8e9f1;box-shadow:0 18px 55px #0056c80c;min-block-size:0;padding:clamp(28px,4vw,52px) 20px;gap:14px}
:root[data-theme=light] body #app .future-motion{position:relative;display:grid;place-items:center;width:min(100%,440px);height:250px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at center,#eaf2ff 0,transparent 68%)}
:root[data-theme=light] body #app .future-halo{position:absolute;border:1px solid #b4dbff;border-radius:50%;width:205px;height:205px;animation:future-spin 18s linear infinite}
:root[data-theme=light] body #app .halo-a{border-style:dashed}:root[data-theme=light] body #app .halo-b{width:270px;height:180px;transform:rotate(-18deg);animation:future-breathe 5s ease-in-out infinite}
:root[data-theme=light] body #app .future-center{position:relative;z-index:1;display:grid;place-items:center;width:118px;height:118px;padding:25px;border-radius:34px;background:#fff;border:1px solid #e8e9f1;box-shadow:0 16px 38px #0056c81f;animation:future-float 4s ease-in-out infinite}
:root[data-theme=light] body #app .future-center img,:root[data-theme=light] body #app .future-piece img{width:100%;height:100%;object-fit:contain}
:root[data-theme=light] body #app .future-piece{position:absolute;z-index:2;width:52px;height:52px;padding:13px;border-radius:16px;background:#fff;border:1px solid #e8e9f1;box-shadow:0 10px 22px #0056c81c;animation:future-float 4s ease-in-out infinite}
:root[data-theme=light] body #app .piece-one{top:18px;inset-inline-start:16%;animation-delay:-1s}:root[data-theme=light] body #app .piece-two{top:72px;inset-inline-end:12%;animation-delay:-2s}:root[data-theme=light] body #app .piece-three{bottom:17px;inset-inline-start:24%;animation-delay:-3s}
:root[data-theme=light] body #app .future-market .halo-b{border-radius:22%;width:250px;height:145px;border-style:dashed}
:root[data-theme=light] body #app .future-state{display:inline-flex;align-items:center;min-height:36px;padding:5px 14px;border-radius:99px;background:#eaf2ff;color:#0056c8;font-size:13px;font-weight:700}
@keyframes future-spin{to{transform:rotate(360deg)}}@keyframes future-breathe{0%,100%{opacity:.45;scale:.95}50%{opacity:1;scale:1.04}}@keyframes future-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:480px){:root[data-theme=light] body #app .future-motion{height:210px}:root[data-theme=light] body #app .future-center{width:100px;height:100px;padding:22px}:root[data-theme=light] body #app .future-piece{width:44px;height:44px;padding:11px}:root[data-theme=light] body #app .halo-a{width:170px;height:170px}:root[data-theme=light] body #app .halo-b{width:210px;height:150px}:root[data-theme=light] body #app .module-development .hero-actions>*{min-height:48px}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app :is(.future-halo,.future-center,.future-piece){animation:none!important}}
:root[data-theme=light] body #app .future-motion{pointer-events:none}
:root[data-theme=light] body #app .module-development .hero-actions>*{min-height:44px}
/* Gentle ambient motion behind the home-hero copy. */
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy{isolation:isolate;overflow:hidden}
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before,:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{content:"";position:absolute;pointer-events:none;z-index:0}
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before{width:clamp(170px,28vw,360px);aspect-ratio:1;border-radius:50%;inset-inline-start:-10%;top:-40%;background:radial-gradient(circle,#b4dbff55 0,#eaf2ff38 35%,transparent 70%);animation:hero-ambient 11s ease-in-out infinite alternate}
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{width:42%;height:1px;inset-inline-end:8%;bottom:16%;background:linear-gradient(90deg,transparent,#6fbaff77,transparent);box-shadow:0 -12px 0 #b4dbff22,0 12px 0 #b4dbff22;animation:hero-glide 8s ease-in-out infinite alternate}
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy>*{position:relative;z-index:1}
@keyframes hero-ambient{from{transform:translate(0,0) scale(.9);opacity:.55}to{transform:translate(18%,18%) scale(1.1);opacity:.9}}
@keyframes hero-glide{from{transform:translateX(-10%);opacity:.25}to{transform:translateX(10%);opacity:.65}}
@media(max-width:767px){:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before{width:52%;top:-32%}:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{bottom:8%}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before,:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{animation:none}}
/* Keep the complete radar halo inside the mobile illustration area. */
@media(max-width:767px){
 :root[data-theme=light] body #app .discovery-home .discovery-orbit{min-height:320px}
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::before,:root[data-theme=light] body #app .discovery-home .discovery-orbit::after{width:min(68%,240px)}
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::after{box-shadow:0 0 0 18px #eaf2ff66,inset 0 0 35px #6fbaff1f}
 :root[data-theme=light] body #app .discovery-home .ring-outer{width:min(58%,205px)}
 :root[data-theme=light] body #app .discovery-home .ring-inner{width:min(43%,155px)}
}
/* More visible ambient motion while keeping copy and controls above it. */
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before{background:radial-gradient(circle,#6fbaff99 0,#b4dbff77 38%,transparent 72%);width:clamp(210px,34vw,440px);animation-duration:7s}
:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{height:2px;width:54%;background:linear-gradient(90deg,transparent,#2897ffcc,transparent);box-shadow:0 -15px 0 #6fbaff55,0 15px 0 #6fbaff55;animation-duration:5s}
@keyframes hero-ambient{from{transform:translate(0,0) scale(.9);opacity:.75}to{transform:translate(28%,24%) scale(1.12);opacity:1}}
@keyframes hero-glide{from{transform:translateX(-16%);opacity:.55}to{transform:translateX(16%);opacity:1}}
@media(max-width:767px){:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before{width:65%}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::before,:root[data-theme=light] body #app .discovery-home .discovery-hero-copy::after{animation:none}}
/* Keep the desktop radar halo fully inside the compact hero. */
@media(min-width:1024px){
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::before,:root[data-theme=light] body #app .discovery-home .discovery-orbit::after{width:min(66%,260px,calc(38vh - 70px))}
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::after{box-shadow:0 0 0 18px #eaf2ff88,inset 0 0 35px #6fbaff1f}
}
/* Make the future-product illustration readable at a glance. */
:root[data-theme=light] body #app .future-construction{position:absolute;z-index:3;bottom:12px;inset-inline-start:50%;transform:translateX(50%);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 14px;border:1px solid #ffb37c;border-radius:99px;background:#fff4e4;color:#2f3036;font-size:13px;font-weight:700;box-shadow:0 7px 18px #494a5012}
:root[data-theme=light] body #app .future-construction-icon{font-size:16px;line-height:1}
:root[data-theme=light] body #app .future-assembly{position:absolute;width:58px;height:3px;border-radius:99px;background:repeating-linear-gradient(90deg,#6fbaff 0 8px,transparent 8px 14px);opacity:.7;animation:future-assembly 3s ease-in-out infinite alternate}
:root[data-theme=light] body #app .assembly-one{top:35%;inset-inline-start:12%;transform:rotate(-32deg)}
:root[data-theme=light] body #app .assembly-two{bottom:33%;inset-inline-end:12%;transform:rotate(-32deg);animation-delay:-1.5s}
:root[data-theme=light] body #app .future-parts .future-center{border-radius:50%;background:#eaf2ff}
:root[data-theme=light] body #app .future-market .future-center{border-radius:22px;background:#eaf2ff}
@keyframes future-assembly{from{opacity:.25}to{opacity:.9}}
@media(max-width:480px){:root[data-theme=light] body #app .future-construction{font-size:12px;bottom:5px;padding:5px 10px}:root[data-theme=light] body #app .future-assembly{width:38px}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .future-assembly{animation:none}}
/* Keep the complete radar halo inside the split layout at tablet widths. */
@media (min-width:768px) and (max-width:1023px) {
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::before,
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::after { width:min(70%, 240px); }
 :root[data-theme=light] body #app .discovery-home .discovery-orbit::after { box-shadow:0 0 0 18px #eaf2ff88, inset 0 0 35px #6fbaff1f; }
 :root[data-theme=light] body #app .discovery-home .ring-outer { width:min(60%, 205px); }
 :root[data-theme=light] body #app .discovery-home .ring-inner { width:min(44%, 155px); }
 :root[data-theme=light] body #app .discovery-home .orbit-core { width:120px; height:120px; }
 :root[data-theme=light] body #app .discovery-home .orbit-core img { width:90px; height:90px; }
}

/* A moving route suggests nearby services without covering the map controls. */
:root[data-theme=light] body #app .explorer-heading{position:relative;isolation:isolate;overflow:hidden}
:root[data-theme=light] body #app .explorer-heading::before{content:"";position:absolute;z-index:0;pointer-events:none;inset-block:0;inset-inline-end:18%;width:48%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 150'%3E%3Cg fill='none' stroke='%232897ff' stroke-width='3' opacity='.85'%3E%3Cpath stroke-dasharray='8 9' d='M0 112 C80 112 100 35 185 48 S275 130 365 88 490 27 600 55'/%3E%3Ccircle cx='185' cy='48' r='8'/%3E%3Ccircle cx='365' cy='88' r='6'/%3E%3Cpath opacity='.35' d='M0 135 C100 130 135 80 220 95 S345 146 425 105 520 65 600 80'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;animation:map-route-drift 12s ease-in-out infinite alternate}
:root[data-theme=light] body #app .explorer-heading::after{content:"";position:absolute;z-index:0;pointer-events:none;inset-inline-end:42%;top:40%;width:14px;height:14px;border-radius:50%;background:#006ffd;box-shadow:0 0 0 7px #b4dbff77;animation:map-route-pulse 3s ease-in-out infinite}
@keyframes map-route-drift{from{transform:translateX(-6%);opacity:.75}to{transform:translateX(6%);opacity:1}}
@keyframes map-route-pulse{0%,100%{transform:scale(.75);opacity:.5}50%{transform:scale(1);opacity:1}}
@media(max-width:767px){:root[data-theme=light] body #app .explorer-heading::before{inset-inline-end:0;width:70%;opacity:.7}:root[data-theme=light] body #app .explorer-heading::after{inset-inline-end:38%;width:8px;height:8px}}
@media(prefers-reduced-motion:reduce){:root[data-theme=light] body #app .explorer-heading::before,:root[data-theme=light] body #app .explorer-heading::after{animation:none}}

:root[data-theme=light] body #app .explorer-heading>div,:root[data-theme=light] body #app .explorer-heading>a{position:relative;z-index:1}
/* Map illustration: streets, a service pin and a measured location pulse. */
@media(min-width:768px){
 :root[data-theme=light] body #app .explorer-heading::before{inset-inline-end:28%;width:35%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 140'%3E%3Cg fill='none' stroke='%23b4dbff' stroke-width='2' opacity='.7'%3E%3Cpath d='M0 35h480M0 105h480M95 0v140M250 0v140M390 0v140'/%3E%3C/g%3E%3Cpath d='M100 105h70q15 0 15-15V65q0-15 15-15h115' fill='none' stroke='%23006ffd' stroke-width='3' stroke-linecap='round' stroke-dasharray='5 7'/%3E%3Ccircle cx='100' cy='105' r='7' fill='%23fff' stroke='%23006ffd' stroke-width='3'/%3E%3Cpath d='M315 30c-11 0-20 9-20 20 0 14 20 30 20 30s20-16 20-30c0-11-9-20-20-20z' fill='%23006ffd'/%3E%3Ccircle cx='315' cy='50' r='7' fill='%23fff'/%3E%3C/svg%3E");background-size:contain;opacity:.8;animation:none}
 :root[data-theme=light] body #app .explorer-heading::after{inset-inline-end:44%;top:58%;width:10px;height:10px;box-shadow:0 0 0 8px #b4dbff77;animation:map-route-pulse 3s ease-in-out infinite}
}
