:root{--ink-black:#0a0707;--ink-deep:#14100f;--rice-paper:#e8dcc4;--rice-warm:#d9c9a8;--crimson:#c8102e;--crimson-deep:#8b0a1f;--crimson-glow:#ff2d4a;--sumi:#1a1614;--bone:#f0e6d2;--gold-leaf:#b8935a;--shadow-ink:#000000d9}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink-black);color:var(--bone);font-family:Cormorant Garamond,serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}.reveal{opacity:0!important;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)!important;transform:translateY(40px)!important}.reveal.visible{opacity:1!important;transform:translateY(0)!important}.reveal-delay-1{transition-delay:.15s!important}.reveal-delay-2{transition-delay:.3s!important}.reveal-delay-3{transition-delay:.45s!important}.reveal-delay-4{transition-delay:.6s!important}@media (max-width:1024px){body{cursor:auto}.cursor-ring,.cursor-dot{display:none}*{cursor:auto!important}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes wordReveal{to{transform:translateY(0)}}@keyframes sunBreathe{0%,to{filter:drop-shadow(0 0 60px #c8102e66);transform:scale(1)}50%{filter:drop-shadow(0 0 100px #c8102e99);transform:scale(1.04)}}@keyframes rayRotate{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}@keyframes scrollPulse{0%{background-position:0 -100%}to{background-position:0 200%}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes petalFall{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:.8}90%{opacity:.7}to{opacity:0;transform:translate(var(--drift), calc(100vh + 50px)) rotate(var(--rotate))}}
.grain{pointer-events:none;z-index:100;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}
.cursor-ring{border:1px solid var(--crimson);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:36px;height:36px;transition:width .3s,height .3s,border-color .3s,background .3s;position:fixed;transform:translate(-50%,-50%)}.cursor-dot{background:var(--crimson);pointer-events:none;z-index:10000;border-radius:50%;width:4px;height:4px;position:fixed;transform:translate(-50%,-50%)}.cursor-ring.hover{background:#c8102e26;width:64px;height:64px}@media (max-width:1024px){.cursor-ring,.cursor-dot{display:none}}
.sakura-layer{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.petal{opacity:0;will-change:transform, opacity;background:radial-gradient(circle at 30% 30%,#ffd5dc 0%,#ffadbd 40%,#d96a82 100%);border-radius:0 100%;width:14px;height:14px;position:absolute;box-shadow:0 0 8px #ffb4c84d}
.nav{z-index:1000;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#0a0707e6,#0000);justify-content:space-between;align-items:center;padding:1.8rem 4rem;transition:background .3s,border-bottom .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{letter-spacing:.1em;color:var(--bone);align-items:center;gap:.6rem;font-family:Shippori Mincho,serif;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.nav-logo-image{object-fit:contain;width:32px;height:32px}.nav-logo-main{letter-spacing:.1em;color:var(--bone);font-family:Shippori Mincho,serif;font-size:1.4rem;font-weight:700;line-height:32px}.nav-logo-text{align-items:center;gap:.3rem;height:32px;display:flex}.nav-logo-alpha{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-leaf);font-family:JetBrains Mono,monospace;font-size:1.4rem;line-height:32px}.nav-logo .seal{background:var(--crimson);width:28px;height:28px;color:var(--bone);border-radius:50%;justify-content:center;align-items:center;font-family:Yuji Mai,serif;font-size:1rem;display:inline-flex}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{letter-spacing:.2em;text-transform:uppercase;color:#f0e6d2b3;font-family:JetBrains Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .3s;position:relative}.nav-links a:hover{color:var(--crimson)}.nav-links a:after{content:"";background:var(--crimson);transform-origin:100%;width:100%;height:1px;transition:transform .4s cubic-bezier(.7,0,.3,1);position:absolute;bottom:-6px;left:0;transform:scaleX(0)}.nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{border:1px solid var(--crimson);color:var(--bone);letter-spacing:.25em;text-transform:uppercase;padding:.6rem 1.4rem;font-family:JetBrains Mono,monospace;font-size:.7rem;text-decoration:none;transition:all .3s}.nav-ctas{gap:1rem;display:flex}.nav-ctas .nav-cta{display:block}.nav-cta:hover{background:var(--crimson)}.nav-hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:6px 4px;display:none}.nav-hamburger span{background:var(--crimson);transform-origin:50%;border-radius:2px;width:24px;height:2px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s;display:block}.nav-hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-overlay{z-index:1001;opacity:0;pointer-events:none;background:#000000a6;transition:opacity .3s;position:fixed;inset:0}.nav-overlay.visible{opacity:1;pointer-events:all}.nav-sidebar{background:var(--ink-deep);z-index:1002;border-left:1px solid #c8102e40;flex-direction:column;gap:2rem;width:min(300px,85vw);height:100dvh;padding:2rem 1.8rem 2.5rem;transition:transform .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.nav-sidebar.open{transform:translate(0)}.nav-sidebar-close{color:#f0e6d2b3;cursor:pointer;background:0 0;border:1px solid #c8102e4d;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;transition:background .2s,color .2s;display:flex;position:absolute;top:1.2rem;right:1.2rem}.nav-sidebar-close:hover{background:var(--crimson);color:var(--bone)}.nav-sidebar-logo{letter-spacing:.1em;color:var(--bone);align-items:center;gap:.6rem;padding-top:.25rem;font-family:Shippori Mincho,serif;font-size:1.3rem;font-weight:700;display:flex}.nav-sidebar-links{border-top:1px solid #f0e6d21a;flex-direction:column;list-style:none;display:flex}.nav-sidebar-links li{border-bottom:1px solid #f0e6d214}.nav-sidebar-links a{letter-spacing:.28em;text-transform:uppercase;color:#f0e6d2bf;padding:1rem 0;font-family:JetBrains Mono,monospace;font-size:.72rem;text-decoration:none;transition:color .2s,padding-left .25s;display:block}.nav-sidebar-links a:hover{color:var(--crimson);padding-left:.6rem}.nav-sidebar-ctas{flex-direction:column;gap:.75rem;margin-top:auto;display:flex}.sidebar-cta{text-align:center;width:100%;display:block!important}@media (max-width:1024px){.nav{padding:1.2rem 1.5rem}.nav-links{display:none}.nav .nav-ctas{display:none!important}.nav-hamburger{display:flex}}
.footer{background:var(--ink-black);border-top:1px solid #f0e6d21a;padding:4rem 6vw 3rem;position:relative}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;max-width:1400px;margin:0 auto 3rem;display:grid}.footer-brand-text{color:#f0e6d280;max-width:320px;margin-top:1rem;font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic;line-height:1.6}.footer-social{gap:1rem;margin-top:1.5rem;display:flex}.footer-social-link{width:40px;height:40px;color:var(--bone);background:#f0e6d21a;border:1px solid #f0e6d233;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:inline-flex}.footer-social-link:hover{border-color:var(--crimson);color:var(--crimson);background:#c8102e33;transform:translateY(-2px)}.footer-col h4{letter-spacing:.3em;text-transform:uppercase;color:var(--crimson);margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.7rem}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.7rem}.footer-col a{color:#f0e6d299;font-size:.95rem;text-decoration:none;transition:color .3s}.footer-col a:hover{color:var(--crimson)}.footer-bottom{letter-spacing:.15em;color:#f0e6d266;border-top:1px solid #f0e6d214;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding-top:2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.footer-bottom a{color:var(--gold-leaf);text-decoration:none}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
