:root{--paper:#faf8f1;--ink:#404a3e;--accent:#48543e;--wash:#e9eee2;--line:#cdd4c5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 Manrope,system-ui,sans-serif}.memory-shell a{color:inherit}.memory-shell button,.memory-shell input,.memory-shell select,.memory-shell textarea{font:inherit;color:inherit}.memory-shell button,.memory-shell a,.memory-shell input,.memory-shell select,.memory-shell textarea{touch-action:manipulation}.memory-shell button,.memory-shell select,.memory-shell input,.memory-shell textarea{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:14px 18px}.memory-shell button{cursor:pointer;min-height:48px}.memory-shell button:hover{background:var(--wash)}.memory-shell :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.memory-shell{max-width:1160px;margin:auto;padding:24px 36px}.memory-shell nav{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0 24px}.memory-shell h1,.memory-shell h2{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.14;overflow-wrap:normal;hyphens:none}.memory-shell h1{font-size:clamp(36px,5vw,64px);max-width:750px}.memory-shell h2{font-size:30px;margin:0}.memory-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:64px 0}.cover{width:34%;max-width:340px;max-height:420px;object-fit:contain}.primary{display:inline-block;background:var(--accent);color:white;text-decoration:none;border:0;padding:16px 24px;border-radius:40px}.primary:hover{background:var(--ink)}.settings{padding:22px;border:1px solid var(--line);border-radius:20px;margin-bottom:24px}.memory-shell summary{cursor:pointer;font-weight:600;min-height:32px}.memory-shell form{display:grid;gap:20px}.memory-shell label{display:grid;gap:8px}.memory-shell label:has([type=checkbox]){display:flex;align-items:center;gap:12px}.memory-shell input[type=checkbox]{width:22px;height:22px}.memory-shell fieldset{border:1px solid var(--line);padding:18px;display:grid;gap:14px}.memory-shell input,.memory-shell textarea,.memory-shell select{min-width:0;width:100%}.memory-shell input[type=checkbox]{width:22px}.settings form{margin-top:24px}.filters{display:grid;grid-template-columns:1fr 230px;gap:16px;margin:28px 0}.materials{columns:2;column-gap:24px}.material{break-inside:avoid;display:inline-block;width:100%;border:1px solid var(--line);background:var(--wash);border-radius:22px;overflow:hidden;margin:0 0 24px}.material img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover}.material-content{padding:26px}.material header{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.material header span{font-size:16px}.message{white-space:normal;overflow-wrap:normal}.material audio,.voice-upload audio{display:block;width:100%;max-width:100%;margin:22px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;border-top:1px solid var(--line)}.actions button{flex:1}.downloads{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.add-memory{max-width:740px;margin:60px auto;padding:32px;background:var(--wash);border-radius:24px}.add-memory h2{margin-bottom:24px}.voice-upload{padding:20px;border:1px solid var(--line);border-radius:18px}.voice-upload button{margin-bottom:12px}.memory-shell footer{margin-top:90px;padding:24px;text-align:center;font-size:14px}.memory-shell footer a{text-decoration:none}.memory-shell [hidden]{display:none!important}body.memories-wedding-blue{--paper:#f5f9fd;--ink:#25425c;--accent:#466d89;--wash:#dfedf5;--line:#acc6d8}body.memories-wedding-wine{--paper:#fbf4ec;--ink:#592930;--accent:#742c3b;--wash:#f1e2dc;--line:#d7b4aa}body.memories-thin-jasmine{--paper:#f2eee3;--ink:#24483a;--accent:#254c3d;--wash:#e8ecde;--line:#c6d0bc}body.memories-silver-forever{--paper:#f7f7f4;--ink:#393f40;--accent:#51595a;--wash:#e9ebea;--line:#c8cdcb}body.memories-silver-forever h1{text-transform:uppercase;font-family:system-ui;font-weight:300;letter-spacing:.02em}body.memories-wedding-blue .cover{border-radius:50% 50% 0 0}body.memories-wedding-wine h1{font-style:italic}@media(max-width:600px){.memory-shell{padding:18px}.memory-heading{display:block;padding:36px 0}.cover{width:100%;max-width:100%;margin-top:24px;max-height:360px}.materials{columns:1}.material-content{padding:20px}.material header{flex-wrap:wrap}.memory-shell h2{font-size:26px}.filters{grid-template-columns:1fr}.add-memory{padding:20px;margin:40px 0}.actions{display:grid;grid-template-columns:1fr}.voice-upload{padding:14px}}.demo-language{display:flex;align-items:end;gap:16px;margin:24px 0}.demo-language label{flex:1}.demo-templates{flex-wrap:wrap;justify-content:start;font-size:16px}body.memories-thin-jasmine .memory-heading{background-image:url("/static/images/invitation-art/jasmine-border-fine-v2.128a8cf0ced8.png");background-position:right center;background-size:auto 100%;background-repeat:no-repeat;padding-inline-end:70px}body.memories-wedding-wine .memory-heading{border-bottom:1px solid var(--line)}@media(max-width:600px){.demo-language{display:grid}body.memories-thin-jasmine .memory-heading{padding-inline-end:26px}}

body.memories-body{font-family:Manrope,system-ui,sans-serif}.memories-body:dir(rtl){font-family:"Noto Sans Arabic",Manrope,sans-serif}.memories-body:dir(rtl) .memory-shell :is(h1,h2){font-family:"Noto Naskh Arabic",serif}.memories-body .site-header{background:#fffaf2}

/* Consistent dropdown chevrons, including right-to-left languages. */
.memory-shell select{appearance:none;-webkit-appearance:none;padding-inline-end:52px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%23657266' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px 20px;background-position:right 20px center;cursor:pointer}
.memory-shell:dir(rtl) select{background-position:left 20px center}
@media(forced-colors:active){.memory-shell select{appearance:auto;-webkit-appearance:auto;background-image:none}}
body.memories-ivory-garden{--paper:#f2eee3;--ink:#514d44;--accent:#5d574b;--wash:#e8e6dc;--line:#c9c4b7}
body.memories-floral-air{--paper:#fcfaf4;--ink:#3f493b;--accent:#526849;--wash:#edf0e6;--line:#c9d1be}
body.public-invitation.memories-body{background:var(--paper);color:var(--ink);font:18px/1.55 Manrope,Arial,sans-serif}

/* A personal letter, with attachments revealed only when needed. */
.memory-shell{max-width:1100px;padding:24px 40px 0}
.memory-shell>nav{font-size:16px;padding:8px 0 20px}
.memory-heading{position:relative;padding:48px 0 32px;gap:32px}
body.memories-thin-jasmine .memory-heading{background:none;padding-inline-end:0}
.memory-heading>div{max-width:760px}
.memory-heading p:first-child{font-size:16px;margin:0 0 18px}
.memory-shell h1{font-size:clamp(36px,4.3vw,58px);line-height:1.16;margin:0 0 20px;max-width:780px;letter-spacing:-.035em;text-wrap:balance}
.memory-intro{font-size:18px;margin:0;max-width:540px}
.memory-heading .cover{max-width:200px;max-height:240px;border-radius:100px 100px 12px 12px}
.memory-shell .primary{background:var(--accent);color:#fff!important;border:1px solid var(--accent);font-weight:600;min-height:52px;border-radius:30px;text-align:center}
.memory-shell .primary:hover{background:var(--ink);color:#fff!important}
.add-memory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:48px;max-width:none;margin:12px 0 48px;padding:40px;background:#fffdf8;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 50px #293c2710}
.memory-form-heading{padding-top:6px}
.memory-letter-mark{display:block;font-family:Georgia,serif;font-size:48px;line-height:1;color:var(--accent);margin-bottom:28px}
.add-memory .memory-form-heading h2{font-size:32px;line-height:1.25;margin:0 0 16px;text-wrap:balance}
.memory-form-heading p{font-size:16px;line-height:1.65;margin:0;max-width:260px}
.add-memory form{gap:22px;min-width:0}
.add-memory label{font-size:16px;line-height:1.5;font-weight:500;min-width:0}
.add-memory input:not([type=checkbox]),.add-memory textarea{background:#fff;color:var(--ink);border-radius:12px;padding:12px 14px;font-size:17px;min-height:48px}
.add-memory textarea{resize:vertical;min-height:140px}
.add-memory textarea::placeholder{color:#66685f;opacity:1}
.memory-attachment{border-top:1px solid var(--line);padding-top:14px}
.memory-attachment summary{display:flex;align-items:center;gap:10px;list-style:none;font-size:16px;font-weight:500;min-height:44px}
.memory-attachment summary::-webkit-details-marker{display:none}
.memory-attachment summary>span{font-size:24px;line-height:1}
.memory-attachment[open] summary>span{transform:rotate(45deg)}
.memory-attachment>label,.memory-attachment .voice-upload{margin-top:14px}
.add-memory .voice-upload{padding:0;border:0;border-radius:0}
.voice-upload p{font-size:16px;margin:0 0 12px}
.add-memory input[type=file]{max-width:100%;font-size:16px;padding:10px;background:var(--paper)}
.add-memory input[type=file]::file-selector-button{font:inherit;color:var(--ink);background:#fffdf8;border:1px solid var(--line);padding:8px 12px;border-radius:8px;margin-inline-end:10px;cursor:pointer}
.memory-moderation{font-size:16px;line-height:1.55;margin:0}
.add-memory fieldset.media-consent{margin:0 0 4px;display:block;padding:18px;background:#f8f5ed;border-color:#ddd4c5}
.add-memory .media-consent legend{font-weight:500}
.add-memory .media-consent label{margin-bottom:16px!important;font-weight:400}
.add-memory .media-consent p{margin:0 0 14px}
.add-memory form>.primary{width:100%;margin-top:0}
.materials:empty{display:none}
.material{background:#fffdf8}.material-content{padding:28px}
.memory-shell footer{margin-top:48px;padding:24px 0 32px}
@media(max-width:760px){.memory-shell{padding:18px 20px 0}.memory-heading{padding:32px 0 26px}.memory-heading .cover{display:none}.add-memory{display:block;padding:24px;margin:0 0 32px;border-radius:20px}.memory-form-heading{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;margin-bottom:26px}.memory-letter-mark{font-size:36px;margin:0;grid-row:1/3}.add-memory .memory-form-heading h2{font-size:26px;margin:0 0 10px}.memory-form-heading p{max-width:none;grid-column:2}.memory-heading p:first-child{margin-bottom:14px}.memory-shell h1{font-size:clamp(34px,8vw,48px)}.memory-intro{font-size:17px}.materials{columns:1}.memory-shell footer{margin-top:32px}}
@media(max-width:400px){.memory-shell{padding-inline:16px}.add-memory{padding:20px 16px}.memory-form-heading{grid-template-columns:1fr}.memory-letter-mark{display:none}.memory-form-heading p{grid-column:1}.add-memory fieldset.media-consent{padding:14px}}
@media(prefers-reduced-motion:reduce){.memory-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Shared Gostelio identity, independent of the invitation's colour theme. */
body.public-invitation.memories-body{--paper:#fffaf2;--ink:#443a2d;--accent:#705736;--wash:#f5eddf;--line:#dfcfb6;background:var(--paper);color:var(--ink)}
.memories-body .memory-shell h1,.memories-body .memory-shell h2{color:#443a2d}
.memories-body .memory-shell>nav{border-color:#e6d8c4;color:#705736}
.memories-body .memory-shell>nav a{text-decoration:none}
.memories-body .memory-shell>nav a:hover{text-decoration:underline}
.memories-body .memory-heading p:first-child{color:#705736}
.memories-body .memory-intro,.memories-body .memory-form-heading p,.memories-body .memory-moderation{color:#6b5d4b}
.memories-body .add-memory{background:#fffdf8;border-color:#dfcfb6;box-shadow:0 12px 40px #7057360a}
.memories-body .memory-letter-mark{display:block;width:80px;height:68px;object-fit:contain;mix-blend-mode:darken;margin:0 0 22px}
.memories-body .add-memory input:not([type=checkbox]),.memories-body .add-memory textarea{border-color:#d8c4a5;background:#fffefa}
.memories-body .add-memory textarea::placeholder{color:#766a59}
.memories-body .memory-attachment{border-color:#e8dbc8}
.memories-body .memory-attachment summary{color:#705736}
.memories-body .voice-upload button{background:#f7efdf;border-color:#d6bd93;color:#5c4528;border-radius:28px}
.memories-body .memory-shell .primary{background:#705736;border-color:#705736;color:#fff!important}
.memories-body .memory-shell .primary:hover{background:#594226;border-color:#594226}
.memories-body .add-memory fieldset.media-consent{background:#f8f1e5;border-color:#dfcfb6}
.memories-body .memory-shell footer{color:#6b5d4b}
@media(max-width:760px){.memories-body .memory-form-heading{grid-template-columns:56px minmax(0,1fr)}.memories-body .memory-letter-mark{width:56px;height:52px;margin:0;grid-row:1/3}.memories-body .memory-form-heading p{grid-column:2}}
@media(max-width:400px){.memories-body .memory-form-heading{grid-template-columns:1fr}.memories-body .memory-letter-mark{width:56px;height:48px;margin-bottom:12px;grid-row:auto}.memories-body .memory-form-heading p{grid-column:1}}
