/* VIP Lab Diamonds — one world. The water plate is the ground of every page; sections float on it, nothing is a panel.
   Motion language: one curve, two durations. Loaded by every page after its own <style>. */
:root{--vld-ease:cubic-bezier(.2,.7,.2,1);--vld-t:.35s;--vld-t2:.6s}
html{background:#010204}
body{background:transparent !important}

/* the ground on inner pages (the homepage draws its own plate on the fixed canvas) */
.vld-ground{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;background:#010204}
body > [data-screen-label]{background:transparent !important}   /* the page wrapper is positioned and would paint over the ground */
.vld-ground img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:0;transition:opacity 1.2s var(--vld-ease)}
.vld-ground img.is-in{opacity:1;animation:vld-breathe 26s ease-in-out infinite}
@keyframes vld-breathe{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.045) translateY(-1%)}}
/* black, not blue: the water is a low glow under a heavy black scrim, and its light drifts (two soft rays, screen-blended) */
.vld-ground::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(1,2,4,.35) 0%,rgba(1,2,4,.86) 100%),linear-gradient(rgba(1,2,4,.55),rgba(1,2,4,.7) 60%,rgba(1,2,4,.85))}
.vld-ground::before{content:"";position:absolute;inset:-20%;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.55;
  background:radial-gradient(ellipse 22% 60% at 30% 30%,rgba(120,170,220,.16),rgba(120,170,220,0) 70%),radial-gradient(ellipse 18% 55% at 68% 45%,rgba(120,170,220,.12),rgba(120,170,220,0) 70%);
  animation:vld-rays 38s ease-in-out infinite}
@keyframes vld-rays{0%,100%{transform:translate(0,0) rotate(0deg)}33%{transform:translate(4%,-2%) rotate(1.5deg)}66%{transform:translate(-3%,2%) rotate(-1deg)}}
/* pieces float on the black: cut-out photos with a soft drop, and a glint that crosses the stone once on hover */
.vld-float{filter:drop-shadow(0 26px 34px rgba(0,0,0,.65));transition:transform var(--vld-t) var(--vld-ease),filter var(--vld-t) var(--vld-ease)}
.vld-float.is-in:hover{transform:translateY(-3px) scale(1.02);filter:drop-shadow(0 34px 44px rgba(0,0,0,.7)) brightness(1.08)}
.vld-glint.once{animation:none;opacity:0}
.vld-float:hover .vld-glint.once{animation:vld-glint-once 1.1s var(--vld-ease) 1}
@keyframes vld-glint-once{0%{opacity:0;background-position:120% 0}30%{opacity:.85}100%{opacity:0;background-position:-20% 0}}
header,main,footer{position:relative;z-index:2}

/* hairlines, not walls: section edges become soft light lines on the water */
main section{border-top-color:rgba(242,245,248,.09) !important;border-bottom-color:rgba(242,245,248,.09) !important}

/* reveal on scroll */
.vld-reveal{opacity:0;transform:translateY(14px);transition:opacity var(--vld-t2) var(--vld-ease),transform var(--vld-t2) var(--vld-ease)}
.vld-reveal.is-in{opacity:1;transform:none}

/* one hover language */
a,button,select,input{transition:color var(--vld-t) var(--vld-ease),opacity var(--vld-t) var(--vld-ease),filter var(--vld-t) var(--vld-ease),transform var(--vld-t) var(--vld-ease),border-color var(--vld-t) var(--vld-ease),background-color var(--vld-t) var(--vld-ease),box-shadow var(--vld-t) var(--vld-ease)}
main a:has(> img),main a:has(> div[role="img"]),.types a,.mosaic a{will-change:transform}
main a:has(> img):hover,main a:has(> div[role="img"]):hover,.types a:hover,.mosaic a:hover{transform:translateY(-2px);filter:brightness(1.06)}

/* page-to-page: a cross-document fade where the browser supports it, the JS fallback elsewhere */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vld-out .26s var(--vld-ease) both}
::view-transition-new(root){animation:vld-in .4s var(--vld-ease) both}
@keyframes vld-out{to{opacity:0}}
@keyframes vld-in{from{opacity:0}}
html.vld-leaving main,html.vld-leaving header{opacity:0;transition:opacity .22s var(--vld-ease)}
html.vld-enter main{animation:vld-in .45s var(--vld-ease) both}

@media (prefers-reduced-motion:reduce){
  .vld-reveal{opacity:1;transform:none;transition:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  html.vld-enter main{animation:none}
}

/* the row twinkles: a soft specular glint crosses each still on its own beat (screen-blended, never a hard shape) */
.vld-glint{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0;
  background:linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.95) 50%,rgba(210,230,255,0) 62%);background-size:220% 100%;background-position:120% 0;
  animation:vld-glint 9s var(--vld-ease) infinite}
@keyframes vld-glint{0%,74%{opacity:0;background-position:120% 0}80%{opacity:.9}90%,100%{opacity:0;background-position:-20% 0}}
/* facet flash: a hot copy of the still breathes over itself, so individual facets flare and fade */
.vld-flash{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0;filter:brightness(1.9) contrast(1.7) saturate(0);
  animation:vld-flash 7s ease-in-out infinite}
@keyframes vld-flash{0%,100%{opacity:0}18%{opacity:.55}30%{opacity:.1}44%{opacity:.7}58%{opacity:0}}
#cuts [role="img"]{transition:filter var(--vld-t) var(--vld-ease),transform var(--vld-t) var(--vld-ease)}
#cuts [onclick]:hover [role="img"],#cuts [role="button"]:hover [role="img"]{filter:brightness(1.7) contrast(1.2) saturate(.85) !important;transform:scale(1.06)}
/* the world continues across pages: the clicked stone glides to its place on the next page, header and ground stay */
header{view-transition-name:site-header}
#plate,.vld-ground{view-transition-name:ground}
::view-transition-group(*){animation-duration:.6s;animation-timing-function:var(--vld-ease)}
::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}
::view-transition-old(ground){animation:vld-out .6s var(--vld-ease) both}
::view-transition-new(ground){animation:vld-in .6s var(--vld-ease) both}
@media (prefers-reduced-motion:reduce){.vld-glint,.vld-flash,.vld-ground img.is-in,.vld-ground::before{animation:none}::view-transition-group(*){animation:none}main [role="img"].is-glint.is-tracking::after{transition:none;background-position:120% 0}.vld-turn-frame{transition:none}}

/* card glint: the same sweep as the strip, masked to the piece so the stone flashes, not the tile */
main [role="img"].is-glint{position:relative}
main [role="img"].is-glint::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.9) 50%,rgba(210,230,255,0) 62%);background-size:220% 100%;background-position:120% 0;
  -webkit-mask-image:var(--vld-img);mask-image:var(--vld-img);-webkit-mask-size:var(--vld-ms,cover);mask-size:var(--vld-ms,cover);-webkit-mask-position:var(--vld-mp,center);mask-position:var(--vld-mp,center);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  animation:vld-card-glint 1.6s var(--vld-ease) 1 both}
@keyframes vld-card-glint{0%{opacity:0;background-position:120% 0}25%{opacity:.85}100%{opacity:0;background-position:-20% 0}}
@media (prefers-reduced-motion:reduce){main [role="img"].is-glint::after{animation:none}}

/* email capture (newsletter.js): one card on the site's black, hairline border, same type roles as the pages */
.vld-news{position:fixed;inset:0;z-index:70;display:none}
.vld-news.is-open{display:block}
.vld-news-scrim{position:absolute;inset:0;background:rgba(1,2,4,.72);opacity:0;transition:opacity .35s var(--vld-ease)}
.vld-news.is-open .vld-news-scrim{opacity:1}
.vld-news-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);width:min(520px,calc(100vw - 32px));padding:40px 40px 32px;background:#0C1218;border:1px solid #23384D;color:#F2F5F8;opacity:0;transition:opacity .4s var(--vld-ease),transform .5s var(--vld-ease)}
.vld-news.is-open .vld-news-card{opacity:1;transform:translate(-50%,-50%)}
.vld-news-card .t-label{margin-bottom:12px;display:block}
.vld-news-card h2{margin:0 0 12px}
.vld-news-card .t-body{margin:0 0 24px;color:#9AAEC2;max-width:30em}
.vld-news-card label.t-label{margin-bottom:8px}
.vld-news-row{display:flex;gap:10px;flex-wrap:wrap}
.vld-news-row input{flex:1 1 200px;min-width:0;padding:14px 16px;background:#010204;border:1px solid #23384D;color:#F2F5F8;border-radius:0;outline:none}
.vld-news-row input:focus{border-color:#7FB4E6}
.vld-news-row input::placeholder{color:#6E93B6}
.vld-news-note{margin:14px 0 0;color:#9AAEC2}
.vld-news-err{margin:12px 0 0}
.vld-news-done .t-body{margin-bottom:16px;color:#F2F5F8}
.vld-news-code{display:inline-block;padding:12px 18px;border:1px dashed #6E93B6;letter-spacing:.14em;font-size:18px;user-select:all}
.vld-news-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.vld-news-x{position:absolute;right:16px;top:14px}
html.vld-news-lock{overflow:hidden}
@media (max-width:600px){.vld-news-card{left:0;right:0;top:auto;bottom:0;width:auto;transform:translateY(20px);padding:32px 24px 28px;border-left:0;border-right:0;border-bottom:0}.vld-news.is-open .vld-news-card{transform:none}}
@media (prefers-reduced-motion:reduce){.vld-news-card,.vld-news-scrim{transition:none}}
.vld-news [hidden]{display:none !important}
.vld-news-x.t-btn{border:0;background:transparent;padding:8px 10px;color:#9AAEC2;min-height:0}
.vld-news-x.t-btn:hover{color:#F2F5F8;background:transparent}

/* hover: cursor glint + hero scrub */
main [role="img"].is-glint.is-tracking::after{animation:none;background-position:calc(var(--vld-gx,50%) - 20%) 0}
/* the turn: a piece photographed from more than one side shows its other studio views while the pointer rests on it (verified sets only) */
main [role="img"][data-angles]{position:relative;overflow:visible}
.vld-angle{position:absolute;inset:0;pointer-events:none;background:transparent center/contain no-repeat;opacity:0;transform:scale(1.03);transition:opacity .55s var(--vld-ease),transform 1.1s var(--vld-ease)}
.vld-angle.is-on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.vld-angle{transition:none;transform:none}}
.vld-turn{position:relative}
.vld-turn-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .09s linear}
.vld-turn-frame.is-a{opacity:1;z-index:1}
.vld-turn-frame.is-b{opacity:0;z-index:2}
.vld-turn.is-settling .vld-turn-frame{transition:opacity var(--vld-t) var(--vld-ease)}
/* the homepage has no visible heading (the splash is the opening); its H1 is for screen readers and search, and takes no space */
.vld-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* cookie + storage consent. A bar, not a blocking modal: the site sets no trackers, so holding the
   page hostage would be theatre. Accept and refuse carry the SAME weight on purpose - a filled
   accept beside an outlined refuse is the nudge regulators read as no consent at all. */
.vld-consent{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:16px;pointer-events:none}
.vld-consent-card{pointer-events:auto;max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px;background:#0C1218;border:1px solid #23384D;box-shadow:0 18px 48px rgba(0,0,0,.55)}
.vld-consent-main{flex:1 1 420px;min-width:0}
.vld-consent-main .t-label{display:block;margin:0 0 8px}
.vld-consent-main p{margin:0;max-width:62ch;color:#C8D6E4}
.vld-consent-main a{color:#7FB4E6}
.vld-consent-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.vld-consent-acts .t-btn{min-width:150px;padding:14px 22px}
.vld-consent-rows{margin:18px 0 0;display:grid;gap:2px}
.vld-consent-row{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid #23384D;cursor:pointer}
.vld-consent-row input{margin:2px 0 0;width:18px;height:18px;flex:0 0 auto;accent-color:#7FB4E6;cursor:pointer}
.vld-consent-row input:disabled{cursor:default;opacity:.55}
.vld-consent-row .t-label{display:block;margin:0 0 4px}
.vld-consent-row .t-small{display:block;color:#9FB3C8;max-width:70ch}
@media (max-width:860px){
  .vld-consent{padding:0}
  .vld-consent-card{flex-direction:column;gap:18px;padding:22px 24px;border-left:0;border-right:0;border-bottom:0}
  .vld-consent-main{flex:0 0 auto}
  .vld-consent-acts{width:100%}
  .vld-consent-acts .t-btn{flex:1 1 auto;min-width:0}
}
/* first screen of the banner, at every width: one short line and the three buttons, all the same height and weight, so the
   page shows above it. The heading stays for screen readers (it names the dialog). The wording on the full banner is unchanged. */
.vld-c-short{display:none}
.vld-consent.is-compact .vld-consent-card{align-items:center;gap:12px 20px;padding:12px 20px}
.vld-consent.is-compact .vld-consent-main .t-label{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.vld-consent.is-compact .vld-c-full{display:none}
.vld-consent.is-compact .vld-c-short{display:inline}
.vld-consent.is-compact .vld-consent-main p{font-size:15px;line-height:1.4}
.vld-consent.is-compact .vld-consent-acts .t-btn{min-height:44px;min-width:132px;padding:0 16px;font-size:15px}
@media (max-width:860px){
  .vld-consent.is-compact .vld-consent-card{gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .vld-consent.is-compact .vld-consent-acts{flex-wrap:nowrap;gap:8px}
  .vld-consent.is-compact .vld-consent-acts .t-btn{flex:1 1 0;min-width:0;padding:0 4px;line-height:1.1;white-space:normal}
}
@media (prefers-reduced-motion:reduce){.vld-consent-card{box-shadow:none}}

/* mega menu (theme.js megaMenu) */
.mm{position:relative;display:inline-flex}
.mm-panel{position:fixed;left:0;right:0;top:72px;z-index:20;padding:0 40px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s;pointer-events:none}
.mm.is-open .mm-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease;pointer-events:auto}
.mm-in{max-width:1240px;margin:0 auto;display:flex;gap:56px;padding:32px 36px 36px;background:#070B0F;border:1px solid #23384D;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.mm-col{min-width:160px}
.mm-col ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mm-col ul.mm-two{grid-template-columns:repeat(2,minmax(120px,1fr));column-gap:28px}
.mm-col a{display:inline-block;padding:5px 0;color:#C8D6E4;font-size:15px}
.mm-col a:hover,.mm-col a:focus-visible{color:#F2F5F8}
.mm>a[aria-expanded="true"]{color:#F2F5F8}
@media (max-width:1024px){.mm-panel{display:none}}
@media (prefers-reduced-motion:reduce){.mm-panel{transition:none}}

/* mega menu (theme.js megaMenu): sentence-case column heads, a chevron on every label that opens a panel, one foot line */
.mm-in{flex-direction:column;gap:22px}
.mm-cols{display:flex;gap:56px}
.mm-h{font-family:var(--t-body);font-size:var(--t-15);font-weight:500;letter-spacing:0;text-transform:none;color:#9AAEC2;margin:0 0 12px}
.mm-foot{margin:0;padding-top:16px;border-top:1px solid #23384D;color:#9AAEC2}
.mm-foot a{color:#C8D6E4}
.mm>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);opacity:.75}

/* header controls: skip link, search and menu (one 22px line-icon language with the bag) */
.vld-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:#F2F5F8;color:#010204 !important;font-size:15px}
.vld-skip:focus{top:10px}
.t-search,.t-menu{flex:none;position:relative;width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--t-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.t-search:hover,.t-menu:hover{color:var(--t-ink)}
.t-search::before,.t-menu::before{content:"";display:block;width:22px;height:22px;background:currentColor}
.t-search::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.1' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.1' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5'/%3E%3C/svg%3E") center/contain no-repeat}
.t-menu::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center/contain no-repeat}
.t-menu{display:none}

/* search panel under the bar */
.vld-search{position:fixed;left:0;right:0;top:76px;z-index:30;padding:0 40px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease,visibility 0s .22s}
.vld-search.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .22s ease,transform .22s ease}
.vld-search-in{max-width:720px;margin:0 0 0 auto;padding:22px 24px;background:#070B0F;border:1px solid #23384D;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.vld-q-label{display:block;margin:0 0 8px;color:#9AAEC2;font-size:15px}
.vld-q-in{width:100%;min-height:48px;padding:0 14px;background:#010204;border:1px solid #23384D;border-radius:0;color:#F2F5F8;font:inherit;font-size:17px}
.vld-q-in:focus{outline:none;border-color:#7FB4E6}
.vld-q-list{list-style:none;margin:10px 0 0;padding:0;display:grid}
.vld-q-list li[role="option"] a{display:flex;align-items:center;gap:14px;min-height:56px;padding:6px 8px;color:#F2F5F8}
.vld-q-list li[role="option"][aria-selected="true"] a,.vld-q-list li[role="option"] a:hover{background:#121A22}
.vld-q-img{flex:none;width:48px;height:48px;background:#0C1218 center/contain no-repeat;border:1px solid #23384D}
.vld-q-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.vld-q-nm{font-size:16px;line-height:1.3}
.vld-q-cut{display:block;color:#9AAEC2;font-size:15px}
.vld-q-pr{color:#C8D6E4;font-size:15px}
.vld-q-none{padding:12px 8px;color:#9AAEC2;font-size:15px}
.vld-q-all{display:inline-block;margin-top:10px;font-size:15px}

/* menu sheet (phones and narrow windows) */
.vld-sheet{position:fixed;inset:0;z-index:85;visibility:hidden;pointer-events:none}
.vld-sheet.is-open{visibility:visible;pointer-events:auto}
.vld-sheet-back{position:absolute;inset:0;background:rgba(1,2,4,.6);opacity:0;transition:opacity .3s var(--vld-ease,ease)}
.vld-sheet.is-open .vld-sheet-back{opacity:1}
.vld-sheet-in{position:absolute;top:0;right:0;bottom:0;width:min(100%,420px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 32px;background:#070B0F;border-left:1px solid #23384D;transform:translateX(100%);transition:transform .3s var(--vld-ease,ease)}
.vld-sheet.is-open .vld-sheet-in{transform:none}
.vld-sheet-top{display:flex;justify-content:space-between;align-items:center;min-height:52px;margin-bottom:8px}
.vld-sheet-x{min-height:44px;padding:0 14px;border:1px solid #23384D;background:transparent;color:#F2F5F8;font:inherit;font-size:15px;cursor:pointer}
.vld-sheet-q{padding:8px 0 18px;border-bottom:1px solid #23384D}
.vld-acc{border-bottom:1px solid #23384D}
.vld-acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:56px;cursor:pointer;font-family:var(--t-display);font-weight:600;font-size:24px;color:#F2F5F8}
.vld-acc summary::-webkit-details-marker{display:none}
.vld-acc summary::after{content:"";width:8px;height:8px;margin-right:6px;border-right:1px solid #9AAEC2;border-bottom:1px solid #9AAEC2;transform:rotate(45deg);transition:transform .2s}
.vld-acc[open] summary::after{transform:rotate(-135deg)}
.vld-sheet-h{margin:8px 0 2px;color:#9AAEC2;font-size:15px}
.vld-sheet ul{list-style:none;margin:0 0 8px;padding:0}
.vld-sheet ul.is-two{display:grid;grid-template-columns:1fr 1fr}
.vld-sheet li a{display:flex;align-items:center;min-height:48px;color:#F2F5F8;font-size:17px}
.vld-sheet-rows{margin-top:6px !important}
.vld-sheet-rows li{border-bottom:1px solid #121A22}
.vld-sheet-foot{margin:22px 0 0;color:#9AAEC2}
.vld-sheet-foot a{display:inline-flex;align-items:center;min-height:44px;color:#C8D6E4}
html.vld-menu-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.vld-sheet-in,.vld-sheet-back,.vld-search{transition:none}}

/* phones: the First look tab waits until the hero has scrolled away (theme.js pastHero) */
@media (max-width:860px){
  html .vld-first{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
  html.vld-past-hero .vld-first{opacity:1;visibility:visible;transition:opacity .3s}
}
html .vld-first [data-open]{font:400 13px/1.4 var(--t-label);letter-spacing:var(--t-label-track)}

/* mega menu: each panel hangs directly under the label that opened it (theme.js place() keeps it inside the window) */
.mm-panel{position:absolute;left:50%;right:auto;top:100%;padding:16px 0 0;width:max-content;max-width:calc(100vw - 32px);transform:translate(calc(-50% + var(--mm-dx,0px)),-6px)}
.mm.is-open .mm-panel{transform:translate(calc(-50% + var(--mm-dx,0px)),0)}
.mm-in{max-width:none;margin:0;padding:26px 30px 28px}
