@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";:root{color:#18201e;font-synthesis:none;background:#efede7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ec9b6f}.app-shell{background:linear-gradient(125deg,#f3f0e9 0%,#efede7 48%,#e6e8e1 100%);min-height:100vh;padding:24px 5vw 42px}.topbar{border-bottom:1px solid #d4d4cc;justify-content:space-between;align-items:center;max-width:1120px;height:68px;margin:0 auto;display:flex}.brand{color:inherit;letter-spacing:-.4px;align-items:center;gap:10px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#f5f0e7;background:#234b45;border-radius:50%;place-items:center;width:29px;height:29px;font-family:Georgia,serif;font-size:18px;display:grid}.topbar-note{letter-spacing:.04em;color:#6d746f;font-family:DM Mono,monospace;font-size:11px}.workspace{grid-template-columns:170px 1fr;gap:46px;max-width:1120px;min-height:680px;margin:0 auto;padding-top:52px;display:grid}.progress{padding-top:38px}.progress-item{color:#9ba09a;align-items:center;gap:12px;margin-bottom:27px;display:flex;position:relative}.progress-item:not(:last-child):after{content:"";border-left:1px solid #cbd0c9;height:25px;position:absolute;top:25px;left:11px}.progress-item span{border:1px solid #c4c9c2;border-radius:50%;place-items:center;width:23px;height:23px;font-family:DM Mono;font-size:10px;display:grid}.progress-item p{margin:0;font-size:13px}.progress-item.is-current span{color:#fff;background:#234b45;border-color:#234b45}.stage{min-width:0}.hero{background:#f9f7f1;grid-template-columns:1.05fr .95fr;min-height:554px;display:grid;overflow:hidden;box-shadow:0 20px 50px #2a363117}.hero-copy{align-self:center;padding:clamp(42px,8vw,84px) clamp(32px,7vw,85px)}.eyebrow{letter-spacing:.09em;color:#ad5d38;margin:0 0 15px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.hero h1,.choice h2,.confirmation h2{letter-spacing:-.045em;margin:0;font-family:Playfair Display,Georgia,serif;line-height:.96}.hero h1{font-size:clamp(50px,6vw,76px)}.lede{color:#59615d;max-width:380px;margin:27px 0 35px;font-size:17px;line-height:1.55}.button{border:0;border-radius:2px;align-items:center;gap:13px;padding:15px 20px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button-primary{color:#fffdf8;background:#234b45}.button-primary:disabled{opacity:.38;cursor:not-allowed}.hero-art{background:#d3c3aa;position:relative;overflow:hidden}.sun{aspect-ratio:1;background:#edac68;border-radius:50%;width:160px;position:absolute;top:16%;left:20%}.arch{border-radius:180px 180px 0 0;width:59%;height:87%;position:absolute;bottom:-12%}.arch-back{background:#6d8172;left:8%}.arch-front{background:#234b45;right:-8%}.floor{background:#bb825e;width:150%;height:38%;position:absolute;bottom:-23%;left:-25%;transform:rotate(-10deg)}.hero-art p{z-index:2;color:#f7eeda;margin:0;font-family:Playfair Display;font-size:29px;line-height:.9;position:absolute;bottom:9%;right:9%}.hero-art i{font-size:18px}.choice,.confirmation,.loading-card{background:#f9f7f1;padding:clamp(35px,6vw,62px);box-shadow:0 20px 50px #2a363117}.choice{min-height:554px}.section-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading svg{color:#ad5d38}.choice h2,.confirmation h2{font-size:clamp(38px,4.5vw,55px)}.section-description{color:#626963;margin:17px 0 35px;font-size:16px}.date-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.date-card{text-align:left;color:#18201e;background:#fbfaf6;border:1px solid #d9d8d0;min-height:177px;padding:20px;transition:border .2s,background .2s,transform .2s;position:relative}.date-card:hover{border-color:#94aaa0;transform:translateY(-3px)}.date-card.is-selected{background:#e6eee9;border:2px solid #234b45}.date-card span,.date-card small,.date-card em{display:block}.date-card span,.date-card small{letter-spacing:.07em;font-family:DM Mono;font-size:10px}.date-card strong{margin:9px 0 0;font-family:Playfair Display;font-size:52px;line-height:.8;display:block}.date-card small{margin:10px 0 25px}.date-card em{color:#64716a;font-size:12px;font-style:normal}.card-check{color:#234b45;position:absolute;top:13px;right:13px}.actions{border-top:1px solid #d9d8d0;justify-content:space-between;align-items:center;margin-top:39px;padding-top:21px;display:flex}.actions>span{color:#777d76;font-family:DM Mono;font-size:11px}.back{color:#50655c;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:34px;padding:0;font-size:13px;display:inline-flex}.plan-list{gap:10px;display:grid}.plan-card{text-align:left;width:100%;color:inherit;background:#fbfaf6;border:1px solid #dbdbd3;align-items:flex-start;gap:16px;padding:17px 18px;transition:border .2s,background .2s;display:flex}.plan-card.is-selected{background:#e6eee9;border:2px solid #234b45;padding:16px 17px}.radio{border:1px solid #8c9990;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;margin-top:3px;display:grid}.radio span{background:#234b45;border-radius:50%;width:9px;height:9px}.plan-card p{color:#ae623d;margin:0 0 5px;font-family:DM Mono;font-size:10px}.plan-card h3{letter-spacing:-.02em;margin:0;font-size:17px}.plan-card small{color:#68716b;margin-top:5px;font-size:13px;line-height:1.35;display:block}.loading-card{align-items:center;gap:20px;min-height:240px;display:flex}.loading-card>svg{color:#ad5d38}.loading-card h2{margin:0;font-family:Playfair Display;font-size:28px}.loader{border:2px solid #d8d9d1;border-top-color:#234b45;border-radius:50%;width:20px;height:20px;margin-left:auto;animation:.7s linear infinite spin}.confirmation{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:510px;display:flex}.confirmation-icon{color:#234b45;background:#dceae1;border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:26px;display:grid}.confirmation h2{font-size:clamp(40px,5vw,59px)}.summary{text-align:left;background:#f1f0e9;width:min(100%,430px);margin:36px 0 28px;padding:4px 22px}.summary>div{gap:13px;padding:17px 0;display:flex}.summary>div+div{border-top:1px solid #dadbd4}.summary svg{color:#ad5d38;margin-top:3px}.summary p{margin:0}.summary b,.summary span{display:block}.summary b{font-size:14px}.summary span{color:#6d746f;margin-top:3px;font-size:12px}.panel-enter{animation:.45s cubic-bezier(.2,.8,.2,1) both arrive}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.app-shell{padding:15px 16px 28px}.topbar{height:57px}.topbar-note{display:none}.workspace{min-height:auto;padding-top:26px;display:block}.progress{justify-content:space-between;padding:0 0 24px;display:flex}.progress-item{gap:6px;margin:0}.progress-item:not(:last-child):after{border-top:1px solid #cbd0c9;border-left:0;width:calc(25vw - 42px);height:0;top:11px;left:29px}.progress-item p{font-size:10px}.hero{grid-template-columns:1fr;min-height:610px}.hero-copy{padding:48px 32px 36px}.hero-art{min-height:250px}.choice{min-height:560px;padding:34px 23px}.date-grid{gap:7px}.date-card{min-height:157px;padding:14px 10px}.date-card strong{font-size:43px}.date-card em{font-size:10px}.actions{margin-top:28px}.actions>span{max-width:105px;line-height:1.5}.plan-card{padding:14px}.plan-card h3{font-size:15px}.plan-card small{font-size:12px}.confirmation{min-height:530px;padding:34px 24px}}.hero h1 i{color:#ad5d38;font-weight:600}.section-description{margin-bottom:28px}.calendar{background:#fbfaf6;border:1px solid #d9d8d0;padding:18px}.calendar-head{justify-content:space-between;align-items:center;padding-bottom:17px;display:flex}.calendar-head strong{font-family:Playfair Display;font-size:22px}.calendar-head button{color:#234b45;background:#e6eee9;border:0;border-radius:50%;place-items:center;width:31px;height:31px;display:grid}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{padding-bottom:8px}.calendar-weekdays span{color:#78817b;font-family:DM Mono;font-size:10px}.calendar-days{gap:4px}.calendar-days button{aspect-ratio:1;color:#22302b;background:0 0;border:0;border-radius:50%;font-size:13px;transition:background .2s,color .2s}.calendar-days button:disabled{color:#c5c8c2;cursor:default}.calendar-days button.is-selected{color:#fffdf8;box-shadow:none;background:#234b45}.actions{margin-top:31px}.plan-list{grid-template-columns:repeat(2,1fr);gap:10px}.plan-card{gap:13px;min-height:145px;padding:17px}.plan-card.is-selected{padding:16px}@media (width<=720px){.calendar{padding:13px 9px}.calendar-days{gap:2px}.plan-list{grid-template-columns:1fr}.plan-card{min-height:auto}}:root{color:#351d38;background:#f9edf4}.app-shell{isolation:isolate;background:linear-gradient(135deg,#fff4f8 0%,#f6dce9 48%,#e5d6f0 100%);position:relative;overflow:hidden}.app-shell:before,.app-shell:after{content:"";z-index:-1;aspect-ratio:1;filter:blur(8px);opacity:.48;border-radius:50%;width:42vw;animation:12s ease-in-out infinite alternate drift;position:fixed}.app-shell:before{background:#f5a8c8;top:8vh;left:-14vw}.app-shell:after{background:#b998d3;animation-delay:-5s;bottom:-8vh;right:-13vw}.topbar{border-color:#683d692e}.brand{color:#4b224b}.brand-mark{background:linear-gradient(135deg,#a84d83,#57285c)}.topbar-note{color:#8b6787}.progress-item.is-current,.progress-item.is-complete{color:#722e67}.progress-item.is-current span{background:#722e67;border-color:#722e67}.progress-item.is-complete span{background:#f5dce9;border-color:#a34e83}.hero,.choice,.confirmation,.loading-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffafdd6;border:1px solid #ffffffbf;box-shadow:0 22px 55px #622a5d26}.eyebrow{color:#b04d7f}.hero h1 i{color:#a23c76}.button-primary{background:linear-gradient(135deg,#9a3e75,#5b3068);box-shadow:0 9px 20px #702a6038}.button-secondary{color:#712d64;background:#f3d9e7}.section-heading svg,.loading-card>svg,.summary svg{color:#ad4a7c}.hero-art{background:linear-gradient(150deg,#e6a4c2,#bd83b8)}.sun{background:#ffd6a5;box-shadow:0 0 45px #ffddb7cc}.arch-back{background:#b04d82}.arch-front{background:#642d69}.floor{background:#c5789c}.hero-art p{color:#fff1f7;text-shadow:0 2px 14px #4f144538}.float-heart{z-index:3;color:#fff0f6;filter:drop-shadow(0 7px 9px #5a19492e);animation:5s ease-in-out infinite floatHeart;position:absolute}.heart-one{width:30px;animation-delay:-.8s;top:24%;left:17%}.heart-two{width:19px;animation-delay:-2.5s;top:24%;right:22%}.heart-three{width:25px;animation-delay:-4s;bottom:29%;right:11%}.calendar{background:#fffafd;border-color:#eed7e4}.calendar-head button{color:#7d356d;background:#f7ddea}.calendar-days button{color:#4c2b4c}.calendar-days button:hover:not(:disabled){background:#f8dfeb}.calendar-days button.is-today{box-shadow:inset 0 0 0 1px #b04d7f}.calendar-days button.is-selected{background:#7b356e}.plan-card{background:#fffafd;border-color:#ecd9e5}.plan-card:hover{border-color:#c77ca5}.plan-card.is-selected{background:#f9e4ef;border-color:#80366f}.radio{border-color:#b3789e}.radio span{background:#80366f}.plan-card p{color:#b04d7f}.actions{border-color:#ecd9e5}.back{color:#80366f}.confirmation{position:relative;overflow:hidden}.confirmation-icon{color:#852f6d;background:#f4d9e7;animation:.65s cubic-bezier(.2,1.4,.4,1) both confirmPop;box-shadow:0 0 0 10px #f5d5e778}.confirmation-note{color:#815573;margin:16px 0 -8px;font-family:Playfair Display;font-size:20px;font-style:italic}.confirmation-hearts{pointer-events:none;color:#d989b0;position:absolute;inset:0}.confirmation-hearts svg{opacity:0;width:17px;animation:2.6s ease-out infinite celebrate;position:absolute}.confirmation-hearts svg:first-child{animation-delay:.1s;bottom:13%;left:15%}.confirmation-hearts svg:nth-child(2){animation-delay:.7s;bottom:6%;left:29%}.confirmation-hearts svg:nth-child(3){animation-delay:1.25s;bottom:9%;right:21%}.confirmation-hearts svg:nth-child(4){animation-delay:1.8s;bottom:20%;right:12%}.confirmation-hearts svg:nth-child(5){animation-delay:2.15s;bottom:31%;left:8%}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(8vw,-5vh)scale(1.16)}}@keyframes floatHeart{0%,to{transform:translateY(0)rotate(-8deg)scale(1)}50%{transform:translateY(-17px)rotate(9deg)scale(1.13)}}@keyframes confirmPop{0%{opacity:0;transform:scale(.3)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes celebrate{0%{opacity:0;transform:translateY(0)scale(.4)rotate(-15deg)}18%{opacity:.9}82%{opacity:0}to{opacity:0;transform:translateY(-145px)translate(35px)scale(1.5)rotate(25deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.admin-link{color:#762f66;background:#fffafda6;border:0;border-radius:20px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:600;display:inline-flex}.admin-link:hover{background:#f6d9e8}.admin-workspace{max-width:710px;display:block}.admin-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffafdd6;border:1px solid #ffffffbf;min-height:560px;padding:clamp(34px,6vw,62px);box-shadow:0 22px 55px #622a5d26}.admin-panel .section-heading svg{color:#ad4a7c}.calendar-days button.is-busy{color:#a6a09f;background:repeating-linear-gradient(-45deg,#f2e8ee 0 4px,#eadce6 4px 8px);position:relative;box-shadow:inset 0 0 0 1px #d4b6c7}.calendar-days button.is-busy:hover:not(:disabled){background:#f0dce8}.calendar-days button.is-busy.is-selected{color:#a6a09f;background:repeating-linear-gradient(-45deg,#f2e8ee 0 4px,#eadce6 4px 8px);box-shadow:inset 0 0 0 1px #d4b6c7}.calendar-note{color:#896f80;align-items:center;gap:7px;margin:13px 0 0;font-size:12px;display:flex}.calendar-note span{background:repeating-linear-gradient(-45deg,#f2e8ee 0 3px,#d9c0d0 3px 6px);border:1px solid #d4b6c7;border-radius:2px;width:11px;height:11px}.admin-summary{color:#693657;background:#f7e4ee;align-items:center;gap:13px;margin-top:24px;padding:15px 18px;display:flex}.admin-summary>span{color:#fff;background:#80366f;border-radius:50%;place-items:center;width:37px;height:37px;font-weight:700;display:grid}.admin-summary p{margin:0;font-size:13px;line-height:1.35}.admin-summary small{color:#896f80;font-size:11px}.busy-dot{background:#a8477a;border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:calc(50% - 2px)}@media (width<=720px){.admin-panel{padding:34px 23px}.admin-link{font-size:11px}}.button-calendar{color:#fffdfb;background:#71386f;margin-bottom:10px;text-decoration:none;box-shadow:0 8px 18px #622a5d2b}
