:root{--butter: #fbf6ea;--beige: #f1e6d1;--sand: #e2d1b3;--brown: #5a3e2b;--brown-soft: #8b6b53;--terracotta: #c2643f;--terracotta-dark: #a8512f;--serif: "Cormorant Garamond", "Didot", "Bodoni 72", "Playfair Display", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--brown);background-color:var(--beige);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.page{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.25rem 4.5rem;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 38%,var(--butter) 0%,transparent 70%),radial-gradient(circle at 85% 90%,rgba(194,100,63,.08) 0%,transparent 40%),radial-gradient(circle at 10% 10%,rgba(139,107,83,.07) 0%,transparent 35%),var(--beige)}.paper-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.24 0 0 0 0 0.17 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.card{position:relative;z-index:1;width:100%;max-width:44rem;text-align:center;display:flex;flex-direction:column;align-items:center}.house{width:clamp(170px,42vw,270px);height:auto;margin-bottom:clamp(1.5rem,4vw,2.5rem);overflow:visible}.shape{fill-opacity:0;stroke:var(--brown);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s var(--ease) forwards,fill-in .7s ease forwards;animation-delay:var(--delay),calc(var(--delay) + .55s)}.ground{stroke:var(--brown-soft);stroke-width:2;animation-duration:1.2s,.7s}.body{fill:var(--butter);animation-duration:1.2s,.7s}.chimney{fill:var(--brown-soft)}.roof{fill:var(--terracotta);stroke:var(--terracotta-dark);animation-duration:1.1s,.7s}.door{fill:var(--brown)}.window{fill:var(--sand)}.mullion{stroke:var(--brown-soft);stroke-width:1.5;animation-duration:.5s,0s}.knob{fill:var(--sand);stroke:none;animation:pop .5s var(--ease) forwards;animation-delay:var(--delay);stroke-dasharray:none;fill-opacity:0;transform-box:fill-box;transform-origin:center}.sun{fill:var(--terracotta);stroke:var(--terracotta);stroke-width:1.5;transform-origin:212px 40px;animation:draw .9s var(--ease) forwards,sun-fill .8s ease forwards,breathe 5s ease-in-out infinite;animation-delay:var(--delay),calc(var(--delay) + .5s),calc(var(--delay) + 1.4s)}.eyebrow,.title,.divider,.subtitle,.notify,.footer{opacity:0;animation:rise 1s var(--ease) forwards}.eyebrow{font-size:clamp(.68rem,1.6vw,.78rem);font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--terracotta);margin-bottom:1rem;animation-delay:.9s}.title{font-family:var(--serif);font-weight:400;font-size:clamp(2.9rem,11vw,6.5rem);line-height:.95;letter-spacing:-.015em;color:var(--brown);animation-delay:1.1s}.title-italic{font-style:italic;color:var(--terracotta)}.divider{width:3.5rem;height:1px;margin:clamp(1.4rem,3vw,2rem) auto;background:var(--brown-soft);transform-origin:center;animation:rise 1s var(--ease) forwards,stretch 1.2s var(--ease) forwards;animation-delay:1.4s,1.4s}.subtitle{font-family:var(--serif);font-size:clamp(1.15rem,2.6vw,1.45rem);font-style:italic;line-height:1.5;color:var(--brown-soft);animation-delay:1.6s}.notify{width:100%;max-width:27rem;margin-top:clamp(2rem,5vw,2.75rem);animation-delay:1.9s}.notify-row{display:flex;align-items:stretch;background:#fbf6eabf;border:1px solid var(--sand);border-radius:999px;padding:.3rem;transition:border-color .3s ease,box-shadow .3s ease}.notify-row:focus-within{border-color:var(--brown-soft);box-shadow:0 0 0 4px #c2643f1f}.notify input[type=email]{flex:1;min-width:0;border:none;background:transparent;padding:.75rem 1.1rem;font-family:var(--sans);font-size:1rem;color:var(--brown);outline:none}.notify input::placeholder{color:var(--brown-soft);opacity:.6}.notify button{border:none;border-radius:999px;padding:.75rem 1.4rem;background:var(--brown);color:var(--butter);font-family:var(--sans);font-size:.85rem;font-weight:500;letter-spacing:.06em;cursor:pointer;white-space:nowrap;transition:background-color .3s ease,transform .2s ease}.notify button:hover:not(:disabled){background:var(--terracotta)}.notify button:active:not(:disabled){transform:scale(.97)}.notify button:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.notify button:disabled,.notify input:disabled{opacity:.6;cursor:default}.notify-msg{min-height:1.4em;margin-top:.8rem;font-size:.85rem;color:var(--brown-soft)}.notify-msg.success{color:var(--brown);animation:rise .5s var(--ease) both}.notify-msg.error{color:var(--terracotta-dark)}.trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-soft);animation-delay:2.3s}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fill-in{to{fill-opacity:1}}@keyframes sun-fill{to{fill-opacity:.85}}@keyframes pop{0%{fill-opacity:0;transform:scale(0)}to{fill-opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes stretch{0%{width:0}to{width:3.5rem}}@media(max-width:480px){.page{padding-top:2.5rem}.notify-row{flex-direction:column;gap:.4rem;border-radius:1.25rem;padding:.4rem}.notify input[type=email]{text-align:center}.notify button{width:100%;padding:.9rem;border-radius:.9rem}}@media(max-height:600px)and (orientation:landscape){.house{width:130px;margin-bottom:1rem}.footer{position:static;margin-top:2rem}}@media(min-width:1200px){.house{width:290px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.shape{stroke-dashoffset:0;fill-opacity:1}.sun{fill-opacity:.85}.eyebrow,.title,.divider,.subtitle,.notify,.footer{opacity:1}}
