/* Light glass panels retain dark copy in both resting and expanded states. */
.process-card,.process-card[open]{color:#30213e!important}
.process-card summary,.process-card summary h3,.process-body h4{color:#30213e!important;opacity:1!important}
.process-card summary>b,.process-body p,.process-body li{color:#493452!important;opacity:1!important}
.site-disclosure,.site-disclosure[open]{color:#30213e}
.site-disclosure summary,.site-disclosure summary span:not(.brand-token),.site-disclosure>p,.site-disclosure li{color:#392443!important;opacity:1!important}
.site-disclosure summary{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.5}.site-disclosure>p,.site-disclosure li{font-size:1rem;line-height:1.7}
/* Dark surfaces have an explicit text palette rather than inheriting page ink. */
.glass-face h3,.glass-face p,.glass-face li,.glass-face button,.glass-back a{color:#f5eefb!important;opacity:1!important}.glass-back a{color:#b8f5ee!important}.workflow-preview .workflow-detail p,.workflow-preview .workflow-mode,.workflow-preview .workflow-status{color:#f0e8f7!important}.tool-output-side .tool-output-label{color:#493452!important}
main textarea::placeholder,main input::placeholder{opacity:1;color:#665270}
.site-nav .nav-links>a{color:#f5effb;opacity:1;text-shadow:0 2px 10px #0c071a}.site-nav .nav-links>a[aria-current]{color:#85f4ee}
.site-nav .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}.site-nav .nav-links>a{font-size:clamp(20px,2.3vw,32px);line-height:1.3;min-height:48px;padding:12px 0;align-content:center}
.site-nav{background:linear-gradient(135deg,#1c1429d9,#101c29d6)!important}
@media(max-width:767px){.site-header .nav-wrap{min-height:64px;padding-block:0!important;flex-wrap:nowrap}.header-actions{margin-left:auto}.site-nav{inset:64px 0 0!important}.route-main{padding-top:64px}.reference-home .match-hero{padding-top:100px}.site-nav .nav-links{column-gap:1rem}.site-nav .nav-links>a{font-size:20px;padding:10px 0;min-height:48px}.image-studio{scroll-margin-top:84px}}
.explore-gallery{margin-block:clamp(1.5rem,4vw,3.5rem);scroll-margin-top:110px}.explore-heading{max-width:760px}.explore-heading h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.2;margin-bottom:1rem}.explore-heading p,.explore-work-link p{font-size:1rem;line-height:1.7;color:#493452}.explore-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-block:1.2rem}.explore-filters button{min-height:44px;padding:.65rem 1rem;font:inherit;font-size:1rem;border:1px solid #9870b988;border-radius:1rem;background:linear-gradient(125deg,#d0acee44,#87e0de33);color:#382141;cursor:pointer}.explore-filters button[aria-pressed=true]{background:#38204b;color:#f6edff}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.explore-card{display:block;min-width:0;border:1px solid #ac8bcb80;background:linear-gradient(130deg,#ceaaf037,#85dde136);border-radius:1.4rem;padding:.6rem;text-decoration:none;color:#30213e;transition:transform .25s,box-shadow .25s}.explore-card picture{display:block;aspect-ratio:3/2;border-radius:1rem;overflow:hidden;background:#10101b}.explore-card img{display:block;width:100%;height:100%;object-fit:contain!important}.explore-card h3{font-size:1.2rem;line-height:1.35;margin:.9rem .5rem .5rem;color:#30213e}.explore-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px #603b8422}.explore-gallery [hidden]{display:none!important}.explore-work-link{border:1px solid #ac8bcb80;border-radius:1.4rem;background:linear-gradient(130deg,#ceaaf037,#85dde136);padding:1.25rem;margin-top:1.25rem}.explore-work-link h3{font-size:1.5rem;margin:0}.explore-work-link a{margin:.5rem .5rem 0 0}
@media(max-width:767px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.explore-card{border-radius:1rem;padding:.4rem}.explore-card picture{border-radius:.7rem}.explore-card h3{font-size:1.05rem;margin:.7rem .3rem .4rem}.explore-filters{gap:.4rem}.explore-filters button{font-size:.95rem;padding:.6rem .7rem}}
@media(prefers-reduced-motion:reduce){.explore-card{transition:none}.explore-card:hover{transform:none}}
.image-studio textarea::placeholder,.image-studio input::placeholder,.assistant-panel textarea::placeholder{color:#d3c3e2!important;opacity:1}
.site-nav .nav-links>.language-links{grid-column:1/-1;display:flex;gap:1rem;align-items:center}.site-nav .language-links a{color:#f5effb;min-height:44px;align-content:center}
/* Supporting copy on the shared light surfaces must not use faint display ink. */
:is(.route-section-heading,.route-feature-grid,.route-steps,.route-band,.xp-heading,.xp-city,.xp-panel-copy,.xp-plan-result,.xp-check-card,.match-about-copy,.match-values,.match-features,.family-intro,.match-section-heading,.match-purpose) p,:is(.route-feature-grid,.route-steps,.route-band,.xp-journey,.xp-panel-copy,.xp-plan-result) li{color:#493452!important;opacity:1!important}
.xp-check-card small,.tool-description,.tool-upload>span,.tool-output-side .tool-note,.tools-bottom-note p{color:#493452!important;opacity:1!important}.xp-journey li{font-size:15px!important;line-height:1.55!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* One header measurement keeps artwork, titles and anchor destinations clear. */
:root{--site-header-height:72px;--site-anchor-gap:24px}
html{scroll-padding-top:0}
.site-header{height:var(--site-header-height);box-sizing:border-box}
.site-header .nav-wrap{height:100%;min-height:0!important;padding-block:0!important;flex-wrap:nowrap}
.site-nav{inset:var(--site-header-height) 0 0!important}
.route-main{padding-top:var(--site-header-height)}
.reference-home .match-hero{height:auto;min-height:max(650px,100svh);max-height:none;padding-block:calc(var(--site-header-height) + 32px) 110px;box-sizing:border-box}
.reference-home .match-hero-image{inset:calc(var(--site-header-height) + 16px) 0 16px;background-size:100% 100%,contain;background-position:center;background-repeat:no-repeat}
.reference-home .match-hero h1,.route-main .route-hero-copy h1{line-height:1.18;padding-block:.12em;overflow:visible}
:is(.route-section-heading,.match-section-heading,.xp-heading,.site-section-heading) :is(h2,h3){line-height:1.2;overflow:visible}
:where(main) [id]{scroll-margin-top:calc(var(--site-header-height) + var(--site-anchor-gap))!important}
@media(max-width:767px){:root{--site-header-height:64px;--site-anchor-gap:20px}.reference-home .match-hero{min-height:520px;padding-block:calc(var(--site-header-height) + 24px) 88px}.reference-home .match-hero-image{inset:calc(var(--site-header-height) + 12px) 8px 12px}}
/* Flow labels must shrink with their grid instead of extending behind its frame. */
.xp-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.xp-node{min-width:0}.xp-node h3{overflow-wrap:anywhere}
@media(min-width:768px) and (max-width:1024px){.xp-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.xp-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Motion owns the menu fade; a CSS visibility transition can reject initial focus. */
.motion-engine .site-nav{transition:none}
