/* V27: a visible global navigation and an explorable MASTR ecosystem. */
body.mastr-v27 .v27-header{display:flex!important;flex-wrap:wrap!important;position:sticky!important;top:0!important;z-index:1100!important;padding:16px 24px 0!important;gap:12px!important;min-height:0!important;background:#030b07!important;overflow:visible!important;border-bottom:1px solid #416447!important;}
body.mastr-v27 .v27-header .mastr-unified-brand{height:44px!important;max-width:240px!important;flex-shrink:0}
body.mastr-v27 .v27-menu{width:100%;margin:0;padding:0;border:0;background:none}
body.mastr-v27 .v27-menu>summary{display:none}
body.mastr-v27 .v27-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:2px 20px;padding:8px 0 12px;border-top:1px solid #284331;}
body.mastr-v27 .v27-navigation>a{display:flex;align-items:center;min-height:42px;color:#e0eae2;font:500 14px/1.4 Arial,sans-serif;text-decoration:none;white-space:nowrap;position:relative;padding:7px 0;}
body.mastr-v27 .v27-navigation>a::after{content:'';position:absolute;bottom:1px;left:0;width:100%;height:2px;background:#87ef84;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
body.mastr-v27 .v27-navigation>a:hover::after,body.mastr-v27 .v27-navigation>a[aria-current=page]::after{transform:scaleX(1)}
body.mastr-v27 .v27-navigation>a:hover{color:#fff}
body.mastr-v27 .v27-navigation>a.mastr-nav-featured{color:#a5fa93!important}
body.mastr-v27 .v27-nav-controls{position:absolute;right:24px;top:13px;display:flex;align-items:center;gap:16px}
body.mastr-v27 .mastr-language-select{color:#edf8ef!important;background:#0a1b11!important;border:1px solid #608065!important;border-radius:8px!important;min-height:44px!important;font:500 15px/1.3 Arial,sans-serif!important;padding:8px 12px!important;color-scheme:dark}
body.mastr-v27 .mastr-language-select option{color:#f1f8f2!important;background:#0a1b11!important}
body.mastr-v27 .mastr-language-picker{margin:0!important;padding:0!important;border:0!important}
body.mastr-v27 .v27-nav-controls .v26-motion-toggle{margin:0!important;min-height:44px;border-color:#375c40;font-size:13px}
body.mastr-v27 :focus-visible{outline:2px solid #a7fb89!important;outline-offset:4px!important}
body.mastr-v27 .v25-page-directory{margin:18px 32px;max-width:100%;border:1px solid #32533b;border-radius:8px;position:static;background:#08170e}
body.mastr-v27 [id]{scroll-margin-top:165px}
/* The map is composed of real links; decorative motion never moves a hit target. */
body.mastr-v27 .v27-hub{position:relative;margin:34px 0;padding:32px;isolation:isolate;overflow:hidden;border:1px solid #3e6049;border-radius:18px;background:radial-gradient(ellipse at 25% 50%,#13331e 0,#040d08 65%);box-shadow:inset 0 1px #d9ffdd15,0 24px 60px #0003}
body.mastr-v27 .v27-hub-heading{position:relative;z-index:2;max-width:750px;margin-bottom:24px}
body.mastr-v27 .v27-hub h2{font:600 clamp(24px,3vw,36px)/1.2 MASTRDisplay,Arial,sans-serif!important;color:#f0faf2!important;letter-spacing:-.03em;margin:0 0 14px!important}
body.mastr-v27 .v27-hub-heading p{font:400 18px/1.65 Arial,sans-serif!important;color:#bed0c2!important;margin:0!important}
body.mastr-v27 .v27-hub-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:center}
body.mastr-v27 .v27-hub-core{position:relative;height:400px;overflow:hidden;border-radius:12px;isolation:isolate;background:#020804}
body.mastr-v27 .v27-platform{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 50%;opacity:.8}
body.mastr-v27 .v27-core-logo{position:absolute;left:50%;top:50%;width:140px;height:140px;object-fit:contain;transform:translate(-50%,-50%);border-radius:28px;z-index:2;box-shadow:0 14px 40px #0009}
body.mastr-v27 .v27-flow{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a3ffb0;stroke-width:1.2;stroke-dasharray:4 28;opacity:.7;pointer-events:none}
body.mastr-v27 .v27-hub-nodes{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:2}
body.mastr-v27 .v27-hub-node{display:grid;grid-template-columns:48px minmax(0,1fr) 14px;gap:10px;align-items:center;min-width:0;min-height:112px;padding:15px 12px;border:1px solid #355a41;border-radius:12px;background:linear-gradient(135deg,#143020d9,#07150de8);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
body.mastr-v27 .v27-hub-node>img{width:48px;height:48px;border-radius:10px;object-fit:cover}
body.mastr-v27 .v27-hub-node strong{display:block;font:600 16px/1.3 Arial,sans-serif!important;color:#effcf0;overflow-wrap:anywhere}
body.mastr-v27 .v27-hub-node small{display:block;color:#b5c9ba;font:400 13px/1.5 Arial,sans-serif!important;margin-top:7px;overflow-wrap:anywhere}
body.mastr-v27 .v27-hub-node>span:last-child{color:#9ef3a1}
body.mastr-v27 .v27-hub-foot{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid #31503b;margin:26px 0 0;padding-top:18px;font:400 14px/1.5 Arial,sans-serif;color:#b3c8b8}
body.mastr-v27 .v27-hub-foot a{color:#b2f49b;text-decoration:none}
/* Product photography and original art add context without replacing product copy. */
body.mastr-v27 .ecosystem-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}
body.mastr-v27 .ecosystem-section .product-card{padding:24px!important;border:1px solid #36563f!important;border-radius:14px!important;background:linear-gradient(140deg,#11251a,#040d08)!important;overflow:hidden!important;display:flex;flex-direction:column;position:relative;min-width:0;}
body.mastr-v27 .v27-card-art{height:178px;margin:-24px -24px 24px;background:#020704;position:relative;overflow:hidden;border-bottom:1px solid #35503b}
body.mastr-v27 .v27-card-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
body.mastr-v27 .product-card:nth-child(5) .v27-card-art img,body.mastr-v27 .product-card:nth-child(6) .v27-card-art img,body.mastr-v27 .product-card:nth-child(8) .v27-card-art img{object-fit:contain;padding:22px}
body.mastr-v27 .ecosystem-section .product-card p{font:400 17px/1.65 Arial,sans-serif!important;color:#c1d0c5!important}
body.mastr-v27 .ecosystem-section .product-card h3{font:600 23px/1.25 Arial,sans-serif!important;margin:18px 0 16px!important;color:#f1fbf3!important}
body.mastr-v27 .v27-card-link{display:flex;justify-content:space-between;align-items:center;color:#c3ffa9;border-top:1px solid #3a5741;text-decoration:none;margin-top:24px;padding-top:18px;min-height:48px;font:600 16px/1.4 Arial,sans-serif}
body.mastr-v27 .ecosystem-section .product-meta{margin-top:auto}
body.mastr-v27 .v27-research-visual{position:relative;min-height:300px;overflow:hidden;border:1px solid #375640;border-radius:14px;background:#050d08;isolation:isolate}
body.mastr-v27 .v27-research-visual>img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
body.mastr-v27 .about-logo-wrap{position:relative!important;overflow:hidden!important;border-radius:18px!important;border:1px solid #62834b!important;background:#071109!important;box-shadow:0 24px 60px #0005!important}
body.mastr-v27 .about-logo-wrap>img{opacity:1!important;filter:none!important;object-fit:contain!important;width:100%!important;max-height:540px!important}
body.mastr-v27 .about-mark{position:relative}
body.mastr-v27 .about-mark>span{display:block;font:500 15px/1.5 Arial,sans-serif!important;margin-top:16px!important;color:#c8dccb!important}
body.mastr-v27 .v27-card-art::after,body.mastr-v27 .about-logo-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#a4ffbf20 50%,transparent 70%);transform:translateX(-150%)}
html.v26-motion-running body.mastr-v27 .v27-hub.v26-in-view .v27-flow{animation:v27-flow 7s linear infinite!important}
html.v26-motion-running body.mastr-v27 .v27-hub.v26-in-view .v27-core-logo{animation:v27-breathe 5s ease-in-out infinite!important}
html.v26-motion-running body.mastr-v27 .product-card.v26-in-view .v27-card-art::after,html.v26-motion-running body.mastr-v27 .about-mark.v26-in-view .about-logo-wrap::after{animation:v27-sheen 9s ease-in-out infinite!important}
html.v26-motion-running body.mastr-v27 .v27-research-visual.v26-in-view>img{animation:v27-image-drift 14s ease-in-out infinite alternate!important}
@keyframes v27-flow{to{stroke-dashoffset:-128}}
@keyframes v27-breathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-54%) scale(1.035)}}
@keyframes v27-sheen{0%,45%{transform:translateX(-150%)}85%,100%{transform:translateX(150%)}}
@keyframes v27-image-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(hover:hover) and (pointer:fine){
 body.mastr-v27 .v27-hub-node:hover{border-color:#a5ef8e;box-shadow:0 10px 24px #0006,inset 0 0 24px #80ff8410;transform:translateY(-3px)}
 body.mastr-v27 .product-card:hover .v27-card-art img{transform:scale(1.055)}
 body.mastr-v27 .v27-card-link:hover{color:#fff}
}
@media(max-width:1100px){
 body.mastr-v27 .v27-header{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:nowrap!important;min-height:74px!important;padding:12px 16px!important;gap:12px!important}
 body.mastr-v27 .v27-menu{width:auto}
 body.mastr-v27 .v27-menu>summary{display:flex;gap:12px;align-items:center;list-style:none;cursor:pointer;min-height:46px;padding:10px 14px;color:#eeffeb;border:1px solid #69845a;border-radius:8px;font:600 15px/1.4 Arial,sans-serif;background:#102317}
 body.mastr-v27 .v27-menu>summary::-webkit-details-marker{display:none}
 body.mastr-v27 .v27-menu-lines{width:20px;height:12px;border-top:2px solid #b1f490;border-bottom:2px solid #b1f490}
 body.mastr-v27 .v27-menu[open] .v27-menu-lines{transform:rotate(90deg)}
 body.mastr-v27 .v27-navigation{position:absolute;left:0;right:0;top:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:18px;background:#07150d;border:1px solid #5e7c56;max-height:calc(100dvh - 86px);overflow:auto;overscroll-behavior:contain;box-shadow:0 25px 45px #0009}
 body.mastr-v27 .v27-navigation>a{min-height:48px;font-size:17px;padding:12px 14px;white-space:normal;border:1px solid #32523b;border-radius:6px;background:#102419}
 body.mastr-v27 .v27-nav-controls{position:static;grid-column:1/-1;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #34543f;padding-top:12px;margin-top:4px;gap:10px}
 body.mastr-v27 .v27-hub{padding:26px}
 body.mastr-v27 .v27-hub-layout{grid-template-columns:1fr}
 body.mastr-v27 .v27-hub-core{height:300px}
 body.mastr-v27 .v27-hub-nodes{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.mastr-v27 .v27-hub-node{grid-template-columns:42px minmax(0,1fr);min-height:100px}
 body.mastr-v27 .v27-hub-node>span:last-child{display:none}
 body.mastr-v27 .v27-hub-node>img{width:42px;height:42px}
 body.mastr-v27 .ecosystem-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.mastr-v27 [id]{scroll-margin-top:96px}
}
@media(max-width:600px){
 body.mastr-v27 .v27-header .mastr-unified-brand{max-width:205px!important}
 body.mastr-v27 .v27-hub{margin:22px 0;padding:20px 16px;border-radius:12px}
 body.mastr-v27 .v27-hub-heading p{font-size:17px!important}
 body.mastr-v27 .v27-hub-core{height:250px}
 body.mastr-v27 .v27-core-logo{width:112px;height:112px}
 body.mastr-v27 .v27-hub-nodes{grid-template-columns:1fr 1fr;gap:10px}
 body.mastr-v27 .v27-hub-node{display:flex;flex-direction:column;align-items:flex-start;padding:16px;min-height:156px}
 body.mastr-v27 .v27-hub-node>img{width:48px;height:48px}
 body.mastr-v27 .v27-hub-node strong{font-size:16px!important}
 body.mastr-v27 .v27-hub-node small{font-size:13px!important}
 body.mastr-v27 .ecosystem-section .product-grid{grid-template-columns:1fr!important;gap:20px!important}
 body.mastr-v27 .v27-card-art{height:205px}
 body.mastr-v27 .v25-page-directory{margin:14px 0}
 body.mastr-v27 .v27-research-visual{min-height:230px}
 body.mastr-v27 .v27-research-visual>img{min-height:230px}
 body.mastr-v27 .v27-menu>summary{padding:10px;gap:8px}
}
@media(prefers-reduced-motion:reduce){html body.mastr-v27 *,html body.mastr-v27 *::before,html body.mastr-v27 *::after{animation:none!important;transition:none!important}}
@media print{body.mastr-v27 .v27-header,body.mastr-v27 .v27-flow{display:none!important}}
/* Ambient movement remains on artwork, away from reading columns. */
html.v26-motion-running body.mastr-v27 .wiki-hero.v26-in-view .v26-section-art>img{animation:v27-image-drift 18s ease-in-out infinite alternate!important}
body.mastr-v27 .v27-hub-foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
body.mastr-v27 .about-links a{min-height:44px;display:inline-flex;align-items:center;padding:9px 0}
@media(prefers-reduced-motion:reduce){html.v26-motion-running body.mastr-v27 .wiki-hero.v26-in-view .v26-section-art>img{animation:none!important}}
