.site-shell .site-header[data-chrome] { inset: 20px auto auto 50%; transform: translateX(-50%); width: min(360px,calc(100% - 32px)); height: auto; color: var(--ink); background: color-mix(in srgb,var(--card) 96%,transparent); border: 1px solid var(--line); border-radius: 28px; backdrop-filter: blur(20px); box-shadow: var(--shadow-soft); }
.site-shell .header-inner { width: 100%; height: auto; min-height: 58px; padding: 6px 10px 6px 20px; display: grid; grid-template-columns: 1fr auto; gap: 0; }
.site-shell .brand { font-size: 18px; gap: 8px; }
.site-shell .brand img { width: 25px; height: 25px; filter: brightness(.62) saturate(2.4); }
.site-shell .menu-toggle { display: inline-flex; border: 0; border-radius: 22px; background: var(--ground); padding-inline: 16px; color: var(--ink); font-size: 13px; gap: 13px; }
.menu-symbol { width: 14px; display: grid; gap: 4px; }
.menu-symbol i { width: 14px; height: 1px; background: currentColor; transition: transform .35s cubic-bezier(.22,1,.36,1); }
.menu-toggle[aria-expanded=true] .menu-symbol i:first-child { transform: translateY(2.5px) rotate(45deg); }
.menu-toggle[aria-expanded=true] .menu-symbol i:last-child { transform: translateY(-2.5px) rotate(-45deg); }
.site-shell #main-nav { position: static; grid-column: 1/-1; display: flex; flex-direction: column; align-items: stretch; gap: 4px; max-height: 0; overflow: hidden; visibility: hidden; opacity: 0; padding: 0 10px; margin: 0; border: 0; background: transparent; color: var(--ink); transition: max-height .5s cubic-bezier(.22,1,.36,1), padding .5s cubic-bezier(.22,1,.36,1), opacity .18s ease, visibility .5s; }
.site-shell #main-nav[data-open] { max-height: 360px; visibility: visible; opacity: 1; padding-block: 20px 12px; }
.site-shell #main-nav > a { font-size: 25px; font-weight: 400; letter-spacing: -.03em; padding: 6px 4px; transform: translateY(-8px); opacity: 0; transition: opacity .25s ease, transform .4s cubic-bezier(.22,1,.36,1); }
.site-shell #main-nav[data-open] > a { transform: none; opacity: 1; }
.site-shell #main-nav[data-open] > a:nth-child(2) { transition-delay: .045s; }
.site-shell #main-nav[data-open] > a:nth-child(3) { transition-delay: .09s; }
.site-shell .nav-actions { margin: 16px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 8px; }
.site-shell .nav-actions .btn { background: var(--ink); color: var(--card); font-size: 12px; padding-inline: 12px; flex: none; }
.site-shell #main-nav {grid-column:1/-1;}
.site-shell #main-nav[data-open] {max-height:430px;}
.site-shell .btn {border-radius:9px;}
.site-shell .nav-actions a {text-decoration:none;min-height:44px;display:flex;align-items:center;gap:20px;font-size:15px;}
.site-shell .site-footer .cookie-settings {background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;}
.cookie-panel {position:fixed;z-index:100;bottom:22px;left:22px;width:min(390px,calc(100% - 44px));padding:26px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);}
.cookie-panel[hidden] {display:none;}
.cookie-panel h2 {font-size:21px;line-height:1.3;margin-bottom:12px;}
.cookie-panel p {font-size:15px;color:var(--muted);line-height:1.55;}
.cookie-panel label {display:flex;align-items:center;gap:9px;font-size:14px;margin-top:16px;}
.cookie-actions {display:flex;gap:8px;margin-block:20px 14px;}
.cookie-actions button {border:1px solid var(--line);border-radius:7px;padding:11px 14px;background:var(--card);color:var(--ink);font-size:13px;cursor:pointer;}
.cookie-actions button:first-child {background:var(--ink);color:var(--card);}
.cookie-panel > a {font-size:12px;color:var(--muted);}
.product-film-section {position:relative;padding-block:40px 0;height:400vh;}
.film-pin {position:sticky;top:110px;width:min(100%,calc((100svh - 190px)*1440/650));margin-inline:auto;padding-bottom:36px;}
.film-heading {margin-bottom:38px;}
.film-heading h2,.campus-heading h2 {font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1.14;letter-spacing:-.04em;margin-top:16px;}
.film-heading h2 span {color:var(--muted);}
.film-stage {position:relative;padding:9px;background:var(--ink);border-radius:14px;box-shadow:0 30px 70px -35px color-mix(in srgb,var(--ink) 40%,transparent);}
.product-film {display:block;width:100%;aspect-ratio:1440/650;object-fit:contain;background:var(--ink);border-radius:7px;pointer-events:none;user-select:none;}
.film-progress {position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);pointer-events:none;overflow:visible;}
.film-progress rect {fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;}
.film-caption {display:flex;justify-content:space-between;gap:20px;margin-top:22px;font-size:13px;color:var(--muted);}
.campus-section {background:linear-gradient(135deg,var(--dark),var(--ink-2));color:var(--on-dark);padding-block:90px 55px;overflow:hidden;}
.campus-heading {max-width:590px;}
.campus-heading h2 span {color:var(--accent-soft);}
.campus-heading > p:last-child {max-width:420px;font-size:18px;color:var(--on-dark-muted);margin-top:22px;}
.campus-visual {position:relative;margin-top:30px;}
.campus-visual img {width:100%;height:auto;display:block;}
.campus-visual > svg {position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--accent-soft);stroke-width:3;stroke-dasharray:14 320;animation:campus-flow 7s linear infinite;}
.campus-disclosure {font-size:12px;color:var(--on-dark-muted);text-align:right;}
@keyframes campus-flow {to {stroke-dashoffset:-334;}}
.home-story {background:linear-gradient(180deg,var(--card),var(--ground) 1350px,var(--card) 2200px);}
.home-story .opening {position:relative;}
.home-story .opening::after {content:'';position:absolute;bottom:-10px;right:25%;height:85px;width:1px;background:linear-gradient(var(--accent-soft),transparent);}
.home-story .opening-actions {align-items:center;gap:24px;}
.home-story .network-illustration figcaption {display:none;}
.network-node {cursor:default;}
.calendar-placeholder {min-height:380px!important;}
.booking-frame {display:block;border:0;background:var(--card);}
#booking,#product {scroll-margin-top:110px;}
.reduce-site-motion *, .reduce-site-motion *::before,.reduce-site-motion *::after {animation:none!important;transition:none!important;}
@media(prefers-reduced-motion:reduce) {.campus-visual > svg {animation:none;}.film-progress rect {transition:none;}}
@media(max-width:600px) {
 .site-shell .header-inner {padding-left:14px;gap:7px;}.site-shell .brand {font-size:16px;}.site-shell .menu-toggle {font-size:12px;padding-inline:10px;}
 .product-film-section {padding-block:20px 0;height:320vh;}.film-caption {flex-direction:column;gap:5px;}.film-heading {margin-bottom:25px;}
 .campus-section {padding-block:65px 35px;}.campus-visual {width:170%;margin-left:-35%;}.cookie-panel {padding:20px;}
}

.calendar-load-status {padding:28px!important;color:var(--ink)!important;background:var(--card)!important;font-size:16px!important;min-height:120px;display:grid;place-content:center;gap:12px;}
.calendar-load-status a {color:var(--accent-deep);}.booking-frame[hidden] {display:none;}

/* Keep the pill balanced, then dock it away from the reading column. */
.site-shell .site-header[data-chrome] {transition:transform .95s cubic-bezier(.22,1,.36,1),box-shadow .3s;will-change:transform;}
.reading-page::before {content:'';position:fixed;inset:0 0 auto;height:98px;background:var(--ground);border-bottom:1px solid var(--line);z-index:39;opacity:0;pointer-events:none;transition:opacity .25s;}
.reading-scrolled::before {opacity:1;}
.reading-scrolled .page-index {top:98px;}
@media(min-width:1000px) {.reading-scrolled .site-header[data-chrome] {transform:translateX(calc(50vw - 100% - 24px));}}
.reduce-site-motion .product-film-section {height:auto;padding-bottom:70px;}
.reduce-site-motion .film-pin {position:relative;top:auto;}
@media(prefers-reduced-motion:reduce) {.product-film-section {height:auto;padding-bottom:70px;}.film-pin {position:relative;top:auto;}.site-shell .site-header[data-chrome],.reading-page::before {transition:none;}}

.reading-page .doc h2[id] {scroll-margin-top:125px;}

/* Glass stays translucent over the page, with a readable fallback. */
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .reading-page::before {
  background:linear-gradient(180deg,color-mix(in srgb,var(--card) 48%,transparent),color-mix(in srgb,var(--ground) 20%,transparent));
  -webkit-backdrop-filter:blur(20px) saturate(155%);
  backdrop-filter:blur(20px) saturate(155%);
  border-bottom-color:color-mix(in srgb,var(--card) 60%,transparent);
  box-shadow:0 1px 0 color-mix(in srgb,var(--line) 35%,transparent);
 }
 .site-shell .site-header[data-chrome] {
  background:linear-gradient(135deg,color-mix(in srgb,var(--card) 78%,transparent),color-mix(in srgb,var(--card) 48%,transparent) 48%,color-mix(in srgb,var(--ground) 64%,transparent));
  -webkit-backdrop-filter:blur(26px) saturate(180%);
  backdrop-filter:blur(26px) saturate(180%);
  border-color:color-mix(in srgb,var(--card) 85%,transparent);
  box-shadow:inset 0 1px 1px var(--card),inset 0 -1px 1px color-mix(in srgb,var(--card) 55%,transparent),0 8px 30px color-mix(in srgb,var(--ink) 9%,transparent),0 0 0 1px color-mix(in srgb,var(--line) 45%,transparent);
 }
 .site-shell .menu-toggle {background:color-mix(in srgb,var(--card) 35%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--card) 70%,transparent);}
 .site-shell .site-header:has(#main-nav[data-open]) {background:color-mix(in srgb,var(--card) 88%,transparent);}
}
@media(prefers-reduced-transparency:reduce) {
 .reading-page::before {background:var(--ground);backdrop-filter:none;-webkit-backdrop-filter:none;}
 .site-shell .site-header[data-chrome] {background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none;}
}

/* The navigation compresses into its own mark, rather than leaving a top bar. */
.reading-page::before {display:none;}
.site-shell .site-header[data-chrome] {transition:width .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),box-shadow .3s;}
.site-shell .site-header.header-docked {transform:translateX(calc(50vw - 100% - 20px));}
.site-shell .site-header.header-compact {width:60px;border-radius:30px;}
.site-shell .header-inner {transition:opacity .2s,visibility .2s;}
.site-shell .header-compact .header-inner {opacity:0;visibility:hidden;pointer-events:none;}
.site-shell .header-compact .header-inner {width:360px;}
.logo-dock {position:absolute;inset:0;width:60px;height:58px;border:0;border-radius:50%;padding:16px;background:transparent;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .25s .15s,visibility .25s;}
.logo-dock img {display:block;width:28px;height:28px;filter:brightness(.62) saturate(2.4);transition:transform .25s;}
.header-compact .logo-dock {opacity:1;visibility:visible;}
.logo-dock:hover img {transform:rotate(-12deg) scale(1.08);}
.logo-dock:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
@media(max-width:600px) {.site-shell .site-header.header-docked {transform:translateX(calc(50vw - 100% - 16px));}}
@media(prefers-reduced-motion:reduce) {.site-shell .site-header[data-chrome],.site-shell .header-inner,.logo-dock,.logo-dock img {transition:none;}}

.home-story .site-header.header-docked {transform:translateX(calc(-50vw + 20px));}
.site-shell .site-header[data-chrome] {transition:width .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),top .85s cubic-bezier(.22,1,.36,1),box-shadow .3s;}
.home-story .site-header.header-footer {top:20px;}

@media(max-width:600px) {.home-story .site-header.header-docked {transform:translateX(calc(-50vw + 16px));}}
@media(prefers-reduced-motion:reduce) {.site-shell .site-header[data-chrome] {transition:none;}}

/* Dock topics at the viewport edge instead of floating over the article. */
.security-doc .page-index {top:0;}
.security-sections > section {scroll-margin-top:0;}

.menu-toggle[aria-expanded=true] .menu-symbol i:first-child {transform:translateY(5px) rotate(45deg);}
.menu-toggle[aria-expanded=true] .menu-symbol i:nth-child(2) {opacity:0;}
.menu-toggle[aria-expanded=true] .menu-symbol i:last-child {transform:translateY(-5px) rotate(-45deg);}
