@font-face{font-family:Kahve Display;src:url(/assets/ultra-latin-DgFk8-ay.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kahve Serif;src:url(/assets/fraunces-latin-BOz5zopO.woff2)format("woff2");font-weight:300 600;font-style:normal;font-display:swap}@font-face{font-family:Kahve Serif;src:url(/assets/fraunces-italic-latin-DR5riGUD.woff2)format("woff2");font-weight:300 600;font-style:italic;font-display:swap}body.kahve-active{background:var(--color-kahve-brown)}.kahve{--kahve-nav:76px;--kahve-reach:56px;--kahve-motion:1;background:var(--color-kahve-brown);color:var(--color-kahve-cream);font-family:Kahve Serif,Georgia,serif}.kahve-track{position:relative}.kahve-stage{height:100svh;position:sticky;top:0;overflow:hidden}.kahve-frame{top:var(--kahve-nav);width:min(100vw, calc((100svh - var(--kahve-nav)) * .5625));aspect-ratio:9/16;margin-inline:auto;position:absolute;left:0;right:0}.kahve-video{object-fit:contain;background:var(--color-kahve-brown);-webkit-mask-composite:source-in;width:100%;height:100%;display:block;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#0000,#000 6% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000),linear-gradient(#0000,#000 6% 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.kahve-frame--camera{transform-origin:0 0;will-change:transform}.kahve-video--reverse{opacity:0;position:absolute;inset:0}.kahve-video--reverse.kahve-video--active{opacity:1}.kahve-vignette{pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 58%, transparent 45%, color-mix(in srgb, var(--color-kahve-brown-deep) 80%, transparent) 100%);position:absolute;inset:0}.kahve-beat{--a:0;visibility:hidden;position:absolute}.kahve-beat__copy{opacity:var(--a);filter:blur(calc((1 - var(--a)) * var(--kahve-motion) * 8px));text-shadow:0 2px 18px color-mix(in srgb, var(--color-kahve-brown-deep) 70%, transparent)}.kahve-beat__eyebrow{margin-bottom:var(--space-2);letter-spacing:.22em;text-transform:uppercase;color:var(--color-kahve-brass);font-family:Kahve Display,Georgia,serif;font-size:.8rem;display:block}.kahve-beat__title{font-family:Kahve Serif,Georgia,serif;font-size:clamp(1.4rem,2.2vw,2rem);font-style:italic;font-weight:600;line-height:1.1}.kahve-beat__body{margin-top:var(--space-3);color:color-mix(in srgb, var(--color-kahve-cream) 82%, transparent);font-size:1.05rem;font-weight:300;line-height:1.55}.kahve-beat--anchor{top:calc(var(--y) * 1%);height:0}.kahve-beat--right{left:calc(var(--x) * 1%);right:0}.kahve-beat--left{left:0;right:calc((100 - var(--x)) * 1%)}.kahve-beat__dot{background:var(--color-kahve-brass);width:10px;height:10px;opacity:var(--a);transform:scale(calc(.4 + var(--a) * .6));box-shadow:0 0 0 calc(var(--a) * 7px) color-mix(in srgb, var(--color-kahve-brass) 22%, transparent);border-radius:50%;position:absolute;top:-5px}.kahve-beat--right .kahve-beat__dot{left:-5px}.kahve-beat--left .kahve-beat__dot{right:-5px}.kahve-beat__line{height:1px;width:calc(100% + var(--kahve-reach));background:color-mix(in srgb, var(--color-kahve-cream) 55%, transparent);transform:scaleX(var(--a));position:absolute;top:0}.kahve-beat--right .kahve-beat__line{transform-origin:0;left:0}.kahve-beat--left .kahve-beat__line{transform-origin:100%;right:0}.kahve-beat--anchor .kahve-beat__copy{width:270px;transform:translateY(calc(-50% + (1 - var(--a)) * var(--kahve-motion) * 12px));position:absolute;top:0}.kahve-beat--anchor.kahve-beat--right .kahve-beat__copy{left:calc(100% + var(--kahve-reach) + var(--space-4))}.kahve-beat--anchor.kahve-beat--left .kahve-beat__copy{right:calc(100% + var(--kahve-reach) + var(--space-4));text-align:right}.kahve-beat--top{text-align:center;width:min(92vw,760px);top:6%;left:50%;transform:translate(-50%)}.kahve-beat--top .kahve-beat__copy{transform:translateY(calc((1 - var(--a)) * var(--kahve-motion) * 16px))}.kahve-beat--left:not(.kahve-beat--anchor),.kahve-beat--right:not(.kahve-beat--anchor){width:340px;top:34%}.kahve-beat--left:not(.kahve-beat--anchor){text-align:right;left:auto;right:calc(100% + 72px)}.kahve-beat--right:not(.kahve-beat--anchor){left:calc(100% + 72px);right:auto}.kahve-beat--left:not(.kahve-beat--anchor) .kahve-beat__copy{transform:translateX(calc((1 - var(--a)) * var(--kahve-motion) * -18px))}.kahve-beat--right:not(.kahve-beat--anchor) .kahve-beat__copy{transform:translateX(calc((1 - var(--a)) * var(--kahve-motion) * 18px))}.kahve-beat--hero .kahve-beat__eyebrow{margin-bottom:var(--space-3)}.kahve-beat--hero .kahve-beat__title{letter-spacing:.04em;text-transform:uppercase;font-family:Kahve Display,Georgia,serif;font-size:clamp(3.6rem,11vw,9rem);font-style:normal;font-weight:400;line-height:.95}.kahve-beat--hero .kahve-beat__body{max-width:30rem;margin-inline:auto;font-size:1.15rem;font-style:italic}.kahve-beat__cta{margin-top:var(--space-5);border-radius:var(--radius-full);background:var(--color-kahve-cream);color:var(--color-kahve-ink);letter-spacing:.16em;text-transform:uppercase;text-shadow:none;transition:background-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);padding:.85rem 1.8rem;font-family:Kahve Display,Georgia,serif;font-size:.85rem;display:inline-block}.kahve-beat__cta:hover{background:var(--color-kahve-brass);transform:translateY(-2px)}.kahve-beat__cta:focus-visible{outline:2px solid var(--color-kahve-brass);outline-offset:4px}.kahve-numeral{color:#0000;-webkit-text-stroke:1.5px color-mix(in srgb, var(--color-kahve-cream) 16%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Kahve Display,Georgia,serif;font-size:clamp(9rem,20vw,19rem);line-height:1;position:absolute;bottom:-.12em;right:4vw}.kahve-numeral--in{animation:kahve-numeral-in .9s var(--ease-out) both}@keyframes kahve-numeral-in{0%{opacity:0;transform:translateY(18%)rotate(-4deg)}to{opacity:1;transform:none}}.kahve-chapters{left:var(--space-6);bottom:var(--space-6);position:absolute}.kahve-chapters ol{gap:var(--space-1);display:grid}.kahve-chapters__item{align-items:baseline;gap:var(--space-3);padding:var(--space-1) var(--space-2);margin-left:calc(var(--space-2) * -1);cursor:pointer;color:color-mix(in srgb, var(--color-kahve-cream) 35%, transparent);transition:color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:0 0;border:0;font-family:Kahve Serif,Georgia,serif;font-size:.95rem;font-style:italic;display:flex}.kahve-chapters__item:hover{color:color-mix(in srgb, var(--color-kahve-cream) 75%, transparent);transform:translate(3px)}.kahve-chapters__item:focus-visible{outline:1px solid var(--color-kahve-brass);outline-offset:2px;border-radius:4px}.kahve-chapters__num{letter-spacing:.15em;font-family:Kahve Display,Georgia,serif;font-size:.7rem;font-style:normal}.kahve-chapters__item--active{color:var(--color-kahve-cream);transform:translate(6px)}.kahve-chapters__item--active .kahve-chapters__num{color:var(--color-kahve-brass)}.kahve-progress{--p:0;right:var(--space-6);background:color-mix(in srgb, var(--color-kahve-cream) 18%, transparent);width:1px;height:40%;position:absolute;top:30%}.kahve-progress:after{content:"";background:var(--color-kahve-brass);transform:scaleY(var(--p));transform-origin:top;position:absolute;inset:0}@media (width<=1080px){.kahve-beat__line,.kahve-chapters,.kahve-progress,.kahve-numeral{display:none}.kahve-beat--anchor.kahve-beat--left .kahve-beat__copy,.kahve-beat--anchor.kahve-beat--right .kahve-beat__copy{width:auto;padding:var(--space-7) var(--space-5) var(--space-6);text-align:center;transform:translateY(calc((1 - var(--a)) * var(--kahve-motion) * 16px));background:linear-gradient(to top, color-mix(in srgb, var(--color-kahve-brown-deep) 92%, transparent) 40%, transparent);position:fixed;inset:auto 0 0}.kahve-beat--left:not(.kahve-beat--anchor),.kahve-beat--right:not(.kahve-beat--anchor){text-align:center;width:min(92vw,520px);top:6%;left:50%;right:auto;transform:translate(-50%)}.kahve-beat--left:not(.kahve-beat--anchor) .kahve-beat__copy,.kahve-beat--right:not(.kahve-beat--anchor) .kahve-beat__copy{transform:translateY(calc((1 - var(--a)) * var(--kahve-motion) * 16px))}.kahve-beat__body{font-size:.98rem}}@media (prefers-reduced-motion:reduce){.kahve{--kahve-motion:0}.kahve-numeral--in{animation:none}}
