:root{--abyss: #0a0f14;--night: #101c26;--parchment: #f2e8d5;--bone: #d9cdb8;--sun: #f7d9a0;--ember: #b96a35;--serif: "Cormorant Garamond", Georgia, serif;--body: "EB Garamond", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--pad: clamp(1.25rem, 4vw, 3.5rem);--ease: cubic-bezier(.22, 1, .36, 1);--scrim: rgba(6, 10, 14, .86)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html,body{background:var(--abyss);color:var(--parchment);font-family:var(--body);overflow-x:hidden}::selection{background:var(--sun);color:var(--abyss)}:focus-visible{outline:1px solid var(--sun);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:40;padding:.6em 1.1em;font-family:var(--sans);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--abyss);background:var(--sun);text-decoration:none;transform:translateY(-260%);transition:transform .3s var(--ease)}.skip-link:focus{transform:translateY(0)}#world{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block}#grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:4;pointer-events:none;opacity:.34;mix-blend-mode:overlay;background-image: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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");animation:grain-shift .9s steps(4) infinite}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-2%)}75%{transform:translate(-1%,-1.5%)}to{transform:translate(0)}}#vignette{position:fixed;inset:0;z-index:4;pointer-events:none;transition:background 1.6s var(--ease);background:radial-gradient(ellipse 120% 90% at 62% 58%,#f7d9a00d,#0000 55%),radial-gradient(ellipse at center,transparent 42%,rgba(3,6,9,.72) 100%)}body[data-phase=night]{--sun: #cdd9f2;--ember: #5f729c;--scrim: rgba(3, 7, 14, .88)}body[data-phase=night] #vignette{background:radial-gradient(ellipse 120% 90% at 62% 58%,#b8cbff0d,#0000 55%),radial-gradient(ellipse at center,transparent 42%,rgba(1,3,7,.78) 100%)}.chrome{position:fixed;inset:0 0 auto;z-index:11;display:flex;align-items:flex-start;justify-content:space-between;padding:var(--pad);pointer-events:none}.chrome>*{pointer-events:auto}.brand{font-family:var(--serif);font-weight:500;font-size:clamp(.9rem,1.3vw,1.05rem);letter-spacing:.42em;text-transform:uppercase;color:var(--parchment);text-decoration:none;margin-right:-.42em;text-shadow:0 2px 18px rgba(0,0,0,.8);animation:fade-in 1.6s var(--ease) .3s both}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.compass{color:#f2e8d5b8;text-shadow:0 2px 18px rgba(0,0,0,.8);animation:fade-in 1.6s var(--ease) .5s both}.compass svg{width:26px;height:26px;display:block}.theme-toggle{position:relative;display:block;width:24px;height:24px;background:none;border:0;padding:0;cursor:pointer;color:#f2e8d59e;text-shadow:0 2px 18px rgba(0,0,0,.8);transition:color .35s var(--ease);animation:fade-in 1.6s var(--ease) .4s both}.theme-toggle:hover{color:var(--sun)}.theme-toggle svg{width:24px;height:24px;display:block}.theme-icon{position:absolute;inset:0;transition:opacity .6s var(--ease),transform .6s var(--ease)}.theme-icon--moon{opacity:0;transform:rotate(-40deg) scale(.72)}.theme-toggle[aria-pressed=true] .theme-icon--sun{opacity:0;transform:rotate(40deg) scale(.72)}.theme-toggle[aria-pressed=true] .theme-icon--moon{opacity:1;transform:none}.chrome-end{display:flex;align-items:center;gap:1.1rem}.music{position:relative;display:flex;align-items:center;gap:.35rem}.music-toggle,.music-open{display:block;background:none;border:0;padding:0;cursor:pointer;color:#f2e8d59e;text-shadow:0 2px 18px rgba(0,0,0,.8);transition:color .35s var(--ease)}.music-toggle:hover,.music-open:hover,.music-toggle[aria-pressed=true]{color:var(--sun)}.music-toggle svg{width:24px;height:24px;display:block}.music-open svg{width:12px;height:12px;display:block;transition:transform .35s var(--ease)}.music-open[aria-expanded=true] svg{transform:rotate(180deg)}.music-hint{position:absolute;top:calc(100% + .6rem);right:0;white-space:nowrap;font-family:var(--sans);font-size:.5rem;letter-spacing:.28em;text-transform:uppercase;color:#f7d9a0c7;text-shadow:0 2px 14px rgba(0,0,0,.8);pointer-events:none;opacity:1;transition:opacity .8s var(--ease),visibility .8s}.music-hint.done{opacity:0;visibility:hidden}.music-toggle .music-bar{transform-origin:center}.music-toggle[aria-pressed=true] .music-bar{animation:music-pulse 2.4s var(--ease) infinite}.music-toggle .music-bar:nth-child(2){animation-delay:.18s}.music-toggle .music-bar:nth-child(3){animation-delay:.36s}.music-toggle .music-bar:nth-child(4){animation-delay:.54s}.music-toggle .music-bar:nth-child(5){animation-delay:.72s}@keyframes music-pulse{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.music-panel{position:fixed;top:calc(var(--pad) + 3.1rem);right:var(--pad);width:min(19rem,calc(100vw - 2 * var(--pad)));padding:1.15rem 1.2rem .2rem;background:#070b0ff0;border:1px solid rgba(242,232,213,.16);box-shadow:0 24px 60px #0000008c;z-index:10;animation:fade-in .5s var(--ease) both}.music-panel[hidden]{display:none}.music-heading{font-family:var(--sans);font-size:.55rem;letter-spacing:.32em;text-transform:uppercase;color:#f2e8d57a}.music-list{list-style:none;margin:.9rem 0 .6rem}.music-track{width:100%;display:block;text-align:left;background:none;border:0;border-left:1px solid rgba(242,232,213,.16);padding:.55rem .2rem .6rem .9rem;cursor:pointer;color:#f2e8d5ad;transition:color .35s var(--ease),border-color .35s var(--ease)}.music-track:hover{color:var(--parchment)}.music-track[aria-current=true]{color:var(--parchment);border-left-color:var(--sun)}.music-track-title{font-family:var(--body);font-size:1rem;line-height:1.3}.music-credit{display:block;margin-top:.35rem;font-family:var(--sans);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:#f2e8d566}.music-shuffle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:none;border:0;border-top:1px solid rgba(242,232,213,.14);padding:.85rem .2rem;cursor:pointer;font-family:var(--sans);font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:#f2e8d580;transition:color .35s var(--ease)}.music-shuffle:hover{color:#f2e8d5cc}.music-shuffle:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--sun);box-shadow:0 0 10px #f7d9a0e6;opacity:0;transform:scale(.4);transition:opacity .35s var(--ease),transform .35s var(--ease)}.music-shuffle[aria-pressed=true]{color:var(--parchment)}.music-shuffle[aria-pressed=true]:after{opacity:1;transform:scale(1)}.nav{position:fixed;top:calc(var(--pad) + 3.1rem);left:var(--pad);display:flex;flex-direction:column;gap:.9rem;animation:fade-in 1.6s var(--ease) .7s both}.nav:before{content:"";position:absolute;left:-1.3rem;top:-3.4rem;width:1px;height:3.4rem;background:linear-gradient(180deg,#f2e8d500,#f2e8d559)}.nav-link{position:relative;font-family:var(--sans);font-weight:400;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:#f2e8d580;text-decoration:none;transition:color .35s var(--ease)}.nav-link:before{content:"";position:absolute;left:-1.34rem;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--sun);box-shadow:0 0 12px #f7d9a0e6;opacity:0;transform:scale(.4);transition:opacity .35s var(--ease),transform .35s var(--ease)}.nav-link:hover{color:#f2e8d5d9}.nav-link.active{color:var(--parchment)}.nav-link.active:before{opacity:1;transform:scale(1)}.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem;color:var(--parchment)}.nav-toggle-bars{display:block;width:22px}.nav-toggle-bars span{display:block;height:1px;background:currentColor;transition:transform .35s var(--ease),opacity .35s var(--ease)}.nav-toggle-bars span+span{margin-top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:20vh 1fr 16vh;align-items:center;padding:0 var(--pad)}.hero-copy{grid-column:2 / 7;grid-row:2;transform:translateY(-1vh);animation:hero-rise 1.8s var(--ease) .9s both}@keyframes hero-rise{0%{opacity:0;transform:translateY(calc(-1vh + 24px))}to{opacity:1;transform:translateY(-1vh)}}.kicker{display:block;font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:#f2e8d59e;text-shadow:0 2px 16px rgba(0,0,0,.9)}.hero-title{margin-top:1.1rem;font-family:var(--serif);font-weight:400;font-size:clamp(3.6rem,11.5vw,10.5rem);line-height:.92;letter-spacing:.015em;color:var(--parchment);text-shadow:0 4px 40px rgba(0,0,0,.72)}.hero-initial{font-size:1.18em;line-height:0}.hero-couplet{margin-top:1.5rem;font-family:var(--body);font-style:italic;font-size:clamp(1.05rem,1.5vw,1.4rem);line-height:1.75;color:var(--sun);text-shadow:0 2px 20px rgba(0,0,0,.9)}.hero-quote{grid-column:9 / 13;grid-row:2;justify-self:end;align-self:center;margin-top:12vh;text-align:right;font-family:var(--body);font-style:italic;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.85;color:#f2e8d5e0;text-shadow:0 2px 20px rgba(0,0,0,.9);animation:hero-rise 1.8s var(--ease) 1.2s both}.socials{display:flex;gap:.85rem}.socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(242,232,213,.42);border-radius:50%;color:#f2e8d5d9;background:#080c1040;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:color .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}.socials a:hover{color:var(--abyss);background:var(--sun);border-color:var(--sun);transform:translateY(-2px)}.socials svg{width:16px;height:16px;display:block}.hero>.socials{position:absolute;left:var(--pad);bottom:var(--pad);animation:hero-rise 1.8s var(--ease) 1.4s both}.scroll-cue{position:absolute;right:var(--pad);bottom:var(--pad);display:flex;flex-direction:column;align-items:center;gap:.8rem;animation:hero-rise 1.8s var(--ease) 1.5s both}.cue-track{position:relative;width:1px;height:84px;background:linear-gradient(180deg,#f2e8d58c,#f2e8d50f);overflow:hidden}.cue-dot{position:absolute;top:-6px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--sun);box-shadow:0 0 12px #f7d9a0e6;animation:cue-drop 2.6s var(--ease) infinite}@keyframes cue-drop{0%{top:-6px;opacity:0}18%{opacity:1}82%{opacity:1}to{top:82px;opacity:0}}.cue-label{font-family:var(--sans);font-size:.56rem;letter-spacing:.38em;text-transform:uppercase;color:#f2e8d580}.section{position:relative;padding:clamp(10rem,22vh,16rem) var(--pad)}.section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,14,0) 0%,var(--scrim) 16%,var(--scrim) 84%,rgba(6,10,14,0) 100%)}.section--tint:before{background:linear-gradient(180deg,#060a0e00,#140f0bde 18% 82%,#060a0e00)}.section>*{position:relative}.inner{max-width:1100px;margin:0 auto}.section-head{max-width:660px;margin-bottom:clamp(3rem,7vh,4.5rem)}.section-title{margin-top:1.1rem;font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.4vw,4rem);line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--parchment);text-shadow:0 3px 34px rgba(0,0,0,.85)}.section-lead{margin-top:1.4rem;font-family:var(--body);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.75;color:#f2e8d5bd;text-shadow:0 2px 18px rgba(0,0,0,.8)}.catalogue{list-style:none}.plate{display:grid;grid-template-columns:8.5rem 1fr;gap:1.2rem 2.5rem;padding:2.3rem 0 2.5rem;border-top:1px solid rgba(242,232,213,.16);opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.plate.in{opacity:1;transform:translateY(0)}.plate:last-child{border-bottom:1px solid rgba(242,232,213,.16)}.plate-no{font-family:var(--sans);font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:#f2e8d57a;padding-top:.7rem}.plate-title{font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,2.8vw,2.1rem);letter-spacing:.05em;text-transform:uppercase;line-height:1.15;color:var(--parchment);text-shadow:0 2px 22px rgba(0,0,0,.8)}.plate-link{color:inherit;text-decoration:none;background-image:linear-gradient(#f7d9a099,#f7d9a099);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;transition:background-size .5s var(--ease),text-shadow .35s var(--ease)}.plate-link:hover,.plate-link:focus-visible{background-size:100% 1px;text-shadow:0 2px 26px rgba(247,217,160,.35)}.plate-link-arrow{display:inline-block;margin-left:.35em;font-size:.6em;vertical-align:.4em;color:var(--sun);opacity:.65;transition:opacity .35s var(--ease),transform .35s var(--ease)}.plate-link:hover .plate-link-arrow,.plate-link:focus-visible .plate-link-arrow{opacity:1;transform:translate(2px,-2px)}.plate-text{margin-top:.85rem;font-family:var(--body);font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.75;max-width:46rem;color:#f2e8d5c2;text-shadow:0 2px 16px rgba(0,0,0,.75)}.plate-tags{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.55rem}.plate-tags span{font-family:var(--sans);font-size:.54rem;letter-spacing:.2em;text-transform:uppercase;padding:.42em .9em;border:1px solid rgba(242,232,213,.24);border-radius:99px;color:#f2e8d5ad}.catalogue--notes .plate-text{font-style:italic;color:#f7d9a0cc}.catalogue--callouts .plate{grid-template-columns:11rem 1fr;padding:1.9rem 0 2.1rem}.catalogue--callouts .plate-no{display:flex;align-items:center;gap:.7rem;padding-top:.9rem;color:#c9c4bba8}.catalogue--callouts .plate-no:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#c9c4bb57,#c9c4bb00)}.catalogue--callouts .plate-text{margin-top:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.55;color:var(--parchment)}.contact{min-height:130vh;display:flex;align-items:center;justify-content:center;text-align:center}.contact:before{background:radial-gradient(ellipse 70% 45% at 50% 55%,#060a0ec7,#060a0e00 75%)}.contact-inner{position:relative;max-width:900px}.contact-title{font-size:clamp(3rem,8vw,6.5rem);text-shadow:0 4px 44px rgba(0,0,0,.95),0 2px 14px rgba(0,0,0,.9)}.contact-line{margin-top:2.2em;font-family:var(--body);font-size:clamp(1rem,1.8vw,1.2rem);line-height:2.1;letter-spacing:.22em;text-transform:uppercase;color:#d9cdb8d9;text-shadow:0 2px 20px rgba(0,0,0,.95);max-width:52ch;margin-inline:auto;text-wrap:balance}.contact-mail{margin-top:1.5em;display:inline-block;font-family:var(--serif);font-size:clamp(1.35rem,3.6vw,2.2rem);letter-spacing:.08em;color:var(--sun);text-decoration:none;border-bottom:1px solid rgba(247,217,160,.4);padding-bottom:.14em;text-shadow:0 2px 18px rgba(0,0,0,.95);transition:border-color .3s var(--ease),color .3s var(--ease)}.contact-mail:hover{color:#fff3da;border-color:var(--sun)}.socials--end{margin-top:2.6rem;justify-content:center}.signoff{margin-top:clamp(4.5rem,11vh,8rem);font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,9vw,7rem);letter-spacing:.24em;text-transform:uppercase;color:var(--parchment);text-shadow:0 0 80px rgba(247,217,160,.35);margin-right:-.24em}.footer{padding:2.6rem 1.5rem 3.4rem;text-align:center;font-family:var(--sans);font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:#f2e8d552;position:relative}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.reveal.in{opacity:1;transform:translateY(0)}.loader{position:fixed;inset:0;z-index:20;background:var(--abyss);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity 1.1s var(--ease),visibility 1.1s var(--ease)}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-brand{font-family:var(--serif);font-weight:500;letter-spacing:.52em;text-transform:uppercase;font-size:clamp(1.3rem,4vw,2rem);color:var(--parchment);margin-right:-.52em;animation:fade-in 1.4s var(--ease) both}.loader-bar{width:min(300px,62vw);height:1px;background:#f2e8d529;position:relative;overflow:hidden}.loader-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--ember),var(--sun));transition:width .3s var(--ease)}.loader-note{font-family:var(--sans);font-size:.56rem;letter-spacing:.4em;text-transform:uppercase;color:#f2e8d566}.no-webgl{position:fixed;inset:0;z-index:30;background:radial-gradient(ellipse 90% 55% at 62% 68%,#e0a45e66,#0a0f1400 60%),linear-gradient(180deg,var(--night) 0%,#1c2733 48%,#6b5a4a 66%,#b0722f 74%,var(--abyss) 100%);display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}.no-webgl[hidden]{display:none}.no-webgl h1{font-family:var(--serif);font-weight:500;letter-spacing:.4em;margin-bottom:1rem;color:var(--parchment)}.no-webgl p{color:var(--bone);line-height:1.8}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#grain,.cue-dot{animation:none}.plate,.reveal{transition:none;opacity:1;transform:none}.brand,.compass,.theme-toggle,.nav,.hero-copy,.hero-quote,.hero>.socials,.scroll-cue,.music-panel,.music-hint,.music-toggle[aria-pressed=true] .music-bar{animation:none}.music-hint,.theme-icon{transition:none}}@media(max-width:980px){.nav{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;background:#070b0f;animation:none;z-index:12}.nav:before{display:none}.nav.open{display:flex}.nav-link{font-size:.72rem;letter-spacing:.42em}.nav-link:before{left:-1.5rem;top:.15rem}.nav-toggle{display:block}}@media(max-width:760px){.hero{grid-template-rows:16vh 1fr 18vh}.hero-copy{grid-column:1 / 13;transform:none}.hero-quote{grid-column:1 / 13;justify-self:start;align-self:end;margin-top:0;text-align:left}.hero>.socials{bottom:calc(var(--pad) + 4.5rem)}.scroll-cue{display:none}.plate{grid-template-columns:1fr;gap:.55rem;padding:1.8rem 0 2rem}.plate-no{padding-top:0}.catalogue--callouts .plate{grid-template-columns:1fr}.catalogue--callouts .plate-no{padding-top:0}.chrome-end{gap:.7rem}.music-toggle svg{width:22px;height:22px}.theme-toggle,.theme-toggle svg{width:22px;height:22px}.compass svg{width:22px;height:22px}.contact{min-height:100vh}}
