:root{--color-primary: oklch(.359 .091 333);--color-cover: oklch(.359 .091 333);--color-cover-deep: oklch(.27 .075 333);--color-foil: oklch(.863 .072 92);--color-page: oklch(.985 .006 230);--color-print: oklch(.995 .004 92);--color-ink: oklch(.284 .021 333);--color-ink-soft: oklch(.469 .043 225);--color-heart: oklch(.525 .209 10);--color-background: oklch(.955 .012 230);--spine: linear-gradient(90deg, #2a0e26, #4b2045 60%, #341230);--corner: #351d31;--font-body: "Newsreader", "Iowan Old Style", Palatino, serif;--font-display: "Trirong", "Iowan Old Style", Palatino, serif;--shadow-book: 0 25px 50px -12px rgb(55 40 52 / .35);--ease: cubic-bezier(.32, .72, 0, 1);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-background);font-size:18px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--color-primary)}img,video{max-width:100%}.haze-root{position:relative;min-height:100vh;overflow:hidden}.haze{position:absolute;width:70vmax;height:40vmax;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}.haze-a{background:#cbe2ee;top:-10vmax;left:-15vmax;animation:drift 38s ease-in-out infinite alternate}.haze-b{background:#f5e1f1;bottom:-15vmax;right:-20vmax;animation:drift 46s ease-in-out infinite alternate-reverse}@keyframes drift{to{transform:translate3d(12vmax,4vmax,0)}}.site-header,.site-footer,.sheet-card,.viewer,.preview-bar{position:relative;z-index:1}.site-header,.site-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;width:min(880px,calc(100% - 2rem));margin:0 auto;padding:1.1rem 0}.wordmark{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--color-primary);font-size:.92rem}.site-nav{display:flex;gap:1rem;align-items:center;font-size:.95rem}.site-nav a{text-decoration:none}.site-footer{color:var(--color-ink-soft);font-size:.92rem;padding-bottom:2rem}.site-footer a{color:inherit}.hero{width:min(720px,calc(100% - 2rem));margin:1.5rem auto 2.5rem}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;color:var(--color-ink-soft);margin:0 0 .8rem}h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em}.hero h1{font-size:clamp(2.5rem,8vw,4.4rem);line-height:1.02;margin:0 0 1rem}.lede{font-size:1.25rem;margin:0 0 1.5rem;max-width:38ch}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.facts{display:grid;gap:.8rem;padding:0;margin:1.5rem 0 0;list-style:none}.facts li{color:var(--color-ink-soft);max-width:46ch}.fine{color:var(--color-ink-soft);font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.75rem 1.3rem;border:1px solid transparent;text-decoration:none;background:var(--color-primary);color:#fff}.btn.secondary{background:transparent;color:var(--color-primary);border-color:color-mix(in oklch,var(--color-primary) 35%,transparent)}.btn.foil-btn{background:transparent;color:var(--color-foil);border-color:color-mix(in oklch,var(--color-foil) 60%,transparent)}.btn.foil-btn:hover{background:color-mix(in oklch,var(--color-foil) 12%,transparent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.full{width:100%}.sheet-card{width:min(720px,calc(100% - 2rem));margin:0 auto 2rem;background:color-mix(in oklch,var(--color-page) 88%,transparent);border-radius:16px;padding:1.25rem 1.1rem 1.4rem;box-shadow:var(--shadow-book)}.sheet-card h1{font-size:clamp(2rem,6vw,3rem);margin:.2rem 0 .4rem}.step{color:var(--color-ink-soft);font-size:.92rem;margin:0}.stack{display:grid;gap:.9rem}label.field{display:grid;gap:.35rem;font-size:.95rem}input[type=text],input[type=email],input[type=datetime-local],textarea,select{width:100%;border:1px solid color-mix(in oklch,var(--color-ink) 18%,transparent);background:#fff;border-radius:10px;padding:.7rem .8rem}textarea{min-height:7rem;resize:vertical}.choice-row,.swatches{display:flex;flex-wrap:wrap;gap:.55rem}.choice,.swatch{border:1px solid color-mix(in oklch,var(--color-ink) 16%,transparent);background:#fff;border-radius:12px;padding:.7rem .8rem;text-align:left}.choice[aria-pressed=true],.swatch[aria-pressed=true]{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.swatch{width:92px;height:64px;border-radius:8px;position:relative}.swatch span{position:absolute;left:8px;bottom:6px;color:var(--color-foil);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.swatch.plum{background:#582851}.swatch.forest{background:#244d2e}.swatch.navy{background:#223e61}.row-actions{display:flex;gap:.6rem;justify-content:space-between;margin-top:1rem}.error{color:#932b2a;margin:.4rem 0 0}.photo-tools{display:flex;gap:.6rem;flex-wrap:wrap}.photo-list{display:grid;gap:.8rem;margin-top:1rem}.photo-row{display:grid;grid-template-columns:auto 72px 1fr auto;gap:.6rem;align-items:center;background:#fff;border-radius:12px;padding:.45rem}.photo-row img{width:72px;height:72px;object-fit:cover;border-radius:6px}.handle{border:0;background:transparent;font-size:1.2rem;padding:.4rem;color:var(--color-ink-soft);touch-action:none}.ghost{border:0;background:transparent;color:var(--color-ink-soft);padding:.3rem}.picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.pick{border:1px solid color-mix(in oklch,var(--color-ink) 16%,transparent);border-radius:12px;padding:.4rem;background:#fff;text-align:left}.pick[aria-pressed=true]{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.pick img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.pick p{margin:.35rem .2rem;font-size:.85rem}.viewer{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.1rem 1rem 2rem}.preview-bar{width:min(720px,100%);display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.8rem;color:var(--color-ink-soft);font-size:.95rem}.preview-bar a,.preview-bar button.linkish{color:var(--color-primary);background:none;border:0;padding:0;text-decoration:underline}.nav{width:min(720px,100%);display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem}.nav-btn{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border-radius:999px;border:0;background:var(--color-page);color:var(--color-primary);box-shadow:0 1px 3px #37283426}.nav-btn:disabled{opacity:.3}.nav-btn.is-hidden{visibility:hidden}.nav-slider{flex:1;display:flex;flex-direction:column;gap:.35rem}.nav-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;border-radius:999px;background:linear-gradient(to right,var(--color-primary) var(--fill, 0%),color-mix(in oklch,var(--color-ink) 15%,transparent) var(--fill, 0%));outline:none;padding:0;border:0}.nav-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-page);border:2px solid var(--color-primary);box-shadow:0 1px 2px #37283426}.nav-label{margin:0;text-align:center;color:var(--color-ink-soft);font-size:.92rem}.stage-3d{width:min(1180px,100%);perspective:2200px;container-type:inline-size}.sheet{transform-style:preserve-3d}[data-cover=plum]{--color-primary: oklch(.359 .091 333);--color-cover: oklch(.359 .091 333);--color-cover-deep: oklch(.27 .075 333);--spine: linear-gradient(90deg, #2a0e26, #4b2045 60%, #341230);--corner: #351d31}[data-cover=forest]{--color-primary: oklch(.38 .07 150);--color-cover: oklch(.38 .07 150);--color-cover-deep: oklch(.28 .06 150);--spine: linear-gradient(90deg, #10241a, #234838 60%, #163026);--corner: #1c3328}[data-cover=navy]{--color-primary: oklch(.36 .07 255);--color-cover: oklch(.36 .07 255);--color-cover-deep: oklch(.26 .06 255);--spine: linear-gradient(90deg, #10182e, #24345c 60%, #152038);--corner: #1a2744}.linen{background-color:var(--color-cover);background-image:radial-gradient(120% 80% at 28% 0%,color-mix(in oklch,var(--color-cover) 55%,white) 0%,transparent 42%),radial-gradient(90% 70% at 80% 100%,var(--color-cover-deep) 0%,transparent 55%),linear-gradient(180deg,color-mix(in oklch,var(--color-cover) 88%,white),var(--color-cover) 38%,var(--color-cover-deep))}.spine{background:var(--spine);box-shadow:inset -2px 0 3px #00000040}.foil-frame{border:1.5px solid oklch(.863 .072 92 / .55);box-shadow:inset 0 0 0 5px transparent,inset 0 0 0 6px #e3d19c40}.foil{color:var(--color-foil);background:linear-gradient(100deg,#cfb47c,#f4e8bb 35%,#d3bb82 55%,#f9efc9 70%,#cfb47c);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 7s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:100% 0}50%{background-position:0% 0}}.foil-rule{height:1px;width:6rem;margin:1.6rem auto;background:var(--color-foil);opacity:.6}.text-foil{color:var(--color-foil)}.paper{background-color:var(--color-page);background-image:radial-gradient(140% 100% at 50% 0%,oklch(1 0 0 / .7),transparent 70%)}.cover,.quote-card,.paper-page{box-shadow:var(--shadow-book)}.cover{position:relative;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;aspect-ratio:4 / 5;width:min(100%,56vh);border-radius:2px 10px 10px 2px;padding:1.5rem}.cover .spine{position:absolute;inset:0 auto 0 0;width:1.4rem;border-radius:2px 0 0 2px}.cover .foil-frame,.quote-card .foil-frame{position:absolute;inset:1.3rem;border-radius:4px;pointer-events:none}.cover-kicker{margin:0;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.4em;text-transform:uppercase}.cover-name{margin:.3rem 0 0;font-family:var(--font-display);font-weight:600;font-size:clamp(3.2rem,12cqi,7rem);line-height:.95}.cover-title{margin:0;font-family:var(--font-display);font-style:italic;font-size:clamp(1.25rem,3cqi,2rem)}.cover .btn{margin-top:2.2rem;position:relative}.quote-card,.paper-page{position:relative;min-height:min(72vh,620px);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.4rem}.quote-card h2{margin:0;font-size:clamp(2.4rem,7cqi,4.2rem)}.quote-card blockquote{margin:0;max-width:30ch;font-size:clamp(1.25rem,3cqi,1.8rem);font-style:italic;color:var(--color-foil)}.quote-card .by{margin:1.2rem 0 0;letter-spacing:.28em;text-transform:uppercase;font-size:.85rem;color:color-mix(in oklch,var(--color-foil) 80%,transparent);font-family:var(--font-display)}.dedication-note{margin:0;max-width:28ch;font-size:clamp(1.5rem,4cqi,2.1rem);line-height:1.35}.dedication-quote{margin:1.4rem 0 0;max-width:34ch;font-style:italic;color:var(--color-primary)}.dedication-by{margin:.6rem 0 0;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:var(--color-ink-soft)}.heart{color:var(--color-heart);font-size:2.4rem;line-height:1}.closing-line{margin:1.4rem 0 0;max-width:16ch;font-size:clamp(1.8rem,5cqi,3rem);line-height:1.2}.closing-from{margin:1.4rem 0 0;color:var(--color-ink-soft);font-size:1.15rem}.photo-page{align-items:center;gap:1.4rem;padding:1.3rem;justify-content:center}.photo-page.side{display:flex;flex-direction:column}.photo-page figcaption{margin:0;max-width:28ch;font-size:clamp(1.25rem,3cqi,1.7rem);line-height:1.3;white-space:pre-line}.print{position:relative;margin:0 auto;background:var(--color-print);padding:.7rem;box-shadow:0 1px 2px #37283426,0 18px 40px -12px #3a263659;transform:rotate(-.8deg);max-width:100%}.print.bleed{width:min(100%,920px)}.corner{position:absolute;width:28px;height:28px;z-index:2;background:var(--corner)}.corner-tl{top:-5px;left:-5px;clip-path:polygon(0 0,100% 0,0 100%)}.corner-tr{top:-5px;right:-5px;clip-path:polygon(0 0,100% 0,100% 100%)}.corner-bl{bottom:-5px;left:-5px;clip-path:polygon(0 0,100% 100%,0 100%)}.corner-br{bottom:-5px;right:-5px;clip-path:polygon(100% 0,100% 100%,0 100%)}.frame{position:relative;overflow:hidden;background:color-mix(in oklch,var(--color-ink) 10%,transparent)}.frame img,.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.develop{filter:none;opacity:1;z-index:2}.develop.is-faded{opacity:0;transition:opacity 1.4s linear}.alive-layer{opacity:0;z-index:1}.alive-layer.is-alive{opacity:1;transition:opacity 1s linear}.still{z-index:0}.drift{animation:drift-photo 16s ease-in-out infinite alternate;transform-origin:50% 40%}@keyframes drift-photo{to{transform:scale(1.09) translate3d(-1.5%,-1%,0)}}.watermark{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none}.watermark span{font-family:var(--font-display);font-size:clamp(2rem,8cqi,4.5rem);letter-spacing:.18em;text-transform:uppercase;color:#5828516b;transform:rotate(-18deg);text-shadow:0 0 12px rgb(255 255 255 / .35)}.life-badge{position:absolute;left:.55rem;right:.55rem;bottom:.55rem;z-index:5;margin:0 auto;width:max-content;max-width:calc(100% - 1rem);padding:.28rem .6rem;border-radius:999px;background:color-mix(in oklch,var(--color-cover) 88%,transparent);color:var(--color-foil);font-size:.78rem;letter-spacing:.02em;text-align:center}.life-badge.quiet{background:color-mix(in oklch,var(--color-ink) 55%,transparent);color:#fff}.bring{position:absolute;right:.6rem;bottom:.6rem;z-index:5;border:0;border-radius:999px;padding:.45rem .8rem;background:color-mix(in oklch,var(--color-cover-deep) 80%,transparent);color:var(--color-foil)}@container (min-width: 840px){.cover{aspect-ratio:16 / 10;width:min(100%,118.4vh)}.cover .foil-frame{inset:2rem}.photo-page.side{display:grid;grid-template-columns:auto minmax(0,1fr);text-align:left;gap:2.5rem;padding:2.5rem}.photo-page.side figcaption{font-size:2rem}}.legal{width:min(680px,calc(100% - 2rem));margin:0 auto 3rem}.legal h1{font-size:clamp(2.2rem,6vw,3.4rem)}.legal h2{font-size:1.4rem;margin-top:1.6rem}.banner{width:min(720px,calc(100% - 2rem));margin:0 auto 1rem;padding:.7rem .9rem;border-radius:12px;background:#fff;color:var(--color-ink-soft)}.link-box{display:flex;gap:.5rem}.link-box input{flex:1}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media(prefers-reduced-motion:reduce){.foil,.haze,.drift{animation:none}.develop.is-faded,.alive-layer.is-alive{transition:none}}
