/* Shared finishing details: quiet identity, usable navigation, no motion trap. */
html{scroll-padding-top:90px}
body{isolation:isolate}
body:not([data-page="home"])::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 17% 13%,#e7e5dd 0 .65px,transparent 1.2px),radial-gradient(circle at 73% 61%,#e7e5dd 0 .5px,transparent 1px),radial-gradient(circle at 41% 79%,#e7e5dd 0 .6px,transparent 1.15px);background-size:347px 401px,503px 337px,691px 541px}
.main-nav{gap:clamp(14px,1.8vw,29px)}
.main-nav a{white-space:nowrap}
body .main-nav .nav-social,body[data-page="home"] .main-nav .nav-social{font-size:10px;letter-spacing:.15em;font-weight:600;margin-left:0;padding-bottom:0;border-bottom:0;color:inherit;transition:opacity .25s}
.link-arrow{display:inline-block;font-size:1.05em;line-height:1;margin-left:.35em;font-weight:400}
.mobile-nav:not(.open){visibility:hidden;pointer-events:none}
.mobile-nav.open{visibility:visible;pointer-events:auto}
a:focus-visible,button:focus-visible{outline:1px solid #f1f0e9;outline-offset:6px}
/* Position follows the hand immediately; only the identity changes slowly. */
.rec-cursor{position:fixed;left:0;top:0;z-index:1000;width:22px;height:22px;pointer-events:none;opacity:0;will-change:transform;transition:opacity .18s;contain:layout style}
.rec-cursor-mark,.rec-cursor-dot{position:absolute;display:block;left:50%;top:50%;pointer-events:none}
.rec-cursor-mark{width:24px;height:14.32px;background:#d8463a;-webkit-mask:url('assets/lua-moon.png') center/contain no-repeat;mask:url('assets/lua-moon.png') center/contain no-repeat;clip-path:inset(0);transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 1px rgba(0,0,0,.85));transition:transform 1.45s cubic-bezier(.22,.61,.36,1),clip-path 1.45s cubic-bezier(.22,.61,.36,1),background-color 1.3s ease,opacity .85s ease}
.rec-cursor-dot{width:7px;height:7px;border-radius:50%;background:#ce3f34;opacity:0;transform:translate(-50%,-50%) scale(.55);box-shadow:0 0 4px rgba(206,63,52,.12);transition:transform 1.45s cubic-bezier(.22,.61,.36,1),opacity 1s ease}
.rec-cursor.is-visible{opacity:1}
.rec-cursor.is-link .rec-cursor-mark{background:#d9483b;transform:translate(-50%,-50%) scale(1.04)}
/* The two crescents fold away; the right-hand moon settles at the pointer centre. */
.rec-cursor.is-record .rec-cursor-mark{background:#ce3f34;opacity:0;clip-path:inset(0 0 0 40.4%);transform:translate(calc(-50% - 2.4px),-50%) scale(.49);transition-delay:0s,0s,0s,.65s}
.rec-cursor.is-record .rec-cursor-dot{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.4s,.5s}
.rec-cursor.is-pressed .rec-cursor-mark{transform:translate(-50%,-50%) scale(.94)}
.rec-cursor.is-record.is-pressed .rec-cursor-mark{transform:translate(calc(-50% - 2.4px),-50%) scale(.46)}
.rec-cursor.is-record.is-pressed .rec-cursor-dot{transform:translate(-50%,-50%) scale(.92)}
body.rec-cursor-ready dialog[open],body.rec-cursor-ready dialog[open] *{cursor:auto}body.rec-cursor-ready dialog[open] button,body.rec-cursor-ready dialog[open] a{cursor:pointer}
@media(hover:hover) and (pointer:fine){body.rec-cursor-ready,body.rec-cursor-ready a,body.rec-cursor-ready button,body.rec-cursor-ready [role="button"]{cursor:none}body.rec-cursor-ready input,body.rec-cursor-ready textarea,body.rec-cursor-ready [contenteditable]{cursor:text}body.rec-cursor-ready select,body.rec-cursor-ready video[controls]{cursor:auto}}
@media(max-width:1000px){.site-header{min-height:64px;padding:11px var(--pad,24px)}.brand{width:138px}.main-nav{display:none}.menu-toggle{display:flex}.mobile-nav{position:fixed;z-index:99;top:64px;left:0;right:0;display:flex;flex-direction:column;gap:0;max-height:calc(100svh - 64px);overflow-y:auto;padding:20px var(--pad,24px) 35px;background:#080808;border-bottom:1px solid #333;transform:translateY(-150%);transition:transform .35s,visibility .35s}.mobile-nav.open{transform:translateY(0)}.mobile-nav a{font-size:clamp(28px,7.8vw,54px);letter-spacing:-.045em;line-height:1.12;padding:13px 0;border-top:1px solid #333}body[data-page="home"] .mobile-nav .nav-social,.mobile-nav .nav-social{font-size:clamp(28px,7.8vw,54px);letter-spacing:-.045em;line-height:1.12;margin-top:0;padding:13px 0;color:inherit}.mobile-nav:not(.open){visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rec-cursor{display:none}.mobile-nav{transition:none}body.rec-cursor-ready,body.rec-cursor-ready a,body.rec-cursor-ready button{cursor:auto}}
@media(max-width:700px){.header,.doc-header,.frame-header,.site-header:has(>nav:not(.main-nav)){display:flex;flex-wrap:wrap;gap:12px;align-items:center;height:auto;min-height:90px;padding:14px 20px}.header>nav,.doc-header>nav,.frame-header>nav,.site-header>nav:not(.main-nav){display:flex;flex-wrap:wrap;width:100%;justify-content:flex-start;gap:10px 18px;max-width:100%}.header>nav a,.doc-header>nav a,.frame-header>nav a,.site-header>nav:not(.main-nav) a{font-size:8px!important;letter-spacing:.08em;white-space:nowrap}.frame-header .edition{display:none}}
