:root{--color-bg:#f7f1e6;--color-warm-beige:#caa290;--color-dusty-rose:#c4a69b;--color-terracotta:#c26d53;--color-sage:#a3ae9a;--color-light-sage:#bfc9b3;--color-muted-sage:#c5ceba;--color-soft-green:#cad2c0;--color-text:#2e2a28;--font-display:"Playfair Display", Georgia, serif;--font-script:"Allura", cursive;--font-body:"Montserrat", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;overflow-x:clip}body{min-width:320px;min-height:100vh;font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400;overflow-x:clip}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}#root{overflow-x:clip}:root{--page-max:1200px;--page-margin:clamp(1.15rem, 5vw, 3rem);--grid-gutter:clamp(.75rem, 1.8vw, 1.5rem);--grid-columns:12}.site-container{width:min(100% - (var(--page-margin) * 2), var(--page-max));margin-inline:auto}.site-grid{grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr));column-gap:var(--grid-gutter);row-gap:clamp(1.5rem,3vw,2.5rem);display:grid}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-8{grid-column:span 8}.col-10{grid-column:2/span 10}.col-8-center{grid-column:3/span 8}@media (width<=900px){:root{--page-margin:clamp(1.05rem, 4.5vw, 1.75rem)}.col-6,.col-4,.col-8,.col-10,.col-8-center{grid-column:1/-1}.site-grid{row-gap:1.25rem}}@media (width>=901px) and (width<=1100px){.col-4{grid-column:span 4}}#root{--oatmilk:#f7f1e6;--main-text:#353230;--canyon-clay:#c26d53;--forest-floor:#4e5a46;--rosy-taupe:#caa290;--ash-gray:#bfc9b3;min-height:100vh}:root{--font-cursive:"Allura", cursive;--font-main:"Montserrat", sans-serif}.memories-page{color:#2c2926;background:radial-gradient(90% 55% at 100% 0,#ebe3d8 0%,#ebe3d800 58%),#f6f1ea;min-height:100vh;font-family:Outfit,Montserrat,system-ui,sans-serif;font-weight:300;overflow-x:clip}.memories-page *{box-sizing:border-box}.mem-wrap{width:min(1080px,100% - 2.2rem);padding:2.4rem 0 calc(3.5rem + env(safe-area-inset-bottom));margin:0 auto}.mem-hero{flex-direction:column;gap:1.8rem;display:flex}.mem-names{color:#3d4538;letter-spacing:.48em;text-align:center;text-transform:uppercase;flex-direction:column;align-items:center;gap:.42rem;margin:0 0 1.15rem;padding-left:.48em;font-size:.72rem;font-weight:400;display:flex}.mem-rule{background:currentColor;width:1.15rem;height:1px;margin-left:0}.mem-headline{color:#4c6141;letter-spacing:-.03em;text-align:center;margin:0;font-family:Instrument Serif,Georgia,Times New Roman,serif;font-size:clamp(3.15rem,12vw,4.6rem);font-weight:400;line-height:.88}.mem-headline span,.mem-headline em{display:block}.mem-headline em{color:#ce658c;font-style:italic;font-weight:400}.mem-lead{color:#3a3834;text-align:center;max-width:26rem;margin:1.35rem auto 0;font-size:.98rem;line-height:1.7}.mem-arch{aspect-ratio:4/5.15;background:#e5ddd4;border-radius:999px 999px 1.15rem 1.15rem;align-self:center;place-items:center;width:min(100%,19.5rem);margin:0;display:grid;overflow:hidden}.mem-arch img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.mem-arch figcaption{color:#8d847b;letter-spacing:.22em;text-align:center;text-transform:uppercase;max-width:8.5rem;margin:0;font-size:.68rem;font-weight:400;line-height:1.65}.mem-card{background:#fbf8f4c7;border:1px solid #4c614124;border-radius:1.35rem;margin-top:2.4rem;padding:1.35rem 1rem 1.2rem}.mem-kicker{color:#6d675f;letter-spacing:.22em;text-align:center;text-transform:uppercase;margin:.35rem 0 1rem;font-size:.68rem;font-weight:400}.mem-drop,.mem-success{text-align:center;border:1px dashed #b77b8d8c;border-radius:1.1rem;padding:1.6rem 1rem 1.25rem}.mem-mark{background:#b77b8d;border-radius:50%;place-items:center;width:4.4rem;height:4.4rem;margin:0 auto 1.15rem;display:grid}.mem-mark svg{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.7rem;height:1.7rem}.mem-drop h2,.mem-success h2{color:#2f2c29;letter-spacing:.14em;text-transform:uppercase;margin:0;font-family:Outfit,Montserrat,system-ui,sans-serif;font-size:.92rem;font-weight:500;line-height:1.45}.mem-support,.mem-success p{color:#5e5954;max-width:26rem;margin:.7rem auto 0;font-size:.92rem;line-height:1.6}.mem-files{text-align:left;gap:.7rem;width:min(100%,34rem);margin:1.3rem auto 0;padding:0;list-style:none;display:grid}.mem-files li{background:#ffffff8c;border-radius:.8rem;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.75rem .8rem;padding:.55rem;display:grid}.mem-files img,.mem-file-kind{object-fit:cover;border-radius:.45rem;width:3rem;height:3rem}.mem-file-kind{color:#4c6141;letter-spacing:.12em;text-transform:uppercase;background:#efe7df;place-items:center;font-size:.62rem;font-weight:500;display:grid}.mem-file-copy{gap:.15rem;min-width:0;display:grid}.mem-file-name{color:#2c2926;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:400;overflow:hidden}.mem-file-meta,.mem-file-error,.mem-limits,.mem-notice,.mem-overall{color:#756e67;font-size:.75rem;line-height:1.45}.mem-file-error,.mem-notice{color:#8a3d55}.mem-file-actions{flex-wrap:wrap;grid-column:2;gap:.35rem 1rem;display:flex}.mem-files button{color:#4c6141;min-height:2.4rem;font:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;font-weight:500}.mem-bar{background:#4c614129;border-radius:99px;height:2px;margin-top:.35rem;display:block;overflow:hidden}.mem-bar span{background:#4c6141;height:100%;display:block}.mem-input,.mem-hp{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mem-button,.mem-text-button{color:#f7f3ee;min-height:3rem;font:inherit;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:#4c6141;border:0;border-radius:999px;margin-top:1.15rem;padding:.75rem 1.5rem;font-size:.72rem;font-weight:500}.mem-button:disabled{cursor:wait;opacity:.62}.mem-button-send{color:#4c6141;background:0 0;box-shadow:inset 0 0 0 1.5px #4c6141}.mem-text-button{color:#4c6141;background:0 0;border:1px solid #4c614159}.mem-button:focus-visible,.mem-text-button:focus-visible,.mem-files button:focus-visible{outline-offset:3px;outline:2px solid #4c6141}.mem-limits,.mem-notice,.mem-overall{margin:.9rem 0 0}.mem-success{padding-block:2.4rem 2rem}.mem-success h2{letter-spacing:0;text-transform:none;max-width:18rem;margin-inline:auto;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:400;line-height:1.15}.mem-close{color:#b77b8d;text-align:center;margin:2.8rem 0 0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.7rem,4vw,2.15rem);font-style:italic;font-weight:400}@media (width>=1100px){.mem-wrap{width:min(1120px,100% - 5rem);padding-top:4.2rem}.mem-hero{grid-template-columns:minmax(0,1.2fr) minmax(17rem,.72fr);grid-template-areas:"copy arch""lead arch";align-items:start;gap:0 4.5rem;display:grid}.mem-copy{grid-area:copy}.mem-names{text-align:left;align-items:flex-start;padding-left:0}.mem-rule{margin-left:.15rem}.mem-headline{text-align:left}.mem-lead{text-align:left;grid-area:lead;margin:1.6rem 0 0}.mem-arch{grid-area:arch;justify-self:end;width:100%;max-width:none;margin-top:.4rem}.mem-headline{font-size:clamp(4.8rem,6.4vw,6.5rem)}.mem-card{margin-top:2.8rem;padding:1.6rem 1.4rem 1.35rem}.mem-drop,.mem-success{padding:2.3rem 1.5rem 1.6rem}}@media (prefers-reduced-motion:no-preference){.mem-copy,.mem-arch,.mem-card,.mem-close{animation:.7s both mem-rise}.mem-arch{animation-delay:80ms}.mem-card{animation-delay:.14s}.mem-close{animation-delay:.18s}}@media (width<=1099px),(pointer:coarse){.mem-hero{flex-direction:column;align-items:stretch;display:flex}.mem-copy,.mem-names,.mem-headline,.mem-headline span,.mem-headline em,.mem-lead{text-align:center;align-self:stretch;width:100%;max-width:none}.mem-names{align-items:center;padding-left:.48em}.mem-names span:not(.mem-rule){text-align:center;width:100%}.mem-rule{margin-left:0}.mem-lead{max-width:26rem;margin-left:auto;margin-right:auto}.mem-arch{place-self:center;width:min(100%,19.5rem)}}@keyframes mem-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
