/* Our Little Forever — editorial wedding aesthetic */
:root{--ink:#171611;--muted:#6f6b58;--rose:#711007;--rose-dark:#520b04;--blush:#afa647;--cream:#f8f7ef;--paper:#ffffff;--line:#e4e2d2;--sage:#635f09;--shadow:0 22px 60px rgba(71,46,43,.09);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}i[data-lucide]{width:18px;height:18px;stroke-width:1.7;vertical-align:middle}.site-shell{max-width:1600px;margin:auto;overflow:clip}.topbar{height:94px;padding:0 clamp(22px,6vw,100px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(137,104,96,.13);position:relative;z-index:20;background:rgba(248,243,238,.92);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid #d7b4ae;border-radius:50%;display:grid;place-items:center;color:var(--rose)}.brand-mark i{width:20px!important;height:20px!important}.brand strong{display:block;font:500 18px var(--serif);letter-spacing:-.4px}.brand small{display:block;font-size:8px;letter-spacing:2.1px;color:#9b8580;margin-top:1px}.nav-links{display:flex;align-items:center;gap:34px}.nav-links>a:not(.nav-cta){color:#796d69;font-size:12px;transition:color .2s}.nav-links>a.active,.nav-links>a:hover{color:var(--rose)}.nav-cta{display:flex;align-items:center;gap:12px;padding:13px 18px;background:var(--rose);color:white;border-radius:3px;font-size:11px;letter-spacing:.1px;transition:background .25s,transform .25s}.nav-cta:hover,.button-primary:hover{background:var(--rose-dark);transform:translateY(-2px)}.nav-cta i{width:15px!important;height:15px!important}.menu-toggle{display:none;border:0;background:none;color:var(--ink)}
.hero{padding:60px clamp(22px,8.5vw,140px) 76px;display:grid;grid-template-columns:1fr .94fr;align-items:center;gap:8%;min-height:620px}.hero-copy{padding:22px 0 12px;max-width:560px}.tiny-label,.flow-eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--rose);display:flex;align-items:center;gap:10px}.tiny-label span{width:24px;height:1px;background:var(--rose)}h1,h2,h3,p{margin-top:0}.hero h1,.flow-heading h1,.studio-heading h1,.memories-intro h1{font:500 clamp(44px,5.3vw,76px)/1.12 var(--serif);letter-spacing:-2.2px;margin:24px 0 22px}.hero h1 em,.flow-heading h1 em,.studio-heading h1 em,.memories-intro h1 em{color:var(--rose);font-weight:400}.hero-copy>p{font-size:13px;line-height:1.95;color:var(--muted);max-width:410px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{min-height:47px;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:3px;font-size:11px;font-weight:600;transition:all .25s}.button i{width:16px!important;height:16px!important}.button-primary{background:var(--rose);color:#fff}.button-secondary{border-color:#d9c9c2;background:rgba(255,253,250,.58);color:var(--ink)}.button-secondary:hover{border-color:var(--rose);color:var(--rose);transform:translateY(-2px)}.hero-footnote{display:flex;align-items:center;gap:8px;color:#9a8c86;font:italic 12px var(--serif);margin-top:32px}.hero-footnote i{color:var(--rose);width:15px!important}.hero-visual{position:relative;max-width:490px;width:100%;justify-self:end;padding:0 28px 25px 0}.main-photo{position:relative;padding:12px 12px 42px;background:#ffffff;box-shadow:var(--shadow);transform:rotate(2deg);z-index:1}.main-photo img{width:100%;height:440px;object-fit:cover;object-position:center 45%;filter:saturate(.82)}.photo-caption{position:absolute;bottom:12px;left:17px;right:17px;display:flex;justify-content:space-between;align-items:center;font:italic 15px var(--serif);color:#806e69}.photo-caption i{width:15px!important;color:var(--rose)}.floating-note{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;background:#ffffff;padding:13px 17px;box-shadow:0 12px 30px #52312d13;color:#796963;font:italic 12px/1.5 var(--serif)}.note-top{top:36px;left:-36px;transform:rotate(-5deg)}.note-top i{color:var(--rose);width:24px!important;height:24px!important}.note-bottom{bottom:5px;right:-8px;transform:rotate(4deg)}.note-heart{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#efedda;color:var(--rose)}.note-heart i{width:15px!important}.decor{position:absolute;color:#c7a39c;font-size:28px}.decor-one{right:1px;top:5px}.decor-two{bottom:63px;left:-25px;font-size:18px}.home-bottom{border-top:1px solid var(--line);padding:44px clamp(22px,8.5vw,140px) 50px;display:grid;grid-template-columns:1fr .85fr auto;align-items:center;gap:45px;background:#f1f0e5}.section-kicker{font-size:9px;letter-spacing:2px;color:var(--rose);display:block}.home-bottom h2{font:500 27px/1.35 var(--serif);margin:10px 0 0}.home-bottom>p{max-width:340px;font-size:12px;color:var(--muted);line-height:1.9;margin:0}.text-link{font-size:11px;color:var(--rose);display:flex;align-items:center;gap:12px;white-space:nowrap}.text-link i{width:15px!important}
.site-footer{padding:30px 24px 26px;text-align:center;border-top:1px solid var(--line);color:#968780;font-size:10px}.footer-brand{font:italic 17px var(--serif);color:var(--rose);display:inline-flex;align-items:center;gap:8px}.footer-brand i{width:15px!important}.site-footer p{margin:6px 0 5px}.site-footer>span{font-size:9px;color:#b0a39d}
.flow-page{max-width:840px;min-height:calc(100vh - 170px);margin:0 auto;padding:45px 24px 75px;display:flex;align-items:center;flex-direction:column}.flow-heading{text-align:center;width:100%;max-width:560px;position:relative}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:#8c7d77;transition:color .2s}.back-link:hover{color:var(--rose)}.back-link i{width:15px!important}.flow-heading>.back-link,.studio-heading>.back-link{position:absolute;left:0;top:4px}.step-track{display:flex;gap:6px;justify-content:center;margin:0 auto 28px}.step-track span{width:35px;height:2px;background:#e6d9d2}.step-track span.current{background:var(--rose)}.flow-eyebrow{justify-content:center;font-size:9px;margin-top:0}.flow-heading h1{font-size:clamp(42px,5vw,59px);margin:14px 0 12px}.flow-heading>p,.studio-heading>p{color:var(--muted);font-size:12px;max-width:440px;margin:0 auto;line-height:1.9}.paper-card{background:var(--paper);border:1px solid #eee4de;box-shadow:0 15px 50px rgba(73,48,43,.045)}.guest-form{width:min(100%,430px);padding:32px;margin-top:32px}.guest-form label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.guest-form input{width:100%;height:48px;padding:0 14px;border:1px solid #e3d6cf;background:#ffffff;outline:none;border-radius:2px;color:var(--ink);font-size:12px;transition:border .2s,box-shadow .2s}.guest-form input:focus{border-color:var(--rose);box-shadow:0 0 0 3px #71100712}.input-hint{display:flex;align-items:center;gap:7px;color:#a0928b;font-size:10px;margin-top:10px}.input-hint i{width:13px!important;color:var(--rose)}.full-button{width:100%;margin-top:23px}.flow-side-note{display:flex;align-items:center;gap:10px;margin-top:25px;color:#9a8b84;font:italic 12px var(--serif)}.flow-side-note i{color:var(--rose);width:18px!important}.wide-flow{max-width:900px}.compact-heading h1{font-size:clamp(38px,4.5vw,54px);margin-top:13px}.frame-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;max-width:680px;margin-top:36px}.frame-choice{position:relative;border:1px solid #e8dcd5;background:#ffffff;padding:26px 22px 20px;text-align:left;display:flex;flex-direction:column;align-items:center;gap:18px;transition:border .25s,box-shadow .25s,transform .25s}.frame-choice:hover{transform:translateY(-3px)}.frame-choice.selected{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose),0 15px 30px #74464a0b}.frame-preview{width:118px;min-height:165px;background:#f4e8e0;padding:9px;display:flex;flex-direction:column;gap:6px;box-shadow:0 7px 20px #4b2c2410}.frame-preview span{display:block;flex:1;background:linear-gradient(145deg,#d7b6aa,#efe0d5 45%,#c9a59a)}.frame-preview span:nth-child(2){background:linear-gradient(40deg,#b88a83,#f1ded4 55%,#d5b6a7)}.frame-three{min-height:190px}.frame-three span:nth-child(2){background:linear-gradient(145deg,#e6c8b9,#b98982)}.choice-copy{text-align:center}.choice-copy strong{display:block;font:500 20px var(--serif)}.choice-copy small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.choice-check{position:absolute;right:13px;top:13px;width:23px;height:23px;border:1px solid #e4d6cf;border-radius:50%;display:grid;place-items:center;color:transparent}.choice-check i{width:13px!important}.selected .choice-check{background:var(--rose);border-color:var(--rose);color:#fff}.continue-frame{grid-column:1/-1;justify-self:center;min-width:210px;margin-top:7px}
.studio-page,.develop-page{padding:36px clamp(20px,5vw,76px) 70px;max-width:1500px;margin:0 auto}.studio-heading{text-align:center;position:relative;margin:0 auto 34px}.studio-heading .step-track{margin-bottom:17px}.studio-heading h1{font-size:clamp(34px,4vw,49px);margin:10px 0}.studio-heading>p{max-width:560px}.studio-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:25px;align-items:start}.capture-panel{padding:18px}.capture-toolbar{height:28px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px;color:#9b8a82}.live-dot{width:6px;height:6px;background:#711007;border-radius:50%;box-shadow:0 0 0 4px #71100718}.icon-button{margin-left:auto;width:32px;height:32px;border:1px solid var(--line);background:#ffffff;color:#7b6c66;display:grid;place-items:center}.icon-button i{width:15px!important}.camera-stage{position:relative;aspect-ratio:4/3;background:#2e2828;overflow:hidden;display:grid;place-items:center;margin-top:10px}.camera-stage video{width:100%;height:100%;object-fit:cover;display:none;transform:scaleX(1)}.camera-stage video.active{display:block}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f8eee8;background:radial-gradient(ellipse at center,#52413e,#2d2828 72%);padding:20px}.camera-icon{width:56px;height:56px;border:1px solid #bda49a;border-radius:50%;display:grid;place-items:center;color:#e5c8bd;margin-bottom:13px}.camera-icon i{width:22px!important;height:22px!important}.camera-placeholder strong{font:500 23px var(--serif)}.camera-placeholder small{font-size:10px;color:#d0bfb7;margin:7px 0 16px}.camera-placeholder .button{min-height:39px;padding:10px 14px;font-size:10px}.camera-countdown{display:none;position:absolute;inset:0;place-items:center;font:500 100px var(--serif);color:white;background:#1d16164d}.capture-controls{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:10px;padding:20px 0 10px}.upload-button{justify-self:start;min-height:39px;padding:10px 12px;font-size:10px}.upload-button i{width:15px!important}.shutter-button{width:58px;height:58px;border:2px solid var(--rose);border-radius:50%;background:transparent;display:grid;place-items:center;justify-self:center}.shutter-button span{width:42px;height:42px;background:var(--rose);border-radius:50%;transition:transform .15s}.shutter-button:active span{transform:scale(.85)}.shutter-button:disabled{opacity:.35;cursor:not-allowed}.shutter-hint{font-size:8px;letter-spacing:1.5px;color:#9d8d85;justify-self:end}.slot-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.slot-chip{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #e7dcd5;background:#ffffff;font-size:9px;color:#8b7c75}.slot-chip.filled{border-color:#cba5a0;color:var(--rose)}.slot-chip i{width:12px!important}.camera-help{display:flex;gap:7px;color:#a0928b;font-size:9px;line-height:1.7;margin:15px 0 0}.camera-help i{width:13px!important;flex-shrink:0}.preview-panel{padding:5px 8px}.preview-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.preview-title h2,.filter-panel h2{font:500 25px var(--serif);margin:4px 0 0}.preview-count{font-size:10px;color:var(--rose);padding-bottom:5px}.polaroid-preview{width:min(100%,300px);margin:0 auto;background:#ffffff;padding:14px 14px 17px;box-shadow:0 15px 40px #52342a12;transform:rotate(1.1deg);transition:transform .3s}.preview-slots{display:flex;flex-direction:column;gap:7px}.preview-slot{position:relative;aspect-ratio:1.2/1;background:#f0e3da;overflow:hidden;display:grid;place-items:center;color:#c2a39a}.preview-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.preview-slot .slot-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:8px;letter-spacing:.6px}.preview-slot .slot-placeholder i{width:19px!important;height:19px!important}.preview-signature{font:italic 12px var(--serif);color:#9c7d75;text-align:center;padding-top:12px;display:flex;justify-content:center;align-items:center;gap:6px}.preview-signature i{width:11px!important;height:11px!important;color:var(--rose)}.preview-tip{max-width:300px;margin:20px auto 0;color:#9b8d86;font-size:10px;line-height:1.8;text-align:center}.preview-panel>.full-button{max-width:300px;display:flex;margin:18px auto 0}.preview-panel>.full-button:disabled{opacity:.45;cursor:not-allowed}
.develop-page{max-width:1250px}.develop-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:start;max-width:1050px;margin:0 auto}.develop-preview-wrap{display:flex;flex-direction:column;align-items:center;padding:20px 0}.develop-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:2px;color:var(--rose);margin-bottom:20px}.develop-label i{width:14px!important}.develop-polaroid{width:min(100%,300px);padding:14px 14px 20px;transform:none}.develop-polaroid .preview-slot{aspect-ratio:1.3/1}.develop-actions{display:flex;gap:10px;margin-top:22px}.develop-actions .button{min-height:40px;padding:10px 14px}.filter-panel{padding:28px}.filter-panel>p{font-size:11px;color:var(--muted);margin:8px 0 22px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.filter-option{padding:8px 8px 10px;border:1px solid #eee3dd;background:#ffffff;text-align:left;transition:border .2s,transform .2s;min-width:0}.filter-option:hover{transform:translateY(-2px)}.filter-option.selected{border-color:var(--rose);box-shadow:0 0 0 1px var(--rose)}.filter-swatch{display:block;height:72px;margin-bottom:9px;background:linear-gradient(140deg,#d8b7a8,#f0e1d6 50%,#a77c74)}.swatch-warm{background:linear-gradient(140deg,#b87850,#f0c99c 50%,#8c5544)}.swatch-soft{background:linear-gradient(140deg,#e9d9d3,#f6eae5 50%,#c7b8b2)}.swatch-bw{background:linear-gradient(140deg,#353333,#c4bcb7 50%,#77706d)}.swatch-rose{background:linear-gradient(140deg,#bd7c84,#f1d4d3 50%,#9f5d69)}.swatch-film{background:linear-gradient(140deg,#bca98b,#e3d4b6 50%,#85795d)}.filter-option strong{display:block;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-option small{display:block;color:#a1948c;font-size:8px;margin-top:2px}.filter-option[data-filter="warm"]~*{}.filter-option[data-filter="warm"]{}#saveMomentForm{margin-top:22px}.submit-moment{margin-top:0}.save-note{display:flex;align-items:center;justify-content:center;gap:7px;color:#9e9089;font-size:9px;margin-top:13px;text-align:center}.save-note i{width:12px!important;flex-shrink:0}
.memories-page{padding-bottom:45px}.memories-hero{min-height:345px;background:#efedda;padding:35px clamp(22px,8vw,125px) 55px;position:relative;overflow:hidden}.memories-intro{max-width:610px;margin:27px auto 0;text-align:center}.memories-intro h1{font-size:clamp(40px,5vw,64px);margin:12px 0 15px}.memories-intro p{max-width:470px;margin:0 auto;color:#897a74;font-size:12px;line-height:1.9}.album-stamp{position:absolute;right:clamp(25px,8vw,125px);top:45px;width:92px;height:92px;border:1px solid #d6bdb5;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--rose);transform:rotate(10deg)}.album-stamp i{width:19px!important;height:19px!important}.album-stamp span{font-size:6px;letter-spacing:1px}.album-section{padding:45px clamp(22px,8vw,125px) 25px}.album-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.album-toolbar h2{font:500 28px var(--serif);margin:0}.album-toolbar p{font-size:10px;color:#9b8b84;margin:3px 0 0}.album-toolbar .button{font-size:10px}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.memory-card{background:#ffffff;padding:10px 10px 0;box-shadow:0 8px 28px #57382c0b;transition:transform .3s,box-shadow .3s;align-self:start}.memory-card:nth-child(3n+2){transform:translateY(13px)}.memory-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #57382c13}.memory-image-button{position:relative;width:100%;aspect-ratio:4/5;padding:0;border:0;background:#eee0d7;overflow:hidden}.memory-image-button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.memory-card:hover img{transform:scale(1.04)}.memory-zoom{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ffffffeb;color:var(--rose);opacity:0;transition:opacity .2s}.memory-zoom i{width:14px!important}.memory-card:hover .memory-zoom{opacity:1}.memory-caption{display:flex;align-items:center;justify-content:space-between;padding:13px 4px 14px}.memory-caption strong{display:block;font:500 16px var(--serif)}.memory-caption span{display:block;color:#a1938c;font-size:8px;margin-top:3px}.memory-caption>i{width:14px!important;color:#c38b8c}.empty-album{text-align:center;padding:65px 20px 75px;border:1px dashed #d9c5bc;background:#fffaf6}.empty-flower{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#efedda;color:var(--rose);margin:0 auto 18px}.empty-flower i{width:26px!important;height:26px!important}.empty-album h3{font:500 27px var(--serif);margin:0 0 9px}.empty-album p{max-width:360px;margin:0 auto 22px;font-size:11px;line-height:1.8;color:var(--muted)}.empty-album .button{font-size:10px}.album-closing{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:35px 0 0;color:#b58a86}.album-closing>span{height:1px;width:60px;background:#e4d2cb}.album-closing>i{width:13px!important}.album-closing p{width:100%;text-align:center;font:italic 14px var(--serif);margin:0;color:#9b827a}.success-banner{max-width:1100px;margin:24px auto 0;padding:14px 18px;background:#e8eee5;border:1px solid #d7e1d1;display:flex;align-items:center;gap:12px;color:#55654f}.success-banner>i{width:20px!important}.success-banner div{display:flex;flex-direction:column}.success-banner strong{font-size:11px}.success-banner span{font-size:10px}.success-banner>a{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.success-banner>a i{width:13px!important}.notice{max-width:1000px;margin:18px auto;padding:12px 16px;font-size:11px}.error-notice{background:#f7e5e2;color:#87484b;border:1px solid #eac8c4}.lightbox{position:fixed;inset:0;background:#241c1beF;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:25px}.lightbox.open{display:flex;animation:fadeIn .25s ease}.lightbox img{max-height:78vh;max-width:min(90vw,650px);object-fit:contain;box-shadow:0 20px 60px #0004}.lightbox p{color:#fff;font:italic 18px var(--serif);margin:15px 0 0}.lightbox-close{position:absolute;right:24px;top:24px;border:1px solid #ffffff55;color:white;background:transparent;width:42px;height:42px;display:grid;place-items:center}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes risePolaroid{0%{transform:translateY(50px) rotate(8deg) scale(.88);opacity:0;filter:blur(2px)}60%{transform:translateY(-8px) rotate(-3deg) scale(1.02);opacity:1;filter:blur(0)}100%{transform:translateY(0) rotate(0) scale(1);opacity:1}}@keyframes flash{0%,100%{opacity:0}25%{opacity:1}}.develop-polaroid.developing{animation:risePolaroid 1.2s cubic-bezier(.2,.75,.25,1) both}.flash-overlay{position:fixed;inset:0;background:#fff;z-index:200;pointer-events:none;animation:flash .55s ease-out both}
@media(max-width:1000px){.hero{gap:5%;padding-left:6vw;padding-right:6vw}.main-photo img{height:390px}.home-bottom{padding-left:6vw;padding-right:6vw;gap:25px}.studio-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:18px}.capture-panel{padding:13px}.filter-panel{padding:22px}.filter-grid{gap:7px}.filter-swatch{height:60px}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.album-stamp{width:75px;height:75px}.album-stamp span{font-size:5px}}
@media(max-width:720px){.topbar{height:76px;padding:0 20px}.brand-mark{width:37px;height:37px}.brand strong{font-size:16px}.brand small{font-size:7px}.menu-toggle{display:grid;place-items:center;width:42px;height:42px}.menu-toggle i{width:22px!important;height:22px!important}.nav-links{position:absolute;top:75px;left:0;right:0;padding:0 22px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fbf6f1;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .35s ease,opacity .25s ease,padding .35s ease,visibility .35s}.nav-links.open{max-height:250px;opacity:1;visibility:visible;padding:12px 22px 22px;border-bottom:1px solid var(--line)}.nav-links>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid #eadfd8}.nav-cta{margin-top:14px;justify-content:space-between}.hero{grid-template-columns:1fr;padding:44px 24px 46px;gap:40px;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:clamp(47px,12vw,65px);margin:18px 0}.hero-copy>p{font-size:12px}.hero-actions{display:grid;grid-template-columns:1fr;max-width:350px}.hero-actions .button{width:100%}.hero-footnote{margin-top:23px}.hero-visual{justify-self:center;width:min(100%,390px);padding:0 18px 20px 15px}.main-photo img{height:clamp(300px,95vw,430px)}.note-top{left:-5px;top:25px}.note-bottom{right:-4px;bottom:2px}.decor-one{right:0}.home-bottom{grid-template-columns:1fr;gap:14px;padding:30px 24px 34px}.home-bottom h2{font-size:25px}.home-bottom>p{max-width:420px}.text-link{margin-top:3px}.site-footer{padding:25px 18px}.flow-page{min-height:calc(100vh - 150px);padding:35px 20px 55px}.flow-heading>.back-link,.studio-heading>.back-link{position:static;display:flex;justify-content:flex-start;margin-bottom:22px}.flow-heading .step-track{margin-bottom:25px}.flow-heading h1{font-size:47px}.guest-form{padding:24px;margin-top:25px}.flow-side-note{font-size:11px;text-align:center}.frame-choices{grid-template-columns:1fr;max-width:390px;margin-top:25px;gap:12px}.frame-choice{flex-direction:row;justify-content:flex-start;padding:16px;gap:17px}.frame-preview{width:82px;min-height:112px;padding:6px;gap:4px;flex-shrink:0}.frame-three{min-height:130px}.choice-copy{text-align:left}.choice-copy strong{font-size:19px}.choice-check{right:14px;top:calc(50% - 11px)}.continue-frame{width:100%;grid-column:auto;margin-top:6px}.studio-page,.develop-page{padding:28px 16px 50px}.studio-heading{margin-bottom:25px}.studio-heading .step-track{margin-bottom:15px}.studio-heading h1{font-size:36px;letter-spacing:-1px}.studio-heading>p{font-size:11px}.studio-layout{grid-template-columns:1fr;gap:28px}.capture-panel{padding:12px}.camera-stage{aspect-ratio:4/3}.camera-placeholder strong{font-size:20px}.capture-controls{grid-template-columns:1fr 58px 1fr;gap:5px}.upload-button{font-size:9px;padding:9px 8px;gap:6px}.shutter-button{width:52px;height:52px}.shutter-button span{width:38px;height:38px}.shutter-hint{font-size:7px}.preview-panel{padding:0}.preview-title{max-width:400px;margin:0 auto 15px}.polaroid-preview{width:min(78%,300px)}.preview-tip{max-width:330px}.develop-layout{grid-template-columns:1fr;gap:25px}.develop-preview-wrap{padding:4px 0 0}.develop-polaroid{width:min(72%,300px)}.filter-panel{padding:22px 17px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.filter-option{padding:6px}.filter-swatch{height:58px}.filter-option strong{font-size:9px}.filter-option small{font-size:7px}.memories-hero{padding:25px 22px 37px;min-height:340px}.memories-hero>.back-link{margin-bottom:25px}.memories-intro{margin-top:0}.memories-intro h1{font-size:clamp(39px,10vw,54px);letter-spacing:-1.5px}.memories-intro p{font-size:11px}.album-stamp{right:18px;top:18px;width:42px;height:42px;border:0;background:#f8eee8}.album-stamp i{width:18px!important}.album-stamp span{display:none}.album-section{padding:30px 18px 20px}.album-toolbar{align-items:flex-start}.album-toolbar h2{font-size:24px}.album-toolbar .button{padding:10px 11px;font-size:9px;gap:6px;min-height:40px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.memory-card{padding:7px 7px 0}.memory-card:nth-child(3n+2){transform:none}.memory-caption{padding:10px 3px 11px}.memory-caption strong{font-size:14px}.memory-caption span{font-size:7px}.memory-zoom{opacity:1;width:25px;height:25px}.success-banner{margin:15px 15px 0;align-items:flex-start;padding:12px}.success-banner>a{font-size:9px}.empty-album{padding:45px 15px}.empty-album h3{font-size:24px}.album-closing{margin-top:25px}.notice{margin:12px 15px}}
@media(max-width:380px){.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:44px}.brand strong{font-size:15px}.capture-controls{grid-template-columns:1fr 50px 1fr}.upload-button{font-size:8px}.shutter-button{width:47px;height:47px}.shutter-button span{width:34px;height:34px}.filter-panel{padding:18px 12px}.filter-swatch{height:49px}.filter-option strong{font-size:8px}.album-toolbar{gap:10px}.album-toolbar .button{font-size:8px;padding:9px 8px}.memory-grid{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Memoraine brand identity: Teo Green #AFA647, Maroon #711007, White, Black, Green #635F09 */
:root{--ink:#000000;--muted:#55534a;--rose:#711007;--rose-dark:#520b04;--blush:#afa647;--cream:#f8f7ef;--paper:#ffffff;--line:#e4e2d2;--sage:#635f09;--shadow:0 22px 60px rgba(34,24,4,.10)}
.brand strong{font-family:var(--sans);font-weight:700;letter-spacing:.2px}.brand small{letter-spacing:1.8px;color:#635f09}
.brand-mark{border-color:#afa647;color:#711007}
.button-primary,.nav-cta{background:#711007}.button-primary:hover,.nav-cta:hover{background:#520b04}
.tiny-label,.flow-eyebrow,.section-kicker,.develop-label{color:#635f09}.tiny-label span{background:#afa647}
.hero h1 em,.flow-heading h1 em,.studio-heading h1 em,.memories-intro h1 em{color:#711007}
.note-heart{background:#efedda;color:#711007}.photo-caption i,.hero-footnote i,.input-hint i{color:#711007}
.frame-choice.selected{border-color:#711007;box-shadow:0 0 0 1px #711007,0 15px 30px #7110070b}
.selected .choice-check{background:#711007;border-color:#711007}
.shutter-button{border-color:#711007}.shutter-button span{background:#711007}
.preview-count,.preview-signature i,.develop-label{color:#711007}
.filter-option.selected{border-color:#711007;box-shadow:0 0 0 1px #711007}
.memory-caption>i,.empty-flower,.footer-brand{color:#711007}
.memories-hero,.home-bottom{background:#efedda}
.empty-flower{background:#f1f0e5}
@media(max-width:720px){
  html,body{width:100%;height:100%;overflow:hidden}
  .site-shell{height:100dvh;min-height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column}
  .topbar{height:62px;min-height:62px;flex:0 0 62px;padding:0 18px;border-bottom-color:#e4e2d2}
  .site-footer{display:none}
  main{min-height:0!important;flex:1;overflow:hidden}
  .hero{height:calc(100dvh - 62px);min-height:0;max-height:calc(100dvh - 62px);padding:18px 22px 20px;display:flex;flex-direction:column;justify-content:space-evenly;gap:10px;overflow:hidden}
  .hero-copy{flex:0 0 auto}
  .hero h1{font-size:clamp(34px,8.7vw,49px);line-height:1.04;margin:9px 0 10px;letter-spacing:-1.3px}
  .tiny-label{font-size:8px}
  .hero-copy>p{font-size:10px;line-height:1.55;margin-bottom:0;max-width:420px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;max-width:none}
  .hero-actions .button{font-size:9px;min-height:40px;padding:8px 7px;gap:5px}
  .hero-actions .button i{width:13px!important;height:13px!important}
  .hero-footnote{font-size:10px;margin-top:10px}
  .hero-visual{width:min(70%,245px);max-width:245px;flex:1;min-height:0;max-height:38dvh;padding:0 12px 12px;justify-self:auto}
  .main-photo{padding:7px 7px 27px;max-height:100%;height:100%}
  .main-photo img{height:100%;max-height:100%;min-height:0;object-fit:cover}
  .photo-caption{bottom:7px;left:10px;right:10px;font-size:10px}
  .floating-note{padding:7px 9px;font-size:8px;gap:5px}
  .note-top{left:-18px;top:14px}.note-bottom{right:-15px;bottom:0}
  .note-top i{width:16px!important;height:16px!important}.note-heart{width:22px;height:22px}
  .decor{font-size:16px}.decor-two{left:-10px;bottom:35px}
  .home-bottom{display:none}
  .flow-page{height:calc(100dvh - 62px);min-height:0;padding:18px 20px 20px;justify-content:center;overflow:hidden}
  .flow-heading>.back-link,.studio-heading>.back-link{position:absolute;left:0;top:0;margin:0;font-size:10px}
  .flow-heading .step-track{margin-bottom:17px;padding-top:23px}
  .flow-eyebrow{font-size:8px}
  .flow-heading h1{font-size:clamp(34px,9vw,46px);margin:9px 0}
  .flow-heading>p{font-size:10px;line-height:1.6}
  .guest-form{margin-top:20px;padding:20px;width:100%;max-width:420px}
  .guest-form input{height:44px}
  .flow-side-note{font-size:10px;margin-top:15px}
  .compact-heading h1{font-size:clamp(30px,8vw,42px)}
  .frame-choices{margin-top:22px;gap:10px;width:100%;max-width:470px}
  .frame-choice{padding:10px 12px;gap:12px}
  .frame-preview{width:59px;min-height:77px;padding:4px;gap:3px}
  .frame-three{min-height:88px}
  .choice-copy strong{font-size:15px}.choice-copy small{font-size:9px}
  .continue-frame{min-height:43px}
  .studio-page,.develop-page{height:calc(100dvh - 62px);min-height:0;max-height:calc(100dvh - 62px);padding:12px 12px 14px;overflow:hidden;display:flex;flex-direction:column}
  .studio-heading{flex:0 0 auto;margin:0 0 10px}
  .studio-heading>.back-link{top:0}
  .studio-heading .step-track{margin:0 auto 6px;padding-top:22px}
  .studio-heading h1{font-size:clamp(24px,6vw,32px);margin:4px 0}
  .studio-heading>p{font-size:9px;line-height:1.45}
  .studio-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(115px,.68fr);gap:9px;align-items:stretch;overflow:hidden}
  .capture-panel{padding:7px;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .capture-toolbar{height:18px;min-height:18px;font-size:7px;gap:5px}
  .icon-button{width:24px;height:24px}
  .camera-stage{flex:1;min-height:0;aspect-ratio:auto;margin-top:5px}
  .camera-placeholder{padding:7px}
  .camera-icon{width:35px;height:35px;margin-bottom:6px}
  .camera-icon i{width:16px!important;height:16px!important}
  .camera-placeholder strong{font-size:13px;line-height:1.3}
  .camera-placeholder small{font-size:8px;line-height:1.35;margin:5px 0 8px}
  .camera-placeholder .button{font-size:8px;min-height:30px;padding:6px 7px;gap:5px}
  .capture-controls{grid-template-columns:1fr 38px;grid-template-rows:40px 10px;gap:2px 6px;padding:6px 0 3px}
  .upload-button{grid-column:1;grid-row:1;justify-self:stretch;min-height:32px;padding:5px 4px;font-size:8px;gap:4px}
  .shutter-button{grid-column:2;grid-row:1;width:36px;height:36px}
  .shutter-button span{width:27px;height:27px}
  .shutter-hint{grid-column:2;grid-row:2;font-size:6px;letter-spacing:.6px;justify-self:center}
  .slot-list{gap:4px;margin-top:3px}
  .slot-chip{font-size:7px;padding:3px 4px;gap:3px}
  .slot-chip i{width:9px!important;height:9px!important}
  .camera-help{display:none}
  .preview-panel{min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:0}
  .preview-title{margin:0 0 6px;align-items:center}
  .preview-title h2{font-size:16px}.preview-title .section-kicker{font-size:6px;letter-spacing:1px}
  .preview-count{font-size:8px}
  .polaroid-preview{width:100%;padding:6px 6px 8px;max-height:65%;overflow:hidden}
  .preview-slots{gap:3px}
  .preview-slot{aspect-ratio:1.2/1}
  .preview-signature{font-size:7px;padding-top:5px;gap:3px}
  .preview-signature i{width:8px!important;height:8px!important}
  .preview-tip{display:none}
  .preview-panel>.full-button{margin-top:8px;min-height:36px;padding:7px 5px;font-size:8px;gap:5px}
  .develop-page .studio-heading{margin-bottom:8px}
  .develop-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:10px;overflow:hidden}
  .develop-preview-wrap{min-height:0;overflow:hidden;justify-content:center;padding:0}
  .develop-label{font-size:7px;letter-spacing:1px;margin-bottom:8px;gap:4px}
  .develop-label i{width:11px!important}
  .develop-polaroid{width:100%;padding:6px 6px 8px;max-height:68%;overflow:hidden}
  .develop-polaroid .preview-slots{gap:3px}
  .develop-polaroid .preview-slot{aspect-ratio:1.25/1}
  .develop-actions{flex-direction:column;gap:5px;width:100%;margin-top:8px}
  .develop-actions .button{min-height:32px;padding:5px 7px;font-size:8px;gap:5px}
  .filter-panel{padding:12px 9px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
  .filter-panel>.section-kicker{font-size:7px;letter-spacing:1px}
  .filter-panel h2{font-size:19px;line-height:1.2}
  .filter-panel>p{font-size:8px;line-height:1.4;margin:4px 0 9px}
  .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .filter-option{padding:4px}
  .filter-swatch{height:clamp(26px,6vh,43px);margin-bottom:4px}
  .filter-option strong{font-size:8px}.filter-option small{font-size:6px}
  #saveMomentForm{margin-top:9px}
  .submit-moment{font-size:8px;line-height:1.2;padding:8px 5px;min-height:37px;gap:4px}
  .save-note{display:none}
  .memories-page{height:calc(100dvh - 62px);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}
  .memories-hero{flex:0 0 auto;min-height:0;padding:12px 17px 15px}
  .memories-hero>.back-link{margin-bottom:7px;font-size:9px}
  .memories-intro{margin:0 auto}
  .memories-intro .section-kicker{font-size:7px;letter-spacing:1.3px}
  .memories-intro h1{font-size:clamp(25px,7vw,37px);line-height:1.08;margin:5px 0 6px;letter-spacing:-.7px}
  .memories-intro p{font-size:8px;line-height:1.4;max-width:350px}
  .album-stamp{top:10px;right:12px;width:27px;height:27px}
  .album-stamp i{width:13px!important;height:13px!important}
  .success-banner{flex:0 0 auto;margin:6px 10px 0;padding:6px 8px;gap:6px}
  .success-banner>i{width:14px!important}
  .success-banner strong{font-size:8px}.success-banner span,.success-banner>a{font-size:7px}
  .album-section{flex:1;min-height:0;overflow:auto;padding:12px 12px 10px}
  .album-toolbar{margin-bottom:8px;gap:7px;align-items:center}
  .album-toolbar h2{font-size:18px}.album-toolbar p{font-size:8px}
  .album-toolbar .button{min-height:31px;padding:6px 7px;font-size:7px;gap:4px}
  .memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .memory-card{padding:4px 4px 0}
  .memory-image-button{aspect-ratio:1/1.12}
  .memory-caption{padding:5px 2px 6px}
  .memory-caption strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
  .memory-caption span{font-size:6px;line-height:1.2}
  .memory-caption>i{width:9px!important;flex-shrink:0}
  .memory-zoom{width:20px;height:20px;right:4px;bottom:4px}
  .memory-zoom i{width:11px!important}
  .empty-album{padding:25px 12px}
  .empty-flower{width:37px;height:37px;margin-bottom:8px}
  .empty-flower i{width:17px!important;height:17px!important}
  .empty-album h3{font-size:18px;margin-bottom:5px}
  .empty-album p{font-size:8px;line-height:1.5;margin-bottom:10px}
  .empty-album .button{min-height:32px;font-size:8px;padding:7px 9px}
  .album-closing{display:none}
  .notice{flex:0 0 auto;margin:6px 10px;padding:6px 8px;font-size:8px}
  .lightbox{padding:14px}
  .lightbox img{max-height:75dvh}
}
@media(max-width:390px) and (max-height:750px){
 .hero{padding-top:10px;padding-bottom:10px}.hero-visual{max-height:32dvh}.hero h1{font-size:34px}
 .studio-heading h1{font-size:23px}.studio-layout{grid-template-columns:minmax(0,1fr) minmax(108px,.65fr)}
 .filter-panel h2{font-size:17px}.filter-swatch{height:25px}
}
