/* Owner-approved reference CSS, captured 2026-09-12 via Chromium.
 * Source URLs and SHA256: docs/baseline/captures/2026-09-12T19-27-55-254Z-layout/sources.json
 * Adaptations: Vue build scope attributes removed; fonts resolve to local approved assets.
 */

/* Captured 5fe7e3a90845-style.CuNCAHbz.css */
@font-face{font-family:"Neue Montreal";font-style:normal;font-weight:400;font-display:swap;src:url("https://ainknit-static.pages.dev/reference/fonts/pp-neue-montreal-regular.woff2") format("woff2")}
@font-face{font-family:"Neue Montreal";font-style:normal;font-weight:600;font-display:swap;src:url("https://ainknit-static.pages.dev/reference/fonts/pp-neue-montreal-semibold.woff2") format("woff2")}
@font-face{font-family:"Editorial Old";font-style:normal;font-weight:400;font-display:swap;src:url("https://ainknit-static.pages.dev/reference/fonts/pp-editorial-old-regular.woff2") format("woff2")}
*,:after,:before{box-sizing:border-box;background-repeat:no-repeat}
:after,:before{text-decoration:inherit;vertical-align:inherit}
:where(:root){cursor:default;line-height:1.5;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}
:where(body){margin:0}
:where(h1){font-size:2em;margin:.67em 0}
:where(dl,ol,ul) :where(dl,ol,ul){margin:0}
:where(hr){color:inherit;height:0}
:where(nav) :where(ol,ul){list-style-type:none;padding:0}
:where(nav li):before{content:"​";float:left}
:where(pre){font-family:monospace,monospace;font-size:1em;overflow:auto}
:where(abbr[title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
:where(b,strong){font-weight:bolder}
:where(code,kbd,samp){font-family:monospace,monospace;font-size:1em}
:where(small){font-size:80%}
:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}
:where(iframe){border-style:none}
:where(svg:not([fill])){fill:currentColor}
:where(table){border-collapse:collapse;border-color:currentColor;text-indent:0}
:where(button,input,select){margin:0}
:where(button,[type=button i],[type=reset i],[type=submit i]){-webkit-appearance:button}
:where(fieldset){border:1px solid #a0a0a0}
:where(progress){vertical-align:baseline}
:where(textarea){margin:0;resize:vertical}
:where([type=search i]){-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
::-webkit-input-placeholder{color:inherit;opacity:.54}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}
:where(dialog:not([open])){display:none}
:where(details>summary:first-of-type){display:list-item}
:where([aria-busy=true i]){cursor:progress}
:where([aria-disabled=true i],[disabled]){cursor:not-allowed}
:where([aria-hidden=false i][hidden]){display:initial}
:where([aria-hidden=false i][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}
table{border-collapse:collapse;border-spacing:0}
:root{--app-grid-col:12;--app-grid-row:4;--app-grid-col-gap:30px;--app-grid-row-gap:30px;--app-grid-h-margin:60px;--app-grid-v-margin:60px;--app-var-vw:1440;--app-var-vh:790;--app-var-vw-min:1024;--app-var-vw-max:1920;--app-var-vw-min-unit:1024px;--app-var-vw-max-unit:1920px;--app-color-link:#000;--app-color-placeholder:rgba(0,0,0,.75);--app-color-white:#fff;--app-color-white-a0:hsla(0,0%,100%,0);--app-color-white-a10:hsla(0,0%,100%,.1);--app-color-white-a15:hsla(0,0%,100%,.15);--app-color-white-a25:hsla(0,0%,100%,.25);--app-color-white-a50:hsla(0,0%,100%,.5);--app-color-white-a75:hsla(0,0%,100%,.75);--app-color-black:#000;--app-color-black-a0:transparent;--app-color-black-a10:rgba(0,0,0,.1);--app-color-black-a15:rgba(0,0,0,.15);--app-color-black-a25:rgba(0,0,0,.25);--app-color-black-a50:rgba(0,0,0,.5);--app-color-black-a75:rgba(0,0,0,.75);--app-font-size-3xs:clamp(.6875rem,1/var(--app-var-vw) * 100 * 11vw,.6875rem);--app-font-size-2xs:clamp(.75rem,1/var(--app-var-vw) * 100 * 12vw,.75rem);--app-font-size-xs:clamp(.875rem,1/var(--app-var-vw) * 100 * 14vw,.875rem);--app-font-size-s:clamp(1rem,1/var(--app-var-vw) * 100 * 16vw,1rem);--app-font-size-m:clamp(1.25rem,1/var(--app-var-vw) * 100 * 20vw,624.9375rem);--app-font-size-l:clamp(2rem,1/var(--app-var-vw) * 100 * 32vw,624.9375rem);--app-font-size-xl:clamp(3rem,1/var(--app-var-vw) * 100 * 48vw,624.9375rem);--app-font-size-2xl:clamp(4rem,1/var(--app-var-vw) * 100 * 64vw,624.9375rem);--app-font-size-3xl:clamp(4.5rem,1/var(--app-var-vw) * 100 * 72vw,624.9375rem);--app-font-size-4xl:clamp(6rem,1/var(--app-var-vw) * 100 * 96vw,624.9375rem);--app-font-size-5xl:clamp(8rem,1/var(--app-var-vw) * 100 * 128vw,624.9375rem);--app-font-size-6xl:clamp(12.25rem,1/var(--app-var-vw) * 100 * 196vw,624.9375rem);--app-font-size-category:clamp(36px,7.4svw,9999px);--app-font-size-large:clamp(36px,18.1184vw,9999px);--app-font-size-subtitle:clamp(20px,3.32978vw,9999px);--app-font-size-details:clamp(64px,13.1184vw,9999px);--app-font-family-serif:"Editorial Old",serif;--app-font-family-sans-serif:"Neue Montreal",-apple-system,BlinkMacSystemFont,sans-serif;--app-line-height-xs:1;--app-line-height-s:1.15;--app-line-height-m:1.5;--app-line-height-l:1.8;--app-line-height-xl:2;--app-spacing-xs:.625rem;--app-spacing-s:1.25rem;--app-spacing-m:1.875rem;--app-spacing-l:2.5rem;--app-spacing-xl:3.75rem;--app-spacing-2xl:5rem;--app-spacing-3xl:6.25rem;--app-spacing-4xl:7.5rem;--app-spacing-5xl:10rem;--app-radius-s:max(0px,min(6px, calc(999900vw - 29997px - 999900%) ));--app-radius-m:max(0px,min(12px, calc(999900vw - 59994px - 999900%) ));--app-radius-l:max(0px,min(24px, calc(999900vw - 119988px - 999900%) ));--app-header-height:clamp(3.75rem,10svh,7.5rem);--app-nav-glass:rgba(12,12,12,.75);--app-nav-light:hsla(0,0%,100%,.5);--app-nav-dark:rgba(0,0,0,.5);--app-nav-content:#fff;--app-nav-reflex-dark:.75;--app-nav-reflex-light:.75;--app-nav-saturation:180%;--app-nav-height:70px;--app-nav-padding:5px;--app-nav-bottom:calc(var(--app-grid-v-margin)/2);--app-nav-radius:clamp(4px,.5vw,8px);--app-nav-button-width:36px;--app-nav-button-height:24px;--app-nav-main-width:90px;--app-nav-layer-duration:.35s;--app-nav-layer-ease:cubic-bezier(.25,.46,.45,.94);--app-slider-gap:30px;--app-slider-slide-width:65svw;--app-slider-slide-height:26svw}
@media only screen and (orientation:landscape){:root.ios,:root.ipados,:root.mac.safari{--app-font-size-large:clamp(36px,17.6184vw,9999px)}
}
html{width:100%;height:100%;overscroll-behavior-y:none}
html.windows.firefox{scrollbar-width:none}
html.windows.edge,html.windows.ie{-ms-overflow-style:none}
html.--is-loading,html.--is-menu-open{overflow:hidden}
html[data-details-fixed-idle],html[data-details-fixed-idle] *{cursor:none!important}
body{width:100%;height:100%;margin:0;padding:0;background:var(--app-color-white);color:var(--app-color-black);font-size:var(--app-font-size-s);font-family:var(--app-font-family-sans-serif);font-feature-settings:normal;font-variant-east-asian:proportional-width;line-height:var(--app-line-height-xs);letter-spacing:0;overflow-x:hidden;overflow-y:hidden;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%}
body.--is-loading{overflow:hidden}
.touch body{height:auto;overflow-y:scroll;will-change:scroll-position}
a:active,a:hover,a:link,a:visited{text-decoration:none}
a:not([class]):active,a:not([class]):hover,a:not([class]):link,a:not([class]):visited{color:var(--app-color-link)}
.windows.edge html::-webkit-scrollbar,.windows.ie html::-webkit-scrollbar{width:0;background:transparent}
.windows.edge html::-webkit-scrollbar:horizontal,.windows.ie html::-webkit-scrollbar:horizontal{height:0}
.windows.edge html::-webkit-scrollbar-button,.windows.ie html::-webkit-scrollbar-button{width:0;height:0;background:transparent}
.windows.edge html::-webkit-scrollbar-piece,.windows.ie html::-webkit-scrollbar-piece{background:transparent}
/* Unsupported legacy ::-webkit-scrollbar-piece:start rule omitted; Chromium ignores this selector. */
.windows.edge html::-webkit-scrollbar-corner,.windows.edge html::-webkit-scrollbar-thumb,.windows.ie html::-webkit-scrollbar-corner,.windows.ie html::-webkit-scrollbar-thumb{background:transparent}
::selection{color:var(--app-color-white);background:var(--app-color-black);text-shadow:-.5px -.5px 0 cyan,.5px .5px 0 #f0f}
::-moz-selection{color:var(--app-color-white);background:var(--app-color-black);text-shadow:-.5px -.5px 0 cyan,.5px .5px 0 #f0f}
:placeholder-shown{color:var(--app-color-placeholder)}
::-webkit-input-placeholder{color:var(--app-color-placeholder)}
:-moz-placeholder,::-moz-placeholder{color:var(--app-color-placeholder)}
:-ms-input-placeholder{color:var(--app-color-placeholder)}
@media(prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}
}
@media only screen and (max-width:64em){:root{--app-grid-col:8;--app-grid-row:4;--app-grid-col-gap:30px;--app-grid-row-gap:30px;--app-grid-h-margin:60px;--app-grid-v-margin:60px;--app-slider-slide-width:80svw;--app-slider-slide-height:32svw}
}
@media only screen and (max-width:52.125em){:root{--app-grid-col:4;--app-grid-row:4;--app-grid-h-margin:40px;--app-grid-v-margin:40px;--app-font-size-large:clamp(36px,17.7262vw,9999px)}
}
@media only screen and (max-width:40em){:root{--app-grid-col-gap:20px;--app-grid-row-gap:20px;--app-grid-h-margin:20px;--app-grid-v-margin:20px;--app-font-size-large:clamp(36px,17.312vw,9999px);--app-header-height:clamp(3.125rem,10svh,3.75rem);--app-slider-gap:15px;--app-slider-slide-width:100svw;--app-slider-slide-height:40svw;--app-nav-height:50px;--app-nav-button-width:28px;--app-nav-button-height:20px;--app-nav-main-width:76px;--app-nav-bottom:calc(var(--app-grid-col-gap)/2)}
:root.android,:root.ios{--app-nav-bottom:calc(var(--app-grid-col-gap)*1.25)}
}
.m-next{position:relative;width:100%}
.m-next__inner{padding:0 var(--app-grid-h-margin)}
.m-next__body{position:relative;width:100%;height:100%;padding:var(--app-spacing-l) var(--app-grid-h-margin);color:var(--app-color-white);background:var(--app-color-black);border-radius:var(--app-radius-s)}
.m-next__ttl{font-size:var(--app-font-size-m)}
.m-next__link{position:absolute;top:0;left:0;width:100%;height:100%;text-indent:-9999px}
.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}
:root{--lenis-thumb-color:#000}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis-scrollbar{position:fixed;top:0;right:0;width:20px;height:100%;cursor:pointer;z-index:999;transition:opacity .25s cubic-bezier(.104,.204,.492,1) 0s}
.lenis-scrollbar:hover .lenis-scrollbar__thumb:after{opacity:1}
.lenis-scrollbar__inner{position:absolute;top:0;right:0;width:100%;height:100%}
.lenis-scrollbar__thumb{position:absolute;display:block;width:100%;height:auto}
.lenis-scrollbar__thumb:after{content:"";position:absolute;top:5px;right:5px;width:5px;height:calc(100% - 10px);background-color:var(--lenis-thumb-color);opacity:0;transition:all .35s ease-out .35s;transform:scaleX(.5);transform-origin:100% 50% 0}
.lenis-scrollbar__thumb:hover:after,.lenis-scrolling .lenis-scrollbar__thumb:after{opacity:1;transform:scaleX(.5);transition:all .2s ease-out}
.lenis-scrollbar__thumb.is-dragging{cursor:grabbing}
.lenis-scrollbar__thumb.is-dragging:after{opacity:1;transform:scaleX(1);transition:all .2s ease-out}
.lenis-scrollbar__thumb.horizontal{inset:auto 0 0;width:100%;height:20px}
.touch .lenis-scrollbar,[data-gl-details-fixed] .lenis-scrollbar{display:none!important;pointer-events:none!important}
[data-gl-details-layout=horizontal] .lenis-scrollbar{opacity:0;pointer-events:none}
[data-split-wrapper]{position:relative}
[data-split-chars]{display:inline-block;overflow:hidden}
[data-split-space]{display:inline-block;width:.25em}
[data-cc-state]{display:inline-block;position:relative;overflow:hidden;height:1.1em}
[data-cc-state] [data-cc-state-default],[data-cc-state] [data-cc-state-done],[data-cc-state] [data-cc-state-enter]{display:block;transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s;transform:translateY(0)}
[data-cc-state=enter] [data-cc-state-default],[data-cc-state=enter] [data-cc-state-done],[data-cc-state=enter] [data-cc-state-enter]{transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s;transform:translateY(-100%)}
[data-cc-state=done] [data-cc-state-default],[data-cc-state=done] [data-cc-state-done],[data-cc-state=done] [data-cc-state-enter]{transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s;transform:translateY(-200%)}
.u-fit{position:relative;width:100%;height:100%}
.u-fit-abs{position:absolute}
.u-fit-abs,.u-fit-fixed{top:0;left:0;width:100%;height:100%}
.u-fit-fixed{position:fixed}
.u-fit-bg{background-size:cover;background-position:50% 50%}
.u-fit-obj{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%}
.u-grid{display:grid;-moz-column-gap:var(--app-grid-gap);column-gap:var(--app-grid-gap)}
.u-grid-padding{padding:0 var(--app-grid-padding)}
.u-none{display:none!important;width:0!important;height:0!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.debug-ui{position:fixed;top:8px;right:8px;padding:0;z-index:2;pointer-events:none}
:root{--tp-base-background-color:rgba(26,26,26,.8);--tp-base-shadow-color:rgba(0,0,0,.2);--tp-button-background-color:#ccc;--tp-button-background-color-active:#fff;--tp-button-background-color-focus:#f2f2f2;--tp-button-background-color-hover:#d9d9d9;--tp-button-foreground-color:rgba(0,0,0,.8);--tp-container-background-color:rgba(0,0,0,.3);--tp-container-background-color-active:rgba(0,0,0,.6);--tp-container-background-color-focus:rgba(0,0,0,.5);--tp-container-background-color-hover:rgba(0,0,0,.4);--tp-container-foreground-color:hsla(0,0%,100%,.5);--tp-groove-foreground-color:rgba(0,0,0,.2);--tp-input-background-color:rgba(0,0,0,.3);--tp-input-background-color-active:rgba(0,0,0,.6);--tp-input-background-color-focus:rgba(0,0,0,.5);--tp-input-background-color-hover:rgba(0,0,0,.4);--tp-input-foreground-color:hsla(0,0%,100%,.5);--tp-label-foreground-color:hsla(0,0%,100%,.5);--tp-monitor-background-color:rgba(0,0,0,.3);--tp-monitor-foreground-color:hsla(0,0%,100%,.3)}
.tp-rotv{width:100px;max-height:calc(100dvh - 16px);overflow-y:auto;scrollbar-width:thin;transition:width .2s ease-in-out 0s;pointer-events:auto}
.tp-rotv.tp-rotv-expanded{width:380px}
.tp-lblv_l{white-space:nowrap}
.tp-fldv_t{color:var(--color-white)}
.g-header{position:fixed;top:0;width:100%;height:var(--app-header-height);z-index:10;pointer-events:none}
.g-header__inner{padding:0 var(--app-grid-h-margin)}
.g-header__body,.g-header__inner{position:relative;width:100%;height:100%}
.g-header__body{justify-content:center}
.g-header__body,.g-header__title{display:flex;flex-wrap:nowrap;align-items:center}
.g-header__title{-moz-column-gap:.25em;column-gap:.25em;justify-content:flex-start;font-size:var(--app-font-size-s);pointer-events:auto;transition:opacity .35s cubic-bezier(.104,.204,.492,1) 0s,translate .35s cubic-bezier(.104,.204,.492,1) 0s}
.--is-scrolled[data-scroll-direction=down] .g-header__title{opacity:0;pointer-events:none;translate:0 -100%}
.--is-scrolled[data-gl-details-layout=horizontal] .g-header__title,[data-gl-details-layout=horizontal] .g-header__title{opacity:1;pointer-events:auto;translate:0 0}
.--is-scrolled[data-gl-details-fixed] .g-header__title,.about .g-header__title,[data-gl-details-fixed] .g-header__title{opacity:0;pointer-events:none;translate:0 -100%}
.g-header__title-wrap{position:relative;padding:0 1.25em;overflow:hidden}
.g-header__title-link{display:flex;font-size:var(--app-font-size-s);color:var(--app-color-primary)}
.g-header__title-link,.g-header__title-name{-moz-column-gap:.25em;column-gap:.25em;flex-wrap:nowrap;justify-content:flex-start;align-items:center;position:relative}
.g-header__title-name{display:inline-flex;padding:1px 0;translate:0;transition:translate .35s cubic-bezier(.104,.204,.492,1) 0s}
.g-header__title-underline{position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transition:scale .35s cubic-bezier(.104,.204,.492,1) 0s;transform-origin:0 50%;scale:0 1}
.g-header__title-underline.--is-active{scale:1 1}
.g-header__title-words{display:inline-block;translate:0 100%}
.g-header__title-svg{position:absolute;right:0;width:1em;height:1em;clip-path:rect(0 1em 1em 1em round 0);transition:clip-path .35s cubic-bezier(.104,.204,.492,1) 0s}
.g-header__title-info{display:inline-flex;-moz-column-gap:.25em;column-gap:.25em;flex-wrap:nowrap;justify-content:flex-start;align-items:center}
.no-touch .g-header .g-header__title-link:hover .g-header__title-name{translate:-1.25em;transition:translate .35s cubic-bezier(.306,.968,.632,1) 0s}
.no-touch .g-header .g-header__title-link:hover .g-header__title-svg{clip-path:rect(0 1em 1em 1px round 0);transition:clip-path .35s cubic-bezier(.306,.968,.632,1) 0s}
.no-touch .g-header .g-header__title-link:hover .g-header__title-underline{transition:scale .35s cubic-bezier(.306,.968,.632,1) 0s;transform-origin:100% 50%;scale:0 1}
@media only screen and (max-width:40em){.g-header .g-header__title,.g-header .g-header__title-link{font-size:var(--app-font-size-xs)}
}
.g-canvas{position:relative;width:100%;height:100%;min-height:100%;pointer-events:none}
.g-canvas canvas{position:fixed!important;top:0;left:0;z-index:-1}
.g-canvas-slider{position:relative;width:100%;min-height:100svh;max-height:100svh;z-index:0;overflow:hidden;pointer-events:none}
[data-gl-mode=horizontal] .g-canvas-slider{pointer-events:auto}
.g-canvas-slider__wrapper{position:relative;width:100%;height:100svh;touch-action:none}
.g-canvas-slider__slides{position:relative;width:100%;height:100%}
.g-canvas-slider__slide{position:absolute;top:50%;left:0;width:var(--app-slider-slide-width);height:var(--app-slider-slide-height);transform-origin:50% 50%;transform:translate3d(0,-50%,0);will-change:transform}
.g-canvas-slider__text{top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--app-font-family-serif);font-size:var(--app-font-size-category);color:#fff0;white-space:nowrap;text-align:center}
.g-canvas-large-text,.g-canvas-slider__text{position:absolute;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.g-canvas-large-text{top:var(--app-header-height);left:0;width:100%}
.g-canvas-large-text [data-split-type=chars]{display:inline;line-height:1}
.g-canvas-large-text__inner{position:relative;width:100%;padding:0 calc(var(--app-grid-h-margin)/2)}
.g-canvas-large-text__body{position:relative;width:100%;height:auto;text-align:center}
.g-canvas-large-text__home{position:relative;display:block;width:100%;text-align:center;color:currentColor;font-family:var(--app-font-family-serif);font-size:var(--app-font-size-large);text-transform:uppercase;letter-spacing:0;white-space:nowrap;opacity:0}
@media only screen and (orientation:portrait){.g-canvas-large-text__home{position:absolute;top:calc(50svh - var(--app-header-height) - var(--app-slider-slide-height)/1.15);left:0}
}
.g-canvas-large-text__about{position:absolute;top:0;left:0;display:block;width:100%;color:currentColor;text-align:center;letter-spacing:0;white-space:nowrap;opacity:0}
@media only screen and (max-width:40em){.g-canvas-large-text__about{top:var(--app-spacing-s)}
}
.g-canvas-large-text__about-line{display:block;width:100%;font-family:var(--app-font-family-serif);font-size:var(--app-font-size-large);text-transform:uppercase}
.g-canvas-large-text__about-line--1{text-align:center}
.g-canvas-large-text__about-line--2{--app-large-text-about-w-kern:0em;text-align:center;margin-top:-.1em}
.g-canvas-large-text__about-line--2 [data-split-chars=W],.g-canvas-large-text__about-line--2 [data-split-chars=w]{margin-left:var(--app-large-text-about-w-kern);margin-right:var(--app-large-text-about-w-kern)}
.ios .g-canvas-large-text__about-line--2,.ipados .g-canvas-large-text__about-line--2,.mac.safari .g-canvas-large-text__about-line--2{--app-large-text-about-w-kern:-.2em}
.g-canvas-large-text__about-subtitle{display:inline-block;position:relative;margin-top:.25em;text-align:center;font-family:var(--app-font-family-sans-serif);font-size:var(--app-font-size-subtitle);letter-spacing:0;text-transform:uppercase}
.g-canvas-details-text{position:absolute;top:calc(var(--app-header-height) + var(--app-spacing-3xl));left:0;width:100%;pointer-events:none}
.g-canvas-details-text [data-split-type=chars]{display:inline;line-height:1}
.g-canvas-details-text__inner{position:relative;width:100%}
.g-canvas-details-text__body{position:relative;width:100%;height:auto;text-align:center}
.g-canvas-details-text__base{position:absolute;top:0;left:0;display:block;width:100%;color:currentColor;font-family:var(--app-font-family-serif);font-size:var(--app-font-size-details);letter-spacing:0;white-space:nowrap;opacity:0}
.g-float-nav{display:flex;-moz-column-gap:var(--app-nav-padding);column-gap:var(--app-nav-padding);flex-wrap:nowrap;justify-content:center;align-items:center;position:fixed;right:0;left:0;bottom:var(--app-nav-bottom);width:-moz-fit-content;width:fit-content;margin:0 auto;font-size:var(--app-font-size-s);font-optical-sizing:auto;color:var(--app-nav-content);z-index:99;opacity:0}
.g-float-nav.--is-root-clickable{cursor:pointer}
.g-float-nav__button-large,.g-float-nav__container,.g-float-nav__menu{position:relative;background-color:color-mix(in srgb,var(--app-nav-glass) 40%,transparent);border-radius:var(--app-nav-radius);overflow:hidden;backdrop-filter:blur(4px) url(#glass-distortion) saturate(var(--app-nav-saturation));-webkit-backdrop-filter:blur(4px) saturate(var(--app-nav-saturation));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*10%),transparent),inset 1.8px 3px 0 -2px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*90%),transparent),inset -2px -2px 0 -2px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*80%),transparent),inset -3px -8px 1px -6px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*60%),transparent),inset -.3px -1px 4px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*12%),transparent),inset -1.5px 2.5px 0 -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 0 3px 4px -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 2px -6.5px 1px -4px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 1px 5px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 6px 16px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*8%),transparent),0 6px 12px #0000001f}
.g-float-nav__button-large{border-radius:calc(var(--app-nav-height)/2);transition:border-radius .35s cubic-bezier(.104,.204,.492,1)}
.--is-about-end-hover .g-float-nav__button-large,.--is-details-vertical-end-hover .g-float-nav__button-large,.--is-menu-open .g-float-nav__button-large,.no-touch .g-float-nav__button-large:hover{border-radius:var(--app-nav-radius)}
.g-float-nav.--state-about-end .g-float-nav__mode,.g-float-nav.--state-details-vertical-end .g-float-nav__back{pointer-events:none!important}
.g-float-nav__effect{position:absolute;inset:0;overflow:hidden;border-radius:var(--app-nav-radius);pointer-events:none}
.g-float-nav__effect.--base{z-index:1;opacity:0}
.g-float-nav__effect.--tint{z-index:2;background:linear-gradient(180deg,color-mix(in srgb,var(--app-nav-light) 22%,transparent) 0,color-mix(in srgb,var(--app-nav-light) 8%,transparent) 32%,color-mix(in srgb,var(--app-nav-dark) 4%,transparent));mix-blend-mode:normal}
.g-float-nav__effect.--shine{z-index:3;box-shadow:inset 0 1px color-mix(in srgb,var(--app-nav-light) 72%,transparent),inset 0 -1px color-mix(in srgb,var(--app-nav-dark) 10%,transparent),inset 1px 1px color-mix(in srgb,var(--app-nav-light) 36%,transparent),inset -1px -1px color-mix(in srgb,var(--app-nav-dark) 8%,transparent);mix-blend-mode:normal}
.g-float-nav__button-large{display:block;width:var(--app-nav-height);height:var(--app-nav-height);padding:calc(var(--app-nav-padding)*2);color:inherit;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}
.g-float-nav__large-button-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;z-index:4;color:var(--app-color-white)}
.g-float-nav__large-button-label{display:block;width:0;max-width:0;font-size:var(--app-font-size-s);font-family:var(--app-font-family-sans-serif);font-weight:400;text-transform:uppercase;white-space:nowrap;overflow:hidden;margin-left:0}
.g-float-nav__back{opacity:0;transform-origin:100% 50%}
.--state-details-vertical-end .g-float-nav__back,.g-float-nav__back{pointer-events:none}
.g-float-nav__mode{position:relative;transform-origin:0 50%}
.g-float-nav__container{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;height:var(--app-nav-height);padding:calc(var(--app-nav-padding)*2)}
.g-float-nav__container.--is-clickable{cursor:pointer}
.g-float-nav__wrapper{position:relative;width:100%;height:100%;line-height:1;color:var(--app-nav-content);z-index:4}
.g-float-nav__body{position:relative;width:100%;height:100%;display:flex;-moz-column-gap:calc(var(--app-nav-padding)*2);column-gap:calc(var(--app-nav-padding)*2);flex-wrap:nowrap;justify-content:flex-start;align-items:center;white-space:nowrap}
.g-float-nav__display{position:relative;width:calc(var(--app-nav-height) - var(--app-nav-padding)*4);height:calc(var(--app-nav-height) - var(--app-nav-padding)*4);flex:0 0 auto}
.g-float-nav__circle{position:relative;width:100%;height:100%;background-color:color-mix(in srgb,var(--app-nav-glass) 30%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*10%),transparent),inset 2px 1px 0 -1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*90%),transparent),inset -1.5px -1px 0 -1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*80%),transparent),inset -2px -6px 1px -5px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*60%),transparent),inset -1px 2px 3px -1px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 0 -4px 1px -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 3px 6px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*8%),transparent);border-radius:50%;overflow:hidden}
.g-float-nav__home-image,.g-float-nav__image-layer{position:absolute;top:0;left:0;width:100%;height:100%;background-position:50%;background-size:cover;background-repeat:no-repeat}
.g-float-nav__image-layer,.g-float-nav__image-layer.--base{z-index:3}
.g-float-nav__image-layer.--next{z-index:4;opacity:0}
.g-float-nav__home-images{position:relative;width:100%;height:100%;z-index:5;opacity:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.g-float-nav__home-image{background-image:var(--nav-image-src,none),linear-gradient(135deg,var(--color-a,var(--app-color-white)) 0,var(--color-b,var(--app-color-white)) 32%,var(--color-c,var(--app-color-white)) 68%,var(--color-d,var(--app-color-white)) 100%);will-change:translate}
.g-float-nav__home-image.--1{translate:calc(var(--s1)*100%)}
.g-float-nav__home-image.--2{translate:calc(var(--s2)*100%)}
.g-float-nav__home-image.--3{translate:calc(var(--s3)*100%)}
.g-float-nav.--is-home .g-float-nav__home-images{opacity:1}
.g-float-nav.--is-home .g-float-nav__image-layer,.g-float-nav.--is-home.--has-home-preview .g-float-nav__home-images{opacity:0}
.g-float-nav.--is-home.--has-home-preview .g-float-nav__image-layer{opacity:1}
.g-float-nav__main{position:relative;width:var(--app-nav-main-width);height:2.4em;overflow:hidden;flex:0 0 auto}
.g-float-nav__home-text,.g-float-nav__text-stack{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;transition:opacity var(--app-nav-layer-duration,.35s) var(--app-nav-layer-ease,ease)}
.g-float-nav__home-text{opacity:0;pointer-events:none}
.g-float-nav.--is-home .g-float-nav__home-text,.g-float-nav__text-stack{opacity:1}
.g-float-nav.--is-home .g-float-nav__text-stack,.g-float-nav.--is-home.--has-home-preview .g-float-nav__home-text{opacity:0}
.g-float-nav.--is-home.--has-home-preview .g-float-nav__text-stack{opacity:1}
.g-float-nav.--is-home.--has-home-text-preview .g-float-nav__home-text{opacity:0}
.g-float-nav.--is-home.--has-home-text-preview .g-float-nav__text-stack{opacity:1}
.g-float-nav__home-sub-label{position:absolute;top:calc(.2em - 1px);left:0;width:100%;color:color-mix(in srgb,var(--app-color-white) 62%,transparent);font-size:.7em;font-family:var(--app-font-family-sans-serif);font-weight:400;line-height:1;text-align:center;opacity:0}
.g-float-nav__home-categories{position:absolute;top:50%;left:0;width:var(--app-nav-main-width);height:1.2em;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;translate:0 -50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent)}
.g-float-nav__home-category{position:absolute;top:.12em;display:block;width:var(--app-nav-main-width);height:1em;color:var(--app-color-white);font-size:var(--app-font-size-s);font-family:var(--app-font-family-sans-serif);font-weight:600;text-align:center;text-transform:uppercase;will-change:translate}
.g-float-nav__home-category.--1{translate:calc(var(--s1)*100%)}
.g-float-nav__home-category.--2{translate:calc(var(--s2)*100%)}
.g-float-nav__home-category.--3{translate:calc(var(--s3)*100%)}
.g-float-nav__text-layer{position:absolute;inset:0;display:flex;flex-wrap:nowrap;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-transform:uppercase}
.g-float-nav__sub-label{height:0;margin-bottom:0;color:color-mix(in srgb,var(--app-color-white) 62%,transparent);font-size:var(--app-font-size-3xs);font-family:var(--app-font-family-sans-serif);text-transform:none;line-height:1.15;opacity:0;overflow:visible}
.g-float-nav__text-layer.--has-sub-label .g-float-nav__sub-label{height:1.1em;margin-bottom:.14em;opacity:1}
.g-float-nav__title{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;height:1.25em;color:var(--app-color-white);font-size:var(--app-font-size-s);font-family:var(--app-font-family-sans-serif);font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-float-nav__title-count{display:inline-block;position:relative;min-width:2ch;height:1.25em;text-align:right;overflow:hidden}
.g-float-nav__title-count-value{display:block;line-height:1.25;will-change:transform,opacity}
.g-float-nav__title-count-value.--next{position:absolute;inset:0;opacity:0}
.g-float-nav__actions{display:flex;-moz-column-gap:var(--app-nav-padding);column-gap:var(--app-nav-padding);flex-wrap:nowrap;justify-content:flex-end;align-items:center;position:relative;flex:0 0 auto}
.g-float-nav__button{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;width:var(--app-nav-button-width);height:var(--app-nav-button-height);background-color:color-mix(in srgb,var(--app-nav-glass) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*10%),transparent),inset 2px 1px 0 -1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*90%),transparent),inset -1.5px -1px 0 -1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*80%),transparent),inset -2px -6px 1px -5px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*60%),transparent),inset -1px 2px 3px -1px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 0 -4px 1px -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 3px 6px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*8%),transparent);border-radius:9999px;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.g-float-nav__action{overflow:hidden}
.g-float-nav__hit-layer{position:relative;width:100%;height:100%;z-index:10;pointer-events:none}
.g-float-nav__hit{position:absolute;top:0;left:0;width:var(--app-nav-button-width);height:var(--app-nav-button-height);padding:0;border:0;border-radius:9999px;background:transparent;translate:none;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer}
.g-float-nav__hit.--is-visible{pointer-events:auto}
.g-float-nav__title-separator{display:inline-block;position:relative;width:15px;margin:0 var(--app-nav-padding);height:1px;background:var(--app-color-white)}
.g-float-nav__menu{position:absolute;top:0;left:0}
.g-float-nav__menu-inner{position:relative;z-index:4;padding:var(--app-spacing-l) var(--app-nav-padding)}
.g-float-nav__menu-item{text-align:center}
.g-float-nav__menu-item:not(:last-child){margin-bottom:.5em}
.g-float-nav__menu-link{display:inline-block;color:var(--app-color-white);line-height:1;white-space:nowrap}
.g-float-nav__menu-link[data-cc-state]{height:1em}
.g-float-nav__menu-link-text{position:relative;display:inline-block;height:1em;overflow:hidden}
.g-float-nav__menu-link-text-child{display:block;height:1em;transform:translateY(0);transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s}
.g-float-nav__menu-link-text-child.--front{position:relative}
.g-float-nav__menu-link-text-child.--back{position:absolute;top:100%;left:0;width:100%}
.no-touch .g-float-nav__menu-link:hover .g-float-nav__menu-link-text-child.--back,.no-touch .g-float-nav__menu-link:hover .g-float-nav__menu-link-text-child.--front{transform:translateY(-100%)}
.g-float-nav__back-svg,.g-float-nav__mode-svg{width:1.5em;height:1.5em;flex:0 0 auto}
.g-float-nav__back-path{fill:none;stroke:var(--app-color-white);stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10}
.g-float-nav__mode-path{fill:none;stroke:var(--app-color-white);stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:10}
.g-float-nav__action-path{fill:none;stroke:var(--app-color-white);stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:10}
.g-float-nav__back-path,.g-float-nav__mode-path{stroke-width:2}
.g-float-nav__action-svg{width:1em;height:1em}
.g-float-nav__action-path{stroke-width:1.5}
.g-float-nav.--about .g-float-nav__action-path.--1,.g-float-nav.--details .g-float-nav__action-path.--1{opacity:0!important}
@media only screen and (max-width:40em){.g-float-nav__home-category,.g-float-nav__large-button-label,.g-float-nav__title{font-size:var(--app-font-size-xs)}
.g-float-nav__back-svg,.g-float-nav__mode-svg{width:1.25em;height:1.25em}
}
.g-mouse{--x:0px;--y:0px;display:inline-flex;flex-wrap:nowrap;justify-content:center;align-items:center;position:fixed;top:0;left:0;min-width:60px;height:calc(var(--app-nav-button-height) + var(--app-nav-padding)*2);padding:0 calc(var(--app-nav-padding)*3);color:var(--app-nav-content);background-color:color-mix(in srgb,var(--app-nav-glass) 40%,transparent);border-radius:var(--app-nav-radius);font-family:var(--app-font-family-sans-serif);font-size:var(--app-font-size-xs);font-weight:600;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:100;translate:calc(var(--x) - 50%) calc(var(--y) - 100% - var(--app-nav-padding)*3);clip-path:inset(0 50% 0 50% round var(--app-nav-radius));backdrop-filter:blur(4px) url(#glass-distortion) saturate(var(--app-nav-saturation));-webkit-backdrop-filter:blur(4px) saturate(var(--app-nav-saturation));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*10%),transparent),inset 1.8px 3px 0 -2px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*90%),transparent),inset -2px -2px 0 -2px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*80%),transparent),inset -3px -8px 1px -6px color-mix(in srgb,var(--app-nav-light) calc(var(--app-nav-reflex-light)*60%),transparent),inset -.3px -1px 4px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*12%),transparent),inset -1.5px 2.5px 0 -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 0 3px 4px -2px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*20%),transparent),inset 2px -6.5px 1px -4px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 1px 5px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*10%),transparent),0 6px 16px color-mix(in srgb,var(--app-nav-dark) calc(var(--app-nav-reflex-dark)*8%),transparent);transition:clip-path .25s cubic-bezier(.104,.204,.492,1) 0s;overflow:hidden}
.g-mouse.--is-active{clip-path:inset(0 0 0 0 round var(--app-nav-radius));transition:clip-path .45s cubic-bezier(.104,.204,.492,1) 0s;will-change:translate,clip-path}
.g-mouse__effect{position:absolute;inset:0;overflow:hidden;border-radius:var(--app-nav-radius);pointer-events:none}
.g-mouse__effect.--base{z-index:1;opacity:0}
.g-mouse__effect.--tint{z-index:2;background:linear-gradient(180deg,color-mix(in srgb,var(--app-nav-light) 22%,transparent) 0,color-mix(in srgb,var(--app-nav-light) 8%,transparent) 32%,color-mix(in srgb,var(--app-nav-dark) 4%,transparent));mix-blend-mode:normal}
.g-mouse__effect.--shine{z-index:3;box-shadow:inset 0 1px color-mix(in srgb,var(--app-nav-light) 72%,transparent),inset 0 -1px color-mix(in srgb,var(--app-nav-dark) 10%,transparent),inset 1px 1px color-mix(in srgb,var(--app-nav-light) 36%,transparent),inset -1px -1px color-mix(in srgb,var(--app-nav-dark) 8%,transparent);mix-blend-mode:normal}
.g-mouse__inner{position:relative;z-index:4}
.g-mouse__body{position:relative;height:1em;overflow:hidden}
.g-mouse__text{display:block;opacity:0;transition:opacity 0s linear .25s}
.--is-active .g-mouse__text{opacity:1;transition:opacity .25s cubic-bezier(.104,.204,.492,1) .15s}
.touch .g-mouse{display:none}
@media(pointer:coarse){.g-mouse{display:none}
}
.g-loading{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999;pointer-events:none}
.g-loading__inner,.g-loading__view{position:relative;width:100%;height:100%}
.g-loading__inner{padding:0 var(--app-grid-h-margin)}
.g-loading__body{position:relative;height:100%;z-index:0}
.g-loading__body,.g-loading__header{width:100%;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center}
.g-loading__header{position:absolute;top:0;left:0;height:var(--app-header-height)}
.g-loading__content{position:relative}
.g-loading__name-wrap{margin-top:.5em;color:var(--app-color-black);font-size:var(--app-font-size-l);font-family:var(--app-font-family-serif)}
.g-loading__name{position:relative}
.g-loading__progress-wrap{text-align:center;margin-top:1em;color:var(--app-color-black);font-size:var(--app-font-size-s);font-family:var(--app-font-family-sans-serif)}
.g-loading__progress{position:relative}
.g-loading__footer{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;position:absolute;bottom:0;left:0;width:100%;height:var(--app-header-height)}
.g-mask{position:fixed;top:0;left:0;height:100%;width:100%;height:100svh;overflow:hidden;cursor:wait;z-index:9999}
#app{position:relative;width:100%;height:100%;overflow-y:clip}
.l-all{min-height:100svh;overflow-y:auto}
.--is-loading .l-all{overflow-y:hidden}
[data-gl-hover] .l-all{cursor:pointer}
.mac.desktop .l-wrapper,.windows.desktop .l-wrapper{scrollbar-color:transparent transparent;scrollbar-width:none}
.l-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow-y:scroll;will-change:scroll-position}
.home .l-wrapper{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.l-container{height:auto}
.l-container,.l-view{position:relative;width:100%}
.l-page{position:relative}
.l-page.--notfound{display:grid;place-items:center;width:100%;min-height:100svh;padding:0 var(--app-grid-h-margin);background:var(--app-color-white)}
.notfound__title{font-family:var(--app-font-family-serif);font-size:var(--app-font-size-4xl);font-weight:400;line-height:1;letter-spacing:0;text-align:center;visibility:hidden}
.notfound__word-wrap{display:inline-block;overflow:hidden;vertical-align:top}
.notfound__word-wrap:not(:last-child){margin-right:.18em}
.notfound__word{display:inline-block}
@media only screen and (max-width:52.125em){.notfound .notfound__title{font-size:var(--app-font-size-xl)}
}


/* Captured d036db8eb7e2-style.DczHX2Xu.css */
.l-page.--home{width:100%;background:var(--app-color-white)}
.home-hero{position:relative;width:100%;height:100%}
.home-hero__inner{position:relative;width:100%;height:100svh;padding:0 var(--app-grid-h-margin)}
.home-hero__body{display:grid;grid-template-columns:repeat(12,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-grid-row-gap);align-items:center;position:relative;width:100%;height:100%}
.home-hero__ttl{grid-column:1/span 12;font-size:var(--app-font-size-xl)}
.home-hero__scrolldown{position:absolute;bottom:var(--app-grid-h-margin);font-size:var(--app-font-size-xs);cursor:pointer}


/* Captured efbc8b1687dc-style.S7BDrP9E.css */
.l-page.--about{width:100%}
.about-hero__inner{position:relative;width:100%;height:auto;padding:0 var(--app-grid-h-margin)}
.about-hero__body{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-xl);justify-items:start;padding:var(--app-header-height) 0}
.about-hero__dummy-text{grid-column:1/span 12;display:block;width:100%;color:currentColor;text-align:center;letter-spacing:0;white-space:nowrap;opacity:0}
.about-hero__dummy-text-line{display:block;width:100%;font-family:var(--app-font-family-serif);font-size:var(--app-font-size-large)}
.about-hero__dummy-text-line--1{text-align:center}
.about-hero__dummy-text-line--2{text-align:center;margin-top:-.1em}
.about-hero__dummy-text-subtitle{display:inline-block;position:relative;margin-top:.25em;text-align:center;font-family:var(--app-font-family-sans-serif);font-size:var(--app-font-size-subtitle);letter-spacing:0;text-transform:uppercase}
.about-hero__rect{grid-column:5/span 4;position:relative;width:100%;aspect-ratio:2/3}
.about-hero .gl-item{width:100%;height:100%}
.about-profile{z-index:1}
.about-profile__inner{position:relative;width:100%;height:auto;padding:0 var(--app-grid-h-margin)}
.about-profile__body{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-grid-row-gap);justify-items:start}
.about-profile__label{grid-column:1/span 4;font-size:var(--app-font-size-xl);font-family:var(--app-font-family-serif)}
.about-profile__label-child{visibility:hidden;opacity:0}
.about-profile__content{grid-column:5/span 8}
.about-profile__description{font-size:var(--app-font-size-xl);font-family:var(--app-font-family-sans-serif)}
.about-profile__description[data-split]:not([data-split-done]){visibility:hidden;opacity:0}
.about-profile__info{display:grid;grid-template-columns:repeat(8,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-xs);justify-items:start;margin-top:var(--app-spacing-m);font-size:var(--app-font-size-l)}
.about-profile__info-label{grid-column:1/span 2;height:1.1em;overflow:hidden}
.about-profile__info-label-body{display:block;visibility:hidden;opacity:0}
.about-profile__info-body{grid-column:3/span 5;height:1.1em;overflow:hidden}
.about-profile__info-email{display:inline-block;visibility:hidden;opacity:0}
.about-profile__info-email,.about-profile__info-email-label,.about-profile__info-link{color:var(--app-color-black)}
.about-profile__info-link{display:inline-flex;flex-wrap:nowrap;justify-content:center;align-items:center;visibility:hidden;opacity:0}
.about-profile__info-link-text{position:relative;display:inline-block;height:1em;overflow:hidden}
.about-profile__info-link-text-child{display:block;height:1em}
.about-profile__info-link-text-child.--front{position:relative}
.about-profile__info-link-text-child.--back{position:absolute;top:100%}
.about-profile [data-split-type=lines]{display:block;height:1.1em;padding-bottom:.1em;overflow:hidden}
.about-profile [data-split-type=words]{display:inline-block;height:1em;visibility:hidden;opacity:0}
.no-touch .about-profile__info-link:hover .about-profile__info-link-text-child.--front{transform:translateY(-101%);transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s}
.no-touch .about-profile__info-link:hover .about-profile__info-link-text-child.--back{transform:translateY(-100%);transition:transform .35s cubic-bezier(.306,.968,.632,1) 0s}
.about-background{position:relative;z-index:-1;aspect-ratio:1.15/1;width:100%;min-height:100svh;margin-top:-50svh;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.about-background:before{content:"";position:absolute;top:0;left:0;z-index:2;width:100%;height:75svh;background:linear-gradient(to bottom,var(--app-color-white) 0,hsla(0,0%,100%,.58) 48%,hsla(0,0%,100%,0) 100%)}
.about-background:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,var(--color-a,var(--app-color-white)) 0,var(--color-b,var(--app-color-white)) 32%,var(--color-c,var(--app-color-white)) 68%,var(--color-d,var(--app-color-white)) 100%);opacity:0;transition:opacity 1.2s cubic-bezier(.104,.204,.492,1) .75s}
[data-gl-mode=about] .about-background:after{opacity:1}
.about-background__image{position:relative;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%;-o-object-position:50% 100%;object-position:50% 100%;display:block;opacity:0;filter:contrast(200%);transition:opacity 1.2s cubic-bezier(.104,.204,.492,1) .75s,filter 1.2s cubic-bezier(.104,.204,.492,1) .75s}
.about-background__image.--is-loaded{opacity:1;filter:contrast(100%)}
.about-footer{position:absolute;left:0;bottom:2px;width:100%;height:auto}
.about-footer__inner{position:relative;width:100%;height:auto;padding:0 var(--app-grid-h-margin)}
.about-footer__body{position:relative;width:100%;height:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:flex-end;padding:0 0 calc(var(--app-nav-height) + var(--app-nav-bottom)*2)}
.about-footer__symbol{font-size:var(--app-font-size-6xl);font-family:var(--app-font-family-serif)}
.about-footer__meta,.about-footer__symbol{display:block;color:var(--app-color-white)}
.about-footer__meta{font-size:var(--app-font-size-m);font-family:var(--app-font-family-sans-serif)}
.about-footer__meta-line{display:block;line-height:var(--app-line-height-s)}
.about-footer__meta-line:not(:last-child){margin-bottom:.25em}
.about-footer__meta-link{position:relative;color:var(--app-color-white)}
.about-footer__meta-underline{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:currentColor;transition:scale .35s cubic-bezier(.104,.204,.492,1) 0s;transform-origin:0 50%;scale:1 1}
.about-footer__copyright{display:block;color:var(--app-color-white);font-size:var(--app-font-size-6xl);font-family:var(--app-font-family-serif)}
.no-touch .about-footer .about-footer__meta-link:hover .about-footer__meta-underline{transition:scale .35s cubic-bezier(.306,.968,.632,1) 0s;transform-origin:100% 50%;scale:0 1}
@media only screen and (max-width:64em){.about-hero__body{display:grid;grid-template-columns:repeat(8,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-l);justify-items:start}
.about-hero__dummy-text{grid-column:1/span 8}
.about-hero__rect{grid-column:3/span 4}
.about-profile__body{display:grid;grid-template-columns:repeat(8,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-grid-row-gap);justify-items:start}
.about-profile__label{grid-column:1/span 3;font-size:var(--app-font-size-l)}
.about-profile__content{grid-column:4/span 5}
.about-profile__description{font-size:var(--app-font-size-l)}
.about-profile__info{display:grid;grid-template-columns:repeat(5,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-xs);justify-items:start;font-size:var(--app-font-size-m)}
.about-profile__info-label{grid-column:1/span 2}
.about-profile__info-body{grid-column:3/span 3}
.about-footer__meta{font-size:var(--app-font-size-s)}
.about-footer__copyright{font-size:var(--app-font-size-4xl)}
}
@media only screen and (max-width:40em){.about-hero__body{display:grid;grid-template-columns:repeat(4,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-m);justify-items:start;padding-top:calc(var(--app-header-height) + var(--app-spacing-s));padding-bottom:var(--app-spacing-l)}
.about-hero__dummy-text{grid-column:1/span 4}
.about-hero__rect{grid-column:2/span 2}
.about-profile__body{display:grid;grid-template-columns:repeat(4,1fr);-moz-column-gap:var(--app-grid-col-gap);column-gap:var(--app-grid-col-gap);row-gap:var(--app-spacing-s);justify-items:start}
.about-profile__label{grid-column:1/span 4;font-size:var(--app-font-size-m)}
.about-profile__content{grid-column:1/span 4}
.about-profile__description{font-size:var(--app-font-size-m)}
.about-profile__info{--about-profile-info-label-width:4.75em;display:block;margin-top:var(--app-spacing-s);font-size:0}
.about-profile__info-label{width:4.75em;margin-right:var(--app-spacing-m)}
.about-profile__info-body,.about-profile__info-label{display:inline-block;margin-bottom:var(--app-spacing-xs);font-size:var(--app-font-size-s);vertical-align:top}
.about-profile__info-body{width:calc(100% - 4.75em - var(--app-spacing-m));min-width:0}
.about-profile__info-email,.about-profile__info-link{max-width:100%}
.about-profile__info-email-label,.about-profile__info-link-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.about-background{aspect-ratio:3/4}
.about-background:before{height:64svh;background:linear-gradient(to bottom,var(--app-color-white) 0,hsla(0,0%,100%,.54) 42%,hsla(0,0%,100%,.08) 78%,hsla(0,0%,100%,0) 100%)}
.about-footer__body{display:grid;grid-template-columns:1fr auto;align-items:end;-moz-column-gap:var(--app-spacing-s);column-gap:var(--app-spacing-s)}
.about-footer__meta{font-size:var(--app-font-size-xs)}
.about-footer__copyright,.about-footer__meta{text-shadow:0 3px 9px var(--app-color-black-a25)}
.about-footer__copyright{font-size:var(--app-font-size-xl)}
}
/* Measured public details CSS; provenance and hashes:
 * docs/baseline/captures/2026-09-12T19-39-51-030Z-details-structure/capture.json
 * Only original Vue build scope selectors are removed. No layout values are changed.
 */
.l-page.--details{min-height:100%;background:transparent}
.gl-image,.l-page.--details{position:relative;width:100%}
.gl-image{aspect-ratio:var(--gl-ratio)}
.details-vertical{position:relative;width:100%;z-index:1;overflow-x:hidden}
.details-vertical__inner{width:100%;height:auto;padding:0 var(--app-grid-h-margin)}
.details-vertical__body{width:100%;height:auto;padding-top:var(--app-header-height);padding-bottom:0}
.details-vertical__dummy-title{position:relative;font-family:var(--app-font-family-serif);font-size:var(--app-font-size-details);letter-spacing:0;text-align:center;opacity:0;visibility:hidden;margin:var(--app-spacing-3xl) 0}
.details-vertical__rect{display:grid;row-gap:var(--app-grid-row-gap);position:relative;width:clamp(240px,100%,720px);margin:0 auto;z-index:1}
.details-vertical__item:hover{cursor:zoom-in}
.details-vertical__spacing{position:relative;width:100%;height:calc(var(--app-slider-slide-height)*-1*.5 + 50svh - clamp(240px,100svw,720px)/(var(--details-last-item-ratio))/2);min-height:var(--app-spacing-5xl)}
@media only screen and (max-width:40em){.details-vertical__spacing{height:calc(var(--app-slider-slide-height)*-1*.75 + 50svh - (clamp(240px,100svw,720px) - var(--app-grid-h-margin)*2)/(var(--details-last-item-ratio))/2)}
}
.details-vertical__end{position:relative;width:var(--app-slider-slide-width);height:calc(var(--app-slider-slide-height)*.5);margin:0 auto;pointer-events:none;z-index:2}
@media only screen and (max-width:40em){.details-vertical__end{height:calc(var(--app-slider-slide-height)*.75)}
}
.details-vertical__end-rect{position:relative;width:100%;height:100%;display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;border:0;background:transparent;pointer-events:none;touch-action:manipulation;cursor:default}
.--is-vertical-end.--has-vertical-end-bounds .details-vertical__end-rect{position:fixed;top:var(--details-end-hit-top,0);left:var(--details-end-hit-left,0);width:var(--details-end-hit-width,0);height:var(--details-end-hit-height,0);pointer-events:auto;cursor:pointer}
.--is-horizontal .details-vertical__end-rect{pointer-events:none}
.details-horizontal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}
.details-horizontal.--is-horizontal{pointer-events:auto}
.details-horizontal__inner{position:relative;width:100%;height:100%;padding:0 var(--app-grid-h-margin)}
.details-horizontal__body{position:relative;width:100%;height:100%;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center}
.details-horizontal__slider{width:auto}
.details-horizontal__rect{display:flex;-moz-column-gap:calc(var(--app-grid-col-gap)/2);column-gap:calc(var(--app-grid-col-gap)/2);flex-wrap:nowrap;justify-content:flex-start;align-items:center}
.details-horizontal__item{position:relative;width:clamp(60px,10svw,80px);height:clamp(240px,50svh,480px);cursor:zoom-in}
.details-fixed{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;touch-action:none;z-index:10}
.details-fixed.--is-visible{pointer-events:auto}
.details-fixed__inner{position:relative;width:100%;height:100%;padding:0 var(--app-grid-h-margin)}
@media only screen and (orientation:portrait){.details-fixed__inner{padding:var(--app-grid-v-margin) 0}
}
.details-fixed__body{position:relative;width:100%;height:100%;padding:0}
.details-fixed__rect{position:relative;width:100%;height:100%;aspect-ratio:1/1;width:clamp(240px,100%,1080px);margin:0 auto;pointer-events:none;cursor:zoom-out}
.--is-visible .details-fixed__rect{pointer-events:auto}
.details-fixed__prev{position:absolute;top:0;left:calc(var(--app-grid-h-margin)*-1);width:calc(var(--app-grid-h-margin)*3);height:100%;cursor:pointer;pointer-events:none;z-index:5}
.--is-visible .details-fixed__prev{pointer-events:auto}
.details-fixed__next{position:absolute;top:0;right:calc(var(--app-grid-h-margin)*-1);width:calc(var(--app-grid-h-margin)*3);height:100%;cursor:pointer;pointer-events:none;z-index:5}
.--is-visible .details-fixed__next{pointer-events:auto}
.is-renderer-fallback .details-fixed.--is-visible { background: rgba(0, 0, 0, .95); }
.is-renderer-fallback .details-fixed:not(.--is-visible) { visibility: hidden; }
.is-renderer-fallback .details-fixed__rect { background-position: center; background-size: contain; background-repeat: no-repeat; }
.is-renderer-fallback .details-horizontal.--is-horizontal { opacity: 1; overflow-x: auto; }
.is-renderer-fallback .details-horizontal__rect { display: flex; gap: 30px; width: max-content; }
.is-renderer-fallback .details-horizontal__item { flex: 0 0 80vw; width: 80vw; height: 65vh; background-position: center; background-size: contain; background-repeat: no-repeat; }

/* Preserve the user's semantic button while matching the reference div's
   inherited typography and absent UA border. Measured glass/padding stay in
   reference.css: background rgba(12,12,12,.3), padding 10px. */
button.g-float-nav__button-large {
  font: inherit;
  color: inherit;
  border: 0;
  appearance: none;
}

/* The 404 nav label (D-36): under 40em the nav's text box is 76px (reference.css) and NOT FOUND set at 14px runs 79px,
   so the centred word lost its N and D to the box's overflow. A pixel smaller fits it; every other label keeps 14px. */
@media only screen and (max-width: 40em) {
  .g-float-nav.--state-notfound .g-float-nav__title { font-size: 13px; }
}

/* Owner-approved touch behavior (2026-09-13, vertical swipes 2026-09-17): the
   home route does not scroll, and both horizontal and vertical touch panning
   drive the category carousel, so the browser keeps no panning there; other
   routes keep native/Lenis touch scrolling untouched. */
html[data-page="home"] body { touch-action: none; }

/* Vue currently owns the loader's hidden class; settled values match the capture. */
.g-loading.--is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Accessible button text is not a visible reference layout element. */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Renderer failure retains the measured carriers and locally decoded imagery.
   This path is exercised only when WebGL creation fails. */
.is-renderer-fallback .g-canvas-slider__slide {
  background-position: center;
  background-size: cover;
  cursor: pointer;
  pointer-events: auto;
}
.is-renderer-fallback .g-canvas-large-text__home,
.is-renderer-fallback .g-canvas-large-text__about,
.is-renderer-fallback .about-hero__dummy-text,
.is-renderer-fallback .gl-image {
  opacity: 1;
}
.is-renderer-fallback .g-canvas-slider__text {
  color: white;
}
.is-renderer-fallback .gl-image {
  background-position: center;
  background-size: cover;
}
.is-renderer-fallback[data-page="about"] .g-canvas-large-text__home,
.is-renderer-fallback[data-page="details"] .g-canvas-large-text__home {
  opacity: 0;
}
/* About already has its readable DOM heading in the page. Keep the global
   canvas geometry text and home-only photo hit areas out of other routes. */
.is-renderer-fallback .g-canvas-large-text__about {
  opacity: 0;
}
.is-renderer-fallback:not([data-page="home"]) .g-canvas-slider__slide {
  visibility: hidden;
  pointer-events: none;
}

/* AI chat entry (src/components/AiEntryButton.vue, src/interactions/ai-entry-droplet.js; L-13): a drop of mercury
   that pours into AIN, a cube, CHAT and a tribar as the page moves, in the bottom-right corner of home and About. The
   layer fades in once the nav has arrived and out on other routes (visibility keeps the hidden link out of the tab
   order); the canvas only draws, the link is an ellipse over the droplet's core. Positions and sizes are written inline by the
   component and the module. While the droplet rests on (or travels to and from) the chat stage, the layer stays above
   the stage (src/styles/ai-chat.css, z-index 101) and its focus ring turns white on the dark veil. */
.ai-entry-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: 98;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .6s cubic-bezier(.215, .61, .355, 1), visibility 0s linear .6s;
}
.ai-entry-layer.--is-visible { opacity: 1; visibility: visible; transition: opacity .6s cubic-bezier(.215, .61, .355, 1), visibility 0s; }
.ai-entry-canvas { position: fixed; top: 0; left: 0; display: block; pointer-events: none; }
.ai-entry {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  appearance: none;
  border-radius: 50%;
  pointer-events: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.ai-entry-layer.--is-visible .ai-entry { pointer-events: auto; }
.ai-entry:focus-visible { outline: 1.5px solid var(--app-color-black); outline-offset: 4px; }
.ai-entry-layer.--is-staged { z-index: 102; }
.ai-entry-layer.--is-staged .ai-entry:focus-visible { outline-color: #fff; }

/* Lab cards that open a web (src/interactions/lab-web.js): a pointer instead of zoom-in, a link over the card for the
   keyboard, and the veil that settles into the web's background before its page loads. */
.details-vertical__item.--is-web:hover,
.details-horizontal__item.--is-web { cursor: pointer; }
.details-web-link { position: absolute; inset: 0; display: block; -webkit-tap-highlight-color: transparent; }
.details-web-link:focus-visible { outline: 1.5px solid var(--app-color-black); outline-offset: 4px; }
.lab-web-veil { position: fixed; inset: 0; z-index: 10000; opacity: 0; pointer-events: auto; transition: opacity 0.35s ease; }
.lab-web-veil.--is-visible { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .lab-web-veil { transition: none; } }

/* Continuous galleries (src/interactions/details-continue.js): no hover labels on the works while a gallery is pulled
   past an end, and no scroll anchoring while the page lands at the previous gallery's end. */
html.--is-continue-pull .details-vertical__item, html.--is-continue-pull .details-vertical__end-rect { pointer-events: none; }
html.--is-landing-end .l-wrapper { overflow-anchor: none; }

/* Keyboard and screen reader access (D-34). Nothing here shows for mouse or touch: the links and buttons below only
   show a focus mark (the site's 1.5px black ring) when the keyboard reaches them. */
/* Home: every carousel slide carries a link to its gallery (App.vue, src/interactions/home-categories.js). It takes no
   pointer events, so the WebGL cards keep every drag, swipe, hover and click; the ring follows the slide's box. A link
   focused in an off-screen slide must not scroll the carousel's clip box away from the renderer's slides, hence clip. */
.g-canvas-slider { overflow: clip; }
.g-canvas-slider__link { position: absolute; inset: 0; display: block; pointer-events: none; }
/* In the arc the renderer bends the card, so it shows narrower than its box: 0.70–0.73 of it on landscape screens,
   0.79–0.85 on portrait ones and 0.65 on a landscape phone (measured 2026-10-04). The ring keeps a little room around the
   visible card, as the card also leans towards the pointer. */
[data-gl-mode="arc"]:not(.is-renderer-fallback) .g-canvas-slider__link { inset: 0 12%; }
@media (orientation: portrait) { [data-gl-mode="arc"]:not(.is-renderer-fallback) .g-canvas-slider__link { inset: 0 7.5%; } }
@media (orientation: landscape) and (max-height: 520px) { [data-gl-mode="arc"]:not(.is-renderer-fallback) .g-canvas-slider__link { inset: 0 16%; } }
.g-canvas-slider__link:focus-visible,
.details-vertical__item:focus-visible,
.details-horizontal__item:focus-visible,
.g-float-nav__back:focus-visible,
.g-float-nav__mode:focus-visible { outline: 1.5px solid var(--app-color-black); outline-offset: 4px; }
/* The glass nav floats over photos, the enlarged view's black and About's dark footer, where the black ring alone
   disappears: its controls add a white ring inside their edge. The arrow buttons sit 5px apart, so their ring is closer. */
.g-float-nav__hit:focus-visible { outline: 1.5px solid var(--app-color-black); outline-offset: 2px; box-shadow: inset 0 0 0 1.5px var(--app-color-white); }
.g-float-nav__back:focus-visible::after,
.g-float-nav__mode:focus-visible::after { content: ""; position: absolute; inset: 0; z-index: 5; border-radius: inherit; box-shadow: inset 0 0 0 1.5px var(--app-color-white); pointer-events: none; }
/* About: the email row stays transparent until the profile rises, but the keyboard and screen readers can reach it
   (src/views/AboutView.vue starts the rise when focus arrives). */
.about-profile__info-email,
.about-profile__info-link { visibility: visible; }
/* The link is its own 1em clip box (the copy states slide inside it), which cuts off any ring outside it: an underline. */
.about-profile__info-email-label:focus-visible,
.about-profile__info-link:focus-visible .about-profile__info-link-text { outline: none; box-shadow: inset 0 -1.5px 0 var(--app-color-black); }
.about-profile__info-link:focus-visible { outline: none; }
/* Windows high contrast (D-35) forces every text to the system colour; the carousel labels are transparent carriers the
   renderer draws from and must stay invisible there too. */
@media (forced-colors: active) {
  .g-canvas-slider__text { forced-color-adjust: none; }
}

/* Safe areas (viewport-fit=cover, D-39): the floating nav and the About footer's lines keep their measured margins and
   step in only where a notch, rounded corner, home indicator or system bar reaches further. max(), not a sum, so a
   screen without insets renders exactly as before; the footer's lines stay one nav gap above the nav. */
.g-float-nav { bottom: max(var(--app-nav-bottom), env(safe-area-inset-bottom, 0px)); }
.about-footer__inner {
  padding-right: max(var(--app-grid-h-margin), env(safe-area-inset-right, 0px));
  padding-left: max(var(--app-grid-h-margin), env(safe-area-inset-left, 0px));
}
.about-footer__body { padding-bottom: calc(var(--app-nav-height) + var(--app-nav-bottom) + max(var(--app-nav-bottom), env(safe-area-inset-bottom, 0px))); }

/* The AI entry's safe area (src/components/AiEntryButton.vue, D-39): the layer's padding holds the insets, which the
   component reads for the droplet's corner (the same max() as the nav's: no insets, no change). The padding draws
   nothing: the layer has no background and its children are fixed to the window. */
.ai-entry-layer {
  --ai-entry-inset-left: env(safe-area-inset-left, 0px);
  --ai-entry-inset-right: env(safe-area-inset-right, 0px);
  --ai-entry-inset-bottom: env(safe-area-inset-bottom, 0px);
  padding: 0 var(--ai-entry-inset-right) var(--ai-entry-inset-bottom) var(--ai-entry-inset-left);
}
/* Without WebGL (the renderer fallback, D-32) a glass button in the nav's language takes the droplet's place, as large
   as the nav's round Back button, "AI" in the nav's type (the button's name stays its aria-label). */
.ai-entry-layer.--is-plain .ai-entry-canvas { display: none; }
.ai-entry-layer.--is-plain .ai-entry {
  display: grid;
  place-items: center;
  color: var(--app-nav-content);
  font-family: var(--app-font-family-sans-serif);
  font-size: var(--app-font-size-s);
  font-weight: 400;
  letter-spacing: .02em;
  background-color: color-mix(in srgb, var(--app-nav-glass) 40%, transparent);
  -webkit-backdrop-filter: blur(4px) saturate(var(--app-nav-saturation));
  backdrop-filter: blur(4px) saturate(var(--app-nav-saturation));
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--app-nav-light) calc(var(--app-nav-reflex-light) * 10%), transparent),
    inset 1.8px 3px 0 -2px color-mix(in srgb, var(--app-nav-light) calc(var(--app-nav-reflex-light) * 90%), transparent),
    inset -2px -2px 0 -2px color-mix(in srgb, var(--app-nav-light) calc(var(--app-nav-reflex-light) * 80%), transparent),
    inset -3px -8px 1px -6px color-mix(in srgb, var(--app-nav-light) calc(var(--app-nav-reflex-light) * 60%), transparent),
    inset -.3px -1px 4px color-mix(in srgb, var(--app-nav-dark) calc(var(--app-nav-reflex-dark) * 12%), transparent),
    0 1px 5px color-mix(in srgb, var(--app-nav-dark) calc(var(--app-nav-reflex-dark) * 10%), transparent),
    0 6px 16px color-mix(in srgb, var(--app-nav-dark) calc(var(--app-nav-reflex-dark) * 8%), transparent),
    0 6px 12px #0000001f;
}
.ai-entry-layer.--is-plain .ai-entry::before { content: 'AI'; line-height: 1; }
