:root{--bone:#f7f3ee;--bone-deep:#efe8e0;--bone-edge:#e4dbd1;--espresso:#241d1a;--espresso-soft:#4a3f39;--charcoal:#171310;--charcoal-soft:#221c18;--blush:#c29b94;--blush-deep:#a97f77;--ground:var(--bone);--ink:var(--espresso);--ink-soft:var(--espresso-soft);--ink-faint:#241d1a6b;--rule:#241d1a24;--accent:var(--blush-deep);--shadow-sm:0 .4rem 1rem -.5rem #241d1a2e;--shadow-md:0 1.2rem 2.4rem -1rem #241d1a38;--shadow-lg:0 2.4rem 5rem -1.5rem #241d1a4d;--shadow-xl:0 4rem 8rem -2rem #241d1a61;--z-ground:0;--z-raised:1;--z-nav:100;--z-lightbox:200;--z-grain:300;--z-cursor:400;--z-preloader:500;--z-skip:600;--display:"Playfair", "Playfair Display", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs:clamp(.68rem, .66rem + .1vw, .74rem);--t-sm:clamp(.8rem, .77rem + .14vw, .88rem);--t-base:clamp(.95rem, .9rem + .22vw, 1.06rem);--t-lg:clamp(1.1rem, 1rem + .5vw, 1.4rem);--t-xl:clamp(1.5rem, 1.2rem + 1.4vw, 2.4rem);--t-2xl:clamp(2.1rem, 1.5rem + 2.8vw, 4rem);--t-3xl:clamp(2.9rem, 1.6rem + 5.6vw, 7rem);--t-4xl:clamp(3rem, .8rem + 7vw, 8.5rem);--gutter:clamp(1.25rem, 4vw, 4.5rem);--section-y:clamp(5rem, 12vh, 11rem);--measure:34ch;--max:1680px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--dur:.7s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);font-size:var(--t-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-tone=dark]{--ground:var(--charcoal);--ink:#f2ece4;--ink-soft:#f2ece4a8;--ink-faint:#f2ece466;--rule:#f2ece429;--accent:var(--blush);--shadow-sm:0 .4rem 1rem -.5rem #00000080;--shadow-md:0 1.2rem 2.4rem -1rem #0000008c;--shadow-lg:0 2.4rem 5rem -1.5rem #0009;--shadow-xl:0 4rem 8rem -2rem #000000a8}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);min-height:100svh;overflow-x:clip}body.has-cursor,body.has-cursor *{cursor:none}img,picture,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{text-wrap:balance;font-weight:400;line-height:.94}::selection{background:var(--blush);color:var(--bone)}.shell{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-size:var(--t-xs);letter-spacing:.34em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7em;font-weight:500;display:flex}.eyebrow:before{content:"";opacity:.55;background:currentColor;flex:none;width:clamp(1.5rem,4vw,3rem);height:1px}.display{font-family:var(--display);font-optical-sizing:auto;letter-spacing:-.028em}.display em{color:var(--accent);font-style:italic}.line-mask{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.line-mask>span{will-change:transform;display:block}.rule-link{padding-bottom:.2em;display:inline-block;position:relative}.rule-link:after{content:"";inset-inline:0;transform-origin:100%;height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:0;transform:scaleX(0)}.rule-link:hover:after,.rule-link:focus-visible:after{transform-origin:0;transform:scaleX(1)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-skip);background:var(--espresso);color:var(--bone);font-size:var(--t-sm);letter-spacing:.08em;transition:transform .3s var(--ease-out);padding:.75rem 1.25rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cursor{z-index:var(--z-cursor);pointer-events:none;opacity:0;position:fixed;inset:0}body.has-cursor .cursor{opacity:1}.cursor__dot,.cursor__ring{will-change:transform;border-radius:999px;position:absolute;top:0;left:0;translate:-50% -50%}.cursor__dot{background:var(--espresso);width:6px;height:6px;transition:width .3s var(--ease-out), height .3s var(--ease-out), opacity .3s var(--ease-out), background-color .35s var(--ease-out)}.cursor__ring{width:2.4rem;height:2.4rem;transition:width .45s var(--ease-out), height .45s var(--ease-out), background-color .45s var(--ease-out), border-color .35s var(--ease-out);background:0 0;border:1px solid #241d1a80;place-items:center;display:grid}.cursor__label{letter-spacing:.2em;text-transform:uppercase;color:var(--bone);opacity:0;transition:opacity .3s var(--ease-out), scale .4s var(--ease-out);font-size:.62rem;font-weight:500;scale:.7}.cursor[data-state=view] .cursor__ring{background:var(--blush-deep);border-color:#0000;width:5.5rem;height:5.5rem}.cursor[data-state=view] .cursor__label{opacity:1;scale:1}.cursor[data-state=view] .cursor__dot{opacity:0}.cursor[data-state=link] .cursor__ring{border-color:var(--blush-deep);width:3.4rem;height:3.4rem}.cursor[data-state=link] .cursor__dot{width:3px;height:3px}.cursor.is-down .cursor__ring{scale:.82}.cursor[data-tone=dark] .cursor__dot{background:var(--bone)}.cursor[data-tone=dark] .cursor__ring{border-color:#f2ece48c}.cursor[data-state=view] .cursor__ring,.cursor[data-tone=dark][data-state=view] .cursor__ring{border-color:#0000}@media (pointer:coarse),(prefers-reduced-motion:reduce){.cursor{display:none}}#smooth-wrapper{overflow:clip}#top{height:0;display:block}.grain{z-index:var(--z-grain);pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s step-end infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,1%)}}@media (prefers-reduced-motion:reduce){.grain{animation:none}}
