:root{--ratio:1.41443;--bar:56px;--pad:4px;--board:3px;--avail-h:calc(100svh - var(--bar) - 2 * var(--pad) - 2 * var(--board));--avail-w:calc(100vw - 2 * var(--pad) - 2 * var(--board));--ph:min(var(--avail-h), var(--avail-w) * var(--ratio));--pw:calc(var(--ph) / var(--ratio));--spread:1;--desk:#17110c;--leather:#0d1a2a;--gold:#c9973a;--ink:#e9e3d6}@media (width>=480px) and (aspect-ratio>=6/5){:root{--pad:8px;--board:5px;--ph:min(var(--avail-h), var(--avail-w) / 2 * var(--ratio));--spread:2}}@media (width>=900px) and (height>=600px) and (aspect-ratio>=6/5){:root{--pad:28px;--board:14px}}@media (height<=500px){:root{--bar:44px}.nav-btn{width:34px;height:34px}}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background-color:var(--desk);color:var(--ink);-webkit-tap-highlight-color:transparent;background-image:radial-gradient(at 50% 40%,#ffd6961a,#0000 60%),radial-gradient(#0000 45%,#000000a6 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .5' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .38 0 0 0 0 .24 0 0 0 0 .13 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.js,.js body{overscroll-behavior:none;overflow:hidden}.desk{height:100svh;padding:var(--pad) var(--pad) calc(var(--bar) + var(--pad));place-items:center;display:grid;overflow:clip}.stage{width:calc(var(--pw) * var(--spread));height:var(--ph);position:relative}.cover{inset:calc(-1 * var(--board));background:linear-gradient(90deg, #ffffff0d, transparent 8%, transparent 92%, #00000040), var(--leather);box-shadow:inset 0 0 0 1px #c9973a59, inset 0 0 0 4px var(--leather), inset 0 0 0 5px #c9973a2e, 0 30px 60px -10px #000000b3, 0 12px 20px #00000073;border-radius:4px 8px 8px 4px;position:absolute}.cover:before,.cover:after{content:"";top:calc(var(--board) + 3px);bottom:calc(var(--board) + 3px);width:calc(var(--board) - 2px);opacity:.85;background:repeating-linear-gradient(90deg,#efe9dc 0 1px,#c9c1b0 1px 2px);position:absolute}.cover:after{border-radius:0 3px 3px 0;right:2px}.cover:before{border-radius:3px 0 0 3px;display:none;left:2px}@media (width>=480px) and (aspect-ratio>=6/5){.cover{border-radius:8px}.cover:before{display:block}}.book{width:100%;height:100%;position:relative}.flip-host{width:100%}.js .book:not(.ready){visibility:hidden}.page{user-select:none;background:#0b1522;position:relative;overflow:hidden}.page img{z-index:1;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.page-text{z-index:0;padding:8%;font-size:12px;line-height:1.4;position:absolute;inset:0;overflow:hidden}.page:after{content:"";z-index:2;pointer-events:none;position:absolute;inset:0}.page.--left:after{background:linear-gradient(270deg,#00000059,#00000014 4%,#0000 9%)}.page.--right:after{background:linear-gradient(90deg,#00000059,#00000014 4%,#0000 9%)}.bar{height:calc(var(--bar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{width:40px;height:40px;color:var(--gold);cursor:pointer;background:#0d1a2ab3;border:1px solid #c9973a73;border-radius:50%;place-items:center;transition:background .2s,opacity .2s;display:grid}.nav-btn:hover:not(:disabled){background:#c9973a2e}.nav-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav-btn:disabled{opacity:.3;cursor:default}.nav-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.counter{text-align:center;letter-spacing:.08em;min-width:88px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px}html:not(.js) .desk{height:auto;display:block}html:not(.js) .stage{width:auto;height:auto}html:not(.js) .cover,html:not(.js) .bar{display:none}html:not(.js) .page{aspect-ratio:1414/2000;width:min(100%,720px);margin:0 auto 16px}@media (prefers-reduced-motion:reduce){.nav-btn{transition:none}}.contact-btn{right:calc(16px + env(safe-area-inset-right));bottom:calc((var(--bar) - 44px) / 2 + env(safe-area-inset-bottom));z-index:10;background:var(--gold);color:#1a1206;cursor:pointer;border:0;border-radius:22px;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 8px 20px #00000073}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #00000080}.contact-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.contact-btn svg,.contact-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}@media (width<=520px){.contact-btn{justify-content:center;width:44px;padding:0}.contact-btn span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.contact{background:var(--leather);width:min(360px,100vw - 32px);color:var(--ink);border:1px solid #c9973a73;border-radius:12px;padding:0;box-shadow:0 24px 60px #0009}.contact::backdrop{backdrop-filter:blur(2px);background:#0000008c}.contact form{padding:28px 28px 24px;position:relative}.contact h2{color:var(--gold);margin:0 0 16px;font-size:20px}.contact ul{gap:10px;margin:0;padding:0;font-size:16px;line-height:1.5;list-style:none;display:grid}.contact a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px;font-weight:600}.contact a:hover{color:var(--gold)}.contact-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.contact-close:hover{background:#ffffff14}.solutions-btn{right:auto;left:calc(16px + env(safe-area-inset-left))}.contact.solutions{width:min(560px,100vw - 32px);max-height:calc(100svh - 48px)}.solutions p{margin:0 0 16px;font-size:15px;line-height:1.55}.solutions h3{color:var(--gold);margin:24px 0 4px;font-size:16px}.contact .solution-links{gap:6px;font-size:15px}.solution-links a{border:1px solid #c9973a4d;border-radius:8px;padding:8px 12px;font-weight:500;text-decoration:none;display:block}.solution-links a:hover{border-color:var(--gold)}.solutions details{border-bottom:1px solid #c9973a33;padding:10px 0;font-size:15px}.solutions summary{cursor:pointer;font-weight:600}.solutions details p{opacity:.85;margin:6px 0 0}.contact address{opacity:.85;border-top:1px solid #c9973a33;margin-top:16px;padding-top:14px;font-size:14px;font-style:normal;line-height:1.55}
