:root{--paper:oklch(95% .018 80);--paper-deep:oklch(91% .022 80);--ink:oklch(22% .05 280);--ink-soft:oklch(38% .045 280);--ink-fade:oklch(52% .035 280);--hairline:oklch(82% .025 80);--plum:oklch(16% .06 295);--plum-deep:oklch(11% .05 295);--plum-soft:oklch(22% .05 295);--cream-on-dark:oklch(95% .018 80);--cream-on-dark-soft:oklch(82% .025 80);--cream-on-dark-fade:oklch(68% .03 80);--lamp:oklch(72% .15 70);--lamp-deep:oklch(63% .16 70);--lamp-glow:oklch(75% .16 70/.18);--serif-display:"Petrona", "Iowan Old Style", "Palatino", Georgia, serif;--serif-body:"Inria Serif", "Iowan Old Style", "Palatino", Georgia, serif;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--measure-hero-text:32rem;--measure-story:40rem}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--serif-body);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;padding:0;font-size:17px;font-weight:400;line-height:1.6}::selection{color:var(--ink);background:oklch(86% .08 75/.6)}.page{width:100%;min-height:100dvh}.hero{isolation:isolate;background:var(--plum-deep);color:var(--cream-on-dark);padding:clamp(var(--space-lg), 4vw, var(--space-2xl)) clamp(var(--space-lg), 6vw, var(--space-3xl));padding-bottom:clamp(var(--space-2xl), 7vw, var(--space-4xl));flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=76rem){.hero{min-height:100dvh}}.hero__backdrop{z-index:-1;background: radial-gradient(ellipse 60% 50% at 80% 35%, oklch(35% .09 60/.45) 0%, transparent 60%),  linear-gradient(to right, var(--plum-deep) 0%, var(--plum) 55%, var(--plum-soft) 100%);position:absolute;inset:0}.hero:before{content:"";z-index:-1;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.92 0 0 0 0 0.86 0 0 0 0 0.74 0 0 0 0.65 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.hero__header{margin-bottom:clamp(var(--space-2xl), 6vw, var(--space-3xl))}.hero__wordmark{font-family:var(--serif-display);letter-spacing:.24em;text-transform:uppercase;color:var(--cream-on-dark-soft);font-size:clamp(13px,1vw,15px);font-weight:500}.hero__grid{align-items:center;gap:clamp(var(--space-2xl), 5vw, var(--space-3xl));flex:1;grid-template-columns:1fr;width:100%;max-width:76rem;margin:0 auto;display:grid}@media (width>=76rem){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}.hero__column{max-width:var(--measure-hero-text);margin:0 auto}@media (width>=48rem){.hero__column{margin:0}}.hero__badge{border:1px solid var(--lamp-glow);background:var(--lamp-glow);color:var(--lamp);font-family:var(--serif-body);letter-spacing:.02em;margin-bottom:var(--space-xl);border-radius:999px;align-items:center;padding:6px 14px;font-size:.85rem;font-style:italic;display:inline-flex}.hero__title{font-family:var(--serif-display);letter-spacing:-.018em;color:var(--cream-on-dark);margin:0 0 var(--space-lg);text-wrap:balance;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:400;line-height:1.05}.hero__title-line{display:block}.hero__title-line--italic{color:var(--cream-on-dark-soft);font-style:italic;font-weight:300}.hero__sub{font-family:var(--serif-body);color:var(--cream-on-dark-soft);margin:0 0 var(--space-2xl);max-width:30rem;font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:300;line-height:1.6}.hero__form{gap:var(--space-sm);flex-direction:column;display:flex}.hero__label{font-family:var(--serif-body);letter-spacing:.04em;color:var(--cream-on-dark-fade);font-size:.85rem;font-style:italic}.hero__field{align-items:stretch;gap:var(--space-sm);flex-wrap:wrap;display:flex}.hero__input{min-width:0;min-height:48px;font-family:var(--serif-body);color:var(--cream-on-dark);background:oklch(20% .04 295/.6);border:1px solid oklch(60% .04 295/.4);border-radius:2px;outline:none;flex:14rem;padding:14px 16px;font-size:1.05rem;transition:border-color .18s,background .18s}.hero__input::placeholder{color:var(--cream-on-dark-fade);font-style:italic}.hero__input:hover{border-color:oklch(75% .05 295/.6)}.hero__input:focus{border-color:var(--lamp);background:oklch(22% .05 295/.85)}.hero__button{white-space:nowrap;min-height:48px;font-family:var(--serif-display);letter-spacing:.03em;color:var(--plum-deep);background:var(--lamp);border:1px solid var(--lamp);cursor:pointer;border-radius:2px;padding:14px 24px;font-size:1rem;font-weight:500;transition:background .2s,border-color .2s,transform .12s,box-shadow .2s;box-shadow:0 8px 32px oklch(70% .15 70/.25)}.hero__button:hover:not(:disabled){background:var(--lamp-deep);border-color:var(--lamp-deep);box-shadow:0 10px 36px oklch(65% .16 70/.4)}.hero__button:active:not(:disabled){transform:translateY(1px)}.hero__button:disabled{opacity:.55;cursor:not-allowed}.hero__hint{font-family:var(--serif-body);color:var(--cream-on-dark-fade);margin:var(--space-xs) 0 0;max-width:28rem;font-size:.82rem;font-style:italic}.hero__confirmation{font-family:var(--serif-body);color:var(--cream-on-dark);padding:var(--space-md) 0;border-top:1px solid oklch(60% .04 295/.4);border-bottom:1px solid oklch(60% .04 295/.4);max-width:28rem;margin:0;font-size:1.1rem;font-style:italic;line-height:1.55}.hero__visual{height:100%;min-height:28rem;display:none;position:relative}@media (width>=76rem){.hero__visual{display:block}}.gallery{perspective:1400px;width:100%;max-width:32rem;height:100%;min-height:30rem;margin:0 auto;position:relative}.gallery__book{transform-origin:50%;width:clamp(13rem,16vw,16rem);height:clamp(18rem,23vw,21rem);transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:50%;left:50%}.gallery__book--back{transform:translate(-90%,-58%)rotate(-11deg)}.gallery__book--middle{z-index:2;transform:translate(-50%,-42%)rotate(1deg)}.gallery__book--front{z-index:3;transform:translate(-10%,-55%)rotate(9deg)}.gallery__cover{color:oklch(88% .025 80);background:linear-gradient(150deg,oklch(28% .07 280) 0%,oklch(22% .08 290) 60%,oklch(18% .07 295) 100%);border:1px solid oklch(45% .06 285/.55);border-radius:3px 6px 6px 3px;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:clamp(1.4rem,2vw,1.8rem) clamp(1.1rem,1.6vw,1.5rem);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px oklch(0% 0 0/.55),0 12px 28px oklch(0% 0 0/.45),inset 1px 0 oklch(65% .04 285/.18)}.gallery__book--accent .gallery__cover{background:linear-gradient(150deg,oklch(32% .09 65) 0%,oklch(22% .09 50) 60%,oklch(15% .06 30) 100%);border-color:oklch(55% .1 60/.5)}.gallery__glow{pointer-events:none;background:radial-gradient(60% 50% at 50% 28%,oklch(75% .15 70/.25) 0%,#0000 60%);position:absolute;inset:-20%}.gallery__spine{background:linear-gradient(90deg,oklch(0% 0 0/.45),oklch(0% 0 0/0) 100%);width:6px;position:absolute;inset:0 auto 0 0}.gallery__crest{font-family:var(--serif-display);letter-spacing:.3em;color:var(--lamp);text-transform:uppercase;align-self:flex-start;font-size:.85rem;font-weight:600}.gallery__title{font-family:var(--serif-display);color:oklch(94% .02 80);text-wrap:balance;margin:auto 0 var(--space-xs);font-size:clamp(1.15rem,1.6vw,1.4rem);font-style:italic;font-weight:500;line-height:1.2}.gallery__subtitle{font-family:var(--serif-body);letter-spacing:.04em;color:oklch(70% .03 80);font-size:.78rem;font-style:italic}.story{padding:clamp(var(--space-3xl), 9vw, var(--space-4xl)) clamp(var(--space-lg), 6vw, var(--space-3xl));background:var(--paper)}.story__inner{max-width:var(--measure-story);margin:0 auto}.story__heading{font-family:var(--serif-display);letter-spacing:-.005em;color:var(--ink);margin:0 0 var(--space-xl);font-size:clamp(1.6rem,2.8vw,2rem);font-style:italic;font-weight:500;line-height:1.15}.story__paragraph{font-family:var(--serif-body);color:var(--ink);margin:0 0 var(--space-lg);max-width:36rem;font-size:1.08rem;font-weight:400;line-height:1.72}.story__anchor{font-family:var(--serif-body);color:var(--ink-soft);margin:var(--space-xl) 0 var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--hairline);max-width:34rem;font-size:1.05rem;font-style:italic;font-weight:400;line-height:1.7}.story__mission{font-family:var(--serif-display);color:var(--ink);margin:var(--space-2xl) 0 0;text-wrap:balance;max-width:32rem;font-size:clamp(1.2rem,1.8vw,1.4rem);font-weight:400;line-height:1.45}.footer{padding:var(--space-xl) clamp(var(--space-lg), 6vw, var(--space-3xl));background:var(--paper);border-top:1px solid var(--hairline)}.footer__line{font-family:var(--serif-body);color:var(--ink-fade);letter-spacing:.01em;text-align:center;margin:0;font-size:.85rem;font-style:italic;font-weight:300}.footer__link{color:var(--ink-fade);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);transition:color .18s,text-decoration-color .18s}.footer__link:hover{color:var(--ink-soft);-webkit-text-decoration-color:var(--ink-fade);text-decoration-color:var(--ink-fade)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero__wordmark,.hero__badge,.hero__title,.hero__sub,.hero__form,.hero__confirmation,.hero__visual{animation:.75s cubic-bezier(.22,1,.36,1) both rise}.hero__wordmark{animation-delay:40ms}.hero__badge{animation-delay:.14s}.hero__title{animation-delay:.22s}.hero__sub{animation-delay:.32s}.hero__form,.hero__confirmation{animation-delay:.42s}.hero__visual{animation-delay:.52s}@media (prefers-reduced-motion:reduce){.hero__wordmark,.hero__badge,.hero__title,.hero__sub,.hero__form,.hero__confirmation,.hero__visual{animation:none}.hero__button,.hero__input,.footer__link,.gallery__book{transition:none}}@media (width<=36rem){html,body{font-size:16px}.hero__header{margin-bottom:var(--space-2xl)}.hero__badge{margin-bottom:var(--space-lg)}.hero__sub{margin-bottom:var(--space-xl)}.hero__field{flex-direction:column}.hero__input,.hero__button{flex:none;width:100%}}@media (width>=36rem) and (width<=76rem){.hero__column{width:100%}}@media (width>=96rem){.hero__grid{max-width:84rem}}
