:root{color:#263029;font-synthesis:none;--forest:#293b30;--sage:#6f7c68;--gold:#b6935e;--cream:#f7f3eb;--line:#d7d0c3;background:#f2ede4;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}.memorial-page{grid-template-columns:minmax(390px,46%) minmax(540px,54%);min-height:100vh;display:grid}.portrait-panel{color:#fff;background:#8b755d;height:100vh;position:sticky;top:0;overflow:hidden}.portrait{object-fit:cover;object-position:50% 37%;filter:saturate(.77)contrast(1.04);width:100%;height:100%;transform:scale(1.015)}.portrait-shade{background:linear-gradient(#141c1778 0%,#0000 26%),linear-gradient(#0000 35%,#121b150d 52%,#121b15bf 100%);position:absolute;inset:0}.brand{color:#fff;align-items:center;gap:12px;text-decoration:none;display:flex;position:absolute;top:34px;left:42px}.brand span{gap:3px;display:grid}.brand b{letter-spacing:.18em;font-size:12px}.brand small{letter-spacing:.22em;opacity:.72;font-size:8px}.portrait-copy{position:absolute;bottom:88px;left:48px;right:40px}.eyebrow{color:#836d49;letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:10px;font-size:10px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--gold);width:24px;height:1px}.eyebrow.light{color:#ffffffb8}.legacy-quote{letter-spacing:-.02em;margin:22px 0 25px;font-family:Italiana,serif;font-size:clamp(31px,3.3vw,53px);font-weight:400;line-height:1.07}.legacy-line{align-items:center;gap:14px;display:flex}.legacy-line span{background:#ffffff80;width:30px;height:1px}.legacy-line p{letter-spacing:.17em;text-transform:uppercase;color:#ffffffb3;margin:0;font-size:10px}.portrait-footer{letter-spacing:.18em;color:#ffffff8f;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:28px;left:48px;right:40px}.form-panel{background:var(--cream);flex-direction:column;min-height:100vh;display:flex}.form-shell{flex:1;width:min(640px,100% - 96px);margin:0 auto;padding:46px 0 64px}.topline{justify-content:space-between;align-items:center;margin-bottom:74px;display:flex}.step{color:#9a9286;letter-spacing:.17em;align-items:center;gap:8px;font-size:9px;display:flex}.step i{background:#ccc4b8;width:34px;height:1px;display:block}.lang-toggle{letter-spacing:.1em;color:#a8a094;align-items:center;gap:10px;font-size:13px;display:flex}.lang-toggle button{color:inherit;cursor:pointer;text-transform:uppercase;text-underline-offset:4px;font-size:inherit;background:0 0;border:0;padding:0 0 3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s,color .2s}.lang-toggle button:hover{text-decoration-color:currentColor}.lang-toggle button.active{color:var(--forest);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);font-weight:600}.details-button{background:var(--forest);color:#fff;letter-spacing:.03em;cursor:pointer;border:0;align-items:center;gap:9px;margin:10px 0 40px;padding:12px 18px;font-size:11px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.details-button:hover{background:#3a5140;transform:translateY(-1px)}.intro h1,.success h1{color:var(--forest);letter-spacing:-.035em;margin:0;font-family:Italiana,serif;font-size:clamp(49px,5.2vw,74px);font-weight:400;line-height:.96}.intro h1 em,.success h1 em{color:#93754b;font-weight:400}.intro>p{color:#77756e;max-width:560px;margin:27px 0 42px;font-size:14px;line-height:1.72}form{gap:26px;display:grid}.fields.two-col{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field{gap:10px;display:grid}.field-heading{justify-content:space-between;align-items:center;display:flex}.label{color:#344038;letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:600}.field-heading small{color:#a8a094;font-size:9px}input,select,textarea{border:0;border-bottom:1px solid var(--line);color:#273128;background:0 0;border-radius:0;outline:none;width:100%;padding:9px 0 13px;transition:border-color .2s}input::placeholder,textarea::placeholder{color:#aca69c}input:focus,select:focus,textarea:focus{border-color:var(--gold)}select{appearance:none;cursor:pointer}.select-wrap{position:relative}.select-wrap svg{color:#82796c;pointer-events:none;position:absolute;top:9px;right:0}.phone-row{align-items:flex-end;gap:12px;display:flex}.phone-row input{flex:1;min-width:0}.country-picker{flex:none;position:relative}.country-picker-trigger{border:0;border-bottom:1px solid var(--line);color:#273128;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:9px 2px 13px;font-size:13px;display:flex}.country-picker-trigger:hover{border-color:var(--gold)}.country-picker-panel{z-index:20;border:1px solid var(--line);background:#fff;flex-direction:column;width:260px;max-height:280px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #23282124}.country-picker-panel input{border:0;border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px}.country-picker-panel ul{margin:0;padding:4px 0;list-style:none;overflow-y:auto}.country-picker-panel li button{color:#3a4038;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:8px 12px;font-size:12px;display:flex}.country-picker-panel li button:hover{background:var(--cream)}.country-picker-panel .country-name{flex:1}.country-picker-panel .country-dial{color:#a8a094}.country-picker-panel .country-empty{color:#a8a094;padding:10px 12px;font-size:12px}textarea{resize:vertical;height:104px;line-height:1.6}.attendance-field{border:0;margin:0;padding:0}.attendance-field legend{margin-bottom:11px}.attendance-options{grid-template-columns:1fr 1fr auto;gap:10px;display:grid}.attendance-options>label{border:1px solid var(--line);color:#77756e;cursor:pointer;align-items:center;gap:9px;min-height:48px;padding:12px 14px;font-size:11px;transition:border-color .2s,background .2s,color .2s;display:flex}.attendance-options>label.active{color:var(--forest);background:#f0eadf;border-color:#9d927f}.attendance-options input[type=radio],.attendance-options input[type=checkbox]{opacity:0;width:1px;position:absolute}.attendance-options label>span:first-of-type{color:#0000;border:1px solid #bbb2a5;border-radius:50%;place-items:center;width:17px;height:17px;display:grid}.attendance-options label.active>span:first-of-type{color:#fff;background:var(--forest);border-color:var(--forest)}.attendance-options .guest-count{cursor:default;gap:8px}.guest-count>span:first-of-type{color:#77756e!important;background:0 0!important;border:0!important;border-radius:0!important;width:auto!important;height:auto!important}.guest-count select{width:28px;color:var(--forest);text-align:center;border:0;padding:0;font-weight:600}.events-options{grid-template-columns:1fr 1fr}.events-hint{color:#a8a094;margin:10px 0 0;font-size:10px}.guest-count.standalone{color:#77756e;cursor:default;border:0;align-items:center;gap:10px;margin-top:16px;padding:0;font-size:11px;display:flex}.guest-count.standalone .select-wrap{align-items:center;display:inline-flex}.guest-count.standalone select{width:auto;padding:0 18px 0 0}.guest-count.standalone .select-wrap svg{top:1px;right:2px}.consents{gap:12px;display:grid}.form-error{color:#7d433b;background:#f4e9e5;border-left:2px solid #9c594d;padding:12px 14px;font-size:11px;line-height:1.5}.consent{color:#6f716b;cursor:pointer;align-items:flex-start;gap:11px;font-size:11px;line-height:1.5;display:flex}.consent input{opacity:0;width:1px;position:absolute}.custom-check{color:#0000;border:1px solid #bbb2a5;flex:none;place-items:center;width:18px;height:18px;transition:all .2s;display:grid}.consent input:checked+.custom-check{background:var(--forest);border-color:var(--forest);color:#fff}.consent input:focus-visible+.custom-check{outline:2px solid var(--gold);outline-offset:2px}.form-footer{justify-content:space-between;align-items:center;gap:25px;margin-top:4px;display:flex}.form-footer p{color:#9a958b;align-items:center;gap:7px;max-width:220px;margin:0;font-size:9px;line-height:1.45;display:flex}.submit-button{background:var(--forest);color:#fff;letter-spacing:.03em;cursor:pointer;border:0;align-items:center;gap:28px;padding:15px 19px;font-size:11px;transition:background .2s,transform .2s;display:inline-flex}.submit-button:hover{background:#3a5140;transform:translateY(-1px)}.submit-button:disabled{cursor:wait;opacity:.68;transform:none}.photo-share{background:var(--cream);border:1px solid var(--line);align-items:center;gap:24px;width:min(640px,100% - 96px);margin:0 auto 8px;padding:26px;display:flex}.photo-share-qr{border-radius:6px;flex-shrink:0;display:block}.photo-share-qr-button{cursor:zoom-in;background:0 0;border:0;border-radius:6px;flex-shrink:0;padding:0;transition:transform .2s}.photo-share-qr-button:hover{transform:scale(1.04)}.qr-overlay{z-index:60;background:#141814b8;justify-content:center;align-items:center;padding:24px;animation:.2s both fade;display:flex;position:fixed;inset:0}.qr-overlay-image{background:#fff;border-radius:8px;width:min(420px,88vw);height:auto;padding:16px}.qr-overlay-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:22px;right:22px}.qr-overlay-close:hover{background:#ffffff1f}.photo-share-copy p{color:#6f6a5e;margin:10px 0 16px;font-size:13px;line-height:1.6}.photo-share-button{color:#2a1f0d;background:var(--gold);letter-spacing:.02em;align-items:center;gap:11px;padding:13px 18px;font-size:11px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.photo-share-button:hover{background:#c9a76d;transform:translateY(-1px)}.intro-actions{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 40px;display:flex}.intro-actions .details-button{margin:0}.invitation-download-button{border:1px solid var(--forest);color:var(--forest);letter-spacing:.02em;cursor:pointer;background:0 0;align-items:center;gap:9px;padding:12px 18px;font-size:11px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:inline-flex}.invitation-download-button:hover{background:var(--forest);color:#fff;transform:translateY(-1px)}.invitation-menu{position:relative}.invitation-menu-panel{z-index:20;border:1px solid var(--line);background:#fff;flex-direction:column;min-width:160px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #23282124}.invitation-menu-panel button{color:#3a4038;text-align:left;cursor:pointer;background:0 0;border:0;padding:11px 16px;font-size:12px}.invitation-menu-panel button:hover{background:var(--cream)}.invitation-menu-panel button+button{border-top:1px solid var(--line)}.site-footer{color:#9c9589;letter-spacing:.15em;border-top:1px solid #ddd6ca;justify-content:space-between;align-items:center;gap:20px;padding:20px 42px;font-size:8px;display:flex}.site-footer nav{align-items:center;gap:12px;display:flex}.site-footer nav i{background:var(--gold);border-radius:50%;width:3px;height:3px}.site-footer a{text-decoration:none;transition:color .2s}.site-footer a:hover{color:var(--forest)}.success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:560px;padding:64px 0;animation:.55s both rise;display:flex}.success-mark{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:70px;height:70px;margin-bottom:35px;display:grid;box-shadow:0 0 0 12px #293b3012}.success .eyebrow{margin-bottom:20px}.success h1{font-size:clamp(45px,4.5vw,66px)}.success>p{color:#77756e;max-width:500px;margin:27px 0 34px;font-size:14px;line-height:1.75}.whatsapp-status{color:#47705a;align-items:center;gap:9px;margin:-15px 0 22px;font-size:11px;line-height:1.5;display:flex}.whatsapp-actions{flex-wrap:wrap;gap:10px;display:flex}.whatsapp-button{color:#fff;background:#25d366;align-items:center;gap:13px;padding:15px 18px;font-size:11px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex;box-shadow:0 6px 20px #25d36659}.whatsapp-button svg:last-child{margin-left:12px}.whatsapp-button:hover{background:#1ebe5a;transform:translateY(-1px)}.text-button{color:#766b5b;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a89b88;margin-top:20px;padding:0;font-size:10px}.success-note{color:#979084;align-items:center;gap:9px;margin-top:30px;font-size:10px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=900px){.memorial-page{display:block}.portrait-panel{height:78vh;min-height:580px;position:relative}.portrait{object-position:50% 34%}.form-shell{width:min(640px,100% - 48px);padding-top:38px}.topline{margin-bottom:55px}.photo-share{text-align:center;flex-direction:column;width:calc(100% - 48px)}.site-footer{padding-inline:24px}}@media (width<=560px){.portrait-panel{height:72vh;min-height:540px}.brand{top:24px;left:24px}.portrait-copy{bottom:73px;left:24px;right:24px}.portrait-footer{bottom:22px;left:24px;right:24px}.legacy-quote{font-size:37px}.form-shell{width:calc(100% - 40px);padding:32px 0 50px}.topline{margin-bottom:44px}.intro h1{font-size:49px}.intro>p{margin-bottom:36px}.fields.two-col{grid-template-columns:1fr;gap:26px}.attendance-options{grid-template-columns:1fr}.attendance-options .guest-count{justify-content:space-between}.form-footer{flex-direction:column-reverse;align-items:stretch}.form-footer p{max-width:none}.submit-button{justify-content:space-between}.site-footer{flex-direction:column;align-items:flex-start}.site-footer nav{flex-wrap:wrap}.success{min-height:520px;padding:30px 0}}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1418148c;justify-content:center;align-items:center;padding:24px;animation:.2s both fade;display:flex;position:fixed;inset:0}.modal-panel{background:var(--cream);width:min(680px,100%);max-height:min(86vh,780px);animation:.3s both rise;position:relative;overflow-y:auto;box-shadow:0 30px 60px #0000004d}.modal-body{padding:56px 44px 44px}.modal-close{border:1px solid var(--line);background:var(--cream);color:#6f6a5e;cursor:pointer;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:18px;right:18px}.modal-close:hover{color:var(--forest);border-color:#9d927f}.modal-body .intro{margin-bottom:8px}.modal-body .intro h1{font-size:clamp(34px,4vw,46px)}.modal-body .intro>p{margin:16px 0;font-size:13px}@keyframes fade{0%{opacity:0}to{opacity:1}}.event-card{border:1px solid var(--line);background:#fff;margin:34px 0;padding:30px 28px;position:relative}.event-roman{color:var(--line);font-family:Italiana,serif;font-size:30px;position:absolute;top:22px;right:26px}.event-card h2{color:var(--forest);margin:8px 0 16px;font-family:Italiana,serif;font-size:clamp(24px,2.6vw,32px);font-weight:400}.event-meta{color:#52493a;gap:4px;margin-bottom:16px;font-size:12px;font-weight:600;display:grid}.event-card>p{color:#6f6a5e;margin:0 0 14px;font-size:13px;line-height:1.7}.map-link{color:var(--forest);border-bottom:1px solid var(--gold);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:2px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.event-note{font-style:italic}.event-privacy{background:var(--cream);border-left:2px solid var(--gold);padding:14px 16px}.event-deadline{color:var(--forest);letter-spacing:.02em;margin:0;font-size:11px;font-weight:600}.event-schedule{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.event-schedule li{align-items:baseline;gap:14px;display:flex}.event-schedule li span{color:var(--gold);letter-spacing:.06em;flex:0 0 52px;font-size:10px;font-weight:700}.event-schedule li p{color:#52493a;margin:0;font-size:13px}.fortnight{background:var(--forest);color:#ffffffe0;margin:40px 0 8px;padding:28px}.fortnight .eyebrow{color:#fff9;margin-bottom:14px}.fortnight .eyebrow:before{background:var(--gold)}.fortnight p{margin:0 0 14px;font-size:13px;line-height:1.75}.fortnight p:last-child{margin-bottom:0}@media (width<=560px){.modal-body{padding:48px 22px 32px}.event-card{padding:22px 18px}.events-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
