/* Visual identity only: preserve the approved content, routes and layout. */
:root{
 --g-blue:#4285f4;--g-red:#ea4335;--g-yellow:#fbbc04;--g-green:#34a853;
 --blue:#1967d2;--blue-soft:#e8f0fe;--green:#188038;--red:#c5221f;
 --amber:#8a5700;--ink:#202124;--muted:#5f6368;--line:#e3e7ed;
}
.tone-blue{--tone:#1967d2;--accent:#4285f4;--tint:#e8f0fe}
.tone-red{--tone:#c5221f;--accent:#ea4335;--tint:#fce8e6}
.tone-green{--tone:#137333;--accent:#34a853;--tint:#e6f4ea}
.tone-yellow,.tone-amber{--tone:#8a5700;--accent:#fbbc04;--tint:#fef7e0}
.hybrid-app{background:#fff;color:#202124}
.hybrid-app #main{background:linear-gradient(180deg,#f8faff 0,white 650px)}
.hybrid-app .site-header{border-bottom-color:#e8eaed;background:#fffffff5}
.hybrid-app .site-header:after{content:'';position:absolute;inset-inline:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--g-blue) 0 25%,var(--g-red) 25% 50%,var(--g-yellow) 50% 75%,var(--g-green) 75%);opacity:.9;pointer-events:none}
.hybrid-app .brand-mark>span{color:var(--g-blue)}
.hybrid-app .language-button{border-radius:24px;border-color:#dadce0;background:white;transition:background .2s,box-shadow .2s}
.hybrid-app .language-button:hover{background:#e8f0fe;border-color:#d2e3fc;box-shadow:0 2px 7px #4285f420}
.hybrid-app .button{border-radius:28px;transition:transform .22s,box-shadow .22s,background .22s}
.hybrid-app .button.primary{background:#1a73e8;box-shadow:0 3px 8px #1a73e81c;color:white}
.hybrid-app .button.primary:hover{background:#1967d2;box-shadow:0 6px 15px #1a73e82e}
.hybrid-app .button.secondary{color:#1967d2;border-color:#d2e3fc;background:#f7faff}
.hybrid-app .button:active{transform:scale(.98);box-shadow:none}
.hybrid-app .text-link{color:#1967d2}
.hybrid-app :is(a,button,summary):focus-visible{outline:3px solid #4285f4;outline-offset:4px}
.hybrid-app #navigation a{border-radius:18px;transition:background .22s,color .22s,box-shadow .22s,border-color .22s,transform .22s}
.hybrid-app #navigation a[aria-current]{background:var(--tint);border-color:transparent;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 12%,transparent)}
.hybrid-app #navigation a[aria-current] strong{color:var(--tone)}
.hybrid-app #navigation .h19-nav-icon{background:var(--tint);color:var(--tone);border-radius:12px;transition:transform .22s,background .22s}
.hybrid-app #navigation a[aria-current] .h19-nav-icon{background:var(--accent);color:var(--ink-on-accent,white)}
.hybrid-app #navigation .tone-yellow[aria-current] .h19-nav-icon{color:#473300}
.h19-sidebar{border-inline-end-color:#e8eaed;background:#fff}
.h19-sidebar>p{color:#80868b}
.h19-rail-bottom{border-top:0;position:relative}
.h19-rail-bottom:before{content:'';height:3px;width:64px;background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%);display:block;margin-bottom:14px;border-radius:4px}
.h19-intro{position:relative;isolation:isolate}
.h19-intro:before{content:'';position:absolute;inset:-30px -20px -15px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 18%,#e8f0fe90,transparent 48%),radial-gradient(ellipse at 90% 92%,#fef7e080,transparent 38%);border-radius:40px}
.h19-eyebrow{color:#5f6368;letter-spacing:.07em}
.h19-intro-copy h1{color:#202124}
.h19-intro-copy h1 em{color:#1a73e8;position:relative;display:inline-block}
.h19-intro-copy h1 em:after{content:'';display:block;height:5px;width:60%;border-radius:6px;margin-top:13px;background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc04 50% 75%,#34a853 75%);transform-origin:center;animation:g20-line-in .8s .2s both}
.h19-intro-copy h2{color:#303134}
.h19-intro-copy>p{color:#5f6368}
.h19-local{color:#6a6e73}
.h19-perspective{background:radial-gradient(ellipse at 5% 0%,#e8f0fe 0,transparent 52%),radial-gradient(ellipse at 100% 100%,#e6f4ea 0,transparent 45%),#fff;border-color:#dce5f4;box-shadow:0 12px 48px #315a9310;border-radius:32px}
.h19-perspective:before{width:280px;height:280px;border:2px solid #d2e3fc;border-inline-start-color:#fbbc0450;border-bottom-color:#34a85340;transform:rotate(-18deg);animation:g20-orbit-in 1.4s ease-out both}
.h19-perspective:after{content:'';width:110px;height:110px;border-radius:32px;background:#fce8e660;position:absolute;top:75px;inset-inline-start:-60px;transform:rotate(28deg);z-index:-1;pointer-events:none}
.h19-perspective>header{color:#5f6368}
.h19-perspective .brand-dots{gap:7px}
.h19-perspective .brand-dots i{width:7px;height:7px}
.h19-signature{color:#1a73e8;text-shadow:0 8px 28px #4285f420}
.h19-signature>span{color:#ea4335}
.h19-signature>i{background:#fbbc04;box-shadow:160px 48px 0 -3px #34a853,-12px 80px 0 -3px #4285f4;animation:g20-dot-drift 4s ease-in-out 3 alternate}
.h19-practices>a{border-color:color-mix(in srgb,var(--accent) 20%,white);border-inline-start-color:var(--accent);background:linear-gradient(110deg,white 30%,var(--tint));border-radius:16px;box-shadow:0 2px 5px #20212403}
.h19-practices>a>span{background:var(--accent);color:white;border-radius:11px}
.h19-practices>.tone-yellow>span{color:#473300}
.h19-practices strong{color:#303134}
.h19-practices>a>.ui-icon{transition:transform .22s}
.h19-perspective>footer{color:#5f6368}
.h19-wayfinding{border-top-color:#e8eaed}
.h19-wayfinding>div>a{position:relative;border-color:color-mix(in srgb,var(--accent) 20%,white);background:linear-gradient(145deg,var(--tint),white 78%);border-radius:22px;box-shadow:0 2px 8px #20212404;overflow:hidden}
.h19-wayfinding>div>a:before{content:'';position:absolute;top:0;inset-inline:22px;height:3px;border-radius:0 0 4px 4px;background:var(--accent)}
.h19-wayfinding a>span>.ui-icon{background:var(--accent);color:white;padding:9px;box-sizing:content-box;border-radius:14px;width:23px;height:23px}
.h19-wayfinding .tone-yellow>span>.ui-icon{color:#473300}
.h19-wayfinding h3{color:#202124}
.h19-wayfinding p{color:#5f6368}
.h19-wayfinding b{color:var(--tone)}
.h19-selected button{border-color:#e3e7ed;border-radius:22px;box-shadow:0 4px 15px #20212406}
.h19-selected img{transition:transform .5s cubic-bezier(.2,.65,.3,1)}
.h19-selected button>span{position:relative;background:white;border-top:3px solid #4285f4}
.h19-selected button:nth-child(2)>span{border-color:#34a853}
.h19-selected button:nth-child(3)>span{border-color:#fbbc04}
.h19-pager{border-top-color:#e8eaed}
.h19-pager a{border-radius:14px;padding:5px 11px;transition:background .2s}
.h19-pager a:hover{background:#e8f0fe}
.hybrid-app .v18-collection-card{background:linear-gradient(145deg,var(--tint),white 72%);border-color:color-mix(in srgb,var(--accent) 23%,white);border-radius:24px;box-shadow:0 3px 10px #20212405;transition:transform .23s,box-shadow .23s,border-color .23s}
.hybrid-app .v18-collection-card>header>span{background:var(--accent);color:white;border-radius:13px}
.hybrid-app .v18-collection-card.tone-yellow>header>span{color:#473300}
.hybrid-app .v18-collection-card h2{color:#202124}
.hybrid-app .v18-collection-card footer{color:var(--tone)}
.hybrid-app :is(.v18-work-tabs,.s15-section-nav,.s15-destination-nav){border-color:#e8eaed}
.hybrid-app :is(.v18-work-tabs,.s15-section-nav,.s15-destination-nav) :is(a,button){transition:background .2s,color .2s,box-shadow .2s;border-radius:24px}
.hybrid-app :is(.v18-work-tabs,.s15-section-nav,.s15-destination-nav) [aria-current=page]{background:#e8f0fe;color:#1967d2;box-shadow:inset 0 0 0 1px #d2e3fc}
.hybrid-app .v18-ecosystem-stage{border-radius:26px;border-color:#d2e3fc;box-shadow:0 8px 28px #1a73e808}
.hybrid-app .v18-ecosystem>nav button[aria-pressed=true]{background:var(--tint);border-color:var(--accent);color:var(--tone)}
.hybrid-app :is(.v18-scope-outputs article,.v18-role-evidence,.v18-case-link){border-radius:20px}
.hybrid-app .v18-scope-outputs article{border-color:color-mix(in srgb,var(--accent) 22%,white);background:linear-gradient(150deg,var(--tint),white)}
.hybrid-app .s15-relationship-group{border-radius:23px;border-top:3px solid #4285f4;background:linear-gradient(180deg,#f8faff,white 35%)}
.hybrid-app .s15-relationship-group:nth-child(2){border-top-color:#34a853;background:linear-gradient(180deg,#f2faf5,white 35%)}
.hybrid-app .s15-relationship-group:nth-child(3){border-top-color:#fbbc04;background:linear-gradient(180deg,#fffbef,white 35%)}
.hybrid-app .s15-relationship-group button{border-radius:12px;transition:background .2s,transform .2s}
.hybrid-app .s15-relationship-group button:hover{background:#f1f5fd}
.hybrid-app :is(.s16-lab-opening,.s16-foundation-card,.s16-lab-zone,.v18-station-panel,.v18-journey-stage,.v18-method,.credential-logo-card,.resume-org,.contact-card){border-radius:23px}
.hybrid-app .v18-method{border-color:color-mix(in srgb,var(--accent) 23%,white)}
.hybrid-app .v18-method[open]{background:linear-gradient(145deg,var(--tint),white 70%);box-shadow:0 5px 18px #20212405}
.hybrid-app .v18-method summary{transition:background .2s}
.hybrid-app .v18-method summary:hover{background:var(--tint)}
.hybrid-app .v18-station-buttons button[aria-pressed=true]{background:var(--tint,#e8f0fe);border-color:var(--accent,#4285f4);color:var(--tone,#1967d2)}
.hybrid-app .resume-header{border-radius:26px;background:linear-gradient(115deg,#e8f0fe60,#fff 50%,#e6f4ea50)}
.hybrid-app .resume-org{box-shadow:0 4px 18px #20212404}
.hybrid-app .contact-card{background:linear-gradient(140deg,#e8f0fe70,white 55%,#e6f4ea70);border-color:#d2e3fc}
.hybrid-app .site-footer{border-top-color:#e8eaed}
.hybrid-app .page-view:not([hidden]){animation:g20-page-in .32s cubic-bezier(.2,.7,.3,1) both}
@keyframes g20-page-in{from{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes g20-line-in{from{opacity:0;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}
@keyframes g20-orbit-in{from{opacity:0;transform:rotate(-50deg) scale(.9)}to{opacity:1;transform:rotate(-18deg) scale(1)}}
@keyframes g20-dot-drift{from{transform:translate(0,0)}to{transform:translate(6px,-9px)}}
@media(hover:hover) and (pointer:fine){
 .hybrid-app #navigation a:hover .h19-nav-icon{transform:rotate(-5deg) scale(1.08)}
 .h19-practices>a:hover{box-shadow:0 7px 19px color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent)}
 .h19-practices>a:hover>.ui-icon{transform:translateX(3px)}
 [dir=rtl] .h19-practices>a:hover>.ui-icon{transform:translateX(-3px)}
 .h19-wayfinding>div>a:hover,.hybrid-app .v18-collection-card:hover{box-shadow:0 10px 27px color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);transform:translateY(-4px)}
 .h19-selected button:hover img{transform:scale(1.035)}
}
@media(max-width:650px){
 .hybrid-app #navigation a{border-radius:13px}
 .hybrid-app #navigation .h19-nav-icon{border-radius:8px}
 .hybrid-app #navigation a[aria-current] .h19-nav-icon{background:transparent;color:var(--tone)}
 .h19-intro-copy h1 em:after{height:4px;margin-top:10px}
 .h19-intro:before{inset:0 -10px;border-radius:25px}
 .h19-wayfinding a>span>.ui-icon{width:20px;height:20px;padding:8px;border-radius:12px}
 .h19-practices>a{background:var(--tint);border-inline-start-width:3px}
 .h19-signature>i{animation:none}
}
@media(prefers-reduced-motion:reduce){
 .hybrid-app .page-view:not([hidden]),.h19-intro-copy h1 em:after,.h19-perspective:before,.h19-signature>i{animation:none}
 .hybrid-app :is(a,button,img,summary,.h19-nav-icon){transition:none!important}
}
html[data-motion=still] .hybrid-app .page-view,
html[data-motion=still] .h19-intro-copy h1 em:after,
html[data-motion=still] .h19-perspective:before,
html[data-motion=still] .h19-signature>i{animation:none}
@media print{.hybrid-app #main,.h19-intro:before{background:white}.hybrid-app .page-view:not([hidden]),.h19-intro-copy h1 em:after,.h19-perspective:before,.h19-signature>i{animation:none}.hybrid-app .site-header:after{display:none}}
