:root{--paper:#e8e8e8;--ink:#242721;--muted:#595e55;--line:#272d252e;--warm:#c7b38d;--serif:'Newsreader',Georgia,serif;--sans:'Inter',Arial,sans-serif;--edge:clamp(24px,4.4vw,86px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body[data-theme=dark]{--ink:#f0efea;--muted:#b3b5aa;--line:#eee9da30;background:#080908;color:var(--ink)}::selection{background:#c9b78d;color:#111}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}h1:focus{outline:none}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}p{margin-bottom:1.2em}ul,ol{padding:0;margin:0;list-style:none}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:15px;z-index:300;padding:12px 18px;background:#e8e8e8;color:#111;transform:translateY(-160%)}.skip-link:focus{transform:none}
.scene-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#e8e8e8 url('/assets/home/wall/plaster-cc0.webp') center/cover}.scene-backdrop canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .6s}.has-webgl .scene-backdrop canvas{opacity:1}body[data-theme=dark] .scene-backdrop{background:#080908 none center/cover}body[data-scene=chapter-I] .scene-backdrop{background-image:none}body[data-scene=chapter-II] .scene-backdrop{background-image:none}body[data-scene=chapter-III] .scene-backdrop{background-image:none}body[data-scene=chapter-IV] .scene-backdrop{background-image:none}body[data-scene=chapter-V] .scene-backdrop{background-image:none}body[data-scene=plain] .scene-backdrop{background:#e8e8e8}body[data-scene=plain-dark] .scene-backdrop{background:radial-gradient(ellipse at 60% 35%,#24251e,#080908 65%)}main{position:relative;z-index:1;min-height:100svh}.site-header{position:fixed;inset:0 0 auto;z-index:40;height:112px;padding:22px var(--edge);display:flex;align-items:center;justify-content:space-between;pointer-events:none}.site-header>*{pointer-events:auto}.header-logo{width:166px;min-height:44px;display:flex;align-items:center}.brand-dark{display:none}body[data-theme=dark] .brand-light{display:none}body[data-theme=dark] .brand-dark{display:block}body[data-kind=home] .header-logo{visibility:hidden}.header-actions{display:flex;align-items:center;gap:40px;margin-left:auto}.language-switch{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.06em}.language-switch a{display:grid;place-items:center;min-width:44px;height:44px;color:var(--muted)}.language-switch a[aria-current]{color:var(--ink)}.menu-toggle{display:flex;align-items:center;gap:20px;min-height:44px;font-size:13px}.menu-icon{width:23px;height:13px;position:relative;display:block}.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:23px;height:1px;background:currentColor;transition:transform .4s}.menu-icon:before{top:3px}.menu-icon:after{bottom:3px}body[data-kind=menu] .menu-icon:before{transform:translateY(3px) rotate(45deg)}body[data-kind=menu] .menu-icon:after{transform:translateY(-3px) rotate(-45deg)}.page-width{width:100%;padding-left:var(--edge);padding-right:var(--edge)}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.08em;line-height:1.6}.text-link{display:inline-flex;align-items:center;gap:32px;font-size:12px;min-height:44px;border-bottom:1px solid var(--line)}.text-link:hover{border-color:currentColor}.scroll-indicator{position:fixed;z-index:30;bottom:34px;right:var(--edge);width:22px;height:22px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;pointer-events:none}.scroll-indicator span{width:4px;height:4px;background:var(--ink);border-radius:50%;transform:scale(calc(.6 + var(--progress,0)*.9))}.page-loader{position:fixed;inset:0;z-index:100;background:#e8e8e8;color:#242721;display:flex;align-items:center;justify-content:center;gap:40px;padding:var(--edge);transition:opacity .65s,visibility .65s}.page-loader.finished{opacity:0;visibility:hidden;pointer-events:none}.loader-name{font-size:11px;letter-spacing:.18em}.loader-line{height:1px;flex:1;background:#b8bcb2;position:relative}.loader-line:after{content:'';position:absolute;inset:0;background:#242721;transform:scaleX(var(--loaded,0));transform-origin:left}.loader-percentage{font-size:12px;min-width:42px;text-align:right}.footer{padding:80px var(--edge) 35px;border-top:1px solid var(--line);position:relative}.footer-brand{display:inline-block}.footer-contact{margin:25px 0;display:flex;gap:20px;flex-wrap:wrap}.footer-bottom{display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:10px;letter-spacing:.02em;color:var(--muted)}.footer-bottom span:first-child{margin-right:auto}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.company-details{font-size:11px;margin-top:16px;color:var(--muted)}.is-routing main{pointer-events:none}.webgl-fallback-note{display:none}
@media(max-width:700px){.site-header{height:90px;padding-top:16px;padding-bottom:16px}.header-logo{width:132px}.header-actions{gap:18px}.menu-toggle{gap:11px}.language-switch{gap:5px}.footer{padding-top:60px;padding-bottom:24px}.footer-bottom{gap:8px 20px}.footer-bottom span:first-child{width:100%;margin:0}.scroll-indicator{bottom:22px}.page-loader{gap:15px}.loader-name{font-size:9px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}

/* Transparent header: yield to the content on downward scroll. */
.site-header{opacity:1;visibility:visible;transform:translateY(0);transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .20s ease,visibility 0s}
.site-header.is-scroll-hidden{opacity:0;visibility:hidden;transform:translateY(calc(-100% - 8px));pointer-events:none;transition-delay:0s,0s,.28s}
.site-header.is-scroll-hidden>*{pointer-events:none}
@media(prefers-reduced-motion:reduce){.site-header{transition:none!important}}

/* Vector arrows keep navigation monochrome on desktop and mobile, independent of emoji fonts. */
.ui-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;pointer-events:none}
