/* One original logo is enlarged in place; this is only its white backdrop. */
.js .brand-entry{background:#fff;perspective:none;transition:opacity .3s linear;animation:entry-safety 0s 10s forwards}
.js.entry-controlled .brand-entry{animation:none}
.brand-entry.is-leaving{opacity:0;pointer-events:none}
.brand-entry.is-finished{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.js .brand-entry{transition:none}}

html{scrollbar-gutter:stable}

/* The navigation stays at the viewport top; its logo has a real header destination. */
.site-header{position:fixed;top:0;right:0;bottom:auto;left:0;transform:none}
.site-header .brand-dock{visibility:hidden;opacity:0;pointer-events:none}
.site-header .brand-dock.is-docked{visibility:visible;opacity:1;pointer-events:auto}

/* Floating controls only: no persistent white strip over the page or photographs. */
.site-header{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
.site-header>.brand,.site-header>.menu-toggle,.site-header>nav{pointer-events:auto}
.site-header .brand-dock{position:relative}
.site-header .brand-dock>.brand-stage{max-width:none;aspect-ratio:auto}

.brand-finish-glint{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;opacity:var(--scan-opacity,1)}

/* The entire logo, its name and surrounding copy enter on one shared timeline. */
.js.entry-controlled .brand-entry{background:transparent;transition:none}
.js.intro-loading .intro-topline,.js.intro-loading .intro-bottom,.js.intro-loading .intro-continue{
 opacity:var(--entry-copy-opacity,0);
 transform:translateY(var(--entry-copy-y,10px)) scale(var(--entry-copy-scale,.94));
 transform-origin:center;
}
.js.intro-loading .site-header{
 opacity:var(--entry-copy-opacity,0);
 transform:translateY(var(--entry-copy-y,10px)) scale(var(--entry-copy-scale,.94));
 transform-origin:50% 0;
}

/* Keep the scroll link horizontally anchored throughout the entrance. */
.js.intro-loading .intro-continue{
 transform:translate(-50%,var(--entry-copy-y,10px)) scale(var(--entry-copy-scale,.94));
}

/* Two seamless service lines share the existing entrance of the intro copy. */
.intro-ticker{position:relative;flex:none;left:50%;width:100vw;margin-left:-50vw;padding:0 0 20px;overflow:hidden;color:#136c5b}
.intro-ticker-row{width:100%;overflow:hidden;line-height:1.2}
.intro-ticker-track{display:flex;width:max-content;will-change:transform}
.intro-ticker-group{flex:none;min-width:100vw;white-space:nowrap;padding-inline-end:24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.2vw,32px);font-weight:400;letter-spacing:-.025em}
.ticker-promise{margin-top:3px;color:#07394c}.ticker-promise .intro-ticker-track{animation:none}.ticker-promise .intro-ticker-group{font-family:Arial,Helvetica,sans-serif;font-size:clamp(17px,1.9vw,28px);font-weight:600;letter-spacing:-.035em}
.intro-ticker-toggle{position:absolute;right:20px;bottom:0;border:0;background:transparent;color:#57717a;padding:0 7px;min-width:32px;height:20px;font-size:12px;cursor:pointer}.intro-ticker-toggle:focus-visible{outline:2px solid #136c5b;outline-offset:2px}

/* Begin a slow turn only after the original logo lands in the header. */
.brand-stage.is-logo-docked>.brand-logo-turner{
 animation:klara-docked-turn 20s linear infinite;
 transform-origin:50% 50%;
 transform-style:preserve-3d;
 will-change:transform;
}
@keyframes klara-docked-turn{
 0%{transform:perspective(600px) rotateX(0deg) rotateY(0deg)}
 25%{transform:perspective(600px) rotateX(7deg) rotateY(90deg)}
 50%{transform:perspective(600px) rotateX(0deg) rotateY(180deg)}
 75%{transform:perspective(600px) rotateX(-7deg) rotateY(270deg)}
 100%{transform:perspective(600px) rotateX(0deg) rotateY(360deg)}
}

/* Both sides show a readable wordmark; hide each face when it points away. */
.brand-reverse-face{display:none}
.brand-stage.is-logo-docked>.brand-logo-turner{isolation:auto}
.brand-stage.is-logo-docked .brand-still,
.brand-stage.is-logo-docked .brand-reverse-face{
 backface-visibility:hidden;
 -webkit-backface-visibility:hidden;
}
.brand-stage.is-logo-docked .brand-still{transform:translateZ(.1px)}
.brand-stage.is-logo-docked .brand-reverse-face{
 display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
 z-index:2;pointer-events:none;transform:rotateY(180deg) translateZ(.1px);
}

/* A solid wordmark opens into the page. */
.js .brand-entry,.js.entry-controlled .brand-entry{
 z-index:10002;background:transparent;transition:opacity .36s ease;
}
.brand-entry-word{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.brand-entry-fallback{font:italic 800 clamp(48px,12vw,110px) Arial,sans-serif;color:#006b59}

.js.entry-controlled .brand-entry{opacity:1;transition:none}

/* Room for the transparent scan silhouette outside the original image. */
.brand-stage>.brand-volume{inset:-8%;width:116%;height:116%}

/* Rotate the artwork inside the fixed flight stage, preserving its dock transform. */
.brand-logo-turner{position:absolute;inset:0;z-index:2;transform-style:preserve-3d}
.brand-logo-turner>.brand-still{display:block}
@media(prefers-reduced-motion:reduce){.brand-stage.is-logo-docked>.brand-logo-turner{animation:none}}

