/* Shared appearance for every inner section and project service page. */
:root{--ms-bg:#070709;--ms-text:#e5e0ec;--ms-muted:#b9b3c4;--ms-line:#ffffff18;--ms-surface:#ffffff03;--ms-menu:rgba(21,19,27,.9)}
:root[data-tone=light]{color-scheme:light;--ms-bg:#f5f3f0;--ms-text:#302d38;--ms-muted:#625c6a;--ms-line:#39303f25;--ms-surface:#ffffffb8;--ms-menu:rgba(251,249,247,.93)}
:root[data-tone=light][data-ms-theme=parfum]{--ms-bg:#f7f1eb;--ms-text:#382e2d;--ms-muted:#6b5d5b}
:root[data-tone=light][data-ms-theme=music]{--ms-bg:#eff2f6;--ms-text:#29323e;--ms-muted:#596573}
/* Darker members of the same four palettes keep links readable on pale surfaces. */
:root[data-tone=light][data-accent=pink]{--accent:#b22958;--accent-soft:#98254c;--accent-rgb:178,41,88}
:root[data-tone=light][data-accent=violet]{--accent:#7252b1;--accent-soft:#66469e;--accent-rgb:114,82,177}
:root[data-tone=light][data-accent=cyan]{--accent:#167986;--accent-soft:#146875;--accent-rgb:22,121,134}
:root[data-tone=light][data-accent=gold]{--accent:#926319;--accent-soft:#805616;--accent-rgb:146,99,25}
:root[data-ms-theme] body.ms-section{background:var(--ms-bg);color:var(--ms-text)}
:root[data-ms-theme] .ms-section :is(.ms-lead,.ms-page-content,.ms-child-card p,.ms-error-content){color:var(--ms-muted)}
:root[data-ms-theme] .ms-section :is(h1,h2,h3){color:var(--ms-text)}
:root[data-ms-theme] .ms-section .ms-child-card{background:var(--ms-surface);border-color:var(--ms-line)}
:root[data-ms-theme] .ms-section :is(.ms-section-nav,.ms-footer){border-color:var(--ms-line)}
:root[data-ms-theme] .ms-section .ms-footer{color:var(--ms-muted);opacity:.8}
:root[data-tone=light] .ms-section .ms-footer{opacity:1}
.ms-section-nav{flex-wrap:wrap;align-items:center!important;gap:18px 32px}
.ms-section-menu{flex:1}
.ms-appearance-controls{display:flex;align-items:center;gap:20px;margin-left:auto}
.ms-appearance-controls .color-control{position:relative;inset:auto;font-size:12px}
.ms-appearance-controls #accent-toggle{color:var(--ms-muted)}
.ms-appearance-controls #accent-menu{background:var(--ms-menu);border-color:var(--ms-line);box-shadow:0 12px 28px #0002}
.ms-appearance-controls #accent-menu button{color:var(--ms-muted)}
.ms-appearance-controls #accent-menu button[aria-checked=true]{background:rgba(var(--accent-rgb),.12);color:var(--accent-soft)}
#ms-tone-toggle{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--ms-line);border-radius:30px;color:var(--ms-muted);background:transparent;font:inherit;font-size:12px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
#ms-tone-toggle svg{width:18px;height:18px}
#ms-tone-toggle[aria-checked=true]{background:rgba(var(--accent-rgb),.09);color:var(--accent-soft);border-color:rgba(var(--accent-rgb),.35)}
#ms-tone-toggle:hover{border-color:var(--accent)}
.ms-section :is(a,button,summary,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.ms-section :is(input,textarea,select){background:var(--ms-surface);color:var(--ms-text);border:1px solid var(--ms-line);accent-color:var(--accent)}
:root[data-tone=light] .ms-fit-product-card{background:var(--ms-surface)}
:root[data-tone=light] :is(.ms-fit-pack,.ms-fit-product-image){background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.09),#fff9)}
:root[data-tone=light] .ms-fit-tech-image{background:#fff}
:root[data-tone=light] .ms-fit-button:hover,:root[data-tone=light] .ms-fit-button:focus-visible{background:rgba(var(--accent-rgb),.12)}
:root[data-tone=light] .ms-section-art{filter:brightness(.95)}
/* Preserve the shared white-to-accent brand gradient on a compact dark plaque. */
:root[data-tone=light] .ms-section .ms-brand:before{content:'';position:absolute;z-index:-1;inset:-2px -12px -2px -56px;background:#15131b;border-radius:8px}
@media(max-width:1000px){:root[data-tone=light] .ms-section .ms-brand:before{left:-38px}}
@media(max-width:768px){.ms-section-nav{flex-direction:row!important;align-items:center!important}.ms-section-menu{order:3;flex-basis:100%}.ms-appearance-controls{gap:12px}.ms-section .ms-brand{margin-right:5px}}
@media(max-width:560px){:root[data-tone=light] .ms-section .ms-brand:before{left:-24px;right:-8px}.ms-appearance-controls{gap:9px}#ms-tone-toggle{padding:6px 8px}#ms-tone-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ms-appearance-controls #accent-toggle{gap:5px}}
@media(prefers-reduced-motion:reduce){#ms-tone-toggle{transition:none}}

/* Pastel section chrome: light, visibly tinted, no dark plaque behind the logo. */
:root[data-tone=light]{--ms-bg:color-mix(in srgb,var(--accent) 11%,#eeeae5);--ms-text:#302b37;--ms-muted:#554e60;--ms-menu:color-mix(in srgb,var(--accent) 5%,#f9f6f2);--ms-brand-start:color-mix(in srgb,var(--accent) 75%,#423b4a)}
:root[data-tone=light][data-ms-theme=parfum]{--ms-bg:color-mix(in srgb,var(--accent) 10%,#eee6dd);--ms-text:#382e2d;--ms-muted:#5c4d4b}
:root[data-tone=light][data-ms-theme=music]{--ms-bg:color-mix(in srgb,var(--accent) 10%,#e5eaf0);--ms-text:#29323e;--ms-muted:#485563}
:root[data-tone=light] .ms-section .ms-brand:before{content:none}
.ms-section-nav{position:relative;z-index:10;display:grid!important;grid-template-columns:1fr auto;gap:20px 28px;padding:9px 0 16px!important;border-bottom:1px solid rgba(var(--accent-rgb),.3)!important;isolation:isolate}
.ms-section-nav:before{content:'';position:absolute;z-index:-1;inset:-26px -48px 0;background:rgba(var(--accent-rgb),.055);border-bottom:1px solid rgba(var(--accent-rgb),.14);pointer-events:none}
.ms-section-menu{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:5px 18px;flex:none;order:initial}
.ms-appearance-controls{grid-column:2;grid-row:1;position:relative;right:-48px;gap:18px}
#ms-tone-toggle{padding:8px;border-radius:50%;background:rgba(var(--accent-rgb),.07)}
#ms-tone-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#ms-tone-toggle svg{width:19px;height:19px}
.ms-section .ms-footer{position:relative;padding:24px 0;isolation:isolate}
.ms-section .ms-footer:before{content:'';position:absolute;inset:0 -48px;z-index:-1;background:rgba(var(--accent-rgb),.085);pointer-events:none}
:root[data-ms-theme] .ms-section .ms-footer{color:color-mix(in srgb,var(--accent-soft) 48%,var(--ms-muted));opacity:1}
.ms-section .ms-section-menu .ms-nav-item{display:inline-flex;align-items:center;padding:9px 14px;border-radius:7px;font-size:15px;line-height:1.4;font-weight:500;color:var(--ms-text);text-decoration:none;transition:background .2s,color .2s,transform .2s}
.ms-section-menu .ms-nav-item:hover,.ms-section-menu .ms-nav-current{color:var(--accent-soft);background:rgba(var(--accent-rgb),.1);text-decoration:none!important}
.ms-menu-group{position:relative}
.ms-section-menu .ms-menu-group>.ms-nav-item{padding:0;background:none}
.ms-nav-trigger{display:inline-flex;gap:10px;align-items:center;padding:9px 14px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.ms-nav-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.ms-nav-trigger[aria-expanded=true]{color:var(--accent-soft);background:rgba(var(--accent-rgb),.12)}
.ms-nav-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.ms-nav-dropdown{position:absolute;z-index:20;top:calc(100% + 7px);left:0;min-width:210px;border:1px solid rgba(var(--accent-rgb),.3);border-radius:10px;padding:7px;background:var(--ms-menu);box-shadow:0 12px 30px #0002;animation:ms-fit-menu-in .2s ease both}
[x-cloak]{display:none!important}
.ms-section-menu .ms-nav-subitem{display:block;padding:12px 14px;color:var(--ms-text);text-decoration:none;font-size:14px;border-radius:6px;transition:background .2s,transform .2s,color .2s}
.ms-section-menu .ms-nav-subitem:hover,.ms-section-menu .ms-nav-subitem:focus-visible{background:rgba(var(--accent-rgb),.12);color:var(--accent-soft);transform:translateX(2px);text-decoration:none}
@keyframes ms-fit-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.ms-appearance-controls{right:-32px}.ms-section-nav:before{left:-32px;right:-32px}.ms-section .ms-footer:before{left:-32px;right:-32px}}
@media(max-width:560px){.ms-section-nav{gap:18px 10px}.ms-appearance-controls{right:-15px;gap:10px}.ms-section-nav:before{left:-20px;right:-20px}.ms-section .ms-footer:before{left:-20px;right:-20px}.ms-section-menu{gap:2px 8px}.ms-section .ms-section-menu .ms-nav-item{font-size:14px;padding:9px 10px}.ms-section-menu .ms-menu-group>.ms-nav-item{padding:0}.ms-nav-trigger{padding:9px 10px}.ms-nav-dropdown{min-width:180px;left:-30px}}
@media(prefers-reduced-motion:reduce){.ms-nav-dropdown{animation:none}.ms-nav-trigger svg,.ms-section-menu .ms-nav-subitem,.ms-section-menu .ms-nav-item{transition:none}}

/* Pastel contrast correction: stronger ink on the subtly darker paper. */
:root[data-tone=light][data-accent=pink]{--accent-soft:#7d1e3f}
:root[data-tone=light][data-accent=violet]{--accent-soft:#50317f}
:root[data-tone=light][data-accent=cyan]{--accent-soft:#0e515c}
:root[data-tone=light][data-accent=gold]{--accent-soft:#63410e}
.ms-tone-moon{display:none}
:root[data-tone=light] .ms-tone-sun{display:none}
:root[data-tone=light] .ms-tone-moon{display:block}

/* Compact full-bleed navigation: typography, quiet rule, no item tiles. */
:root{--ms-chrome:color-mix(in srgb,var(--accent) 5%,var(--ms-bg))}
:root[data-tone=light]{--ms-chrome:color-mix(in srgb,var(--accent) 5%,var(--ms-bg))}
.ms-section .page{padding-top:18px}
.ms-section-nav{grid-template-columns:auto minmax(0,1fr) auto;gap:0 28px;padding:0 0 9px!important;border-bottom:1px solid rgba(var(--accent-rgb),.14)!important}
.ms-section-nav:before{inset:-18px 0 0!important;background:var(--ms-chrome);box-shadow:0 0 0 100vmax var(--ms-chrome);clip-path:inset(0 -100vmax);border:0}
.ms-section-menu{grid-column:2;grid-row:1;justify-content:center;align-self:center;gap:0 24px;padding-top:7px}
.ms-appearance-controls{grid-column:3;grid-row:1}
.ms-section .ms-section-menu .ms-nav-item{padding:7px 0;border-radius:0;background:transparent!important;font-size:15px;font-weight:400;color:var(--ms-muted)}
.ms-section-menu .ms-menu-group>.ms-nav-item{padding:0}
.ms-nav-trigger{position:relative;padding:7px 0;border-radius:0;background:transparent!important;font-weight:400;color:var(--ms-muted)}
.ms-section .ms-section-menu .ms-nav-item:hover,.ms-nav-trigger:hover,.ms-nav-trigger[aria-expanded=true],.ms-section .ms-section-menu .ms-nav-current{color:var(--accent-soft)}
.ms-section-menu a.ms-nav-item{position:relative}
.ms-section-menu a.ms-nav-item:after,.ms-nav-trigger:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--accent-soft);transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.2,.8,.3,1.3);opacity:.7}
.ms-section-menu a.ms-nav-item:hover:after,.ms-section-menu a.ms-nav-item:focus-visible:after,.ms-section-menu a.ms-nav-current:after,.ms-nav-trigger:hover:after,.ms-nav-trigger:focus-visible:after,.ms-nav-trigger[aria-expanded=true]:after{transform:scaleX(1)}
.ms-nav-dropdown{top:calc(100% + 10px);left:-14px;min-width:190px;padding:5px;border-radius:7px;box-shadow:0 8px 24px #0002}
.ms-section-menu .ms-nav-subitem{font-size:14px;padding:11px 12px}
.ms-section .ms-footer:before{inset:0!important;background:var(--ms-chrome);box-shadow:0 0 0 100vmax var(--ms-chrome);clip-path:inset(0 -100vmax)}
@media(max-width:900px){.ms-section-nav{grid-template-columns:1fr auto;gap:4px 18px}.ms-section-menu{grid-column:1/-1;grid-row:2;justify-content:flex-end;padding:0 0 1px;gap:0 26px}.ms-appearance-controls{grid-column:2;grid-row:1}}
@media(max-width:560px){.ms-section-nav{gap:4px 8px}.ms-section-menu{justify-content:center;gap:0 25px}.ms-section .ms-section-menu .ms-nav-item{font-size:14px;padding:6px 0}.ms-section-menu .ms-menu-group>.ms-nav-item{padding:0}.ms-nav-trigger{padding:6px 0}.ms-nav-dropdown{left:-20px;min-width:175px}.ms-appearance-controls{right:-15px;gap:10px}}
@media(prefers-reduced-motion:reduce){.ms-section-menu a.ms-nav-item:after,.ms-nav-trigger:after{transition:none}}

/* Transparent official marks sit directly on pastel paper, without white tiles. */
:root[data-tone=light] .ms-fit-identity>a,:root[data-tone=light] .ms-fit-partner>img,:root[data-tone=light] .ms-fit-marks img{background:transparent;border-radius:0}
:root[data-tone=light] .ms-fit-marks img{mix-blend-mode:multiply}
:root[data-tone=light] .ms-fit-article img{background:transparent}
:root[data-tone=light] .ms-fit-product-card{background:var(--ms-bg);border-color:rgba(var(--accent-rgb),.18)}
:root[data-tone=light] .ms-fit-card-copy{background:color-mix(in srgb,var(--accent) 3%,var(--ms-bg))}
:root[data-tone=light] :is(.ms-fit-pack,.ms-fit-product-image){background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.085),rgba(var(--accent-rgb),.015) 75%)}
:root[data-tone=light] .ms-fit-tech-image{background:rgba(var(--accent-rgb),.04)}

#ms-tone-toggle,#ms-tone-toggle[aria-checked=true],#ms-tone-toggle:hover{border:0;background:transparent!important;border-radius:0;color:var(--ms-muted)}
#ms-tone-toggle:hover{color:var(--accent-soft)}

/* Light tonal hierarchy: quiet reading paper, soft identity band, stronger chrome. */
:root[data-tone=light]{--ms-bg:color-mix(in srgb,var(--accent) 2.5%,#f4f3f0);--ms-identity-bg:color-mix(in srgb,var(--accent) 6%,#efede9);--ms-chrome:color-mix(in srgb,var(--accent) 11%,#ece9e4);--ms-menu:color-mix(in srgb,var(--accent) 3%,#f7f5f1)}
:root[data-tone=light][data-ms-theme=parfum]{--ms-bg:color-mix(in srgb,var(--accent) 2.5%,#f4f0eb)}
:root[data-tone=light][data-ms-theme=music]{--ms-bg:color-mix(in srgb,var(--accent) 2.5%,#f0f3f5)}
/* Gold is an accent, not a yellow wash over the reading surface. */
:root[data-tone=light][data-accent=gold]{--ms-bg:color-mix(in srgb,var(--accent) 1.3%,#f4f3f0);--ms-identity-bg:color-mix(in srgb,var(--accent) 4.5%,#efede8);--ms-chrome:color-mix(in srgb,var(--accent) 10%,#ece9e4)}
:root[data-tone=light][data-accent=gold][data-ms-theme=parfum]{--ms-bg:color-mix(in srgb,var(--accent) 1.3%,#f4f1ed)}
:root[data-tone=light][data-accent=gold][data-ms-theme=music]{--ms-bg:color-mix(in srgb,var(--accent) 1.3%,#f0f3f5)}
:root[data-tone=light] .ms-fit-identity,:root[data-tone=light] .ms-fit-trust{position:relative;isolation:isolate;border-color:rgba(var(--accent-rgb),.1)}
:root[data-tone=light] .ms-fit-identity:before,:root[data-tone=light] .ms-fit-trust:before{content:'';position:absolute;z-index:-1;inset:0;background:var(--ms-identity-bg);box-shadow:0 0 0 100vmax var(--ms-identity-bg);clip-path:inset(0 -100vmax);pointer-events:none}
:root[data-tone=light] .ms-fit-card-copy{background:color-mix(in srgb,var(--accent) 2.5%,var(--ms-bg))}
:root[data-tone=light] :is(.ms-fit-pack,.ms-fit-product-image){background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.05),rgba(var(--accent-rgb),.005) 75%)}

/* Product card accent outline follows the NTC/Microsolve family, quietly glowing. */
:root[data-ms-theme] .ms-fit-product-card{border-color:rgba(var(--accent-rgb),.32);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.025),0 5px 18px rgba(var(--accent-rgb),.055);transition:transform .25s,border-color .25s,box-shadow .25s}
:root[data-ms-theme] .ms-fit-product-card:hover,:root[data-ms-theme] .ms-fit-product-card:focus-visible{border-color:rgba(var(--accent-rgb),.57);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.06),0 8px 24px rgba(var(--accent-rgb),.11)}
@media(prefers-reduced-motion:reduce){:root[data-ms-theme] .ms-fit-product-card{transition:none}}

/* Continuous light Fit footer: partner information + help links, no paper gap. */
:root[data-tone=light][data-ms-theme=fit] .ms-fit-help{position:relative;isolation:isolate;margin:0;padding:0 0 24px}
:root[data-tone=light][data-ms-theme=fit] .ms-fit-help:before{content:'';position:absolute;z-index:-1;inset:0;background:var(--ms-identity-bg);box-shadow:0 0 0 100vmax var(--ms-identity-bg);clip-path:inset(0 -100vmax);pointer-events:none}
:root[data-tone=light][data-ms-theme=fit] .ms-footer{margin-top:0}

/* Readable link/button state palette; never fall back to Berry primary700. */
:root[data-ms-theme] .ms-section{--link-color:var(--accent-soft);--link-hover-color:var(--accent-soft)}
:root[data-ms-theme] .ms-section .ms-fit-button,:root[data-ms-theme] .ms-section .ms-fit-button:visited{color:var(--accent-soft);background:color-mix(in srgb,var(--accent) 10%,var(--ms-bg))}
:root[data-ms-theme] .ms-section .ms-fit-button:hover,:root[data-ms-theme] .ms-section .ms-fit-button:focus-visible,:root[data-ms-theme] .ms-section .ms-fit-button:active{color:var(--accent-soft);background:color-mix(in srgb,var(--accent) 17%,var(--ms-bg));text-decoration:none}
:root[data-tone=light][data-ms-theme] .ms-section .ms-fit-button{background:color-mix(in srgb,var(--accent) 6%,var(--ms-bg))}
:root[data-tone=light][data-ms-theme] .ms-section .ms-fit-button:hover,:root[data-tone=light][data-ms-theme] .ms-section .ms-fit-button:focus-visible,:root[data-tone=light][data-ms-theme] .ms-section .ms-fit-button:active{background:color-mix(in srgb,var(--accent) 11%,var(--ms-bg))}
.ms-section .ms-fit-flavours a:is(:hover,:focus-visible),.ms-section .ms-fit-text-link:is(:hover,:focus-visible),.ms-section .ms-fit-help a:is(:hover,:focus-visible){color:var(--accent-soft)}
.ms-section .ms-child-card:is(:hover,:focus-visible),.ms-section .ms-fit-product-card:is(:hover,:focus-visible){color:var(--ms-text);text-decoration:none}

.ms-section .ms-fit-button{transition:transform .2s,border-color .2s,box-shadow .2s}

/* Transparent official marks sit directly on quiet full-width dark bands. */
:root[data-tone=dark] .ms-fit-identity>a,:root[data-tone=dark] .ms-fit-partner>img{background:transparent;border-radius:0}
:root[data-tone=dark][data-ms-theme=fit]{--ms-identity-bg:color-mix(in srgb,var(--accent) 5%,#19191e)}
:root[data-tone=dark] :is(.ms-fit-identity,.ms-fit-trust,.ms-fit-help){position:relative;isolation:isolate}
:root[data-tone=dark] .ms-fit-help{margin:0;padding-bottom:24px}
:root[data-tone=dark] .ms-fit-identity:before,:root[data-tone=dark] .ms-fit-trust:before,:root[data-tone=dark] .ms-fit-help:before{content:'';position:absolute;z-index:-1;inset:0;background:var(--ms-identity-bg);box-shadow:0 0 0 100vmax var(--ms-identity-bg);clip-path:inset(0 -100vmax);pointer-events:none}
:root[data-tone=dark][data-ms-theme=fit] .ms-footer{margin-top:0}

/* Owner palette tuning: light Pink chrome one step deeper, partner band one step lighter. */
:root[data-tone=light][data-accent=pink]{--ms-chrome:color-mix(in srgb,var(--accent) 16%,#e7e3e3);--ms-identity-bg:color-mix(in srgb,var(--accent) 8%,#f1efed)}

/* One rectangular menu background, including the projecting brand/control areas. */
.ms-section-nav{border:0!important}
.ms-section-nav:before{top:-18px!important;bottom:0!important;left:calc((100% - var(--ms-viewport-width,100%))/2)!important;right:auto!important;width:var(--ms-viewport-width,100%);box-shadow:none;clip-path:none;border:0;border-radius:0}
