@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#25332d;--paper:#f6f3eb;--orange:#bb542f;--line:#d8d9cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}header,main,footer{max-width:1400px;margin:auto}header{height:110px;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{font-size:29px;letter-spacing:-1.5px;position:relative}.mark{font-size:48px;vertical-align:middle;color:var(--orange);margin-right:8px}.by{font-size:8px;letter-spacing:2px;display:block;margin-left:55px;margin-top:-8px}button,.button{border:0;background:var(--ink);color:white;border-radius:5px;padding:14px 22px;font:600 14px 'DM Sans',sans-serif;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#45564a}.outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.quiet{background:transparent;color:var(--ink);padding:10px;font-size:12px;text-decoration:underline}.quiet:hover{color:white}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;margin:12px 0 24px}h1{font-size:clamp(45px,5.6vw,80px);line-height:1.1;letter-spacing:-2px}h2{font-size:32px;line-height:1.2}p{line-height:1.75}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:700;color:var(--orange)}.hero{position:relative;min-height:700px;padding:75px 5% 50px;overflow:hidden}.hero h1{position:relative;z-index:1;max-width:650px}.hero em{color:var(--orange)}.intro{font-size:17px;max-width:560px;color:#667067;white-space:normal}.hero .button{margin:18px 0 35px}.button span{margin-left:45px}.chips{display:flex;gap:24px;flex-wrap:wrap;font-size:11px;color:#657066}.art{position:absolute;right:6%;top:85px;width:400px;height:490px;background:#e9e8d8;border-radius:200px 200px 8px 8px;overflow:hidden;transform:rotate(7deg)}.petal{position:absolute;width:230px;height:230px;border-radius:5% 75% 5% 75%;opacity:.9;background:linear-gradient(135deg,#e1b595,#bd5b40 60%,#863e2e)}.p1{left:-10px;top:10px;transform:rotate(25deg)}.p2{right:-10px;top:20px;transform:rotate(110deg);background:linear-gradient(30deg,#a7af8a,#425d49)}.p3{left:0;top:220px;transform:rotate(-65deg);background:linear-gradient(30deg,#e8c99e,#aba875)}.p4{right:-20px;top:215px;transform:rotate(195deg)}.artlabel{position:absolute;bottom:30px;left:25px;color:white;font-family:Georgia;font-style:italic;font-size:27px}.features{padding:50px 5% 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid var(--line)}.features b{font-size:9px;letter-spacing:1.6px}.features h2{margin:24px 0;font-size:28px}.features p{color:#657066;font-size:14px}.panel{margin:35px 5%;padding:40px;background:#eeeee3;border:1px solid var(--line);border-radius:8px}.stack{display:flex;flex-direction:column;gap:18px;max-width:650px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;flex:1}input,textarea{font:inherit;padding:13px;border:1px solid #c9cbbf;border-radius:4px;background:#fffcf6;color:var(--ink);width:100%;min-width:0}textarea{min-height:90px;resize:vertical}input[type=file]{font-size:13px}small{color:#6a746c;line-height:1.5}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row input{flex:1}.error{background:#f5dacc;padding:20px;margin:20px 5%;border-left:3px solid #a43e21}.eventlink{display:flex;justify-content:space-between;padding:20px;border-top:1px solid var(--line)}.eventlink span{font-size:12px}.eventhero{padding:65px 5% 25px}.eventhero h1{max-width:1000px}.upload{display:grid;grid-template-columns:1fr 1fr;gap:40px}.tabs{display:flex;gap:5px;margin:50px 5% 30px;border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}.tabs button{background:transparent;color:var(--ink);border-radius:30px}.tabs button.active{background:var(--ink);color:white}.view{margin:0 5% 60px}.hidden{display:none!important}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:start}.photo{background:#fffcf6;border:1px solid var(--line);border-radius:8px;overflow:hidden}.imagebutton{padding:0;background:none;display:block;width:100%;border-radius:0;overflow:hidden}.imagebutton img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.imagebutton:hover img{transform:scale(1.04)}.phototext{padding:18px}.phototext p{margin:10px 0;white-space:normal;overflow-wrap:anywhere}.phototext .row{gap:2px}.phototext input{font-size:12px}.viewheading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.viewheading p{max-width:650px;color:#657066}.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mosaic .imagebutton:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.mosaic img{height:100%;aspect-ratio:1}.mosaic .imagebutton{height:100%}#scopeframe{height:620px;max-width:800px;margin:auto;border-radius:25px;background:radial-gradient(circle,#b99370,#364a40 60%,#1a2823);position:relative;overflow:hidden;touch-action:pan-y}#scopewheel{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--turn,0deg))}.scopephoto{position:absolute;width:140px;height:175px;padding:3px;background:#f3e9cf;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(var(--radius)) rotate(25deg);clip-path:polygon(50% 0,100% 28%,83% 100%,17% 100%,0 28%);border-radius:10px}.scopephoto img{width:100%;height:100%;object-fit:cover}.scopehub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:70px;color:#ead2a5;pointer-events:none}.dial{max-width:500px;margin:30px auto;text-align:center}.dial input{accent-color:var(--orange)}.muted{text-align:center;color:#657066}.bookpage{background:white;max-width:800px;min-height:850px;margin:30px auto;padding:55px;box-shadow:0 10px 35px #25332d12;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;break-after:page}.bookpage img{width:100%;max-height:650px;object-fit:contain}.bookpage.cover img{max-height:430px;object-fit:cover}.bookpage h1{font-size:45px}.bookcaption{font-family:Georgia;font-size:22px;overflow-wrap:anywhere}.empty{text-align:center;padding:70px 20px}.empty span{font-size:65px;color:var(--orange)}dialog{border:0;border-radius:10px;background:var(--paper);max-width:90vw;max-height:95vh;text-align:center;padding:25px}dialog::backdrop{background:#15201ce8}dialog img{max-width:80vw;max-height:70vh;object-fit:contain;display:block}dialog #dismiss{position:absolute;right:5px;top:5px;padding:6px 13px;font-size:24px}dialog p{max-width:700px}dialog a{text-decoration:underline}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;gap:20px;font-size:11px}footer a{font-size:19px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bb542f;outline-offset:3px}@media(max-width:950px){.hero{padding-top:45px}.art{right:-100px;opacity:.35}.hero .intro{position:relative;z-index:1}.features{gap:25px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{height:90px}.brand{font-size:24px}.mark{font-size:36px}.by{margin-left:44px;font-size:6px}header a:not(.brand){font-size:11px}.hero{min-height:650px}.hero h1{font-size:55px}.art{right:-180px;top:160px}.features{grid-template-columns:1fr;padding-top:30px;gap:25px}.panel{padding:23px}.upload{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.mosaic{grid-template-columns:repeat(2,1fr)}.viewheading{align-items:start;flex-direction:column}.tabs button{font-size:12px;padding:10px 12px}#scopeframe{height:470px}.bookpage{padding:25px;min-height:600px}.bookpage h1{font-size:35px}.eventhero h1{font-size:46px}.chips{gap:12px}footer{flex-direction:column}.eventlink{padding:18px 0;gap:15px}.eventlink span{white-space:nowrap}}@media print{@page{size:A4 portrait;margin:12mm}body{background:white}header,footer,.eventhero,.panel,.tabs,.viewheading,dialog,.error,.empty{display:none!important}.view{margin:0}.view.hidden{display:none!important}.bookpage{box-shadow:none;margin:0;padding:10mm;min-height:260mm;height:auto;max-width:none;break-inside:avoid}.bookpage img{max-height:190mm}.mosaic{gap:3mm}.mosaic button{break-inside:avoid}#album .photo form{display:none}#scope{display:none!important}}

select{width:100%;padding:13px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font:inherit;max-width:100%}.notice{margin:20px auto;max-width:1100px;padding:20px;background:#e0eedf;border:1px solid #96b793;border-radius:5px}.stack small{display:block;font-size:12px;margin-top:5px}.stack .row>label{min-width:0;flex:1}.stack .row{flex-wrap:wrap}
@media print{.notice{display:none!important}}
.guest-page,.setup-page{max-width:850px;padding:30px 20px}.guest-page h1,.setup-page h1{font-size:44px}.release-controls{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:8px}.release-controls input{width:100%}.release-controls h3{margin-top:0}.setup-page form{margin:24px 0}header>div{display:flex;align-items:center;gap:16px}header>div>a{font-size:13px}.panel details{margin:20px 0}.panel summary{cursor:pointer}.stack .row{align-items:flex-start}.stack .row>label{flex:1 1 200px}body:has(.guest-page) header>div{display:none}
/* v0.4 — a brighter home for everyone's perspective. */
:root{--ink:#27183e;--paper:#faf8fd;--orange:#8044b5;--line:#e6dff0;--purple:#622d91;--teal:#087b82}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:radial-gradient(ellipse at 100% 0,#eee5ff 0,transparent 40%),var(--paper);font-size:16px}
header{height:116px;padding:12px 5%;gap:24px;background:#ffffffd9}header .brand{display:block;line-height:0;flex-shrink:0}header .brand img{display:block;width:280px;max-width:100%;height:auto}header>div{flex-wrap:wrap;justify-content:flex-end;gap:16px}header>div>a{font-weight:650;color:#604b76}
h1,h2{font-family:Georgia,serif}h1{font-size:clamp(42px,5.5vw,74px)}h2{font-size:clamp(28px,3vw,39px);letter-spacing:-1px}h3{letter-spacing:-.4px;font-size:21px}.eyebrow{color:var(--purple);font-size:10px;letter-spacing:2px}.intro,.muted-start{color:#766782}.hero{min-height:640px;padding-top:65px}.hero em{color:#8a43b2}.hero .intro{max-width:500px}.art{background:#e9dcfa;box-shadow:0 25px 60px #55258d16}.petal{background:linear-gradient(135deg,#f8bd53,#ee5f88 60%,#9342c2)}.p2{background:linear-gradient(30deg,#72d7d4,#1382a4)}.p3{background:linear-gradient(30deg,#ffc466,#de6c98)}.p4{background:linear-gradient(30deg,#a886f5,#6e36b0)}
button,.button{font-family:inherit;background:var(--purple);border-radius:12px;padding:14px 21px;transition:background .15s,transform .15s}button:hover,.button:hover{background:#49206e;transform:translateY(-1px)}.outline{background:white;color:var(--purple);border-color:#d9c9e9}.outline:hover{color:white}.quiet{background:transparent;color:#6b5081;border-radius:8px}.quiet:hover{background:#eee4f7;color:#49206e}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 8px 35px #37174a05}input,textarea,select{background:#fdfbff;border-color:#ddd3e7;border-radius:10px;padding:14px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #a372ca;outline-offset:2px}small{color:#796c84}.stack{max-width:780px;gap:22px}.stack>button{align-self:flex-start}.features{border-top-color:var(--line)}.features p,.viewheading p,.muted{color:#796c84}.features b{color:var(--purple)}
.eventhero{padding-top:42px}.eventhero h1{margin-bottom:14px}.chips{gap:10px}.chips span{background:#eee8f6;border:1px solid #e6dbf0;color:#715c82;border-radius:99px;padding:8px 13px}.hero .chips span{background:#fff9}.countdown{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin-top:26px;border-radius:18px;background:linear-gradient(110deg,#392056,#572f79);color:white;max-width:1100px}.countdown .eyebrow{display:block;color:#d8bce9;line-height:1.6}.countdown-value{display:block;font-size:clamp(23px,3.7vw,42px);font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:8px 0}.countdown .deadline-label{display:block;color:#d6c4e5;font-size:12px}.countdown-note{font-size:13px;max-width:190px;color:#e3d3ef;line-height:1.6}.guest-page{max-width:900px;padding-top:8px}.guest-page .panel{margin:22px 0}.guest-page h1{font-size:clamp(34px,6vw,50px);overflow-wrap:anywhere}.guest-page .countdown{margin-bottom:28px}.guest-page .countdown-value{font-size:30px}.guest-page .countdown-note{display:none}.guest-page .stack{max-width:none}.guest-page button{width:100%;font-size:15px}
.hosttools{display:grid;grid-template-columns:1fr;gap:4px}.hosttools .release-controls{order:8;background:#faf7fe}.hosttools details{order:9}.hosttools>form:has([value=resend_email]){order:10}.invite-qr{display:flex;align-items:center;gap:30px;padding:26px;background:#f8f5fc;border:1px solid var(--line);border-radius:18px;margin:22px 0}.invite-qr>div:first-child{width:190px;min-width:190px;background:white;border-radius:14px;border:1px solid var(--line);padding:4px;line-height:0}.invite-qr svg{width:100%;height:auto}.invite-qr p{color:#796c84;max-width:420px;font-size:14px}.sealed-state{margin:36px 5% 60px;text-align:center;border:1px dashed #cdb6e0;border-radius:22px;padding:50px 25px;background:linear-gradient(120deg,#f2ebfb,#fff)}.sealed-state h2{font-size:40px;line-height:1.15}.sealed-state p:last-child{max-width:520px;margin:0 auto;color:#796c84}.sealed-icon{display:grid;place-items:center;background:#e8dbf7;border-radius:50%;width:70px;height:70px;margin:0 auto 25px;color:#8044b5;font-size:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.status-pill{font-size:12px;color:#08676a;background:#e3f6f1;border-radius:99px;padding:8px 13px;white-space:nowrap}.history-heading{margin-top:45px}.eventlink{gap:20px;align-items:center}.eventlink:hover{background:#f7f1fd}.eventlink span{color:var(--purple)}.photo{border-radius:18px;background:white}.tabs button.active{background:var(--purple)}.tabs{margin-top:30px}.notice{background:#e8f6f0;border-color:#bddbcf;padding:17px 24px;border-radius:14px;margin:20px 5%;max-width:none}.error{border-radius:12px;background:#fff0ec}footer{align-items:center}footer img{width:180px;height:auto}#host{max-width:1100px;margin-left:auto;margin-right:auto}.hosttools #sharelink{flex:1 1 300px;font-size:13px}.upload{background:linear-gradient(120deg,#fff,#f6f1fc)}.bookpage{border:1px solid var(--line);border-radius:8px}
@media(max-width:950px){#host{margin-left:5%;margin-right:5%}.hero .art{opacity:.25}.hero h1{max-width:650px}.countdown-note{max-width:170px}}
@media(max-width:650px){header{height:auto;min-height:90px;flex-wrap:wrap;gap:8px;padding:12px 5%}header .brand img{width:220px}header>div{gap:10px}header>div>a{font-size:11px}header .quiet{font-size:11px;padding:8px}.hero{min-height:570px;padding-top:38px}.hero h1{font-size:48px}.panel{padding:23px;border-radius:18px}.eventhero{padding-top:30px}.countdown{padding:20px;flex-direction:column;align-items:flex-start;gap:12px}.countdown-value{font-size:30px}.countdown-note{max-width:none}.invite-qr{flex-direction:column;text-align:center;padding:24px;gap:10px}.invite-qr>div:first-child{width:210px;min-width:0}.invite-qr h3{font-size:22px}.section-heading{align-items:flex-start;flex-direction:column;gap:0}.eventlink{flex-direction:column;align-items:flex-start;gap:6px}.sealed-state h2{font-size:34px}.chips{font-size:10px}.chips span{padding:7px 10px}.guest-page{padding:8px 16px}.guest-page .panel{padding:23px}.guest-page .countdown{padding:18px}.row{align-items:stretch}.hosttools .row button{flex:1}.countdown .deadline-label{font-size:11px}footer{align-items:flex-start}}
@media print{.countdown,.sealed-state,.invite-qr{display:none!important}.bookpage{border:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.guest-progress{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 8px}.guest-progress span{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 14px;font-size:12px;color:#695079}.guest-progress span:first-child{background:#e9ddf7;color:var(--purple);font-weight:700}.host-prompt{background:#f2eafa;border-left:3px solid #9a62c1;border-radius:0 14px 14px 0;padding:22px;margin:22px 0}.host-prompt strong{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--purple)}.host-prompt p{margin-bottom:0}.book-contribution{border-color:#cfb6e4}.event-contribution{background:linear-gradient(140deg,#fff,#f3fbfa)}.book-instructions{order:7;background:#faf7fe;border-radius:14px;padding:22px;margin:20px 0}.book-instructions h3{margin-top:0}.guest-roster{display:grid;gap:12px}.guest-roster>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.guest-roster span{overflow-wrap:anywhere;color:#796c84}.guest-list{order:11}.file-selection{margin:0;color:var(--teal);font-size:13px}.file-selection:empty{display:none}.privacy-note{font-size:13px;color:#796c84}.guest-page .notice{margin:20px 0}.guest-page .guest-intro{background:linear-gradient(135deg,#fff,#f8f2ff)}button:disabled{opacity:.65;cursor:wait}
/* v0.6 — live the moment, love the reveal. */
.retro-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:80px 5% 95px;overflow:hidden;background:radial-gradient(ellipse at 85% 40%,#e8d7f9,transparent 55%)}.retro-copy{position:relative;z-index:1}.retro-hero h1{font-size:clamp(48px,5.5vw,79px);letter-spacing:-3px;line-height:1.04;margin:22px 0 26px}.retro-hero h1 em{color:#9655ac;font-weight:400}.retro-copy>p:not(.eyebrow){max-width:540px;color:#796881;font-size:16px;line-height:1.85}.retro-copy .retro-lead{font-size:21px!important;color:#42334f!important;line-height:1.55!important}.retro-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}.retro-text-link{font-size:13px;font-weight:650;color:#6c4b83}.retro-stamps{display:flex;gap:18px;flex-wrap:wrap;margin-top:29px;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#92789b}.retro-scene{position:relative;min-height:510px;isolation:isolate}.scene-tag{position:absolute;top:16px;right:25px;font-size:10px;letter-spacing:2px;border:1px solid #bea3cd;padding:10px 14px;transform:rotate(5deg);color:#7d5a8c}.film-camera{position:absolute;top:100px;left:0;right:0;margin:auto;width:min(100%,430px);border:9px solid #382a46;border-radius:27px;transform:rotate(-8deg);box-shadow:15px 23px 0 #6b3d8f13,0 25px 50px #44265a22;background:#32243e;z-index:2}.camera-top{height:75px;display:flex;align-items:center;justify-content:space-between;padding:18px;background:#482e5c;border-radius:14px 14px 0 0;color:#fff2d3;font-size:12px;font-weight:800;letter-spacing:2px}.camera-flash{width:95px;height:38px;background:repeating-linear-gradient(90deg,#e7dee7 0 5px,#b7a7c5 5px 7px);border:5px solid #231b2d;border-radius:7px}.camera-body{height:160px;background:#ffc866;position:relative;display:flex;align-items:center;justify-content:space-around;overflow:hidden}.camera-stripe{position:absolute;left:0;right:0;top:45%;height:40px;background:linear-gradient(90deg,#ed6799 0 33%,#9b6acf 33% 66%,#55c1bf 66%)}.camera-lens{position:relative;width:145px;height:145px;background:radial-gradient(circle,#354c60 0 18%,#172739 19% 30%,#506078 31% 34%,#24192f 35% 47%,#564061 48% 54%,#30233e 55%);border:7px solid #543c5d;border-radius:50%;display:grid;place-items:center;box-shadow:3px 8px 0 #3d224b24}.camera-lens span{color:#fff0b6;font-size:44px}.camera-label{position:relative;line-height:1.6;font-size:11px;color:#34253d;letter-spacing:1px;font-weight:900}.camera-bottom{padding:15px;display:flex;justify-content:space-between;font-size:9px;font-weight:700;letter-spacing:1px;color:#f7ddad;background:#382a46;border-radius:0 0 12px 12px}.memory-slip{position:absolute;width:150px;padding:10px 10px 23px;background:#fffdf7;box-shadow:0 10px 30px #38224520;z-index:3}.slip-one{top:325px;left:10px;transform:rotate(-16deg)}.slip-two{top:300px;right:4px;transform:rotate(14deg)}.slip-art{height:115px;background:linear-gradient(135deg,#f6bd68,#ef83a8,#986ec0);display:grid;place-items:center;font-size:60px;color:#fff0c9}.slip-two .slip-art{background:linear-gradient(135deg,#90d4cf,#6ba4b5,#a38ec3)}.memory-slip>span{display:block;padding-top:12px;text-align:center;font:italic 12px Georgia,serif;color:#725b79}.scene-scribble{position:absolute;bottom:-10px;left:42%;font:italic 19px/1.3 Georgia,serif;color:#8d6c9b;transform:rotate(-6deg);z-index:4}.nostalgia-strip{padding:24px 5%;background:#43285b;color:#ead6ef;text-align:center}.nostalgia-strip p{margin:0;font-size:15px}.nostalgia-strip strong{font-weight:500;color:#ffdda2;margin-left:12px}.home-section{padding:80px 5%}.home-heading{max-width:670px;margin:0 auto 45px;text-align:center}.home-heading h2,.home-finale h2{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-1.7px}.home-heading>p:last-child{color:#796881;font-size:16px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.how-grid article>span{display:grid;place-items:center;width:45px;height:45px;background:#eaddf4;color:#75428d;border-radius:50%;font-size:13px;font-weight:750}.how-grid h3{font-family:Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.5px}.how-grid p,.keepsake-grid p:last-child{font-size:14px;line-height:1.85;color:#796881}.keepsake-section{background:#f0e9f7}.keepsake-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.keepsake-grid article{padding:32px;background:#fffdfb;border:1px solid #e4d7ed;border-radius:22px}.feature-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#ede1f4;color:#8c4cac;font-size:30px;margin-bottom:25px}.keepsake-grid article:nth-child(2) .feature-symbol{background:#e1f2ee;color:#3a8c82}.keepsake-grid article:nth-child(3) .feature-symbol{background:#fbe5ee;color:#c46590}.keepsake-grid article:nth-child(4) .feature-symbol{background:#fff0d7;color:#af7c29}.keepsake-grid h3{font:400 31px/1.2 Georgia,serif;margin:14px 0 20px;letter-spacing:-.8px}.book-invitation{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.book-invitation h2{font-size:clamp(31px,3.3vw,45px);line-height:1.15}.book-invitation>div>p:not(.eyebrow){color:#796881}.story-paper{padding:40px;background:#fff7e6;border:1px solid #ecdfc6;box-shadow:8px 14px 0 #e4d7ed6b;transform:rotate(3deg)}.paper-label{font-size:9px;letter-spacing:2px;color:#a78469}.story-paper p{font:italic 31px/1.4 Georgia,serif;color:#6e4d75}.paper-lines{height:100px;background:repeating-linear-gradient(transparent 0 24px,#dfcfb9 24px 25px);margin-bottom:25px}.story-paper small{color:#a38b78}.home-finale{text-align:center;background:linear-gradient(135deg,#e8ddf4,#fcf5e9);border-top:1px solid var(--line)}.home-finale p:not(.eyebrow){max-width:620px;margin:0 auto 25px;color:#796881}.home-finale small{display:block;margin:22px auto 0;max-width:400px;font-size:12px}
@media(max-width:1000px){.retro-hero{gap:25px}.retro-scene{transform:scale(.85);transform-origin:center}.how-grid{grid-template-columns:repeat(2,1fr)}.book-invitation{gap:45px}.retro-stamps{gap:12px}}
@media(max-width:700px){.retro-hero{grid-template-columns:1fr;padding:45px 6% 60px;gap:15px}.retro-hero h1{font-size:clamp(43px,11vw,65px);letter-spacing:-2px}.retro-copy .retro-lead{font-size:19px!important}.retro-copy>p:not(.eyebrow){font-size:15px}.retro-scene{min-height:430px;transform:scale(.87);margin:0 -10px}.film-camera{top:70px}.scene-tag{top:0;right:0;font-size:8px}.slip-one{top:290px;left:0}.slip-two{top:280px;right:-5px}.scene-scribble{bottom:-35px;left:38%;font-size:17px}.nostalgia-strip p{font-size:13px}.nostalgia-strip strong{display:block;margin:7px 0 0}.home-section{padding:55px 6%}.home-heading{margin-bottom:30px}.how-grid{gap:20px}.how-grid h3{font-size:23px}.how-grid p{font-size:13px}.keepsake-grid{grid-template-columns:1fr}.keepsake-grid article{padding:27px}.keepsake-grid h3{font-size:29px}.book-invitation{grid-template-columns:1fr;gap:25px}.story-paper{margin:10px 8px}.home-finale .eyebrow{line-height:1.8}.home-finale h2{font-size:38px}.retro-text-link{font-size:12px}.retro-actions{gap:17px}.retro-stamps{font-size:9px}}
@media(max-width:370px){.how-grid{grid-template-columns:1fr}.retro-scene{transform:scale(.78);margin-left:-20px;margin-right:-20px}.camera-label{font-size:9px}.camera-top{font-size:10px}.camera-flash{width:75px}.memory-slip{width:135px}}
