@font-face{font-family:Manrope;font-style:normal;font-display:block;font-weight:200 800;src:url(/fonts/manrope-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-display:block;font-weight:200 800;src:url(/fonts/manrope-cyrillic-variable.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:block;font-weight:300 700;src:url(/fonts/cormorant-garamond-latin-variable.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:block;font-weight:300 700;src:url(/fonts/cormorant-garamond-cyrillic-variable.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-display:block;font-weight:400;src:url(/fonts/great-vibes-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes;font-style:normal;font-display:block;font-weight:400;src:url(/fonts/great-vibes-cyrillic-400.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{--bg:#dedfdd;--surface:#f7f7f4bd;--surface-strong:#d5d7d6;--text-strong:#303337;--text-soft:#303337d1;--muted:#41454994;--accent:#6f757a;--accent-strong:#989da1;--olive:#737b78;--oyster:#efeee9;--silver:#bfc3c4;--graphite:#464b50;--font-display:"Cormorant Garamond", Georgia, serif;--font-script:"Great Vibes", cursive;--font-sans:"Manrope", "Segoe UI", sans-serif;font-family:var(--font-sans);color:var(--text-soft);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 18% 4%,#ffffffc7,#0000 30%),radial-gradient(circle at 82% 72%,#b5b9ba70,#0000 34%),linear-gradient(145deg,#f0f0ed 0%,#d8d9d7 48%,#e7e7e3 100%);font-weight:500;line-height:1.5}html{scroll-behavior:smooth;overscroll-behavior:none}body{min-width:320px;min-height:100svh;margin:0}body,button,a{-webkit-tap-highlight-color:transparent}*,:before,:after{box-sizing:border-box}::selection{background:#70767b38}#root{min-height:100svh}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--text-strong);font-weight:600}img{max-width:100%;display:block}button,a{font:inherit}.app-shell{--intro-viewport-height:100svh;--intro-viewport-width:100vw;--letter-reveal-top:clamp(22px, 4.5svh, 46px);--letter-sheet-width:min(42rem, calc(100vw - 26px));--opened-background-width:var(--intro-viewport-width);--opened-background-height:var(--intro-viewport-height);--intro-mobile-envelope-width:min(25rem, 96vw);--intro-mobile-envelope-height:17.36rem;position:relative;overflow-x:clip}.intro-overlay{z-index:20;color:var(--graphite);background:radial-gradient(circle at 50% 32%,#fffffffa,#0000 36%),radial-gradient(circle at 72% 62%,#a6abae38,#0000 36%),linear-gradient(145deg,#f4f4f1 0%,#d9dcdd 54%,#ecebe6 100%);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.intro-phase--envelope-ready .intro-overlay,.is-envelope-opened .intro-overlay{display:none}.intro-loader{text-align:center;justify-items:center;gap:14px;display:grid}.intro-loader__monogram{filter:drop-shadow(0 12px 28px #3c414521)drop-shadow(0 0 18px #ffffffb8);width:clamp(138px,32vw,206px);height:auto;display:block;overflow:visible}.intro-loader__monogram-stroke,.intro-loader__monogram-fill{font-family:var(--font-script);letter-spacing:0;font-size:86px}.intro-loader__monogram-stroke{fill:none;stroke:#474c51cc;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:720;stroke-dashoffset:720px;animation:3.15s ease-in-out infinite loader-write}.intro-loader__monogram-fill{fill:#3e4348c2;opacity:0;animation:3.15s ease-in-out infinite loader-fill}.intro-loader__text{color:#414549e0;text-transform:uppercase;letter-spacing:.28em;font-size:.78rem}.intro-start{color:#4a4f54;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#ffffffeb,#dee0ded1),linear-gradient(135deg,#aeb3b5,#d8d9d6);border:1px solid #4b50552e;border-radius:999px;min-width:11rem;min-height:58px;font-weight:800;box-shadow:inset 0 1px #ffffffb3,0 18px 42px #3f44482e}.intro-start:focus-visible,.music-toggle:focus-visible{outline-offset:5px;outline:2px solid #4a50558a}.music-toggle{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:12;aspect-ratio:1;color:#393e43e0;cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);background:#f6f6f29e;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:44px;display:grid;position:fixed;box-shadow:inset 0 1px #ffffff94,0 16px 34px #30353924}@supports ((-webkit-backdrop-filter:blur(0))){.music-toggle{-webkit-backdrop-filter:blur(12px)saturate(1.1)}}.music-toggle.is-muted{color:#393e436b}.skip-intro{top:max(20px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));z-index:13;color:#393e43c7;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);background:#f6f6f29e;border:1px solid #ffffff7a;border-radius:999px;min-height:42px;padding:0 18px;font-size:.68rem;font-weight:750;position:fixed}.skip-intro:focus-visible{outline-offset:5px;outline:2px solid #4a50558a}@keyframes loader-write{0%{stroke-dashoffset:720px;opacity:.4}48%,76%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:720px;opacity:.36}}@keyframes loader-fill{0%,36%{opacity:0}54%,78%{opacity:1}to{opacity:0}}.film-grain,.ambient{pointer-events:none;position:fixed;inset:0}.film-grain{opacity:.05;mix-blend-mode:multiply;background-image:linear-gradient(#ffffff1f,#ffffff1f),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}.ambient{opacity:.72}.ambient--left{background:radial-gradient(circle at 12% 18%,#ffffff8a,#0000 28%),radial-gradient(circle at 16% 84%,#6b727729,#0000 24%)}.ambient--right{background:radial-gradient(circle at 84% 14%,#ebebe7b3,#0000 30%),radial-gradient(circle at 80% 74%,#73797d2e,#0000 26%)}.invitation-sequence{position:relative}.invitation-camera{height:var(--intro-viewport-height);perspective:2200px;transform-style:preserve-3d;background:radial-gradient(circle at top,#fffffceb,#0000 38%),linear-gradient(#e5e7e6fa,#c6cacbf5);position:relative;overflow:hidden}.invitation-camera.is-opened{height:auto;min-height:var(--intro-viewport-height);overflow:visible}.app-shell.is-envelope-opened .invitation-camera{perspective:none;transform-style:flat}.proposal-memory{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.proposal-memory__photo{filter:saturate(1.02)contrast(1.04);opacity:.86;background-color:#0000;background-image:radial-gradient(circle at 14% 12%,#fffffcf0,#0000 28%),radial-gradient(circle at 86% 18%,#565c616b,#0000 32%),radial-gradient(circle at 68% 78%,#f0eee8a8,#0000 34%),linear-gradient(116deg,#0000 0 43%,#42484d33 44%,#ffffff6b 45%,#0000 47%),linear-gradient(145deg,#ecece8 0%,#c9cdce 42%,#858b90 72%,#dfe0dd 100%);background-position:50% 74%;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;position:absolute;inset:-26px;transform:scale(1.04)}.proposal-memory__photo:before,.proposal-memory__photo:after{content:"";position:absolute;inset:0}.proposal-memory__photo:before{mix-blend-mode:soft-light;background:linear-gradient(32deg,#0000 0 56%,#ffffff38 57%,#40464b1f 58%,#0000 60%),linear-gradient(154deg,#0000 0 63%,#474d521f 64%,#ffffff38 65%,#0000 67%)}.proposal-memory__photo:after{background:radial-gradient(at 48% 42%,#0000 20%,#2e33381f 100%)}.intro-phase--loading .proposal-memory__photo,.intro-phase--ready .proposal-memory__photo{opacity:0;filter:blur(16px)saturate(1.02)contrast(1.04);transform:scale(1.08)}.proposal-memory__glass{-webkit-backdrop-filter:blur(7px)saturate(1.08);backdrop-filter:blur(7px)saturate(1.08);background:linear-gradient(145deg,#fffffc29,#dbdddc0a),linear-gradient(#383d4200,#383d4212);border:1px solid #fffffc8a;border-radius:clamp(28px,4vw,48px);position:absolute;inset:clamp(350px,46svh,470px) max(18px,50vw - 35rem) clamp(118px,18svh,164px);box-shadow:inset 0 1px #ffffff75,inset 0 -36px 70px #f8f8f41a,0 32px 84px #2c313529}@supports ((-webkit-backdrop-filter:blur(0))){.proposal-memory__glass{-webkit-backdrop-filter:blur(7px)saturate(1.08)}}.intro-phase--loading .proposal-memory__glass,.intro-phase--ready .proposal-memory__glass{opacity:0;transform:translateY(96px)}.stage-floor{pointer-events:none;filter:blur(18px);opacity:.22;background:radial-gradient(circle,#272c3033,#0000 66%);border-radius:999px;width:min(62rem,92vw);height:18%;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.opening-note{z-index:6;text-align:center;pointer-events:none;place-items:center;gap:10px;width:min(34rem,100vw - 64px);display:grid;position:absolute;top:clamp(170px,25svh,270px);left:50%;transform:translate(-50%,-50%)}.opening-note__eyebrow{color:#34393eb8;text-transform:uppercase;letter-spacing:.22em;text-shadow:0 1px 10px #fffffc94,0 0 20px #fffffc6b;margin:0;font-size:.72rem}.opening-note__script{width:100%;max-width:38rem;height:auto;display:block;overflow:visible}.opening-note__stroke,.opening-note__fill{font-family:var(--font-display);font-variation-settings:"wght" 400;letter-spacing:.075em;text-transform:uppercase;font-size:76px;font-weight:400}.opening-note__stroke{fill:none;stroke:#30353af0;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1680;stroke-dashoffset:1680px;text-shadow:0 1px 2px #fffffc80,0 8px 26px #23282c29,0 0 28px #fffffc57}.opening-note__fill{fill:#30353af0;opacity:0;filter:drop-shadow(0 1px 2px #fffffc80)drop-shadow(0 8px 18px #23282c29)}.intro-phase--envelope-ready .opening-note__stroke,.is-envelope-opening .opening-note__stroke,.is-envelope-opened .opening-note__stroke{stroke-dashoffset:0}.intro-phase--envelope-ready .opening-note__fill,.is-envelope-opening .opening-note__fill,.is-envelope-opened .opening-note__fill{opacity:1}.intro-phase--loading .opening-note,.intro-phase--ready .opening-note{opacity:0}.envelope-scene{z-index:3;transform-style:preserve-3d;position:absolute;inset:0}.envelope-scene.is-opened{min-height:var(--intro-viewport-height);padding:var(--letter-reveal-top) 0 clamp(56px, 8svh, 88px);position:relative;inset:auto}.letter-sheet{z-index:2;width:var(--letter-sheet-width);will-change:transform;transform-style:preserve-3d;background:linear-gradient(#f9f9f6fc,#eaebe8fa),linear-gradient(120deg,#ffffff3d,#0000 24%);border:1px solid #474c511f;border-radius:26px;padding:clamp(40px,5vw,56px) clamp(28px,5.5vw,64px) clamp(46px,6vw,72px);position:absolute;top:106%;left:50%;box-shadow:0 54px 110px #272c302e,0 12px 30px #272c301a}.letter-sheet.is-opened{width:var(--letter-sheet-width);will-change:auto;margin:0 auto;position:relative;top:auto;left:auto;box-shadow:0 96px 170px #272c3047,0 18px 46px #272c3024;transform:none!important}.app-shell.is-envelope-opening .letter-sheet{z-index:6}.letter-sheet:before{content:"";background:linear-gradient(90deg,#0000,#4f545933,#0000);height:1px;position:absolute;inset:22px 24px auto}.letter-sheet:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(132deg,#ffffff52,#0000 28%),linear-gradient(#0000 72%,#595f640d);position:absolute;inset:0}.envelope-shell,.envelope-tap-target{aspect-ratio:1.44;width:min(34rem,92vw);position:absolute;bottom:clamp(82px,10vh,108px);left:50%;transform:translate(-50%)}.envelope-shell{z-index:4;transform-style:preserve-3d;will-change:transform, opacity;pointer-events:none}.envelope-tap-target{appearance:none;z-index:8;color:inherit;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.envelope-tap-target:disabled{color:inherit;cursor:default}.envelope-tap-target:focus-visible{outline-offset:10px;outline:2px solid #f7f7f3d1}.intro-phase--loading .envelope-shell,.intro-phase--ready .envelope-shell{opacity:0;transform:translate(-50%)translateY(92px)scale(.86)rotateX(9deg)rotateY(-7deg)}.intro-phase--loading .envelope-tap-target,.intro-phase--ready .envelope-tap-target,.intro-phase--staging .envelope-tap-target{pointer-events:none}.envelope-shadow{filter:blur(20px);background:radial-gradient(circle,#23282c3d,#0000 70%);border-radius:50%;height:18%;position:absolute;inset:auto 9% -8%}.envelope-back,.envelope-liner,.envelope-flap-under,.envelope-pocket,.envelope-flap,.envelope-flap-face{border-radius:30px;position:absolute;inset:0}.envelope-back{background:radial-gradient(circle at 28% 12%,#fffffc9e,#0000 30%),linear-gradient(#e8e9e6,#c8cbcb),linear-gradient(135deg,#fff3,#0000 58%);box-shadow:inset 0 1px #ffffff75,0 30px 74px #282d3133}.envelope-back:before{content:"";border:1px solid #fffffc47;border-radius:22px;position:absolute;inset:10px}.envelope-liner{clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(#f7f7f3fa,#cfd2d2f5),linear-gradient(135deg,#ffffff52,#0000 56%);border-radius:24px 24px 10px 10px;inset:5% 6% 25%}.envelope-flap-under{z-index:2;clip-path:polygon(0 0,100% 0,50% 72%);background:linear-gradient(#c5c9ca,#a7adb0),linear-gradient(145deg,#fff3,#0000 36%)}.envelope-pocket{z-index:3;clip-path:polygon(0% 100%,0% 28%,50% 70%,100% 28%,100% 100%);background:linear-gradient(#edede9,#d4d7d6),linear-gradient(120deg,#ffffff38,#0000 44%);box-shadow:inset 0 1px #ffffff3d,0 -12px 22px #43494e1a}.envelope-pocket:before,.envelope-pocket:after{content:"";opacity:.36;width:50%;position:absolute;top:28%;bottom:0}.envelope-pocket:before{clip-path:polygon(0 100%,0 0,100% 54%);background:linear-gradient(135deg,#aeb3b5b8,#fff0);left:0}.envelope-pocket:after{clip-path:polygon(100% 100%,0 54%,100% 0);background:linear-gradient(225deg,#aeb3b5b8,#fff0);right:0}.envelope-flap{z-index:5;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform-origin:50% 0;backface-visibility:hidden;will-change:transform}.envelope-flap-face{clip-path:polygon(0 0,100% 0,50% 72%);backface-visibility:hidden;background:radial-gradient(circle at 24% 8%,#fffffc7a,#0000 26%),linear-gradient(#f2f2ee,#d4d7d6),linear-gradient(145deg,#ffffff4d,#0000 34%);box-shadow:0 10px 22px #23282c1a,inset 0 1px #ffffff6b}.envelope-flap-face:after{content:"";opacity:.7;background:linear-gradient(#0000 58%,#464c511a);position:absolute;inset:0}.wax-seal{z-index:6;aspect-ratio:1;color:#f4f4f0;width:clamp(68px,8vw,90px);font-family:var(--font-display);letter-spacing:.06em;backface-visibility:hidden;will-change:transform, opacity;background:radial-gradient(circle at 32% 28%,#f9faf770,#0000 32%),linear-gradient(145deg,#878d90,#474d52);border-radius:50%;place-items:center;font-size:clamp(1.3rem,2.6vw,1.8rem);display:grid;position:absolute;top:56%;left:50%;translate:-50% -50%;box-shadow:0 16px 28px #24292d47,inset 0 1px #ffffff47}.tap-cue,.paper-kicker,.paper-section-label,.countdown-box__label{text-transform:uppercase;letter-spacing:.26em;font-size:.72rem}.tap-cue{z-index:6;color:#30353a94;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.intro-phase--loading .tap-cue,.intro-phase--ready .tap-cue,.intro-phase--staging .tap-cue{opacity:0;transform:translate(-50%,14px)}.app-shell.is-envelope-opened .proposal-memory{width:var(--opened-background-width);height:var(--opened-background-height);position:fixed;inset:0 auto auto 0}.app-shell.is-envelope-opened .proposal-memory__glass{display:none}.paper-kicker,.paper-section-label,.countdown-box__label{color:var(--muted)}.letter-sheet>*+*{margin-top:clamp(34px,5vw,54px)}.paper-hero{gap:18px;display:grid}.paper-title{letter-spacing:-.05em;color:var(--text-strong);margin:0;font-size:clamp(3.2rem,8vw,6.4rem);line-height:.9}.paper-greeting{font-family:var(--font-display);color:var(--accent);margin:0 0 -4px;padding-top:2rem;font-size:clamp(1.65rem,4vw,2.6rem);font-weight:800;line-height:1}.paper-lead,.paper-copy,.paper-copy--single,.timeline-row__body p,.countdown-note,.rsvp-hint{color:var(--text-strong);font-size:clamp(1rem,2vw,1.08rem)}.paper-lead{max-width:34rem}.paper-meta{text-align:center;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.paper-meta__badge{color:var(--text-strong);background:linear-gradient(#fffcf8e0,#f7ede2d1),radial-gradient(circle at 50% 0,#bd815d29,#0000 58%);border:1px solid #674d3a29;border-radius:999px;justify-items:center;gap:2px;padding:10px 20px 13px;display:inline-grid;box-shadow:inset 0 1px #ffffffb8,0 10px 26px #46332914}.paper-meta__weekday{color:#48352b94;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:700;line-height:1}.paper-meta__date{font-family:var(--font-display);letter-spacing:0;font-size:clamp(1.7rem,5.6vw,2.2rem);font-weight:700;line-height:.95}.paper-grid{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:30px;display:grid}.paper-grid--gifts{grid-template-columns:1fr;gap:22px}.paper-section-title{letter-spacing:-.04em;color:var(--text-strong);margin:8px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:.96}.paper-copy{gap:16px;display:grid}.paper-copy--single{max-width:32rem}.paper-photo-strip,.paper-photo{background-color:#ead9c8;background-position:50%;background-size:cover;margin-inline:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff52,0 24px 54px #3f2b1e1f}.paper-photo-strip:after,.paper-photo:after{content:"";pointer-events:none;background:linear-gradient(132deg,#ffffff29,#0000 32%),linear-gradient(#0000 58%,#291d1647);position:absolute;inset:0}.paper-photo-strip{border-radius:28px;min-height:clamp(220px,44vw,360px)}.paper-photo{border-radius:24px;min-height:clamp(190px,30vw,260px)}.paper-photo figcaption,.paper-photo-strip figcaption{z-index:1;color:#fffaf5eb;font-family:var(--font-display);text-shadow:0 2px 14px #281c145c;margin:0;font-size:clamp(1.4rem,3.4vw,2rem);line-height:.95;position:absolute;bottom:16px;left:18px}.paper-photo--venue{background-position:50% 45%}.paper-photo-strip--story{background-position:50% 64%}.timeline-rows{gap:18px;display:grid}.timeline-row{border-top:1px solid #6f523d1f;grid-template-columns:minmax(76px,96px) minmax(0,1fr);gap:18px;padding:18px 0;display:grid}.timeline-row:first-child{border-top:none;padding-top:0}.timeline-row__time{font-family:var(--font-display);color:var(--text-strong);margin:0;font-size:clamp(2rem,4vw,3rem);line-height:.88}.timeline-row__body h3{color:var(--text-strong);margin:0 0 6px;font-size:clamp(1.3rem,2.8vw,1.9rem)}.timeline-row__body p{margin:0}.details-column{gap:14px;display:grid}.details-column--countdown{align-content:start;padding-top:2px}.details-column--countdown .paper-section-label{margin-top:8px}.venue-address{font-family:var(--font-display);color:var(--text-strong);margin:0;font-size:clamp(1.4rem,3vw,2.2rem);line-height:.95}.paper-link{width:fit-content;color:var(--accent);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.paper-link:after{content:"↗";font-size:.9em}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.countdown-box{text-align:center;background:#ffffffa3;border:1px solid #6f523d14;border-radius:22px;gap:6px;padding:18px 12px;display:grid}.countdown-box__value{font-family:var(--font-display);color:var(--text-strong);font-size:clamp(2rem,4vw,3rem);line-height:.84}.countdown-note{margin:2px 0 0}.palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.palette-chip{min-width:0}.palette-chip__swatch{aspect-ratio:1;border-radius:22px;display:block;box-shadow:inset 0 1px #fff6,0 16px 28px #3c2b1f14}.gift-note{background:linear-gradient(145deg,#fffdf9c7,#efe0d3b3),radial-gradient(circle at 16% 18%,#93503c29,#0000 38%);border:1px solid #89553e29;border-radius:26px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,28px);padding:clamp(22px,4vw,34px);display:grid;position:relative;box-shadow:inset 0 1px #ffffff6b,0 20px 42px #3e2b1f14}.gift-note:before{content:"";pointer-events:none;border:1px solid #ffffff4d;border-radius:20px;position:absolute;inset:16px}.gift-note__mark{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 14px 20px #392b2324);width:clamp(72px,12vw,104px);position:relative}.gift-note__copy{z-index:1;color:var(--text-soft);gap:12px;font-size:clamp(1rem,2vw,1.08rem);display:grid;position:relative}.gift-note__copy p:last-child{color:#5f4133ad}.paper-footer{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:center;gap:30px;padding-top:6px;display:grid}.rsvp-panel{justify-items:stretch;gap:16px;display:grid}.rsvp-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff9f3;min-height:74px;font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;font-size:.98rem;font-weight:800;position:relative;overflow:hidden;box-shadow:0 20px 36px #7c4f343d}.rsvp-button.is-confirmed{background:linear-gradient(135deg,#6f775c,#899373);box-shadow:0 20px 36px #5a624b3d}.rsvp-button__shine{background:linear-gradient(120deg,#0000 0%,#ffffff47 48%,#0000 100%);position:absolute;inset:0;transform:translate(-120%)}.rsvp-button:hover .rsvp-button__shine,.rsvp-button.is-confirmed .rsvp-button__shine{animation:1.15s ribbon}.rsvp-form{transform-origin:50% 0;background:linear-gradient(145deg,#fffdf9e6,#f1e5d9b8),radial-gradient(circle at 12% 0,#bd815d24,#0000 34%);border:1px solid #6f523d1f;border-radius:24px;gap:18px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffff6b,0 18px 38px #3e2b1f14}.rsvp-form__intro{gap:8px;padding-bottom:2px;display:grid}.rsvp-form__eyebrow{color:#48352b94;text-transform:uppercase;letter-spacing:.2em;margin:0;font-size:.68rem;font-weight:800}.rsvp-form__intro h3{font-family:var(--font-display);letter-spacing:0;color:var(--text-strong);margin:0;font-size:clamp(1.45rem,5vw,2rem);line-height:.98}.rsvp-form__hint{color:#48352ba3;margin:0;font-size:.9rem;line-height:1.45}.rsvp-form__group{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.rsvp-form__group legend,.rsvp-field span{color:#48352bad;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800}.rsvp-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;display:grid}.rsvp-options--meal{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-option{min-width:0;position:relative}.rsvp-option input{z-index:1;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.rsvp-option span{color:#463329db;text-align:center;background:#ffffff94;border:1px solid #6f523d1f;border-radius:999px;place-items:center;min-height:44px;padding:10px;font-size:.9rem;font-weight:800;transition:border-color .18s,background .18s,color .18s,transform .18s;display:grid}.rsvp-option input:checked+span{color:#fffaf3;background:linear-gradient(135deg,#6f775cf0,#899373e6);border-color:#6f775c6b}.rsvp-option input:focus-visible+span,.rsvp-field textarea:focus-visible,.rsvp-field input:focus-visible,.rsvp-submit:focus-visible{outline-offset:3px;outline:2px solid #76482b6b}.rsvp-field{gap:8px;display:grid}.rsvp-field textarea,.rsvp-field input{width:100%;color:var(--text-strong);font:inherit;background:#ffffffa8;border:1px solid #6f523d1f;border-radius:18px;font-size:.95rem}.rsvp-field textarea{resize:vertical;min-height:72px;padding:12px 14px}.rsvp-field input{min-height:48px;padding:10px 14px}.rsvp-field textarea::placeholder{color:#48352b6b}.rsvp-submit{color:#fffaf3;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#6f775c,#899373);border:0;border-radius:999px;min-height:54px;font-weight:800;box-shadow:0 16px 28px #5a624b33}.rsvp-submit:disabled{cursor:wait;opacity:.68}.rsvp-error{color:#722f20f0;text-align:center;background:#fff6f1c7;border:1px solid #8e3f2c38;border-radius:18px;margin:0;padding:12px 14px;font-size:.92rem;font-weight:700}.rsvp-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:900;text-decoration:underline}.rsvp-summary{color:#414935e6;text-align:center;background:#ffffff94;border:1px solid #6f775c38;border-radius:18px;margin:0;padding:12px 14px;font-size:.92rem;font-weight:700}@keyframes ribbon{0%{transform:translate(-120%)}to{transform:translate(120%)}}.rsvp-hint{text-align:center;margin:0}.admin-shell{min-height:100svh;color:var(--text-strong);background:radial-gradient(circle at 16% 12%,#bd815d29,#0000 28%),radial-gradient(circle at 84% 0,#6f775c29,#0000 26%),linear-gradient(#fffdf8 0%,#efe1d2 100%);padding:clamp(18px,4vw,48px)}.admin-panel{background:#fffdf9d1;border:1px solid #6f523d24;border-radius:24px;gap:22px;width:min(1180px,100%);margin:0 auto;padding:clamp(20px,4vw,34px);display:grid;box-shadow:inset 0 1px #ffffff80,0 28px 70px #3e2b1f1f}.admin-header{justify-content:space-between;align-items:start;gap:18px;display:flex}.admin-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,6vw,4rem);line-height:.95}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-actions button,.admin-login button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff9f3;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:0;border-radius:999px;min-height:44px;padding:0 18px;font-weight:800}.admin-actions button:disabled{cursor:wait;opacity:.62}.admin-login{gap:14px;max-width:26rem;display:grid}.admin-login label{gap:8px;display:grid}.admin-login span{color:#48352bad;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:800}.admin-login input{width:100%;min-height:50px;color:var(--text-strong);font:inherit;background:#ffffffb8;border:1px solid #6f523d1f;border-radius:18px;padding:10px 14px}.admin-status,.admin-empty,.admin-error{color:var(--text-soft);margin:0;font-size:1rem}.admin-error{color:#722f20f0;font-weight:700}.admin-table-wrap{background:#ffffff85;border:1px solid #6f523d1f;border-radius:18px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:920px;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #6f523d1a;padding:13px 14px}.admin-table th{color:#48352ba8;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.admin-table tr:last-child td{border-bottom:0}@media (width<=900px){.paper-grid,.paper-footer{grid-template-columns:1fr}.admin-header{display:grid}.admin-actions{justify-content:start}}@media (width>=901px){.app-shell{--letter-sheet-width:min(46rem, calc(100vw - 80px));display:none}}@media (width<=640px){.app-shell{--letter-sheet-width:calc(100vw - 30px)}.invitation-camera{--mobile-envelope-bottom:max(68px, calc(env(safe-area-inset-bottom) + 58px));--mobile-envelope-top:calc(var(--intro-viewport-height) - var(--mobile-envelope-bottom) - var(--intro-mobile-envelope-height))}.letter-sheet{border-radius:22px;padding:32px 26px 44px}.letter-sheet:before{inset:16px 20px auto}.paper-title{font-size:clamp(3rem,14vw,4.3rem)}.paper-meta{gap:10px}.paper-meta__badge{padding:9px 17px 12px}.envelope-shell,.envelope-tap-target{width:var(--intro-mobile-envelope-width);bottom:var(--mobile-envelope-bottom)}.envelope-shell{perspective:1200px;perspective-origin:50% 0}.envelope-flap{transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.tap-cue{bottom:max(18px, calc(env(safe-area-inset-bottom) + 10px));text-align:center;width:80vw}.opening-note{top:clamp(410px, calc(var(--mobile-envelope-top) - 76px), 540px);width:min(22rem,100vw - 56px)}.opening-note__script{width:100%;max-width:24rem}.opening-note__stroke,.opening-note__fill{font-size:86px}.timeline-row{grid-template-columns:1fr;gap:8px}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-note{grid-template-columns:1fr}.gift-note__mark{width:78px}.proposal-memory__glass{inset:clamp(330px, calc(var(--mobile-envelope-top) - 174px), 438px) 14px clamp(104px, 18svh, 138px);border-radius:28px}.proposal-memory__photo{opacity:.9}.paper-photo-strip{border-radius:24px;min-height:230px}}@media (prefers-reduced-motion:reduce){.invitation-camera{perspective:none}.app-shell.is-envelope-opened .invitation-camera{height:auto;padding:24px 10px 64px;overflow:visible}.intro-loader__monogram-stroke,.intro-loader__monogram-fill{animation:none}.intro-loader__monogram-stroke{stroke-dashoffset:0;opacity:1}.intro-loader__monogram-fill{opacity:1}.intro-phase--envelope-ready .proposal-memory__photo{opacity:.9;filter:saturate(1.02)contrast(1.04);transform:scale(1.04)}.intro-phase--envelope-ready .proposal-memory__glass{opacity:1;transform:none}.stage-floor,.app-shell.is-envelope-opened .proposal-memory,.app-shell.is-envelope-opened .tap-cue,.app-shell.is-envelope-opened .opening-note,.app-shell.is-envelope-opened .envelope-shell,.app-shell.is-envelope-opened .envelope-tap-target{display:none}.letter-sheet.is-opened{width:min(44rem,100%);margin:0 auto;position:relative;top:auto;left:auto;transform:none!important}}.certificate-state{background:radial-gradient(circle at 50% 24%,#fffffce6,#0000 32%),linear-gradient(160deg,#eeeeea,#cbd0d1);place-items:center;min-height:100svh;padding:28px;display:grid}.certificate-state__content{text-align:center;width:min(34rem,100%)}.certificate-state__eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.24em;margin-bottom:18px;font-size:.7rem}.certificate-state h1{margin-bottom:14px;font-size:clamp(2.8rem,9vw,5rem);line-height:.92}.certificate-state__content>p:last-child{color:var(--text-soft)}.certificate-paper{color:var(--text-strong,#303337);gap:clamp(38px,7vw,68px);display:grid}.certificate-paper__hero,.certificate-paper__section{gap:16px;display:grid}.certificate-paper__hero{text-align:center;justify-items:center;padding-block:clamp(14px,3vw,28px)}.certificate-paper__utility,.certificate-paper__number{font-family:var(--font-sans,"Manrope", "Segoe UI", sans-serif);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700;line-height:1.45}.certificate-paper__utility{color:var(--muted,#41454994)}.certificate-paper__title,.certificate-paper__heading{color:var(--text-strong,#303337);font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);font-variation-settings:"wght" 400;text-transform:uppercase;margin:0;font-weight:400}.certificate-paper__title{letter-spacing:.075em;max-width:16ch;font-size:clamp(2.5rem,8vw,4.8rem);line-height:.95}.certificate-paper__heading{letter-spacing:.07em;max-width:19ch;font-size:clamp(2.05rem,7vw,3.55rem);line-height:.93}.certificate-paper__recipient,.certificate-paper__giver,.certificate-paper__photographer{font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);font-variation-settings:"wght" 400;margin:0;font-size:clamp(1.45rem,4.5vw,2rem);font-weight:400;line-height:1.1}.certificate-paper__recipient{margin-top:4px;font-size:clamp(1.7rem,5vw,2.35rem)}.certificate-paper__intro{max-width:38rem;color:var(--text-soft,#303337d1);margin:4px auto 0;font-size:clamp(1rem,2.6vw,1.12rem);line-height:1.7}.certificate-paper__number{color:var(--muted,#41454994);letter-spacing:.18em;margin-top:6px}.certificate-paper__section{border-top:1px solid #4a50552e;padding-top:clamp(24px,4vw,38px)}.certificate-paper__inclusions{gap:12px;margin:4px 0 0;padding:0;list-style:none;display:grid}.certificate-paper__inclusions li{color:var(--text-soft,#303337d1);padding-left:20px;line-height:1.55;position:relative}.certificate-paper__inclusions li:before{content:"";background:var(--accent,#6f757a);border-radius:50%;width:5px;height:5px;position:absolute;top:.72em;left:0}.certificate-paper__contact .certificate-paper__photographer{max-width:38rem;color:var(--text-soft,#303337d1);margin:0;line-height:1.6}.certificate-paper__photographer-profile{grid-template-columns:clamp(76px,18vw,104px) minmax(0,1fr);align-items:center;gap:clamp(14px,3vw,24px);margin-top:2px;display:grid}.certificate-paper__photographer-portrait{aspect-ratio:1;object-fit:cover;object-position:center 36%;border:1px solid #3d41431f;border-radius:50%;width:100%;display:block;box-shadow:0 9px 22px #3034361a}.certificate-paper__portfolio{gap:12px;margin-top:10px;display:grid}.certificate-paper__portfolio-label{color:var(--muted,#41454994);font-family:var(--font-sans,"Manrope", "Segoe UI", sans-serif);letter-spacing:.24em;text-transform:uppercase;margin:0;font-size:.69rem;font-weight:700;line-height:1.45}.certificate-paper__portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(5px,1.6vw,9px);display:grid}.certificate-paper__portfolio-image{aspect-ratio:3/4;object-fit:cover;background:#4a505514;border-radius:5px;width:100%;display:block}.certificate-paper__conditions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.certificate-paper__condition{text-align:center;align-content:start;justify-items:center;gap:8px;min-width:0;padding:2px clamp(12px,4vw,28px) 4px;display:grid}.certificate-paper__condition+.certificate-paper__condition{border-left:1px solid #4a50552e}.certificate-paper__condition-icon{width:28px;height:28px;color:var(--text-soft,#303337d1);opacity:.82;margin-bottom:2px}.certificate-paper__condition-label,.certificate-paper__condition-title,.certificate-paper__condition-copy{font-family:var(--font-sans,"Manrope", "Segoe UI", sans-serif);text-transform:uppercase;margin:0}.certificate-paper__condition-label{min-height:2.9em;color:var(--muted,#41454994);letter-spacing:.18em;place-items:center;font-size:.58rem;font-weight:700;line-height:1.45;display:grid}.certificate-paper__condition-title{color:var(--text-strong,#303337);letter-spacing:.08em;font-size:clamp(.65rem,2.3vw,.76rem);font-weight:700;line-height:1.5}.certificate-paper__condition-copy{color:var(--muted,#41454994);letter-spacing:.06em;font-size:clamp(.55rem,2vw,.65rem);font-weight:600;line-height:1.5}.certificate-paper__status{color:var(--text-soft,#303337d1);text-align:center;margin:18px auto 0;font-weight:700;line-height:1.6}.certificate-paper__contact-links{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.certificate-paper__contact-link{min-height:46px;color:var(--accent,#6f757a);font-family:var(--font-sans,"Manrope", "Segoe UI", sans-serif);letter-spacing:.12em;text-transform:uppercase;background:#ffffff94;border:1px solid #4a505533;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:.75rem;font-weight:800;text-decoration:none;display:inline-flex}.certificate-paper__contact-link:focus-visible{outline-offset:4px;outline:2px solid #4a50558a}@media (width<=640px){.certificate-paper__title{font-size:clamp(2.15rem,9.6vw,3.25rem)}.certificate-paper__contact-links{display:grid}.certificate-paper__contact-link{width:100%}}.admin-shell,.admin-login-shell{color:#303337;background:radial-gradient(circle at 14% 4%,#fffffcad,#0000 28%),linear-gradient(145deg,#e9e9e6,#d4d7d7 62%,#e3e3df);min-height:100svh}.admin-shell{width:100%;padding:clamp(24px,4vw,56px)}.admin-shell--narrow{place-items:start center;display:grid}.admin-login-shell{place-items:center;padding:24px;display:grid}.admin-login,.admin-settings{background:#f8f8f5e6;border:1px solid #363b401f;border-radius:30px;width:min(34rem,100%);padding:clamp(28px,5vw,48px);box-shadow:0 26px 80px #2b30341f}.admin-login-shell .admin-login{grid-template-columns:minmax(0,1fr);max-width:none}.admin-login-shell .admin-login>*{min-width:0;max-width:100%}.admin-settings{width:min(52rem,100%)}.admin-login h1,.admin-topbar h1,.admin-editor__heading h1,.admin-settings h1,.admin-lifecycle h2{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-weight:500}.admin-login h1,.admin-topbar h1,.admin-editor__heading h1,.admin-settings h1{font-size:clamp(2.8rem,6vw,5.2rem);line-height:.92}.admin-login h1{margin-bottom:30px}.admin-eyebrow{color:#363b408f;text-transform:uppercase;letter-spacing:.22em;margin:0 0 12px;font-size:.66rem;font-weight:750}.admin-button{color:#4a4f54;min-height:44px;font:inherit;cursor:pointer;background:#e7e8e5;border:1px solid #565c623d;border-radius:999px;padding:0 20px;font-size:.78rem;font-weight:760}.admin-button:hover:not(:disabled){background:#d7dadb;border-color:#565c6270}.admin-button:focus-visible,.admin-field input:focus-visible,.admin-field select:focus-visible,.admin-field textarea:focus-visible,.admin-search input:focus-visible,.admin-filter select:focus-visible,.admin-certificate-row:focus-visible{outline-offset:3px;outline:2px solid #565c629e}.admin-button:disabled{cursor:wait;opacity:.52}.admin-button--primary{color:#f8f8f5;background:#666d73;border-color:#666d73}.admin-button--primary:hover:not(:disabled){background:#4d545a;border-color:#4d545a}.admin-button--quiet{background:0 0;border-color:#0000}.admin-button--danger{color:#89392f;background:#b1443714;border-color:#8f342a38}.admin-topbar,.admin-editor__heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-topbar{width:min(86rem,100%);margin:0 auto clamp(30px,5vw,64px)}.admin-topbar__actions,.admin-editor__actions,.admin-lifecycle__actions{flex-wrap:wrap;gap:10px;display:flex}.admin-stats{border-top:1px solid #363b4024;border-bottom:1px solid #363b4024;grid-template-columns:repeat(6,minmax(0,1fr));width:min(86rem,100%);margin:0 auto 28px;padding:20px 0;display:grid}.admin-stats div{border-right:1px solid #363b401f;padding:0 18px}.admin-stats div:first-child{padding-left:0}.admin-stats div:last-child{border-right:0}.admin-stats dt{color:#363b4099;font-size:.72rem}.admin-stats dd{font-family:var(--font-display);margin:4px 0 0;font-size:2.25rem;line-height:1}.admin-toolbar{gap:12px;width:min(86rem,100%);margin:0 auto 16px;display:flex}.admin-search{flex:1}.admin-search input,.admin-filter select,.admin-field input,.admin-field select,.admin-field textarea{color:#303337;width:100%;font:inherit;background:#f8f8f5db;border:1px solid #363b4029;border-radius:14px}.admin-search input,.admin-filter select,.admin-field input,.admin-field select{min-height:48px;padding:0 14px}.admin-filter{color:#363b40a8;grid-template-columns:auto 13rem;align-items:center;gap:10px;font-size:.76rem;display:grid}.admin-certificate-list{border-top:1px solid #363b4024;width:min(86rem,100%);margin:0 auto}.admin-certificate-row{color:#303337a8;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #363b4024;grid-template-columns:minmax(16rem,2fr) minmax(7rem,.7fr) repeat(3,minmax(7rem,.8fr));align-items:center;gap:18px;padding:18px 0;font-size:.78rem;display:grid}.admin-certificate-row:hover{color:#303337;background:#f8f8f575}.admin-certificate-row__main{gap:4px;display:grid}.admin-certificate-row__main strong{color:#303337;font-family:var(--font-display);font-size:1.65rem;font-weight:550}.admin-status{color:#566046;background:#6a72571f;border-radius:999px;justify-self:start;padding:6px 10px;font-size:.68rem;font-weight:760}.admin-status--draft{color:#555c62;background:#535a601a}.admin-status--redeemed{color:#386d52;background:#3a6f531f}.admin-status--void{color:#89392f;background:#8f342a1a}.admin-editor{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);align-items:start;gap:clamp(28px,5vw,72px);width:min(92rem,100%);margin:0 auto;display:grid}.admin-editor__form,.admin-settings{gap:26px;display:grid}.admin-form-section{border:0;border-bottom:1px solid #363b4024;gap:18px;min-width:0;margin:0;padding:0 0 26px;display:grid}.admin-form-section legend{font-family:var(--font-display);color:#303337;padding:0;font-size:1.8rem}.admin-form-hint{color:#363b4099;margin:-10px 0 0;font-size:.82rem}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-field{color:#363b40ad;gap:8px;font-size:.74rem;font-weight:680;display:grid}.admin-field textarea{resize:vertical;min-height:130px;padding:14px}.admin-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}.admin-check{cursor:pointer;background:#f8f8f5a8;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.admin-check input{accent-color:#666d73;width:18px;height:18px}.admin-editor__preview{min-width:0;position:sticky;top:24px}.admin-preview-heading{margin-bottom:14px}.admin-preview-heading p:last-child{color:#363b4099;font-size:.78rem}.admin-preview-paper{background:#f7f7f3;border-radius:24px;max-height:calc(100svh - 120px);overflow:auto;box-shadow:0 26px 70px #2b303429}.admin-preview-paper .certificate-paper{min-height:auto;padding:clamp(32px,5vw,52px) clamp(24px,5vw,48px) clamp(40px,6vw,60px)}.admin-lifecycle{border-top:1px solid #363b4024;justify-content:space-between;align-items:center;gap:24px;width:min(92rem,100%);margin:34px auto 0;padding:24px 0 0;display:flex}.admin-lifecycle h2{font-size:2rem}.admin-lifecycle p:last-child{color:#363b4099;font-size:.8rem}.admin-error,.admin-notice,.admin-empty{border-radius:12px;width:min(86rem,100%);margin:16px auto;padding:12px 14px;font-size:.82rem}.admin-error{color:#89392f;background:#8f342a1a}.admin-notice{color:#386d52;background:#3a6f531c}.admin-empty{color:#363b4099;text-align:center;background:0 0;padding:46px 0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1080px){.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px}.admin-stats div:nth-child(3){border-right:0}.admin-certificate-row{grid-template-columns:minmax(14rem,2fr) repeat(2,minmax(7rem,.8fr))}.admin-certificate-row>span:nth-child(4),.admin-certificate-row>span:nth-child(5){display:none}.admin-editor{grid-template-columns:1fr}.admin-editor__preview{position:static}.admin-preview-paper{max-height:none}}@media (width<=700px){.admin-shell{padding:22px 16px 40px}.admin-topbar,.admin-editor__heading,.admin-lifecycle{display:grid}.admin-topbar__actions,.admin-lifecycle__actions{width:100%}.admin-topbar__actions .admin-button,.admin-lifecycle__actions .admin-button{flex:auto}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats div,.admin-stats div:nth-child(3){border-right:1px solid #363b401f;padding:0 12px}.admin-stats div:nth-child(2n){border-right:0}.admin-toolbar,.admin-form-grid,.admin-checklist{grid-template-columns:1fr}.admin-toolbar{display:grid}.admin-filter{grid-template-columns:auto 1fr}.admin-certificate-row{grid-template-columns:1fr auto;gap:10px}.admin-certificate-row>span:nth-child(n+3){display:none}.admin-login,.admin-settings{border-radius:24px;padding:28px 22px}.admin-search input,.admin-filter select,.admin-field input,.admin-field select,.admin-field textarea{font-size:1rem}.admin-preview-paper{border-radius:0;width:calc(100% + 32px);margin-left:-16px}.admin-preview-paper .certificate-paper{padding:32px 24px 44px}}.certificate-desktop-fallback{display:none}@media (width>=901px){.certificate-desktop-fallback{background:radial-gradient(circle at 14% 10%,#fffffce6,#0000 26%),radial-gradient(circle at 86% 16%,#4c52573d,#0000 30%),linear-gradient(116deg,#0000 0 42%,#454b5029 43%,#ffffff61 44%,#0000 46%),linear-gradient(145deg,#eeeeea 0%,#c9cdce 54%,#e2e2de 100%);place-items:center;min-height:100svh;padding:clamp(32px,5vw,80px);display:grid}}.certificate-desktop-fallback__panel{text-align:left;background:linear-gradient(145deg,#f9f9f6f0,#dfe1e0e0),radial-gradient(circle at 18% 0,#fffffc8f,#0000 34%);border:1px solid #4a505529;border-radius:36px;grid-template-columns:minmax(0,1fr) clamp(18rem,28vw,23rem);grid-template-areas:"eyebrow qr""title qr""copy qr""link qr";place-items:center start;gap:18px clamp(32px,4vw,64px);width:min(70rem,100vw - 64px);padding:clamp(42px,5vw,72px);display:grid;box-shadow:inset 0 1px #ffffffad,0 28px 70px #262b2f2e}.certificate-desktop-fallback__eyebrow{color:var(--muted,#41454994);font-family:var(--font-sans,"Manrope", "Segoe UI", sans-serif);letter-spacing:.22em;text-transform:uppercase;grid-area:eyebrow;margin:0;font-size:.72rem;font-weight:800}.certificate-desktop-fallback__panel h1{max-width:36rem;color:var(--text-strong,#303337);font-family:var(--font-display,"Cormorant Garamond", Georgia, serif);letter-spacing:.04em;text-transform:uppercase;grid-area:title;margin:0;font-size:clamp(3.4rem,5vw,5.3rem);font-weight:500;line-height:.92}.certificate-desktop-fallback__copy{max-width:32rem;color:var(--text-soft,#303337d1);grid-area:copy;margin:0;font-size:1rem;line-height:1.6}.certificate-desktop-fallback__qr{aspect-ratio:1;background:#f7f7f3;border:1px solid #4a50551f;border-radius:22px;grid-area:qr;place-items:center;width:100%;padding:16px;display:grid;box-shadow:0 18px 36px #262b2f29}.certificate-desktop-fallback__qr img{aspect-ratio:1;border-radius:12px;width:100%;height:auto;display:block}.certificate-desktop-fallback__qr p{max-width:16rem;color:var(--text-soft,#303337d1);margin:0;line-height:1.5}.certificate-desktop-fallback__qr p[role=alert]{color:#783c2f;font-weight:700}.certificate-desktop-fallback__link{overflow-wrap:anywhere;max-width:min(100%,32rem);color:var(--accent,#6f757a);text-underline-offset:3px;background:#ffffff61;border:1px solid #4a505524;border-radius:12px;grid-area:link;padding:10px 14px;font-size:.82rem;font-weight:700;text-decoration-thickness:1px}.certificate-desktop-fallback__link:focus-visible{outline-offset:4px;outline:2px solid #4a50558a}
