/* Typography compliance terms: Playfair-Elegant System* System:** Playfair-elegant typography (2% frequency; Playfair Display" (Google Fonts; Source Serif 4" (Google Fonts; IBM Plex Mono" (Google Fonts. Magnetic Interaction System* System:** The primary interaction pattern is magnetic attraction. When the user's cursor approaches a bubble element. IntersectionObserver replaces scroll event listeners with a 0.15 threshold. The transition uses `transition: opacity 0.8s ease`; Playfair Display italic serves as the site's closing statement. Playfair Display with a pixel-grid monospace secondary face; Playfair Display's dramatic thick-thin strokes. */
:root{
  --walnut:#2E1F0F;--clay:#5C3A1E;--sienna:#A0522D;--gold:#C4973B;--linen:#F2E8D5;--parchment:#D9C8A9;--char:#1A1008;--verdigris:#5E8C6A;
  --shine:linear-gradient(135deg,#A0522D 0%,#C4973B 40%,#D9C8A9 70%,#5E8C6A 100%);
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#1A1008;color:#F2E8D5;font-family:"Source Serif 4",serif;font-size:1.125rem;font-weight:300;line-height:1.75;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.04;background-image:radial-gradient(circle,#1A1008 1px,transparent 1px),radial-gradient(circle,#F2E8D5 .7px,transparent 1px);background-size:2px 2px,5px 5px}.atelier{background:linear-gradient(180deg,#2E1F0F,#5C3A1E 28%,#2E1F0F 55%,#5C3A1E 78%,#2E1F0F)}.chamber{position:relative;min-height:100vh;overflow:hidden}.chamber:before{content:"";position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(45deg,rgba(217,200,169,.08) 0 1px,transparent 1px 9px);pointer-events:none}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform 1.2s cubic-bezier(.25,.46,.45,.94)}.reveal.visible{opacity:1;transform:translateY(0)}
.kicker{font-family:Silkscreen,monospace;color:#D9C8A9;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;margin-bottom:1rem}.hero-grid{min-height:100vh;display:grid;grid-template-columns:5fr 7fr;gap:2vw;align-items:center;padding:6vw 4vw 5vw 8vw}.title-wrap{z-index:2}.site-title{font-family:"Playfair Display",serif;font-size:clamp(4.5rem,9vw,8.5rem);font-weight:900;letter-spacing:-.03em;line-height:.86;color:#C4973B;text-shadow:0 12px 0 rgba(26,16,8,.32),0 0 40px rgba(196,151,59,.14);max-width:7ch}.site-title span{display:inline-block;opacity:0;filter:drop-shadow(0 0 8px rgba(196,151,59,.18));animation:snap 2.5s cubic-bezier(.34,1.56,.64,1) forwards}.hero-note{max-width:25rem;color:#D9C8A9;margin-top:1.3rem;font-style:italic}.constellation{height:560px;position:relative}.thread-map{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#C4973B;stroke-width:.7;opacity:.34;pointer-events:none}.thread-map path{stroke-dasharray:900;stroke-dashoffset:900}.visible .thread-map path{animation:draw 1.5s ease forwards}.visible .thread-map path:nth-child(2){animation-delay:.25s}.visible .thread-map path:nth-child(3){animation-delay:.45s}
.glass-bubble,.vessel,.archive-bubble{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;isolation:isolate;background:radial-gradient(circle at 28% 22%,rgba(242,232,213,.30),rgba(217,200,169,.10) 32%,rgba(92,58,30,.16) 70%,rgba(26,16,8,.30));box-shadow:inset 0 -22px 42px rgba(196,151,59,.12),0 28px 60px rgba(26,16,8,.34);backdrop-filter:blur(2px);transition:transform .55s cubic-bezier(.34,1.56,.64,1)}.glass-bubble:before,.vessel:before,.archive-bubble:before{content:"";position:absolute;inset:-4px;border-radius:inherit;padding:4px;background:var(--shine);background-size:300% 300%;animation:iridescence 12s linear infinite;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;z-index:-1}.glass-bubble:after,.vessel:after,.archive-bubble:after{content:"";position:absolute;width:28%;height:16%;border-radius:50%;left:20%;top:15%;background:rgba(242,232,213,.34);filter:blur(2px);transform:rotate(-25deg)}.hero-bubble{animation:drift 10s ease-in-out infinite}.hero-bubble em{position:absolute;bottom:17%;font-family:Silkscreen,monospace;color:#D9C8A9;font-size:.7rem;font-style:normal;letter-spacing:.15em;text-transform:uppercase}.b1{width:142px;height:142px;left:7%;top:9%;animation-delay:-1s}.b2{width:196px;height:196px;left:42%;top:12%;animation-delay:-4s}.b3{width:116px;height:116px;left:72%;top:39%;animation-delay:-7s}.b4{width:168px;height:168px;left:31%;top:60%;animation-delay:-2s}.small-bubble{position:absolute;border:1px solid rgba(196,151,59,.42);border-radius:50%;box-shadow:inset 0 -12px 22px rgba(196,151,59,.08);animation:drift 12s ease-in-out infinite}.s1{width:34px;height:34px;left:22%;top:39%}.s2{width:58px;height:58px;left:86%;top:13%;animation-delay:-3s}.s3{width:44px;height:44px;left:66%;top:76%;animation-delay:-6s}.s4{width:25px;height:25px;left:9%;top:78%;animation-delay:-8s}
.pixel-icon{position:relative;display:block;width:8px;height:8px;background:#C4973B;image-rendering:pixelated;transform:scale(4);margin-bottom:1.8rem}.key{box-shadow:8px 0 #C4973B,16px 0 #C4973B,24px 0 #C4973B,32px 0 #C4973B,0 8px #C4973B,16px 8px #2E1F0F,32px 8px #C4973B,40px 8px #C4973B,0 16px #C4973B,8px 16px #C4973B,16px 16px #C4973B,24px 16px #C4973B,32px 16px #C4973B,16px 24px #C4973B,16px 32px #C4973B,24px 32px #C4973B}.gear{box-shadow:16px 0 #C4973B,0 8px #C4973B,8px 8px #C4973B,16px 8px #A0522D,24px 8px #C4973B,32px 8px #C4973B,8px 16px #A0522D,16px 16px #2E1F0F,24px 16px #A0522D,0 24px #C4973B,8px 24px #C4973B,16px 24px #A0522D,24px 24px #C4973B,32px 24px #C4973B,16px 32px #C4973B}.compass{box-shadow:16px 0 #C4973B,16px 8px #C4973B,8px 16px #C4973B,16px 16px #2E1F0F,24px 16px #C4973B,0 24px #5E8C6A,8px 24px #C4973B,16px 24px #C4973B,24px 24px #C4973B,32px 24px #5E8C6A,16px 32px #C4973B,16px 40px #C4973B}.map{box-shadow:0 0 #D9C8A9,8px 0 #D9C8A9,16px 0 #C4973B,24px 0 #D9C8A9,0 8px #D9C8A9,16px 8px #A0522D,24px 8px #D9C8A9,0 16px #C4973B,8px 16px #D9C8A9,16px 16px #D9C8A9,24px 16px #D9C8A9,8px 24px #A0522D,16px 24px #D9C8A9,24px 24px #C4973B}.chisel{box-shadow:24px 0 #D9C8A9,16px 8px #D9C8A9,24px 8px #C4973B,8px 16px #C4973B,16px 16px #C4973B,0 24px #A0522D,8px 24px #A0522D,0 32px #A0522D}.ink{box-shadow:8px 0 #C4973B,16px 0 #C4973B,0 8px #A0522D,8px 8px #2E1F0F,16px 8px #2E1F0F,24px 8px #A0522D,0 16px #A0522D,8px 16px #A0522D,16px 16px #A0522D,24px 16px #A0522D,8px 24px #C4973B,16px 24px #C4973B}
.workshop{background:linear-gradient(180deg,#5C3A1E,#2E1F0F);padding:5vw 5vw 5vw 0}.leather-strip{position:absolute;left:0;top:0;bottom:0;width:9vw;background:radial-gradient(ellipse at 30% 50%,#5C3A1E,#2E1F0F),repeating-radial-gradient(circle,rgba(196,151,59,.18) 0 1px,transparent 1px 12px);box-shadow:inset -20px 0 35px rgba(26,16,8,.6)}.workshop-grid{min-height:90vh;display:grid;grid-template-columns:30% 70%;gap:4vw;align-items:center;margin-left:9vw}.workbench{height:440px;position:relative;background:linear-gradient(160deg,#5C3A1E,#2E1F0F);border:2px solid #A0522D;box-shadow:18px 18px 0 rgba(26,16,8,.35)}.bench-top{position:absolute;left:8%;right:-8%;top:12%;height:58px;background:repeating-linear-gradient(90deg,#5C3A1E 0 24px,#2E1F0F 24px 28px);border:2px solid #C4973B}.tile-field{position:absolute;left:15%;bottom:15%;width:58%;height:42%;background:linear-gradient(45deg,#C4973B 25%,transparent 25% 75%,#C4973B 75%),linear-gradient(45deg,#C4973B 25%,#A0522D 25% 75%,#C4973B 75%);background-size:28px 28px;background-position:0 0,14px 14px;opacity:.78}.tool{position:absolute;width:10px;height:10px;background:#C4973B;image-rendering:pixelated;transform:scale(4)}.t-chisel{left:18%;top:42%;box-shadow:8px 0 #C4973B,16px 0 #D9C8A9,24px 0 #D9C8A9}.t-compass{right:20%;top:38%;box-shadow:8px 8px #C4973B,16px 16px #C4973B,0 16px #5E8C6A,24px 16px #5E8C6A}.t-ink{right:30%;bottom:24%;box-shadow:0 8px #A0522D,8px 8px #2E1F0F,16px 8px #A0522D,8px 16px #C4973B}.stepped-copy{max-width:760px;justify-self:end;padding-right:6vw}.stepped-copy p{color:#F2E8D5;margin:0 0 2rem;font-size:clamp(1.05rem,1.65vw,1.42rem)}.stepped-copy p:nth-child(2){margin-left:7%}.stepped-copy p:nth-child(3){margin-left:14%}.stepped-copy p:nth-child(4){margin-left:21%}.stepped-copy span{font-family:"IBM Plex Mono",monospace;color:#C4973B;font-size:.82rem;letter-spacing:.05em;margin-right:.8rem}
.cabinet{min-height:120vh;padding:6vw 4vw 8vw;background:linear-gradient(180deg,#2E1F0F,#5C3A1E)}.cabinet-heading{margin-left:9vw}.cabinet h2{font-family:"Playfair Display",serif;color:#C4973B;font-size:clamp(3rem,7vw,6.5rem);line-height:.9;letter-spacing:-.03em}.cabinet-stage{position:relative;height:880px;max-width:1100px;margin:0 auto}.cabinet-threads{inset:8rem 2rem 4rem}.vessel{width:210px;height:210px;padding:3.2rem 1.5rem 1.8rem;flex-direction:column;animation:drift 13s ease-in-out infinite}.vessel h3{font-family:Silkscreen,monospace;color:#C4973B;font-size:.84rem;letter-spacing:.15em;text-transform:uppercase;margin:.8rem 0 .35rem}.vessel p{font-size:.92rem;line-height:1.35;color:#D9C8A9}.v-key{left:3%;top:7%}.v-gear{left:30%;top:0;width:250px;height:250px;animation-delay:-3s}.v-compass{right:5%;top:16%;animation-delay:-6s}.v-chisel{left:13%;top:52%;animation-delay:-2s}.v-ink{left:45%;top:42%;width:190px;height:190px;animation-delay:-8s}.v-map{right:10%;bottom:3%;width:235px;height:235px;animation-delay:-5s}
.archive{display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#5C3A1E,#2E1F0F 68%)}.archive-field{position:relative;width:min(720px,90vw);height:720px;display:grid;place-items:center}.archive-bubble{position:relative;width:330px;height:330px;background:radial-gradient(circle at 50% 45%,#2E1F0F,#1A1008);animation:pulse 12s ease-in-out infinite}.sigil-piece{width:18px;height:18px;background:#C4973B;image-rendering:pixelated;transform:scale(8);box-shadow:18px 0 #C4973B,36px 0 #C4973B,0 18px #C4973B,18px 18px #5E8C6A,36px 18px #C4973B,54px 18px #C4973B,0 36px #C4973B,18px 36px #C4973B,36px 36px #C4973B,18px 54px #C4973B,36px 54px #C4973B}.archive-field p{position:absolute;bottom:7%;font-family:"Playfair Display",serif;font-style:italic;color:#C4973B;font-size:clamp(1.4rem,3vw,2.2rem);text-align:center;letter-spacing:-.02em}.archive-pixel{position:absolute;width:14px;height:14px;background:#C4973B;box-shadow:14px 0 #A0522D,0 14px #D9C8A9;transition:transform 1.5s cubic-bezier(.34,1.56,.64,1),opacity 1s}.p-a{left:8%;top:18%}.p-b{right:16%;top:24%;background:#5E8C6A}.p-c{left:18%;bottom:22%;background:#A0522D}.p-d{right:12%;bottom:20%}.archive.visible .archive-pixel{transform:translate(calc(36vw - 50%),calc(36vh - 50%)) scale(.2);opacity:.25}
@keyframes snap{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.45) rotate(-18deg)}78%{opacity:1;transform:translate(0,0) scale(1.08) rotate(2deg)}100%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes drift{0%,100%{translate:0 0}50%{translate:6px -22px}}
@keyframes iridescence{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pulse{0%,100%{box-shadow:inset 0 -40px 80px rgba(196,151,59,.12),0 0 60px rgba(196,151,59,.12)}50%{box-shadow:inset 0 -22px 60px rgba(94,140,106,.18),0 0 90px rgba(196,151,59,.18)}}
@media(max-width:820px){.hero-grid,.workshop-grid{grid-template-columns:1fr;padding:5rem 1.25rem;margin-left:0}.constellation{height:480px}.leather-strip{width:18px}.workbench{height:320px}.stepped-copy{padding:0}.stepped-copy p:nth-child(n){margin-left:0}.cabinet{padding:5rem 1rem}.cabinet-heading{margin-left:0}.cabinet-stage{height:auto;display:grid;gap:2rem;place-items:center;margin-top:3rem}.vessel{position:relative;left:auto;right:auto;top:auto;bottom:auto}.archive-field{height:620px}.site-title{font-size:clamp(3.3rem,16vw,6rem)}}
